Package-level declarations

Types

Link copied to clipboard
data class AttachmentCameraPickerParams(val pickerMode: CameraPickerMode, val onAttachmentsSubmitted: (List<AttachmentMetaData>) -> Unit)
Link copied to clipboard
data class AttachmentCommandPickerParams(val pickerMode: CommandPickerMode, val commands: List<Command>, val onCommandSelected: (Command) -> Unit, val messageAction: MessageAction? = null)
Link copied to clipboard
data class AttachmentFilePickerParams(val pickerMode: FilePickerMode, val attachments: List<AttachmentPickerItemState>, val onLoadAttachments: () -> Unit, val onAttachmentItemSelected: (AttachmentPickerItemState) -> Unit, val onUrisSelected: (List<Uri>) -> Unit)
Link copied to clipboard
data class AttachmentMediaPickerParams(val pickerMode: GalleryPickerMode, val attachments: List<AttachmentPickerItemState>, val onLoadAttachments: () -> Unit, val onAttachmentItemSelected: (AttachmentPickerItemState) -> Unit)
Link copied to clipboard
data class AttachmentPickerConfig(val useSystemPicker: Boolean = true, val modes: List<AttachmentPickerMode> = DefaultAttachmentPickerModes)

Configuration for the attachment picker component.

Link copied to clipboard
data class AttachmentPickerContentParams(val pickerMode: AttachmentPickerMode?, val commands: List<Command>, val attachments: List<AttachmentPickerItemState>, val onLoadAttachments: () -> Unit, val onUrisSelected: (List<Uri>) -> Unit, val actions: AttachmentPickerActions, val onAttachmentsSubmitted: (List<AttachmentMetaData>) -> Unit, val messageAction: MessageAction? = null)
Link copied to clipboard
data class AttachmentPickerMenuParams(val attachmentsPickerViewModel: AttachmentsPickerViewModel, val composerViewModel: MessageComposerViewModel)
Link copied to clipboard
data class AttachmentPickerParams(val attachmentsPickerViewModel: AttachmentsPickerViewModel, val messageMode: MessageMode, val actions: AttachmentPickerActions, val modifier: Modifier = Modifier, val messageAction: MessageAction? = null)
Link copied to clipboard
data class AttachmentPollPickerParams(val pickerMode: PollPickerMode, val onCreatePollClick: () -> Unit, val onCreatePoll: (CreatePollParams) -> Unit, val onCreatePollDismissed: () -> Unit)
Link copied to clipboard
data class AttachmentSystemPickerParams(val channel: Channel, val messageMode: MessageMode, val attachments: List<AttachmentPickerItemState>, val actions: AttachmentPickerActions, val onUrisSelected: (List<Uri>) -> Unit, val onAttachmentsSubmitted: (List<AttachmentMetaData>) -> Unit, val messageAction: MessageAction? = null)
Link copied to clipboard
data class AttachmentTypePickerParams(val channel: Channel, val messageMode: MessageMode, val selectedMode: AttachmentPickerMode?, val onModeSelected: (AttachmentPickerMode) -> Unit, val trailingContent: @Composable RowScope.() -> Unit = {})
Link copied to clipboard
data class AttachmentTypeSystemPickerParams(val channel: Channel, val messageMode: MessageMode, val onModeSelected: (AttachmentPickerMode) -> Unit, val trailingContent: @Composable RowScope.() -> Unit = {})
Link copied to clipboard
Link copied to clipboard
data class AvatarParams(val imageUrl: String?, val showBorder: Boolean, val fallback: @Composable () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelAvatarParams(val channel: Channel, val modifier: Modifier = Modifier, val currentUser: User? = null, val showIndicator: Boolean = false, val showBorder: Boolean = false)
Link copied to clipboard
data class ChannelFilesAttachmentsItemParams(val index: Int, val item: ChannelAttachmentsViewState.Content.Item, val currentUser: User?, val onClick: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelFilesAttachmentsTopBarParams(val listState: LazyListState, val onNavigationIconClick: () -> Unit)
Link copied to clipboard
data class ChannelHeaderCenterContentParams(val channel: Channel, val connectionState: ConnectionState, val modifier: Modifier = Modifier, val currentUser: User? = null, val typingUsers: List<User> = emptyList(), val messageMode: MessageMode = MessageMode.Normal, val onClick: (Channel) -> Unit? = null, val onClickLabel: String? = null)
Link copied to clipboard
Link copied to clipboard
data class ChannelHeaderParams(val channel: Channel, val connectionState: ConnectionState, val modifier: Modifier = Modifier, val currentUser: User? = null, val typingUsers: List<User> = emptyList(), val messageMode: MessageMode = MessageMode.Normal, val onBackPressed: () -> Unit = {}, val onHeaderTitleClick: (Channel) -> Unit? = null, val onHeaderTitleClickLabel: String? = null, val onChannelAvatarClick: (Channel) -> Unit? = null, val onChannelAvatarClickLabel: String? = null)
Link copied to clipboard
data class ChannelHeaderTrailingContentParams(val channel: Channel, val currentUser: User?, val onClick: (Channel) -> Unit? = null, val onClickLabel: String? = null)
Link copied to clipboard
Link copied to clipboard
data class ChannelInfoScreenModalParams(val modal: ChannelInfoViewEvent.Modal?, val isGroupChannel: Boolean, val onViewAction: (ChannelInfoViewAction) -> Unit, val onMemberViewEvent: (ChannelInfoMemberViewEvent) -> Unit, val onDismiss: () -> Unit)
Link copied to clipboard
Link copied to clipboard
data class ChannelItemDraftPreviewParams(val draftMessage: DraftMessage, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class ChannelItemMessagePreviewParams(val message: Message, val currentUser: User?, val isDirectMessaging: Boolean, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelItemReadStatusIndicatorParams(val channel: Channel, val message: Message, val currentUser: User?, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class ChannelItemUnreadCountIndicatorParams(val unreadCount: Int, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelListBannerParams(val modifier: Modifier = Modifier, val onClick: () -> Unit = {})
Link copied to clipboard
data class ChannelListConfig(val muteIndicatorPosition: MuteIndicatorPosition = MuteIndicatorPosition.InlineTitle, val pinIndicatorPosition: PinIndicatorPosition = PinIndicatorPosition.InlineTitle, val swipeActionsEnabled: Boolean = true, val optionsVisibility: ChannelOptionsVisibility = ChannelOptionsVisibility())

Behavioral configuration for the channel list.

Link copied to clipboard
data class ChannelListEmptyContentParams(val modifier: Modifier = Modifier, val onStartChatClick: () -> Unit? = null)
Link copied to clipboard
data class ChannelListEmptySearchContentParams(val searchQuery: String, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelListHeaderLeadingContentParams(val currentUser: User?, val onAvatarClick: (User?) -> Unit)
Link copied to clipboard
data class ChannelListHeaderParams(val connectionState: ConnectionState, val modifier: Modifier = Modifier, val title: String = "", val currentUser: User? = null, val onAvatarClick: (User?) -> Unit = {}, val onHeaderActionClick: () -> Unit = {})
Link copied to clipboard
data class ChannelListItemContentParams(val channelItem: ItemState.ChannelItemState, val currentUser: User?, val onChannelClick: (Channel) -> Unit, val onChannelLongClick: (Channel) -> Unit)
Link copied to clipboard
Link copied to clipboard
data class ChannelListSearchInputParams(val query: String, val onValueChange: (String) -> Unit, val modifier: Modifier = Modifier, val onSearchStarted: () -> Unit = {})
data class ChannelMediaAttachmentsFloatingHeaderParams(val label: String, val visible: Boolean, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelMediaAttachmentsItemParams(val index: Int, val item: ChannelAttachmentsViewState.Content.Item, val onClick: () -> Unit, val modifier: Modifier = Modifier)
data class ChannelMediaAttachmentsPreviewBottomBarParams(val centerContent: @Composable () -> Unit, val leadingContent: @Composable () -> Unit = {}, val trailingContent: @Composable () -> Unit = {}, val topContent: @Composable () -> Unit? = null)
Link copied to clipboard
data class ChannelMediaAttachmentsTopBarParams(val gridState: LazyGridState, val onNavigationIconClick: () -> Unit)
Link copied to clipboard
data class ChannelMenuCenterContentParams(val channelActions: List<ChannelAction>, val onChannelOptionConfirm: (ChannelAction) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelMenuHeaderContentParams(val selectedChannel: Channel, val currentUser: User?, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelMenuOptionsParams(val channelActions: List<ChannelAction>, val onChannelOptionConfirm: (ChannelAction) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ChannelMenuParams(val selectedChannel: Channel, val currentUser: User?, val channelActions: List<ChannelAction>, val onChannelOptionConfirm: (ChannelAction) -> Unit, val onDismiss: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class ChannelOptionsItemParams(val action: ChannelAction, val onClick: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard

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

Link copied to clipboard
object ChatTheme

Contains ease-of-use accessors for different properties used to style and customize the app look and feel.

Link copied to clipboard
data class ChatUiConfig(val translation: TranslationConfig = TranslationConfig(), val messageList: MessageListConfig = MessageListConfig(), val mediaGallery: MediaGalleryConfig = MediaGalleryConfig(), val composer: ComposerConfig = ComposerConfig(), val channelList: ChannelListConfig = ChannelListConfig(), val attachmentPicker: AttachmentPickerConfig = AttachmentPickerConfig(), val polls: PollsConfig = PollsConfig(), val messageActions: MessageActionsConfig = MessageActionsConfig())

Central behavioral configuration for the Chat SDK, accessible through ChatTheme.config.

Link copied to clipboard
data class ComposerConfig(val audioRecordingEnabled: Boolean = true, val audioRecordingSendOnComplete: Boolean = false, val linkPreviewEnabled: Boolean = false, val floatingStyleEnabled: Boolean = false)

Behavioral configuration for the message composer.

Link copied to clipboard
data class CustomAttachmentContentParams(val state: AttachmentState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class DirectChannelInfoTopBarParams(val headerState: ChannelHeaderViewState, val listState: LazyListState, val onNavigationIconClick: () -> Unit)
Link copied to clipboard
data class FileAttachmentContentParams(val state: AttachmentState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class FileAttachmentItemParams(val attachment: Attachment, val isMine: Boolean, val showFileSize: (Attachment) -> Boolean, val modifier: Modifier = Modifier)
Link copied to clipboard
data class GiphyAttachmentContentParams(val state: AttachmentState, val modifier: Modifier = Modifier, val interactive: Boolean = true)
Link copied to clipboard
Link copied to clipboard
data class GroupChannelInfoExpandMembersItemParams(val collapsedCount: Int, val onClick: () -> Unit)
Link copied to clipboard
data class GroupChannelInfoMemberItemParams(val currentUser: User?, val member: Member, val isOwner: Boolean, val onClick: () -> Unit? = null)
Link copied to clipboard
data class GroupChannelInfoMemberSectionParams(val members: ExpandableList<Member>, val currentUser: User?, val owner: User, val totalMemberCount: Int, val showAddButton: Boolean, val onAddMembersClick: () -> Unit, val onViewAction: (ChannelInfoViewAction) -> Unit)
Link copied to clipboard
data class GroupChannelInfoTopBarParams(val headerState: ChannelHeaderViewState, val infoState: ChannelInfoViewState, val listState: LazyListState, val onNavigationIconClick: () -> Unit, val onActionClick: () -> Unit = {})
Link copied to clipboard
data class LinkAttachmentContentParams(val state: AttachmentState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MediaAttachmentContentParams(val state: AttachmentState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MediaGalleryConfig(val isCloseVisible: Boolean = true, val isOptionsVisible: Boolean = true, val isShareVisible: Boolean = true, val isGalleryVisible: Boolean = true, val optionsConfig: MediaGalleryOptionsConfig = MediaGalleryOptionsConfig()) : Parcelable

Configuration for the media gallery preview screen. By default, all UI elements are visible.

Link copied to clipboard
data class MediaGalleryOptionsConfig(val isShowInChatVisible: Boolean = true, val isReplyVisible: Boolean = true, val isSaveMediaVisible: Boolean = true, val isDeleteVisible: Boolean = true) : Parcelable

Configuration for the individual options in the media gallery options menu. By default, all options are visible.

Link copied to clipboard
data class MentionListEmptyContentParams(val modifier: Modifier = Modifier)
Link copied to clipboard
data class MentionListItemParams(val mention: MessageResult, val currentUser: User?, val modifier: Modifier = Modifier, val onClick: (message: Message) -> Unit? = null)
Link copied to clipboard
Link copied to clipboard
data class MentionListLoadingItemParams(val modifier: Modifier = Modifier)
Link copied to clipboard
data class MentionListPullToRefreshIndicatorParams(val pullToRefreshState: PullToRefreshState, val isRefreshing: Boolean, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MenuOptionItemParams(val onClick: () -> Unit, val title: String, val titleColor: Color, val style: TextStyle, val leadingIcon: @Composable RowScope.() -> Unit, val modifier: Modifier = Modifier, val itemHeight: Dp = 56.dp, val verticalAlignment: Alignment.Vertical = Alignment.CenterVertically, val horizontalArrangement: Arrangement.Horizontal = Arrangement.Start)
Link copied to clipboard
data class MessageActionsConfig(val optionsVisibility: MessageActionsOptionsVisibility = MessageActionsOptionsVisibility(), val reactionsEnabled: Boolean = true)

Configuration for the message actions overlay.

Link copied to clipboard
data class MessageActionsHeaderParams(val message: Message, val messageOptions: List<MessageOptionItemState>, val ownCapabilities: Set<String>, val onMessageAction: (MessageAction) -> Unit, val onShowMore: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class MessageActionsOptionsParams(val message: Message, val options: List<MessageOptionItemState>, val onMessageOptionSelected: (MessageOptionItemState) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageActionsParams(val message: Message, val messageOptions: List<MessageOptionItemState>, val ownCapabilities: Set<String>, val onMessageAction: (MessageAction) -> Unit, val onShowMore: () -> Unit, val modifier: Modifier = Modifier, val onDismiss: () -> Unit = {}, val currentUser: User? = null)
Link copied to clipboard
data class MessageAuthorParams(val messageItem: MessageItemState, val onUserAvatarClick: () -> Unit? = null)
Link copied to clipboard
data class MessageBottomParams(val messageItem: MessageItemState)
Link copied to clipboard
data class MessageBubbleParams(val message: Message, val color: Color, val shape: Shape, val content: @Composable () -> Unit, val modifier: Modifier = Modifier, val border: BorderStroke? = null)
data class MessageComposerAttachmentAudioRecordItemParams(val attachment: Attachment, val playerState: AudioPlayerState, val modifier: Modifier = Modifier, val onPlayToggleClick: (Attachment) -> Unit = {}, val onPlaySpeedClick: (Attachment) -> Unit = {}, val onThumbDragStart: (Attachment) -> Unit = {}, val onThumbDragStop: (Attachment, Float) -> Unit = { _, _ -> }, val onAttachmentRemoved: (Attachment) -> Unit = {})
Link copied to clipboard
data class MessageComposerAttachmentFileItemParams(val attachment: Attachment, val onAttachmentRemoved: (Attachment) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerAttachmentMediaItemParams(val attachment: Attachment, val onAttachmentRemoved: (Attachment) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerAttachmentsParams(val attachments: List<Attachment>, val onAttachmentRemoved: (Attachment) -> Unit, val modifier: Modifier = Modifier)
data class MessageComposerCommandSuggestionItemParams(val command: Command, val onCommandSelected: (Command) -> Unit, val messageAction: MessageAction? = null)
Link copied to clipboard
data class MessageComposerCoolDownIndicatorParams(val coolDownTime: Int, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerEditIndicatorParams(val state: MessageComposerState, val editMessage: Message, val onCancelClick: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerInputBottomContentParams(val state: MessageComposerState, val onAlsoSendToChannelChange: (Boolean) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerInputCenterContentParams(val state: MessageComposerState, val onValueChange: (String) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerInputLeadingContentParams(val state: MessageComposerState, val onActiveCommandDismiss: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerInputParams(val state: MessageComposerState, val modifier: Modifier = Modifier, val onInputChanged: (String) -> Unit = {}, val onAttachmentRemoved: (Attachment) -> Unit = {}, val onCancel: () -> Unit = {}, val onSendClick: (String, List<Attachment>) -> Unit = { _, _ -> }, val sendActionLabel: String? = null, val saveActionLabel: String? = null, val onAlsoSendToChannelChange: (Boolean) -> Unit = {}, val recordingActions: AudioRecordingActions = AudioRecordingActions.None, val onActiveCommandDismiss: () -> Unit = {}, val onLinkPreviewClick: (LinkPreview) -> Unit? = null, val onCancelLinkPreviewClick: () -> Unit? = null)
data class MessageComposerInputTrailingContentParams(val state: MessageComposerState, val recordingActions: AudioRecordingActions, val onSendClick: (String, List<Attachment>) -> Unit, val sendActionLabel: String? = null, val saveActionLabel: String? = null)
Link copied to clipboard
data class MessageComposerLeadingContentParams(val state: MessageComposerState, val isAttachmentPickerVisible: Boolean, val onAttachmentsClick: () -> Unit, val onAttachmentsClickLabel: String? = null, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerLinkPreviewParams(val linkPreview: LinkPreview, val modifier: Modifier = Modifier, val onContentClick: (LinkPreview) -> Unit? = null, val onCancelClick: () -> Unit? = null)
Link copied to clipboard
data class MessageComposerParams(val messageComposerState: MessageComposerState, val input: @Composable RowScope.(MessageComposerState) -> Unit, val modifier: Modifier = Modifier, val isAttachmentPickerVisible: Boolean = false, val onSendMessage: (String, List<Attachment>) -> Unit = { _, _ -> }, val sendActionLabel: String? = null, val saveActionLabel: String? = null, val onAttachmentsClick: () -> Unit = {}, val attachmentsActionLabel: String? = null, val onValueChange: (String) -> Unit = {}, val onAttachmentRemoved: (Attachment) -> Unit = {}, val onCancelAction: () -> Unit = {}, val onUserSelected: (User) -> Unit = {}, val onCommandSelected: (Command) -> Unit = {}, val onAlsoSendToChannelSelected: (Boolean) -> Unit = {}, val onActiveCommandDismiss: () -> Unit = {}, val recordingActions: AudioRecordingActions = AudioRecordingActions.None, val onLinkPreviewClick: (LinkPreview) -> Unit? = null, val onCancelLinkPreviewClick: () -> Unit? = null)
Link copied to clipboard
data class MessageComposerQuotedMessageParams(val state: MessageComposerState, val quotedMessage: Message, val onCancelClick: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageComposerSaveButtonParams(val enabled: Boolean, val onClick: () -> Unit, val onClickLabel: String? = null)
Link copied to clipboard
data class MessageComposerSendButtonParams(val onClick: () -> Unit, val onClickLabel: String? = null)
Link copied to clipboard
data class MessageComposerUserSuggestionItemParams(val user: User, val currentUser: User?, val onUserSelected: (User) -> Unit)
Link copied to clipboard
data class MessageContainerParams(val messageItem: MessageItemState, val modifier: Modifier = Modifier, val onPollUpdated: (Message, Poll) -> Unit = { _, _ -> }, val onCastVote: (Message, Poll, Option) -> Unit = { _, _, _ -> }, val onRemoveVote: (Message, Poll, Vote) -> Unit = { _, _, _ -> }, val selectPoll: (Message, Poll, PollSelectionType) -> Unit = { _, _, _ -> }, val onClosePoll: (String) -> Unit = {}, val onAddPollOption: (Poll, String) -> Unit = { _, _ -> }, val onLongItemClick: (Message) -> Unit = {}, val onThreadClick: (Message) -> Unit = {}, val onReactionsClick: (Message) -> Unit = {}, val onGiphyActionClick: (GiphyAction) -> Unit = {}, val onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit = {}, val onQuotedMessageClick: (Message) -> Unit = {}, val onUserMentionClick: (User) -> Unit = {}, val onAddAnswer: (Message, Poll, String) -> Unit = { _, _, _ -> }, val onReply: (Message) -> Unit = {}, val onUserAvatarClick: (User) -> Unit? = null, val onMessageLinkClick: (Message, String) -> Unit? = null)
Link copied to clipboard
data class MessageContentParams(val messageItem: MessageItemState, val onLongItemClick: (Message) -> Unit = {}, val onPollUpdated: (Message, Poll) -> Unit = { _, _ -> }, val onCastVote: (Message, Poll, Option) -> Unit = { _, _, _ -> }, val onRemoveVote: (Message, Poll, Vote) -> Unit = { _, _, _ -> }, val selectPoll: (Message, Poll, PollSelectionType) -> Unit = { _, _, _ -> }, val onAddAnswer: (Message, Poll, String) -> Unit = { _, _, _ -> }, val onClosePoll: (String) -> Unit = {}, val onAddPollOption: (Poll, String) -> Unit = { _, _ -> }, val onGiphyActionClick: (GiphyAction) -> Unit = {}, val onQuotedMessageClick: (Message) -> Unit = {}, val onUserMentionClick: (User) -> Unit = {}, val onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit = {}, val onLinkClick: (Message, String) -> Unit? = null)
Link copied to clipboard
data class MessageDeletedContentParams(val message: Message, val currentUser: User?, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageFailedIconParams(val message: Message, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class MessageFooterStatusIndicatorParams(val messageItem: MessageItemState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageFooterUploadingContentParams(val messageItem: MessageItemState, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageGiphyContentParams(val message: Message, val currentUser: User?, val onGiphyActionClick: (GiphyAction) -> Unit)
Link copied to clipboard
data class MessageItemParams(val messageListItem: MessageListItemState, val onPollUpdated: (Message, Poll) -> Unit = { _, _ -> }, val onCastVote: (Message, Poll, Option) -> Unit = { _, _, _ -> }, val onRemoveVote: (Message, Poll, Vote) -> Unit = { _, _, _ -> }, val selectPoll: (Message, Poll, PollSelectionType) -> Unit = { _, _, _ -> }, val onClosePoll: (String) -> Unit = {}, val onAddPollOption: (Poll, String) -> Unit = { _, _ -> }, val onLongItemClick: (Message) -> Unit = {}, val onThreadClick: (Message) -> Unit = {}, val onReactionsClick: (Message) -> Unit = {}, val onGiphyActionClick: (GiphyAction) -> Unit = {}, val onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit = {}, val onQuotedMessageClick: (Message) -> Unit = {}, val onUserMentionClick: (User) -> Unit = {}, val onAddAnswer: (Message, Poll, String) -> Unit = { _, _, _ -> }, val onReply: (Message) -> Unit = {}, val onUserAvatarClick: (User) -> Unit? = null, val onMessageLinkClick: (Message, String) -> Unit? = null)
Link copied to clipboard
data class MessageListConfig(val videoThumbnailsEnabled: Boolean = true, val reactionSorting: ReactionSorting = ReactionSortingByFirstReactionAt)

Behavioral configuration for the message list.

Link copied to clipboard
data class MessageListEmptyContentParams(val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageListHelperContentParams(val messageListState: MessageListState, val messagesLazyListState: MessagesLazyListState, val contentPadding: PaddingValues, val onScrollToBottomClick: (() -> Unit) -> Unit, val onScrollToFirstUnreadClick: () -> Unit = {}, val onDismissUnreadLabel: () -> Unit = {})
Link copied to clipboard
Link copied to clipboard
data class MessageQuotedContentParams(val message: Message, val currentUser: User?, val replyMessage: Message, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageReactionPickerParams(val message: Message, val onMessageAction: (MessageAction) -> Unit, val onDismiss: () -> Unit = {}, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageReactionsParams(val message: Message, val reactions: List<MessageReactionItemState>, val modifier: Modifier = Modifier, val onClick: (message: Message) -> Unit? = null)

Parameters for the ChatComponentFactory.MessageReactions component.

Link copied to clipboard
data class MessageReactionsPickerContentParams(val message: Message, val onMessageAction: (MessageAction) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class MessageRegularContentParams(val message: Message, val currentUser: User?, val messageAlignment: MessageAlignment, val onLongItemClick: (Message) -> Unit, val onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit, val onQuotedMessageClick: (Message) -> Unit, val onUserMentionClick: (User) -> Unit, val onLinkClick: (Message, String) -> Unit? = null)
Link copied to clipboard
data class MessageSpacerParams(val messageItem: MessageItemState)
Link copied to clipboard
data class MessageTextContentParams(val message: Message, val currentUser: User?, val onLongItemClick: (Message) -> Unit, val onUserMentionClick: (User) -> Unit, val modifier: Modifier = Modifier, val onLinkClick: (Message, String) -> Unit? = null)
Link copied to clipboard
data class MessageTopParams(val messageItem: MessageItemState, val onThreadClick: (Message) -> Unit)
Link copied to clipboard

Defines where the mute indicator icon is placed in the channel list item.

Link copied to clipboard

Defines where the pin indicator icon is placed in the channel list item.

Link copied to clipboard
data class PinnedMessageListItemParams(val message: Message, val currentUser: User?, val onClick: (Message) -> Unit)
Link copied to clipboard
data class PollFeatureConfig(val configurable: Boolean = true, val defaultValue: Boolean = false)

Configuration for a single poll feature toggle.

Link copied to clipboard
data class PollsConfig(val multipleVotes: PollFeatureConfig = PollFeatureConfig(), val maxVotesPerPerson: PollFeatureConfig = PollFeatureConfig(), val anonymousPoll: PollFeatureConfig = PollFeatureConfig(), val suggestAnOption: PollFeatureConfig = PollFeatureConfig(), val allowComments: PollFeatureConfig = PollFeatureConfig())

Configuration for the poll creation screen.

Link copied to clipboard
data class ReactionIconParams(val type: String, val emoji: String?, val size: ReactionIconSize, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ReactionMenuOptionItemParams(val option: ReactionOptionItemState, val onReactionOptionSelected: (ReactionOptionItemState) -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ReactionsMenuContentParams(val currentUser: User?, val message: Message, val onMessageAction: (MessageAction) -> Unit, val onShowMoreReactionsSelected: () -> Unit, val ownCapabilities: Set<String>, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ReactionsMenuParams(val currentUser: User?, val message: Message, val onMessageAction: (MessageAction) -> Unit, val onShowMoreReactionsSelected: () -> Unit, val ownCapabilities: Set<String>, val onDismiss: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ReactionToggleParams(val type: String, val emoji: String?, val size: ReactionToggleSize, val checked: Boolean, val modifier: Modifier = Modifier, val onCheckedChange: (Boolean) -> Unit? = null)
Link copied to clipboard
data class ScrollToBottomButtonParams(val visible: Boolean, val count: Int, val onClick: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
data class ScrollToFirstUnreadButtonParams(val visible: Boolean, val unreadCount: Int, val onClick: () -> Unit, val onDismiss: () -> Unit, val modifier: Modifier = Modifier)
Link copied to clipboard
Link copied to clipboard
data class SearchResultItemContentParams(val searchResultItem: ItemState.SearchResultItemState, val currentUser: User?, val onSearchResultClick: (Message) -> Unit)
Link copied to clipboard

The Stream Chat Design System namespace.

Link copied to clipboard
data class ThreadListBannerParams(val state: ThreadListBannerState, val onClick: () -> Unit)
Link copied to clipboard
data class ThreadListEmptyContentParams(val modifier: Modifier = Modifier)
Link copied to clipboard
data class ThreadListHeaderParams(val connectionState: ConnectionState, val modifier: Modifier = Modifier, val title: String = "", val currentUser: User? = null, val onAvatarClick: (User?) -> Unit = {})
Link copied to clipboard
data class ThreadListItemParams(val thread: Thread, val currentUser: User?, val onThreadClick: (Thread) -> Unit)
Link copied to clipboard
Link copied to clipboard
data class TranslationConfig(val enabled: Boolean = true, val showOriginalEnabled: Boolean = true)

Behavioral configuration for message translation.

Link copied to clipboard
data class UserAvatarParams(val user: User, val modifier: Modifier = Modifier, val showIndicator: Boolean = false, val showBorder: Boolean = false)

Properties

Link copied to clipboard

The local composition containing the current ChatUiConfig.

Link copied to clipboard

Functions

Link copied to clipboard
fun ChatTheme(isInDarkMode: Boolean = isSystemInDarkTheme(), config: ChatUiConfig = ChatUiConfig(), colors: StreamDesign.Colors = if (isInDarkMode) { StreamDesign.Colors.defaultDark() } else { StreamDesign.Colors.default() }, typography: StreamDesign.Typography = StreamDesign.Typography.default(), componentFactory: ChatComponentFactory = DefaultChatComponentFactory(), attachmentPreviewHandlers: List<AttachmentPreviewHandler> = AttachmentPreviewHandler.defaultAttachmentHandlers(LocalContext.current), reactionResolver: ReactionResolver = ReactionResolver.defaultResolver(), messagePreviewIconFactory: MessagePreviewIconFactory = MessagePreviewIconFactory.defaultFactory(), dateFormatter: DateFormatter = DateFormatter.from(LocalContext.current), timeProvider: TimeProvider = TimeProvider.DEFAULT, durationFormatter: DurationFormatter = DurationFormatter.defaultFormatter(), channelNameFormatter: ChannelNameFormatter = ChannelNameFormatter.defaultFormatter(LocalContext.current), messagePreviewFormatter: MessagePreviewFormatter = MessagePreviewFormatter.defaultFormatter( context = LocalContext.current, typography = typography, autoTranslationEnabled = config.translation.enabled, ), searchResultNameFormatter: SearchResultNameFormatter = SearchResultNameFormatter.defaultFormatter(), imageLoaderFactory: StreamCoilImageLoaderFactory = StreamCoilImageLoaderFactory.defaultFactory(), messageAlignmentProvider: MessageAlignmentProvider = MessageAlignmentProvider.defaultMessageAlignmentProvider(), streamCdnImageResizing: StreamCdnImageResizing = StreamCdnImageResizing.defaultStreamCdnImageResizing(), messageTextFormatter: MessageTextFormatter = MessageTextFormatter.defaultFormatter( autoTranslationEnabled = config.translation.enabled, typography = typography, colors = colors, ), streamMediaRecorder: StreamMediaRecorder = DefaultStreamMediaRecorder(LocalContext.current), content: @Composable () -> Unit)

Our theme that provides all the important properties for styling to the user.

Link copied to clipboard
fun CompoundComponentFactory(vararg keys: Any?, factory: (currentComponentFactory: ChatComponentFactory) -> ChatComponentFactory, content: @Composable () -> Unit)

A composable that allows you to create a compound ChatComponentFactory by providing a factory function that takes the current ChatComponentFactory as an argument.