shared_ui/src/clean_architecture/presentation/views/views library

Classes

AudioBubbleFactory
Factory for creating audio message bubbles.
AudioStateManager
Global state manager for audio bubbles to preserve playback state across widget rebuilds
BubbleFactory<T extends BaseMessage>
Abstract factory for creating message bubble content widgets.
CometChatAudioPlayer
Single-audio player widget (lazy loading + gesture-controlled waveform).
CometChatAudiosBubble
Renders an audio message (1..N audio attachments, NOT voice notes) as a stack of inline player rows — audio icon, play/pause, flat seek slider, duration and file name (WhatsApp-style) — with the optional caption below.
CometChatAudiosBubbleStyle
CometChatAudiosBubbleStyle styles the multi-attachment audio message bubble's inline player rows — the play circle, seek slider, name/clock text and the download affordance. Null fields fall back to the row's alignment-aware theme defaults. Supports merge like every other UIKit style class.
CometChatFileBubble
CometChatFileBubble creates a widget that gives file bubble
CometChatFileBubbleStyle
CometChatFileBubbleStyle is a data class that has styling-related properties to customize the appearance of CometChatFileBubble
CometChatFilesBubble
Renders a file message (1..N attachments) as a connected vertical stack of rounded file cards — colour-coded type icon, file name, "size • TYPE" meta — with a "+N more / Show less" toggle for 4+ files and the optional caption below. Legacy mixed-type messages (from older clients) also render here: every attachment becomes a file card.
CometChatFilesBubbleStyle
CometChatFilesBubbleStyle styles the multi-attachment file message bubble — the stacked file cards (background, radius, spacing, icon plate, name/meta text, the busy/download spinner tint), the "+N more / Show less" toggle and the caption below the stack. Null fields fall back to the bubble's alignment-aware theme defaults. Registered as a ThemeExtension it applies app-wide; passed as the bubble's style: it applies per instance (widget values win). Supports merge like every other UIKit style class.
CometChatImageBubble
CometChatImageBubble creates a widget that gives image bubble
CometChatImageBubbleStyle
CometChatImageBubbleStyle is a data class that has styling-related properties to customize the appearance of CometChatImageBubble
CometChatImagesBubble
Renders an image message (1..N image attachments) as a count-based media grid, with the optional caption below. Part of the multi-attachment bubble family (images / videos / audios / voice note / files) that replaces the deprecated single-attachment media bubbles when enableMultipleAttachments is on.
CometChatImagesBubbleStyle
CometChatImagesBubbleStyle styles the multi-attachment image message bubble — grid tile corners and spacing, the load-failure placeholder, the "+N" overflow overlay and the caption below the grid. Null fields fall back to the bubble's defaults. Registered as a ThemeExtension it applies app-wide; passed as the bubble's style: it applies per instance (widget values win). Supports merge like every other UIKit style class.
CometChatListBase
CometChatListBase is a top level container widget used internally by components like CometChatUsers, CometChatGroups, CometChatConversations, CometChatGroupMembers
CometChatMediaCaption
Renders a media message's caption so it reads exactly like a normal text message — body typography, outgoing/incoming colour, and the same FormatterUtils pipeline (markdown, mentions, links, …).
CometChatMediaGrid
Count-based media grid shared by CometChatImagesBubble and CometChatVideosBubble — layout by count (1 / 2 / 3 / 4 / 5+ with "+N" overflow on the 4th cell). The same convention shipped on v7 React / Angular / Android.
CometChatMediaGridStyle
CometChatMediaGridStyle styles the count-based media grid used by CometChatImagesBubble and CometChatVideosBubble — cell corners, the video play badge, the m:ss duration chip, the video file-name strip and the "+N" overflow cell. Null fields fall back to the grid's defaults. Supports merge like every other UIKit style class.
CometChatMediaPlaceholder
The UIKit's standard media placeholder — the same look the legacy CometChatImageBubble ships: a background3 fill with the bundled placeholder glyph (AssetConstants.imagePlaceholder) tinted iconTertiary, or the legacy loading spinner while bytes arrive.
CometChatMediaRecorder
CometChatMediaRecorder is a class that allows users to record audio messages. It has a start button to start recording, a stop button to stop recording, a play button to play the recorded message, a pause button to pause the recorded message, a submit button to submit the recorded message and a close button to close the media recorder.
CometChatMediaRecorderStyle
CometChatMediaRecorderStyle is a model class for customizing the styles of CometChatMediaRecorder widget.
CometChatMediaViewer
A fullscreen, swipeable pager across a message's image + video + audio attachments (files download — they are not pages here). Audio pages play inline with a seek bar, elapsed/total time, and the file name.
CometChatMessageInput
CometChatMessageInput is a component that provides a skeleton layout for contents of CometChatMessageComposer like TextField, auxiliary options, primary button view and attachment options.
CometChatMessageInputStyle
CometChatMessageInputStyle is a data class that has styling-related properties to customize the appearance of CometChatMessageInput
CometChatReactionList
CometChatReactionList is a StatefulWidget that displays the list of reactions for a particular message. It requires reactionRequestBuilder to fetch the reactions of a particular message. It also requires message to fetch the reactions of a particular message. It also requires onTap to perform some action on click of a particular reaction.
CometChatReactionListStyle
CometChatReactionListStyle is a class which is used to set the style for the reaction list It takes loadingStateColor, emptyTextStyle, errorTextStyle, subtitleTextStyle, width, height, background, gradient, border, borderRadius as a parameter
CometChatReactions
CometChatReactions is a widget which is used to set the reactions It takes reactionList, theme, alignment, onReactionTap, onReactionLongPress, style as a parameter
CometChatReactionsStyle
CometChatReactionsStyle is a class which is used to set the style for the reactions It takes emojiTextStyle, countTextStyle, width, height, background, gradient, border, borderRadius as a parameter
CometChatTextBubble
CometChatTextBubble is a widget that gives text bubble
CometChatTextBubbleStyle
CometChatTextBubbleStyle is a data class that has styling-related properties to customize the appearance of CometChatTextBubble
CometChatVideoBubble
CometChatVideoBubble creates a widget that gives video bubble
CometChatVideoBubbleStyle
CometChatVideoBubbleStyle is a data class that has styling-related properties to customize the appearance of CometChatVideoBubble
CometChatVideoFirstFrame
A video's real first frame, used as a client-generated poster wherever the server's thumbnail-generation extension produced nothing (it fails with ERR_FILETYPE_NOT_SUPPORTED for some formats, e.g. iPhone .mov/HEVC). The other UIKit platforms paint a client-side poster in that case — web via a native <video> element, Android via a thumbnail extractor — so this closes the same gap for Flutter without new dependencies.
CometChatVideosBubble
Renders a video message (1..N video attachments) as a count-based media grid — each cell shows the server poster frame when available (falling back to a placeholder + play badge) — with the optional caption below. Part of the multi-attachment bubble family that replaces the deprecated single-attachment media bubbles when enableMultipleAttachments is on.
CometChatVideosBubbleStyle
CometChatVideosBubbleStyle styles the multi-attachment video message bubble — the grid fields (tile corners, spacing, placeholder, "+N" overflow) plus the video-specific chrome: the centered play badge, the bottom file-name strip, the m:ss duration chip (and its showVideoDuration toggle) and the caption below the grid. Null fields fall back to the bubble's defaults. Registered as a ThemeExtension it applies app-wide; passed as the bubble's style: it applies per instance (widget values win). Supports merge like every other UIKit style class.
CometChatVoiceNoteBubble
CometChatVoiceNoteBubble renders a single audio message with the classic waveform player look.
CometChatVoiceNoteBubbleStyle
CometChatVoiceNoteBubbleStyle is a data class that has styling-related properties to customize the appearance of CometChatVoiceNoteBubble
DefaultBubbleFactories
Utility class providing default bubble factories for all message types.
DeletedBubbleFactory
Factory for creating deleted message bubbles.
FileBubbleFactory
Factory for creating file message bubbles.
ImageBubbleFactory
Factory for creating image message bubbles.
ListBaseStyle
ListBaseStyle is a data class that has styling-related properties to customize the appearance of CometChatListBase
TextBubbleFactory
Factory for creating text message bubbles.
VideoBubbleFactory
Factory for creating video message bubbles.

