shared_ui/src/clean_architecture/presentation/presentation
library
Classes
-
AttributedText
-
AttributedText is a class which is used to style the text
-
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.
-
CircularIntervalList<T>
-
-
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.
-
CometChatColorHelper
-
The CometChatColorHelper class provides methods to blend two colors together and generate a color palette based on the base color and blend color provided.
-
CometChatColorPalette
-
The CometChatColorPalette class provides a color palette for the CometChat UI Kit.
-
CometChatEmailFormatter
-
CometChatEmailFormatter is a class which is used to style the email text
-
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.
-
CometChatMentionsFormatter
-
CometChatMentionsFormatter is a class which is used to format the mentions
It extends the CometChatTextFormatter
It has properties like composerId, onError, suggestionListEventSink, previousTextEventSink, message, mentionedUsersMap, mentionCount, mentionStartIndex, mentionEndIndex, lastCursorPos
It has methods like handlePreMessageSend, initializeFetchRequest, fetchItems, onMessageEdit, resetMentionsTracker, cursorInMentionTracker, onChange, onScrollToBottom
It has a constructor which takes trackingCharacter, pattern,
disableSuggestions, showLoadingIndicator, onSearch, group, composerId, onError, suggestionListEventSink, previousTextEventSink, theme, message, messageBubbleTextStyle, groupMembersRequestBuilder, usersRequestBuilder, messageInputTextStyle as a parameter
It has a method onMentionTap which is used to handle the mention tap
-
CometChatMentionsStyle
-
CometChatMentionsStyle is a data class that has styling-related properties
to customize the appearance of mentions in the message
-
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
-
CometChatPhoneNumberFormatter
-
CometChatPhoneNumberFormatter is a class which is used to style the phone number text
-
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
-
CometChatShimmerEffect
-
-
CometChatSpacing
-
CometChatSpacing is a class that holds the spacing values for the CometChat UI Kit.
-
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
-
CometChatTextFormatter
-
CometChatTextFormatter is an abstract class which is used to format the text
It has properties like trackingCharacter, pattern, onSearch, showLoadingIndicator, messageBubbleTextStyle, messageInputTextStyle
It has methods like init, handlePreMessageSend, onScrollToBottom, buildInputFieldText, mergeAttributedText, getAttributedText, onChange, getLoadingIndicator, getMessageInputTextStyle, getMessageBubbleTextStyle
-
CometChatTextStyleBody
-
CometChatTextStyleBody is a class that gives the styling to the text displayed in the body
-
CometChatTextStyleButton
-
CometChatTextStyleButton is a class that gives the styling to the text displayed in the buttons
-
CometChatTextStyleCaption1
-
CometChatTextStyleCaption1 is a class that gives the styling to the text displayed in the caption
-
CometChatTextStyleCaption2
-
CometChatTextStyleCaption2 is a class that gives the styling to the text displayed in the caption2
-
CometChatTextStyleHeading1
-
CometChatTextStyleHeading1 is a class that gives the styling to the text displayed in the heading1
-
CometChatTextStyleHeading2
-
CometChatTextStyleHeading2 is a class that gives the styling to the text displayed in the heading3
-
CometChatTextStyleHeading3
-
CometChatTextStyleHeading3 is a class that gives the styling to the text displayed in the heading3
-
CometChatTextStyleHeading4
-
CometChatTextStyleHeading4 is a class that gives the styling to the text displayed in the CometChatApp.
-
CometChatTextStyleLink
-
CometChatTextStyleLink is a class that gives the styling to the text displayed in the link
-
CometChatTextStyleTitle
-
CometChatTextStyleTitle is a class that gives the styling to the text displayed in the title
-
CometChatTheme
-
-
CometChatThemeHelper
-
CometChatThemeHelper is a class that gives the styling to the text displayed in the buttons
-
CometChatThemeMode
-
-
CometChatTypography
-
-
CometChatUrlFormatter
-
CometChatUrlFormatter is a class which is used to style the url text
-
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
-
CustomStateView
-
-
DashOffset
-
-
DefaultBubbleFactories
-
Utility class providing default bubble factories for all message types.
-
DeletedBubbleFactory
-
Factory for creating deleted message bubbles.
-
DottedBorder
-
-
FileBubbleFactory
-
Factory for creating file message bubbles.
-
Formatter
-
-
FormatterUtils
-
FormatterUtils is an utility class which is used to style the text in the message bubble and the conversation subtitle
-
ImageBubbleFactory
-
Factory for creating image message bubbles.
-
ListBaseStyle
-
ListBaseStyle is a data class that has styling-related properties
to customize the appearance of CometChatListBase
-
MediaPicker
-
-
MessageListEmpty
-
Empty state - no messages found
-
MessageListError
-
Error state - operation failed
-
MessageListInitial
-
Initial state - before any operation
-
MessageListLoading
-
Loading state - while fetching data
-
MessageListLoadingMore
-
Pagination state - loading more messages
-
MessageListMessageDeleted
-
Message deleted state
-
MessageListMessageSent
-
Message sent state
-
MessageListSearching
-
Search state - searching for messages
-
MessageListSearchResults
-
Search results state
-
MessageListSending
-
Message sending state
-
MessageListState
-
Base state class for all message list states
-
MessageListSuccess
-
Success state - data loaded successfully
-
PickedFile
-
-
SectionSeparator
-
-
TextBubbleFactory
-
Factory for creating text message bubbles.
-
UnreadCountError
-
-
UnreadCountInitial
-
-
UnreadCountLoading
-
-
UnreadCountState
-
State for unread count
-
UnreadCountSuccess
-
-
VideoBubbleFactory
-
Factory for creating video message bubbles.
Enums
-
FileType
-
-
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.)