ChatComponentFactory

Factory for creating stateless components that are used by default throughout the Chat UI.

Example of a custom ChatComponentFactory implementation that changes the default UI of the trailing content of the channel list header element:

ChatTheme(
    componentFactory = object : ChatComponentFactory() {
        @Composable
        override fun RowScope.ChannelListHeaderTrailingContent(
            onHeaderActionClick: () -> Unit,
        ) {
            IconButton(onClick = onHeaderActionClick) {
                Icon(
                    imageVector = Icons.Default.Add,
                    contentDescription = "Add",
                )
            }
        }
    }
) {
    // Your Chat screens
}

ChatComponentFactory can also be extended in a separate class and passed to the ChatTheme as shown:

class MyChatComponentFactory : ChatComponentFactory {
    @Composable
    override fun RowScope.ChannelListHeaderTrailingContent(onHeaderActionClick: () -> Unit) {
        IconButton(onClick = onHeaderActionClick) {
            Icon(
                imageVector = Icons.Default.Add,
                contentDescription = "Add",
            )
        }
    }
}

ChatTheme(
    componentFactory = MyComponentFactory()
) {
    // Your Chat screens
}

Functions

Link copied to clipboard
open fun AttachmentsPickerSendButton(hasPickedAttachments: Boolean, onClick: () -> Unit)

The default 'Send' button in the attachments picker. Shown as ">" icon in the attachments picker header, enabled when there is at least one selected attachment.

Link copied to clipboard
open fun Avatar(    modifier: Modifier,     imageUrl: String,     initials: String,     shape: Shape,     textStyle: TextStyle,     placeholderPainter: Painter?,     contentDescription: String?,     initialsAvatarOffset: DpOffset,     onClick: () -> Unit?)

The default avatar, which renders an image from the provided image URL. In case the image URL is empty or there is an error loading the image, it falls back to an image with initials.

Link copied to clipboard
open fun ChannelAvatar(modifier: Modifier, channel: Channel, currentUser: User?, onClick: () -> Unit?)

The default avatar for a channel. It renders the Channel avatar that's shown when browsing channels or when you open the messages screen. Based on the state of the Channel and the number of members, it might use Avatar, UserAvatar, or GroupAvatar to show different types of images.

Link copied to clipboard

The default center content of the channel item. Usually the name of the channel and the last message.

Link copied to clipboard

The default leading content of the channel item. Usually the avatar that holds an image of the channel or its members.

Link copied to clipboard
open fun ChannelItemReadStatusIndicator(channel: Channel, message: Message, currentUser: User?, modifier: Modifier)

The default read status indicator in the channel item, weather the last message is sent, pending or read.

Link copied to clipboard

The default trailing content of the channel item. Usually information about the last message such as its read state, timestamp, and the number of unread messages.

Link copied to clipboard
open fun ChannelItemUnreadCountIndicator(unreadCount: Int, modifier: Modifier)

The default unread count indicator in the channel item.

Link copied to clipboard

The default divider between channel items.

Link copied to clipboard

The default empty content of the channel list.

Link copied to clipboard
open fun ChannelListEmptySearchContent(modifier: Modifier, searchQuery: String)

The default empty search content of the channel list, when there are no matching search results.

Link copied to clipboard
open fun ChannelListHeader(    modifier: Modifier,     title: String,     currentUser: User?,     connectionState: ConnectionState,     onAvatarClick: (User?) -> Unit,     onHeaderActionClick: () -> Unit)

The default header shown above the channel list. Usually contains the current user's avatar, a title or the connected status, and an action button.

Link copied to clipboard

The default center content of the channel list header. Usually shows the title if connectionState is ConnectionState.Connected, a Disconnected text if connectionState is offline, or NetworkLoadingIndicator otherwise.

Link copied to clipboard
open fun RowScope.ChannelListHeaderLeadingContent(currentUser: User?, onAvatarClick: (User?) -> Unit)

The default leading content of the channel list header. Usually the avatar of the current user if it's available.

Link copied to clipboard
open fun RowScope.ChannelListHeaderTrailingContent(onHeaderActionClick: () -> Unit)

The default trailing content of the channel list header. Usually an action button.

Link copied to clipboard

The default helper content of the channel list. It's empty by default and can be used to implement a scroll to top feature.

