CometChatImagesBubbleComponent renders the image attachment(s) of a CometChat.MediaMessage. It is the multi-attachment counterpart to CometChatImageBubble: the message list routes image messages to this bubble so that a single message carrying several images renders as one grouped bubble.
Internally it delegates rendering to cometchat-image-bubble (grid/overflow layout, fullscreen gallery, caption) and only adds a shared batch width so every message in a multi-message batch lines up at the same size.
Overview
- Adaptive grid layouts — single image, multi-image grid, 2×2, and a
+Noverflow tile, selected automatically from the attachment count (rendered by the underlying image bubble). - Fullscreen gallery viewer — click any image to open the paginated fullscreen viewer.
- Caption support — an optional caption is rendered below the images.
- Batch-aware width — all bubbles in a batch share one width via the
--cometchat-multi-attachment-widthtoken (default400px).
This bubble is selected only when
enableMultipleAttachments is true (the default) on CometChatMessageBubble. When it is false, image messages fall back to the deprecated single-attachment CometChatImageBubble. The legacy bubble remains available as a standalone component, but the list no longer routes to it by default.Automatic Rendering
In the standard chat flow you do not instantiate this component yourself.CometChatMessageList renders CometChatMessageBubble, which routes any image-type message to CometChatImagesBubbleComponent when enableMultipleAttachments is on.
Use the component directly only when you are building a fully custom message renderer.
Basic Usage
Incoming vs Outgoing Messages
Alignment is aMessageBubbleAlignment enum value — left for incoming/receiver messages, right for outgoing/sender messages.
Grid Layouts
The underlying image bubble selects a layout from the number of image attachments:
The grid classes (
.cometchat-image-bubble__*, including __overflow-overlay and __overflow-text) belong to the underlying image bubble — see its styling reference; this bubble adds no selectors of its own.
Batch Grouping
When a user sends several media messages together (for example three images and two files staged in the composer), each message is stamped with a sharedmetadata.batchId. The message list groups consecutive messages that share a batchId and marks each one with isFirstInBatch / isLastInBatch flags, which control the avatar, spacing, and footer so the batch reads as a single visual block.
Angular expresses batch grouping as the two booleans
isFirstInBatch / isLastInBatch (computed by CometChatMessageList). There is no batchPosition input on the bubble. All four media batch bubbles share one width through the --cometchat-multi-attachment-width CSS token so every message in a batch renders at the same width.Properties
This component emits no outputs.
Relationship to the Legacy Image Bubble
Customization
The bubble exposes one batch-width token; the actual image styling comes from the underlying image bubble.
To restyle the images themselves (grid gaps, overflow overlay, gallery), use the Image Bubble styling reference.
Technical Details
- Standalone component — import and use independently; exported as
CometChatImagesBubbleComponentfrom@cometchat/chat-uikit-angular. - Change detection —
OnPush. - Delegation — renders through
cometchat-image-bubble; adds only the shared batch width. - No outputs — the component emits no events.
Related
- Image Bubble — the single-attachment bubble this component delegates to.
- Videos Bubble — the multi-attachment bubble for videos.
- Files Bubble — the multi-attachment bubble for files.
- Message Composer — stages multiple attachments and sends them as a batch.
- Message List — routes messages to this bubble and computes batch grouping.