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 = {})

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
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.