Link copied to clipboard
open fun LazyItemScope.ChannelListItemContent(    channelItem: ItemState.ChannelItemState,     currentUser: User?,     onChannelClick: (Channel) -> Unit,     onChannelLongClick: (Channel) -> Unit)

The default channel list item content.

Link copied to clipboard

The default loading indicator of the channel list, when the initial data is loading.

Link copied to clipboard

The default loading more item, when the next page of the channel list is loading.

Link copied to clipboard
open fun ChannelListSearchInput(modifier: Modifier, query: String, onSearchStarted: () -> Unit, onValueChange: (String) -> Unit)

The default search input of the channel list.

Link copied to clipboard
open fun ChannelMenu(    modifier: Modifier,     selectedChannel: Channel,     isMuted: Boolean,     currentUser: User?,     onChannelOptionClick: (ChannelAction) -> Unit,     onDismiss: () -> Unit)

Factory method for creating the full content of the SelectedChannelMenu.

Link copied to clipboard
open fun ChannelMenuCenterContent(modifier: Modifier, onChannelOptionClick: (ChannelAction) -> Unit, channelOptions: List<ChannelOptionState>)

Factory method for creating the center content of the SelectedChannelMenu.

Link copied to clipboard
open fun ChannelMenuHeaderContent(modifier: Modifier, selectedChannel: Channel, currentUser: User?)

Factory method for creating the header content of the SelectedChannelMenu.

Link copied to clipboard
open fun ChannelMenuOptions(modifier: Modifier, onChannelOptionClick: (ChannelAction) -> Unit, channelOptions: List<ChannelOptionState>)

Factory method for creating the options content of the SelectedChannelMenu.

Link copied to clipboard
open fun ChannelOptionsItem(modifier: Modifier, option: ChannelOptionState, onClick: () -> Unit)

Factory method for creating the footer content of the SelectedChannelMenu.

Link copied to clipboard

Factory method for creating the leading icon of the Channel options menu item.

Link copied to clipboard
open fun ExtendedReactionMenuOptionItem(    modifier: Modifier,     option: ReactionOptionItemState,     onReactionOptionSelected: (ReactionOptionItemState) -> Unit)

Factory method for creating the header content of the SelectedReactionsMenu.

Link copied to clipboard
open fun ExtendedReactionsMenuOptions(    modifier: Modifier,     message: Message,     reactionTypes: Map<String, ReactionIcon>,     onMessageAction: (MessageAction) -> Unit)

Factory method for creating the center content of the reactions menu.

Link copied to clipboard
open fun GroupAvatar(modifier: Modifier, users: List<User>, shape: Shape, textStyle: TextStyle, onClick: () -> Unit?)

The default group avatar, which renders a matrix of user images or initials.

Link copied to clipboard

The default empty placeholder that is displayed when the mention list is empty.

Link copied to clipboard
open fun LazyItemScope.MentionListItem(mention: MessageResult, modifier: Modifier, currentUser: User?, onClick: (message: Message) -> Unit?)

The default content of a mention list item.

Link copied to clipboard

The default loading indicator that is displayed during the initial loading of the mention list.

Link copied to clipboard

The default loading indicator that is displayed on the bottom of the list when there are more mentions loading.

Link copied to clipboard
open fun BoxScope.MentionListPullToRefreshIndicator(modifier: Modifier, pullToRefreshState: PullToRefreshState, isRefreshing: Boolean)

The default pull-to-refresh indicator for the mention list.

Link copied to clipboard
open fun MenuOptionItem(    modifier: Modifier,     onClick: () -> Unit,     leadingIcon: @Composable RowScope.() -> Unit,     title: String,     titleColor: Color,     style: TextStyle,     itemHeight: Dp,     verticalAlignment: Alignment.Vertical,     horizontalArrangement: Arrangement.Horizontal)

Factory method for creating a generic menu option item.

Link copied to clipboard
open fun MessageBubble(    modifier: Modifier,     message: Message,     color: Color,     shape: Shape,     border: BorderStroke?,     contentPadding: PaddingValues,     content: @Composable () -> Unit)

The default appearance of the message bubble.

