Package-level declarations

Types

Link copied to clipboard
class CameraCapturerState(val capturedFile: File?, val capture: () -> Unit, val clear: () -> Unit, deniedPermissionState: DeniedPermissionState) : DeniedPermissionState

Represents the state of the camera capturer. This inherits DeniedPermissionState to handle cases when the permission is denied.

Link copied to clipboard

Represents a detail of a single menu item in the dialog.

Link copied to clipboard
class FilePickerState(val pickedFile: File?, val pickFile: () -> Unit, val clearPickedFile: () -> Unit, deniedPermissionState: DeniedPermissionState) : DeniedPermissionState

Represents the state of the file picker. This inherits DeniedPermissionState to handle cases when the permission is denied.

Link copied to clipboard
class ImagePickerState(val pickedImages: List<File>, val pickImages: () -> Unit, val clearPickedImages: () -> Unit, deniedPermissionState: DeniedPermissionState) : DeniedPermissionState

Represents the state of the image picker. This inherits DeniedPermissionState to handle cases when the permission is denied.

Functions

Link copied to clipboard
fun BackButton(onClick: () -> Unit, modifier: Modifier = Modifier)

Represents a back button that navigates back to the previous screen. This is used throughout thw Uikit's screens.

Link copied to clipboard
fun CircularProgressIndicator(modifier: Modifier = Modifier, color: Color = MaterialTheme.colorScheme.primary, strokeWidth: Dp = 6.dp, trackColor: Color = Color.Transparent, strokeCap: StrokeCap = StrokeCap.Round)

Represents a circular progress indicator.

Link copied to clipboard
fun DialogMenuItem(menuDetail: DialogMenuDetail, modifier: Modifier = Modifier, textStyle: TextStyle = MaterialTheme.typography.titleMedium)

Represents a single menu item in the dialog.

Link copied to clipboard
fun FailurePlaceholder(modifier: Modifier = Modifier, onRetryClick: () -> Unit = {})

Represents a placeholder for the failure screen. This contains ScreenPlaceholder with an error icon and a text and also contains a retry button to retry the action.

Link copied to clipboard
fun ImageViewer(mediaInfo: MediaInfo, modifier: Modifier = Modifier, downloadState: DownloadState = DownloadState.Idle, onNavigationIconClick: () -> Unit = {}, onClickDownload: (MediaInfo) -> Unit = {}, onDownloadCompleted: (Boolean) -> Unit = {}, onClickDelete: () -> Unit = {}, loading: @Composable () -> Unit = {})

Represents the image viewer that shows the image in full screen.

Link copied to clipboard
fun LoadingImage(modifier: Modifier = Modifier)
Link copied to clipboard
fun LoadingScreen(modifier: Modifier = Modifier)

Represents a loading screen. This contains a circular progress indicator in the center of the screen.

Link copied to clipboard
fun MenuBottomSheet(items: List<DialogMenuDetail>, modifier: Modifier = Modifier, onItemClick: (key: String) -> Unit = {}, onDismissRequest: () -> Unit = {}, emojiList: @Composable () -> Unit = {})

Represents a bottom sheet that shows a list of DialogMenuDetail items.

Link copied to clipboard
fun MenuDialog(items: List<DialogMenuDetail>, modifier: Modifier = Modifier, title: String = "", onItemClick: (key: String) -> Unit = {}, onDismissRequest: () -> Unit = {})

Represents a dialog that shows a list of DialogMenuDetail items.

Link copied to clipboard
fun MessageLazyColumn(messagePagingParams: MessagePagingParams, messages: List<UikitBaseMessage>, messageItem: @Composable (prevMessage: UikitBaseMessage?, message: UikitBaseMessage, nextMessage: UikitBaseMessage?, onMessageClick: (UikitBaseMessage) -> Unit, onMessageLongClick: (UikitBaseMessage) -> Unit) -> Unit, modifier: Modifier = Modifier, lazyListState: LazyListState = rememberLazyListState(), loadNext: () -> Unit = { }, loadPrevious: () -> Unit = { }, onMessageItemClick: (UikitBaseMessage) -> Unit = { }, onMessageItemLongClick: (UikitBaseMessage) -> Unit = { })

Represents the lazy column for messages with pagination.

Link copied to clipboard
fun MessagePagingEffect(messagePagingParams: MessagePagingParams, lazyListState: LazyListState, loadNext: () -> Unit, loadPrevious: () -> Unit)
Link copied to clipboard
fun MessageTooltip(unreadMessageCount: Int, onClick: () -> Unit, modifier: Modifier = Modifier)

Represents a tooltip Composable that's shown at the bottom of the ChannelScreen when new messages are received while the scroll is not at the bottom.

Link copied to clipboard

Represents the description of the Open Graph tag message.

Link copied to clipboard
fun OgTagMessage(ogMetaData: OGMetaData, modifier: Modifier = Modifier, backgroundColor: Color = if (SendbirdUikitCompose.isDarkTheme) { MaterialTheme.colorScheme.surfaceContainerHighest } else { MaterialTheme.colorScheme.surfaceBright }, onLinkClick: () -> Unit = {}, onLinkLongClick: () -> Unit = {}, ogTagThumbnail: @Composable (ogImageUrl: String) -> Unit = { OgTagThumbnail(it) }, ogTagTitle: @Composable (title: String) -> Unit = { OgTagTitle(it) }, ogTagDescription: @Composable (description: String) -> Unit = { OgTagDescription(it) }, ogTagUrl: @Composable (url: String) -> Unit = { OgTagUrl(it) })

Represents the Open Graph (OG) tag message view.

Link copied to clipboard

Represents the thumbnail of the Open Graph tag message.

Link copied to clipboard

