CometChatVideosBubbleComponent renders the video attachment(s) of a CometChat.MediaMessage. It is the multi-attachment counterpart to CometChatVideoBubble: the message list routes video messages to this bubble so that a single message carrying several videos renders as one grouped bubble.
Internally it delegates rendering to cometchat-video-bubble (grid/overflow layout, poster thumbnails, duration badge, fullscreen player) 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 video, multi-video grid, 2×2, and a
+Noverflow tile, selected automatically from the attachment count (rendered by the underlying video bubble). - Poster thumbnails — each tile shows a poster with a play-icon overlay and a duration badge.
- Fullscreen player — click any tile to open the video in a fullscreen player.
- 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, video messages fall back to the deprecated single-attachment CometChatVideoBubble. 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 video-type message to CometChatVideosBubbleComponent when enableMultipleAttachments is on.
Use the component directly only when you are building a fully custom message renderer.
Basic Usage
Incoming vs Outgoing Messages
Grid Layouts
The underlying video bubble selects a layout from the number of video attachments:
Each tile shows a poster thumbnail, a play-icon overlay, and a duration badge. Those classes (
.cometchat-video-bubble__play-overlay, .cometchat-video-bubble__duration-badge, and so on) belong to the underlying video bubble — see its styling reference; this bubble adds no selectors of its own.
Batch Grouping
When a user sends several media messages together, 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.Properties
This component emits no outputs.
Relationship to the Legacy Video Bubble
Customization
To restyle the tiles, posters, or duration badges, use the Video Bubble styling reference.
Technical Details
- Standalone component — import and use independently; exported as
CometChatVideosBubbleComponentfrom@cometchat/chat-uikit-angular. - Change detection —
OnPush. - Delegation — renders through
cometchat-video-bubble; adds only the shared batch width (and relaxes the inner height caps so a 16:9 video fills the batch width). - No outputs — the component emits no events.
Related
- Video Bubble — the single-attachment bubble this component delegates to.
- Images Bubble — the multi-attachment bubble for images.
- 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.