Link copied to clipboard
open fun MessageComposer(    messageComposerState: MessageComposerState,     onSendMessage: (String, List<Attachment>) -> Unit,     modifier: Modifier,     onAttachmentsClick: () -> Unit,     onCommandsClick: () -> Unit,     onValueChange: (String) -> Unit,     onAttachmentRemoved: (Attachment) -> Unit,     onCancelAction: () -> Unit,     onLinkPreviewClick: (LinkPreview) -> Unit?,     onMentionSelected: (User) -> Unit,     onCommandSelected: (Command) -> Unit,     onAlsoSendToChannelSelected: (Boolean) -> Unit,     recordingActions: AudioRecordingActions,     headerContent: @Composable ColumnScope.(MessageComposerState) -> Unit,     footerContent: @Composable ColumnScope.(MessageComposerState) -> Unit,     mentionPopupContent: @Composable (List<User>) -> Unit,     commandPopupContent: @Composable (List<Command>) -> Unit,     integrations: @Composable RowScope.(MessageComposerState) -> Unit,     label: @Composable (MessageComposerState) -> Unit,     input: @Composable RowScope.(MessageComposerState) -> Unit,     audioRecordingContent: @Composable RowScope.(MessageComposerState) -> Unit,     trailingContent: @Composable (MessageComposerState) -> Unit)

The default message composer that contains the message input, attachments, commands, recording actions, integrations, and the send button.

Link copied to clipboard

The default attachments button of the message composer.

Link copied to clipboard

The default "Audio record (voice message)" button of the message composer.

Link copied to clipboard

Default composable used for displaying audio recording information while audio recording is in progress.

Link copied to clipboard
open fun RowScope.MessageComposerCommandsButton(hasCommandSuggestions: Boolean, enabled: Boolean, onClick: () -> Unit)

The default commands button of the message composer.

Link copied to clipboard
open fun MessageComposerCommandsPopupContent(commandSuggestions: List<Command>, onCommandSelected: (Command) -> Unit)

The default instant commands popup content of the message composer. Shown when the user types '/' in the composer, and there are available commands that can be used, or when the user click the "Commands" button.

Link copied to clipboard
open fun MessageComposerCommandSuggestionItem(command: Command, onCommandSelected: (Command) -> Unit)

The default command suggestion item of the message composer.

The default center content of the command suggestion item of the message composer.

The default leading content of the command suggestion item of the message composer.

Link copied to clipboard
open fun MessageComposerCoolDownIndicator(modifier: Modifier, coolDownTime: Int)

The default cooldown indicator of the message composer. Shown when the user is prevented from sending messages due to a cooldown.

Link copied to clipboard
open fun ColumnScope.MessageComposerFooterContent(state: MessageComposerState, onAlsoSendToChannelSelected: (Boolean) -> Unit)

The default footer content of the message composer. When replying to a thread, it provides the checkbox to also send the message to the channel.

Link copied to clipboard
open fun ColumnScope.MessageComposerHeaderContent(    state: MessageComposerState,     onCancel: () -> Unit,     onLinkPreviewClick: (LinkPreview) -> Unit?)

The default header content of the message composer. Shown on top of the composer and contains additional info/context, and is shown during editing/replying to a message, or when there is a link pasted in the composer.

Link copied to clipboard
open fun RowScope.MessageComposerInput(    state: MessageComposerState,     onInputChanged: (String) -> Unit,     onAttachmentRemoved: (Attachment) -> Unit,     label: @Composable (MessageComposerState) -> Unit)

The default input content of the message composer.

Link copied to clipboard
open fun RowScope.MessageComposerIntegrations(state: MessageComposerState, onAttachmentsClick: () -> Unit, onCommandsClick: () -> Unit)

The default integrations of the message composer. Provides the "Attachments" and "Commands" buttons shown before the composer.

Link copied to clipboard

The default label of the message composer.

Link copied to clipboard
open fun MessageComposerLinkPreview(modifier: Modifier, linkPreview: LinkPreview, onClick: (LinkPreview) -> Unit?)

Shows a preview of the link that the user has entered in the message composer. Shows the link image preview, the title of the link and its description.

Link copied to clipboard
open fun MessageComposerMentionsPopupContent(mentionSuggestions: List<User>, onMentionSelected: (User) -> Unit)

The default mentions popup content of the message composer. Shown when the user types '@' in the composer, and there are available users that can be mentioned.

