Chat bubble facilitates fluid exchange of information.
Chat bubble facilitates fluid exchange of information.
There are two types of chat messages: Outgoing Message and Incoming Message.
An outgoing message is sent by the user, right-aligned and styled to differentiate from incoming messages, often including a timestamp and status indicator.
An incoming message is received by the user, typically left-aligned and styled to distinguish it from outgoing messages, often including a timestamp and sender information.
This variant comes with just a message bubble.
This variant includes a message bubble and metadata for showing timestamp, meta item and urgency of the message.
This variant comes with just a message bubble.
This variant includes a message bubble and metadata for showing timestamp, meta item and urgency of the message.
This variant includes a message bubble, avatar and metadata for showing timestamp, meta item and urgency of the message.
Structure - Outgoing Message - Default
| Property | Value(s) |
|---|---|
| Padding (left, right) | 12px, 12px |
| Padding (top, bottom) | 8px, 8px |
| Spacing between status and bubble | 4px |
Structure - Outgoing Message - With Metadata
| Property | Value(s) |
|---|---|
| Padding (left, right) | 12px, 12px |
| Padding (top, bottom) | 8px, 8px |
| Spacing between metadata and bubble | 4px |
| Spacing between status and bubble | 4px |
Structure - Incoming Message - Default
| Property | Value(s) |
|---|---|
| Padding (left, right) | 12px, 12px |
| Padding (top, bottom) | 8px, 8px |
Structure - Incoming Message - With Metadata
| Property | Value(s) |
|---|---|
| Padding (left, right) | 12px, 12px |
| Padding (top, bottom) | 8px, 8px |
| Spacing between metadata and bubble | 4px |
Structure - Incoming Message - With Avatar and Metadata
| Property | Value(s) |
|---|---|
| Padding (left, right) | 12px, 12px |
| Padding (top, bottom) | 8px, 8px |
| Spacing between metadata and bubble | 4px |
| Spacing between avatar and bubble | 8px |
| Property | Value(s) | Default value |
|---|---|---|
| Actions (optional) |
| True |
| Status (optional) |
| True |
| Property | Value(s) | Default value |
|---|---|---|
| Actions (optional) |
| True |
While in the sending state, the outgoing message displays an opacity of 48% to indicate that it has not yet been delivered.
Sending State of Outgoing Message
If the outgoing message fails, you can attempt to resend it by retrying.
Error State of Outgoing Message
It is recommended to tag a message urgent to bring attention to it. An urgent message within a thread will interrupt the conversation flow, categorizing it as a distinct entity separate from the ongoing discussion.
Urgent Message
You can show actions relevant to a chat bubble on hover.
Message Grouping Logic
Timestamp Display
Note: In both the cases, the status is shown for the last message, indicating that all previous messages in the thread have been delivered.
New Message Interval
Chat messages are highly customizable and can incorporate a wide range of components to meet diverse use cases.
Custom Chat Message
It is recommended to use a modal for forwarding messages.
Forwarding Messages using a modal
It is recommended to avoid showing avatars and status in case of a space constraint.
Avoid Showing Avatars and Status in Case of a Space Constraint
It is recommended to display the message timestamp for handling time critical scenarios effectively.