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)
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)
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)
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)
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)
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 onChannelAvatarClick: (Channel) -> Unit? = null)
Link copied to clipboard
data class ChannelHeaderTrailingContentParams(val channel: Channel, val currentUser: User?, val onClick: (Channel) -> Unit? = 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 ChannelListConfig(val muteIndicatorPosition: MuteIndicatorPosition = MuteIndicatorPosition.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)
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)
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 onAlsoSendToChannelChange: (Boolean) -> Unit = {}, val recordingActions: AudioRecordingActions = AudioRecordingActions.None, val onActiveCommandDismiss: () -> Unit = {}, val onLinkPreviewClick: (LinkPreview) -> Unit? = null, val onCancelLinkPreviewClick: () -> Unit? = null)
Link copied to clipboard
data class MessageComposerLeadingContentParams(val state: MessageComposerState, val isAttachmentPickerVisible: Boolean, val onAttachmentsClick: () -> Unit, 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 onAttachmentsClick: () -> Unit = {}, 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)
Link copied to clipboard
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)
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
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
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.