Link copied to clipboard
open fun MessageComposerMentionSuggestionItem(user: User, onMentionSelected: (User) -> Unit)

The default mention suggestion item of the message composer.

The default center content of the mention suggestion item of the message composer.

The default leading content of the mention suggestion item of the message composer.

The default trailing content of the mention suggestion item of the message composer.

Link copied to clipboard
open fun MessageComposerMessageInputOptions(modifier: Modifier, activeAction: MessageAction, onCancel: () -> Unit)

The default options header for the message input component. It is based on the currently active message action - io.getstream.chat.android.ui.common.state.messages.Reply or io.getstream.chat.android.ui.common.state.messages.Edit. It shows a heading based on the action and a cancel button to cancel the action.

Link copied to clipboard

The default appearance of a quoted message in the message composer. Shown when the user quotes (replies to) a message in the composer.

Link copied to clipboard
open fun MessageComposerSendButton(enabled: Boolean, isInputValid: Boolean, onClick: () -> Unit)

The default "Send" button of the message composer.

Link copied to clipboard
open fun MessageComposerTrailingContent(    state: MessageComposerState,     onSendClick: (String, List<Attachment>) -> Unit,     recordingActions: AudioRecordingActions)

The default trailing content of the message composer. Contains the "Send" button, and "Audio record" button (if enabled).

Link copied to clipboard

The default content of a deleted message.

Link copied to clipboard
open fun MessageFailedIcon(modifier: Modifier, message: Message)

Icon shown at the bottom-end of a Message when it failed to send.

Link copied to clipboard

The default footer content. Usually contains either MessageThreadFooter or the default footer, which holds the sender name and the timestamp.

Link copied to clipboard

The default content of the only-visible-to-you footer message.

Link copied to clipboard
open fun MessageFooterStatusIndicator(modifier: Modifier, message: Message, isMessageRead: Boolean, readCount: Int)

The default read status indicator in the message footer, weather the message is sent, pending or read.

Link copied to clipboard

The default uploading content of the message footer. Usually shows how many items have been uploaded and the total number of items.

Link copied to clipboard
open fun MessageGiphyContent(message: Message, currentUser: User?, onGiphyActionClick: (GiphyAction) -> Unit)

The default Giphy message content.

Link copied to clipboard
open fun ColumnScope.MessageItemCenterContent(    messageItem: MessageItemState,     onLongItemClick: (Message) -> Unit,     onPollUpdated: (Message, Poll) -> Unit,     onCastVote: (Message, Poll, Option) -> Unit,     onRemoveVote: (Message, Poll, Vote) -> Unit,     selectPoll: (Message, Poll, PollSelectionType) -> Unit,     onAddAnswer: (message: Message, poll: Poll, answer: String) -> Unit,     onClosePoll: (String) -> Unit,     onAddPollOption: (poll: Poll, option: String) -> Unit,     onGiphyActionClick: (GiphyAction) -> Unit,     onQuotedMessageClick: (Message) -> Unit,     onLinkClick: (Message, String) -> Unit?,     onUserMentionClick: (User) -> Unit,     onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit)

The default center content of the message item. Usually a message bubble with attachments or emoji stickers if the message contains only emoji.

Link copied to clipboard

The default footer content of the message item. Usually showing some of the following UI elements: upload status, thread participants, message timestamp.

Link copied to clipboard
open fun ColumnScope.MessageItemHeaderContent(    messageItem: MessageItemState,     reactionSorting: ReactionSorting,     onReactionsClick: (Message) -> Unit)

The default header content of the message item. Usually shown if the message is pinned and a list of reactions for the message.

Link copied to clipboard
open fun RowScope.MessageItemLeadingContent(messageItem: MessageItemState, onUserAvatarClick: () -> Unit?)

The default leading content of the message item. Usually the avatar of the user if the message doesn't belong to the current user.

Link copied to clipboard

The default trailing content of the message item. Usually an extra spacing at the end of the message item if the author is the current user.

Link copied to clipboard

The default date separator item content of the message list.

Link copied to clipboard

The default empty content of the message list, when the message list is empty.

The default empty thread placeholder item content of the message list.

