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.)