Enums

MediaGridTripleLayout
How the 3-image grid arranges its cells inside the square bubble. auto picks heroTop or heroLeft from the hero image's aspect ratio (a wide/landscape hero goes on top; a tall/portrait hero goes on the left).

Constants

kMultiAttachmentCardRadius → const double
Shared corner radius for every "card" inside a multi-attachment bubble — grid cells (images/videos), audio rows, and file cards. Kept as one constant so the curve of an image tile matches the curve of a file/audio card exactly, across all four bubble types.
kMultiAttachmentContentInset → const double
Shared inset between a multi-attachment bubble's edge and its content (grid / rows / cards) — 4dp on all sides, the same on every bubble type. (2dp proved imperceptible against the light incoming-bubble background.)

Typedefs

BubbleViewProvider = Widget? Function(BuildContext context, BaseMessage message, BubbleAlignment alignment)
Callback for providing custom views for message bubble slots. Returns Widget or null to use default/hide.
CometChatAudioBubble = CometChatVoiceNoteBubble
Legacy name for CometChatVoiceNoteBubble.
CometChatAudioBubbleStyle = CometChatVoiceNoteBubbleStyle
Legacy name for CometChatVoiceNoteBubbleStyle.
CometChatAudioBubbleV2 = CometChatAudioPlayer
Deprecated former name of CometChatAudioPlayer. Kept as an alias so any code that imported CometChatAudioBubbleV2 keeps compiling — this is a pure rename with no behavior change, not a removal.