Link copied to clipboard
open fun MessageListHeader(    modifier: Modifier,     channel: Channel,     currentUser: User?,     connectionState: ConnectionState,     typingUsers: List<User>,     messageMode: MessageMode,     onBackPressed: () -> Unit,     onHeaderTitleClick: (Channel) -> Unit,     onChannelAvatarClick: () -> Unit?)

The default header of the message list. Usually a back button as a leading content, the channel title in the top center, the channel information or the connection status in the bottom center, and the channel avatar as the trailing content.

Link copied to clipboard
open fun RowScope.MessageListHeaderCenterContent(    modifier: Modifier,     channel: Channel,     currentUser: User?,     typingUsers: List<User>,     messageMode: MessageMode,     onHeaderTitleClick: (Channel) -> Unit,     connectionState: ConnectionState)

The default center content of the message list header. Usually shows the channel title in the top and the channel information or the connection status in the bottom.

Link copied to clipboard

The default leading content of the message list header, which is the back button.

Link copied to clipboard
open fun RowScope.MessageListHeaderTrailingContent(channel: Channel, currentUser: User?, onClick: () -> Unit?)

The default trailing content of the message list header, which is the channel avatar.

Link copied to clipboard
open fun BoxScope.MessageListHelperContent(    messageListState: MessageListState,     messagesLazyListState: MessagesLazyListState,     onScrollToBottomClick: (() -> Unit) -> Unit)

The default helper content of the message list. It handles the scroll-to-bottom and scroll-to-focused message features.

Link copied to clipboard
open fun LazyItemScope.MessageListItemContainer(    messageListItem: MessageListItemState,     reactionSorting: ReactionSorting,     onPollUpdated: (Message, Poll) -> Unit,     onCastVote: (Message, Poll, Option) -> Unit,     onRemoveVote: (Message, Poll, Vote) -> Unit,     selectPoll: (Message, Poll, PollSelectionType) -> Unit,     onClosePoll: (String) -> Unit,     onAddPollOption: (Poll, String) -> Unit,     onLongItemClick: (Message) -> Unit,     onThreadClick: (Message) -> Unit,     onReactionsClick: (Message) -> Unit,     onGiphyActionClick: (GiphyAction) -> Unit,     onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit,     onQuotedMessageClick: (Message) -> Unit,     onUserAvatarClick: (User) -> Unit?,     onMessageLinkClick: (Message, String) -> Unit?,     onUserMentionClick: (User) -> Unit,     onAddAnswer: (Message, Poll, String) -> Unit,     onReply: (Message) -> Unit)

The default message list item container, which renders each MessageListItemState's subtype.

Link copied to clipboard
open fun LazyItemScope.MessageListItemContent(    messageItem: MessageItemState,     reactionSorting: ReactionSorting,     onPollUpdated: (Message, Poll) -> Unit,     onCastVote: (Message, Poll, Option) -> Unit,     onRemoveVote: (Message, Poll, Vote) -> Unit,     selectPoll: (Message, Poll, PollSelectionType) -> Unit,     onClosePoll: (String) -> Unit,     onAddPollOption: (Poll, String) -> Unit,     onLongItemClick: (Message) -> Unit,     onThreadClick: (Message) -> Unit,     onReactionsClick: (Message) -> Unit,     onGiphyActionClick: (GiphyAction) -> Unit,     onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit,     onQuotedMessageClick: (Message) -> Unit,     onUserAvatarClick: (User) -> Unit?,     onMessageLinkClick: (Message, String) -> Unit?,     onUserMentionClick: (User) -> Unit,     onAddAnswer: (Message, Poll, String) -> Unit,     onReply: (Message) -> Unit)

The default item content of a regular message.

Link copied to clipboard

The default message list item modifier for styling.

Link copied to clipboard

The default loading indicator of the message list, when the initial message list is loading.

Link copied to clipboard

The default loading more item of the message list, when the next page of messages is loading.

Link copied to clipboard

The default moderated message content of the message list.

Link copied to clipboard

The default start of the channel item content of the message list.

Link copied to clipboard

The default system message content of the message list.

The default thread date separator item content of the message list.

Link copied to clipboard

The default typing indicator content of the message list.

Link copied to clipboard

The default unread separator item content of the message list.