Represents the title of the Open Graph tag message.

Link copied to clipboard

Represents the URL of the Open Graph tag message.

Link copied to clipboard
fun PagedLazyColumn(modifier: Modifier = Modifier, onLoadBackward: () -> Unit = {}, onLoadForward: () -> Unit = {}, state: LazyListState = rememberLazyListState(), contentPadding: PaddingValues = PaddingValues(0.dp), reverseLayout: Boolean = false, verticalArrangement: Arrangement.Vertical = if (!reverseLayout) Arrangement.Top else Arrangement.Bottom, horizontalAlignment: Alignment.Horizontal = Alignment.Start, flingBehavior: FlingBehavior = ScrollableDefaults.flingBehavior(), userScrollEnabled: Boolean = true, content: LazyListScope.() -> Unit)

A LazyColumn that supports pagination. This will call onLoadBackward when the first item is reached and onLoadForward when the last item is reached.

Link copied to clipboard
fun PermissionDeniedDialog(deniedPermission: String, modifier: Modifier = Modifier, onClickSettings: () -> Unit = {}, onClickCancel: () -> Unit = {})

A dialog that shows when the permission is denied.

Link copied to clipboard

Creates a CameraCapturerState that can be remembered across compositions.

Link copied to clipboard

Creates a FilePickerState that can be remembered across compositions.

Link copied to clipboard
fun rememberImagePicker(multipleSelectionEnabled: Boolean, mediaType: ActivityResultContracts.PickVisualMedia.VisualMediaType = ActivityResultContracts.PickVisualMedia.ImageAndVideo): ImagePickerState

Creates a ImagePickerState that can be remembered across compositions.

Link copied to clipboard
fun ScreenPlaceholder(icon: Painter, text: String, modifier: Modifier = Modifier, iconContentDescription: String? = null, iconTint: Color = MaterialTheme.colorScheme.onBackground.copy(alpha = SendbirdOpacity.LowOpacity), action: @Composable () -> Unit = {})

Represents a screen placeholder. This contains an icon and a text in the center of the screen.

Link copied to clipboard
fun ScrollToFirstButton(onClick: () -> Unit, modifier: Modifier = Modifier)

Represents a bottom arrow button that scrolls to the latest message in the ChannelScreen.

Link copied to clipboard
fun SendbirdContainedButton(text: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true)

Represents a button with text with preset styles. Use this when you need to show a button with text with Sendbird Uikit’s Contained button style.

Link copied to clipboard
fun SendbirdIconButton(icon: Painter, contentDescription: String?, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, tint: Color = MaterialTheme.colorScheme.primary, pressedContainerColor: Color = MaterialTheme.colorScheme.inverseOnSurface)

Represents a button with an icon with preset styles. Use this when you need to show a button with an icon with Uikit's style.

Link copied to clipboard
fun SendbirdOutlinedTextField(value: String, onValueChange: (String) -> Unit, hintText: String, modifier: Modifier = Modifier, enabled: Boolean = true, maxLines: Int = 2)

Represents a outlined text field with Uikit style.

Link copied to clipboard

Represents the Uikit styled snackbar. This is used to show a message to the user.

Link copied to clipboard
fun SendbirdSurface(modifier: Modifier = Modifier, shape: Shape = RectangleShape, lightThemeColor: Color = MaterialTheme.colorScheme.background, darkThemeColor: Color = MaterialTheme.colorScheme.surfaceBright, content: @Composable () -> Unit)

Represents a surface view with Uikit style.

Link copied to clipboard
fun SendbirdTextButton(text: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, textColor: Color = MaterialTheme.colorScheme.primary)

Represents a button with text with preset styles. Use this when you need to show a button with text with Uikit's style.

Link copied to clipboard
fun SendbirdTextField(value: String, onValueChange: (String) -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, maxLines: Int = 2)

Represents a text field with Uikit style.

Link copied to clipboard
fun SettingsMenuDivider(modifier: Modifier = Modifier)

Represents a horizontal divider with a default settings menu style.

Link copied to clipboard
suspend fun SnackbarHostState.showError(message: String, withDismissAction: Boolean = false, duration: SnackbarDuration = SnackbarDuration.Short): SnackbarResult
Link copied to clipboard
suspend fun SnackbarHostState.showSuccess(message: String, withDismissAction: Boolean = false, duration: SnackbarDuration = SnackbarDuration.Short): SnackbarResult
Link copied to clipboard
fun TextFieldDialog(inputValue: String, onInputValueChange: (String) -> Unit, modifier: Modifier = Modifier, title: String = "", hintText: String = stringResource(id = R.string.sb_text_channel_settings_change_channel_name_hint), positiveButtonText: String = stringResource(id = R.string.sb_text_button_save), onPositiveButtonClick: () -> Unit = {}, negativeButtonText: String = stringResource(id = R.string.sb_text_button_cancel), onNegativeButtonClick: () -> Unit = {}, onDismissRequest: () -> Unit = {})

Represents a dialog containing a text field.

Link copied to clipboard
fun TopBarTitleText(text: String, modifier: Modifier = Modifier, style: TextStyle = MaterialTheme.typography.headlineMedium)

Represents a text view used for the top bar title.

Link copied to clipboard
fun UserItem(user: UikitUser, modifier: Modifier = Modifier)

Represents a basic single item in the user list. This contains the user's profile image and nickname.

Link copied to clipboard
fun UserItemDivider(modifier: Modifier = Modifier)

Represents a horizontal divider with a default user item style.

Link copied to clipboard
fun WaffleAsyncImage(models: List<ImageModel>, contentDescription: String?, modifier: Modifier = Modifier)

A composable that displays a list of ImageModels in a waffle style.