Ground truth: cometchat_chat_uikit: ^6.0 component catalog (pub-cache source) + docs/ui-kit/flutter. Official docs: https://www.cometchat.com/docs/ui-kit/flutter/components-overview · Docs MCP: claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.
CometChat Flutter UIKit v6 — Widget Catalog
Canonical reference for every public widget in cometchat_chat_uikit. Look up names, props, view slots, and style classes here before writing code.
Rule: NEVER_INVENT_NAMES
⛔ Only the widgets in THIS catalog exist — do not invent or recall names from v4/older memory. Before emitting any CometChat* widget, confirm it's listed below; if it's not here, it doesn't exist (→ "isn't a function/class" / undefined-name compile error). Do not invent names like CometChatChat, CometChatMessenger, CometChatChatList, CometChatContactList, CometChatMessageView, or CometChatUserList — they don't exist.
There is no all-in-one widget. The v4-era composites CometChatConversationsWithMessages / CometChatUsersWithMessages / CometChatGroupsWithMessages / CometChatMessages and the CometChatUI god-widget were removed in v6 and do NOT exist in cometchat_chat_uikit ^6.0 (verified against the v6 kit source — these names survive only in the CHANGELOG's removal history). Compose a two-pane experience yourself: CometChatConversations (list) → on onItemTap, push a messages screen hosting CometChatMessageHeader + CometChatMessageList + CometChatMessageComposer for the selected User/Group (each takes user: or group:, never both). See the Golden Path in cometchat-flutter-v6-core.
1. Chat Components
CometChatConversations
Displays a list of recent conversations with real-time updates (new messages, typing, presence, receipts).
- Location:
chat_ui/src/conversations/cometchat_conversations.dart
- Key props:
onItemTap, onItemLongPress, conversationsRequestBuilder, usersStatusVisibility, receiptsVisibility, deleteConversationOptionVisibility, textFormatters, hideAppbar, hideSearch, conversationsBloc
- View slots:
listItemView(Conversation), subtitleView(ctx, Conversation), trailingView(Conversation), leadingView(ctx, Conversation), titleView(ctx, Conversation), emptyStateView, errorStateView, loadingStateView
- Style:
CometChatConversationsStyle
- Request builder:
ConversationsRequestBuilder
CometChatMessageList
Displays messages for a 1:1 or group conversation with real-time updates, reactions, threads, and smart replies.
- Location:
chat_ui/src/message_list/widgets/cometchat_message_list.dart
- Key props:
user, group, messagesRequestBuilder, parentMessageId, templates, alignment, hideDeletedMessages, disableReceipts, disableReactions, enableSwipeToReply, textFormatters, messageListBloc
- View slots:
headerView, footerView, emptyStateView, errorStateView, loadingStateView, emptyChatGreetingView
- Style:
CometChatMessageListStyle
- Request builder:
MessagesRequestBuilder
CometChatMessageComposer
Text input with attachments, voice recording, rich text toolbar, mentions, and AI features.
- Location:
chat_ui/src/message_composer/widgets/cometchat_message_composer.dart
- Key props:
user, group, parentMessageId, placeholderText, disableTypingEvents, text, onChange, onSendButtonTap, textFormatters, disableMentions, hideVoiceRecordingButton, enableRichTextFormatting, richTextToolbarView (there is NO richTextConfiguration prop)
- View slots:
auxiliaryButtonView, secondaryButtonView, sendButtonView, headerView, footerView, richTextToolbarView
- Style:
CometChatMessageComposerStyle
- Note: On
^6.0.1, the hosting Scaffold should use resizeToAvoidBottomInset: true (or omit it — true is the default). The composer clamps the keyboard height to viewInsets (kit fix ENG-34434), so true does not double-compensate. false was only the pre-6.0.1 workaround; if you see a double keyboard gap, upgrade the kit.
CometChatMessageHeader
Displays user/group info as an AppBar with online status, typing indicator, and call buttons.
- Location:
chat_ui/src/message_header/cometchat_message_header.dart
- Key props:
user, group, onBack, showBackButton, hideVideoCallButton, hideVoiceCallButton, usersStatusVisibility, hideChatHistoryButton, hideNewChatButton
- View slots:
subtitleView(Group?, User?, ctx), listItemView(Group?, User?, ctx), trailingView(User?, Group?, ctx), leadingStateView(Group?, User?, ctx), titleView, auxiliaryButtonView
- Style:
CometChatMessageHeaderStyle
- Implements:
PreferredSizeWidget (use as appBar: in Scaffold)
CometChatUsers
Displays a searchable, alphabetically sorted list of users.
- Location:
chat_ui/src/users/cometchat_users.dart
- Key props:
onItemTap, onItemLongPress, usersRequestBuilder, usersStatusVisibility, hideSearch, selectionMode, usersBloc
- View slots:
listItemView(User), subtitleView(ctx, User), trailingView(ctx, User), leadingView(ctx, User), titleView(ctx, User), emptyStateView, errorStateView, loadingStateView
- Style:
CometChatUsersStyle
- Request builder:
UsersRequestBuilder
CometChatGroups
Displays a searchable list of groups the user has joined or can join.
- Location:
chat_ui/src/groups/cometchat_groups.dart
- Key props:
onItemTap, onItemLongPress, groupsRequestBuilder, hideSearch, selectionMode, groupTypeVisibility, groupsBloc
- View slots:
listItemView(Group), subtitleView(ctx, Group), trailingView(ctx, Group), leadingView(ctx, Group), titleView(ctx, Group), emptyStateView, errorStateView, loadingStateView
- Style:
CometChatGroupsStyle
- Request builder:
GroupsRequestBuilder
CometChatGroupMembers
Displays members of a specific group with role badges and management options (kick, ban, scope change).
- Location:
chat_ui/src/group_members/cometchat_group_members.dart
- Key props:
group (required), groupMembersRequestBuilder, hideSearch, selectionMode, usersStatusVisibility, hideBanMemberOption, hideKickMemberOption, hideScopeChangeOption
- View slots:
listItemView(GroupMember), subtitleView(ctx, GroupMember), trailingView(ctx, GroupMember), leadingView, titleView, emptyStateView, errorStateView, loadingStateView
- Style:
CometChatGroupMembersStyle
- Request builder:
GroupMembersRequestBuilder
CometChatSearch
Full-screen search across conversations and messages with filter chips and dual-section results.
- Location:
chat_ui/src/search/cometchat_search.dart
- Key props:
onConversationClicked, onMessageClicked, searchFilters, searchIn, user, group, conversationsRequestBuilder, messagesRequestBuilder
- View slots:
conversationItemView(ctx, Conversation), conversationSubtitleView(ctx, Conversation), conversationLeadingView(ctx, Conversation), conversationTailView(ctx, Conversation), searchTextMessageView(ctx, TextMessage), searchImageMessageView(ctx, MediaMessage), emptyStateView, errorStateView, loadingStateView, initialStateView
- Style:
CometChatSearchStyle
CometChatNotificationFeed
Full-screen in-app notification feed — a scrollable list of campaign/promotional notifications rendered as cards, with category filter chips, timestamp grouping, real-time updates, and engagement reporting. Distinct from push notifications: this is the in-app feed UI, not the OS-level push delivery.
- Location:
chat_ui/src/notification_feed/widgets/cometchat_notification_feed.dart
- Key props:
title, showHeader, showBackButton, showFilterChips, headerView, scrollToItemId, notificationFeedRequestBuilder, notificationCategoriesRequestBuilder, onItemClick(NotificationFeedItem), onActionClick(NotificationFeedItem, CometChatCardActionEvent), onError(String), onBackPress, cardThemeMode, cardThemeOverride
- View slots:
emptyStateView, errorStateView, loadingStateView
- Style:
CometChatNotificationFeedStyle
- Request builder:
NotificationFeedRequestBuilder (pass without .build(); component builds internally)
CometChatThreadedHeader
Displays a parent message with reply count in a threaded conversation view. Listens for real-time reply count updates.
- Location:
chat_ui/src/threaded_header/widgets/cometchat_threaded_header.dart
- Key props:
parentMessage (required), loggedInUser (required), template, receiptsVisibility, textFormatters
- View slots:
messageActionView(BaseMessage, ctx)
- Style:
CometChatThreadedHeaderStyle
CometChatMessageInformation
Displays read/delivered receipt information for a message. Shows per-member receipts in group conversations.
- Location:
chat_ui/src/message_information/widgets/cometchat_message_information.dart
- Key props:
message (required), title, template, textFormatters
- Style:
CometChatMessageInformationStyle
2. Call Components
CometChatCallButtons
Voice and video call icon buttons. Supports direct calls (user) and meetings (group).
- Location:
call_ui/src/call_buttons/cometchat_call_buttons.dart
- Key props:
user, group, hideVoiceCallButton, hideVideoCallButton, outgoingCallConfiguration, callSettingsBuilder, callButtonsBloc
- View slots:
voiceCallIcon, videoCallIcon
- Style:
CometChatCallButtonsStyle
CometChatIncomingCall
Full-screen incoming call UI with accept/decline buttons. Shown when the logged-in user receives a call.
- Location:
call_ui/src/incoming_call/cometchat_incoming_call.dart
- Key props:
call (required), user, callSettingsBuilder, onDecline, onAccept, disableSoundForCalls, customSoundForCalls
- View slots:
titleView(ctx, Call), subTitleView(ctx, Call), leadingView(ctx, Call), trailingView(ctx, Call), itemView(ctx, Call)
- Style:
CometChatIncomingCallStyle
CometChatOutgoingCall
Full-screen outgoing call UI with cancel button. Shown when the logged-in user initiates a call.
- Location:
call_ui/src/outgoing_call/cometchat_outgoing_call.dart
- Key props:
call (required), user, sessionSettingsBuilder, onCancelled, disableSoundForCalls, customSoundForCalls
- View slots:
subtitleView(ctx, Call), avatarView(ctx, Call), titleView(ctx, Call), cancelledView(ctx, Call)
- Style:
CometChatOutgoingCallStyle
CometChatOngoingCall
Renders the active call screen using the CometChat Calls SDK. Blocks back navigation.
- Location:
call_ui/src/ongoing_call/cometchat_ongoing_call.dart
- Key props:
sessionSettingsBuilder (required), sessionId (required), callWorkFlow, onError, bloc
- Style: None (rendered by Calls SDK)
CometChatCallLogs
Displays a list of call logs (missed, incoming, outgoing) with icons and timestamps.
- Location:
call_ui/src/call_logs/cometchat_call_logs/cometchat_call_logs.dart
- Key props:
callLogsRequestBuilder, onItemClick, onCallLogIconClicked, hideAppbar, outgoingCallConfiguration, callLogsBloc
- View slots:
listItemView(CallLog, ctx), subTitleView(CallLog, ctx), trailingView, leadingStateView, titleView, emptyStateView, errorStateView, loadingStateView
- Style:
CometChatCallLogsStyle
- Request builder:
CallLogRequestBuilder
CometChatCallBubble
Inline bubble for call messages inside the message list. Shows call type icon, title, and join button.
- Location:
call_ui/src/call_bubble/cometchat_call_bubble.dart
- Key props:
icon, title, buttonText, onTap, subtitle, alignment, iconUrl
- Style:
CometChatCallBubbleStyle
3. Shared Views
CometChatAvatar
Circular avatar with image URL fallback to initials from name.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/avatar/cometchat_avatar.dart
- Key props:
image, name, width, height, padding, margin, colorPalette, spacing, typography
- Style:
CometChatAvatarStyle
CometChatBadge
Unread count badge (red circle with number).
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/badge/cometchat_badge.dart
- Style:
CometChatBadgeStyle
CometChatReceipt
Message delivery receipt icons (sent, delivered, read).
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/receipt/cometchat_receipt.dart
- Style:
CometChatMessageReceiptStyle
CometChatReactions
Displays emoji reaction chips below a message bubble with tap/long-press callbacks.
- Location:
shared_ui/src/clean_architecture/presentation/views/components/reactions/cometchat_reactions.dart
- Key props:
reactionList (required), alignment, onReactionTap, onReactionLongPress, colorPalette, spacing, typography
- Style:
CometChatReactionsStyle
CometChatMessageBubble
Skeleton structure for any message bubble. Binds together leading, header, content, footer, thread, reply, and bottom views.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/message_bubble/cometchat_message_bubble.dart
- Key props:
alignment, colorPalette, spacing, contentPadding
- View slots:
leadingView, headerView, contentView, footerView, bottomView, threadView, replyView, statusInfoView
- Style:
CometChatMessageBubbleStyle
CometChatListBase
Top-level container with app bar, search box, and scrollable content. Used internally by Conversations, Users, Groups, GroupMembers.
- Location:
shared_ui/src/clean_architecture/presentation/views/components/list_base/cometchat_listbase.dart
- Key props:
container (required), title, hideSearch, showBackButton, onSearch, hideAppBar, searchReadOnly, onSearchTap
- View slots:
backIcon, menuOptions, titleView
- Style:
ListBaseStyle
CometChatStatusIndicator
Small colored dot indicating user online/offline status or group type icon.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/status_indicator/cometchat_status_indicator.dart
- Style:
CometChatStatusIndicatorStyle
CometChatDate
Formatted date/time label used in conversation trailing, message date separators, and sticky headers.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/date/cometchat_date.dart
- Style:
CometChatDateStyle
4. Bubble Widgets
Content widgets rendered inside CometChatMessageBubble. All accept optional colorPalette, spacing, typography for theme-caching optimization.
CometChatTextBubble
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/text_bubble/cometchat_text_bubble.dart
- Key props:
text, alignment, formatters, emojiCount, colorPalette, spacing, typography
- Style:
CometChatTextBubbleStyle
CometChatImageBubble
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/image_bubble/cometchat_image_bubble.dart
- Key props:
imageUrl, placeholderImage, placeHolderImagePackageName, onClick, height, width, margin, padding, metadata
- Style:
CometChatImageBubbleStyle
CometChatVideoBubble
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/video_bubble/cometchat_video_bubble.dart
- Key props:
videoUrl, thumbnailUrl, colorPalette, spacing
- Style:
CometChatVideoBubbleStyle
CometChatAudioBubble
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/audio_bubble/cometchat_audio_bubble.dart
- Key props:
audioUrl, title, colorPalette, spacing, typography
- Style:
CometChatAudioBubbleStyle
CometChatFileBubble
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/file_bubble/cometchat_file_bubble.dart
- Key props:
fileUrl, title, subtitle, colorPalette, spacing, typography
- Style:
CometChatFileBubbleStyle
CometChatDeletedBubble
Placeholder shown for deleted messages ("This message was deleted").
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/deleted_bubble/cometchat_deleted_bubble.dart
- Style:
CometChatDeletedBubbleStyle
CometChatCardBubble
Interactive card message with title, body, and action buttons.
- Location:
shared_ui/src/clean_architecture/presentation/views/bubbles/card_bubble/cometchat_card_bubble.dart
- Style:
CardBubbleStyle
5. Utility Widgets
CometChatListItem
Individual row used inside list components. Combines avatar, status indicator, title, subtitle, and tail view.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/list_item/cometchat_list_item.dart
- Key props:
avatarURL, avatarName, statusIndicatorColor, statusIndicatorIcon, title, hideSeparator
- View slots:
subtitleView, tailView, titleView, leadingStateView
- Style:
ListItemStyle, CometChatAvatarStyle, CometChatStatusIndicatorStyle
CometChatConfirmDialog
Modal confirmation dialog with title, message, confirm/cancel buttons. Call .show() to display.
- Location:
shared_ui/src/clean_architecture/presentation/views/misc/confirm_dialog/cometchat_confirm_dialog.dart
- Key props:
context (required), title, messageText, confirmButtonText, cancelButtonText, onConfirm, onCancel
- Style:
CometChatConfirmDialogStyle
CometchatMessageOptionSheet / CometChatAttachmentOptionSheet
Bottom sheets used internally by the kit. CometchatMessageOptionSheet (note the lowercase "c" in "chat") shows message actions (copy, reply, delete, etc.); CometChatAttachmentOptionSheet shows attachment options. There is no widget named CometChatActionSheet.
- Location:
CometchatMessageOptionSheet → chat_ui/src/message_list/cometchat_message_option_sheet.dart; CometChatAttachmentOptionSheet → shared_ui/src/clean_architecture/presentation/views/misc/action_sheet/cometchat_action_sheet.dart
- Style:
CometChatMessageOptionSheetStyle, CometChatAttachmentOptionSheetStyle
6. AI Views
As of 6.0.1, the following AI widgets are exported via the chat barrel (shared_ui/cometchat_uikit_shared.dart):
CometChatAIAssistantChatHistory — chat_ui/src/ai_assistant_chat_history/widgets/cometchat_ai_assistant_chat_history.dart
CometChatAIConversationSummaryView — shared_ui/src/views/ai_conversation_summary/cometchat_ai_conversation_summary_view.dart
CometChatAIAssistantBubble — shared_ui/src/.../cometchat_ai_assistant_bubble.dart
CometChatAISmartRepliesView — shared_ui/src/.../cometchat_ai_smart_replies_view.dart
CometChatAIConversationStarterView — shared_ui/src/.../cometchat_ai_conversation_starter_view.dart
Note the View suffix on the summary, smart-replies, and conversation-starter classes — CometChatAIConversationSummary, CometChatAISmartReplies, and CometChatAIConversationStarter (without suffix) do NOT exist.
For AI behavior more broadly, the kit surfaces AI replies / summaries / starters inside the existing message list and composer when the matching dashboard extensions are enabled. Drive AI through extensions for the most stable path.
Quick Reference: Import
import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart'; // All chat widgets
import 'package:cometchat_chat_uikit/cometchat_calls_uikit.dart'; // Call widgets
Quick Reference: Architecture
All components follow Clean Architecture + BLoC:
{component}/
├── bloc/ # BLoC, Events, State (Equatable)
├── domain/ # Use Cases, Repository interfaces
├── data/ # Repository impl, DataSources
├── di/ # ServiceLocator (singleton)
└── widgets/ # UI components
Quick Reference: Theme
Always use CometChatThemeHelper — never hardcode colors:
final colorPalette = CometChatThemeHelper.getColorPalette(context);
final typography = CometChatThemeHelper.getTypography(context);
final spacing = CometChatThemeHelper.getSpacing(context);
1---2name: cometchat-flutter-v6-components3description: >4 Complete catalog of CometChat Flutter UI Kit v6 widgets. Reference before writing5 integration code — never invent widget names. Covers all chat components6 (conversations, messages, users, groups), call components (buttons, incoming,7 outgoing, ongoing, call logs), and shared views (avatar, badge, receipt, reactions,8 bubbles, list base, search, status indicator).9license: "MIT"10compatibility: "cometchat_chat_uikit ^6.0.1; flutter >=2.5.0"11metadata:12 author: "CometChat"13 version: "3.0.0"14 tags: "cometchat flutter components widgets catalog props"15---1617> **Ground truth:** `cometchat_chat_uikit: ^6.0` component catalog (pub-cache source) + `docs/ui-kit/flutter`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/components-overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.1819# CometChat Flutter UIKit v6 — Widget Catalog2021Canonical reference for every public widget in `cometchat_chat_uikit`. Look up names, props, view slots, and style classes here before writing code.2223---2425## Rule: NEVER_INVENT_NAMES2627> ⛔ **Only the widgets in THIS catalog exist — do not invent or recall names from v4/older memory.** Before emitting any `CometChat*` widget, confirm it's listed below; if it's not here, it doesn't exist (→ "isn't a function/class" / undefined-name compile error). Do not invent names like `CometChatChat`, `CometChatMessenger`, `CometChatChatList`, `CometChatContactList`, `CometChatMessageView`, or `CometChatUserList` — they don't exist.28>29> **There is no all-in-one widget.** The v4-era composites `CometChatConversationsWithMessages` / `CometChatUsersWithMessages` / `CometChatGroupsWithMessages` / `CometChatMessages` and the `CometChatUI` god-widget were **removed in v6 and do NOT exist in `cometchat_chat_uikit` ^6.0** (verified against the v6 kit source — these names survive only in the CHANGELOG's removal history). Compose a two-pane experience yourself: `CometChatConversations` (list) → on `onItemTap`, push a messages screen hosting `CometChatMessageHeader` + `CometChatMessageList` + `CometChatMessageComposer` for the selected `User`/`Group` (each takes `user:` **or** `group:`, never both). See the Golden Path in `cometchat-flutter-v6-core`.3031---3233## 1. Chat Components3435### CometChatConversations3637Displays a list of recent conversations with real-time updates (new messages, typing, presence, receipts).3839- **Location:** `chat_ui/src/conversations/cometchat_conversations.dart`40- **Key props:** `onItemTap`, `onItemLongPress`, `conversationsRequestBuilder`, `usersStatusVisibility`, `receiptsVisibility`, `deleteConversationOptionVisibility`, `textFormatters`, `hideAppbar`, `hideSearch`, `conversationsBloc`41- **View slots:** `listItemView(Conversation)`, `subtitleView(ctx, Conversation)`, `trailingView(Conversation)`, `leadingView(ctx, Conversation)`, `titleView(ctx, Conversation)`, `emptyStateView`, `errorStateView`, `loadingStateView`42- **Style:** `CometChatConversationsStyle`43- **Request builder:** `ConversationsRequestBuilder`4445### CometChatMessageList4647Displays messages for a 1:1 or group conversation with real-time updates, reactions, threads, and smart replies.4849- **Location:** `chat_ui/src/message_list/widgets/cometchat_message_list.dart`50- **Key props:** `user`, `group`, `messagesRequestBuilder`, `parentMessageId`, `templates`, `alignment`, `hideDeletedMessages`, `disableReceipts`, `disableReactions`, `enableSwipeToReply`, `textFormatters`, `messageListBloc`51- **View slots:** `headerView`, `footerView`, `emptyStateView`, `errorStateView`, `loadingStateView`, `emptyChatGreetingView`52- **Style:** `CometChatMessageListStyle`53- **Request builder:** `MessagesRequestBuilder`5455### CometChatMessageComposer5657Text input with attachments, voice recording, rich text toolbar, mentions, and AI features.5859- **Location:** `chat_ui/src/message_composer/widgets/cometchat_message_composer.dart`60- **Key props:** `user`, `group`, `parentMessageId`, `placeholderText`, `disableTypingEvents`, `text`, `onChange`, `onSendButtonTap`, `textFormatters`, `disableMentions`, `hideVoiceRecordingButton`, `enableRichTextFormatting`, `richTextToolbarView` (there is NO `richTextConfiguration` prop)61- **View slots:** `auxiliaryButtonView`, `secondaryButtonView`, `sendButtonView`, `headerView`, `footerView`, `richTextToolbarView`62- **Style:** `CometChatMessageComposerStyle`63- **Note:** On `^6.0.1`, the hosting Scaffold should use `resizeToAvoidBottomInset: true` (or omit it — `true` is the default). The composer clamps the keyboard height to `viewInsets` (kit fix ENG-34434), so `true` does not double-compensate. `false` was only the pre-6.0.1 workaround; if you see a double keyboard gap, upgrade the kit.6465### CometChatMessageHeader6667Displays user/group info as an AppBar with online status, typing indicator, and call buttons.6869- **Location:** `chat_ui/src/message_header/cometchat_message_header.dart`70- **Key props:** `user`, `group`, `onBack`, `showBackButton`, `hideVideoCallButton`, `hideVoiceCallButton`, `usersStatusVisibility`, `hideChatHistoryButton`, `hideNewChatButton`71- **View slots:** `subtitleView(Group?, User?, ctx)`, `listItemView(Group?, User?, ctx)`, `trailingView(User?, Group?, ctx)`, `leadingStateView(Group?, User?, ctx)`, `titleView`, `auxiliaryButtonView`72- **Style:** `CometChatMessageHeaderStyle`73- **Implements:** `PreferredSizeWidget` (use as `appBar:` in Scaffold)7475### CometChatUsers7677Displays a searchable, alphabetically sorted list of users.7879- **Location:** `chat_ui/src/users/cometchat_users.dart`80- **Key props:** `onItemTap`, `onItemLongPress`, `usersRequestBuilder`, `usersStatusVisibility`, `hideSearch`, `selectionMode`, `usersBloc`81- **View slots:** `listItemView(User)`, `subtitleView(ctx, User)`, `trailingView(ctx, User)`, `leadingView(ctx, User)`, `titleView(ctx, User)`, `emptyStateView`, `errorStateView`, `loadingStateView`82- **Style:** `CometChatUsersStyle`83- **Request builder:** `UsersRequestBuilder`8485### CometChatGroups8687Displays a searchable list of groups the user has joined or can join.8889- **Location:** `chat_ui/src/groups/cometchat_groups.dart`90- **Key props:** `onItemTap`, `onItemLongPress`, `groupsRequestBuilder`, `hideSearch`, `selectionMode`, `groupTypeVisibility`, `groupsBloc`91- **View slots:** `listItemView(Group)`, `subtitleView(ctx, Group)`, `trailingView(ctx, Group)`, `leadingView(ctx, Group)`, `titleView(ctx, Group)`, `emptyStateView`, `errorStateView`, `loadingStateView`92- **Style:** `CometChatGroupsStyle`93- **Request builder:** `GroupsRequestBuilder`9495### CometChatGroupMembers9697Displays members of a specific group with role badges and management options (kick, ban, scope change).9899- **Location:** `chat_ui/src/group_members/cometchat_group_members.dart`100- **Key props:** `group` (required), `groupMembersRequestBuilder`, `hideSearch`, `selectionMode`, `usersStatusVisibility`, `hideBanMemberOption`, `hideKickMemberOption`, `hideScopeChangeOption`101- **View slots:** `listItemView(GroupMember)`, `subtitleView(ctx, GroupMember)`, `trailingView(ctx, GroupMember)`, `leadingView`, `titleView`, `emptyStateView`, `errorStateView`, `loadingStateView`102- **Style:** `CometChatGroupMembersStyle`103- **Request builder:** `GroupMembersRequestBuilder`104105### CometChatSearch106107Full-screen search across conversations and messages with filter chips and dual-section results.108109- **Location:** `chat_ui/src/search/cometchat_search.dart`110- **Key props:** `onConversationClicked`, `onMessageClicked`, `searchFilters`, `searchIn`, `user`, `group`, `conversationsRequestBuilder`, `messagesRequestBuilder`111- **View slots:** `conversationItemView(ctx, Conversation)`, `conversationSubtitleView(ctx, Conversation)`, `conversationLeadingView(ctx, Conversation)`, `conversationTailView(ctx, Conversation)`, `searchTextMessageView(ctx, TextMessage)`, `searchImageMessageView(ctx, MediaMessage)`, `emptyStateView`, `errorStateView`, `loadingStateView`, `initialStateView`112- **Style:** `CometChatSearchStyle`113114### CometChatNotificationFeed115116Full-screen in-app notification feed — a scrollable list of campaign/promotional notifications rendered as cards, with category filter chips, timestamp grouping, real-time updates, and engagement reporting. Distinct from push notifications: this is the in-app feed UI, not the OS-level push delivery.117118- **Location:** `chat_ui/src/notification_feed/widgets/cometchat_notification_feed.dart`119- **Key props:** `title`, `showHeader`, `showBackButton`, `showFilterChips`, `headerView`, `scrollToItemId`, `notificationFeedRequestBuilder`, `notificationCategoriesRequestBuilder`, `onItemClick(NotificationFeedItem)`, `onActionClick(NotificationFeedItem, CometChatCardActionEvent)`, `onError(String)`, `onBackPress`, `cardThemeMode`, `cardThemeOverride`120- **View slots:** `emptyStateView`, `errorStateView`, `loadingStateView`121- **Style:** `CometChatNotificationFeedStyle`122- **Request builder:** `NotificationFeedRequestBuilder` (pass without `.build()`; component builds internally)123124### CometChatThreadedHeader125126Displays a parent message with reply count in a threaded conversation view. Listens for real-time reply count updates.127128- **Location:** `chat_ui/src/threaded_header/widgets/cometchat_threaded_header.dart`129- **Key props:** `parentMessage` (required), `loggedInUser` (required), `template`, `receiptsVisibility`, `textFormatters`130- **View slots:** `messageActionView(BaseMessage, ctx)`131- **Style:** `CometChatThreadedHeaderStyle`132133### CometChatMessageInformation134135Displays read/delivered receipt information for a message. Shows per-member receipts in group conversations.136137- **Location:** `chat_ui/src/message_information/widgets/cometchat_message_information.dart`138- **Key props:** `message` (required), `title`, `template`, `textFormatters`139- **Style:** `CometChatMessageInformationStyle`140141---142143## 2. Call Components144145### CometChatCallButtons146147Voice and video call icon buttons. Supports direct calls (user) and meetings (group).148149- **Location:** `call_ui/src/call_buttons/cometchat_call_buttons.dart`150- **Key props:** `user`, `group`, `hideVoiceCallButton`, `hideVideoCallButton`, `outgoingCallConfiguration`, `callSettingsBuilder`, `callButtonsBloc`151- **View slots:** `voiceCallIcon`, `videoCallIcon`152- **Style:** `CometChatCallButtonsStyle`153154### CometChatIncomingCall155156Full-screen incoming call UI with accept/decline buttons. Shown when the logged-in user receives a call.157158- **Location:** `call_ui/src/incoming_call/cometchat_incoming_call.dart`159- **Key props:** `call` (required), `user`, `callSettingsBuilder`, `onDecline`, `onAccept`, `disableSoundForCalls`, `customSoundForCalls`160- **View slots:** `titleView(ctx, Call)`, `subTitleView(ctx, Call)`, `leadingView(ctx, Call)`, `trailingView(ctx, Call)`, `itemView(ctx, Call)`161- **Style:** `CometChatIncomingCallStyle`162163### CometChatOutgoingCall164165Full-screen outgoing call UI with cancel button. Shown when the logged-in user initiates a call.166167- **Location:** `call_ui/src/outgoing_call/cometchat_outgoing_call.dart`168- **Key props:** `call` (required), `user`, `sessionSettingsBuilder`, `onCancelled`, `disableSoundForCalls`, `customSoundForCalls`169- **View slots:** `subtitleView(ctx, Call)`, `avatarView(ctx, Call)`, `titleView(ctx, Call)`, `cancelledView(ctx, Call)`170- **Style:** `CometChatOutgoingCallStyle`171172### CometChatOngoingCall173174Renders the active call screen using the CometChat Calls SDK. Blocks back navigation.175176- **Location:** `call_ui/src/ongoing_call/cometchat_ongoing_call.dart`177- **Key props:** `sessionSettingsBuilder` (required), `sessionId` (required), `callWorkFlow`, `onError`, `bloc`178- **Style:** None (rendered by Calls SDK)179180### CometChatCallLogs181182Displays a list of call logs (missed, incoming, outgoing) with icons and timestamps.183184- **Location:** `call_ui/src/call_logs/cometchat_call_logs/cometchat_call_logs.dart`185- **Key props:** `callLogsRequestBuilder`, `onItemClick`, `onCallLogIconClicked`, `hideAppbar`, `outgoingCallConfiguration`, `callLogsBloc`186- **View slots:** `listItemView(CallLog, ctx)`, `subTitleView(CallLog, ctx)`, `trailingView`, `leadingStateView`, `titleView`, `emptyStateView`, `errorStateView`, `loadingStateView`187- **Style:** `CometChatCallLogsStyle`188- **Request builder:** `CallLogRequestBuilder`189190### CometChatCallBubble191192Inline bubble for call messages inside the message list. Shows call type icon, title, and join button.193194- **Location:** `call_ui/src/call_bubble/cometchat_call_bubble.dart`195- **Key props:** `icon`, `title`, `buttonText`, `onTap`, `subtitle`, `alignment`, `iconUrl`196- **Style:** `CometChatCallBubbleStyle`197198---199200## 3. Shared Views201202### CometChatAvatar203204Circular avatar with image URL fallback to initials from name.205206- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/avatar/cometchat_avatar.dart`207- **Key props:** `image`, `name`, `width`, `height`, `padding`, `margin`, `colorPalette`, `spacing`, `typography`208- **Style:** `CometChatAvatarStyle`209210### CometChatBadge211212Unread count badge (red circle with number).213214- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/badge/cometchat_badge.dart`215- **Style:** `CometChatBadgeStyle`216217### CometChatReceipt218219Message delivery receipt icons (sent, delivered, read).220221- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/receipt/cometchat_receipt.dart`222- **Style:** `CometChatMessageReceiptStyle`223224### CometChatReactions225226Displays emoji reaction chips below a message bubble with tap/long-press callbacks.227228- **Location:** `shared_ui/src/clean_architecture/presentation/views/components/reactions/cometchat_reactions.dart`229- **Key props:** `reactionList` (required), `alignment`, `onReactionTap`, `onReactionLongPress`, `colorPalette`, `spacing`, `typography`230- **Style:** `CometChatReactionsStyle`231232### CometChatMessageBubble233234Skeleton structure for any message bubble. Binds together leading, header, content, footer, thread, reply, and bottom views.235236- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/message_bubble/cometchat_message_bubble.dart`237- **Key props:** `alignment`, `colorPalette`, `spacing`, `contentPadding`238- **View slots:** `leadingView`, `headerView`, `contentView`, `footerView`, `bottomView`, `threadView`, `replyView`, `statusInfoView`239- **Style:** `CometChatMessageBubbleStyle`240241### CometChatListBase242243Top-level container with app bar, search box, and scrollable content. Used internally by Conversations, Users, Groups, GroupMembers.244245- **Location:** `shared_ui/src/clean_architecture/presentation/views/components/list_base/cometchat_listbase.dart`246- **Key props:** `container` (required), `title`, `hideSearch`, `showBackButton`, `onSearch`, `hideAppBar`, `searchReadOnly`, `onSearchTap`247- **View slots:** `backIcon`, `menuOptions`, `titleView`248- **Style:** `ListBaseStyle`249250### CometChatStatusIndicator251252Small colored dot indicating user online/offline status or group type icon.253254- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/status_indicator/cometchat_status_indicator.dart`255- **Style:** `CometChatStatusIndicatorStyle`256257### CometChatDate258259Formatted date/time label used in conversation trailing, message date separators, and sticky headers.260261- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/date/cometchat_date.dart`262- **Style:** `CometChatDateStyle`263264---265266## 4. Bubble Widgets267268Content widgets rendered inside `CometChatMessageBubble`. All accept optional `colorPalette`, `spacing`, `typography` for theme-caching optimization.269270### CometChatTextBubble271272- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/text_bubble/cometchat_text_bubble.dart`273- **Key props:** `text`, `alignment`, `formatters`, `emojiCount`, `colorPalette`, `spacing`, `typography`274- **Style:** `CometChatTextBubbleStyle`275276### CometChatImageBubble277278- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/image_bubble/cometchat_image_bubble.dart`279- **Key props:** `imageUrl`, `placeholderImage`, `placeHolderImagePackageName`, `onClick`, `height`, `width`, `margin`, `padding`, `metadata`280- **Style:** `CometChatImageBubbleStyle`281282### CometChatVideoBubble283284- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/video_bubble/cometchat_video_bubble.dart`285- **Key props:** `videoUrl`, `thumbnailUrl`, `colorPalette`, `spacing`286- **Style:** `CometChatVideoBubbleStyle`287288### CometChatAudioBubble289290- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/audio_bubble/cometchat_audio_bubble.dart`291- **Key props:** `audioUrl`, `title`, `colorPalette`, `spacing`, `typography`292- **Style:** `CometChatAudioBubbleStyle`293294### CometChatFileBubble295296- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/file_bubble/cometchat_file_bubble.dart`297- **Key props:** `fileUrl`, `title`, `subtitle`, `colorPalette`, `spacing`, `typography`298- **Style:** `CometChatFileBubbleStyle`299300### CometChatDeletedBubble301302Placeholder shown for deleted messages ("This message was deleted").303304- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/deleted_bubble/cometchat_deleted_bubble.dart`305- **Style:** `CometChatDeletedBubbleStyle`306307### CometChatCardBubble308309Interactive card message with title, body, and action buttons.310311- **Location:** `shared_ui/src/clean_architecture/presentation/views/bubbles/card_bubble/cometchat_card_bubble.dart`312- **Style:** `CardBubbleStyle`313314---315316## 5. Utility Widgets317318### CometChatListItem319320Individual row used inside list components. Combines avatar, status indicator, title, subtitle, and tail view.321322- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/list_item/cometchat_list_item.dart`323- **Key props:** `avatarURL`, `avatarName`, `statusIndicatorColor`, `statusIndicatorIcon`, `title`, `hideSeparator`324- **View slots:** `subtitleView`, `tailView`, `titleView`, `leadingStateView`325- **Style:** `ListItemStyle`, `CometChatAvatarStyle`, `CometChatStatusIndicatorStyle`326327### CometChatConfirmDialog328329Modal confirmation dialog with title, message, confirm/cancel buttons. Call `.show()` to display.330331- **Location:** `shared_ui/src/clean_architecture/presentation/views/misc/confirm_dialog/cometchat_confirm_dialog.dart`332- **Key props:** `context` (required), `title`, `messageText`, `confirmButtonText`, `cancelButtonText`, `onConfirm`, `onCancel`333- **Style:** `CometChatConfirmDialogStyle`334335### CometchatMessageOptionSheet / CometChatAttachmentOptionSheet336337Bottom sheets used internally by the kit. `CometchatMessageOptionSheet` (note the lowercase "c" in "chat") shows message actions (copy, reply, delete, etc.); `CometChatAttachmentOptionSheet` shows attachment options. There is no widget named `CometChatActionSheet`.338339- **Location:** `CometchatMessageOptionSheet` → `chat_ui/src/message_list/cometchat_message_option_sheet.dart`; `CometChatAttachmentOptionSheet` → `shared_ui/src/clean_architecture/presentation/views/misc/action_sheet/cometchat_action_sheet.dart`340- **Style:** `CometChatMessageOptionSheetStyle`, `CometChatAttachmentOptionSheetStyle`341342---343344## 6. AI Views345346As of `6.0.1`, the following AI widgets are exported via the chat barrel (`shared_ui/cometchat_uikit_shared.dart`):347348- `CometChatAIAssistantChatHistory` — chat_ui/src/ai_assistant_chat_history/widgets/cometchat_ai_assistant_chat_history.dart349- `CometChatAIConversationSummaryView` — shared_ui/src/views/ai_conversation_summary/cometchat_ai_conversation_summary_view.dart350- `CometChatAIAssistantBubble` — shared_ui/src/.../cometchat_ai_assistant_bubble.dart351- `CometChatAISmartRepliesView` — shared_ui/src/.../cometchat_ai_smart_replies_view.dart352- `CometChatAIConversationStarterView` — shared_ui/src/.../cometchat_ai_conversation_starter_view.dart353354Note the `View` suffix on the summary, smart-replies, and conversation-starter classes — `CometChatAIConversationSummary`, `CometChatAISmartReplies`, and `CometChatAIConversationStarter` (without suffix) do NOT exist.355356For AI behavior more broadly, the kit surfaces AI replies / summaries / starters inside the existing message list and composer when the matching dashboard extensions are enabled. Drive AI through extensions for the most stable path.357358---359360## Quick Reference: Import361362```dart363import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart'; // All chat widgets364import 'package:cometchat_chat_uikit/cometchat_calls_uikit.dart'; // Call widgets365```366367## Quick Reference: Architecture368369All components follow Clean Architecture + BLoC:370```371{component}/372├── bloc/ # BLoC, Events, State (Equatable)373├── domain/ # Use Cases, Repository interfaces374├── data/ # Repository impl, DataSources375├── di/ # ServiceLocator (singleton)376└── widgets/ # UI components377```378379## Quick Reference: Theme380381Always use `CometChatThemeHelper` — never hardcode colors:382```dart383final colorPalette = CometChatThemeHelper.getColorPalette(context);384final typography = CometChatThemeHelper.getTypography(context);385final spacing = CometChatThemeHelper.getSpacing(context);386```