Link copied to clipboard
open fun MessageMenu(    modifier: Modifier,     message: Message,     messageOptions: List<MessageOptionItemState>,     ownCapabilities: Set<String>,     onMessageAction: (MessageAction) -> Unit,     onShowMore: () -> Unit,     onDismiss: () -> Unit)

Factory method for creating the full content of the SelectedMessageMenu. This is the menu that appears when a message is long-pressed.

Link copied to clipboard
open fun MessageMenuCenterContent(    modifier: Modifier,     message: Message,     messageOptions: List<MessageOptionItemState>,     onMessageAction: (MessageAction) -> Unit,     ownCapabilities: Set<String>)

Factory method for creating the center content of the SelectedMessageMenu.

Link copied to clipboard
open fun MessageMenuHeaderContent(    modifier: Modifier,     message: Message,     messageOptions: List<MessageOptionItemState>,     onMessageAction: (MessageAction) -> Unit,     ownCapabilities: Set<String>,     onShowMore: () -> Unit,     reactionTypes: Map<String, ReactionIcon>,     showMoreReactionsIcon: Int)

Factory method for creating the header content of the SelectedMessageMenu.

Link copied to clipboard
open fun MessageMenuOptions(    modifier: Modifier,     message: Message,     options: List<MessageOptionItemState>,     onMessageOptionSelected: (MessageOptionItemState) -> Unit)

Shows the default message options.

Link copied to clipboard
open fun MessageMenuOptionsItem(    modifier: Modifier,     option: MessageOptionItemState,     onMessageOptionSelected: (MessageOptionItemState) -> Unit)

Factory method for creating the options content of the SelectedMessageMenu.

Link copied to clipboard

Factory method for creating the leading icon of the Message options menu item. This is the icon that appears on the left side of the message option.

Link copied to clipboard
open fun MessageQuotedContent(    modifier: Modifier,     message: Message,     currentUser: User?,     replyMessage: Message,     onLongItemClick: (Message) -> Unit,     onQuotedMessageClick: (Message) -> Unit)

The default quoted message content. Usually shows only the sender avatar, text and a single attachment preview.

Link copied to clipboard
open fun MessageReactionPicker(modifier: Modifier, message: Message, onMessageAction: (MessageAction) -> Unit, onDismiss: () -> Unit)

Factory method for creating the reactions menu more option.

Link copied to clipboard
open fun MessageReactionPickerCenterContent(    modifier: Modifier,     message: Message,     onMessageAction: (MessageAction) -> Unit,     reactionTypes: Map<String, ReactionIcon>,     onDismiss: () -> Unit)

Factory method for creating the center content of the reaction picker.

Link copied to clipboard
open fun MessageReactionPickerHeaderContent(    modifier: Modifier,     message: Message,     onMessageAction: (MessageAction) -> Unit,     onDismiss: () -> Unit)

Factory method for creating the header content of the reaction picker.

Link copied to clipboard
open fun MessageRegularContent(    message: Message,     currentUser: User?,     onLongItemClick: (Message) -> Unit,     onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit,     onQuotedMessageClick: (Message) -> Unit,     onUserMentionClick: (User) -> Unit,     onLinkClick: (Message, String) -> Unit?)

The default content of a regular message that can contain attachments and text.

Link copied to clipboard
open fun MessageTextContent(    message: Message,     currentUser: User?,     onLongItemClick: (Message) -> Unit,     onLinkClick: (Message, String) -> Unit?,     onUserMentionClick: (User) -> Unit)

The default message text content. Usually with extra styling and padding for the chat bubble.

Link copied to clipboard

The default empty placeholder that is displayed when there are no pinned messages.

Link copied to clipboard
open fun PinnedMessageListItem(message: Message, currentUser: User?, onClick: (Message) -> Unit)

The default content of the pinned message list item.

Link copied to clipboard

The default loading content of the pinned message list. Shows the message sender name and the message content.

Link copied to clipboard

The default divider appended after each pinned message.

Link copied to clipboard

The default loading content of the pinned message list. Shows an avatar of the user who sent the pinned message.

Link copied to clipboard

The default loading content of the pinned message list. Shows the message timestamp.

Link copied to clipboard

The default loading content that is displayed during the initial loading of the pinned messages.

Link copied to clipboard

The default content shown on the bottom of the list during the loading of more pinned messages.

