Documentation Index
Fetch the complete documentation index at: https://cometchat-22654f5b-docs-android-v6-beta2.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The Flutter UI Kit uses ThemeExtension for styling. You can apply styles globally via ThemeData or pass style objects directly to components.
Two Approaches
1. Global Theming via ThemeData
Apply styles across your entire app by adding ThemeExtension objects to your MaterialApp theme:
MaterialApp(
theme: ThemeData(
extensions: [
CometChatOutgoingMessageBubbleStyle(
backgroundColor: Color(0xFFF76808),
),
CometChatIncomingMessageBubbleStyle(
backgroundColor: Color(0xFFFEEDE1),
),
CometChatActionBubbleStyle(
textStyle: TextStyle(color: Color(0xFFF76808)),
backgroundColor: Color(0xFFFEEDE1),
),
],
),
home: YourApp(),
)
2. Component-Level Styles
Pass style objects directly to a component. These override global theme values:
CometChatMessageList(
user: user,
style: CometChatMessageListStyle(
backgroundColor: Color(0xFFFEEDE1),
outgoingMessageBubbleStyle: CometChatOutgoingMessageBubbleStyle(
backgroundColor: Color(0xFFF76808),
),
incomingMessageBubbleStyle: CometChatIncomingMessageBubbleStyle(
backgroundColor: Colors.white,
),
),
)
Style Precedence
Component style prop > ThemeData extension > Default theme
Style Classes by Component
| Component | Style Class |
|---|
CometChatConversations | CometChatConversationsStyle |
CometChatUsers | CometChatUsersStyle |
CometChatGroups | CometChatGroupsStyle |
CometChatGroupMembers | CometChatGroupMembersStyle |
CometChatMessageList | CometChatMessageListStyle |
CometChatMessageComposer | CometChatMessageComposerStyle |
CometChatMessageHeader | CometChatMessageHeaderStyle |
Message Bubble Styles
The message list style contains nested styles for incoming and outgoing bubbles:
CometChatMessageListStyle(
outgoingMessageBubbleStyle: CometChatOutgoingMessageBubbleStyle(
textBubbleStyle: CometChatTextBubbleStyle(...),
imageBubbleStyle: CometChatImageBubbleStyle(...),
videoBubbleStyle: CometChatVideoBubbleStyle(...),
audioBubbleStyle: CometChatAudioBubbleStyle(...),
fileBubbleStyle: CometChatFileBubbleStyle(...),
deletedBubbleStyle: CometChatDeletedBubbleStyle(...),
pollsBubbleStyle: CometChatPollsBubbleStyle(...),
stickerBubbleStyle: CometChatStickerBubbleStyle(...),
collaborativeWhiteboardBubbleStyle: CometChatCollaborativeBubbleStyle(...),
collaborativeDocumentBubbleStyle: CometChatCollaborativeBubbleStyle(...),
linkPreviewBubbleStyle: CometChatLinkPreviewBubbleStyle(...),
videoCallBubbleStyle: CometChatCallBubbleStyle(...),
),
incomingMessageBubbleStyle: CometChatIncomingMessageBubbleStyle(
// Same nested style structure
),
)
See Message Bubble Styling for per-bubble-type examples.
Component Style Examples
Conversations
ThemeData(
fontFamily: 'Times New Roman',
extensions: [
CometChatConversationsStyle(
avatarStyle: CometChatAvatarStyle(
borderRadius: BorderRadius.circular(8),
backgroundColor: Color(0xFFFBAA75),
),
badgeStyle: CometChatBadgeStyle(
backgroundColor: Color(0xFFF76808),
),
),
],
)
Message List
ThemeData(
extensions: [
CometChatMessageListStyle(
backgroundColor: Color(0xFFFEEDE1),
outgoingMessageBubbleStyle: CometChatOutgoingMessageBubbleStyle(
backgroundColor: Color(0xFFF76808),
),
),
],
)
Message Composer
ThemeData(
extensions: [
CometChatMessageComposerStyle(
sendButtonIconBackgroundColor: Color(0xFFF76808),
secondaryButtonIconColor: Color(0xFFF76808),
auxiliaryButtonIconColor: Color(0xFFF76808),
),
],
)
ThemeData(
extensions: [
CometChatMessageHeaderStyle(
avatarStyle: CometChatAvatarStyle(
backgroundColor: Color(0xFFFBAA75),
borderRadius: BorderRadius.circular(6.67),
),
),
],
)
Users
ThemeData(
extensions: [
CometChatUsersStyle(
avatarStyle: CometChatAvatarStyle(
borderRadius: BorderRadius.circular(8),
backgroundColor: Color(0xFFFBAA75),
),
titleTextColor: Color(0xFFF76808),
separatorColor: Color(0xFFF76808),
backgroundColor: Color(0xFFFFF9F5),
),
],
)
Groups
ThemeData(
extensions: [
CometChatGroupsStyle(
avatarStyle: CometChatAvatarStyle(
borderRadius: BorderRadius.circular(8),
backgroundColor: Color(0xFFFBAA75),
),
titleTextColor: Color(0xFFF76808),
separatorColor: Color(0xFFF76808),
backgroundColor: Color(0xFFFFF9F5),
),
],
)
Group Members
ThemeData(
extensions: [
CometChatGroupMembersStyle(
avatarStyle: CometChatAvatarStyle(
borderRadius: BorderRadius.circular(8),
backgroundColor: Color(0xFFFBAA75),
),
titleStyle: TextStyle(color: Color(0xFFF76808)),
separatorColor: Color(0xFFF76808),
ownerMemberScopeBackgroundColor: Color(0xFFF76808),
adminMemberScopeBackgroundColor: Color(0xFFFEEDE1),
adminMemberScopeBorder: Border.all(color: Color(0xFFF76808)),
adminMemberScopeTextColor: Color(0xFFF76808),
),
],
)
AI Assistant Chat History
final ccColor = CometChatThemeHelper.getColorPalette(context);
CometChatAIAssistantChatHistory(
user: user,
style: CometChatAIAssistantChatHistoryStyle(
backgroundColor: const Color(0xFFFFFAF6),
headerBackgroundColor: const Color(0xFFFFFAF6),
headerTitleTextColor: ccColor.textPrimary,
),
)
Base Component Styles
Avatar
ThemeData(
extensions: [
CometChatAvatarStyle(
borderRadius: BorderRadius.circular(8),
backgroundColor: Color(0xFFFBAA75),
),
],
)
Status Indicator
ThemeData(
extensions: [
CometChatStatusIndicatorStyle(
backgroundColor: Color(0xFFFFAB00),
borderRadius: BorderRadius.circular(2),
),
],
)
Badge
ThemeData(
extensions: [
CometChatBadgeStyle(
borderRadius: BorderRadius.circular(4),
backgroundColor: Color(0xFFF44649),
),
],
)
Receipts
ThemeData(
extensions: [
CometChatMessageReceiptStyle(
readIconColor: Color(0xFFFFAB00),
),
],
)
ThemeData(
extensions: [
CometChatMediaRecorderStyle(
recordIndicatorBackgroundColor: Color(0xFFF44649),
recordIndicatorBorderRadius: BorderRadius.circular(20),
pauseButtonBorderRadius: BorderRadius.circular(8),
deleteButtonBorderRadius: BorderRadius.circular(8),
stopButtonBorderRadius: BorderRadius.circular(8),
),
],
)
Reactions
ThemeData(
extensions: [
CometChatReactionsStyle(
borderRadius: BorderRadius.circular(8),
),
],
)
Reaction List
ThemeData(
extensions: [
CometChatReactionListStyle(
activeTabTextColor: Color(0xFFF76808),
activeTabIndicatorColor: Color(0xFFF76808),
),
],
)
Conversation Starter
ThemeData(
extensions: [
CometChatAIConversationStarterStyle(
backgroundColor: Color(0xFFFEEDE1),
border: Border.all(color: Color(0xFFFBBB90)),
),
],
)
Conversation Summary
ThemeData(
extensions: [
CometChatAIConversationSummaryStyle(
backgroundColor: Color(0xFFFEEDE1),
titleStyle: TextStyle(color: Color(0xFFF76808)),
),
],
)
Smart Replies
ThemeData(
extensions: [
CometChatAISmartRepliesStyle(
backgroundColor: Color(0xFFFEEDE1),
titleStyle: TextStyle(color: Color(0xFFF76808)),
itemBackgroundColor: Color(0xFFFFF9F5),
itemBorder: Border.all(color: Color(0xFFFBBB90)),
),
],
)
ThemeData(
fontFamily: "Times New Roman",
extensions: [
CometChatOutgoingMessageBubbleStyle(
backgroundColor: Color(0xFFF76808),
),
CometChatMessageInformationStyle(
backgroundHighLightColor: Color(0xFFFEEDE1),
messageReceiptStyle: CometChatMessageReceiptStyle(
readIconColor: Color(0xFFF76808),
),
),
],
)
Message Option Sheet
ThemeData(
extensions: [
CometChatMessageOptionSheetStyle(
backgroundColor: Color(0xFFFEEDE1),
iconColor: Color(0xFFF76808),
),
],
)
Attachment Option Sheet
ThemeData(
extensions: [
CometChatAttachmentOptionSheetStyle(
backgroundColor: Color(0xFFFEEDE1),
iconColor: Color(0xFFF76808),
),
],
)
AI Option Sheet
ThemeData(
extensions: [
CometChatAiOptionSheetStyle(
backgroundColor: Color(0xFFFFF9F5),
iconColor: Color(0xFFF76808),
),
],
)
Mentions
ThemeData(
extensions: [
CometChatMentionsStyle(
mentionSelfTextBackgroundColor: Color(0xFFF76808),
mentionTextBackgroundColor: Colors.white,
mentionTextColor: Colors.black,
mentionSelfTextColor: Colors.white,
),
],
)