Link copied to clipboard
open fun ReactionMenuOptionItem(    modifier: Modifier,     option: ReactionOptionItemState,     onReactionOptionSelected: (ReactionOptionItemState) -> Unit)

Factory method for creating the header content of the SelectedReactionsMenu.

Link copied to clipboard
open fun ReactionMenuOptions(    modifier: Modifier,     message: Message,     reactionTypes: Map<String, ReactionIcon>,     onMessageAction: (MessageAction) -> Unit,     onShowMoreReactionsSelected: () -> Unit,     showMoreReactionsIcon: Int)

Factory method for the reaction options in the menu.

Link copied to clipboard
open fun ReactionMenuShowMore(modifier: Modifier, onShowMoreReactionsSelected: () -> Unit, showMoreReactionsIcon: Int)

Factory method for creating the reactions menu more option.

Link copied to clipboard
open fun ReactionsMenu(    modifier: Modifier,     currentUser: User?,     message: Message,     onMessageAction: (MessageAction) -> Unit,     onShowMoreReactionsSelected: () -> Unit,     ownCapabilities: Set<String>,     onDismiss: () -> Unit)

Factory method for creating the full content of the SelectedReactionsMenu.

Link copied to clipboard

Factory method for creating the center content of the reactions menu.

Link copied to clipboard
open fun ReactionsMenuHeaderContent(    modifier: Modifier,     message: Message,     reactionTypes: Map<String, ReactionIcon>,     onMessageAction: (MessageAction) -> Unit,     onShowMoreReactionsSelected: () -> Unit,     showMoreReactionsIcon: Int)

Factory method for creating the header content of the SelectedReactionsMenu.

Link copied to clipboard
open fun ScrollToBottomButton(modifier: Modifier, visible: Boolean, count: Int, onClick: () -> Unit)

The default scroll-to-bottom button shown when the user scrolls away from the bottom of the list.

Link copied to clipboard
open fun SearchInputClearButton(onClick: () -> Unit)

The default clear button of the search input.

Link copied to clipboard

The default label of the search input.

Link copied to clipboard

The default leading icon of the search input.

Link copied to clipboard

The default center content of a search result item. Shows information about the message and by who and where it was sent.

Link copied to clipboard
open fun LazyItemScope.SearchResultItemContent(    searchResultItem: ItemState.SearchResultItemState,     currentUser: User?,     onSearchResultClick: (Message) -> Unit)

The default search result item of the channel list.

Link copied to clipboard

The default leading content of a search result item. Shows the avatar of the user who sent the message.

Link copied to clipboard

The default trailing content of a search result item. Shows the message timestamp.

Link copied to clipboard

The default content shown when swiping to reply to a message.

Link copied to clipboard

The default empty placeholder that is displayed when there are no threads.

Link copied to clipboard
open fun ThreadListItem(thread: Thread, currentUser: User?, onThreadClick: (Thread) -> Unit)

The default thread list item. Shows information about the Thread title, parent message, last reply and number of unread replies.

Link copied to clipboard
open fun ThreadListItemLatestReplyContent(thread: Thread, currentUser: User?)

Default representation of the latest reply content in a thread. Shows a preview of the last message in the thread.

Link copied to clipboard

Default representation of the parent message preview in a thread.

Link copied to clipboard
open fun ThreadListItemTitle(thread: Thread, channel: Channel, currentUser: User?)

Default representation of the thread title.

Link copied to clipboard

Default representation of the unread count badge. Not shown if unreadCount == 0.

Link copied to clipboard

The default loading content that is displayed during the initial loading of the threads.

Link copied to clipboard

The default content shown on the bottom of the list during the loading of more threads.

Link copied to clipboard
open fun ThreadListUnreadThreadsBanner(unreadThreads: Int, onClick: () -> Unit)

The default "Unread threads" banner. Shows the number of unread threads in the "ThreadList".

Link copied to clipboard
open fun UserAvatar(    modifier: Modifier,     user: User,     textStyle: TextStyle,     showOnlineIndicator: Boolean,     onlineIndicator: @Composable BoxScope.() -> Unit,     onClick: () -> Unit?)

The default user avatar content. It renders the User avatar that's shown on the messages screen or in headers of direct messages. If showOnlineIndicator is true and the user is online, it uses Avatar to shows an image or their initials.