diff --git a/stream-chat-android-compose-sample/detekt-baseline.xml b/stream-chat-android-compose-sample/detekt-baseline.xml index e9dbd9f7eaf..2b04730b0eb 100644 --- a/stream-chat-android-compose-sample/detekt-baseline.xml +++ b/stream-chat-android-compose-sample/detekt-baseline.xml @@ -6,7 +6,7 @@ LongMethod:MessagesActivity.kt$MessagesActivity$@Composable fun MyCustomUi() MagicNumber:ChannelsActivity.kt$ChannelsActivity$0.5f MagicNumber:MessagesActivity.kt$MessagesActivity$7f - MaxLineLength:MessagesActivity.kt$MessagesActivity$targetValue = if (isFullScreenContent) screenHeight.dp else ChatTheme.dimens.attachmentsPickerHeight + MaxLineLength:MessagesActivity.kt$MessagesActivity$targetValue = if (isFullScreenContent) screenHeight.dp else 350.dp UnusedPrivateMember:ChannelsActivity.kt$ChannelsActivity$@Composable private fun MyCustomUi() UnusedPrivateMember:ChannelsActivity.kt$ChannelsActivity$@Composable private fun MyCustomUiSimplified() diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt index 743795611da..2358ce02ca5 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt @@ -152,13 +152,13 @@ private fun AddChannelToolbar( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground), + .background(ChatTheme.colors.backgroundElevationElevation1), ) { AppToolbar(title = stringResource(id = R.string.add_channel_title), onBack = onBack, elevation = 0.dp) Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .padding(horizontal = 16.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween, @@ -170,7 +170,7 @@ private fun AddChannelToolbar( .padding(top = 20.dp), text = stringResource(id = R.string.add_channel_to), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) Spacer(modifier = Modifier.size(8.dp)) // Selected users + Search field @@ -194,14 +194,14 @@ private fun AddChannelToolbar( Icon( painter = painterResource(iconId), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) if (!hasSelectedUsers) { CreateGroupSection(onClick = onCreateGroupClick) - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) } } } @@ -216,7 +216,7 @@ private fun CreateGroupSection(onClick: () -> Unit) { Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .clickable( interactionSource = remember { MutableInteractionSource() }, indication = ripple(), @@ -226,7 +226,7 @@ private fun CreateGroupSection(onClick: () -> Unit) { verticalAlignment = Alignment.CenterVertically, ) { Icon( - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, painter = painterResource(id = R.drawable.ic_create_group), contentDescription = null, ) @@ -235,7 +235,7 @@ private fun CreateGroupSection(onClick: () -> Unit) { text = stringResource(id = R.string.add_channel_create_group), fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } @@ -255,7 +255,7 @@ private fun SelectedUsersList( FlowRow( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .padding(12.dp), horizontalArrangement = Arrangement.spacedBy(4.dp), verticalArrangement = Arrangement.spacedBy(4.dp), @@ -282,7 +282,7 @@ private fun SelectedUserChip( ) { SuggestionChip( modifier = Modifier.height(32.dp), - colors = SuggestionChipDefaults.suggestionChipColors(containerColor = ChatTheme.colors.appBackground), + colors = SuggestionChipDefaults.suggestionChipColors(containerColor = ChatTheme.colors.backgroundCoreApp), shape = RoundedCornerShape(16.dp), icon = { UserAvatar( @@ -296,7 +296,7 @@ private fun SelectedUserChip( Text( text = user.name, fontSize = 12.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) }, ) diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt index 1fc33261a55..1ffcccfb17d 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt @@ -106,10 +106,10 @@ private fun SearchUserLoadingContent(padding: PaddingValues) { modifier = Modifier .padding(padding) .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), contentAlignment = Alignment.Center, ) { - CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent) + CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary) } } @@ -124,7 +124,7 @@ private fun SearchUserEmptyContent(padding: PaddingValues) { modifier = Modifier .padding(padding) .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ) { @@ -135,7 +135,7 @@ private fun SearchUserEmptyContent(padding: PaddingValues) { Text( text = stringResource(id = R.string.add_channel_no_matches), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } } @@ -165,7 +165,7 @@ private fun SearchUserResultList( modifier = Modifier .padding(padding) .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = listState, ) { users.forEach { (group, users) -> @@ -178,7 +178,7 @@ private fun SearchUserResultList( isSelected = selectedUsers.contains(user), onUserClick = onUserClick, ) - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) } } if (isLoadingMore) { @@ -208,7 +208,7 @@ private fun GroupingItem(group: Char) { }, fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, modifier = Modifier.padding(8.dp), ) } @@ -231,7 +231,7 @@ private fun SearchUserResultItem( modifier = Modifier .fillMaxWidth() .height(64.dp) - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .clickable( interactionSource = remember { MutableInteractionSource() }, indication = ripple(), @@ -253,17 +253,17 @@ private fun SearchUserResultItem( text = user.name, fontWeight = FontWeight.Bold, fontSize = 14.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = user.getLastSeenText(context), fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } if (isSelected) { Icon( - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, painter = painterResource(id = R.drawable.ic_check_filled), contentDescription = null, ) @@ -282,6 +282,6 @@ private fun LoadingMoreItem() { .padding(8.dp), contentAlignment = Alignment.Center, ) { - CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent) + CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt index a194cdd8d1c..ee9aba3d363 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt @@ -47,21 +47,21 @@ fun SearchUserTextField( singleLine = true, maxLines = 1, colors = TextFieldDefaults.colors( - focusedContainerColor = ChatTheme.colors.barsBackground, - unfocusedContainerColor = ChatTheme.colors.barsBackground, + focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, + unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, disabledIndicatorColor = Color.Transparent, - focusedTextColor = ChatTheme.colors.textHighEmphasis, - unfocusedTextColor = ChatTheme.colors.textHighEmphasis, - cursorColor = ChatTheme.colors.primaryAccent, + focusedTextColor = ChatTheme.colors.textPrimary, + unfocusedTextColor = ChatTheme.colors.textPrimary, + cursorColor = ChatTheme.colors.accentPrimary, ), onValueChange = onQueryChanged, placeholder = { Text( text = stringResource(id = R.string.add_channel_type_name), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) }, leadingIcon = leadingContent, diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt index 2efa5acbf46..77417b0e882 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt @@ -161,7 +161,7 @@ private fun SelectUsersToolbar( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground), + .background(ChatTheme.colors.backgroundElevationElevation1), ) { AppToolbar( title = stringResource(id = R.string.add_group_channel_members_title), @@ -172,7 +172,7 @@ private fun SelectUsersToolbar( onQueryChanged = onSearchQueryChanged, leadingContent = { Icon( - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, painter = painterResource(id = R.drawable.ic_search), contentDescription = null, ) @@ -184,7 +184,7 @@ private fun SelectUsersToolbar( onRemoveClick = onUserClick, ) } - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) } } @@ -204,7 +204,7 @@ private fun EnterNameToolbar( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground), + .background(ChatTheme.colors.backgroundElevationElevation1), ) { AppToolbar( title = stringResource(id = R.string.add_group_channel_name_title), @@ -214,7 +214,7 @@ private fun EnterNameToolbar( channelName = channelName, onChannelNameChanged = onChannelNameChanged, ) - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) } } @@ -233,7 +233,7 @@ private fun EnterNameContent( Column( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(padding), ) { val text = if (selectedUsers.isEmpty()) { @@ -245,7 +245,7 @@ private fun EnterNameContent( Text( modifier = Modifier.padding(8.dp), text = text, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 14.sp, ) LazyColumn { @@ -254,7 +254,7 @@ private fun EnterNameContent( user = user, onRemoveClick = { onRemoveUserClick(user) }, ) - HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp) } } } @@ -269,13 +269,13 @@ private fun EnterNameContent( private fun NextFab(onClick: () -> Unit) { FloatingActionButton( shape = CircleShape, - containerColor = ChatTheme.colors.primaryAccent, + containerColor = ChatTheme.colors.accentPrimary, onClick = onClick, ) { Icon( painter = painterResource(id = R.drawable.ic_arrow_right), contentDescription = null, - tint = ChatTheme.colors.appBackground, + tint = ChatTheme.colors.backgroundCoreApp, ) } } @@ -289,13 +289,13 @@ private fun NextFab(onClick: () -> Unit) { private fun AddGroupChannelFab(onClick: () -> Unit) { FloatingActionButton( shape = CircleShape, - containerColor = ChatTheme.colors.primaryAccent, + containerColor = ChatTheme.colors.accentPrimary, onClick = onClick, ) { Icon( painter = painterResource(id = R.drawable.ic_check), contentDescription = null, - tint = ChatTheme.colors.appBackground, + tint = ChatTheme.colors.backgroundCoreApp, ) } } @@ -317,21 +317,21 @@ private fun ChannelNameTextField( singleLine = true, maxLines = 1, colors = TextFieldDefaults.colors( - focusedContainerColor = ChatTheme.colors.barsBackground, - unfocusedContainerColor = ChatTheme.colors.barsBackground, + focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, + unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, disabledIndicatorColor = Color.Transparent, - focusedTextColor = ChatTheme.colors.textHighEmphasis, - unfocusedTextColor = ChatTheme.colors.textHighEmphasis, - cursorColor = ChatTheme.colors.primaryAccent, + focusedTextColor = ChatTheme.colors.textPrimary, + unfocusedTextColor = ChatTheme.colors.textPrimary, + cursorColor = ChatTheme.colors.accentPrimary, ), onValueChange = onChannelNameChanged, placeholder = { Text( text = stringResource(id = R.string.add_group_channel_name_placeholder), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) }, leadingIcon = { @@ -339,7 +339,7 @@ private fun ChannelNameTextField( modifier = Modifier.padding(horizontal = 16.dp), text = stringResource(id = R.string.add_group_channel_name_label), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) }, ) @@ -371,7 +371,7 @@ private fun GroupChannelUserPreviewItem( .padding(start = 8.dp) .weight(1f), text = user.name, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 14.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -382,7 +382,7 @@ private fun GroupChannelUserPreviewItem( Icon( painter = painterResource(id = R.drawable.ic_close), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } } @@ -402,7 +402,7 @@ private fun SelectedUsersList( LazyRow( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground), + .background(ChatTheme.colors.backgroundElevationElevation1), contentPadding = PaddingValues(8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(16.dp), @@ -444,21 +444,21 @@ private fun SelectedUserItem( fontWeight = FontWeight.Bold, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } Box( modifier = Modifier .size(24.dp) .clip(RoundedCornerShape(12.dp)) - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .align(Alignment.TopEnd) .clickable { onRemoveClick() }, ) { Icon( painter = painterResource(id = R.drawable.ic_close), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt index 3f5eeef08b3..f5adacdfcd9 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt @@ -78,7 +78,7 @@ private fun DraftChannelContent( onMessageSent = { onViewAction(DraftChannelViewAction.MessageSent) }, ) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { padding -> ChatTheme.componentFactory.MessageListEmptyContent( modifier = Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt index 4776479ed6a..0b1d2e5e05a 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt @@ -174,7 +174,7 @@ class ChannelsActivity : ComponentActivity() { drawerContent = { ModalDrawerSheet( modifier = Modifier.width(300.dp), - drawerContainerColor = ChatTheme.colors.barsBackground, + drawerContainerColor = ChatTheme.colors.backgroundElevationElevation1, ) { ChannelsScreenNavigationDrawer( currentUser = user, @@ -209,7 +209,7 @@ class ChannelsActivity : ComponentActivity() { onOptionSelected = { selectedTab = it }, ) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { padding -> Box(modifier = Modifier.padding(padding)) { when (selectedTab) { @@ -301,7 +301,7 @@ class ChannelsActivity : ComponentActivity() { modifier = Modifier .fillMaxWidth(0.5f) .height(0.5.dp) - .background(color = ChatTheme.colors.textLowEmphasis), + .background(color = ChatTheme.colors.textSecondary), ) }, ) @@ -324,8 +324,8 @@ class ChannelsActivity : ComponentActivity() { centerContent = { Text( text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) }, ) @@ -357,7 +357,7 @@ class ChannelsActivity : ComponentActivity() { SearchInput( modifier = Modifier - .background(color = ChatTheme.colors.appBackground) + .background(color = ChatTheme.colors.backgroundCoreApp) .fillMaxWidth() .padding(8.dp), query = query, diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt index a729f563bfd..634e650f89e 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt @@ -131,7 +131,7 @@ private fun LoggedInUserHeader( text = user.name, fontWeight = FontWeight.Bold, fontSize = 14.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -155,13 +155,13 @@ private fun LoggedInUserHeader( Text( text = text, fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } else { Text( text = "No teams", fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -188,15 +188,15 @@ private fun NavigationDrawerItem( ) { Icon( painter = painterResource(icon), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, contentDescription = text, ) Spacer(modifier = Modifier.width(16.dp)) Text( text = text, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 14.sp, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, ) } } @@ -209,7 +209,7 @@ private fun VersionFooter() { .padding(vertical = 8.dp), textAlign = TextAlign.Center, text = BuildConfig.VERSION_NAME, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 12.sp, ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt index 8db971df059..8a61087a78f 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt @@ -57,19 +57,19 @@ fun ReminderOptionsDialog( Text( modifier = Modifier.padding(16.dp), text = stringResource(R.string.reminders_options), - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.title3Bold, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.headingMedium, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_edit), - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, onClick = onEdit, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_delete), - color = ChatTheme.colors.errorAccent, + color = ChatTheme.colors.accentError, onClick = onDelete, ) } @@ -92,31 +92,31 @@ fun CreateReminderDialog( Text( modifier = Modifier.padding(16.dp), text = stringResource(R.string.reminders_select_reminder_time_title), - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.title3Bold, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.headingMedium, ) Text( modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 8.dp, bottom = 16.dp), text = stringResource(R.string.reminders_select_reminder_time_description), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.bodyDefault, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_2_minutes), onClick = { onRemindAtSelected(Date().apply { time += 2.minutes.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_5_minutes), onClick = { onRemindAtSelected(Date().apply { time += 5.minutes.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_1_hour), onClick = { onRemindAtSelected(Date().apply { time += 1.hours.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_1_day), onClick = { onRemindAtSelected(Date().apply { time += 1.days.inWholeMilliseconds }) }, @@ -143,31 +143,31 @@ fun EditReminderDialog( Text( modifier = Modifier.padding(16.dp), text = stringResource(R.string.reminders_edit_due_date), - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.title3Bold, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.headingMedium, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_2_minutes), onClick = { onRemindAtSelected(Date().apply { time += 2.minutes.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_5_minutes), onClick = { onRemindAtSelected(Date().apply { time += 5.minutes.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_1_hour), onClick = { onRemindAtSelected(Date().apply { time += 1.hours.inWholeMilliseconds }) }, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_remind_in_1_day), onClick = { onRemindAtSelected(Date().apply { time += 1.days.inWholeMilliseconds }) }, ) if (remindAt != null) { - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) ReminderOptionItem( text = stringResource(R.string.reminders_clear_due_date), onClick = { onRemindAtSelected(null) }, @@ -183,7 +183,7 @@ private fun ReminderDialog( content: @Composable () -> Unit, ) { Dialog(onDismissRequest = onDismiss) { - Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground)) { + Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1)) { content() } } @@ -200,7 +200,7 @@ private fun ReminderDialog( private fun ReminderOptionItem( text: String, onClick: () -> Unit, - color: Color = ChatTheme.colors.primaryAccent, + color: Color = ChatTheme.colors.accentPrimary, ) { Column( modifier = Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt index 39dbd227ad0..8e968a8a5a7 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt @@ -62,7 +62,7 @@ fun MessageReminderStatusLabel(remindAt: Date?) { } val (text, color) = if (remindAt == null) { - stringResource(R.string.reminders_status_save_for_later) to ChatTheme.colors.primaryAccent + stringResource(R.string.reminders_status_save_for_later) to ChatTheme.colors.accentPrimary } else { val delta = (remindAt.time - ticker.time) val isOverdue = delta < 0 @@ -78,9 +78,9 @@ fun MessageReminderStatusLabel(remindAt: Date?) { if (seconds > 0) append("${seconds}s") }.ifEmpty { "0s" } if (isOverdue) { - stringResource(R.string.reminders_status_overdue_by, durationString) to ChatTheme.colors.errorAccent + stringResource(R.string.reminders_status_overdue_by, durationString) to ChatTheme.colors.accentError } else { - stringResource(R.string.reminders_status_due_in, durationString) to ChatTheme.colors.primaryAccent + stringResource(R.string.reminders_status_due_in, durationString) to ChatTheme.colors.accentPrimary } } Text( diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt index cf17d409e8b..c5ce34f8fd6 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt @@ -106,7 +106,7 @@ fun MessageRemindersScreen( Column( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(padding), ) { MessageRemindersFilterSelection( @@ -178,7 +178,7 @@ private fun MessageRemindersLoadingContent() { LoadingIndicator( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) } @@ -192,7 +192,7 @@ private fun MessageRemindersEmptyContent(filter: MessageRemindersFilter) { painter = painterResource(id = R.drawable.ic_bell_24), modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(16.dp), ) } @@ -220,7 +220,7 @@ private fun MessageRemindersResultList( state = lazyListState, modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { items(reminders) { MessageReminderItem( @@ -234,7 +234,7 @@ private fun MessageRemindersResultList( ), reminder = it, ) - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) } if (isLoadingMore) { item { @@ -289,15 +289,15 @@ private fun MessageReminderFilterItem( SuggestionChip( modifier = Modifier.height(32.dp), colors = SuggestionChipDefaults.suggestionChipColors( - containerColor = if (isSelected) ChatTheme.colors.primaryAccent else ChatTheme.colors.appBackground, + containerColor = if (isSelected) ChatTheme.colors.accentPrimary else ChatTheme.colors.backgroundCoreApp, ), shape = RoundedCornerShape(16.dp), - border = if (isSelected) null else BorderStroke(1.dp, ChatTheme.colors.borders), + border = if (isSelected) null else BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault), label = { Text( text = stringResource(filter.label), fontSize = 14.sp, - color = if (isSelected) Color.White else ChatTheme.colors.textLowEmphasis, + color = if (isSelected) Color.White else ChatTheme.colors.textSecondary, ) }, onClick = onClick, @@ -317,7 +317,7 @@ private fun MessageReminderItem( Column( modifier = modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(12.dp), ) { Row( @@ -327,7 +327,7 @@ private fun MessageReminderItem( Text( text = stringResource(R.string.reminders_channel_name, reminder.channel?.name ?: ""), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, modifier = Modifier.weight(1f), @@ -355,14 +355,14 @@ private fun MessageReminderItem( Text( text = reminder.message?.user?.name ?: "", fontSize = 16.sp, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.bodyBold, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.bodyEmphasis, ) Text( text = reminder.message?.text ?: "", fontSize = 14.sp, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.bodyDefault, maxLines = 2, overflow = TextOverflow.Ellipsis, ) @@ -382,7 +382,7 @@ private fun LoadingMoreItem() { .padding(8.dp), contentAlignment = Alignment.Center, ) { - CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent) + CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt index 14e5ae35b38..fd69fc2d6e9 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt @@ -35,6 +35,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.OutlinedTextField @@ -78,9 +79,7 @@ import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme import io.getstream.chat.android.compose.ui.theme.MessageComposerTheme import io.getstream.chat.android.compose.ui.theme.MessageOptionsTheme import io.getstream.chat.android.compose.ui.theme.ReactionOptionsTheme -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamShapes -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.util.rememberMessageListState import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerViewModel import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel @@ -138,21 +137,19 @@ class MessagesActivity : ComponentActivity() { @Composable private fun SetupChatTheme() { val isInDarkMode = isSystemInDarkTheme() - val colors = if (isInDarkMode) StreamColors.defaultDarkColors() else StreamColors.defaultColors() - val typography = StreamTypography.defaultTypography() - val shapes = StreamShapes.defaultShapes() + val colors = if (isInDarkMode) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default() + val typography = StreamDesign.Typography.default() val messageComposerTheme = MessageComposerTheme - .defaultTheme(isInDarkMode, typography, shapes, colors) + .defaultTheme(isInDarkMode, typography, colors) .copy( inputField = ComposerInputFieldTheme.defaultTheme( - mentionStyleFactory = CustomMentionStyleFactory(colors.primaryAccent), + mentionStyleFactory = CustomMentionStyleFactory(colors.accentPrimary), ), ) val locationViewModelFactory = SharedLocationViewModelFactory(cid) ChatTheme( isInDarkMode = isInDarkMode, colors = colors, - shapes = shapes, typography = typography, attachmentPickerConfig = AttachmentPickerConfig(useSystemPicker = false), componentFactory = CustomChatComponentFactory(locationViewModelFactory = locationViewModelFactory), @@ -228,7 +225,7 @@ class MessagesActivity : ComponentActivity() { MessageList( modifier = Modifier .padding(it) - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .fillMaxSize(), viewModel = listViewModel, reactionSorting = ReactionSortingByFirstReactionAt, @@ -313,7 +310,7 @@ class MessagesActivity : ComponentActivity() { .align(Alignment.Center) .padding(horizontal = 20.dp) .wrapContentSize(), - shape = ChatTheme.shapes.attachment, + shape = RoundedCornerShape(12.dp), message = selectedMessage, onMessageAction = { action -> composerViewModel.performMessageAction(action) @@ -377,12 +374,12 @@ class MessagesActivity : ComponentActivity() { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_gallery), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( modifier = Modifier.padding(start = 4.dp), text = "Type something", - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } }, @@ -409,7 +406,7 @@ class MessagesActivity : ComponentActivity() { ) { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_send), - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, contentDescription = null, ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt index 0190faac32e..6a99b610dd6 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt @@ -91,7 +91,7 @@ fun AddMembersDialog( }, confirmButton = { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = { viewModel.onViewAction(AddMembersViewAction.ConfirmClick) }, ) { Text(text = stringResource(id = io.getstream.chat.android.compose.R.string.stream_compose_ok)) @@ -99,13 +99,13 @@ fun AddMembersDialog( }, dismissButton = { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.textLowEmphasis), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.textSecondary), onClick = onDismiss, ) { Text(text = stringResource(id = io.getstream.chat.android.compose.R.string.stream_compose_cancel)) } }, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) LaunchedEffect(viewModel) { viewModel.events.collectLatest { event -> @@ -190,7 +190,7 @@ private fun SearchResultItem( ) Text( text = user.name, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 2, textAlign = TextAlign.Center, ) @@ -201,8 +201,8 @@ private fun SearchResultItem( exit = shrinkOut(targetSize = { fullSize -> fullSize }) + fadeOut(), ) { Icon( - modifier = Modifier.background(ChatTheme.colors.barsBackground, CircleShape), - tint = ChatTheme.colors.primaryAccent, + modifier = Modifier.background(ChatTheme.colors.backgroundElevationElevation1, CircleShape), + tint = ChatTheme.colors.accentPrimary, painter = painterResource(id = R.drawable.ic_check_filled), contentDescription = null, ) @@ -225,7 +225,7 @@ private fun SearchResultEmpty( ) Text( text = stringResource(id = R.string.add_channel_no_matches), - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, textAlign = TextAlign.Center, ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt index 478a293a6cb..d08eb35316d 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt @@ -355,7 +355,7 @@ class ChatsActivity : ComponentActivity() { title = {}, navigationIcon = { CloseButton(onClick = onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ), ) } @@ -480,7 +480,7 @@ class ChatsActivity : ComponentActivity() { ) { val elevation by animateDpAsState( targetValue = if (listState.canScrollBackward) { - ChatTheme.dimens.headerElevation + 4.dp } else { 0.dp }, @@ -496,19 +496,21 @@ class ChatsActivity : ComponentActivity() { Column { Text( text = stringResource(R.string.stream_ui_channel_info_group_title), - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Text( text = channelName, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } }, navigationIcon = navigationIcon, expandedHeight = 56.dp, - colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground), + colors = TopAppBarDefaults.topAppBarColors( + containerColor = ChatTheme.colors.backgroundElevationElevation1, + ), actions = { if (infoState is ChannelInfoViewState.Content && infoState.options.contains(ChannelInfoViewState.Content.Option.AddMember) @@ -644,7 +646,7 @@ private fun CloseButton(onClick: () -> Unit) { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_close), contentDescription = stringResource(id = R.string.stream_compose_cancel), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt index eff3d1502c5..1b49d45704a 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt @@ -63,7 +63,7 @@ fun AppBottomBar( Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground), + .background(ChatTheme.colors.backgroundElevationElevation1), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceEvenly, ) { @@ -116,7 +116,7 @@ private fun AppBottomBarOptionTile( decorationBadge: (@Composable () -> Unit)? = null, ) { val contentColor by animateColorAsState( - targetValue = if (isSelected) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.textLowEmphasis, + targetValue = if (isSelected) ChatTheme.colors.textPrimary else ChatTheme.colors.textSecondary, ) Box( modifier = Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt index 9b9b0a36bb7..1f48684fc2c 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt @@ -63,7 +63,7 @@ fun AppToolbar( Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .padding(8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween, @@ -73,14 +73,14 @@ fun AppToolbar( modifier = Modifier.size(24.dp), painter = painterResource(id = R.drawable.stream_compose_ic_arrow_back), contentDescription = "Back", - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } Text( text = title, fontWeight = FontWeight.Bold, fontSize = 16.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, textAlign = TextAlign.Center, ) Spacer(modifier = Modifier.width(44.dp)) diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt index 429040f2f35..35db2cc526e 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt @@ -48,7 +48,7 @@ class CustomChatComponentFactory( .run { // Highlight the item background color if it is pinned if (channelItem.channel.isPinned()) { - background(color = ChatTheme.colors.highlight) + background(color = ChatTheme.colors.backgroundCoreHighlight) } else { this } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt index efc1de9c808..b4e081e43ac 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt @@ -142,8 +142,8 @@ class DeleteMessageForMeComponentFactory( Text( modifier = Modifier.padding(vertical = 4.dp), text = "Deleted only for me", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textPrimary, ) } super.MessageFooterContent(messageItem) diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt index a36bd6574cf..58302ebfca7 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt @@ -20,12 +20,13 @@ import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Shape -import io.getstream.chat.android.compose.ui.theme.ChatTheme +import androidx.compose.ui.unit.dp @OptIn(ExperimentalFoundationApi::class) @Suppress("LongParameterList") @@ -34,7 +35,7 @@ internal fun MapBox( modifier: Modifier, latitude: Double, longitude: Double, - shape: Shape = ChatTheme.shapes.attachment, + shape: Shape = RoundedCornerShape(12.dp), onClick: ((url: String) -> Unit)? = null, onLongClick: ((url: String) -> Unit)? = null, content: @Composable BoxScope.() -> Unit, diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt index 81fce717162..4b45d226911 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt @@ -46,7 +46,7 @@ internal fun MapWebView( var htmlContent by remember { mutableStateOf(null) } var viewSize by remember { mutableStateOf(null) } val density = LocalDensity.current - val markerColor = ChatTheme.colors.primaryAccent.toHexString() + val markerColor = ChatTheme.colors.accentPrimary.toHexString() LaunchedEffect(viewSize) { // Ensure the HTML content is updated when the view size changes diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt index b03d342e47a..72fd994c105 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt @@ -118,7 +118,7 @@ class MessageInfoComponentFactory : ChatComponentFactory { onDismiss() dismissed = true // Mark as dismissed to avoid animating the menu again }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { val coroutineScope = rememberCoroutineScope() val state by remember(message) { readsOf(message, coroutineScope) }.collectAsState(null) @@ -241,8 +241,8 @@ private fun ReadItem(userRead: ChannelUserRead) { Text( text = userRead.user.name.takeIf(String::isNotBlank) ?: userRead.user.id, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt index 7f79f7e8900..72b320429e5 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt @@ -44,8 +44,8 @@ internal fun PaneTitle( Text( modifier = Modifier.padding(padding), text = text, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } @@ -73,7 +73,7 @@ internal fun PaneRow( else -> RectangleShape } background( - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, shape = shape, ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt index 143fde3d329..c3b3386855c 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt @@ -29,6 +29,8 @@ import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.LocationOn import androidx.compose.material.icons.rounded.NearMe @@ -130,7 +132,7 @@ private fun LiveLocationSharing( val isLiveLocationEnded = !endAt.after(Date()) Column( modifier = modifier - .clip(ChatTheme.shapes.attachment) + .clip(RoundedCornerShape(12.dp)) .background( color = if (isOwnMessage) { ChatTheme.colors.chatBgOutgoing @@ -152,11 +154,11 @@ private fun LiveLocationSharing( animationSpec = infiniteRepeatable(animation = tween(AnimationDurationMillis)), ) val animatedColor by rememberInfiniteTransition().animateColor( - initialValue = ChatTheme.colors.primaryAccent, + initialValue = ChatTheme.colors.accentPrimary, targetValue = if (isLiveLocationEnded) { - ChatTheme.colors.primaryAccent + ChatTheme.colors.accentPrimary } else { - ChatTheme.colors.primaryAccent.copy(alpha = 0f) + ChatTheme.colors.accentPrimary.copy(alpha = 0f) }, animationSpec = infiniteRepeatable(animation = tween(AnimationDurationMillis)), ) @@ -165,7 +167,7 @@ private fun LiveLocationSharing( .align(Alignment.Center) .background( color = animatedColor, - shape = ChatTheme.shapes.avatar, + shape = CircleShape, ) .padding(animatedPadding.dp) .size(AvatarSize.Medium), @@ -182,12 +184,12 @@ private fun LiveLocationSharing( Icon( imageVector = Icons.Rounded.NearMeDisabled, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( text = "Live location sharing ended", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } } else { @@ -200,19 +202,19 @@ private fun LiveLocationSharing( Icon( imageVector = Icons.Rounded.NearMe, contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) } Text( text = "Sharing live location until ${ChatTheme.dateFormatter.formatDate(location.endAt)}", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } if (isOwnMessage) { TextButton( modifier = Modifier.fillMaxWidth(), - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.errorAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentError), onClick = onStopSharingClick, ) { Text(text = "Stop Sharing") diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt index 3dfdbab44ce..91e2ee6655c 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt @@ -37,14 +37,14 @@ fun DurationDropdownMenu( ) { DropdownMenu( expanded = expanded, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = onDismiss, ) { Text( modifier = Modifier.padding(16.dp), text = "Select a duration for sharing", - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Duration.entries.forEach { duration -> val label = when (duration) { @@ -54,7 +54,7 @@ fun DurationDropdownMenu( } DropdownMenuItem( text = { Text(text = label) }, - colors = MenuDefaults.itemColors(textColor = ChatTheme.colors.textLowEmphasis), + colors = MenuDefaults.itemColors(textColor = ChatTheme.colors.textSecondary), onClick = { onSelect(duration) }, ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt index 0422c412dbf..a459e08c54f 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt @@ -140,7 +140,7 @@ class LocationComponentFactory( if (message.hasSharedLocation() && !message.isDeleted()) { val location = requireNotNull(message.sharedLocation) SharedLocationItem( - modifier = Modifier.widthIn(max = ChatTheme.dimens.messageItemMaxWidth), + modifier = Modifier.widthIn(max = 250.dp), message = message, location = location, onMapClick = { url -> onLinkClick?.invoke(message, url) }, diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt index c84739c5503..70df808668e 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt @@ -250,21 +250,21 @@ private fun LocationPermissionRequired( ) { Text( modifier = Modifier.padding(bottom = 8.dp), - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, text = title, textAlign = TextAlign.Center, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, text = message, textAlign = TextAlign.Center, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = onClick, ) { Text(stringResource(id = R.string.stream_ui_message_composer_grant_permission_button)) @@ -290,15 +290,15 @@ private fun LocationButton( width = 1.dp, color = if (isPrimary) { if (enabled) { - ChatTheme.colors.primaryAccent + ChatTheme.colors.accentPrimary } else { - ChatTheme.colors.disabled + ChatTheme.colors.textDisabled } } else { - ChatTheme.colors.borders + ChatTheme.colors.borderCoreDefault }, ), - colors = ButtonDefaults.outlinedButtonColors(contentColor = ChatTheme.colors.textHighEmphasis), + colors = ButtonDefaults.outlinedButtonColors(contentColor = ChatTheme.colors.textPrimary), onClick = onClick, ) { Row( @@ -310,9 +310,9 @@ private fun LocationButton( imageVector = icon, contentDescription = null, tint = if (enabled) { - ChatTheme.colors.primaryAccent + ChatTheme.colors.accentPrimary } else { - ChatTheme.colors.disabled + ChatTheme.colors.textDisabled }, ) Column( @@ -320,12 +320,12 @@ private fun LocationButton( ) { Text( text = label, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, ) Text( text = description, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt index cc4f4b9d8f2..8d85b6a1323 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt @@ -109,7 +109,7 @@ class CustomLoginActivity : AppCompatActivity() { onLoginButtonClick: (UserCredentials) -> Unit, ) { Scaffold( - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, topBar = { CustomLoginToolbar(onClick = onBackButtonClick) }, content = { Column( @@ -187,7 +187,7 @@ class CustomLoginActivity : AppCompatActivity() { modifier = Modifier.padding(16.dp), text = stringResource(R.string.sdk_version_template, BuildConfig.STREAM_CHAT_VERSION), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } }, @@ -212,7 +212,7 @@ class CustomLoginActivity : AppCompatActivity() { ) } }, - colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground), + colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) } @@ -231,17 +231,17 @@ class CustomLoginActivity : AppCompatActivity() { onValueChange = { onValueChange(it) }, singleLine = true, label = { Text(hint) }, - shape = ChatTheme.shapes.inputField, + shape = RoundedCornerShape(24.dp), colors = TextFieldDefaults.colors( - focusedTextColor = ChatTheme.colors.textHighEmphasis, - unfocusedTextColor = ChatTheme.colors.textHighEmphasis, - focusedContainerColor = ChatTheme.colors.inputBackground, - unfocusedContainerColor = ChatTheme.colors.inputBackground, - cursorColor = ChatTheme.colors.primaryAccent, + focusedTextColor = ChatTheme.colors.textPrimary, + unfocusedTextColor = ChatTheme.colors.textPrimary, + focusedContainerColor = ChatTheme.colors.backgroundCoreSurface, + unfocusedContainerColor = ChatTheme.colors.backgroundCoreSurface, + cursorColor = ChatTheme.colors.accentPrimary, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, - focusedLabelColor = ChatTheme.colors.primaryAccent, - unfocusedLabelColor = ChatTheme.colors.textLowEmphasis, + focusedLabelColor = ChatTheme.colors.accentPrimary, + unfocusedLabelColor = ChatTheme.colors.textSecondary, ), ) } @@ -258,8 +258,8 @@ class CustomLoginActivity : AppCompatActivity() { enabled = enabled, shape = RoundedCornerShape(8.dp), colors = ButtonDefaults.buttonColors( - containerColor = ChatTheme.colors.primaryAccent, - disabledContainerColor = ChatTheme.colors.disabled, + containerColor = ChatTheme.colors.accentPrimary, + disabledContainerColor = ChatTheme.colors.backgroundCoreDisabled, ), onClick = onClick, ) { @@ -285,20 +285,20 @@ class CustomLoginActivity : AppCompatActivity() { checked = value, onCheckedChange = onValueChange, colors = SwitchDefaults.colors( - checkedThumbColor = ChatTheme.colors.primaryAccent, - checkedTrackColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f), - uncheckedThumbColor = ChatTheme.colors.textLowEmphasis, - uncheckedTrackColor = ChatTheme.colors.textLowEmphasis.copy(alpha = 0.5f), + checkedThumbColor = ChatTheme.colors.accentPrimary, + checkedTrackColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f), + uncheckedThumbColor = ChatTheme.colors.textSecondary, + uncheckedTrackColor = ChatTheme.colors.textSecondary.copy(alpha = 0.5f), ), ) Column { Text( text = stringResource(id = R.string.custom_login_enable_adaptive_layout), - style = ChatTheme.typography.title3, + style = ChatTheme.typography.headingMedium, ) Text( text = stringResource(id = R.string.custom_login_enable_adaptive_layout_description), - style = ChatTheme.typography.footnote, + style = ChatTheme.typography.metadataDefault, ) } } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt index 2768bda2433..830158cc049 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt @@ -120,7 +120,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier.size(width = 80.dp, height = 40.dp), painter = painterResource(id = R.drawable.ic_stream), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) Spacer(modifier = Modifier.height(20.dp)) @@ -130,7 +130,7 @@ class UserLoginActivity : AppCompatActivity() { text = stringResource(R.string.user_login_screen_title), fontSize = 22.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.height(12.dp)) @@ -139,7 +139,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier.padding(horizontal = 16.dp), text = stringResource(R.string.user_login_screen_subtitle), fontSize = 14.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.height(28.dp)) @@ -169,7 +169,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier.padding(16.dp), text = stringResource(R.string.sdk_version_template, STREAM_CHAT_VERSION), fontSize = 14.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } } @@ -210,13 +210,13 @@ class UserLoginActivity : AppCompatActivity() { text = userCredentials.user.name, fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = stringResource(id = R.string.user_login_user_subtitle), fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } @@ -224,7 +224,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier.wrapContentSize(), painter = painterResource(id = R.drawable.ic_arrow_right), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) } } @@ -250,7 +250,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier .clip(CircleShape) .size(40.dp) - .background(ChatTheme.colors.disabled) + .background(ChatTheme.colors.backgroundCoreDisabled) .padding(8.dp), painter = painterResource(id = R.drawable.ic_settings), contentDescription = null, @@ -267,13 +267,13 @@ class UserLoginActivity : AppCompatActivity() { text = stringResource(id = R.string.user_login_advanced_options), fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = stringResource(id = R.string.user_login_custom_settings), fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } @@ -281,7 +281,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier.wrapContentSize(), painter = painterResource(id = R.drawable.ic_arrow_right), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) } } @@ -292,7 +292,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier .fillMaxWidth() .height(0.5.dp) - .background(color = ChatTheme.colors.borders), + .background(color = ChatTheme.colors.borderCoreDefault), ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt index 6c5f1de5d21..1d9cc8041f7 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt @@ -101,7 +101,7 @@ fun UserProfilePrivacySettingsScreen( .fillMaxWidth() .padding(horizontal = 16.dp, vertical = 8.dp), colors = ButtonDefaults.buttonColors( - containerColor = ChatTheme.colors.primaryAccent, + containerColor = ChatTheme.colors.accentPrimary, ), shape = RoundedCornerShape(12.dp), ) { @@ -118,7 +118,7 @@ fun UserProfilePrivacySettingsScreen( Spacer(modifier = Modifier.size(8.dp)) Text( text = "Save Settings", - style = ChatTheme.typography.bodyBold.copy( + style = ChatTheme.typography.bodyEmphasis.copy( color = Color.White, fontSize = 16.sp, ), @@ -148,8 +148,8 @@ private fun SwitchItem( ) { Text( text = label, - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Switch( checked = checked, diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt index e74cbdc00d3..741f658691a 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt @@ -102,7 +102,7 @@ fun UserProfilePushPreferencesScreen( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { // Notification Level Section NotificationLevelSection( @@ -140,8 +140,8 @@ private fun NotificationLevelSection( ) { Text( text = "NOTIFICATION LEVEL", - style = ChatTheme.typography.footnote.copy( - color = if (isEnabled) ChatTheme.colors.textLowEmphasis else ChatTheme.colors.disabled, + style = ChatTheme.typography.metadataDefault.copy( + color = if (isEnabled) ChatTheme.colors.textSecondary else ChatTheme.colors.textDisabled, fontWeight = FontWeight.Medium, ), modifier = Modifier.padding(16.dp), @@ -185,8 +185,8 @@ private fun TemporaryDisableSection( ) { Text( text = "TEMPORARY DISABLE", - style = ChatTheme.typography.footnote.copy( - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault.copy( + color = ChatTheme.colors.textSecondary, fontWeight = FontWeight.Medium, ), modifier = Modifier.padding(16.dp), @@ -208,8 +208,8 @@ private fun TemporaryDisableSection( ) { Text( text = "Disable notifications temporarily", - style = ChatTheme.typography.bodyBold.copy( - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis.copy( + color = ChatTheme.colors.textPrimary, ), ) @@ -217,9 +217,9 @@ private fun TemporaryDisableSection( checked = isTemporaryDisabled, onCheckedChange = null, // Handled by row click colors = SwitchDefaults.colors( - checkedTrackColor = ChatTheme.colors.infoAccent, + checkedTrackColor = ChatTheme.colors.accentSuccess, checkedThumbColor = Color.White, - uncheckedTrackColor = ChatTheme.colors.disabled, + uncheckedTrackColor = ChatTheme.colors.backgroundCoreDisabled, uncheckedThumbColor = Color.White, ), ) @@ -250,7 +250,7 @@ private fun ActionButtons( containerColor = if (isTemporaryDisabled) { Color(color = 0xFFFF8A65) // Orange color when temporary disable is ON } else { - ChatTheme.colors.primaryAccent // Blue color when temporary disable is OFF + ChatTheme.colors.accentPrimary }, ), shape = RoundedCornerShape(12.dp), @@ -258,7 +258,7 @@ private fun ActionButtons( if (isTemporaryDisabled) { Text( text = "🔔 Snooze Notifications", - style = ChatTheme.typography.bodyBold.copy( + style = ChatTheme.typography.bodyEmphasis.copy( color = Color.White, fontSize = 16.sp, ), @@ -277,7 +277,7 @@ private fun ActionButtons( Spacer(modifier = Modifier.size(8.dp)) Text( text = "Save Preferences", - style = ChatTheme.typography.bodyBold.copy( + style = ChatTheme.typography.bodyEmphasis.copy( color = Color.White, fontSize = 16.sp, ), @@ -317,15 +317,15 @@ private fun DateTimeSelector( ) { Text( text = "Disable until:", - style = ChatTheme.typography.bodyBold.copy( - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis.copy( + color = ChatTheme.colors.textPrimary, ), ) Text( text = displayTime, - style = ChatTheme.typography.body.copy( - color = ChatTheme.colors.primaryAccent, + style = ChatTheme.typography.bodyDefault.copy( + color = ChatTheme.colors.accentPrimary, ), ) } @@ -439,10 +439,10 @@ private fun NotificationLevelOption( onClick = null, // Handled by row click enabled = isEnabled, colors = RadioButtonDefaults.colors( - selectedColor = if (isEnabled) ChatTheme.colors.primaryAccent else ChatTheme.colors.disabled, - unselectedColor = ChatTheme.colors.disabled, - disabledSelectedColor = ChatTheme.colors.disabled, - disabledUnselectedColor = ChatTheme.colors.disabled, + selectedColor = if (isEnabled) ChatTheme.colors.accentPrimary else ChatTheme.colors.textDisabled, + unselectedColor = ChatTheme.colors.textDisabled, + disabledSelectedColor = ChatTheme.colors.textDisabled, + disabledUnselectedColor = ChatTheme.colors.textDisabled, ), modifier = Modifier.padding(end = 12.dp), ) @@ -450,14 +450,14 @@ private fun NotificationLevelOption( Column(modifier = Modifier.weight(1f)) { Text( text = title, - style = ChatTheme.typography.bodyBold.copy( - color = if (isEnabled) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.disabled, + style = ChatTheme.typography.bodyEmphasis.copy( + color = if (isEnabled) ChatTheme.colors.textPrimary else ChatTheme.colors.textDisabled, ), ) Text( text = subtitle, - style = ChatTheme.typography.footnote.copy( - color = if (isEnabled) ChatTheme.colors.textLowEmphasis else ChatTheme.colors.disabled, + style = ChatTheme.typography.metadataDefault.copy( + color = if (isEnabled) ChatTheme.colors.textSecondary else ChatTheme.colors.textDisabled, ), ) } diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt index 10c00585897..d1f3d9960d6 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt @@ -135,7 +135,7 @@ fun UserProfileScreen( } }, snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { paddingValues -> UserProfileScreenContent( modifier = Modifier.padding(paddingValues), @@ -158,7 +158,7 @@ fun UserProfileScreen( when (modalSheet) { ModalSheet.UnreadCounts -> ModalBottomSheet( onDismissRequest = { modalSheet = null }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { UnreadCounts(state.unreadCounts) } @@ -166,7 +166,7 @@ fun UserProfileScreen( ModalSheet.PushPreferences -> ModalBottomSheet( sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true), onDismissRequest = { modalSheet = null }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { UserProfilePushPreferencesScreen( preferences = state.user?.pushPreference ?: PushPreference(PushPreferenceLevel.all, null), @@ -183,7 +183,7 @@ fun UserProfileScreen( ModalSheet.UpdateProfilePicture -> ModalBottomSheet( onDismissRequest = { modalSheet = null }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { UpdateProfilePicture( onChooseFromLibraryClick = { @@ -205,7 +205,7 @@ fun UserProfileScreen( ModalSheet.UpdatePrivacySettings -> ModalBottomSheet( onDismissRequest = { modalSheet = null }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { state.user?.let { user -> UserProfilePrivacySettingsScreen( @@ -259,7 +259,7 @@ private fun TopBar(onNavigationIconClick: () -> Unit) { ) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ), ) } @@ -279,8 +279,8 @@ private fun LinearProgressIndicator( LinearProgressIndicator( modifier = Modifier.fillMaxWidth(), progress = { state.progress }, - color = ChatTheme.colors.primaryAccent, - trackColor = ChatTheme.colors.inputBackground, + color = ChatTheme.colors.accentPrimary, + trackColor = ChatTheme.colors.backgroundCoreSurface, drawStopIndicator = { /* Don't draw the stop indicator */ }, ) } @@ -288,8 +288,8 @@ private fun LinearProgressIndicator( else -> { LinearProgressIndicator( modifier = Modifier.fillMaxWidth(), - color = ChatTheme.colors.primaryAccent, - trackColor = ChatTheme.colors.inputBackground, + color = ChatTheme.colors.accentPrimary, + trackColor = ChatTheme.colors.backgroundCoreSurface, ) } } @@ -342,13 +342,13 @@ private fun UserProfileScreenContent( ) { Text( text = "Name", - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Text( text = user.name.takeIf(String::isNotBlank) ?: user.id, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -363,13 +363,13 @@ private fun UserProfileScreenContent( ) { Text( text = "Average Response Time", - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Text( text = LocalContext.current.formatTime(seconds = avgResponseTimeInSeconds), - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -415,13 +415,13 @@ private fun NavigationItem( ) { Text( text = label, - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) Icon( imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } @@ -451,13 +451,13 @@ private fun UserProfilePicture( .align(Alignment.BottomEnd) .size(24.dp) .background( - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, shape = CircleShape, ) .padding(4.dp), imageVector = Icons.Rounded.Edit, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } @@ -476,8 +476,8 @@ private fun UpdateProfilePicture( ) { Text( text = "Update Profile Picture", - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, modifier = Modifier.padding(16.dp), ) TextButton( @@ -487,14 +487,14 @@ private fun UpdateProfilePicture( Icon( imageVector = Icons.Rounded.PhotoLibrary, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Spacer(modifier = Modifier.size(8.dp)) Text( modifier = Modifier.weight(1f), text = "Choose from library", - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) } TextButton( @@ -504,14 +504,14 @@ private fun UpdateProfilePicture( Icon( imageVector = Icons.Rounded.PhotoCamera, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Spacer(modifier = Modifier.size(8.dp)) Text( modifier = Modifier.weight(1f), text = "Take a photo", - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) } TextButton( @@ -521,14 +521,14 @@ private fun UpdateProfilePicture( Icon( imageVector = Icons.Rounded.Delete, contentDescription = null, - tint = ChatTheme.colors.errorAccent.copy(alpha = 0.8f), + tint = ChatTheme.colors.accentError.copy(alpha = 0.8f), ) Spacer(modifier = Modifier.size(8.dp)) Text( modifier = Modifier.weight(1f), text = "Remove picture", - style = ChatTheme.typography.title3, - color = ChatTheme.colors.errorAccent, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.accentError, ) } } @@ -596,13 +596,13 @@ private fun LazyListScope.summary( ) { Text( text = title, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textPrimary, ) Text( text = "$count", - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) } } @@ -630,13 +630,13 @@ private fun LazyListScope.unreadChannels( ) { Text( text = item.cid, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = "Last read ${ChatTheme.dateFormatter.formatRelativeTime(item.lastRead)}", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } CountText( @@ -669,18 +669,18 @@ private fun LazyListScope.unreadThreads( ) { Text( text = item.parentMessageId, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = "Last read ${ChatTheme.dateFormatter.formatRelativeTime(item.lastRead)}", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) Text( text = "Last read message: ${item.lastReadMessageId}", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } CountText( @@ -716,15 +716,15 @@ private fun LazyListScope.unreadChannelsByType( ) { Text( text = item.channelType, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) Text( text = "${item.channelsCount} channels", - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } CountText( @@ -752,8 +752,8 @@ private fun LazyListScope.unreadChannelsByTeam( Text( modifier = Modifier.align(Alignment.CenterVertically), text = team, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textPrimary, ) CountText( count = count, @@ -773,8 +773,8 @@ private fun CountText( .background(backgroundColor, RoundedCornerShape(6.dp)) .padding(horizontal = 8.dp, vertical = 4.dp), text = count.toString(), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textSecondary, ) } diff --git a/stream-chat-android-compose/api/stream-chat-android-compose.api b/stream-chat-android-compose/api/stream-chat-android-compose.api index 61a0a66f12f..76a6656ac7e 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -2743,33 +2743,6 @@ public final class io/getstream/chat/android/compose/ui/pinned/PinnedMessageList public static final fun PinnedMessageList (Lio/getstream/chat/android/compose/viewmodel/pinned/PinnedMessageListViewModel;Landroidx/compose/ui/Modifier;Lio/getstream/chat/android/models/User;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V } -public final class io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme$Companion; - public synthetic fun (JJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-0d7_KjU ()J - public final fun component2-0d7_KjU ()J - public final fun component3-0d7_KjU ()J - public final fun component4-0d7_KjU ()J - public final fun component5-0d7_KjU ()J - public final fun component6-0d7_KjU ()J - public final fun copy-tNS2XkQ (JJJJJJ)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme; - public static synthetic fun copy-tNS2XkQ$default (Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;JJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme; - public fun equals (Ljava/lang/Object;)Z - public final fun getBackgroundOverlay-0d7_KjU ()J - public final fun getBackgroundPrimary-0d7_KjU ()J - public final fun getBackgroundSecondary-0d7_KjU ()J - public final fun getCheckIconBackgroundColor-0d7_KjU ()J - public final fun getCheckIconTintColor-0d7_KjU ()J - public final fun getContentColor-0d7_KjU ()J - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme$Companion { - public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme; -} - public final class io/getstream/chat/android/compose/ui/theme/ChannelMediaAttachmentsPreviewBottomBarParams { public static final field $stable I public fun (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V @@ -3214,18 +3187,15 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/ChatTheme; public final fun getAttachmentFactories (Landroidx/compose/runtime/Composer;I)Ljava/util/List; public final fun getAttachmentPickerConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig; - public final fun getAttachmentPickerTheme (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme; public final fun getAttachmentPreviewHandlers (Landroidx/compose/runtime/Composer;I)Ljava/util/List; public final fun getAutoTranslationEnabled (Landroidx/compose/runtime/Composer;I)Z public final fun getChannelNameFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter; public final fun getChannelOptionsTheme (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme; - public final fun getColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors; + public final fun getColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; public final fun getComponentFactory (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory; public final fun getConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChatConfig; public final fun getDateFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DateFormatter; - public final fun getDimens (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDimens; public final fun getDurationFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DurationFormatter; - public final fun getKeyboardBehaviour (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour; public final fun getMediaGalleryConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig; public final fun getMessageAlignmentProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider; public final fun getMessageComposerFloatingStyleEnabled (Landroidx/compose/runtime/Composer;I)Z @@ -3239,7 +3209,6 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme { public final fun getReactionResolver (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/ReactionResolver; public final fun getReadCountEnabled (Landroidx/compose/runtime/Composer;I)Z public final fun getSearchResultNameFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter; - public final fun getShapes (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamShapes; public final fun getShowOriginalTranslationEnabled (Landroidx/compose/runtime/Composer;I)Z public final fun getStreamCdnImageResizing (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing; public final fun getStreamDownloadAttachmentUriGenerator (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; @@ -3248,14 +3217,14 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme { public final fun getStreamImageHeadersProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider; public final fun getStreamMediaRecorder (Landroidx/compose/runtime/Composer;I)Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder; public final fun getTimeProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/TimeProvider; - public final fun getTypography (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamTypography; + public final fun getTypography (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; public final fun getUserPresence (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/model/UserPresence; public final fun getVideoThumbnailsEnabled (Landroidx/compose/runtime/Composer;I)Z public final fun isComposerLinkPreviewEnabled (Landroidx/compose/runtime/Composer;I)Z } public final class io/getstream/chat/android/compose/ui/theme/ChatThemeKt { - public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatConfig;ZZZLio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig;ZLio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/StreamDimens;Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/ui/common/model/UserPresence;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;Lio/getstream/chat/android/compose/ui/util/PollSwitchItemFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIIIIII)V + public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatConfig;ZZZLio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig;ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/ui/common/model/UserPresence;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;Lio/getstream/chat/android/compose/ui/util/PollSwitchItemFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIIIIII)V public static final fun getLocalAttachmentPickerConfig ()Landroidx/compose/runtime/ProvidableCompositionLocal; public static final fun getLocalComponentFactory ()Landroidx/compose/runtime/ProvidableCompositionLocal; public static final fun getLocalComposerLinkPreviewEnabled ()Landroidx/compose/runtime/ProvidableCompositionLocal; @@ -3374,7 +3343,7 @@ public final class io/getstream/chat/android/compose/ui/theme/ComposerActionsThe } public final class io/getstream/chat/android/compose/ui/theme/ComposerActionsTheme$Companion { - public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme; + public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme; } public final class io/getstream/chat/android/compose/ui/theme/ComposerConfig { @@ -3416,7 +3385,7 @@ public final class io/getstream/chat/android/compose/ui/theme/ComposerInputField } public final class io/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme$Companion { - public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/MentionStyleFactory;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme; + public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/MentionStyleFactory;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme; } public final class io/getstream/chat/android/compose/ui/theme/CompoundComponentFactoryKt { @@ -3467,22 +3436,20 @@ public final class io/getstream/chat/android/compose/ui/theme/MentionStyleFactor public final class io/getstream/chat/android/compose/ui/theme/MessageComposerTheme { public static final field $stable I public static final field Companion Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme$Companion; - public fun (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;)V + public fun (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;)V public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme; public final fun component2 ()Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme; - public final fun component3 ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme; - public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; + public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; + public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; public fun equals (Ljava/lang/Object;)Z public final fun getActionsTheme ()Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme; - public final fun getAttachmentsPreview ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme; public final fun getInputField ()Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme; public fun hashCode ()I public fun toString ()Ljava/lang/String; } public final class io/getstream/chat/android/compose/ui/theme/MessageComposerTheme$Companion { - public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; + public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme; } public final class io/getstream/chat/android/compose/ui/theme/MessageFooterStatusIndicatorParams { @@ -3555,18 +3522,18 @@ public final class io/getstream/chat/android/compose/ui/theme/ReactionOptionsThe public static synthetic fun defaultTheme$default (Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme$Companion;ZILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme; } -public final class io/getstream/chat/android/compose/ui/theme/StreamColors { +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign { public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamColors$Companion; - public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors; + public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/StreamDesign; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Colors { + public static final field $stable I + public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion; + public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-0d7_KjU ()J public final fun component10-0d7_KjU ()J - public final fun component100-0d7_KjU ()J - public final fun component101-0d7_KjU ()J - public final fun component102-0d7_KjU ()J - public final fun component103-0d7_KjU ()J - public final fun component104-0d7_KjU ()J public final fun component11-0d7_KjU ()J public final fun component12-0d7_KjU ()J public final fun component13-0d7_KjU ()J @@ -3637,42 +3604,16 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors { public final fun component72-0d7_KjU ()J public final fun component73-0d7_KjU ()J public final fun component74-0d7_KjU ()J - public final fun component75-0d7_KjU ()J - public final fun component76-0d7_KjU ()J - public final fun component77-0d7_KjU ()J - public final fun component78-0d7_KjU ()J - public final fun component79-0d7_KjU ()J public final fun component8-0d7_KjU ()J - public final fun component80-0d7_KjU ()J - public final fun component81-0d7_KjU ()J - public final fun component82-0d7_KjU ()J - public final fun component83-0d7_KjU ()J - public final fun component84-0d7_KjU ()J - public final fun component85-0d7_KjU ()J - public final fun component86-0d7_KjU ()J - public final fun component87-0d7_KjU ()J - public final fun component88-0d7_KjU ()J - public final fun component89-0d7_KjU ()J public final fun component9-0d7_KjU ()J - public final fun component90-0d7_KjU ()J - public final fun component91-0d7_KjU ()J - public final fun component92-0d7_KjU ()J - public final fun component93-0d7_KjU ()J - public final fun component94-0d7_KjU ()J - public final fun component95-0d7_KjU ()J - public final fun component96-0d7_KjU ()J - public final fun component97-0d7_KjU ()J - public final fun component98-0d7_KjU ()J - public final fun component99-0d7_KjU ()J - public final fun copy-wfSMY9o (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamColors; - public static synthetic fun copy-wfSMY9o$default (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamColors; + public final fun copy-PluTXJ0 (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public static synthetic fun copy-PluTXJ0$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; public fun equals (Ljava/lang/Object;)Z public final fun getAccentBlack-0d7_KjU ()J public final fun getAccentError-0d7_KjU ()J public final fun getAccentNeutral-0d7_KjU ()J public final fun getAccentPrimary-0d7_KjU ()J public final fun getAccentSuccess-0d7_KjU ()J - public final fun getAppBackground-0d7_KjU ()J public final fun getAvatarBgPlaceholder-0d7_KjU ()J public final fun getAvatarPaletteBg1-0d7_KjU ()J public final fun getAvatarPaletteBg2-0d7_KjU ()J @@ -3685,30 +3626,40 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors { public final fun getAvatarPaletteText4-0d7_KjU ()J public final fun getAvatarPaletteText5-0d7_KjU ()J public final fun getAvatarTextPlaceholder-0d7_KjU ()J + public final fun getBackgroundCoreApp-0d7_KjU ()J public final fun getBackgroundCoreDisabled-0d7_KjU ()J + public final fun getBackgroundCoreHighlight-0d7_KjU ()J public final fun getBackgroundCoreInverse-0d7_KjU ()J + public final fun getBackgroundCoreOverlayDark-0d7_KjU ()J + public final fun getBackgroundCoreScrim-0d7_KjU ()J public final fun getBackgroundCoreSelected-0d7_KjU ()J public final fun getBackgroundCoreSurface-0d7_KjU ()J + public final fun getBackgroundCoreSurfaceStrong-0d7_KjU ()J public final fun getBackgroundCoreSurfaceSubtle-0d7_KjU ()J public final fun getBackgroundElevationElevation0-0d7_KjU ()J public final fun getBackgroundElevationElevation1-0d7_KjU ()J public final fun getBackgroundElevationElevation2-0d7_KjU ()J + public final fun getBackgroundElevationElevation3-0d7_KjU ()J + public final fun getBackgroundElevationElevation4-0d7_KjU ()J public final fun getBadgeBgDefault-0d7_KjU ()J + public final fun getBadgeBgError-0d7_KjU ()J public final fun getBadgeBgInverse-0d7_KjU ()J + public final fun getBadgeBgNeutral-0d7_KjU ()J public final fun getBadgeBgOverlay-0d7_KjU ()J + public final fun getBadgeBgPrimary-0d7_KjU ()J + public final fun getBadgeBorder-0d7_KjU ()J public final fun getBadgeText-0d7_KjU ()J public final fun getBadgeTextInverse-0d7_KjU ()J public final fun getBadgeTextOnAccent-0d7_KjU ()J - public final fun getBarsBackground-0d7_KjU ()J public final fun getBorderCoreDefault-0d7_KjU ()J - public final fun getBorderCoreImage-0d7_KjU ()J public final fun getBorderCoreOnAccent-0d7_KjU ()J public final fun getBorderCoreOnDark-0d7_KjU ()J + public final fun getBorderCoreOpacity10-0d7_KjU ()J public final fun getBorderCoreOpacity25-0d7_KjU ()J - public final fun getBorderCorePrimary-0d7_KjU ()J - public final fun getBorderCoreSurfaceSubtle-0d7_KjU ()J + public final fun getBorderCoreStrong-0d7_KjU ()J + public final fun getBorderCoreSubtle-0d7_KjU ()J public final fun getBorderUtilityDisabled-0d7_KjU ()J - public final fun getBorders-0d7_KjU ()J + public final fun getBorderUtilitySelected-0d7_KjU ()J public final fun getBrand100-0d7_KjU ()J public final fun getBrand150-0d7_KjU ()J public final fun getBrand200-0d7_KjU ()J @@ -3736,8 +3687,11 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors { public final fun getChatBgAttachmentOutgoing-0d7_KjU ()J public final fun getChatBgIncoming-0d7_KjU ()J public final fun getChatBgOutgoing-0d7_KjU ()J + public final fun getChatBgTypingIndicator-0d7_KjU ()J + public final fun getChatBorderIncoming-0d7_KjU ()J public final fun getChatBorderOnChatIncoming-0d7_KjU ()J public final fun getChatBorderOnChatOutgoing-0d7_KjU ()J + public final fun getChatBorderOutgoing-0d7_KjU ()J public final fun getChatPollProgressFillIncoming-0d7_KjU ()J public final fun getChatPollProgressFillOutgoing-0d7_KjU ()J public final fun getChatPollProgressTrackIncoming-0d7_KjU ()J @@ -3748,329 +3702,77 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors { public final fun getChatTextLink-0d7_KjU ()J public final fun getChatTextMention-0d7_KjU ()J public final fun getChatTextOutgoing-0d7_KjU ()J + public final fun getChatTextReaction-0d7_KjU ()J + public final fun getChatTextRead-0d7_KjU ()J public final fun getChatTextSystem-0d7_KjU ()J public final fun getChatTextTimestamp-0d7_KjU ()J + public final fun getChatTextUsername-0d7_KjU ()J + public final fun getChatThreadConnectorIncoming-0d7_KjU ()J + public final fun getChatThreadConnectorOutgoing-0d7_KjU ()J public final fun getChatWaveformBar-0d7_KjU ()J public final fun getChatWaveformBarPlaying-0d7_KjU ()J + public final fun getChipBg-0d7_KjU ()J public final fun getChipText-0d7_KjU ()J + public final fun getComposerBg-0d7_KjU ()J public final fun getControlPlayControlBg-0d7_KjU ()J public final fun getControlPlayControlIcon-0d7_KjU ()J + public final fun getControlPlaybackToggleBorder-0d7_KjU ()J + public final fun getControlPlaybackToggleText-0d7_KjU ()J + public final fun getControlProgressBarFill-0d7_KjU ()J + public final fun getControlProgressBarTrack-0d7_KjU ()J + public final fun getControlRadioCheckBg-0d7_KjU ()J public final fun getControlRadioCheckBgSelected-0d7_KjU ()J public final fun getControlRadioCheckBorder-0d7_KjU ()J public final fun getControlRadioCheckIconSelected-0d7_KjU ()J public final fun getControlRemoveBg-0d7_KjU ()J public final fun getControlRemoveBorder-0d7_KjU ()J public final fun getControlRemoveIcon-0d7_KjU ()J - public final fun getDisabled-0d7_KjU ()J - public final fun getErrorAccent-0d7_KjU ()J - public final fun getHighlight-0d7_KjU ()J - public final fun getImageBackgroundMediaGalleryPicker-0d7_KjU ()J - public final fun getImageBackgroundMessageList-0d7_KjU ()J - public final fun getInfoAccent-0d7_KjU ()J - public final fun getInputBackground-0d7_KjU ()J - public final fun getLegacyColors ()Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors; - public final fun getMediaShimmerBase-0d7_KjU ()J - public final fun getMediaShimmerHighlights-0d7_KjU ()J - public final fun getOverlay-0d7_KjU ()J - public final fun getOverlayDark-0d7_KjU ()J + public final fun getControlToggleSwitchBg-0d7_KjU ()J + public final fun getControlToggleSwitchBgDisabled-0d7_KjU ()J + public final fun getControlToggleSwitchBgSelected-0d7_KjU ()J + public final fun getControlToggleSwitchKnob-0d7_KjU ()J + public final fun getInputBorderDefault-0d7_KjU ()J + public final fun getInputBorderHover-0d7_KjU ()J + public final fun getInputBorderSelected-0d7_KjU ()J + public final fun getInputSendIcon-0d7_KjU ()J + public final fun getInputSendIconDisabled-0d7_KjU ()J + public final fun getInputTextDefault-0d7_KjU ()J + public final fun getInputTextDisabled-0d7_KjU ()J + public final fun getInputTextIcon-0d7_KjU ()J + public final fun getInputTextPlaceholder-0d7_KjU ()J public final fun getPresenceBgOffline-0d7_KjU ()J public final fun getPresenceBgOnline-0d7_KjU ()J public final fun getPresenceBorder-0d7_KjU ()J - public final fun getPrimaryAccent-0d7_KjU ()J - public final fun getShowMoreCountText-0d7_KjU ()J - public final fun getShowMoreOverlay-0d7_KjU ()J - public final fun getStateBgDisabled-0d7_KjU ()J - public final fun getStateTextDisabled-0d7_KjU ()J + public final fun getReactionBg-0d7_KjU ()J + public final fun getReactionBorder-0d7_KjU ()J + public final fun getReactionEmoji-0d7_KjU ()J + public final fun getReactionText-0d7_KjU ()J + public final fun getSkeletonLoadingBase-0d7_KjU ()J + public final fun getSkeletonLoadingHighlight-0d7_KjU ()J public final fun getTextDisabled-0d7_KjU ()J - public final fun getTextHighEmphasis-0d7_KjU ()J - public final fun getTextHighEmphasisInverse-0d7_KjU ()J - public final fun getTextLowEmphasis-0d7_KjU ()J public final fun getTextOnAccent-0d7_KjU ()J public final fun getTextOnDark-0d7_KjU ()J public final fun getTextPrimary-0d7_KjU ()J public final fun getTextSecondary-0d7_KjU ()J public final fun getTextTertiary-0d7_KjU ()J - public final fun getThreadSeparatorGradientEnd-0d7_KjU ()J - public final fun getThreadSeparatorGradientStart-0d7_KjU ()J - public final fun getVideoBackgroundMediaGalleryPicker-0d7_KjU ()J - public final fun getVideoBackgroundMessageList-0d7_KjU ()J - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamColors$Companion { - public final fun defaultColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors; - public final fun defaultDarkColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamDimens { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDimens$Companion; - public synthetic fun (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFIILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-D9Ej5fM ()F - public final fun component10-D9Ej5fM ()F - public final fun component11-D9Ej5fM ()F - public final fun component12-D9Ej5fM ()F - public final fun component13-D9Ej5fM ()F - public final fun component14-D9Ej5fM ()F - public final fun component15-D9Ej5fM ()F - public final fun component16-D9Ej5fM ()F - public final fun component17-D9Ej5fM ()F - public final fun component18-D9Ej5fM ()F - public final fun component19-D9Ej5fM ()F - public final fun component2-D9Ej5fM ()F - public final fun component20-D9Ej5fM ()F - public final fun component21-D9Ej5fM ()F - public final fun component22-D9Ej5fM ()F - public final fun component23-D9Ej5fM ()F - public final fun component24-D9Ej5fM ()F - public final fun component25-D9Ej5fM ()F - public final fun component26-D9Ej5fM ()F - public final fun component27-D9Ej5fM ()F - public final fun component28-D9Ej5fM ()F - public final fun component29-D9Ej5fM ()F - public final fun component3-D9Ej5fM ()F - public final fun component30-D9Ej5fM ()F - public final fun component31-D9Ej5fM ()F - public final fun component32-D9Ej5fM ()F - public final fun component33-D9Ej5fM ()F - public final fun component34-D9Ej5fM ()F - public final fun component35-D9Ej5fM ()F - public final fun component36-D9Ej5fM ()F - public final fun component37-D9Ej5fM ()F - public final fun component38-D9Ej5fM ()F - public final fun component39-D9Ej5fM ()F - public final fun component4-D9Ej5fM ()F - public final fun component40-D9Ej5fM ()F - public final fun component41-D9Ej5fM ()F - public final fun component42-D9Ej5fM ()F - public final fun component43-D9Ej5fM ()F - public final fun component44-D9Ej5fM ()F - public final fun component45-D9Ej5fM ()F - public final fun component46-D9Ej5fM ()F - public final fun component47-D9Ej5fM ()F - public final fun component48-D9Ej5fM ()F - public final fun component49-D9Ej5fM ()F - public final fun component5-D9Ej5fM ()F - public final fun component50-D9Ej5fM ()F - public final fun component51-D9Ej5fM ()F - public final fun component52-D9Ej5fM ()F - public final fun component53-D9Ej5fM ()F - public final fun component54-D9Ej5fM ()F - public final fun component6-D9Ej5fM ()F - public final fun component7-D9Ej5fM ()F - public final fun component8-D9Ej5fM ()F - public final fun component9-D9Ej5fM ()F - public final fun copy-zsmG0Fc (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)Lio/getstream/chat/android/compose/ui/theme/StreamDimens; - public static synthetic fun copy-zsmG0Fc$default (Lio/getstream/chat/android/compose/ui/theme/StreamDimens;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDimens; - public fun equals (Ljava/lang/Object;)Z - public final fun getAttachmentsContentFileUploadWidth-D9Ej5fM ()F - public final fun getAttachmentsContentFileWidth-D9Ej5fM ()F - public final fun getAttachmentsContentGiphyHeight-D9Ej5fM ()F - public final fun getAttachmentsContentGiphyMaxHeight-D9Ej5fM ()F - public final fun getAttachmentsContentGiphyMaxWidth-D9Ej5fM ()F - public final fun getAttachmentsContentGiphyWidth-D9Ej5fM ()F - public final fun getAttachmentsContentGroupPreviewHeight-D9Ej5fM ()F - public final fun getAttachmentsContentGroupPreviewWidth-D9Ej5fM ()F - public final fun getAttachmentsContentImageMaxHeight-D9Ej5fM ()F - public final fun getAttachmentsContentImageWidth-D9Ej5fM ()F - public final fun getAttachmentsContentLinkWidth-D9Ej5fM ()F - public final fun getAttachmentsContentMediaGridSpacing-D9Ej5fM ()F - public final fun getAttachmentsContentUnsupportedWidth-D9Ej5fM ()F - public final fun getAttachmentsContentVideoMaxHeight-D9Ej5fM ()F - public final fun getAttachmentsContentVideoWidth-D9Ej5fM ()F - public final fun getAttachmentsPickerHeight-D9Ej5fM ()F - public final fun getAttachmentsSystemPickerHeight-D9Ej5fM ()F - public final fun getChannelAvatarSize-D9Ej5fM ()F - public final fun getChannelItemHorizontalPadding-D9Ej5fM ()F - public final fun getChannelItemVerticalPadding-D9Ej5fM ()F - public final fun getCommandSuggestionItemHorizontalPadding-D9Ej5fM ()F - public final fun getCommandSuggestionItemIconSize-D9Ej5fM ()F - public final fun getCommandSuggestionItemVerticalPadding-D9Ej5fM ()F - public final fun getGroupAvatarInitialsXOffset-D9Ej5fM ()F - public final fun getGroupAvatarInitialsYOffset-D9Ej5fM ()F - public final fun getHeaderElevation-D9Ej5fM ()F - public final fun getMentionSuggestionItemAvatarSize-D9Ej5fM ()F - public final fun getMentionSuggestionItemHorizontalPadding-D9Ej5fM ()F - public final fun getMentionSuggestionItemVerticalPadding-D9Ej5fM ()F - public final fun getMessageComposerShadowElevation-D9Ej5fM ()F - public final fun getMessageItemMaxWidth-D9Ej5fM ()F - public final fun getPollOptionInputHeight-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentBottomPadding-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentEndPadding-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentPreviewSize-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentSpacerHorizontal-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentSpacerVertical-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentStartPadding-D9Ej5fM ()F - public final fun getQuotedMessageAttachmentTopPadding-D9Ej5fM ()F - public final fun getQuotedMessageTextHorizontalPadding-D9Ej5fM ()F - public final fun getQuotedMessageTextVerticalPadding-D9Ej5fM ()F - public final fun getSelectedChannelMenuUserItemAvatarSize-D9Ej5fM ()F - public final fun getSelectedChannelMenuUserItemHorizontalPadding-D9Ej5fM ()F - public final fun getSelectedChannelMenuUserItemWidth-D9Ej5fM ()F - public final fun getSuggestionListElevation-D9Ej5fM ()F - public final fun getSuggestionListMaxHeight-D9Ej5fM ()F - public final fun getSuggestionListPadding-D9Ej5fM ()F - public final fun getThreadParticipantItemSize-D9Ej5fM ()F - public final fun getThreadSeparatorTextVerticalPadding-D9Ej5fM ()F - public final fun getThreadSeparatorVerticalPadding-D9Ej5fM ()F - public final fun getUserReactionItemAvatarSize-D9Ej5fM ()F - public final fun getUserReactionItemIconSize-D9Ej5fM ()F - public final fun getUserReactionItemWidth-D9Ej5fM ()F - public final fun getUserReactionsMaxHeight-D9Ej5fM ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamDimens$Companion { - public final fun defaultDimens ()Lio/getstream/chat/android/compose/ui/theme/StreamDimens; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour$Companion; - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;ZILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour; - public fun equals (Ljava/lang/Object;)Z - public final fun getCloseKeyboardOnAttachmentPickerOpen ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour$Companion { - public final fun defaultBehaviour ()Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamLegacyColors { - public static final field $stable I - public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-0d7_KjU ()J - public final fun component10-0d7_KjU ()J - public final fun component11-0d7_KjU ()J - public final fun component12-0d7_KjU ()J - public final fun component13-0d7_KjU ()J - public final fun component14-0d7_KjU ()J - public final fun component15-0d7_KjU ()J - public final fun component16-0d7_KjU ()J - public final fun component17-0d7_KjU ()J - public final fun component18-0d7_KjU ()J - public final fun component19-0d7_KjU ()J - public final fun component2-0d7_KjU ()J - public final fun component20-0d7_KjU ()J - public final fun component21-0d7_KjU ()J - public final fun component22-0d7_KjU ()J - public final fun component23-0d7_KjU ()J - public final fun component3-0d7_KjU ()J - public final fun component4-0d7_KjU ()J - public final fun component5-0d7_KjU ()J - public final fun component6-0d7_KjU ()J - public final fun component7-0d7_KjU ()J - public final fun component8-0d7_KjU ()J - public final fun component9-0d7_KjU ()J - public final fun copy-ZLJeMyA (JJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors; - public static synthetic fun copy-ZLJeMyA$default (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors; - public fun equals (Ljava/lang/Object;)Z - public final fun getBarsBackground-0d7_KjU ()J - public final fun getBorders-0d7_KjU ()J - public final fun getDisabled-0d7_KjU ()J - public final fun getErrorAccent-0d7_KjU ()J - public final fun getHighlight-0d7_KjU ()J - public final fun getImageBackgroundMediaGalleryPicker-0d7_KjU ()J - public final fun getImageBackgroundMessageList-0d7_KjU ()J - public final fun getInfoAccent-0d7_KjU ()J - public final fun getInputBackground-0d7_KjU ()J - public final fun getMediaShimmerBase-0d7_KjU ()J - public final fun getMediaShimmerHighlights-0d7_KjU ()J - public final fun getOverlay-0d7_KjU ()J - public final fun getOverlayDark-0d7_KjU ()J - public final fun getPrimaryAccent-0d7_KjU ()J - public final fun getShowMoreCountText-0d7_KjU ()J - public final fun getShowMoreOverlay-0d7_KjU ()J - public final fun getTextHighEmphasis-0d7_KjU ()J - public final fun getTextHighEmphasisInverse-0d7_KjU ()J - public final fun getTextLowEmphasis-0d7_KjU ()J - public final fun getThreadSeparatorGradientEnd-0d7_KjU ()J - public final fun getThreadSeparatorGradientStart-0d7_KjU ()J - public final fun getVideoBackgroundMediaGalleryPicker-0d7_KjU ()J - public final fun getVideoBackgroundMessageList-0d7_KjU ()J public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion; - public synthetic fun (JLandroidx/compose/material/ripple/RippleAlpha;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getColor-0d7_KjU ()J - public final fun getRippleAlpha ()Landroidx/compose/material/ripple/RippleAlpha; +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion { + public final fun default ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public final fun defaultDark ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; } -public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion { - public final fun defaultRippleConfiguration-Iv8Zu3U (JZLandroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamShapes { +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Typography { public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamShapes$Companion; - public fun (Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;)V - public final fun component1 ()Landroidx/compose/ui/graphics/Shape; - public final fun component10 ()Landroidx/compose/ui/graphics/Shape; - public final fun component11 ()Landroidx/compose/ui/graphics/Shape; - public final fun component2 ()Landroidx/compose/ui/graphics/Shape; - public final fun component3 ()Landroidx/compose/ui/graphics/Shape; - public final fun component4 ()Landroidx/compose/ui/graphics/Shape; - public final fun component5 ()Landroidx/compose/ui/graphics/Shape; - public final fun component6 ()Landroidx/compose/ui/graphics/Shape; - public final fun component7 ()Landroidx/compose/ui/graphics/Shape; - public final fun component8 ()Landroidx/compose/ui/graphics/Shape; - public final fun component9 ()Landroidx/compose/ui/graphics/Shape; - public final fun copy (Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;)Lio/getstream/chat/android/compose/ui/theme/StreamShapes; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamShapes; - public fun equals (Ljava/lang/Object;)Z - public final fun getAttachment ()Landroidx/compose/ui/graphics/Shape; - public final fun getAvatar ()Landroidx/compose/ui/graphics/Shape; - public final fun getBottomSheet ()Landroidx/compose/ui/graphics/Shape; - public final fun getHeader ()Landroidx/compose/ui/graphics/Shape; - public final fun getImageThumbnail ()Landroidx/compose/ui/graphics/Shape; - public final fun getInputField ()Landroidx/compose/ui/graphics/Shape; - public final fun getMyMessageBubble ()Landroidx/compose/ui/graphics/Shape; - public final fun getOtherMessageBubble ()Landroidx/compose/ui/graphics/Shape; - public final fun getPollOptionInput ()Landroidx/compose/ui/graphics/Shape; - public final fun getQuotedAttachment ()Landroidx/compose/ui/graphics/Shape; - public final fun getSuggestionList ()Landroidx/compose/ui/graphics/Shape; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamShapes$Companion { - public final fun defaultShapes ()Lio/getstream/chat/android/compose/ui/theme/StreamShapes; -} - -public final class io/getstream/chat/android/compose/ui/theme/StreamTypography { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamTypography$Companion; - public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)V + public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion; + public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)V public final fun component1 ()Landroidx/compose/ui/text/TextStyle; public final fun component10 ()Landroidx/compose/ui/text/TextStyle; public final fun component11 ()Landroidx/compose/ui/text/TextStyle; public final fun component12 ()Landroidx/compose/ui/text/TextStyle; - public final fun component13 ()Landroidx/compose/ui/text/TextStyle; - public final fun component14 ()Landroidx/compose/ui/text/TextStyle; - public final fun component15 ()Landroidx/compose/ui/text/TextStyle; - public final fun component16 ()Landroidx/compose/ui/text/TextStyle; - public final fun component17 ()Landroidx/compose/ui/text/TextStyle; - public final fun component18 ()Landroidx/compose/ui/text/TextStyle; - public final fun component19 ()Landroidx/compose/ui/text/TextStyle; public final fun component2 ()Landroidx/compose/ui/text/TextStyle; - public final fun component20 ()Landroidx/compose/ui/text/TextStyle; - public final fun component21 ()Landroidx/compose/ui/text/TextStyle; - public final fun component22 ()Landroidx/compose/ui/text/TextStyle; - public final fun component23 ()Landroidx/compose/ui/text/TextStyle; - public final fun component24 ()Landroidx/compose/ui/text/TextStyle; - public final fun component25 ()Landroidx/compose/ui/text/TextStyle; public final fun component3 ()Landroidx/compose/ui/text/TextStyle; public final fun component4 ()Landroidx/compose/ui/text/TextStyle; public final fun component5 ()Landroidx/compose/ui/text/TextStyle; @@ -4078,21 +3780,13 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamTypography { public final fun component7 ()Landroidx/compose/ui/text/TextStyle; public final fun component8 ()Landroidx/compose/ui/text/TextStyle; public final fun component9 ()Landroidx/compose/ui/text/TextStyle; - public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; + public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; public fun equals (Ljava/lang/Object;)Z - public final fun getBody ()Landroidx/compose/ui/text/TextStyle; - public final fun getBodyBold ()Landroidx/compose/ui/text/TextStyle; public final fun getBodyDefault ()Landroidx/compose/ui/text/TextStyle; public final fun getBodyEmphasis ()Landroidx/compose/ui/text/TextStyle; - public final fun getBodyItalic ()Landroidx/compose/ui/text/TextStyle; - public final fun getCaptionBold ()Landroidx/compose/ui/text/TextStyle; public final fun getCaptionDefault ()Landroidx/compose/ui/text/TextStyle; public final fun getCaptionEmphasis ()Landroidx/compose/ui/text/TextStyle; - public final fun getEmojiOnly ()Landroidx/compose/ui/text/TextStyle; - public final fun getFootnote ()Landroidx/compose/ui/text/TextStyle; - public final fun getFootnoteBold ()Landroidx/compose/ui/text/TextStyle; - public final fun getFootnoteItalic ()Landroidx/compose/ui/text/TextStyle; public final fun getHeadingLarge ()Landroidx/compose/ui/text/TextStyle; public final fun getHeadingMedium ()Landroidx/compose/ui/text/TextStyle; public final fun getHeadingSmall ()Landroidx/compose/ui/text/TextStyle; @@ -4101,18 +3795,25 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamTypography { public final fun getNumericExtraLarge ()Landroidx/compose/ui/text/TextStyle; public final fun getNumericLarge ()Landroidx/compose/ui/text/TextStyle; public final fun getNumericMedium ()Landroidx/compose/ui/text/TextStyle; - public final fun getSingleEmoji ()Landroidx/compose/ui/text/TextStyle; - public final fun getTabBar ()Landroidx/compose/ui/text/TextStyle; - public final fun getTitle1 ()Landroidx/compose/ui/text/TextStyle; - public final fun getTitle3 ()Landroidx/compose/ui/text/TextStyle; - public final fun getTitle3Bold ()Landroidx/compose/ui/text/TextStyle; public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final class io/getstream/chat/android/compose/ui/theme/StreamTypography$Companion { - public final fun defaultTypography (Landroidx/compose/ui/text/font/FontFamily;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography; - public static synthetic fun defaultTypography$default (Lio/getstream/chat/android/compose/ui/theme/StreamTypography$Companion;Landroidx/compose/ui/text/font/FontFamily;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography; +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion { + public final fun default (Landroidx/compose/ui/text/font/FontFamily;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; + public static synthetic fun default$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion;Landroidx/compose/ui/text/font/FontFamily;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration { + public static final field $stable I + public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion; + public synthetic fun (JLandroidx/compose/material/ripple/RippleAlpha;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getColor-0d7_KjU ()J + public final fun getRippleAlpha ()Landroidx/compose/material/ripple/RippleAlpha; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion { + public final fun defaultRippleConfiguration-Iv8Zu3U (JZLandroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration; } public final class io/getstream/chat/android/compose/ui/theme/TextContainerStyle { @@ -4133,48 +3834,6 @@ public final class io/getstream/chat/android/compose/ui/theme/TextContainerStyle public fun toString ()Ljava/lang/String; } -public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme$Companion; - public fun (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;)V - public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme; - public final fun copy (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme; - public fun equals (Ljava/lang/Object;)Z - public final fun getAudioRecording ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme$Companion { - public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme; -} - -public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme { - public static final field $stable I - public static final field Companion Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme$Companion; - public fun (Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;)V - public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/ComponentSize; - public final fun component2 ()Lio/getstream/chat/android/compose/ui/theme/ComponentPadding; - public final fun component3 ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle; - public final fun component4 ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle; - public final fun component5 ()Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle; - public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme; - public fun equals (Ljava/lang/Object;)Z - public final fun getPadding ()Lio/getstream/chat/android/compose/ui/theme/ComponentPadding; - public final fun getPauseButton ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle; - public final fun getPlayButton ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle; - public final fun getSize ()Lio/getstream/chat/android/compose/ui/theme/ComponentSize; - public final fun getTimerStyle ()Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme$Companion { - public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme; -} - public final class io/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadItemKt; public static field lambda-1 Lkotlin/jvm/functions/Function4; @@ -4313,7 +3972,7 @@ public abstract interface class io/getstream/chat/android/compose/ui/util/Messag } public final class io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter$Companion { - public final fun defaultFormatter (Landroid/content/Context;ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Ljava/util/List;Lio/getstream/chat/android/compose/ui/theme/StreamColors;)Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter; + public final fun defaultFormatter (Landroid/content/Context;ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Ljava/util/List;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;)Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter; } public abstract interface class io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory { @@ -4332,8 +3991,7 @@ public abstract interface class io/getstream/chat/android/compose/ui/util/Messag public final class io/getstream/chat/android/compose/ui/util/MessageTextFormatter$Companion { public final fun composite ([Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter; - public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter; - public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter; + public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter; } public final class io/getstream/chat/android/compose/ui/util/MessageUtilsKt { diff --git a/stream-chat-android-compose/detekt-baseline.xml b/stream-chat-android-compose/detekt-baseline.xml index de38e64fc4f..74570cdba33 100644 --- a/stream-chat-android-compose/detekt-baseline.xml +++ b/stream-chat-android-compose/detekt-baseline.xml @@ -14,8 +14,8 @@ LongMethod:MessageTheme.kt$MessageTheme.Companion$@Composable @Suppress("DEPRECATION_ERROR") private fun defaultTheme( own: Boolean, isInDarkMode: Boolean, typography: StreamTypography, shapes: StreamShapes, colors: StreamColors, ): MessageTheme LongMethod:PollCreationDiscardDialog.kt$@Composable public fun PollCreationDiscardDialog( usePlatformDefaultWidth: Boolean = false, onCancelClicked: () -> Unit, onDiscardClicked: () -> Unit, ) LongMethod:PollMessageContent.kt$@Composable private fun PollOptionItem( modifier: Modifier = Modifier, poll: Poll, option: Option, voteCount: Int, totalVoteCount: Int, users: List<User>, checkedCount: Int, checked: Boolean, onCastVote: () -> Unit, onRemoveVote: () -> Unit, ) - LongMethod:PollOptionList.kt$@Composable public fun PollOptionList( modifier: Modifier = Modifier, lazyListState: LazyListState = rememberLazyListState(), title: String = stringResource(id = R.string.stream_compose_poll_option_title), optionItems: List<PollOptionItem> = emptyList(), onQuestionsChanged: (List<PollOptionItem>) -> Unit, itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp), ) - LongMethod:PollSwitchList.kt$@Composable public fun PollSwitchList( modifier: Modifier = Modifier, pollSwitchItems: List<PollSwitchItem>, onSwitchesChanged: (List<PollSwitchItem>) -> Unit, itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp), ) + LongMethod:PollOptionList.kt$@Composable public fun PollOptionList( modifier: Modifier = Modifier, lazyListState: LazyListState = rememberLazyListState(), title: String = stringResource(id = R.string.stream_compose_poll_option_title), optionItems: List<PollOptionItem> = emptyList(), onQuestionsChanged: (List<PollOptionItem>) -> Unit, itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp), ) + LongMethod:PollSwitchList.kt$@Composable public fun PollSwitchList( modifier: Modifier = Modifier, pollSwitchItems: List<PollSwitchItem>, onSwitchesChanged: (List<PollSwitchItem>) -> Unit, itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp), ) LongMethod:StreamTypography.kt$StreamTypography.Companion$public fun defaultTypography(fontFamily: FontFamily? = null): StreamTypography LongParameterList:AudioRecordAttachmentContent.kt$( modifier: Modifier = Modifier, attachment: Attachment, playerState: AudioPlayerState, size: ComponentSize, padding: ComponentPadding, playbackToggleStyle: (isPlaying: Boolean) -> IconContainerStyle, timerStyle: TextContainerStyle, waveformSliderStyle: WaveformSliderLayoutStyle, onPlayToggleClick: (Attachment) -> Unit = {}, onThumbDragStart: (Attachment) -> Unit = {}, onThumbDragStop: (Attachment, Float) -> Unit = { _, _ -> }, tailContent: @Composable (isPlaying: Boolean) -> Unit = {}, ) LongParameterList:MessagesScreen.kt$( listViewModel: MessageListViewModel, composerViewModel: MessageComposerViewModel, selectedMessageState: SelectedMessageState?, selectedMessage: Message, skipPushNotification: Boolean, skipEnrichUrl: Boolean, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt index 9f829ce7910..cb40a518420 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt @@ -38,7 +38,6 @@ import io.getstream.chat.android.compose.ui.attachments.factory.UnsupportedAttac import io.getstream.chat.android.compose.ui.attachments.factory.UploadAttachmentFactory import io.getstream.chat.android.compose.ui.attachments.preview.MediaGalleryPreviewContract import io.getstream.chat.android.compose.ui.attachments.preview.handler.AttachmentPreviewHandler -import io.getstream.chat.android.compose.ui.theme.StreamDimens import io.getstream.chat.android.compose.viewmodel.messages.AudioPlayerViewModelFactory import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.Message @@ -68,9 +67,7 @@ public object StreamAttachmentFactories { * Giphy attachments. * @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic * makes the container capable of adaptive resizing and ignore - * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight] - * dimensions, however you can still clip maximum dimensions using - * [StreamDimens.attachmentsContentGiphyMaxWidth] and [StreamDimens.attachmentsContentGiphyMaxHeight]. + * the default Giphy width and height dimensions, however you can still clip maximum dimensions. * Setting it to fixed size mode will make it respect all given dimensions. * @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable. * @param skipEnrichUrl Used by the media gallery. If set to true will skip enriching URLs when you update the diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt index be5f187f618..f237fdeb86d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt @@ -103,7 +103,7 @@ public fun AudioRecordAttachmentPreviewContentItem( AudioRecordAttachmentContentItemBase( modifier = modifier, attachment = attachment, - outlineColor = ChatTheme.colors.borderCorePrimary, + outlineColor = ChatTheme.colors.borderUtilitySelected, textColor = ChatTheme.colors.chatTextOutgoing, playerState = playerState, waveformHeight = 36.dp, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt index a084d141003..3e83e0634c5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt @@ -221,7 +221,7 @@ public fun FileAttachmentImage( if (data != null) { val showThumbnail = attachment.isImage() || attachment.isVideo() && ChatTheme.videoThumbnailsEnabled val imageModifier = if (showThumbnail) { - baseModifier.clip(ChatTheme.shapes.imageThumbnail) + baseModifier.clip(RoundedCornerShape(StreamTokens.radiusMd)) } else { baseModifier } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt index f3bebbda4f9..3d67621d9d9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt @@ -75,9 +75,9 @@ public fun FileAttachmentPreviewContent( modifier = Modifier .animateItem() .padding(1.dp), - color = ChatTheme.colors.appBackground, + color = ChatTheme.colors.backgroundCoreApp, shape = RoundedCornerShape(16.dp), - border = BorderStroke(1.dp, ChatTheme.colors.borders), + border = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault), ) { Row( modifier = Modifier @@ -100,10 +100,10 @@ public fun FileAttachmentPreviewContent( Text( modifier = Modifier.testTag("Stream_FileNameInPreview"), text = attachment.title ?: attachment.name ?: "", - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) val fileSize = attachment.fileSize @@ -113,8 +113,8 @@ public fun FileAttachmentPreviewContent( Text( modifier = Modifier.testTag("Stream_FileSizeInPreview"), text = fileSize, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt index 325f18f1b62..ec1ece7590e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt @@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -41,6 +42,7 @@ import io.getstream.chat.android.compose.state.messages.attachments.AttachmentSt import io.getstream.chat.android.compose.ui.attachments.preview.handler.AttachmentPreviewHandler import io.getstream.chat.android.compose.ui.components.LoadingIndicator import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.Attachment.UploadState.Idle import io.getstream.chat.android.models.Attachment.UploadState.InProgress @@ -98,8 +100,8 @@ public fun FileUploadItem( ) { Surface( modifier = modifier, - color = ChatTheme.colors.appBackground, - shape = ChatTheme.shapes.attachment, + color = ChatTheme.colors.backgroundCoreApp, + shape = RoundedCornerShape(StreamTokens.radiusLg), ) { Row( Modifier @@ -120,10 +122,10 @@ public fun FileUploadItem( ) { Text( text = attachment.title ?: attachment.name ?: "", - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) when (val uploadState = attachment.uploadState) { @@ -136,8 +138,8 @@ public fun FileUploadItem( else -> { Text( text = MediaStringUtil.convertFileSizeByteCount(attachment.upload?.length() ?: 0L), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -171,8 +173,8 @@ private fun ProgressInfo(uploadedBytes: Long, totalBytes: Long) { MediaStringUtil.convertFileSizeByteCount(uploadedBytes), MediaStringUtil.convertFileSizeByteCount(totalBytes), ), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt index 1f4362672d4..a7b26d6a230 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt @@ -57,7 +57,6 @@ import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.state.messages.attachments.AttachmentState import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.theme.MessageStyling -import io.getstream.chat.android.compose.ui.theme.StreamDimens import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.AsyncImagePreviewHandler import io.getstream.chat.android.compose.ui.util.StreamAsyncImage @@ -82,9 +81,7 @@ import io.getstream.chat.android.ui.common.utils.giphyInfo * Giphy attachments. * @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic * makes the container capable of adaptive resizing and ignore - * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight] - * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth] - * and [StreamDimens.attachmentsContentGiphyMaxHeight]. + * the default Giphy width and height dimensions, however you can still clip maximum dimensions. * Setting it to fixed size mode will make it respect all given dimensions. * @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable. * @param onItemClick Lambda called when an item gets clicked. @@ -141,9 +138,7 @@ public fun GiphyAttachmentContent( * Giphy attachments. * @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic * makes the container capable of adaptive resizing and ignore - * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight] - * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth] - * and [StreamDimens.attachmentsContentGiphyMaxHeight]. + * the default Giphy width and height dimensions, however you can still clip maximum dimensions. * Setting it to fixed size mode will make it respect all given dimensions. * @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable. * @param onItemClick Lambda called when an item gets clicked. @@ -186,7 +181,7 @@ public fun GiphyAttachmentContent( .size(giphyDimensions) .applyIf(!shouldBeFullSize) { padding(MessageStyling.messageSectionPadding) - .clip(ChatTheme.shapes.attachment) + .clip(RoundedCornerShape(StreamTokens.radiusLg)) } .combinedClickable( indication = null, @@ -226,11 +221,11 @@ private fun calculateSize( ): DpSize { val density = LocalDensity.current - val maxWidth = ChatTheme.dimens.attachmentsContentGiphyMaxWidth - val maxHeight = ChatTheme.dimens.attachmentsContentGiphyMaxHeight + val maxWidth = 250.dp + val maxHeight = 200.dp - val width = ChatTheme.dimens.attachmentsContentGiphyWidth - val height = ChatTheme.dimens.attachmentsContentGiphyHeight + val width = 250.dp + val height = 200.dp val giphyDimensions: DpSize = remember(giphyInfo, density, maxWidth, width, maxHeight, height) { if (giphyInfo != null) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt index 53e4e33b1eb..6decd3d129b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt @@ -109,7 +109,7 @@ public fun LinkAttachmentContent( val baseModifier = modifier .padding(MessageStyling.messageSectionPadding) .fillMaxWidth() - .clip(ChatTheme.shapes.attachment) + .clip(RoundedCornerShape(StreamTokens.radiusLg)) .background(MessageStyling.attachmentBackgroundColor(state.isMine)) .combinedClickable( indication = null, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt index c1b43e430f0..067be0cfda1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt @@ -62,6 +62,7 @@ import androidx.compose.ui.semantics.testTag import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp import coil3.ColorImage import coil3.annotation.ExperimentalCoilApi import coil3.compose.AsyncImagePainter @@ -303,10 +304,10 @@ internal fun SingleMediaAttachment( modifier = modifier .applyIf(!shouldBeFullSize) { padding(MessageStyling.messageSectionPadding) } .size( - width = singleMediaAttachmentWidth(isVideo), + width = 250.dp, height = singleMediaAttachmentHeight(isVideo, ratio), ), - shape = if (shouldBeFullSize) null else ChatTheme.shapes.attachment, + shape = if (shouldBeFullSize) null else RoundedCornerShape(StreamTokens.radiusLg), message = message, attachmentPosition = 0, onMediaGalleryPreviewResult = onMediaGalleryPreviewResult, @@ -354,8 +355,8 @@ internal fun RowScope.MultipleMediaAttachmentsColumns( val columnSizingModifier = Modifier .weight(1f, fill = false) .size( - width = ChatTheme.dimens.attachmentsContentGroupPreviewWidth / 2, - height = ChatTheme.dimens.attachmentsContentGroupPreviewHeight, + width = 250.dp / 2, + height = 196.dp, ) Column( @@ -562,18 +563,11 @@ internal fun MediaAttachmentContentItem( ), contentAlignment = Alignment.Center, ) { - val backgroundColor = - if (isImage) { - ChatTheme.colors.imageBackgroundMessageList - } else { - ChatTheme.colors.videoBackgroundMessageList - } - StreamAsyncImage( imageRequest = imageRequest, modifier = Modifier .fillMaxSize() - .background(backgroundColor), + .background(ChatTheme.colors.backgroundCoreSurface), contentScale = ContentScale.Crop, ) { asyncImageState -> Crossfade(targetState = asyncImageState) { state -> @@ -605,7 +599,7 @@ internal fun MediaAttachmentContentItem( contentAlignment = Alignment.Center, ) { Icon( - tint = ChatTheme.colors.disabled, + tint = ChatTheme.colors.textDisabled, modifier = Modifier.fillMaxSize(0.4f), painter = painterResource(R.drawable.stream_compose_ic_image_picker), contentDescription = stringResource( @@ -642,7 +636,7 @@ internal fun MediaAttachmentShowMoreOverlay( Box( modifier = Modifier .fillMaxSize() - .background(color = ChatTheme.colors.showMoreOverlay, shape = shape), + .background(color = ChatTheme.colors.backgroundCoreOverlayDark, shape = shape), ) { Text( modifier = modifier @@ -651,8 +645,8 @@ internal fun MediaAttachmentShowMoreOverlay( id = R.string.stream_compose_remaining_media_attachments_count, remainingMediaCount, ), - color = ChatTheme.colors.showMoreCountText, - style = ChatTheme.typography.title1, + color = ChatTheme.colors.textOnAccent, + style = ChatTheme.typography.headingLarge, textAlign = TextAlign.Center, ) } @@ -685,18 +679,6 @@ public data class MediaAttachmentClickData internal constructor( val skipEnrichUrl: Boolean, ) -/** - * Retrieves the width for a single-media attachment. - * - * @param isVideo true if "video", false if "image". - */ -@Composable -private fun singleMediaAttachmentWidth(isVideo: Boolean): Dp = if (isVideo) { - ChatTheme.dimens.attachmentsContentVideoWidth -} else { - ChatTheme.dimens.attachmentsContentImageWidth -} - /** * Calculates the actual single-media attachment height, based on the configurable width, maxHeight and the aspectRatio. * @@ -705,13 +687,12 @@ private fun singleMediaAttachmentWidth(isVideo: Boolean): Dp = if (isVideo) { */ @Composable private fun singleMediaAttachmentHeight(isVideo: Boolean, aspectRatio: Float): Dp { - val width = singleMediaAttachmentWidth(isVideo) val maxHeight = if (isVideo) { - ChatTheme.dimens.attachmentsContentVideoMaxHeight + 400.dp } else { - ChatTheme.dimens.attachmentsContentImageMaxHeight + 600.dp } - val heightAccordingAspectRatio = width / aspectRatio + val heightAccordingAspectRatio = 250.dp / aspectRatio return minOf(heightAccordingAspectRatio, maxHeight) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt index 1f2a1d74542..c411d55841b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt @@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Alignment @@ -74,7 +75,7 @@ public fun MediaAttachmentPreviewContent( LazyRow( state = rememberAutoScrollLazyListState(attachments.size), modifier = modifier - .clip(ChatTheme.shapes.attachment) + .clip(RoundedCornerShape(StreamTokens.radiusLg)) .testTag("Stream_MediaAttachmentPreviewContent"), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacing2xs, Alignment.Start), @@ -114,7 +115,7 @@ private fun MediaAttachmentPreviewItem( Box( modifier = modifier .size(95.dp) - .clip(ChatTheme.shapes.attachment) + .clip(RoundedCornerShape(StreamTokens.radiusLg)) .testTag("Stream_MediaAttachmentPreviewItem"), contentAlignment = Alignment.Center, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt index d8c059adc5a..cab400bb971 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt @@ -22,6 +22,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -34,6 +35,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens /** * Represents fallback content for unsupported attachments. @@ -46,8 +48,8 @@ public fun UnsupportedAttachmentContent(modifier: Modifier = Modifier) { modifier = modifier .padding(2.dp) .fillMaxWidth(), - color = ChatTheme.colors.appBackground, - shape = ChatTheme.shapes.attachment, + color = ChatTheme.colors.backgroundCoreApp, + shape = RoundedCornerShape(StreamTokens.radiusLg), ) { Row( modifier = Modifier @@ -68,9 +70,9 @@ public fun UnsupportedAttachmentContent(modifier: Modifier = Modifier) { .fillMaxWidth() .padding(start = 16.dp, end = 8.dp), text = stringResource(id = R.string.stream_compose_message_list_unsupported_attachment), - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt index c2d49820f7e..c8829e8dd03 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt @@ -24,7 +24,6 @@ import io.getstream.chat.android.compose.ui.attachments.AttachmentFactory import io.getstream.chat.android.compose.ui.attachments.content.GiphyAttachmentClickData import io.getstream.chat.android.compose.ui.attachments.content.GiphyAttachmentContent import io.getstream.chat.android.compose.ui.attachments.content.onGiphyAttachmentContentClick -import io.getstream.chat.android.compose.ui.theme.StreamDimens import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.ui.common.utils.GiphyInfoType import io.getstream.chat.android.ui.common.utils.GiphySizingMode @@ -38,9 +37,7 @@ import io.getstream.chat.android.ui.common.utils.GiphySizingMode * Giphy attachments. * @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic * makes the container capable of adaptive resizing and ignore - * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight] - * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth] - * and [StreamDimens.attachmentsContentGiphyMaxHeight]. + * the default Giphy width and height dimensions, however you can still clip maximum dimensions. * Setting it to fixed size mode will make it respect all given dimensions. * @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable. * @param onContentItemClick Lambda called when an item gets clicked. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt index 170045e8c4f..28b5310fd72 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt @@ -215,7 +215,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { @Composable private fun SetupEdgeToEdge() { val nightMode = isSystemInDarkTheme() - val systemBarsColor = ChatTheme.colors.barsBackground.toArgb() + val systemBarsColor = ChatTheme.colors.backgroundElevationElevation1.toArgb() LaunchedEffect(nightMode) { val style = if (nightMode) { SystemBarStyle.dark(systemBarsColor) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt index 9a3f3d9e3ba..b3642cf2ab6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt @@ -81,7 +81,7 @@ internal fun MediaGalleryOptionsMenu( Box( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.overlay) + .background(ChatTheme.colors.backgroundCoreScrim) .clickable( indication = null, interactionSource = null, @@ -96,7 +96,7 @@ internal fun MediaGalleryOptionsMenu( .align(Alignment.TopEnd), shape = RoundedCornerShape(16.dp), shadowElevation = 4.dp, - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, ) { Column(modifier = Modifier.fillMaxWidth()) { options.forEachIndexed { index, option -> @@ -137,7 +137,7 @@ internal fun MediaGalleryOptionItem( Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .clickable( interactionSource = null, indication = ripple(), @@ -157,7 +157,7 @@ internal fun MediaGalleryOptionItem( Text( text = option.title, color = option.titleColor, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 12.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -198,9 +198,9 @@ internal fun defaultMediaOptions( if (config.isReplyVisible) { val option = MediaGalleryPreviewOption( title = stringResource(id = R.string.stream_compose_media_gallery_preview_reply), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = R.drawable.stream_compose_ic_reply), - iconColor = ChatTheme.colors.textHighEmphasis, + iconColor = ChatTheme.colors.textPrimary, action = Reply(message), isEnabled = true, ) @@ -209,16 +209,16 @@ internal fun defaultMediaOptions( if (config.isShowInChatVisible) { val option = MediaGalleryPreviewOption( title = stringResource(id = R.string.stream_compose_media_gallery_preview_show_in_chat), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = R.drawable.stream_compose_ic_show_in_chat), - iconColor = ChatTheme.colors.textHighEmphasis, + iconColor = ChatTheme.colors.textPrimary, action = ShowInChat(message), isEnabled = true, ) options.add(option) } if (config.isSaveMediaVisible) { - val color = if (isConnected) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.disabled + val color = if (isConnected) ChatTheme.colors.textPrimary else ChatTheme.colors.textDisabled val option = MediaGalleryPreviewOption( title = stringResource(id = R.string.stream_compose_media_gallery_preview_save_image), titleColor = color, @@ -230,7 +230,7 @@ internal fun defaultMediaOptions( options.add(option) } if (config.isDeleteVisible && message.user.id == currentUser?.id) { - val color = if (isConnected) ChatTheme.colors.errorAccent else ChatTheme.colors.disabled + val color = if (isConnected) ChatTheme.colors.accentError else ChatTheme.colors.textDisabled val option = MediaGalleryPreviewOption( title = stringResource(id = R.string.stream_compose_media_gallery_preview_delete), titleColor = color, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt index 746f6b3fb26..095fcc56363 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt @@ -169,7 +169,7 @@ public fun MediaGalleryPreviewScreen( MediaGalleryPager( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(padding), pagerState = pagerState, attachments = attachments, @@ -310,7 +310,7 @@ public fun MediaGalleryPreviewScreen( MediaGalleryPager( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(padding), pagerState = pagerState, attachments = attachments, @@ -476,8 +476,8 @@ internal fun MediaGalleryPreviewHeader( onTrailingContentClick: () -> Unit, modifier: Modifier = Modifier, elevation: Dp = 4.dp, - backgroundColor: Color = ChatTheme.colors.barsBackground, - contentColor: Color = ChatTheme.colors.textHighEmphasis, + backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1, + contentColor: Color = ChatTheme.colors.textPrimary, config: MediaGalleryConfig = ChatTheme.mediaGalleryConfig, leadingContent: @Composable (Modifier) -> Unit = { if (config.isCloseVisible) { @@ -676,8 +676,8 @@ internal fun MediaGalleryPreviewFooter( onTrailingContentClick: (Attachment) -> Unit, modifier: Modifier = Modifier, elevation: Dp = 4.dp, - backgroundColor: Color = ChatTheme.colors.barsBackground, - contentColor: Color = ChatTheme.colors.textHighEmphasis, + backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1, + contentColor: Color = ChatTheme.colors.textPrimary, config: MediaGalleryConfig = ChatTheme.mediaGalleryConfig, leadingContent: @Composable (Modifier) -> Unit = { if (config.isShareVisible) { @@ -781,7 +781,7 @@ internal fun MediaGalleryPreviewTitle( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, ) { - val textStyle = ChatTheme.typography.title3Bold + val textStyle = ChatTheme.typography.headingMedium when (connectionState) { is ConnectionState.Connected -> Text( @@ -899,8 +899,8 @@ internal fun MediaGalleryPreviewPageIndicator( val text = stringResource(id = R.string.stream_compose_image_order, currentPage + 1, totalPages) Text( text = text, - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, ) } @@ -919,11 +919,11 @@ internal fun MediaGalleryPreviewSharingInProgressIndicator() { .padding(horizontal = 12.dp) .size(24.dp), strokeWidth = 2.dp, - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, ) Text( text = stringResource(id = R.string.stream_compose_media_gallery_preview_preparing), - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt index 18950f7dd2b..5fd02ee811b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt @@ -161,7 +161,7 @@ public class MediaPreviewActivity : AppCompatActivity() { text = title, modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Start, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, maxLines = 1, color = Color.White, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt index 6eb3578ca2e..beb5688dda5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt @@ -132,7 +132,7 @@ internal fun MediaGalleryImagePage( ) Modifier .aspectRatio(size.width / size.height, true) - .background(color = ChatTheme.colors.overlay) + .background(color = ChatTheme.colors.backgroundCoreScrim) } else { Modifier } @@ -257,7 +257,7 @@ private fun ErrorIcon(modifier: Modifier) { contentAlignment = Alignment.Center, ) { Icon( - tint = ChatTheme.colors.disabled, + tint = ChatTheme.colors.textDisabled, modifier = Modifier.fillMaxSize(fraction = 0.4f), painter = painterResource(R.drawable.stream_compose_ic_image_picker), contentDescription = stringResource(R.string.stream_ui_message_list_attachment_load_failed), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt index 91e5a5b3d5c..e7cc4538cf5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt @@ -91,7 +91,7 @@ internal fun MediaGalleryPhotosMenu( Box( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.overlay) + .background(ChatTheme.colors.backgroundCoreScrim) .clickable( indication = null, interactionSource = null, @@ -104,7 +104,7 @@ internal fun MediaGalleryPhotosMenu( .wrapContentHeight() .align(Alignment.BottomCenter), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, ) { Column(modifier = Modifier.fillMaxWidth()) { MediaGalleryPhotosMenuHeader(onDismiss) @@ -144,14 +144,14 @@ private fun MediaGalleryPhotosMenuHeader(onDismiss: () -> Unit) { ), painter = painterResource(id = R.drawable.stream_compose_ic_close), contentDescription = stringResource(id = R.string.stream_compose_cancel), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) Text( modifier = Modifier.align(Alignment.Center), text = stringResource(R.string.stream_compose_image_preview_photos), - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) } } @@ -199,18 +199,12 @@ private fun MediaGalleryPhotosMenuItem( var imageState by remember { mutableStateOf(AsyncImagePainter.State.Empty) } - val backgroundColor = if (isImage) { - ChatTheme.colors.imageBackgroundMediaGalleryPicker - } else { - ChatTheme.colors.videoBackgroundMediaGalleryPicker - } - StreamAsyncImage( imageRequest = imageRequest, modifier = Modifier .padding(1.dp) .fillMaxSize() - .background(color = backgroundColor), + .background(color = ChatTheme.colors.backgroundCoreApp), contentScale = ContentScale.Crop, ) { asyncImageState -> imageState = asyncImageState @@ -262,7 +256,7 @@ private fun ErrorIcon(modifier: Modifier) { contentAlignment = Alignment.Center, ) { Icon( - tint = ChatTheme.colors.disabled, + tint = ChatTheme.colors.textDisabled, modifier = Modifier.fillMaxSize(fraction = 0.4f), painter = painterResource(R.drawable.stream_compose_ic_image_picker), contentDescription = stringResource(R.string.stream_ui_message_list_attachment_load_failed), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt index d9c30e8c059..129ae73eb3b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt @@ -104,7 +104,7 @@ private fun ChannelFilesAttachmentsContent( onNavigationIconClick = onNavigationIconClick, ) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { padding -> ChannelFilesAttachmentsList( modifier = Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt index 5dbdd46d4a5..69049a010fb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt @@ -42,6 +42,7 @@ import androidx.window.core.layout.WindowWidthSizeClass import io.getstream.chat.android.compose.handlers.LoadMoreHandler import io.getstream.chat.android.compose.ui.components.ContentBox import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.ui.common.state.channel.attachments.ChannelAttachmentsViewState import io.getstream.result.Error @@ -150,8 +151,8 @@ internal fun ChannelMediaAttachmentsGrid( LazyVerticalGrid( modifier = Modifier.matchParentSize(), columns = GridCells.Fixed(gridColumnCount), - verticalArrangement = Arrangement.spacedBy(ChatTheme.dimens.attachmentsContentMediaGridSpacing), - horizontalArrangement = Arrangement.spacedBy(ChatTheme.dimens.attachmentsContentMediaGridSpacing), + verticalArrangement = Arrangement.spacedBy(StreamTokens.spacing3xs), + horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacing3xs), state = gridState, ) { itemsIndexed( @@ -186,7 +187,7 @@ internal fun ChannelMediaAttachmentsGrid( sheetMaxWidth = Dp.Unspecified, shape = RectangleShape, dragHandle = {}, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) { ChannelMediaAttachmentsPreviewScreen( items = items, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt index 6e6f3449f8d..c3f4de0e6ce 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt @@ -159,7 +159,7 @@ private fun ChannelMediaAttachmentsPreviewContent( ) }, snackbarHost = { StreamSnackbarHost(hostState = snackbarHostState) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { padding -> MediaGalleryPager( modifier = Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt index 5a60299d0a1..dd3275a2419 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt @@ -116,7 +116,7 @@ private fun ChannelMediaAttachmentsContent( onNavigationIconClick = onNavigationIconClick, ) }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { padding -> ChannelMediaAttachmentsGrid( modifier = Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt index 8c936c821b6..c1f2562f17a 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt @@ -83,7 +83,7 @@ internal fun ChannelInfoMemberInfoModalSheet( ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = onDismiss, ) { val state by viewModel.state.collectAsStateWithLifecycle() @@ -142,23 +142,23 @@ internal fun ChannelInfoMemberInfoModalSheetTopBar(member: Member) { val user = member.user Text( text = user.name.takeIf(String::isNotBlank) ?: user.id, - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) Text( text = user.getLastSeenText(context), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) if (member.banned) { Text( text = member.getBanExpirationText(context), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.errorAccent, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.accentError, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -226,7 +226,7 @@ private fun ExpandedSheet(content: @Composable () -> Unit) { // so we need to mimic it with a card. Card( shape = BottomSheetDefaults.ExpandedShape, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) { Column( horizontalAlignment = Alignment.CenterHorizontally, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt index b9bfb579187..b01b4cff2cb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt @@ -40,7 +40,7 @@ internal fun ChannelInfoMemberOptionItem( } is ChannelInfoMemberViewState.Content.Option.BanMember -> { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) { ChannelInfoOptionButton( icon = R.drawable.stream_ic_ban, text = stringResource(R.string.stream_ui_channel_info_member_modal_option_ban_member), @@ -50,7 +50,7 @@ internal fun ChannelInfoMemberOptionItem( } is ChannelInfoMemberViewState.Content.Option.UnbanMember -> { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) { ChannelInfoOptionButton( icon = R.drawable.stream_ic_ban, text = stringResource(R.string.stream_ui_channel_info_member_modal_option_unban_member), @@ -60,7 +60,7 @@ internal fun ChannelInfoMemberOptionItem( } is ChannelInfoMemberViewState.Content.Option.RemoveMember -> { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) { ChannelInfoOptionButton( icon = R.drawable.stream_compose_ic_person_remove, text = stringResource(R.string.stream_ui_channel_info_member_modal_option_remove_member), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt index ab611ed60b4..108477a31ed 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt @@ -59,19 +59,19 @@ internal fun ChannelInfoNameField( .fillMaxWidth() .onFocusChanged { showEditingButtons = it.isFocused && !readOnly }, readOnly = readOnly, - textStyle = ChatTheme.typography.body, + textStyle = ChatTheme.typography.bodyDefault, prefix = { Text( modifier = Modifier.padding(end = 8.dp), text = stringResource(R.string.stream_ui_channel_info_name_field_label), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textSecondary, ) }, placeholder = { Text( text = stringResource(R.string.stream_ui_channel_info_name_field_placeholder), - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, ) }, value = value, @@ -88,7 +88,7 @@ internal fun ChannelInfoNameField( focusManager.clearFocus() }, imageVector = Icons.Rounded.Close, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, contentDescription = null, ) Icon( @@ -97,7 +97,7 @@ internal fun ChannelInfoNameField( focusManager.clearFocus() }, imageVector = Icons.Rounded.Done, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, contentDescription = null, ) } @@ -106,8 +106,8 @@ internal fun ChannelInfoNameField( singleLine = true, onValueChange = { value = it }, colors = OutlinedTextFieldDefaults.colors( - focusedTextColor = ChatTheme.colors.textHighEmphasis, - unfocusedTextColor = ChatTheme.colors.textHighEmphasis, + focusedTextColor = ChatTheme.colors.textPrimary, + unfocusedTextColor = ChatTheme.colors.textPrimary, unfocusedBorderColor = Color.Transparent, focusedBorderColor = Color.Transparent, ), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt index 389a7b9922b..eaac67d7475 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt @@ -76,7 +76,7 @@ internal fun ChannelInfoOptionButton( Text( modifier = Modifier.weight(1f), text = text, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -98,20 +98,20 @@ internal fun ChannelInfoOptionNavigationButton( modifier = Modifier.size(24.dp), painter = painterResource(icon), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( modifier = Modifier.weight(1f), text = text, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) Icon( imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } @@ -131,13 +131,13 @@ internal fun ChannelInfoOptionSwitch( Icon( painter = painterResource(icon), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( modifier = Modifier.weight(1f), text = text, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt index 54c4e71ade1..d3e766134a9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt @@ -134,7 +134,7 @@ internal fun LazyItemScope.ChannelInfoOptionItem( } is ChannelInfoViewState.Content.Option.LeaveChannel -> { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) { ChannelInfoOptionButton( icon = R.drawable.stream_compose_ic_person_remove, text = if (isGroupChannel) { @@ -148,7 +148,7 @@ internal fun LazyItemScope.ChannelInfoOptionItem( } is ChannelInfoViewState.Content.Option.DeleteChannel -> { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) { ChannelInfoOptionButton( icon = R.drawable.stream_compose_ic_delete, text = if (isGroupChannel) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt index 23273fd37e6..848d90c4631 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt @@ -194,8 +194,8 @@ private fun HideChannelModalText( } else { stringResource(R.string.stream_ui_channel_info_hide_conversation_modal_message) }, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.bodyDefault, ) Row( modifier = Modifier @@ -214,8 +214,8 @@ private fun HideChannelModalText( } else { stringResource(R.string.stream_ui_channel_info_hide_conversation_modal_clear_history) }, - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.bodyDefault, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt index 3b4f835ad06..1862c9ddec7 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt @@ -34,18 +34,18 @@ internal fun ChannelInfoUserInfoOption( Icon( painter = painterResource(R.drawable.stream_compose_ic_person), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( modifier = Modifier.weight(1f), text = "@$username", - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) Icon( painter = painterResource(R.drawable.stream_compose_ic_copy), contentDescription = stringResource(R.string.stream_ui_channel_info_copy_user_handle), - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt index 080172be62a..305f64b8ff5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt @@ -112,7 +112,7 @@ private fun DirectChannelInfoScaffold( onNavigationIconClick = onNavigationIconClick, ) }, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) { padding -> DirectChannelInfoContent( state = infoState, @@ -158,7 +158,7 @@ internal fun DirectChannelInfoTopBar( onClick = onNavigationIconClick, ) }, - colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground), + colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) } @@ -215,15 +215,15 @@ internal fun DirectChannelInfoAvatarContainer(user: User) { ) Text( text = user.name.takeIf(String::isNotBlank) ?: user.id, - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) Text( text = user.getLastSeenText(LocalContext.current), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt index 4a6aaf5eae9..b409d4fa69a 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt @@ -53,6 +53,7 @@ import io.getstream.chat.android.compose.ui.components.ContentBox import io.getstream.chat.android.compose.ui.components.LoadingIndicator import io.getstream.chat.android.compose.ui.messages.header.MessageListHeader import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.getLastSeenText import io.getstream.chat.android.compose.viewmodel.channel.ChannelHeaderViewModel import io.getstream.chat.android.compose.viewmodel.channel.ChannelInfoViewModel @@ -129,7 +130,7 @@ private fun GroupChannelInfoScaffold( onAddMembersClick = onAddMembersClick, ) }, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) { padding -> GroupChannelInfoContent( modifier = Modifier.padding(padding), @@ -172,7 +173,7 @@ internal fun GroupChannelInfoTopBar( ) { val elevation by animateDpAsState( targetValue = if (listState.canScrollBackward) { - ChatTheme.dimens.headerElevation + StreamTokens.elevation3 } else { 1.dp }, @@ -284,7 +285,7 @@ internal fun GroupChannelInfoMemberItem( ) { val user = member.user ChatTheme.componentFactory.UserAvatar( - modifier = Modifier.size(ChatTheme.dimens.channelAvatarSize), + modifier = Modifier.size(40.dp), user = user, showIndicator = user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, @@ -295,22 +296,22 @@ internal fun GroupChannelInfoMemberItem( Column(modifier = Modifier.weight(1f)) { Text( text = user.name.takeIf(String::isNotBlank) ?: user.id, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, color = if (member.banned) { - ChatTheme.colors.errorAccent + ChatTheme.colors.accentError } else { - ChatTheme.colors.textHighEmphasis + ChatTheme.colors.textPrimary }, maxLines = 1, overflow = TextOverflow.Ellipsis, ) Text( text = user.getLastSeenText(LocalContext.current), - style = ChatTheme.typography.footnote, + style = ChatTheme.typography.metadataDefault, color = if (member.banned) { - ChatTheme.colors.errorAccent + ChatTheme.colors.accentError } else { - ChatTheme.colors.textLowEmphasis + ChatTheme.colors.textSecondary }, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -327,8 +328,8 @@ internal fun GroupChannelInfoMemberItem( } Text( text = role, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -340,7 +341,7 @@ internal fun GroupChannelInfoExpandMembersItem( collapsedCount: Int, onClick: () -> Unit, ) { - CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.textLowEmphasis)) { + CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.textSecondary)) { ChannelInfoOption( modifier = Modifier.fillMaxWidth(), onClick = onClick, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt index f03c91128a6..510d74337e0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt @@ -139,7 +139,7 @@ public fun ChannelsScreen( modifier = Modifier .padding(it) .fillMaxSize() - .background(color = ChatTheme.colors.appBackground), + .background(color = ChatTheme.colors.backgroundCoreApp), ) { if (searchMode != SearchMode.None) { ChatTheme.componentFactory.ChannelListSearchInput( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt index b91814820e6..6d0eb6fb5ad 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt @@ -24,6 +24,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Icon import androidx.compose.material3.Surface import androidx.compose.material3.Text @@ -31,6 +32,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.Shape import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource @@ -41,6 +43,7 @@ import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.NetworkLoadingIndicator import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.clickable import io.getstream.chat.android.models.ConnectionState import io.getstream.chat.android.models.User @@ -73,9 +76,9 @@ public fun ChannelListHeader( title: String = "", currentUser: User? = null, connectionState: ConnectionState, - color: Color = ChatTheme.colors.barsBackground, - shape: Shape = ChatTheme.shapes.header, - elevation: Dp = ChatTheme.dimens.headerElevation, + color: Color = ChatTheme.colors.backgroundElevationElevation1, + shape: Shape = RectangleShape, + elevation: Dp = StreamTokens.elevation3, onAvatarClick: (User?) -> Unit = {}, onHeaderActionClick: () -> Unit = {}, leadingContent: @Composable RowScope.() -> Unit = { @@ -134,7 +137,7 @@ internal fun DefaultChannelHeaderLeadingContent( currentUser: User?, onAvatarClick: (User?) -> Unit, ) { - val size = Modifier.size(ChatTheme.dimens.channelAvatarSize) + val size = Modifier.size(40.dp) if (currentUser != null) { ChatTheme.componentFactory.UserAvatar( @@ -170,9 +173,9 @@ internal fun RowScope.DefaultChannelListHeaderCenterContent( .wrapContentWidth() .padding(horizontal = 16.dp), text = title, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } @@ -184,9 +187,9 @@ internal fun RowScope.DefaultChannelListHeaderCenterContent( .wrapContentWidth() .padding(horizontal = 16.dp), text = stringResource(R.string.stream_compose_disconnected), - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } @@ -204,8 +207,8 @@ internal fun DefaultChannelListHeaderTrailingContent( Surface( modifier = Modifier.size(40.dp), onClick = onHeaderActionClick, - color = ChatTheme.colors.primaryAccent, - shape = ChatTheme.shapes.avatar, + color = ChatTheme.colors.accentPrimary, + shape = CircleShape, shadowElevation = 4.dp, ) { Icon( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt index e35743d7db0..870bdb8cbe3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt @@ -75,8 +75,8 @@ public fun SelectedChannelMenu( isMuted = isMuted, ownCapabilities = selectedChannel.ownCapabilities, ), - shape: Shape = ChatTheme.shapes.bottomSheet, - overlayColor: Color = ChatTheme.colors.overlay, + shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + overlayColor: Color = ChatTheme.colors.backgroundCoreScrim, headerContent: @Composable ColumnScope.() -> Unit = { with(ChatTheme.componentFactory) { ChannelMenuHeaderContent( @@ -130,8 +130,8 @@ internal fun DefaultSelectedChannelMenuHeaderContent( .padding(start = 16.dp, end = 16.dp, top = 16.dp), textAlign = TextAlign.Center, text = ChatTheme.channelNameFormatter.formatChannelName(selectedChannel, currentUser), - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -143,8 +143,8 @@ internal fun DefaultSelectedChannelMenuHeaderContent( currentUser = currentUser, userPresence = ChatTheme.userPresence, ), - style = ChatTheme.typography.footnoteBold, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataEmphasis, + color = ChatTheme.colors.textSecondary, ) ChannelMembers( @@ -195,7 +195,7 @@ private fun SelectedChannelMenuBottomSheetDialogPreview() { .fillMaxWidth() .wrapContentHeight() .align(Alignment.BottomCenter), - shape = ChatTheme.shapes.bottomSheet, + shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), selectedChannel = PreviewChannelData.channelWithManyMembers, isMuted = false, currentUser = PreviewUserData.user1, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt index a02e639c10b..bf73bb1e313 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt @@ -55,6 +55,7 @@ import io.getstream.chat.android.compose.state.channels.list.ItemState import io.getstream.chat.android.compose.ui.components.Timestamp import io.getstream.chat.android.compose.ui.components.TypingIndicator import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.getLastMessage import io.getstream.chat.android.models.Channel import io.getstream.chat.android.models.DraftMessage @@ -156,12 +157,12 @@ internal fun DefaultChannelItemLeadingContent( ChatTheme.componentFactory.ChannelAvatar( modifier = Modifier .padding( - start = ChatTheme.dimens.channelItemHorizontalPadding, + start = StreamTokens.spacingXs, end = 4.dp, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) - .size(ChatTheme.dimens.channelAvatarSize), + .size(40.dp), channel = channelItem.channel, currentUser = currentUser, showIndicator = false, @@ -192,11 +193,11 @@ internal fun RowScope.DefaultChannelItemCenterContent( Text( modifier = it.testTag("Stream_ChannelName"), text = ChatTheme.channelNameFormatter.formatChannelName(channelItemState.channel, currentUser), - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 16.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } @@ -211,7 +212,7 @@ internal fun RowScope.DefaultChannelItemCenterContent( .size(16.dp), painter = painterResource(id = R.drawable.stream_compose_ic_muted), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } else { @@ -235,8 +236,8 @@ internal fun RowScope.DefaultChannelItemCenterContent( text = lastMessageText, maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, inlineContent = ChatTheme.messagePreviewIconFactory.createPreviewIcons(), ) } @@ -267,8 +268,8 @@ private fun UserTypingIndicator(users: List) { ), maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) } } @@ -293,9 +294,9 @@ internal fun RowScope.DefaultChannelItemTrailingContent( modifier = Modifier .padding( start = 4.dp, - end = ChatTheme.dimens.channelItemHorizontalPadding, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + end = StreamTokens.spacingXs, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) .wrapContentHeight() .align(Alignment.Bottom), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt index fba5edae6e1..dc65f943a0b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt @@ -34,6 +34,7 @@ import androidx.compose.ui.unit.sp import io.getstream.chat.android.compose.state.channels.list.ItemState import io.getstream.chat.android.compose.ui.components.Timestamp import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.clickable import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.User @@ -121,12 +122,12 @@ internal fun DefaultSearchResultItemLeadingContent( user = user, modifier = Modifier .padding( - start = ChatTheme.dimens.channelItemHorizontalPadding, + start = StreamTokens.spacingXs, end = 4.dp, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) - .size(ChatTheme.dimens.channelAvatarSize), + .size(40.dp), showIndicator = user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, currentUser = currentUser, @@ -157,11 +158,11 @@ internal fun RowScope.DefaultSearchResultItemCenterContent( ) { Text( text = ChatTheme.searchResultNameFormatter.formatMessageTitle(searchResultItemState, currentUser), - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 16.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( @@ -171,8 +172,8 @@ internal fun RowScope.DefaultSearchResultItemCenterContent( ), maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) } } @@ -190,9 +191,9 @@ internal fun RowScope.DefaultSearchResultItemTrailingContent( modifier = Modifier .padding( start = 4.dp, - end = ChatTheme.dimens.channelItemHorizontalPadding, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + end = StreamTokens.spacingXs, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) .wrapContentHeight() .align(Alignment.Bottom), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt index 17695750189..f3ae098f73c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt @@ -177,7 +177,7 @@ public fun ChatsScreen( movableContentOf { modifier: Modifier -> Scaffold( modifier = modifier.safeDrawingPadding(), - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, topBar = { listTopBarContent() }, bottomBar = { listBottomBarContent() }, ) { padding -> diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt index 00462416c6d..c6ec7583cda 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt @@ -46,7 +46,7 @@ public fun BackButton( Icon( painter = painter, contentDescription = stringResource(R.string.stream_ui_back_button), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt index a6ff89980a5..d235ecbb51a 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt @@ -33,7 +33,7 @@ internal fun EmphasisBox( isEmphasized: Boolean = true, content: @Composable () -> Unit, ) { - val color = ChatTheme.colors.textLowEmphasis + val color = ChatTheme.colors.textSecondary val alpha by animateFloatAsState(targetValue = if (isEmphasized) EmphasisTransparency else 0f) Box( modifier = modifier.drawWithContent { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt index ce44847e93a..b854a4c7622 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt @@ -47,14 +47,14 @@ public fun EmptyContent( title: String? = null, ) { Column( - modifier = modifier.background(color = ChatTheme.colors.appBackground), + modifier = modifier.background(color = ChatTheme.colors.backgroundCoreApp), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, ) { Icon( painter = painter, contentDescription = null, - tint = ChatTheme.colors.disabled, + tint = ChatTheme.colors.textDisabled, modifier = Modifier.size(96.dp), ) @@ -63,8 +63,8 @@ public fun EmptyContent( if (title != null) { Text( text = title, - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, textAlign = TextAlign.Center, ) Spacer(Modifier.size(8.dp)) @@ -72,8 +72,8 @@ public fun EmptyContent( Text( text = text, - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textSecondary, textAlign = TextAlign.Center, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt index 92a4a346c98..3e1b69699b7 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt @@ -35,7 +35,7 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme public fun LoadingFooter(modifier: Modifier = Modifier) { Box( modifier = modifier - .background(color = ChatTheme.colors.appBackground) + .background(color = ChatTheme.colors.backgroundCoreApp) .padding(top = 8.dp, bottom = 48.dp), ) { LoadingIndicator( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt index 5db4d4ded21..d39f946de2c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt @@ -35,6 +35,6 @@ public fun LoadingIndicator(modifier: Modifier = Modifier) { modifier, contentAlignment = Alignment.Center, ) { - CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent) + CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt index 27e2021e898..ba6e66a4374 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt @@ -45,8 +45,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme public fun NetworkLoadingIndicator( modifier: Modifier = Modifier, spinnerSize: Dp = 18.dp, - textStyle: TextStyle = ChatTheme.typography.title3Bold, - textColor: Color = ChatTheme.colors.textHighEmphasis, + textStyle: TextStyle = ChatTheme.typography.headingMedium, + textColor: Color = ChatTheme.colors.textPrimary, ) { Row( modifier, @@ -58,7 +58,7 @@ public fun NetworkLoadingIndicator( .padding(horizontal = 8.dp) .size(spinnerSize), strokeWidth = 2.dp, - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, ) Text( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt index ac3246f6215..3dd4463290e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt @@ -37,8 +37,8 @@ public fun OnlineIndicator(modifier: Modifier = Modifier) { Box( modifier = modifier .size(12.dp) - .background(ChatTheme.colors.appBackground, CircleShape) + .background(ChatTheme.colors.presenceBorder, CircleShape) .padding(2.dp) - .background(ChatTheme.colors.infoAccent, CircleShape), + .background(ChatTheme.colors.accentSuccess, CircleShape), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt index ed640894d2c..b35ee64d09c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt @@ -55,8 +55,8 @@ internal fun PullToRefreshBox( state = state, isRefreshing = isRefreshing, modifier = Modifier.align(Alignment.TopCenter), - containerColor = ChatTheme.colors.barsBackground, - color = ChatTheme.colors.primaryAccent, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.accentPrimary, ) }, content: @Composable BoxScope.() -> Unit, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt index 3eb7fece825..58720233d83 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt @@ -132,7 +132,7 @@ internal fun DefaultSearchLeadingIcon() { modifier = Modifier.padding(horizontal = 6.dp), painter = painterResource(id = R.drawable.stream_compose_ic_search), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textTertiary, ) } @@ -143,8 +143,8 @@ internal fun DefaultSearchLeadingIcon() { internal fun DefaultSearchLabel() { Text( text = stringResource(id = R.string.stream_compose_search_input_hint), - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textTertiary, ) } @@ -162,7 +162,7 @@ internal fun DefaultSearchClearButton(onClick: () -> Unit) { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_clear), contentDescription = stringResource(id = R.string.stream_compose_search_input_cancel), - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textTertiary, ) } } @@ -175,7 +175,7 @@ private fun SearchInputPreview() { SearchInput( modifier = Modifier - .background(color = ChatTheme.colors.appBackground) + .background(color = ChatTheme.colors.backgroundCoreApp) .padding(horizontal = 12.dp, vertical = 8.dp) .fillMaxWidth(), query = searchQuery, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt index c827a7e9b71..f7a15f31ef3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt @@ -33,8 +33,8 @@ import io.getstream.chat.android.compose.ui.theme.StreamShimmerTheme internal fun ShimmerProgressIndicator(modifier: Modifier = Modifier) { Box( modifier = modifier - .background(color = ChatTheme.colors.mediaShimmerBase) + .background(color = ChatTheme.colors.backgroundCoreSurface) .shimmer() - .background(color = ChatTheme.colors.mediaShimmerHighlights), + .background(color = ChatTheme.colors.backgroundCoreApp), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt index 1a36dcf9f4b..606f68e53e9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt @@ -50,7 +50,7 @@ public fun SimpleDialog( text = { Text( text = message, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, ) }, onConfirmClick = onPositiveAction, @@ -75,13 +75,13 @@ internal fun SimpleDialog( title = { Text( text = title, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, ) }, text = text, confirmButton = { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = onConfirmClick, ) { Text(text = stringResource(id = R.string.stream_compose_ok)) @@ -90,7 +90,7 @@ internal fun SimpleDialog( dismissButton = if (showDismissButton) { { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = onDismiss, ) { Text(text = stringResource(id = R.string.stream_compose_cancel)) @@ -99,8 +99,8 @@ internal fun SimpleDialog( } else { null }, - titleContentColor = ChatTheme.colors.textHighEmphasis, - textContentColor = ChatTheme.colors.textHighEmphasis, - containerColor = ChatTheme.colors.barsBackground, + titleContentColor = ChatTheme.colors.textPrimary, + textContentColor = ChatTheme.colors.textPrimary, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt index 81ab1804574..1d44e97a772 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt @@ -23,12 +23,14 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme /** @@ -44,8 +46,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme @Composable public fun SimpleMenu( modifier: Modifier = Modifier, - shape: Shape = ChatTheme.shapes.bottomSheet, - overlayColor: Color = ChatTheme.colors.overlay, + shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + overlayColor: Color = ChatTheme.colors.backgroundCoreScrim, onDismiss: () -> Unit = {}, headerContent: @Composable ColumnScope.() -> Unit = {}, centerContent: @Composable ColumnScope.() -> Unit = {}, @@ -68,7 +70,7 @@ public fun SimpleMenu( interactionSource = null, ), shape = shape, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) { Column { headerContent() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt index 9645d5adc14..efe6300d637 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt @@ -26,6 +26,6 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme internal fun StreamHorizontalDivider(thickness: Dp = .5.dp) { HorizontalDivider( thickness = thickness, - color = ChatTheme.colors.borders, + color = ChatTheme.colors.borderCoreDefault, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt index 5298fa9ec8e..e3b0a74f6c8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt @@ -45,7 +45,7 @@ public fun Timestamp( modifier: Modifier = Modifier, formatter: DateFormatter = ChatTheme.dateFormatter, formatType: DateFormatType = DATE, - textStyle: TextStyle = ChatTheme.typography.footnote.copy(ChatTheme.colors.textLowEmphasis), + textStyle: TextStyle = ChatTheme.typography.metadataDefault.copy(ChatTheme.colors.chatTextTimestamp), ) { val timestamp = if (LocalInspectionMode.current) { "13:49" diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt index 7bff1a5a9d3..478f34615a7 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt @@ -47,7 +47,7 @@ public fun TranslatedLabel( Text( modifier = modifier, text = textLanguageMetaInfo, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt index b075855433f..344f50c29ad 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt @@ -58,7 +58,7 @@ public fun TypingIndicatorAnimatedDot( ) } - val color: Color = ChatTheme.colors.textLowEmphasis.copy(alpha = alpha.value) + val color: Color = ChatTheme.colors.textSecondary.copy(alpha = alpha.value) Box( Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt index 8ed7c2e68e8..febfaae8828 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt @@ -38,7 +38,6 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -91,8 +90,8 @@ public fun FilesPicker( Text( modifier = Modifier.padding(16.dp), text = stringResource(id = R.string.stream_compose_recent_files), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.weight(6f)) @@ -103,7 +102,7 @@ public fun FilesPicker( modifier = Modifier.testTag("Stream_FindFilesButton"), painter = painterResource(id = R.drawable.stream_compose_ic_more_files), contentDescription = stringResource(id = R.string.stream_compose_send_attachment), - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) }, onClick = { fileSelectContract.launch(allowMultipleSelection) }, @@ -143,12 +142,12 @@ internal fun DefaultFilesPickerItem( checked = fileItem.isSelected, onCheckedChange = null, colors = CheckboxDefaults.colors( - checkedColor = ChatTheme.colors.primaryAccent, - uncheckedColor = ChatTheme.colors.disabled, - checkmarkColor = Color.White, - disabledCheckedColor = ChatTheme.colors.disabled, - disabledUncheckedColor = ChatTheme.colors.disabled, - disabledIndeterminateColor = ChatTheme.colors.disabled, + checkedColor = ChatTheme.colors.accentPrimary, + uncheckedColor = ChatTheme.colors.textDisabled, + checkmarkColor = ChatTheme.colors.controlRadioCheckIconSelected, + disabledCheckedColor = ChatTheme.colors.textDisabled, + disabledUncheckedColor = ChatTheme.colors.textDisabled, + disabledIndeterminateColor = ChatTheme.colors.textDisabled, ), ) } else { @@ -156,10 +155,10 @@ internal fun DefaultFilesPickerItem( selected = fileItem.isSelected, onClick = null, colors = RadioButtonDefaults.colors( - selectedColor = ChatTheme.colors.primaryAccent, - unselectedColor = ChatTheme.colors.disabled, - disabledSelectedColor = ChatTheme.colors.disabled, - disabledUnselectedColor = ChatTheme.colors.disabled, + selectedColor = ChatTheme.colors.accentPrimary, + unselectedColor = ChatTheme.colors.textDisabled, + disabledSelectedColor = ChatTheme.colors.textDisabled, + disabledUnselectedColor = ChatTheme.colors.textDisabled, ), ) } @@ -179,14 +178,14 @@ internal fun DefaultFilesPickerItem( ) { Text( text = fileItem.attachmentMetaData.title ?: "", - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = MediaStringUtil.convertFileSizeByteCount(fileItem.attachmentMetaData.size), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt index 973a7ba5cf4..a89b7f9b2fd 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt @@ -16,12 +16,13 @@ package io.getstream.chat.android.compose.ui.components.attachments.files +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale import io.getstream.chat.android.compose.state.messages.attachments.AttachmentPickerItemState -import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.MimeTypeIconProvider import io.getstream.chat.android.compose.ui.util.StreamAsyncImage @@ -41,7 +42,7 @@ public fun FilesPickerItemImage( if (isImage) { StreamAsyncImage( - modifier = modifier.clip(ChatTheme.shapes.imageThumbnail), + modifier = modifier.clip(RoundedCornerShape(StreamTokens.radiusMd)), data = attachment.uri ?: attachment.file, contentScale = ContentScale.Crop, contentDescription = null, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt index 1d9ec241aa0..e76be244abd 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt @@ -48,7 +48,7 @@ internal fun Avatar( data = data, modifier = modifier .clip(CircleShape) - .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) }, + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) }, contentScale = ContentScale.Crop, content = { state -> val painter = (state as? AsyncImagePainter.State.Success)?.painter diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt index 8896537ecee..a9514176dd9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt @@ -201,7 +201,7 @@ private fun StackedGroupAvatar( channel = channel, size = maxWidth, modifier = Modifier - .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) } + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) } .clip(CircleShape), ) @@ -219,7 +219,7 @@ private fun StackedGroupAvatar( foreground = colors.avatarTextPlaceholder, modifier = baseModifier .clip(CircleShape) - .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) } + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) } .align(alignments[1]), ) } @@ -304,7 +304,7 @@ private fun ChannelAvatarPreview() { ChatTheme { Column( modifier = Modifier - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp), ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt index eac8283fec7..1f352d26560 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt @@ -28,6 +28,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.models.Member import io.getstream.chat.android.models.User import io.getstream.chat.android.previewdata.PreviewMembersData @@ -55,8 +56,8 @@ public fun ChannelMembers( items(members) { member -> ChannelMembersItem( modifier = Modifier - .width(ChatTheme.dimens.selectedChannelMenuUserItemWidth) - .padding(horizontal = ChatTheme.dimens.selectedChannelMenuUserItemHorizontalPadding), + .width(80.dp) + .padding(horizontal = StreamTokens.spacingXs), member = member, currentUser = currentUser, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt index 484d78a02aa..0b59e8d8dbe 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt @@ -25,6 +25,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.models.Member import io.getstream.chat.android.models.User @@ -51,7 +52,7 @@ internal fun ChannelMembersItem( horizontalAlignment = Alignment.CenterHorizontally, ) { ChatTheme.componentFactory.UserAvatar( - modifier = Modifier.size(ChatTheme.dimens.selectedChannelMenuUserItemAvatarSize), + modifier = Modifier.size(64.dp), user = member.user, showIndicator = member.user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, @@ -62,10 +63,10 @@ internal fun ChannelMembersItem( Text( text = memberName, - style = ChatTheme.typography.footnoteBold, + style = ChatTheme.typography.metadataEmphasis, overflow = TextOverflow.Ellipsis, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt index ba2075639bb..afd1f75a5b5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt @@ -105,9 +105,9 @@ public fun buildDefaultChannelOptionsState( if (optionVisibility.isViewInfoVisible) { ChannelOptionState( title = stringResource(id = R.string.stream_compose_selected_channel_menu_view_info), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = R.drawable.stream_compose_ic_person), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = ViewInfo(selectedChannel), ) } else { @@ -116,9 +116,9 @@ public fun buildDefaultChannelOptionsState( if (optionVisibility.isLeaveChannelVisible && canLeaveChannel) { ChannelOptionState( title = stringResource(id = R.string.stream_compose_selected_channel_menu_leave_group), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = R.drawable.stream_compose_ic_person_remove), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = LeaveGroup(selectedChannel), ) } else { @@ -140,9 +140,9 @@ public fun buildDefaultChannelOptionsState( if (optionVisibility.isDeleteChannelVisible && canDeleteChannel) { ChannelOptionState( title = stringResource(id = R.string.stream_compose_selected_channel_menu_delete_conversation), - titleColor = ChatTheme.colors.errorAccent, + titleColor = ChatTheme.colors.accentError, iconPainter = painterResource(id = R.drawable.stream_compose_ic_delete), - iconColor = ChatTheme.colors.errorAccent, + iconColor = ChatTheme.colors.accentError, action = DeleteConversation(selectedChannel), ) } else { @@ -150,9 +150,9 @@ public fun buildDefaultChannelOptionsState( }, ChannelOptionState( title = stringResource(id = R.string.stream_compose_selected_channel_menu_dismiss), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = R.drawable.stream_compose_ic_clear), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = Cancel, ), ) @@ -185,9 +185,9 @@ private fun buildPinOption( }?.let { ChannelOptionState( title = stringResource(id = it.first), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = it.second), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = it.third, ) } @@ -219,9 +219,9 @@ private fun buildArchiveOption( }?.let { ChannelOptionState( title = stringResource(id = it.first), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = it.second), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = it.third, ) } @@ -248,9 +248,9 @@ private fun buildMuteOption( ChannelOptionState( title = stringResource(id = uiData.first), - titleColor = ChatTheme.colors.textHighEmphasis, + titleColor = ChatTheme.colors.textPrimary, iconPainter = painterResource(id = uiData.second), - iconColor = ChatTheme.colors.textLowEmphasis, + iconColor = ChatTheme.colors.textSecondary, action = uiData.third, ) } else { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt index 8c82f66b5c3..6e9accbca98 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt @@ -131,7 +131,7 @@ private fun IsReadCount( Text( text = readCount.toString(), modifier = Modifier.testTag("Stream_MessageReadCount"), - style = ChatTheme.typography.footnote, + style = ChatTheme.typography.metadataDefault, color = ChatTheme.colors.chatTextTimestamp, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt index 6e580055374..54e120c6cbf 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt @@ -43,7 +43,7 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme public fun UnreadCountIndicator( unreadCount: Int, modifier: Modifier = Modifier, - color: Color = ChatTheme.colors.errorAccent, + color: Color = ChatTheme.colors.accentError, ) { val displayText = if (unreadCount > LimitTooManyUnreadCount) UnreadCountMany else unreadCount.toString() val shape = RoundedCornerShape(9.dp) @@ -60,7 +60,7 @@ public fun UnreadCountIndicator( text = displayText, color = Color.White, textAlign = TextAlign.Center, - style = ChatTheme.typography.captionBold, + style = ChatTheme.typography.numericMedium, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt index 5f06c0af848..5f25e73402e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt @@ -58,7 +58,7 @@ internal fun ContextualMenu( shape = RoundedCornerShape(StreamTokens.radiusMd), color = colors.backgroundElevationElevation2, shadowElevation = StreamTokens.elevation3, - border = BorderStroke(StreamTokens.borderStrokeSubtle, colors.borderCoreSurfaceSubtle), + border = BorderStroke(StreamTokens.borderStrokeSubtle, colors.borderCoreSubtle), ) { Column(content = content) } @@ -126,7 +126,7 @@ internal fun ContextualMenuDivider(modifier: Modifier = Modifier) { modifier = modifier .fillMaxWidth(1f) .padding(vertical = StreamTokens.spacing2xs), - color = ChatTheme.colors.borderCoreSurfaceSubtle, + color = ChatTheme.colors.borderCoreSubtle, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt index 09811247763..9f452d08845 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt @@ -36,8 +36,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.theme.StreamTokens -import io.getstream.chat.android.compose.ui.theme.StreamTypography @Composable internal fun CountBadge( @@ -67,10 +67,26 @@ internal fun CountBadge( ) } -internal enum class CountBadgeSize(val minSize: Dp, val spacing: Dp, val textStyle: (StreamTypography) -> TextStyle) { - Large(minSize = 32.dp, spacing = StreamTokens.spacingXs, textStyle = StreamTypography::numericLarge), - Medium(minSize = 24.dp, spacing = StreamTokens.spacingXs, textStyle = StreamTypography::numericLarge), - Small(minSize = 20.dp, spacing = StreamTokens.spacing2xs, textStyle = StreamTypography::numericMedium), +internal enum class CountBadgeSize( + val minSize: Dp, + val spacing: Dp, + val textStyle: (StreamDesign.Typography) -> TextStyle, +) { + Large( + minSize = 32.dp, + spacing = StreamTokens.spacingXs, + textStyle = StreamDesign.Typography::numericLarge, + ), + Medium( + minSize = 24.dp, + spacing = StreamTokens.spacingXs, + textStyle = StreamDesign.Typography::numericLarge, + ), + Small( + minSize = 20.dp, + spacing = StreamTokens.spacing2xs, + textStyle = StreamDesign.Typography::numericMedium, + ), } @Preview diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt index c96b942a72e..262c92448fa 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt @@ -53,7 +53,7 @@ public fun MenuOptionItem( leadingIcon: @Composable RowScope.() -> Unit, title: String, titleColor: Color, - style: TextStyle = ChatTheme.typography.bodyBold, + style: TextStyle = ChatTheme.typography.bodyEmphasis, itemHeight: Dp = 56.dp, verticalAlignment: Alignment.Vertical = Alignment.CenterVertically, horizontalArrangement: Arrangement.Horizontal = Arrangement.Start, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt index c6705d7b0e6..778f4ff3475 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt @@ -56,7 +56,7 @@ import coil3.compose.LocalAsyncImagePreviewHandler import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.ComposerCancelIcon import io.getstream.chat.android.compose.ui.theme.ChatTheme -import io.getstream.chat.android.compose.ui.theme.StreamColors +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.AsyncImagePreviewHandler import io.getstream.chat.android.compose.ui.util.StreamAsyncImage @@ -91,7 +91,7 @@ public fun ComposerLinkPreview( val attachment = linkPreview.attachment val colors = ChatTheme.colors val typography = ChatTheme.typography - val textColor = colors.textHighEmphasis + val textColor = colors.textPrimary Box( modifier = modifier, @@ -103,7 +103,7 @@ public fun ComposerLinkPreview( interactionSource = remember { MutableInteractionSource() }, onClick = { handleLinkPreviewClick(onContentClick, context, linkPreview) }, ) - .background(colors.chatBgOutgoing, ChatTheme.shapes.attachment) + .background(colors.chatBgOutgoing, RoundedCornerShape(StreamTokens.radiusLg)) .padding( start = StreamTokens.spacingXs, end = StreamTokens.spacingMd, @@ -120,17 +120,17 @@ public fun ComposerLinkPreview( ) { ComposerLinkPreviewText( text = attachment.title, - style = typography.footnoteBold.copy(color = textColor), + style = typography.metadataEmphasis.copy(color = textColor), testTag = "Stream_LinkPreviewTitle", ) ComposerLinkPreviewText( text = attachment.text, - style = typography.footnote.copy(color = textColor), + style = typography.metadataDefault.copy(color = textColor), testTag = "Stream_LinkPreviewDescription", ) ComposerLinkPreviewText( text = linkPreview.resolveUrl(), - style = typography.footnote.copy(color = textColor), + style = typography.metadataDefault.copy(color = textColor), testTag = "Stream_LinkPreviewUrl", ) } @@ -148,7 +148,7 @@ public fun ComposerLinkPreview( } @Composable -private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamColors) { +private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamDesign.Colors) { val imagePreviewUrl = attachment.imagePreviewUrl ?: return val shape = RoundedCornerShape(StreamTokens.radiusMd) StreamAsyncImage( @@ -156,7 +156,7 @@ private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamColor modifier = Modifier .size(width = 40.dp, height = 40.dp) .clip(shape) - .border(1.dp, colors.borderCoreImage, shape) + .border(1.dp, colors.borderCoreOpacity10, shape) .testTag("Stream_LinkPreviewImage"), contentDescription = null, contentScale = ContentScale.Crop, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt index e25b51f2b8f..93f98511a33 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt @@ -45,14 +45,14 @@ public fun CoolDownIndicator( modifier = modifier .size(48.dp) .padding(8.dp) - .background(shape = RoundedCornerShape(24.dp), color = ChatTheme.colors.disabled), + .background(shape = RoundedCornerShape(24.dp), color = ChatTheme.colors.textDisabled), contentAlignment = Alignment.Center, ) { Text( text = coolDownTime.toString(), color = Color.White, textAlign = TextAlign.Center, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt index 93e4f0f2667..e72a8d247e8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt @@ -46,8 +46,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText /** @@ -76,7 +75,7 @@ public fun InputField( modifier: Modifier = Modifier, enabled: Boolean = true, maxLines: Int = Int.MAX_VALUE, - border: BorderStroke = BorderStroke(1.dp, ChatTheme.colors.borders), + border: BorderStroke = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault), innerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 8.dp), keyboardOptions: KeyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Sentences), visualTransformation: VisualTransformation = DefaultInputFieldVisualTransformation( @@ -136,14 +135,14 @@ public fun InputField( */ private class DefaultInputFieldVisualTransformation( val inputFieldTheme: ComposerInputFieldTheme, - val typography: StreamTypography, - val colors: StreamColors, + val typography: StreamDesign.Typography, + val colors: StreamDesign.Colors, ) : VisualTransformation { override fun filter(text: AnnotatedString): TransformedText { val textColor = inputFieldTheme.textStyle.color - val fontStyle = typography.body.fontStyle + val fontStyle = typography.bodyDefault.fontStyle val linkStyle = TextStyle( - color = colors.primaryAccent, + color = colors.accentPrimary, textDecoration = TextDecoration.Underline, ) val transformed = buildAnnotatedInputText( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt index 7ca6bfbbbde..1da1481cdd8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt @@ -56,13 +56,13 @@ public fun MessageInputOptions( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_edit), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) Text( text = stringResource(id = R.string.stream_compose_edit_message), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) IconButton( @@ -73,7 +73,7 @@ public fun MessageInputOptions( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_close), contentDescription = stringResource(id = R.string.stream_compose_cancel), - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt index ba05ff87a0f..003fe44f8fc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt @@ -26,6 +26,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.unit.dp import io.getstream.chat.android.client.utils.attachment.isAudio import io.getstream.chat.android.client.utils.attachment.isAudioRecording @@ -111,6 +112,7 @@ public fun MessageContent( * * @param modifier Modifier for styling. */ +@Suppress("detekt:ForbiddenComment") @Composable internal fun DefaultMessageDeletedContent( modifier: Modifier, @@ -125,8 +127,9 @@ internal fun DefaultMessageDeletedContent( bottom = 8.dp, ), text = stringResource(id = R.string.stream_compose_message_deleted), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.footnoteItalic, + color = ChatTheme.colors.textSecondary, + // TODO: replace with a dedicated italic token once the design system provides one + style = ChatTheme.typography.metadataDefault.copy(fontStyle = FontStyle.Italic), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt index 7d267f7216e..92eb6752fbb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt @@ -55,15 +55,15 @@ public fun MessageHeaderLabel( .size(14.dp), painter = painter, contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) if (text != null) { Text( modifier = Modifier.testTag("Stream_MessageHeaderLabel"), text = text, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt index 7a062cbaca1..fee373e41d1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt @@ -75,8 +75,8 @@ public fun ClusteredMessageReactions( testTag = "Stream_MessageReaction" contentDescription = description } - .background(colors.barsBackground, CircleShape) - .border(1.dp, color = colors.borderCoreSurfaceSubtle, shape = CircleShape) + .background(colors.backgroundElevationElevation1, CircleShape) + .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape) .ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) } .padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs), verticalAlignment = Alignment.CenterVertically, @@ -174,8 +174,8 @@ private fun ReactionChip( Row( modifier = Modifier .fillMaxHeight() - .background(colors.barsBackground, CircleShape) - .border(1.dp, color = colors.borderCoreSurfaceSubtle, shape = CircleShape) + .background(colors.backgroundElevationElevation1, CircleShape) + .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape) .ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) } .padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs), verticalAlignment = Alignment.CenterVertically, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt index d195d9a06f7..551b94e8bf8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt @@ -35,6 +35,7 @@ import androidx.compose.ui.text.TextLayoutResult import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.sp import androidx.compose.ui.util.fastAny import androidx.core.net.toUri import io.getstream.chat.android.compose.ui.theme.ChatTheme @@ -65,7 +66,7 @@ import io.getstream.chat.android.ui.common.utils.extensions.isMine * @param onLinkClick Handler used for clicking on a link in the message. */ @Composable -@Suppress("LongMethod") +@Suppress("LongMethod", "detekt:ForbiddenComment") public fun MessageText( message: Message, currentUser: User?, @@ -89,9 +90,10 @@ public fun MessageText( } // TODO: Fix emoji font padding once this is resolved and exposed: https://issuetracker.google.com/issues/171394808 + // TODO: introduce dedicated emoji text style tokens in the design system val style = when { - message.isSingleEmoji() -> ChatTheme.typography.singleEmoji - message.isFewEmoji() -> ChatTheme.typography.emojiOnly + message.isSingleEmoji() -> TextStyle(fontSize = 64.sp) + message.isFewEmoji() -> TextStyle(fontSize = 64.sp) else -> MessageStyling.textStyle(outgoing = message.isMine(currentUser)) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt index 777803a651c..25be7ed7320 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt @@ -55,8 +55,8 @@ public fun MessageThreadFooter( Text( modifier = Modifier.testTag("Stream_ThreadRepliesLabel"), text = text, - style = ChatTheme.typography.footnoteBold, - color = ChatTheme.colors.primaryAccent, + style = ChatTheme.typography.metadataEmphasis, + color = ChatTheme.colors.accentPrimary, ) if (messageAlignment == MessageAlignment.End) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt index eb6ae12fb25..96538e773cb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt @@ -89,8 +89,8 @@ private fun ShowTranslationLabel(onToggleOriginalText: () -> Unit) { Text( modifier = Modifier.clickable { onToggleOriginalText() }, text = stringResource(R.string.stream_compose_message_list_show_translation), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } @@ -103,7 +103,7 @@ private fun ShowOriginalLabel(onToggleOriginalText: () -> Unit) { onClick = onToggleOriginalText, ), text = stringResource(R.string.stream_compose_message_list_show_original), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt index cf5a2af7da0..2d4bdebd4e6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt @@ -58,8 +58,8 @@ public fun OwnedMessageVisibilityContent( Text( text = stringResource(id = R.string.stream_compose_only_visible_to_you), - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textPrimary, ) Timestamp( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt index 229bb3c44ec..ec36f5da820 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt @@ -149,7 +149,7 @@ public fun PollMessageContent( message = message, shape = messageBubbleShape, color = messageBubbleColor, - border = BorderStroke(1.dp, ChatTheme.colors.borders), + border = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault), content = { MessageContent( message = message, @@ -337,7 +337,7 @@ private fun NewOptionDialog( title = { Text( text = stringResource(R.string.stream_compose_suggest_an_option), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) }, text = { @@ -362,8 +362,8 @@ private fun NewOptionDialog( TextButton( enabled = newOption.value.isNotBlank(), colors = ButtonDefaults.textButtonColors( - contentColor = ChatTheme.colors.primaryAccent, - disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f), + contentColor = ChatTheme.colors.accentPrimary, + disabledContentColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f), ), onClick = { onNewOption.invoke(newOption.value) @@ -375,13 +375,13 @@ private fun NewOptionDialog( }, dismissButton = { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = { onDismiss.invoke() }, ) { Text(stringResource(R.string.stream_compose_dismiss)) } }, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) } @@ -494,7 +494,7 @@ private fun PollOptionButton( @Composable private fun PollMessageContentPreview() { ChatTheme { - Column(modifier = Modifier.background(ChatTheme.colors.appBackground)) { + Column(modifier = Modifier.background(ChatTheme.colors.backgroundCoreApp)) { PollMessageContent( modifier = Modifier .fillMaxWidth() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt index b60e669cea7..1ab46c660cf 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt @@ -31,7 +31,6 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -72,8 +71,8 @@ internal fun ScrollToBottomButton( onClick = onClick, shape = CircleShape, colors = IconButtonDefaults.filledIconButtonColors( - containerColor = ChatTheme.colors.barsBackground, - contentColor = ChatTheme.colors.textHighEmphasis, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + contentColor = ChatTheme.colors.textPrimary, ), ) { Icon( @@ -87,15 +86,19 @@ internal fun ScrollToBottomButton( ) { if (count > 0) { Surface( - modifier = Modifier.border(width = 1.dp, color = Color.White, shape = BadgeShape), + modifier = Modifier.border( + width = 1.dp, + color = ChatTheme.colors.borderCoreOnDark, + shape = BadgeShape, + ), shape = BadgeShape, - color = ChatTheme.colors.primaryAccent, - contentColor = Color.White, + color = ChatTheme.colors.accentPrimary, + contentColor = ChatTheme.colors.badgeTextOnAccent, ) { Text( modifier = Modifier.padding(horizontal = 6.dp, vertical = StreamTokens.spacing3xs), text = count.toString(), - style = ChatTheme.typography.footnoteBold, + style = ChatTheme.typography.metadataEmphasis, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt index b800920d21b..fd16f823ccc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt @@ -21,6 +21,7 @@ import androidx.compose.foundation.border import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag @@ -44,7 +45,7 @@ public fun ThreadParticipants( participants: List, alignment: MessageAlignment, modifier: Modifier = Modifier, - borderStroke: BorderStroke = BorderStroke(width = 1.dp, color = ChatTheme.colors.appBackground), + borderStroke: BorderStroke = BorderStroke(width = 1.dp, color = ChatTheme.colors.backgroundCoreApp), participantsLimit: Int = DefaultParticipantsLimit, ) { Box(modifier) { @@ -59,7 +60,7 @@ public fun ThreadParticipants( it } } - val itemSize = ChatTheme.dimens.threadParticipantItemSize + val itemSize = 16.dp participantsToShow.forEachIndexed { index, user -> val itemPadding = Modifier.padding(start = (index * (itemSize.value / 2)).dp) @@ -80,7 +81,7 @@ public fun ThreadParticipants( modifier = itemPadding .zIndex(itemPosition) .size(itemSize) - .border(border = borderStroke, shape = ChatTheme.shapes.avatar) + .border(border = borderStroke, shape = CircleShape) .testTag("Stream_ThreadParticipantAvatar"), user = user, showIndicator = false, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt index 3e607a3d03c..5774311022f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt @@ -55,7 +55,7 @@ public fun UploadingFooter( uploadedCount + 1, totalCount, ), - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, textAlign = TextAlign.End, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt index a65db453af5..79daa33292f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt @@ -123,7 +123,7 @@ internal fun DefaultModeratedMessageDialogTitle() { Image( painter = painter, contentDescription = "", - colorFilter = ColorFilter.tint(ChatTheme.colors.primaryAccent), + colorFilter = ColorFilter.tint(ChatTheme.colors.accentPrimary), ) Spacer(modifier = Modifier.height(4.dp)) @@ -131,8 +131,8 @@ internal fun DefaultModeratedMessageDialogTitle() { Text( text = stringResource(id = R.string.stream_ui_moderation_dialog_title), textAlign = TextAlign.Center, - style = ChatTheme.typography.title3, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) } @@ -149,7 +149,7 @@ internal fun DefaultModeratedMessageDialogDescription() { .padding(horizontal = 8.dp), text = stringResource(id = R.string.stream_ui_moderation_dialog_description), textAlign = TextAlign.Center, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt index dc7c63753d0..a721fa6e7dc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt @@ -38,15 +38,15 @@ public fun ModeratedMessageOptionItem( option: ModeratedMessageOption, modifier: Modifier = Modifier, ) { - HorizontalDivider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borderCoreDefault) Box( modifier = modifier, contentAlignment = Alignment.Center, ) { Text( text = stringResource(id = option.text), - style = ChatTheme.typography.body, - color = ChatTheme.colors.primaryAccent, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.accentPrimary, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt index 2caac508078..62df4ba7da6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt @@ -117,7 +117,7 @@ public fun PollAnswersDialog( LazyColumn( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { item { PollDialogHeader( @@ -147,7 +147,7 @@ public fun PollAnswersDialog( .padding(horizontal = 16.dp) .clip(shape = ButtonDefaults.shape) .clickable { showAddAnswerDialog.value = true } - .background(color = ChatTheme.colors.inputBackground), + .background(color = ChatTheme.colors.backgroundCoreSurface), contentAlignment = Alignment.Center, ) { Text( @@ -161,7 +161,7 @@ public fun PollAnswersDialog( }, ), textAlign = TextAlign.Center, - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, fontSize = 16.sp, ) } @@ -183,7 +183,7 @@ internal fun PollAnswersItem( .fillMaxWidth() .padding(horizontal = 16.dp) .background( - color = ChatTheme.colors.inputBackground, + color = ChatTheme.colors.backgroundCoreSurface, shape = RoundedCornerShape( topStart = 12.dp, topEnd = 12.dp, @@ -197,7 +197,7 @@ internal fun PollAnswersItem( Text( modifier = Modifier.weight(1f), text = answer.text, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontWeight = FontWeight.Bold, fontSize = 16.sp, ) @@ -221,7 +221,7 @@ internal fun PollAnswersItem( .padding(horizontal = 4.dp) .weight(1f), text = user.name, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 14.sp, ) } @@ -229,7 +229,7 @@ internal fun PollAnswersItem( Text( modifier = Modifier.padding(bottom = 2.dp), text = ChatTheme.dateFormatter.formatDate(answer.createdAt), - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 14.sp, ) } @@ -253,7 +253,7 @@ internal fun AddAnswerDialog( false -> R.string.stream_compose_edit_answer }, ), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) }, text = { @@ -278,8 +278,8 @@ internal fun AddAnswerDialog( TextButton( enabled = newOption.value.isNotBlank(), colors = ButtonDefaults.textButtonColors( - contentColor = ChatTheme.colors.primaryAccent, - disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f), + contentColor = ChatTheme.colors.accentPrimary, + disabledContentColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f), ), onClick = { onNewAnswer.invoke(newOption.value) @@ -291,12 +291,12 @@ internal fun AddAnswerDialog( }, dismissButton = { TextButton( - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), onClick = { onDismiss.invoke() }, ) { Text(stringResource(R.string.stream_compose_dismiss)) } }, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt index 981f2fe05f6..1fe165f3061 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt @@ -52,10 +52,10 @@ public fun PollDialogHeader( Text( text = title, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } @@ -67,7 +67,7 @@ private fun PollDialogHeaderPreview() { Box( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { PollDialogHeader( title = stringResource(id = R.string.stream_compose_poll_results), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt index f3390604e47..66b19864d30 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt @@ -53,6 +53,7 @@ import androidx.compose.ui.window.Popup import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.common.RadioCheck import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.viewmodel.messages.MessageListViewModel import io.getstream.chat.android.models.Option import io.getstream.chat.android.models.Poll @@ -134,7 +135,7 @@ private fun Content( LazyColumn( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { item { PollDialogHeader( @@ -164,8 +165,8 @@ internal fun PollMoreOptionsTitle(title: String) { .padding(16.dp) .fillMaxWidth() .heightIn(min = 56.dp) - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground) + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface) .padding(16.dp), ) { Text( @@ -173,7 +174,7 @@ internal fun PollMoreOptionsTitle(title: String) { .fillMaxWidth() .align(Alignment.CenterStart), text = title, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontWeight = FontWeight.Medium, fontSize = 16.sp, ) @@ -232,7 +233,7 @@ private fun PollMoreOptionItem( modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp) - .background(color = ChatTheme.colors.inputBackground, shape = shape) + .background(color = ChatTheme.colors.backgroundCoreSurface, shape = shape) .padding(horizontal = 16.dp, vertical = 16.dp), verticalAlignment = Alignment.CenterVertically, ) { @@ -253,7 +254,7 @@ private fun PollMoreOptionItem( Text( modifier = Modifier.weight(1f), text = option.text, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 2, overflow = TextOverflow.Ellipsis, fontSize = 16.sp, @@ -262,7 +263,7 @@ private fun PollMoreOptionItem( Text( modifier = Modifier.padding(bottom = 2.dp), text = voteCount.toString(), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 16.sp, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt index e5a6a195440..f17a1e349cc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt @@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.Text @@ -58,7 +59,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.theme.ChatTheme -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText /** @@ -90,14 +92,14 @@ public fun PollOptionInput( enabled: Boolean = true, maxLines: Int = 1, maxLength: Int = 80, - shape: Shape = ChatTheme.shapes.pollOptionInput, + shape: Shape = RoundedCornerShape(StreamTokens.radiusXl), innerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 18.dp), keyboardOptions: KeyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Sentences), decorationBox: @Composable (innerTextField: @Composable () -> Unit) -> Unit, ) { val typography = ChatTheme.typography val colors = ChatTheme.colors - val textColor = ChatTheme.colors.textHighEmphasis + val textColor = ChatTheme.colors.textPrimary val focusRequester = remember { FocusRequester() } // Using TextFieldValue to manage the text input state, // which allows us to set the cursor position to the end of the text @@ -106,12 +108,12 @@ public fun PollOptionInput( mutableStateOf(TextFieldValue(text = value, selection = TextRange(value.length))) } - Box(modifier = modifier.height(ChatTheme.dimens.pollOptionInputHeight)) { + Box(modifier = modifier.height(56.dp)) { BasicTextField( modifier = Modifier .fillMaxSize() .clip(shape = shape) - .background(ChatTheme.colors.inputBackground) + .background(ChatTheme.colors.backgroundCoreSurface) .padding(innerPadding) .focusRequester(focusRequester) .semantics { contentDescription = description }, @@ -125,19 +127,18 @@ public fun PollOptionInput( val styledText = buildAnnotatedInputText( text = it.text, textColor = textColor, - textFontStyle = typography.body.fontStyle, + textFontStyle = typography.bodyDefault.fontStyle, linkStyle = TextStyle( - color = colors.primaryAccent, + color = colors.accentPrimary, textDecoration = TextDecoration.Underline, ), ) TransformedText(styledText, OffsetMapping.Identity) }, - textStyle = StreamTypography.defaultTypography().body.copy( - fontSize = 16.sp, + textStyle = StreamDesign.Typography.default().bodyDefault.copy( textDirection = TextDirection.Content, ), - cursorBrush = SolidColor(ChatTheme.colors.primaryAccent), + cursorBrush = SolidColor(ChatTheme.colors.accentPrimary), decorationBox = { innerTextField -> decorationBox(innerTextField) }, maxLines = maxLines, singleLine = maxLines == 1, @@ -153,8 +154,8 @@ public fun PollOptionInput( .align(Alignment.CenterStart) .semantics { contentDescription = description }, text = description, - style = ChatTheme.typography.body.copy( - color = colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault.copy( + color = colors.textSecondary, textDirection = TextDirection.Content, ), fontSize = 16.sp, @@ -175,7 +176,7 @@ public fun PollOptionInputPreview() { ChatTheme { Column( modifier = Modifier - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .fillMaxWidth() .height(400.dp) .padding(16.dp), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt index 87ff8566a42..232a1e536b8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt @@ -58,6 +58,7 @@ import io.getstream.chat.android.compose.handlers.LoadMoreHandler import io.getstream.chat.android.compose.ui.components.ContentBox import io.getstream.chat.android.compose.ui.components.LoadingIndicator import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.ViewModelStore import io.getstream.chat.android.compose.viewmodel.messages.PollOptionVotesViewModel import io.getstream.chat.android.models.Option @@ -97,7 +98,7 @@ internal fun PollOptionVotesDialog( sheetMaxWidth = Dp.Unspecified, shape = RoundedCornerShape(0.dp), dragHandle = {}, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) { ViewModelStore { val viewModel = viewModel { @@ -164,8 +165,8 @@ private fun Content( LazyColumn( modifier = Modifier .padding(horizontal = 16.dp) - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground) + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface) .padding(16.dp), state = listState, verticalArrangement = Arrangement.spacedBy(16.dp), @@ -179,7 +180,7 @@ private fun Content( Icon( modifier = Modifier.padding(end = 8.dp), painter = painterResource(id = R.drawable.stream_compose_ic_award), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, contentDescription = null, ) } @@ -189,7 +190,7 @@ private fun Content( state.voteCount, state.voteCount, ), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 16.sp, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt index 279d8f876f8..b8d684d6582 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt @@ -63,6 +63,7 @@ import io.getstream.chat.android.client.extensions.internal.getVotesUnlessAnonym import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.R.plurals.stream_compose_poll_vote_counts import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.ViewModelStore import io.getstream.chat.android.compose.viewmodel.messages.PollResultsViewModel import io.getstream.chat.android.models.Option @@ -96,7 +97,7 @@ public fun PollViewResultDialog( sheetMaxWidth = Dp.Unspecified, shape = RoundedCornerShape(0.dp), dragHandle = {}, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, ) { var showAllOptionVotes by rememberSaveable(stateSaver = NullableOptionSaver) { mutableStateOf(null) } @@ -178,8 +179,8 @@ private fun PollViewResultItem( modifier = Modifier .padding(horizontal = 16.dp, vertical = 4.dp) .fillMaxWidth() - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground) + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface) .padding(16.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { @@ -189,7 +190,7 @@ private fun PollViewResultItem( .fillMaxWidth() .weight(1f), text = item.option.text, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontWeight = FontWeight.Medium, fontSize = 16.sp, ) @@ -198,14 +199,14 @@ private fun PollViewResultItem( Icon( modifier = Modifier.padding(end = 8.dp), painter = painterResource(id = R.drawable.stream_compose_ic_award), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, contentDescription = null, ) } Text( text = pluralStringResource(stream_compose_poll_vote_counts, item.voteCount, item.voteCount), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 16.sp, ) } @@ -224,7 +225,7 @@ private fun PollViewResultItem( if (item.showAllButton) { TextButton( onClick = { onShowAllClick(item.option) }, - colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary), ) { Text(text = stringResource(R.string.stream_compose_poll_show_all_votes)) } @@ -242,8 +243,8 @@ private fun PollViewResultTitle( .padding(16.dp) .fillMaxWidth() .heightIn(min = 56.dp) - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground) + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface) .padding(16.dp), ) { Text( @@ -251,7 +252,7 @@ private fun PollViewResultTitle( .fillMaxWidth() .align(Alignment.CenterStart), text = title, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontWeight = FontWeight.Medium, fontSize = 16.sp, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt index 10acf12a466..3ae3db93ff6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt @@ -50,20 +50,20 @@ internal fun PollVoteItem( Text( modifier = Modifier.weight(1f), text = user.name, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.bodyDefault, ) Text( text = ChatTheme.dateFormatter.formatRelativeDate(vote.createdAt), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.bodyBold, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.bodyEmphasis, ) Text( text = ChatTheme.dateFormatter.formatTime(vote.createdAt), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.bodyDefault, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt index 37abbcbcd8a..9dfc60d7e8f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt @@ -19,11 +19,13 @@ package io.getstream.chat.android.compose.ui.components.reactionpicker import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.components.SimpleMenu import io.getstream.chat.android.compose.ui.components.reactionoptions.ExtendedReactionsOptions import io.getstream.chat.android.compose.ui.theme.ChatTheme @@ -55,8 +57,8 @@ public fun ReactionsPicker( message: Message, onMessageAction: (MessageAction) -> Unit, modifier: Modifier = Modifier, - shape: Shape = ChatTheme.shapes.bottomSheet, - overlayColor: Color = ChatTheme.colors.overlay, + shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + overlayColor: Color = ChatTheme.colors.backgroundCoreScrim, cells: GridCells = GridCells.Fixed(DefaultNumberOfReactions), onDismiss: () -> Unit = {}, headerContent: @Composable ColumnScope.() -> Unit = { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt index 904345c91a1..f908e621cc5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt @@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.BottomSheetDefaults import androidx.compose.material3.ExperimentalMaterial3Api @@ -78,9 +79,9 @@ public fun SelectedReactionsMenu( ModalBottomSheet( modifier = modifier, sheetState = rememberModalBottomSheetState(), - shape = ChatTheme.shapes.bottomSheet, - containerColor = ChatTheme.colors.barsBackground, - scrimColor = ChatTheme.colors.overlay, + shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + containerColor = ChatTheme.colors.backgroundElevationElevation1, + scrimColor = ChatTheme.colors.backgroundCoreScrim, onDismissRequest = onDismiss, dragHandle = { BottomSheetDefaults.DragHandle() }, ) { @@ -149,15 +150,15 @@ internal fun ReactionsMenuContent( horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier .fillMaxWidth() - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .verticalScroll(rememberScrollState()), ) { Text( text = reactionCountText, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) ReactionCountRow( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt index 009d54baa25..011d5f077eb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt @@ -19,6 +19,7 @@ package io.getstream.chat.android.compose.ui.components.suggestions import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.runtime.Composable @@ -29,6 +30,7 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.window.Popup import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.AboveAnchorPopupPositionProvider /** @@ -44,17 +46,17 @@ import io.getstream.chat.android.compose.ui.util.AboveAnchorPopupPositionProvide @Composable public fun SuggestionList( modifier: Modifier = Modifier, - shape: Shape = ChatTheme.shapes.suggestionList, - contentPadding: PaddingValues = PaddingValues(vertical = ChatTheme.dimens.suggestionListPadding), + shape: Shape = RoundedCornerShape(StreamTokens.radiusXl), + contentPadding: PaddingValues = PaddingValues(vertical = StreamTokens.spacingXs), headerContent: @Composable () -> Unit = {}, centerContent: @Composable () -> Unit, ) { Popup(popupPositionProvider = AboveAnchorPopupPositionProvider) { Card( modifier = modifier.semantics { testTagsAsResourceId = true }, - elevation = CardDefaults.cardElevation(defaultElevation = ChatTheme.dimens.suggestionListElevation), + elevation = CardDefaults.cardElevation(defaultElevation = StreamTokens.elevation3), shape = shape, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) { Column(Modifier.padding(contentPadding)) { headerContent() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt index 10ae252eeac..94ea5f11b74 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt @@ -29,6 +29,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.suggestions.SuggestionList import io.getstream.chat.android.compose.ui.theme.ChatPreviewTheme @@ -60,7 +61,7 @@ public fun CommandSuggestionList( SuggestionList( modifier = modifier .fillMaxWidth() - .heightIn(max = ChatTheme.dimens.suggestionListMaxHeight) + .heightIn(max = 256.dp) .testTag("Stream_SuggestionList"), headerContent = { DefaultCommandSuggestionListHeader() }, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt index 5c747d471fa..e9b53596461 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt @@ -35,6 +35,7 @@ import androidx.compose.ui.unit.dp import io.getstream.chat.android.client.ChatClient import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.clickable import io.getstream.chat.android.models.User import io.getstream.chat.android.ui.common.utils.extensions.shouldShowOnlineIndicator @@ -76,8 +77,8 @@ public fun MentionSuggestionItem( .wrapContentHeight() .clickable { onMentionSelected(user) } .padding( - vertical = ChatTheme.dimens.mentionSuggestionItemVerticalPadding, - horizontal = ChatTheme.dimens.mentionSuggestionItemHorizontalPadding, + vertical = StreamTokens.spacingXs, + horizontal = StreamTokens.spacingMd, ) .testTag("Stream_MentionSuggestionItem"), verticalAlignment = Alignment.CenterVertically, @@ -100,7 +101,7 @@ internal fun DefaultMentionSuggestionItemLeadingContent(user: User) { ChatTheme.componentFactory.UserAvatar( modifier = Modifier .padding(end = 8.dp) - .size(ChatTheme.dimens.mentionSuggestionItemAvatarSize), + .size(40.dp), user = user, showIndicator = user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, @@ -126,16 +127,16 @@ internal fun RowScope.DefaultMentionSuggestionItemCenterContent(user: User) { val username = "@${user.id}" Text( text = user.name.ifEmpty { username }, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) if (user.name.isNotEmpty()) { Text( text = username, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -154,6 +155,6 @@ internal fun DefaultMentionSuggestionItemTrailingContent() { .size(24.dp), painter = painterResource(id = R.drawable.stream_compose_ic_mentions), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt index 3fb73b73c56..5bceb281571 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt @@ -24,6 +24,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.components.suggestions.SuggestionList import io.getstream.chat.android.compose.ui.theme.ChatPreviewTheme import io.getstream.chat.android.compose.ui.theme.ChatTheme @@ -53,7 +54,7 @@ public fun MentionSuggestionList( SuggestionList( modifier = modifier .fillMaxWidth() - .heightIn(max = ChatTheme.dimens.suggestionListMaxHeight), + .heightIn(max = 256.dp), ) { MentionSuggestionLazyList( users = users, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt index e45332abde8..3a7c16e36cd 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt @@ -207,7 +207,7 @@ public fun MessagesScreen( bottomBar = { bottomBarContent() }, - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, ) { contentPadding -> val currentState by listViewModel.currentMessagesState @@ -618,7 +618,7 @@ public fun MessageModerationDialog( message = selectedMessage, modifier = Modifier.background( shape = MaterialTheme.shapes.medium, - color = ChatTheme.colors.inputBackground, + color = ChatTheme.colors.backgroundCoreSurface, ), onDismissRequest = remember(listViewModel) { { listViewModel.removeOverlay() } }, onDialogOptionInteraction = remember(listViewModel, composerViewModel) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt index 941dd29d648..acbe6cd21c7 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt @@ -211,8 +211,8 @@ private fun RequestAdditionalAccessButton( .padding(16.dp) .weight(1f), text = stringResource(id = textId), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) IconButton( @@ -220,7 +220,7 @@ private fun RequestAdditionalAccessButton( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_more_files), contentDescription = stringResource(id = contentDescriptionId), - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) }, onClick = onClick, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt index e0a4199dc50..4ffa17f12b6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt @@ -93,7 +93,7 @@ public fun AttachmentPicker( Surface( modifier = modifier.testTag("Stream_AttachmentsPicker"), - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, ) { if (ChatTheme.attachmentPickerConfig.useSystemPicker) { ChatTheme.componentFactory.AttachmentSystemPicker( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt index 486b66ea0cc..b981319426f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt @@ -30,6 +30,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import io.getstream.chat.android.compose.ui.messages.MessagesScreen import io.getstream.chat.android.compose.ui.theme.ChatTheme @@ -75,9 +76,8 @@ public fun AttachmentPickerMenu( // Dismiss the keyboard when the attachments picker is shown (if instructed by ChatTheme). val focusManager = LocalFocusManager.current - val shouldCloseKeyboard = ChatTheme.keyboardBehaviour.closeKeyboardOnAttachmentPickerOpen LaunchedEffect(isPickerVisible) { - if (shouldCloseKeyboard && isPickerVisible) { + if (isPickerVisible) { focusManager.clearFocus() } } @@ -91,8 +91,8 @@ public fun AttachmentPickerMenu( } val menuHeight = when { - ChatTheme.attachmentPickerConfig.useSystemPicker -> ChatTheme.dimens.attachmentsSystemPickerHeight - else -> ChatTheme.dimens.attachmentsPickerHeight + ChatTheme.attachmentPickerConfig.useSystemPicker -> 72.dp + else -> 350.dp } val actions = remember(attachmentsPickerViewModel, composerViewModel) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt index 2dd6aa19dca..3e8fa843a60 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt @@ -36,6 +36,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.isGranted @@ -246,8 +247,8 @@ private fun CameraPermissionDialog( ) { Dialog(onDismissRequest = onDismiss) { Card( - modifier = Modifier.height(ChatTheme.dimens.attachmentsPickerHeight), - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), + modifier = Modifier.height(350.dp), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), ) { RequiredCameraPermission() } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt index 6dd0d8ae1f5..db7417a4b5e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt @@ -99,7 +99,7 @@ public fun CreatePollScreen( .fillMaxSize() .nestedScroll(nestedScrollConnection) .verticalScroll(rememberScrollState()) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { // Header PollCreationHeader( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt index f4a35047cb8..be7c1c1ae29 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt @@ -63,7 +63,7 @@ public fun PollCreationDiscardDialog( modifier = Modifier .fillMaxSize() .clip(RoundedCornerShape(16.dp)) - .background(ChatTheme.colors.overlay), + .background(ChatTheme.colors.backgroundCoreScrim), ) { Column( modifier = Modifier @@ -71,7 +71,7 @@ public fun PollCreationDiscardDialog( .padding(horizontal = 34.dp) .align(Alignment.Center) .clip(RoundedCornerShape(16.dp)) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { Column( modifier = Modifier.padding(vertical = 32.dp, horizontal = 16.dp), @@ -79,14 +79,14 @@ public fun PollCreationDiscardDialog( Text( modifier = Modifier.padding(bottom = 8.dp), text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_title), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 17.sp, fontWeight = FontWeight.Medium, ) Text( text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_description), - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 17.sp, ) } @@ -100,7 +100,7 @@ public fun PollCreationDiscardDialog( TextButton(onClick = { onCancelClicked() }) { Text( text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_cancel), - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, fontSize = 17.sp, fontWeight = FontWeight.Medium, ) @@ -109,7 +109,7 @@ public fun PollCreationDiscardDialog( TextButton(onClick = { onDiscardClicked() }) { Text( text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_confirm), - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, fontSize = 17.sp, fontWeight = FontWeight.Medium, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt index 83a4a2da3db..ba525f20cae 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt @@ -33,6 +33,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.Shape import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -63,8 +64,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme @Composable public fun PollCreationHeader( modifier: Modifier = Modifier, - color: Color = ChatTheme.colors.appBackground, - shape: Shape = ChatTheme.shapes.header, + color: Color = ChatTheme.colors.backgroundCoreApp, + shape: Shape = RectangleShape, elevation: Dp = 0.dp, onBackPressed: () -> Unit = {}, enabledCreation: Boolean, @@ -117,10 +118,10 @@ internal fun DefaultPollOptionsHeaderCenterContent(modifier: Modifier, title: St ) { Text( text = title, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } @@ -133,8 +134,8 @@ internal fun DefaultPollOptionsHeaderTrailingContent( IconButton( enabled = enabled, colors = IconButtonDefaults.iconButtonColors( - contentColor = ChatTheme.colors.primaryAccent, - disabledContentColor = ChatTheme.colors.textLowEmphasis, + contentColor = ChatTheme.colors.accentPrimary, + disabledContentColor = ChatTheme.colors.textSecondary, ), onClick = onPollCreateClicked, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt index fb9d5aaaa3c..0d10bf36549 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt @@ -35,6 +35,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.IconButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -55,6 +56,7 @@ import androidx.compose.ui.unit.sp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.poll.PollOptionInput import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.clickable import sh.calvin.reorderable.ReorderableItem import sh.calvin.reorderable.rememberReorderableLazyListState @@ -78,7 +80,7 @@ public fun PollOptionList( title: String = stringResource(id = R.string.stream_compose_poll_option_title), optionItems: List = emptyList(), onQuestionsChanged: (List) -> Unit, - itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, + itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp), ) { val context = LocalContext.current @@ -99,8 +101,8 @@ public fun PollOptionList( Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), text = title, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.title3, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.headingMedium, fontSize = 16.sp, ) @@ -122,14 +124,14 @@ public fun PollOptionList( .border( width = 1.dp, color = if (item.pollOptionError == null) { - ChatTheme.colors.inputBackground + ChatTheme.colors.backgroundCoreSurface } else { - ChatTheme.colors.errorAccent + ChatTheme.colors.accentError }, - shape = ChatTheme.shapes.pollOptionInput, + shape = RoundedCornerShape(StreamTokens.radiusXl), ) - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground), + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface), verticalAlignment = Alignment.CenterVertically, ) { PollOptionInput( @@ -174,7 +176,7 @@ public fun PollOptionList( .fillMaxWidth() .padding(bottom = 4.dp), text = item.pollOptionError.message, - color = ChatTheme.colors.errorAccent, + color = ChatTheme.colors.accentError, fontSize = 12.sp, ) innerTextField.invoke() @@ -202,7 +204,7 @@ public fun PollOptionList( .fillMaxWidth() .height(itemHeightSize) .padding(horizontal = 16.dp) - .clip(shape = ChatTheme.shapes.pollOptionInput) + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) .background(ChatTheme.messageComposerTheme.inputField.backgroundColor) .clickable { optionItemList = optionItemList @@ -219,7 +221,7 @@ public fun PollOptionList( .align(Alignment.CenterStart) .padding(itemInnerPadding), text = stringResource(id = R.string.stream_compose_poll_option_description), - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 16.sp, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt index b2a2ee4556d..091ceb631d2 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt @@ -51,8 +51,8 @@ public fun PollQuestionInput( Text( modifier = Modifier.padding(bottom = 8.dp), text = title, - color = ChatTheme.colors.textHighEmphasis, - style = ChatTheme.typography.title3, + color = ChatTheme.colors.textPrimary, + style = ChatTheme.typography.headingMedium, fontSize = 16.sp, ) @@ -74,7 +74,7 @@ private fun PollOptionQuestionsPreview() { PollQuestionInput( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), question = "This is an amazing question!", onQuestionChanged = {}, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt index e4fa06cbc3f..b24a2f473f4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt @@ -59,6 +59,7 @@ import androidx.compose.ui.unit.sp import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.components.poll.PollOptionInput import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.ui.common.utils.PollsConstants /** @@ -75,7 +76,7 @@ public fun PollSwitchList( modifier: Modifier = Modifier, pollSwitchItems: List, onSwitchesChanged: (List) -> Unit, - itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, + itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp), ) { @Suppress("SpreadOperator") @@ -106,14 +107,14 @@ public fun PollSwitchList( .border( width = 1.dp, color = if (item.pollOptionError == null) { - ChatTheme.colors.inputBackground + ChatTheme.colors.backgroundCoreSurface } else { - ChatTheme.colors.errorAccent + ChatTheme.colors.accentError }, - shape = ChatTheme.shapes.pollOptionInput, + shape = RoundedCornerShape(StreamTokens.radiusXl), ) - .clip(shape = ChatTheme.shapes.pollOptionInput) - .background(ChatTheme.colors.inputBackground), + .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) + .background(ChatTheme.colors.backgroundCoreSurface), ) { val layoutDirection = LocalLayoutDirection.current Column( @@ -135,16 +136,16 @@ public fun PollSwitchList( .fillMaxWidth() .weight(1f), text = item.title, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, fontSize = 16.sp, ) Switch( colors = SwitchDefaults.colors().copy( - checkedTrackColor = ChatTheme.colors.infoAccent, - checkedBorderColor = ChatTheme.colors.infoAccent, - uncheckedTrackColor = ChatTheme.colors.textLowEmphasis, - uncheckedBorderColor = ChatTheme.colors.textLowEmphasis, + checkedTrackColor = ChatTheme.colors.accentSuccess, + checkedBorderColor = ChatTheme.colors.accentSuccess, + uncheckedTrackColor = ChatTheme.colors.textSecondary, + uncheckedBorderColor = ChatTheme.colors.textSecondary, ), thumbContent = { Box( @@ -155,7 +156,7 @@ public fun PollSwitchList( color = if (item.enabled) { Color.White } else { - ChatTheme.colors.disabled + ChatTheme.colors.backgroundCoreDisabled }, ), ) @@ -206,7 +207,7 @@ public fun PollSwitchList( .fillMaxWidth() .padding(bottom = 4.dp), text = item.pollOptionError.message, - color = ChatTheme.colors.errorAccent, + color = ChatTheme.colors.accentError, fontSize = 12.sp, ) innerTextField.invoke() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt index 038d985873a..bb39d2af989 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt @@ -423,8 +423,8 @@ private fun MessageComposerSurface( } else { Surface( modifier = modifier, - shadowElevation = ChatTheme.dimens.messageComposerShadowElevation, - color = ChatTheme.colors.barsBackground, + shadowElevation = 24.dp, + color = ChatTheme.colors.backgroundElevationElevation1, content = content, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt index 1e65decf596..0fe378946c8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt @@ -135,7 +135,7 @@ internal fun MessageComposerAudioRecordingHoldContent( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_mic), contentDescription = null, - tint = ChatTheme.colors.errorAccent, + tint = ChatTheme.colors.accentError, ) } @@ -169,7 +169,7 @@ internal fun MessageComposerAudioRecordingLockedContent( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_mic), contentDescription = null, - tint = ChatTheme.colors.errorAccent, + tint = ChatTheme.colors.accentError, ) } @@ -323,7 +323,7 @@ private fun MessageComposerAudioRecordingControlsContent( testTag = "Stream_ComposerStopAudioRecordingButton", circleModifier = Modifier.border(1.dp, ChatTheme.colors.buttonDestructiveBorder, CircleShape), iconRes = R.drawable.stream_compose_ic_stop, - iconTint = ChatTheme.colors.errorAccent, + iconTint = ChatTheme.colors.accentError, iconModifier = Modifier.size(ControlIconSize), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt index da6c436edea..e25822d395c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt @@ -35,7 +35,6 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource @@ -86,8 +85,8 @@ internal fun DefaultMessageComposerFooterInThreadMode( checked = alsoSendToChannel, onCheckedChange = onAlsoSendToChannelChanged, colors = CheckboxDefaults.colors( - ChatTheme.colors.primaryAccent, - ChatTheme.colors.textLowEmphasis, + ChatTheme.colors.accentPrimary, + ChatTheme.colors.textSecondary, ), ) @@ -95,9 +94,9 @@ internal fun DefaultMessageComposerFooterInThreadMode( Text( text = stringResource(R.string.stream_compose_message_composer_show_in_channel), - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, textAlign = TextAlign.Center, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, ) } } @@ -131,7 +130,7 @@ internal fun DefaultMessageComposerLeadingContent( .padding(end = 8.dp) .border( width = 1.dp, - color = ChatTheme.colors.borders, + color = ChatTheme.colors.borderCoreDefault, shape = CircleShape, ) .then( @@ -145,10 +144,10 @@ internal fun DefaultMessageComposerLeadingContent( .padding(attachmentsButtonStyle.padding) .testTag("Stream_ComposerAttachmentsButton"), colors = IconButtonDefaults.filledIconButtonColors( - containerColor = ChatTheme.colors.barsBackground, - disabledContainerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + disabledContainerColor = ChatTheme.colors.backgroundElevationElevation1, contentColor = attachmentsButtonStyle.icon.tint, - disabledContentColor = ChatTheme.colors.disabled, + disabledContentColor = ChatTheme.colors.textDisabled, ), onClick = onAttachmentsClick, ) { @@ -186,8 +185,8 @@ internal fun SendButton( ) }, colors = IconButtonDefaults.filledIconButtonColors( - containerColor = ChatTheme.colors.primaryAccent, - contentColor = Color.White, + containerColor = ChatTheme.colors.accentPrimary, + contentColor = ChatTheme.colors.textOnAccent, ), onClick = onClick, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt index 0b06481b36f..2ffe1e8b75e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt @@ -46,9 +46,8 @@ import androidx.compose.ui.text.style.TextDecoration import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme -import io.getstream.chat.android.compose.ui.theme.StreamColors +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.theme.StreamTokens -import io.getstream.chat.android.compose.ui.theme.StreamTypography import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText import io.getstream.chat.android.ui.common.feature.messages.composer.capabilities.canSendMessage import io.getstream.chat.android.ui.common.feature.messages.composer.mention.Mention @@ -126,7 +125,7 @@ private fun TextFieldPlaceholder(canSendMessage: Boolean) { } Text( text = text, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, style = ChatTheme.messageComposerTheme.inputField.textStyle, ) } @@ -150,15 +149,15 @@ private const val TextFieldMaxLines = 5 private class TextFieldVisualTransformation( val inputFieldTheme: ComposerInputFieldTheme, - val typography: StreamTypography, - val colors: StreamColors, + val typography: StreamDesign.Typography, + val colors: StreamDesign.Colors, val mentions: Set, ) : VisualTransformation { override fun filter(text: AnnotatedString): TransformedText { val textColor = inputFieldTheme.textStyle.color - val fontStyle = typography.body.fontStyle + val fontStyle = typography.bodyDefault.fontStyle val linkStyle = TextStyle( - color = colors.primaryAccent, + color = colors.accentPrimary, textDecoration = TextDecoration.Underline, ) val transformed = buildAnnotatedInputText( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt index 7329aefcc48..4199be8b2ee 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt @@ -32,6 +32,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.Shape import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.testTag @@ -46,6 +47,7 @@ import io.getstream.chat.android.compose.ui.components.BackButton import io.getstream.chat.android.compose.ui.components.NetworkLoadingIndicator import io.getstream.chat.android.compose.ui.components.TypingIndicator import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.compose.ui.util.clickable import io.getstream.chat.android.compose.ui.util.getMembersStatusText import io.getstream.chat.android.compose.ui.util.ifNotNull @@ -86,9 +88,9 @@ public fun MessageListHeader( modifier: Modifier = Modifier, typingUsers: List = emptyList(), messageMode: MessageMode = MessageMode.Normal, - color: Color = ChatTheme.colors.barsBackground, - shape: Shape = ChatTheme.shapes.header, - elevation: Dp = ChatTheme.dimens.headerElevation, + color: Color = ChatTheme.colors.backgroundElevationElevation1, + shape: Shape = RectangleShape, + elevation: Dp = StreamTokens.elevation3, onBackPressed: () -> Unit = {}, onHeaderTitleClick: ((Channel) -> Unit)? = null, onChannelAvatarClick: (() -> Unit)? = null, @@ -225,10 +227,10 @@ public fun DefaultMessageListHeaderCenterContent( Text( modifier = Modifier.testTag("Stream_ChannelName"), text = title, - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) when (connectionState) { @@ -243,16 +245,16 @@ public fun DefaultMessageListHeaderCenterContent( NetworkLoadingIndicator( modifier = Modifier.wrapContentHeight(), spinnerSize = 12.dp, - textColor = ChatTheme.colors.textLowEmphasis, - textStyle = ChatTheme.typography.footnote, + textColor = ChatTheme.colors.textSecondary, + textStyle = ChatTheme.typography.metadataDefault, ) } is ConnectionState.Offline -> { Text( text = stringResource(id = R.string.stream_compose_disconnected), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.footnote, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.metadataDefault, maxLines = 1, overflow = TextOverflow.Ellipsis, ) @@ -273,8 +275,8 @@ internal fun DefaultMessageListHeaderSubtitle( subtitle: String, typingUsers: List, ) { - val textColor = ChatTheme.colors.textLowEmphasis - val textStyle = ChatTheme.typography.footnote + val textColor = ChatTheme.colors.textSecondary + val textStyle = ChatTheme.typography.metadataDefault if (typingUsers.isEmpty()) { Text( @@ -327,7 +329,7 @@ internal fun DefaultMessageListHeaderTrailingContent( ) { ChatTheme.componentFactory.ChannelAvatar( modifier = Modifier - .size(ChatTheme.dimens.channelAvatarSize) + .size(40.dp) .ifNotNull(onClick) { clickable(onClick = it) }, channel = channel, currentUser = currentUser, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt index daf1e466eee..8f3a66aaf34 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt @@ -171,8 +171,8 @@ public fun MessageContainer( ) val backgroundColor = when (focusState is MessageFocused || message.isPinned(ChatTheme.timeProvider)) { - true -> ChatTheme.colors.highlight - else -> ChatTheme.colors.highlight.copy(alpha = 0f) // Ensures a smooth fade-out without unwanted color shifts. + true -> ChatTheme.colors.backgroundCoreHighlight + else -> ChatTheme.colors.backgroundCoreHighlight.copy(alpha = 0f) } val color by animateColorAsState( @@ -509,7 +509,7 @@ public fun DefaultMessageContent( onClosePoll: (String) -> Unit, onAddPollOption: (poll: Poll, option: String) -> Unit, ) { - val finalModifier = modifier.widthIn(max = ChatTheme.dimens.messageItemMaxWidth) + val finalModifier = modifier.widthIn(max = 250.dp) if (messageItem.message.isPoll() && !messageItem.message.isDeleted()) { val poll = messageItem.message.poll LaunchedEffect(key1 = poll) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt index 495f11f3e3d..912ddbc1f59 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt @@ -200,8 +200,8 @@ internal fun DefaultMessageUnreadSeparatorContent(unreadSeparatorItemState: Unre internal fun DefaultMessageThreadSeparatorContent(threadSeparator: ThreadDateSeparatorItemState) { val backgroundGradient = Brush.verticalGradient( listOf( - ChatTheme.colors.threadSeparatorGradientStart, - ChatTheme.colors.threadSeparatorGradientEnd, + ChatTheme.colors.backgroundCoreSurface, + ChatTheme.colors.backgroundCoreApp, ), ) val replyCount = threadSeparator.replyCount @@ -210,21 +210,21 @@ internal fun DefaultMessageThreadSeparatorContent(threadSeparator: ThreadDateSep modifier = Modifier .semantics(mergeDescendants = true) {} .fillMaxWidth() - .padding(vertical = ChatTheme.dimens.threadSeparatorVerticalPadding) + .padding(vertical = StreamTokens.spacingXs) .background(brush = backgroundGradient), contentAlignment = Alignment.Center, ) { Text( modifier = Modifier - .padding(vertical = ChatTheme.dimens.threadSeparatorTextVerticalPadding) + .padding(vertical = StreamTokens.spacing3xs) .testTag("Stream_RepliesCount"), text = LocalContext.current.resources.getQuantityString( R.plurals.stream_compose_message_list_thread_separator, replyCount, replyCount, ), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.body, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.bodyDefault, ) } } @@ -243,8 +243,8 @@ internal fun DefaultSystemMessageContent(systemMessageState: SystemMessageItemSt .fillMaxWidth() .padding(vertical = 12.dp, horizontal = 16.dp), text = systemMessageState.message.text, - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.footnoteBold, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.metadataEmphasis, textAlign = TextAlign.Center, ) } @@ -263,8 +263,8 @@ internal fun DefaultMessageModeratedContent(moderatedMessageItemState: Moderated text = moderatedMessageItemState.message.text .takeUnless { it.isBlank() } ?: stringResource(id = R.string.stream_compose_message_moderated), - color = ChatTheme.colors.textLowEmphasis, - style = ChatTheme.typography.footnoteBold, + color = ChatTheme.colors.textSecondary, + style = ChatTheme.typography.metadataEmphasis, textAlign = TextAlign.Center, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt index 2e58880146d..be3c757c222 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt @@ -331,8 +331,8 @@ internal fun DefaultMessageListEmptyContent(modifier: Modifier) { ) { Text( text = stringResource(R.string.stream_compose_message_list_empty_messages), - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, textAlign = TextAlign.Center, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt index f0ece597132..1aeac461475 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt @@ -38,6 +38,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.getstream.chat.android.compose.ui.components.Timestamp import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.User import io.getstream.chat.android.ui.common.utils.extensions.shouldShowOnlineIndicator @@ -107,12 +108,12 @@ internal fun DefaultMessagePreviewItemLeadingContent(message: Message, currentUs user = message.user, modifier = Modifier .padding( - start = ChatTheme.dimens.channelItemHorizontalPadding, + start = StreamTokens.spacingXs, end = 4.dp, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) - .size(ChatTheme.dimens.channelAvatarSize), + .size(40.dp), showIndicator = message.user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, currentUser = currentUser, @@ -142,19 +143,19 @@ internal fun RowScope.DefaultMessagePreviewItemCenterContent( ) { Text( text = ChatTheme.messagePreviewFormatter.formatMessageTitle(message), - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 16.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = ChatTheme.messagePreviewFormatter.formatMessagePreview(message, currentUser), maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) } } @@ -170,9 +171,9 @@ internal fun RowScope.DefaultMessagePreviewItemTrailingContent(message: Message) modifier = Modifier .padding( start = 4.dp, - end = ChatTheme.dimens.channelItemHorizontalPadding, - top = ChatTheme.dimens.channelItemVerticalPadding, - bottom = ChatTheme.dimens.channelItemVerticalPadding, + end = StreamTokens.spacingXs, + top = StreamTokens.spacingSm, + bottom = StreamTokens.spacingSm, ) .wrapContentHeight() .align(Alignment.Bottom), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt index caa2bbed18a..c38097417d0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt @@ -208,7 +208,7 @@ private fun PinnedMessages( Box( modifier = modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) { LazyColumn(state = listState) { itemsIndexed(messages) { index, pinnedMessage -> @@ -238,7 +238,7 @@ private fun PinnedMessages( @Composable internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier) { Column( - modifier = modifier.background(ChatTheme.colors.appBackground), + modifier = modifier.background(ChatTheme.colors.backgroundCoreApp), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, ) { @@ -252,8 +252,8 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier) modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.stream_compose_pinned_message_list_empty_title), textAlign = TextAlign.Center, - style = ChatTheme.typography.captionBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.numericMedium, + color = ChatTheme.colors.textPrimary, fontSize = 16.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -265,8 +265,8 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier) .padding(horizontal = 16.dp), text = stringResource(id = R.string.stream_compose_pinned_message_list_empty_description).parseBoldTags(), textAlign = TextAlign.Center, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 16.sp, ) } @@ -279,7 +279,7 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier) */ @Composable internal fun DefaultPinnedMessageListLoadingContent(modifier: Modifier = Modifier) { - Box(modifier = modifier.background(ChatTheme.colors.appBackground)) { + Box(modifier = modifier.background(ChatTheme.colors.backgroundCoreApp)) { LoadingIndicator(modifier) } } @@ -292,7 +292,7 @@ internal fun DefaultPinnedMessageListLoadingMoreContent() { Box( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(top = 8.dp, start = 8.dp, end = 8.dp, bottom = 40.dp), contentAlignment = Alignment.Center, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt deleted file mode 100644 index f8be5b99864..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Immutable -import androidx.compose.ui.graphics.Color - -/** - * Represents the theming for the attachment picker. - * - * @param backgroundOverlay The overlay background color. - * @param backgroundSecondary The secondary background color. - * @param backgroundPrimary The primary background color. - * @param checkIconBackgroundColor The background color of the check icon. - * @param checkIconTintColor The tint color of the check icon. - * @param contentColor The content color used for text and icons. - */ -@Immutable -public data class AttachmentPickerTheme( - val backgroundOverlay: Color, - val backgroundSecondary: Color, - val backgroundPrimary: Color, - val checkIconBackgroundColor: Color, - val checkIconTintColor: Color, - val contentColor: Color, -) { - - public companion object { - - /** - * Builds the default attachment picker theme. - * - * @return A [AttachmentPickerTheme] instance holding the default theming. - */ - @Composable - public fun defaultTheme( - colors: StreamColors = when (isSystemInDarkTheme()) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() - }, - ): AttachmentPickerTheme { - return AttachmentPickerTheme( - backgroundOverlay = colors.overlay, - backgroundSecondary = colors.inputBackground, - backgroundPrimary = colors.barsBackground, - checkIconBackgroundColor = colors.overlayDark, - checkIconTintColor = colors.textHighEmphasisInverse, - contentColor = colors.overlayDark, - ) - } - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt index 1dd9007a284..efb67288256 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt @@ -780,7 +780,7 @@ public interface ChatComponentFactory { Box( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), ) } @@ -1090,7 +1090,7 @@ public interface ChatComponentFactory { modifier = modifier, painter = painterResource(id = R.drawable.stream_compose_ic_error), contentDescription = null, - tint = ChatTheme.colors.errorAccent, + tint = ChatTheme.colors.accentError, ) } @@ -2162,7 +2162,7 @@ public interface ChatComponentFactory { ChannelOptionsItemLeadingIcon(Modifier, option) }, onClick = onClick, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, itemHeight = 56.dp, verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Start, @@ -2824,7 +2824,7 @@ public interface ChatComponentFactory { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_reply), contentDescription = "", - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) } } @@ -2908,8 +2908,8 @@ public interface ChatComponentFactory { state = pullToRefreshState, isRefreshing = isRefreshing, modifier = modifier.align(Alignment.TopCenter), - containerColor = ChatTheme.colors.barsBackground, - color = ChatTheme.colors.primaryAccent, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.accentPrimary, ) } @@ -3316,14 +3316,14 @@ public interface ChatComponentFactory { title = { Text( text = stringResource(R.string.stream_ui_channel_attachments_files_title), - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, ) }, navigationIcon = { ChannelInfoNavigationIcon(onClick = onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.barsBackground, - titleContentColor = ChatTheme.colors.textHighEmphasis, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + titleContentColor = ChatTheme.colors.textPrimary, ), ) } @@ -3373,11 +3373,11 @@ public interface ChatComponentFactory { Text( modifier = modifier .fillMaxWidth() - .background(ChatTheme.colors.borders.copy(alpha = 0.8f)) + .background(ChatTheme.colors.borderCoreDefault.copy(alpha = 0.8f)) .padding(horizontal = 16.dp, vertical = 8.dp), text = label, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary, ) } @@ -3446,14 +3446,14 @@ public interface ChatComponentFactory { title = { Text( text = stringResource(R.string.stream_ui_channel_attachments_media_title), - style = ChatTheme.typography.title3Bold, + style = ChatTheme.typography.headingMedium, maxLines = 1, ) }, navigationIcon = { ChannelInfoNavigationIcon(onClick = onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.barsBackground, - titleContentColor = ChatTheme.colors.textHighEmphasis, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + titleContentColor = ChatTheme.colors.textPrimary, ), ) } @@ -3505,13 +3505,13 @@ public interface ChatComponentFactory { .align(Alignment.TopCenter) .padding(16.dp) .background( - color = ChatTheme.colors.textHighEmphasis.copy(alpha = 0.6f), + color = ChatTheme.colors.textPrimary.copy(alpha = 0.6f), shape = ButtonDefaults.outlinedShape, ) .padding(horizontal = 12.dp, vertical = 8.dp), text = label, - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasisInverse, + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textOnDark, ) } @@ -3552,7 +3552,7 @@ public interface ChatComponentFactory { CircularProgressIndicator( modifier = modifier.fillMaxSize(.25f), strokeWidth = 2.dp, - color = ChatTheme.colors.primaryAccent, + color = ChatTheme.colors.accentPrimary, ) } } @@ -3576,13 +3576,13 @@ public interface ChatComponentFactory { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_close), contentDescription = stringResource(id = R.string.stream_compose_cancel), - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.barsBackground, - titleContentColor = ChatTheme.colors.textHighEmphasis, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + titleContentColor = ChatTheme.colors.textPrimary, ), ) } @@ -3603,14 +3603,14 @@ public interface ChatComponentFactory { ) { Text( text = title, - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, ) Text( text = subtitle, - style = ChatTheme.typography.footnote, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.metadataDefault, + color = ChatTheme.colors.textSecondary, maxLines = 1, ) } @@ -3633,15 +3633,15 @@ public interface ChatComponentFactory { public fun ChannelMediaAttachmentsPreviewBottomBar(text: String) { Row( modifier = Modifier - .background(ChatTheme.colors.barsBackground) + .background(ChatTheme.colors.backgroundElevationElevation1) .padding(horizontal = 16.dp, vertical = 8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, ) { Text( text = text, - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, maxLines = 1, ) } @@ -3661,10 +3661,10 @@ public interface ChatComponentFactory { actions = { params.trailingContent() }, windowInsets = BottomAppBarDefaults.windowInsets, colors = TopAppBarDefaults.centerAlignedTopAppBarColors( - containerColor = ChatTheme.colors.barsBackground, - titleContentColor = ChatTheme.colors.textHighEmphasis, - navigationIconContentColor = ChatTheme.colors.textHighEmphasis, - actionIconContentColor = ChatTheme.colors.textHighEmphasis, + containerColor = ChatTheme.colors.backgroundElevationElevation1, + titleContentColor = ChatTheme.colors.textPrimary, + navigationIconContentColor = ChatTheme.colors.textPrimary, + actionIconContentColor = ChatTheme.colors.textPrimary, ), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt index 3b16288b7ac..3f39c46b254 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt @@ -75,18 +75,12 @@ import io.getstream.sdk.chat.audio.recording.StreamMediaRecorder /** * Local providers for various properties we connect to our components, for styling. */ -private val LocalColors = compositionLocalOf { +private val LocalColors = compositionLocalOf { error("No colors provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } -private val LocalDimens = compositionLocalOf { - error("No dimens provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} -private val LocalTypography = compositionLocalOf { +private val LocalTypography = compositionLocalOf { error("No typography provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } -private val LocalShapes = compositionLocalOf { - error("No shapes provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} private val LocalUserPresence = compositionLocalOf { error("No UserPresence provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } @@ -201,9 +195,6 @@ private val LocalReadCountEnabled = compositionLocalOf { private val LocalMessageComposerTheme = compositionLocalOf { error("No MessageComposerTheme provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } -private val LocalAttachmentPickerTheme = compositionLocalOf { - error("No AttachmentPickerTheme provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} private val LocalAutoTranslationEnabled = compositionLocalOf { error( "No AutoTranslationEnabled Boolean provided! " + @@ -229,9 +220,6 @@ public val LocalComposerLinkPreviewEnabled: ProvidableCompositionLocal private val LocalStreamMediaRecorder = compositionLocalOf { error("No StreamMediaRecorder provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } -private val LocalKeyboardBehaviour = compositionLocalOf { - error("No StreamKeyboardBehaviour provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} private val LocalMediaGalleryConfig = compositionLocalOf { error("No MediaGalleryConfig provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } @@ -250,10 +238,8 @@ private val LocalChatConfig = compositionLocalOf { * @param isComposerLinkPreviewEnabled Whether the composer link preview is enabled or not. * @param attachmentPickerConfig Configuration for the attachment picker modes and settings. * @param messageComposerFloatingStyleEnabled Whether the message composer should use the floating style or not. - * @param colors The set of colors we provide, wrapped in [StreamColors]. - * @param dimens The set of dimens we provide, wrapped in [StreamDimens]. - * @param typography The set of typography styles we provide, wrapped in [StreamTypography]. - * @param shapes The set of shapes we provide, wrapped in [StreamShapes]. + * @param colors The set of colors we provide, wrapped in [StreamDesign.Colors]. + * @param typography The set of typography styles we provide, wrapped in [StreamDesign.Typography]. * @param rippleConfiguration Defines the appearance for ripples. * @param userPresence The user presence display configuration. * @param componentFactory Provide to customize the stateless components that are used throughout the UI @@ -283,9 +269,7 @@ private val LocalChatConfig = compositionLocalOf { * set [StreamCdnImageResizing.imageResizingEnabled] to true if you wish to enable resizing images. Note that resizing * applies only to images hosted on Stream's CDN which contain the original height (oh) and width (ow) query parameters. * @param messageComposerTheme Theme of the message composer. - * @param attachmentPickerTheme Theme of the attachment picker. * @param streamMediaRecorder Used for recording audio messages. - * @param keyboardBehaviour Configuration for different keyboard behaviours. * @param mediaGalleryConfig Configuration for the media gallery screen. * @param content The content shown within the theme wrapper. */ @@ -299,10 +283,9 @@ public fun ChatTheme( isComposerLinkPreviewEnabled: Boolean = false, attachmentPickerConfig: AttachmentPickerConfig = AttachmentPickerConfig(), messageComposerFloatingStyleEnabled: Boolean = false, - colors: StreamColors = if (isInDarkMode) StreamColors.defaultDarkColors() else StreamColors.defaultColors(), - dimens: StreamDimens = StreamDimens.defaultDimens(), - typography: StreamTypography = StreamTypography.defaultTypography(), - shapes: StreamShapes = StreamShapes.defaultShapes(), + colors: StreamDesign.Colors = + if (isInDarkMode) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default(), + typography: StreamDesign.Typography = StreamDesign.Typography.default(), rippleConfiguration: StreamRippleConfiguration = StreamRippleConfiguration.defaultRippleConfiguration( contentColor = LocalContentColor.current, lightTheme = !isInDarkMode, @@ -343,18 +326,14 @@ public fun ChatTheme( messageComposerTheme: MessageComposerTheme = MessageComposerTheme.defaultTheme( isInDarkMode = isInDarkMode, typography = typography, - shapes = shapes, colors = colors, ), - attachmentPickerTheme: AttachmentPickerTheme = AttachmentPickerTheme.defaultTheme(colors), messageTextFormatter: MessageTextFormatter = MessageTextFormatter.defaultFormatter( autoTranslationEnabled = autoTranslationEnabled, typography = typography, - shapes = shapes, colors = colors, ), streamMediaRecorder: StreamMediaRecorder = DefaultStreamMediaRecorder(LocalContext.current), - keyboardBehaviour: StreamKeyboardBehaviour = StreamKeyboardBehaviour.defaultBehaviour(), mediaGalleryConfig: MediaGalleryConfig = MediaGalleryConfig(), content: @Composable () -> Unit, ) { @@ -365,9 +344,7 @@ public fun ChatTheme( CompositionLocalProvider( LocalChatConfig provides config, LocalColors provides colors, - LocalDimens provides dimens, LocalTypography provides typography, - LocalShapes provides shapes, LocalRippleConfiguration provides rippleConfiguration.toRippleConfiguration(), LocalShimmerTheme provides StreamShimmerTheme, LocalAttachmentPickerConfig provides attachmentPickerConfig, @@ -388,7 +365,6 @@ public fun ChatTheme( LocalMessageTextFormatter provides messageTextFormatter, LocalSearchResultNameFormatter provides searchResultNameFormatter, LocalMessageComposerTheme provides messageComposerTheme, - LocalAttachmentPickerTheme provides attachmentPickerTheme, LocalStreamImageLoader provides imageLoaderFactory.imageLoader(LocalContext.current.applicationContext), LocalStreamImageHeadersProvider provides imageHeadersProvider, LocalStreamDownloadAttachmentUriGenerator provides downloadAttachmentUriGenerator, @@ -404,7 +380,6 @@ public fun ChatTheme( LocalAutoTranslationEnabled provides autoTranslationEnabled, LocalShowOriginalTranslationEnabled provides showOriginalTranslationEnabled, LocalComposerLinkPreviewEnabled provides isComposerLinkPreviewEnabled, - LocalKeyboardBehaviour provides keyboardBehaviour, LocalMediaGalleryConfig provides mediaGalleryConfig, ) { if (allowUIAutomationTest) { @@ -433,37 +408,21 @@ public object ChatTheme { get() = LocalChatConfig.current /** - * Retrieves the current [StreamColors] at the call site's position in the hierarchy. + * Retrieves the current [StreamDesign.Colors] at the call site's position in the hierarchy. */ - public val colors: StreamColors + public val colors: StreamDesign.Colors @Composable @ReadOnlyComposable get() = LocalColors.current /** - * Retrieves the current [StreamDimens] at the call site's position in the hierarchy. - */ - public val dimens: StreamDimens - @Composable - @ReadOnlyComposable - get() = LocalDimens.current - - /** - * Retrieves the current [StreamTypography] at the call site's position in the hierarchy. + * Retrieves the current [StreamDesign.Typography] at the call site's position in the hierarchy. */ - public val typography: StreamTypography + public val typography: StreamDesign.Typography @Composable @ReadOnlyComposable get() = LocalTypography.current - /** - * Retrieves the current [StreamShapes] at the call site's position in the hierarchy. - */ - public val shapes: StreamShapes - @Composable - @ReadOnlyComposable - get() = LocalShapes.current - /** * Retrieves the current [AttachmentPickerConfig] at the call site's position in the hierarchy. */ @@ -655,14 +614,6 @@ public object ChatTheme { @ReadOnlyComposable get() = LocalMessageComposerTheme.current - /** - * Retrieves the current [AttachmentPickerTheme] at the call site's position in the hierarchy. - */ - public val attachmentPickerTheme: AttachmentPickerTheme - @Composable - @ReadOnlyComposable - get() = LocalAttachmentPickerTheme.current - /** * Retrieves the current [ImageHeadersProvider] at the call site's position in the hierarchy. */ @@ -721,14 +672,6 @@ public object ChatTheme { @ReadOnlyComposable get() = LocalStreamMediaRecorder.current - /** - * Retrieves the current [StreamKeyboardBehaviour] at the call site's position in the hierarchy. - */ - public val keyboardBehaviour: StreamKeyboardBehaviour - @Composable - @ReadOnlyComposable - get() = LocalKeyboardBehaviour.current - /** * Retrieves the current [MediaGalleryConfig] at the call site's position in the hierarchy. */ diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt index 9a7173c21a5..41324380fe6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt @@ -17,6 +17,7 @@ package io.getstream.chat.android.compose.ui.theme import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color @@ -27,19 +28,16 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextDirection import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.R -import io.getstream.chat.android.compose.ui.theme.messages.composer.attachments.AttachmentsPreviewTheme import io.getstream.chat.android.ui.common.feature.messages.composer.mention.Mention /** * Represents the theming for the message composer. * @param inputField The theming for the input field in the message composer. * @param actionsTheme The theming for the different composer actions. - * @param attachmentsPreview The theming for the attachments preview in the message composer. */ public data class MessageComposerTheme( val inputField: ComposerInputFieldTheme, val actionsTheme: ComposerActionsTheme, - val attachmentsPreview: AttachmentsPreviewTheme, ) { public companion object { @@ -52,17 +50,15 @@ public data class MessageComposerTheme( @Composable public fun defaultTheme( isInDarkMode: Boolean = isSystemInDarkTheme(), - typography: StreamTypography = StreamTypography.defaultTypography(), - shapes: StreamShapes = StreamShapes.defaultShapes(), - colors: StreamColors = when (isInDarkMode) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() + typography: StreamDesign.Typography = StreamDesign.Typography.default(), + colors: StreamDesign.Colors = when (isInDarkMode) { + true -> StreamDesign.Colors.defaultDark() + else -> StreamDesign.Colors.default() }, ): MessageComposerTheme { return MessageComposerTheme( - inputField = ComposerInputFieldTheme.defaultTheme(typography, shapes, colors), + inputField = ComposerInputFieldTheme.defaultTheme(typography, colors), actionsTheme = ComposerActionsTheme.defaultTheme(colors), - attachmentsPreview = AttachmentsPreviewTheme.defaultTheme(isInDarkMode, typography, colors), ) } } @@ -88,22 +84,21 @@ public data class ComposerInputFieldTheme( public companion object { @Composable public fun defaultTheme( - typography: StreamTypography = StreamTypography.defaultTypography(), - shapes: StreamShapes = StreamShapes.defaultShapes(), - colors: StreamColors = when (isSystemInDarkTheme()) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() + typography: StreamDesign.Typography = StreamDesign.Typography.default(), + colors: StreamDesign.Colors = when (isSystemInDarkTheme()) { + true -> StreamDesign.Colors.defaultDark() + else -> StreamDesign.Colors.default() }, mentionStyleFactory: MentionStyleFactory = MentionStyleFactory.NoStyle, ): ComposerInputFieldTheme { return ComposerInputFieldTheme( - borderShape = shapes.inputField, - backgroundColor = colors.inputBackground, - textStyle = typography.body.copy( - color = colors.textHighEmphasis, + borderShape = RoundedCornerShape(StreamTokens.radius3xl), + backgroundColor = colors.backgroundCoreSurface, + textStyle = typography.bodyDefault.copy( + color = colors.textPrimary, textDirection = TextDirection.Content, ), - cursorBrushColor = colors.primaryAccent, + cursorBrushColor = colors.accentPrimary, mentionStyleFactory = mentionStyleFactory, ) } @@ -155,13 +150,13 @@ public data class ComposerActionsTheme( * @return A [ComposerActionsTheme] instance holding the default theming. */ @Composable - public fun defaultTheme(colors: StreamColors): ComposerActionsTheme { + public fun defaultTheme(colors: StreamDesign.Colors): ComposerActionsTheme { val attachmentsButton = IconContainerStyle( size = ComponentSize(width = 48.dp, height = 48.dp), padding = ComponentPadding(0.dp), icon = IconStyle( painter = painterResource(id = R.drawable.stream_compose_ic_add), - tint = colors.textHighEmphasis, + tint = colors.textPrimary, size = ComponentSize(width = 20.dp, height = 20.dp), ), ) @@ -170,7 +165,7 @@ public data class ComposerActionsTheme( padding = ComponentPadding(start = 8.dp, top = 8.dp, end = 8.dp, bottom = 8.dp), icon = IconStyle( painter = painterResource(id = R.drawable.stream_compose_ic_send), - tint = colors.textHighEmphasis, + tint = colors.textPrimary, size = ComponentSize(width = 20.dp, height = 20.dp), ), ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt index eae926b3d01..ea1ec45fcb8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt @@ -32,7 +32,7 @@ import io.getstream.chat.android.ui.common.utils.extensions.isMine @Suppress("TooManyFunctions") internal object MessageStyling { @Composable - fun backgroundColor(outgoing: Boolean, colors: StreamColors = ChatTheme.colors) = when { + fun backgroundColor(outgoing: Boolean, colors: StreamDesign.Colors = ChatTheme.colors) = when { outgoing -> colors.chatBgOutgoing else -> colors.chatBgIncoming } @@ -42,7 +42,7 @@ internal object MessageStyling { return textColor(outgoing, ChatTheme.colors) } - fun textColor(outgoing: Boolean, colors: StreamColors): Color { + fun textColor(outgoing: Boolean, colors: StreamDesign.Colors): Color { return if (outgoing) { colors.chatTextOutgoing } else { @@ -54,11 +54,11 @@ internal object MessageStyling { fun textStyle(outgoing: Boolean): TextStyle = textStyle(outgoing, ChatTheme.typography, ChatTheme.colors) - fun textStyle(outgoing: Boolean, typography: StreamTypography, colors: StreamColors): TextStyle { + fun textStyle(outgoing: Boolean, typography: StreamDesign.Typography, colors: StreamDesign.Colors): TextStyle { return typography.bodyDefault.copy(color = textColor(outgoing, colors)) } - fun linkStyle(typography: StreamTypography, colors: StreamColors): TextStyle = + fun linkStyle(typography: StreamDesign.Typography, colors: StreamDesign.Colors): TextStyle = typography.bodyDefault.copy(color = colors.chatTextLink) @Composable diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt deleted file mode 100644 index 91ee8c65427..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt +++ /dev/null @@ -1,543 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Immutable -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.colorResource -import io.getstream.chat.android.compose.R - -/** - * Contains all the colors in our palette. Each color is used for various things and can be changed to - * customize the app design style. - * @param legacyColors Colors used by legacy components. - * @param accentBlack Used for black accent elements. - * @param accentError Used for destructive actions and error states. - * @param accentNeutral Used for neutral accent for low-priority badges. - * @param accentSuccess Used for success states and positive actions. - * @param accentPrimary Used for main brand accent for interactive elements. - * @param avatarPaletteBg1 Used for avatar background color. - * @param avatarPaletteBg2 Used for avatar background color. - * @param avatarPaletteBg3 Used for avatar background color. - * @param avatarPaletteBg4 Used for avatar background color. - * @param avatarPaletteBg5 Used for avatar background color. - * @param avatarPaletteText1 Used for avatar text color. - * @param avatarPaletteText2 Used for avatar text color. - * @param avatarPaletteText3 Used for avatar text color. - * @param avatarPaletteText4 Used for avatar text color. - * @param avatarPaletteText5 Used for avatar text color. - * @param backgroundCoreDisabled Used for disabled background in components like buttons. - * @param backgroundCoreSurface Used for surface background in components like buttons. - * @param backgroundCoreSurfaceSubtle Used for subtle surface backgrounds. - * @param backgroundCoreInverse Used for elevated, transient, or high-attention UI surfaces that - * sit on top of the default app background. - * @param backgroundElevationElevation0 Used for base elevation surface backgrounds. - * @param backgroundElevationElevation1 Slightly elevated surface backgrounds. - * @param borderCoreImage Used for image frame border treatment. - * @param borderCoreDefault Used for default border color. - * @param borderCoreOnAccent Used for borders on accent backgrounds. - * @param borderCoreOnDark Used for borders on dark backgrounds. - * @param borderCoreSurfaceSubtle Used for very light separators. - * @param borderCorePrimary Used for selected or active state border. - * @param borderUtilityDisabled Used for disabled state borders. - * @param brand50 Brand color at 50 intensity level. - * @param brand100 Brand color at 100 intensity level. - * @param brand150 Brand color at 150 intensity level. - * @param brand200 Brand color at 200 intensity level. - * @param brand300 Brand color at 300 intensity level. - * @param brand400 Brand color at 400 intensity level. - * @param brand500 Brand color at 500 intensity level. - * @param brand600 Brand color at 600 intensity level. - * @param brand700 Brand color at 700 intensity level. - * @param brand800 Brand color at 800 intensity level. - * @param brand900 Brand color at 900 intensity level. - * @param textOnAccent Used for text displayed on accent/colored backgrounds. - * @param textPrimary Used for main text color. - * @param textSecondary Used for secondary text color with lower emphasis. - * @param textTertiary Used for tertiary text color with lowest emphasis. - * @param textDisabled Used for disabled text and icon color. - * @param badgeBgInverse Used for badge background with inverse color scheme. - * @param badgeBgOverlay Used for badge background when displayed as an overlay. - * @param badgeText Used for badge text color. - * @param badgeTextOnAccent Used for badge text color on accent backgrounds. - * @param stateBgDisabled Used for disabled state background. - * @param stateTextDisabled Used for disabled state text color. - * @param appBackground Used for the default app background. - * @param backgroundCoreSelected Used for selected state background. - * @param backgroundElevationElevation2 Used for elevated surface backgrounds at elevation level 2. - * @param buttonDestructiveBg Used for destructive button background. - * @param buttonDestructiveBorder Used for destructive button border. - * @param buttonDestructiveText Used for destructive button text. - * @param buttonDestructiveTextOnAccent Used for destructive button text on accent backgrounds. - * @param buttonPrimaryBg Used for primary button background. - * @param buttonPrimaryBorder Used for primary button border. - * @param buttonPrimaryText Used for primary button text. - * @param buttonPrimaryTextOnAccent Used for primary button text on accent backgrounds. - * @param buttonSecondaryBg Used for secondary button background. - * @param buttonSecondaryBorder Used for secondary button border. - * @param buttonSecondaryText Used for secondary button text. - * @param buttonSecondaryTextOnAccent Used for secondary button text on accent backgrounds. - * @param chatBgIncoming Used for incoming message bubble background. - * @param chatBgOutgoing Used for outgoing message bubble background. - * @param chatBgAttachmentIncoming Used for incoming message attachment background. - * @param chatBgAttachmentOutgoing Used for outgoing message attachment background. - * @param chatReplyIndicatorIncoming Used for the reply indicator color in incoming messages. - * @param chatReplyIndicatorOutgoing Used for the reply indicator color in outgoing messages. - * @param chatTextIncoming Used for incoming message text color in chat bubbles. - * @param chatTextOutgoing Used for outgoing message text color in chat bubbles. - * @param chatTextLink Used for link text color in chat messages. - * @param chatTextMention Used for mention text color in chat messages. - * @param chatTextTimestamp Used for timestamp text color in chat messages. - * @param controlPlayControlBg Used for play control button background. - * @param controlPlayControlIcon Used for play control button icon. - * @param controlRemoveBg Used for remove control background. - * @param controlRemoveBorder Used for remove control border. - * @param controlRemoveIcon Used for remove control icon. - * @param presenceBgOnline Used for online presence indicator. - * @param presenceBgOffline Used for offline presence indicator. - * @param presenceBorder Used for the outline around the presence dot. - */ -@Suppress("DEPRECATION_ERROR") -@Immutable -public data class StreamColors( - public val legacyColors: StreamLegacyColors, - - // Design System semantic colors - public val accentBlack: Color, - public val accentError: Color, - public val accentNeutral: Color, - public val accentSuccess: Color, - public val accentPrimary: Color, - public val avatarBgPlaceholder: Color, - public val avatarPaletteBg1: Color, - public val avatarPaletteBg2: Color, - public val avatarPaletteBg3: Color, - public val avatarPaletteBg4: Color, - public val avatarPaletteBg5: Color, - public val avatarPaletteText1: Color, - public val avatarPaletteText2: Color, - public val avatarPaletteText3: Color, - public val avatarPaletteText4: Color, - public val avatarPaletteText5: Color, - public val avatarTextPlaceholder: Color, - public val backgroundCoreDisabled: Color, - public val backgroundCoreSurface: Color, - public val backgroundCoreSurfaceSubtle: Color, - public val backgroundCoreInverse: Color, - public val backgroundElevationElevation0: Color, - public val backgroundElevationElevation1: Color, - public val borderCoreImage: Color, - public val borderCoreDefault: Color, - public val borderCoreOnAccent: Color, - public val borderCoreOnDark: Color, - public val borderCoreOpacity25: Color, - public val borderCoreSurfaceSubtle: Color, - public val borderCorePrimary: Color, - public val borderUtilityDisabled: Color, - public val brand50: Color, - public val brand100: Color, - public val brand150: Color, - public val brand200: Color, - public val brand300: Color, - public val brand400: Color, - public val brand500: Color, - public val brand600: Color, - public val brand700: Color, - public val brand800: Color, - public val brand900: Color, - public val textOnAccent: Color, - public val textOnDark: Color, - public val textPrimary: Color, - public val textSecondary: Color, - public val textTertiary: Color, - public val textDisabled: Color, - public val stateBgDisabled: Color, - public val stateTextDisabled: Color, - public val appBackground: Color = backgroundElevationElevation0, - public val backgroundCoreSelected: Color = textPrimary.copy(alpha = .15f), - public val backgroundElevationElevation2: Color, - public val badgeBgDefault: Color = backgroundElevationElevation2, - public val badgeBgInverse: Color = backgroundCoreInverse, - public val badgeBgOverlay: Color, - public val badgeText: Color = textPrimary, - public val badgeTextOnAccent: Color = textOnAccent, - public val badgeTextInverse: Color = textOnDark, - public val buttonDestructiveBg: Color = accentError, - public val buttonDestructiveBorder: Color = accentError, - public val buttonDestructiveText: Color = accentError, - public val buttonDestructiveTextOnAccent: Color = textOnAccent, - public val buttonPrimaryBg: Color = accentPrimary, - public val buttonPrimaryBorder: Color = brand200, - public val buttonPrimaryText: Color = accentPrimary, - public val buttonPrimaryTextOnAccent: Color = textOnAccent, - public val buttonSecondaryBg: Color = backgroundCoreSurface, - public val buttonSecondaryBorder: Color = borderCoreDefault, - public val buttonSecondaryText: Color = textPrimary, - public val buttonSecondaryTextOnAccent: Color = textPrimary, - public val chatBgIncoming: Color, - public val chatBgOutgoing: Color = brand100, - public val chatBgAttachmentIncoming: Color, - public val chatBgAttachmentOutgoing: Color, - public val chatBorderOnChatIncoming: Color, - public val chatBorderOnChatOutgoing: Color = brand300, - public val chatPollProgressFillIncoming: Color, - public val chatPollProgressTrackIncoming: Color, - public val chatPollProgressFillOutgoing: Color, - public val chatPollProgressTrackOutgoing: Color, - public val chatReplyIndicatorIncoming: Color, - public val chatReplyIndicatorOutgoing: Color, - public val chatTextIncoming: Color = textPrimary, - public val chatTextOutgoing: Color = textPrimary, - public val chatTextLink: Color = accentPrimary, - public val chatTextMention: Color = chatTextLink, - public val chatTextSystem: Color = textSecondary, - public val chatTextTimestamp: Color = textTertiary, - public val chatWaveformBar: Color = borderCoreOpacity25, - public val chatWaveformBarPlaying: Color = accentPrimary, - public val chipText: Color = brand900, - public val controlPlayControlBg: Color = accentBlack, - public val controlPlayControlIcon: Color = textOnAccent, - public val controlRadioCheckBgSelected: Color, - public val controlRadioCheckBorder: Color = borderCoreDefault, - public val controlRadioCheckIconSelected: Color, - public val controlRemoveBg: Color, - public val controlRemoveBorder: Color = borderCoreOnDark, - public val controlRemoveIcon: Color, - public val presenceBgOnline: Color = accentSuccess, - public val presenceBgOffline: Color = accentNeutral, - public val presenceBorder: Color, -) { - - // region Legacy color delegates - public val textHighEmphasis: Color get() = legacyColors.textHighEmphasis - public val textHighEmphasisInverse: Color get() = legacyColors.textHighEmphasisInverse - public val textLowEmphasis: Color get() = legacyColors.textLowEmphasis - public val disabled: Color get() = legacyColors.disabled - public val borders: Color get() = legacyColors.borders - public val inputBackground: Color get() = legacyColors.inputBackground - public val barsBackground: Color get() = legacyColors.barsBackground - public val overlay: Color get() = legacyColors.overlay - public val overlayDark: Color get() = legacyColors.overlayDark - public val primaryAccent: Color get() = legacyColors.primaryAccent - public val errorAccent: Color get() = legacyColors.errorAccent - public val infoAccent: Color get() = legacyColors.infoAccent - public val highlight: Color get() = legacyColors.highlight - public val threadSeparatorGradientStart: Color get() = legacyColors.threadSeparatorGradientStart - public val threadSeparatorGradientEnd: Color get() = legacyColors.threadSeparatorGradientEnd - public val mediaShimmerBase: Color get() = legacyColors.mediaShimmerBase - public val mediaShimmerHighlights: Color get() = legacyColors.mediaShimmerHighlights - public val imageBackgroundMessageList: Color get() = legacyColors.imageBackgroundMessageList - public val imageBackgroundMediaGalleryPicker: Color get() = legacyColors.imageBackgroundMediaGalleryPicker - public val videoBackgroundMessageList: Color get() = legacyColors.videoBackgroundMessageList - public val videoBackgroundMediaGalleryPicker: Color get() = legacyColors.videoBackgroundMediaGalleryPicker - public val showMoreOverlay: Color get() = legacyColors.showMoreOverlay - public val showMoreCountText: Color get() = legacyColors.showMoreCountText - // endregion - - public companion object { - /** - * Provides the default colors for the light mode of the app. - * - * @return A [StreamColors] instance holding our color palette. - */ - @Suppress("LongMethod") - @Composable - public fun defaultColors(): StreamColors = StreamColors( - legacyColors = StreamLegacyColors( - textHighEmphasis = colorResource(R.color.stream_compose_text_high_emphasis), - textHighEmphasisInverse = colorResource(R.color.stream_compose_text_high_emphasis_inverse), - textLowEmphasis = colorResource(R.color.stream_compose_text_low_emphasis), - disabled = colorResource(R.color.stream_compose_disabled), - borders = colorResource(R.color.stream_compose_borders), - inputBackground = colorResource(R.color.stream_compose_input_background), - barsBackground = colorResource(R.color.stream_compose_bars_background), - overlay = colorResource(R.color.stream_compose_overlay_regular), - overlayDark = colorResource(R.color.stream_compose_overlay_dark), - primaryAccent = colorResource(R.color.stream_compose_primary_accent), - errorAccent = colorResource(R.color.stream_compose_error_accent), - infoAccent = colorResource(R.color.stream_compose_info_accent), - highlight = colorResource(R.color.stream_compose_highlight), - threadSeparatorGradientStart = colorResource(R.color.stream_compose_input_background), - threadSeparatorGradientEnd = colorResource(R.color.stream_compose_app_background), - mediaShimmerBase = colorResource(R.color.stream_compose_input_background), - mediaShimmerHighlights = colorResource(R.color.stream_compose_app_background), - imageBackgroundMessageList = colorResource(R.color.stream_compose_input_background), - imageBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background), - videoBackgroundMessageList = colorResource(R.color.stream_compose_input_background), - videoBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background), - showMoreOverlay = colorResource(R.color.stream_compose_show_more_overlay), - showMoreCountText = colorResource(R.color.stream_compose_show_more_text), - ), - - accentBlack = StreamPrimitiveColors.baseBlack, - accentError = StreamPrimitiveColors.red500, - accentNeutral = StreamPrimitiveColors.slate500, - accentPrimary = StreamPrimitiveColors.blue500, - accentSuccess = StreamPrimitiveColors.green500, - backgroundCoreDisabled = StreamPrimitiveColors.slate200, - backgroundCoreSurface = StreamPrimitiveColors.slate100, - backgroundCoreSurfaceSubtle = StreamPrimitiveColors.slate200, - backgroundCoreInverse = StreamPrimitiveColors.slate900, - backgroundElevationElevation0 = StreamPrimitiveColors.baseWhite, - backgroundElevationElevation1 = StreamPrimitiveColors.baseWhite, - backgroundElevationElevation2 = StreamPrimitiveColors.baseWhite, - badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f), - borderCoreDefault = StreamPrimitiveColors.slate150, - borderCoreImage = StreamPrimitiveColors.baseBlack.copy(alpha = .1f), - borderCoreOnAccent = StreamPrimitiveColors.baseWhite, - borderCoreOnDark = StreamPrimitiveColors.baseWhite, - borderCoreOpacity25 = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f), - borderCorePrimary = StreamPrimitiveColors.blue600, - borderCoreSurfaceSubtle = StreamPrimitiveColors.slate200, - borderUtilityDisabled = StreamPrimitiveColors.slate200, - brand50 = StreamPrimitiveColors.blue50, - brand100 = StreamPrimitiveColors.blue100, - brand150 = StreamPrimitiveColors.blue150, - brand200 = StreamPrimitiveColors.blue200, - brand300 = StreamPrimitiveColors.blue300, - brand400 = StreamPrimitiveColors.blue400, - brand500 = StreamPrimitiveColors.blue500, - brand600 = StreamPrimitiveColors.blue600, - brand700 = StreamPrimitiveColors.blue700, - brand800 = StreamPrimitiveColors.blue800, - brand900 = StreamPrimitiveColors.blue900, - textDisabled = StreamPrimitiveColors.slate400, - textOnAccent = StreamPrimitiveColors.baseWhite, - textOnDark = StreamPrimitiveColors.baseWhite, - textPrimary = StreamPrimitiveColors.slate900, - textSecondary = StreamPrimitiveColors.slate700, - textTertiary = StreamPrimitiveColors.slate500, - stateBgDisabled = StreamPrimitiveColors.slate200, - stateTextDisabled = StreamPrimitiveColors.slate400, - avatarBgPlaceholder = StreamPrimitiveColors.slate100, - avatarPaletteBg1 = StreamPrimitiveColors.blue100, - avatarPaletteBg2 = StreamPrimitiveColors.cyan100, - avatarPaletteBg3 = StreamPrimitiveColors.green100, - avatarPaletteBg4 = StreamPrimitiveColors.purple200, - avatarPaletteBg5 = StreamPrimitiveColors.yellow200, - avatarPaletteText1 = StreamPrimitiveColors.blue800, - avatarPaletteText2 = StreamPrimitiveColors.cyan800, - avatarPaletteText3 = StreamPrimitiveColors.green800, - avatarPaletteText4 = StreamPrimitiveColors.purple800, - avatarPaletteText5 = StreamPrimitiveColors.yellow800, - avatarTextPlaceholder = StreamPrimitiveColors.slate500, - chatBgIncoming = StreamPrimitiveColors.slate100, - chatBgAttachmentIncoming = StreamPrimitiveColors.slate200, - chatBgAttachmentOutgoing = StreamPrimitiveColors.blue200, - chatBorderOnChatIncoming = StreamPrimitiveColors.slate300, - chatPollProgressFillIncoming = StreamPrimitiveColors.slate500, - chatPollProgressTrackIncoming = StreamPrimitiveColors.slate200, - chatPollProgressFillOutgoing = StreamPrimitiveColors.blue500, - chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue200, - chatReplyIndicatorIncoming = StreamPrimitiveColors.slate400, - chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue400, - controlRadioCheckBgSelected = StreamPrimitiveColors.blue500, - controlRadioCheckIconSelected = StreamPrimitiveColors.baseWhite, - controlRemoveBg = StreamPrimitiveColors.slate900, - controlRemoveBorder = StreamPrimitiveColors.baseWhite, - controlRemoveIcon = StreamPrimitiveColors.baseWhite, - presenceBorder = StreamPrimitiveColors.baseWhite, - ) - - /** - * Provides the default colors for the dark mode of the app. - * - * @return A [StreamColors] instance holding our color palette. - */ - @Suppress("LongMethod") - @Composable - public fun defaultDarkColors(): StreamColors = StreamColors( - legacyColors = StreamLegacyColors( - textHighEmphasis = colorResource(R.color.stream_compose_text_high_emphasis_dark), - textHighEmphasisInverse = colorResource(R.color.stream_compose_text_high_emphasis_inverse_dark), - textLowEmphasis = colorResource(R.color.stream_compose_text_low_emphasis_dark), - disabled = colorResource(R.color.stream_compose_disabled_dark), - borders = colorResource(R.color.stream_compose_borders_dark), - inputBackground = colorResource(R.color.stream_compose_input_background_dark), - barsBackground = colorResource(R.color.stream_compose_bars_background_dark), - overlay = colorResource(R.color.stream_compose_overlay_regular_dark), - overlayDark = colorResource(R.color.stream_compose_overlay_dark_dark), - primaryAccent = colorResource(R.color.stream_compose_primary_accent_dark), - errorAccent = colorResource(R.color.stream_compose_error_accent_dark), - infoAccent = colorResource(R.color.stream_compose_info_accent_dark), - highlight = colorResource(R.color.stream_compose_highlight_dark), - threadSeparatorGradientStart = colorResource(R.color.stream_compose_input_background_dark), - threadSeparatorGradientEnd = colorResource(R.color.stream_compose_app_background_dark), - mediaShimmerBase = colorResource(R.color.stream_compose_input_background), - mediaShimmerHighlights = colorResource(R.color.stream_compose_app_background), - imageBackgroundMessageList = colorResource(R.color.stream_compose_input_background_dark), - imageBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background_dark), - videoBackgroundMessageList = colorResource(R.color.stream_compose_input_background_dark), - videoBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background_dark), - showMoreOverlay = colorResource(R.color.stream_compose_show_more_overlay_dark), - showMoreCountText = colorResource(R.color.stream_compose_show_more_text_dark), - ), - appBackground = colorResource(R.color.stream_compose_app_background_dark), - - accentBlack = StreamPrimitiveColors.baseBlack, - accentError = StreamPrimitiveColors.red400, - accentNeutral = StreamPrimitiveColors.neutral500, - accentPrimary = StreamPrimitiveColors.blue400, - accentSuccess = StreamPrimitiveColors.green400, - backgroundCoreDisabled = StreamPrimitiveColors.slate800, - backgroundCoreSurface = StreamPrimitiveColors.neutral700, - backgroundCoreSurfaceSubtle = StreamPrimitiveColors.neutral800, - backgroundCoreInverse = StreamPrimitiveColors.neutral50, - backgroundElevationElevation0 = StreamPrimitiveColors.baseBlack, - backgroundElevationElevation1 = StreamPrimitiveColors.neutral900, - backgroundElevationElevation2 = StreamPrimitiveColors.neutral800, - borderCoreDefault = StreamPrimitiveColors.neutral600, - borderCoreImage = StreamPrimitiveColors.baseWhite.copy(alpha = .2f), - borderCoreOnAccent = StreamPrimitiveColors.baseWhite, - borderCoreOnDark = StreamPrimitiveColors.neutral900, - borderCoreOpacity25 = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), - borderCorePrimary = StreamPrimitiveColors.blue300, - borderCoreSurfaceSubtle = StreamPrimitiveColors.neutral700, - borderUtilityDisabled = StreamPrimitiveColors.neutral800, - brand50 = StreamPrimitiveColors.blue900, - brand100 = StreamPrimitiveColors.blue800, - brand150 = StreamPrimitiveColors.blue700, - brand200 = StreamPrimitiveColors.blue700, - brand300 = StreamPrimitiveColors.blue600, - brand400 = StreamPrimitiveColors.blue500, - brand500 = StreamPrimitiveColors.blue400, - brand600 = StreamPrimitiveColors.blue300, - brand700 = StreamPrimitiveColors.blue200, - brand800 = StreamPrimitiveColors.blue150, - brand900 = StreamPrimitiveColors.blue100, - textDisabled = StreamPrimitiveColors.slate600, - textOnAccent = StreamPrimitiveColors.baseWhite, - textOnDark = StreamPrimitiveColors.neutral900, - textPrimary = StreamPrimitiveColors.neutral50, - textSecondary = StreamPrimitiveColors.neutral300, - textTertiary = StreamPrimitiveColors.neutral400, - badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f), - stateBgDisabled = StreamPrimitiveColors.slate800, - stateTextDisabled = StreamPrimitiveColors.slate600, - avatarBgPlaceholder = StreamPrimitiveColors.neutral700, - avatarPaletteBg1 = StreamPrimitiveColors.blue800, - avatarPaletteBg2 = StreamPrimitiveColors.cyan800, - avatarPaletteBg3 = StreamPrimitiveColors.green800, - avatarPaletteBg4 = StreamPrimitiveColors.purple800, - avatarPaletteBg5 = StreamPrimitiveColors.yellow800, - avatarPaletteText1 = StreamPrimitiveColors.blue100, - avatarPaletteText2 = StreamPrimitiveColors.cyan100, - avatarPaletteText3 = StreamPrimitiveColors.green100, - avatarPaletteText4 = StreamPrimitiveColors.purple100, - avatarPaletteText5 = StreamPrimitiveColors.yellow100, - avatarTextPlaceholder = StreamPrimitiveColors.neutral400, - chatBgIncoming = StreamPrimitiveColors.neutral800, - chatBgAttachmentIncoming = StreamPrimitiveColors.neutral700, - chatBgAttachmentOutgoing = StreamPrimitiveColors.blue700, - chatBorderOnChatIncoming = StreamPrimitiveColors.slate600, - chatPollProgressFillIncoming = StreamPrimitiveColors.baseWhite, - chatPollProgressTrackIncoming = StreamPrimitiveColors.neutral600, - chatPollProgressFillOutgoing = StreamPrimitiveColors.baseWhite, - chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue400, - chatReplyIndicatorIncoming = StreamPrimitiveColors.neutral500, - chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue300, - controlRadioCheckBgSelected = StreamPrimitiveColors.baseWhite, - controlRadioCheckIconSelected = StreamPrimitiveColors.blue500, - controlRemoveBg = StreamPrimitiveColors.neutral800, - controlRemoveIcon = StreamPrimitiveColors.baseWhite, - presenceBorder = StreamPrimitiveColors.baseBlack, - ) - } -} - -/** - * Contains all the colors used by legacy components. - */ -@Immutable -public data class StreamLegacyColors( - public val textHighEmphasis: Color, - public val textHighEmphasisInverse: Color, - public val textLowEmphasis: Color, - public val disabled: Color, - public val borders: Color, - public val inputBackground: Color, - public val barsBackground: Color, - public val overlay: Color, - public val overlayDark: Color, - public val primaryAccent: Color, - public val errorAccent: Color, - public val infoAccent: Color, - public val highlight: Color, - public val threadSeparatorGradientStart: Color, - public val threadSeparatorGradientEnd: Color, - public val mediaShimmerBase: Color, - public val mediaShimmerHighlights: Color, - public val imageBackgroundMessageList: Color, - public val imageBackgroundMediaGalleryPicker: Color, - public val videoBackgroundMessageList: Color, - public val videoBackgroundMediaGalleryPicker: Color, - public val showMoreOverlay: Color, - public val showMoreCountText: Color, -) - -@Suppress("MagicNumber") -internal object StreamPrimitiveColors { - val baseBlack = Color(0xFF000000) - val baseTransparent = Color(0x00000000) - val baseWhite = Color(0xFFFFFFFF) - val blue50 = Color(0xFFF3F7FF) - val blue100 = Color(0xFFD2E3FF) - val blue150 = Color(0xFFC3D9FF) - val blue200 = Color(0xFFA6C4FF) - val blue300 = Color(0xFF7AA7FF) - val blue400 = Color(0xFF4E8BFF) - val blue500 = Color(0xFF005FFF) - val blue600 = Color(0xFF0052CE) - val blue700 = Color(0xFF0042A3) - val blue800 = Color(0xFF003179) - val blue900 = Color(0xFF091A3B) - val cyan100 = Color(0xFFD7F7FB) - val cyan800 = Color(0xFF1C8791) - val green100 = Color(0xFFC9FCE7) - val green400 = Color(0xFF59E9B5) - val green500 = Color(0xFF00E2A1) - val green800 = Color(0xFF006548) - val neutral50 = Color(0xFFF7F7F7) - val neutral100 = Color(0xFFEFEFEF) - val neutral300 = Color(0xFFABABAB) - val neutral400 = Color(0xFF8F8F8F) - val neutral500 = Color(0xFF7F7F7F) - val neutral600 = Color(0xFF565656) - val neutral700 = Color(0xFF4A4A4A) - val neutral800 = Color(0xFF323232) - val neutral900 = Color(0xFF1C1C1C) - val purple100 = Color(0xFFEBDEFD) - val purple200 = Color(0xFFD8BFFC) - val purple800 = Color(0xFF6640AB) - val red400 = Color(0xFFE6756C) - val red500 = Color(0xFFD92F26) - val slate50 = Color(0xFFF6F8FA) - val slate100 = Color(0xFFF2F4F6) - val slate150 = Color(0xFFD5DBE1) - val slate200 = Color(0xFFE2E6EA) - val slate300 = Color(0xFFA3ACBA) - val slate400 = Color(0xFFB8BEC4) - val slate500 = Color(0xFF687385) - val slate600 = Color(0xFF838990) - val slate700 = Color(0xFF4A4A4A) - val slate800 = Color(0xFF50565D) - val slate900 = Color(0xFF1E252B) - val yellow100 = Color(0xFFFFF1C2) - val yellow200 = Color(0xFFFFE8A0) - val yellow800 = Color(0xFF9F7700) -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt new file mode 100644 index 00000000000..b75ab485ff5 --- /dev/null +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt @@ -0,0 +1,699 @@ +/* + * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. + * + * Licensed under the Stream License; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getstream.chat.android.compose.ui.theme + +import androidx.compose.runtime.Immutable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily + +/** + * The Stream Chat Design System namespace. + * + * Provides all design tokens for theming Chat SDK components: + * - [Colors] -- semantic color tokens + * - [Typography] -- text styles + * + * Use via [ChatTheme]: + * ``` + * ChatTheme( + * colors = StreamDesign.Colors.default().copy(accentPrimary = ...), + * typography = StreamDesign.Typography.default(fontFamily = ...), + * ) { content() } + * ``` + */ +public object StreamDesign { + + /** + * Contains all the colors in our palette. Each color is used for various things and can be + * changed to customize the app design style. + * + * @param accentBlack Used for black accent elements. + * @param accentError Used for destructive actions and error states. + * @param accentNeutral Used for neutral accent for low-priority badges. + * @param accentSuccess Used for success states and positive actions. + * @param accentPrimary Used for main brand accent for interactive elements. + * @param avatarBgPlaceholder Used for avatar placeholder background color. + * @param avatarPaletteBg1 Used for avatar background color. + * @param avatarPaletteBg2 Used for avatar background color. + * @param avatarPaletteBg3 Used for avatar background color. + * @param avatarPaletteBg4 Used for avatar background color. + * @param avatarPaletteBg5 Used for avatar background color. + * @param avatarPaletteText1 Used for avatar text color. + * @param avatarPaletteText2 Used for avatar text color. + * @param avatarPaletteText3 Used for avatar text color. + * @param avatarPaletteText4 Used for avatar text color. + * @param avatarPaletteText5 Used for avatar text color. + * @param avatarTextPlaceholder Used for avatar placeholder text color. + * @param backgroundCoreDisabled Used for disabled background in components like buttons. + * @param backgroundCoreSurface Used for surface background in components like buttons. + * @param backgroundCoreSurfaceSubtle Used for subtle surface backgrounds. + * @param backgroundCoreSurfaceStrong Stronger section background for prominent surface areas. + * @param backgroundCoreInverse Used for elevated, transient, or high-attention UI surfaces that + * sit on top of the default app background. + * @param backgroundElevationElevation0 Used for base elevation surface backgrounds. + * @param backgroundElevationElevation1 Slightly elevated surface backgrounds. + * @param borderCoreOpacity10 Used for 10% opacity border treatment (e.g. image frames). + * @param borderCoreDefault Used for default border color. + * @param borderCoreStrong Stronger surface border with higher contrast. + * @param borderCoreOnAccent Used for borders on accent backgrounds. + * @param borderCoreOnDark Used for borders on dark backgrounds. + * @param borderCoreOpacity25 Used for borders with 25% opacity. + * @param borderCoreSubtle Used for subtle/very light separators. + * @param borderUtilitySelected Used for selected or active state border (focus ring). + * @param borderUtilityDisabled Used for disabled state borders. + * @param brand50 Brand color at 50 intensity level. + * @param brand100 Brand color at 100 intensity level. + * @param brand150 Brand color at 150 intensity level. + * @param brand200 Brand color at 200 intensity level. + * @param brand300 Brand color at 300 intensity level. + * @param brand400 Brand color at 400 intensity level. + * @param brand500 Brand color at 500 intensity level. + * @param brand600 Brand color at 600 intensity level. + * @param brand700 Brand color at 700 intensity level. + * @param brand800 Brand color at 800 intensity level. + * @param brand900 Brand color at 900 intensity level. + * @param textOnAccent Used for text displayed on accent/colored backgrounds. + * @param textOnDark Used for text displayed on dark backgrounds. + * @param textPrimary Used for main text color. + * @param textSecondary Used for secondary text color with lower emphasis. + * @param textTertiary Used for tertiary text color with lowest emphasis. + * @param textDisabled Used for disabled text and icon color. + * @param backgroundCoreSelected Used for selected state background. + * @param backgroundElevationElevation2 Used for elevated surface backgrounds at elevation level 2. + * @param backgroundElevationElevation3 Popover surface backgrounds. + * @param backgroundElevationElevation4 Dialog and modal surface backgrounds. + * @param badgeBgOverlay Used for badge background when displayed as an overlay. + * @param chatBgIncoming Used for incoming message bubble background. + * @param chatBgAttachmentIncoming Used for incoming message attachment background. + * @param chatBgAttachmentOutgoing Used for outgoing message attachment background. + * @param chatBorderOnChatIncoming Used for border on incoming message bubbles. + * @param chatPollProgressFillIncoming Used for incoming poll progress fill color. + * @param chatPollProgressTrackIncoming Used for incoming poll progress track color. + * @param chatPollProgressFillOutgoing Used for outgoing poll progress fill color. + * @param chatPollProgressTrackOutgoing Used for outgoing poll progress track color. + * @param chatReplyIndicatorIncoming Used for the reply indicator color in incoming messages. + * @param chatReplyIndicatorOutgoing Used for the reply indicator color in outgoing messages. + * @param controlRadioCheckBgSelected Used for selected radio/check background. + * @param controlRadioCheckIconSelected Used for selected radio/check icon. + * @param controlRemoveBg Used for remove control background. + * @param controlRemoveIcon Used for remove control icon. + * @param presenceBorder Used for the outline around the presence dot. + * @param backgroundCoreScrim Used for dimmed scrim backgrounds (e.g. behind modals). + * @param backgroundCoreOverlayDark Used for dark overlay backgrounds on media/badges. + * @param backgroundCoreHighlight Used for highlight backgrounds (e.g. message focus/pin). + * @param skeletonLoadingHighlight Shimmer highlight color for skeleton loading gradients. + */ + @Immutable + public data class Colors( + public val accentBlack: Color, + public val accentError: Color, + public val accentNeutral: Color, + public val accentSuccess: Color, + public val accentPrimary: Color, + public val avatarBgPlaceholder: Color, + public val avatarPaletteBg1: Color, + public val avatarPaletteBg2: Color, + public val avatarPaletteBg3: Color, + public val avatarPaletteBg4: Color, + public val avatarPaletteBg5: Color, + public val avatarPaletteText1: Color, + public val avatarPaletteText2: Color, + public val avatarPaletteText3: Color, + public val avatarPaletteText4: Color, + public val avatarPaletteText5: Color, + public val avatarTextPlaceholder: Color, + public val backgroundCoreDisabled: Color, + public val backgroundCoreSurface: Color, + public val backgroundCoreSurfaceSubtle: Color, + public val backgroundCoreSurfaceStrong: Color, + public val backgroundCoreInverse: Color, + public val backgroundElevationElevation0: Color, + public val backgroundElevationElevation1: Color, + public val borderCoreOpacity10: Color, + public val borderCoreDefault: Color, + public val borderCoreStrong: Color, + public val borderCoreOnAccent: Color, + public val borderCoreOnDark: Color, + public val borderCoreOpacity25: Color, + public val borderCoreSubtle: Color, + public val borderUtilitySelected: Color, + public val borderUtilityDisabled: Color, + public val brand50: Color, + public val brand100: Color, + public val brand150: Color, + public val brand200: Color, + public val brand300: Color, + public val brand400: Color, + public val brand500: Color, + public val brand600: Color, + public val brand700: Color, + public val brand800: Color, + public val brand900: Color, + public val textOnAccent: Color, + public val textOnDark: Color, + public val textPrimary: Color, + public val textSecondary: Color, + public val textTertiary: Color, + public val textDisabled: Color, + public val backgroundCoreSelected: Color = textPrimary.copy(alpha = .15f), + public val backgroundElevationElevation2: Color, + public val backgroundElevationElevation3: Color, + public val backgroundElevationElevation4: Color, + public val badgeBgOverlay: Color, + public val chatBgIncoming: Color, + public val chatBgAttachmentIncoming: Color, + public val chatBgAttachmentOutgoing: Color, + public val chatBorderOnChatIncoming: Color, + public val chatPollProgressFillIncoming: Color, + public val chatPollProgressTrackIncoming: Color, + public val chatPollProgressFillOutgoing: Color, + public val chatPollProgressTrackOutgoing: Color, + public val chatReplyIndicatorIncoming: Color, + public val chatReplyIndicatorOutgoing: Color, + public val controlRadioCheckBgSelected: Color, + public val controlRadioCheckIconSelected: Color, + public val controlRemoveBg: Color, + public val controlRemoveIcon: Color, + public val presenceBorder: Color, + public val backgroundCoreScrim: Color, + public val backgroundCoreOverlayDark: Color, + public val backgroundCoreHighlight: Color, + public val skeletonLoadingHighlight: Color, + ) { + + /** Badge background for error states. */ + public val badgeBgError: Color = accentError + + /** Badge background for neutral states. */ + public val badgeBgNeutral: Color = accentNeutral + + /** Badge background for primary brand states. */ + public val badgeBgPrimary: Color = accentPrimary + + /** Badge outer border. */ + public val badgeBorder: Color = borderCoreOnDark + + /** Typing indicator background. */ + public val chatBgTypingIndicator: Color = accentNeutral + + /** Border for incoming message bubbles. */ + public val chatBorderIncoming: Color = borderCoreSubtle + + /** Border for outgoing message bubbles. */ + public val chatBorderOutgoing: Color = brand100 + + /** Reaction text color in chat. */ + public val chatTextReaction: Color = textSecondary + + /** Read receipt text color. */ + public val chatTextRead: Color = accentPrimary + + /** Username text color in chat. */ + public val chatTextUsername: Color = textSecondary + + /** Thread connector line for incoming messages. */ + public val chatThreadConnectorIncoming: Color = borderCoreDefault + + /** Thread connector line for outgoing messages. */ + public val chatThreadConnectorOutgoing: Color = brand150 + + /** Chip background color. */ + public val chipBg: Color = brand100 + + /** Composer background color. */ + public val composerBg: Color = backgroundElevationElevation1 + + /** Playback toggle border color. */ + public val controlPlaybackToggleBorder: Color = borderCoreDefault + + /** Playback toggle text color. */ + public val controlPlaybackToggleText: Color = textPrimary + + /** Progress bar fill color. */ + public val controlProgressBarFill: Color = accentNeutral + + /** Progress bar track color. */ + public val controlProgressBarTrack: Color = backgroundCoreSurfaceStrong + + /** Radio/check background (unselected). */ + public val controlRadioCheckBg: Color = Color.Transparent + + /** Toggle switch track background. */ + public val controlToggleSwitchBg: Color = backgroundCoreSurfaceStrong + + /** Toggle switch track background when disabled. */ + public val controlToggleSwitchBgDisabled: Color = backgroundCoreDisabled + + /** Toggle switch track background when selected. */ + public val controlToggleSwitchBgSelected: Color = accentPrimary + + /** Toggle switch knob color. */ + public val controlToggleSwitchKnob: Color = backgroundElevationElevation4 + + /** Input field default border. */ + public val inputBorderDefault: Color = borderCoreDefault + + /** Input field border on hover. */ + public val inputBorderHover: Color = borderCoreStrong + + /** Input field border when selected/focused. */ + public val inputBorderSelected: Color = borderUtilitySelected + + /** Send icon color. */ + public val inputSendIcon: Color = accentPrimary + + /** Send icon color when disabled. */ + public val inputSendIconDisabled: Color = textDisabled + + /** Input field default text color. */ + public val inputTextDefault: Color = textPrimary + + /** Input field disabled text color. */ + public val inputTextDisabled: Color = textDisabled + + /** Input field icon color. */ + public val inputTextIcon: Color = textTertiary + + /** Input field placeholder text color. */ + public val inputTextPlaceholder: Color = textTertiary + + /** Reaction background color. */ + public val reactionBg: Color = backgroundElevationElevation3 + + /** Reaction border color. */ + public val reactionBorder: Color = borderCoreDefault + + /** Reaction emoji color. */ + public val reactionEmoji: Color = textPrimary + + /** Reaction text color. */ + public val reactionText: Color = textPrimary + + /** Skeleton loading gradient base color. */ + public val skeletonLoadingBase: Color = Color.Transparent + + /** Default app background color. */ + public val backgroundCoreApp: Color = backgroundElevationElevation0 + + /** Default badge background. */ + public val badgeBgDefault: Color = backgroundElevationElevation2 + + /** Badge background with inverse color scheme. */ + public val badgeBgInverse: Color = backgroundCoreInverse + + /** Badge text color. */ + public val badgeText: Color = textPrimary + + /** Badge text color on accent backgrounds. */ + public val badgeTextOnAccent: Color = textOnAccent + + /** Badge text color on inverse backgrounds. */ + public val badgeTextInverse: Color = textOnDark + + /** Destructive button background. */ + public val buttonDestructiveBg: Color = accentError + + /** Destructive button border. */ + public val buttonDestructiveBorder: Color = accentError + + /** Destructive button text. */ + public val buttonDestructiveText: Color = accentError + + /** Destructive button text on accent backgrounds. */ + public val buttonDestructiveTextOnAccent: Color = textOnAccent + + /** Primary button background. */ + public val buttonPrimaryBg: Color = accentPrimary + + /** Primary button border. */ + public val buttonPrimaryBorder: Color = brand200 + + /** Primary button text. */ + public val buttonPrimaryText: Color = accentPrimary + + /** Primary button text on accent backgrounds. */ + public val buttonPrimaryTextOnAccent: Color = textOnAccent + + /** Secondary button background. */ + public val buttonSecondaryBg: Color = backgroundCoreSurface + + /** Secondary button border. */ + public val buttonSecondaryBorder: Color = borderCoreDefault + + /** Secondary button text. */ + public val buttonSecondaryText: Color = textPrimary + + /** Secondary button text on accent backgrounds. */ + public val buttonSecondaryTextOnAccent: Color = textPrimary + + /** Outgoing message bubble background. */ + public val chatBgOutgoing: Color = brand100 + + /** Border on outgoing message bubbles. */ + public val chatBorderOnChatOutgoing: Color = brand300 + + /** Incoming message text color. */ + public val chatTextIncoming: Color = textPrimary + + /** Outgoing message text color. */ + public val chatTextOutgoing: Color = brand900 + + /** Link text color in chat messages. */ + public val chatTextLink: Color = accentPrimary + + /** Mention text color in chat messages. */ + public val chatTextMention: Color = chatTextLink + + /** System messages like date separators and unread dividers. */ + public val chatTextSystem: Color = textSecondary + + /** Timestamp text color in chat messages. */ + public val chatTextTimestamp: Color = textTertiary + + /** Audio waveform bar color. */ + public val chatWaveformBar: Color = borderCoreOpacity25 + + /** Audio waveform bar color when playing. */ + public val chatWaveformBarPlaying: Color = accentPrimary + + /** Chip text color. */ + public val chipText: Color = brand900 + + /** Play control button background. */ + public val controlPlayControlBg: Color = accentBlack + + /** Play control button icon. */ + public val controlPlayControlIcon: Color = textOnAccent + + /** Radio/check border. */ + public val controlRadioCheckBorder: Color = borderCoreDefault + + /** Remove control border. */ + public val controlRemoveBorder: Color = borderCoreOnDark + + /** Online presence indicator. */ + public val presenceBgOnline: Color = accentSuccess + + /** Offline presence indicator. */ + public val presenceBgOffline: Color = accentNeutral + + public companion object { + /** + * Provides the default colors for the light mode of the app. + * + * @return A [Colors] instance holding our color palette. + */ + @Suppress("LongMethod") + public fun default(): Colors = Colors( + accentBlack = StreamPrimitiveColors.baseBlack, + accentError = StreamPrimitiveColors.red500, + accentNeutral = StreamPrimitiveColors.slate500, + accentPrimary = StreamPrimitiveColors.blue500, + accentSuccess = StreamPrimitiveColors.green400, + backgroundCoreDisabled = StreamPrimitiveColors.slate100, + backgroundCoreSurface = StreamPrimitiveColors.slate100, + backgroundCoreSurfaceSubtle = StreamPrimitiveColors.slate50, + backgroundCoreSurfaceStrong = StreamPrimitiveColors.slate150, + backgroundCoreInverse = StreamPrimitiveColors.slate900, + backgroundElevationElevation0 = StreamPrimitiveColors.baseWhite, + backgroundElevationElevation1 = StreamPrimitiveColors.baseWhite, + backgroundElevationElevation2 = StreamPrimitiveColors.baseWhite, + backgroundElevationElevation3 = StreamPrimitiveColors.baseWhite, + backgroundElevationElevation4 = StreamPrimitiveColors.baseWhite, + badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f), + borderCoreDefault = StreamPrimitiveColors.slate150, + borderCoreStrong = StreamPrimitiveColors.slate300, + borderCoreOpacity10 = StreamPrimitiveColors.baseBlack.copy(alpha = .1f), + borderCoreOnAccent = StreamPrimitiveColors.baseWhite, + borderCoreOnDark = StreamPrimitiveColors.baseWhite, + borderCoreOpacity25 = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f), + borderUtilitySelected = StreamPrimitiveColors.blue500, + borderCoreSubtle = StreamPrimitiveColors.slate100, + borderUtilityDisabled = StreamPrimitiveColors.slate100, + brand50 = StreamPrimitiveColors.blue50, + brand100 = StreamPrimitiveColors.blue100, + brand150 = StreamPrimitiveColors.blue150, + brand200 = StreamPrimitiveColors.blue200, + brand300 = StreamPrimitiveColors.blue300, + brand400 = StreamPrimitiveColors.blue400, + brand500 = StreamPrimitiveColors.blue500, + brand600 = StreamPrimitiveColors.blue600, + brand700 = StreamPrimitiveColors.blue700, + brand800 = StreamPrimitiveColors.blue800, + brand900 = StreamPrimitiveColors.blue900, + textDisabled = StreamPrimitiveColors.slate300, + textOnAccent = StreamPrimitiveColors.baseWhite, + textOnDark = StreamPrimitiveColors.baseWhite, + textPrimary = StreamPrimitiveColors.slate900, + textSecondary = StreamPrimitiveColors.slate700, + textTertiary = StreamPrimitiveColors.slate500, + avatarBgPlaceholder = StreamPrimitiveColors.slate100, + avatarPaletteBg1 = StreamPrimitiveColors.blue150, + avatarPaletteBg2 = StreamPrimitiveColors.cyan150, + avatarPaletteBg3 = StreamPrimitiveColors.green150, + avatarPaletteBg4 = StreamPrimitiveColors.purple150, + avatarPaletteBg5 = StreamPrimitiveColors.yellow150, + avatarPaletteText1 = StreamPrimitiveColors.blue900, + avatarPaletteText2 = StreamPrimitiveColors.cyan900, + avatarPaletteText3 = StreamPrimitiveColors.green900, + avatarPaletteText4 = StreamPrimitiveColors.purple900, + avatarPaletteText5 = StreamPrimitiveColors.yellow900, + avatarTextPlaceholder = StreamPrimitiveColors.slate500, + chatBgIncoming = StreamPrimitiveColors.slate100, + chatBgAttachmentIncoming = StreamPrimitiveColors.slate150, + chatBgAttachmentOutgoing = StreamPrimitiveColors.blue150, + chatBorderOnChatIncoming = StreamPrimitiveColors.slate300, + chatPollProgressFillIncoming = StreamPrimitiveColors.slate500, + chatPollProgressTrackIncoming = StreamPrimitiveColors.slate150, + chatPollProgressFillOutgoing = StreamPrimitiveColors.blue500, + chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue200, + chatReplyIndicatorIncoming = StreamPrimitiveColors.slate400, + chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue400, + controlRadioCheckBgSelected = StreamPrimitiveColors.blue500, + controlRadioCheckIconSelected = StreamPrimitiveColors.baseWhite, + controlRemoveBg = StreamPrimitiveColors.slate900, + controlRemoveIcon = StreamPrimitiveColors.baseWhite, + presenceBorder = StreamPrimitiveColors.baseWhite, + backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f), + backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f), + backgroundCoreHighlight = StreamPrimitiveColors.yellow50, + skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite, + ) + + /** + * Provides the default colors for the dark mode of the app. + * + * @return A [Colors] instance holding our color palette. + */ + @Suppress("LongMethod") + public fun defaultDark(): Colors = Colors( + accentBlack = StreamPrimitiveColors.baseBlack, + accentError = StreamPrimitiveColors.red400, + accentNeutral = StreamPrimitiveColors.neutral300, + accentPrimary = StreamPrimitiveColors.blue300, + accentSuccess = StreamPrimitiveColors.green300, + backgroundCoreDisabled = StreamPrimitiveColors.neutral800, + backgroundCoreSurface = StreamPrimitiveColors.neutral800, + backgroundCoreSurfaceSubtle = StreamPrimitiveColors.neutral900, + backgroundCoreSurfaceStrong = StreamPrimitiveColors.neutral700, + backgroundCoreInverse = StreamPrimitiveColors.neutral50, + backgroundCoreSelected = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), + backgroundElevationElevation0 = StreamPrimitiveColors.baseBlack, + backgroundElevationElevation1 = StreamPrimitiveColors.neutral900, + backgroundElevationElevation2 = StreamPrimitiveColors.neutral800, + backgroundElevationElevation3 = StreamPrimitiveColors.neutral700, + backgroundElevationElevation4 = StreamPrimitiveColors.neutral600, + borderCoreDefault = StreamPrimitiveColors.neutral600, + borderCoreStrong = StreamPrimitiveColors.neutral400, + borderCoreOpacity10 = StreamPrimitiveColors.baseWhite.copy(alpha = .2f), + borderCoreOnAccent = StreamPrimitiveColors.baseWhite, + borderCoreOnDark = StreamPrimitiveColors.neutral900, + borderCoreOpacity25 = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), + borderUtilitySelected = StreamPrimitiveColors.blue300, + borderCoreSubtle = StreamPrimitiveColors.neutral800, + borderUtilityDisabled = StreamPrimitiveColors.neutral700, + brand50 = StreamPrimitiveColors.blue900, + brand100 = StreamPrimitiveColors.blue800, + brand150 = StreamPrimitiveColors.blue700, + brand200 = StreamPrimitiveColors.blue600, + brand300 = StreamPrimitiveColors.blue500, + brand400 = StreamPrimitiveColors.blue400, + brand500 = StreamPrimitiveColors.blue300, + brand600 = StreamPrimitiveColors.blue200, + brand700 = StreamPrimitiveColors.blue150, + brand800 = StreamPrimitiveColors.blue100, + brand900 = StreamPrimitiveColors.blue50, + textDisabled = StreamPrimitiveColors.neutral500, + textOnAccent = StreamPrimitiveColors.baseWhite, + textOnDark = StreamPrimitiveColors.neutral900, + textPrimary = StreamPrimitiveColors.baseWhite, + textSecondary = StreamPrimitiveColors.neutral100, + textTertiary = StreamPrimitiveColors.neutral300, + badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f), + avatarBgPlaceholder = StreamPrimitiveColors.neutral700, + avatarPaletteBg1 = StreamPrimitiveColors.blue600, + avatarPaletteBg2 = StreamPrimitiveColors.cyan600, + avatarPaletteBg3 = StreamPrimitiveColors.green600, + avatarPaletteBg4 = StreamPrimitiveColors.purple600, + avatarPaletteBg5 = StreamPrimitiveColors.yellow600, + avatarPaletteText1 = StreamPrimitiveColors.blue100, + avatarPaletteText2 = StreamPrimitiveColors.cyan100, + avatarPaletteText3 = StreamPrimitiveColors.green100, + avatarPaletteText4 = StreamPrimitiveColors.purple100, + avatarPaletteText5 = StreamPrimitiveColors.yellow100, + avatarTextPlaceholder = StreamPrimitiveColors.neutral400, + chatBgIncoming = StreamPrimitiveColors.neutral800, + chatBgAttachmentIncoming = StreamPrimitiveColors.neutral700, + chatBgAttachmentOutgoing = StreamPrimitiveColors.blue700, + chatBorderOnChatIncoming = StreamPrimitiveColors.neutral400, + chatPollProgressFillIncoming = StreamPrimitiveColors.neutral300, + chatPollProgressTrackIncoming = StreamPrimitiveColors.neutral700, + chatPollProgressFillOutgoing = StreamPrimitiveColors.baseWhite, + chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue600, + chatReplyIndicatorIncoming = StreamPrimitiveColors.neutral500, + chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue150, + controlRadioCheckBgSelected = StreamPrimitiveColors.baseWhite, + controlRadioCheckIconSelected = StreamPrimitiveColors.neutral900, + controlRemoveBg = StreamPrimitiveColors.neutral50, + controlRemoveIcon = StreamPrimitiveColors.neutral900, + presenceBorder = StreamPrimitiveColors.neutral900, + backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.75f), + backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.5f), + backgroundCoreHighlight = StreamPrimitiveColors.yellow900, + skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite.copy(alpha = 0.2f), + ) + } + } + + /** + * Contains all the typography we provide for our components. + * + * @param bodyDefault Used for body text, like message text. + * @param bodyEmphasis Used for emphasized body text requiring visual prominence. + * @param captionDefault Style for captions and supplementary information. + * @param captionEmphasis Style for emphasized captions that require attention. + * @param headingSmall Style for small headings. + * @param headingMedium Style for medium headings. + * @param headingLarge Style for large, prominent headings. + * @param metadataDefault Style for metadata and secondary information. + * @param metadataEmphasis Style for emphasized metadata in secondary content areas. + * @param numericMedium Style for medium-sized numeric indicators, like the unread count. + * @param numericLarge Style for large numeric indicators. + * @param numericExtraLarge Style for extra-large numeric indicators. + */ + @Immutable + public data class Typography( + public val bodyDefault: TextStyle, + public val bodyEmphasis: TextStyle, + public val captionDefault: TextStyle, + public val captionEmphasis: TextStyle, + public val headingSmall: TextStyle, + public val headingMedium: TextStyle, + public val headingLarge: TextStyle, + public val metadataDefault: TextStyle, + public val metadataEmphasis: TextStyle, + public val numericMedium: TextStyle, + public val numericLarge: TextStyle, + public val numericExtraLarge: TextStyle, + ) { + + public companion object { + /** + * Builds the default typography set for our theme, with the ability to customize the + * font family. + * + * @param fontFamily The font that the users want to use for the app. + * @return [Typography] that holds all the default text styles that we support. + */ + @Suppress("LongMethod") + public fun default(fontFamily: FontFamily? = null): Typography = Typography( + bodyDefault = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightRegular, + fontSize = StreamTokens.fontSizeMd, + lineHeight = StreamTokens.lineHeightNormal, + ), + bodyEmphasis = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeMd, + lineHeight = StreamTokens.lineHeightNormal, + ), + captionDefault = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightRegular, + fontSize = StreamTokens.fontSizeSm, + lineHeight = StreamTokens.lineHeightTight, + ), + captionEmphasis = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeSm, + lineHeight = StreamTokens.lineHeightTight, + ), + headingSmall = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeMd, + lineHeight = StreamTokens.lineHeightNormal, + ), + headingMedium = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeLg, + lineHeight = StreamTokens.lineHeightRelaxed, + ), + headingLarge = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeXl, + lineHeight = StreamTokens.lineHeightRelaxed, + ), + metadataDefault = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightRegular, + fontSize = StreamTokens.fontSizeXs, + lineHeight = StreamTokens.lineHeightTight, + ), + metadataEmphasis = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightSemiBold, + fontSize = StreamTokens.fontSizeXs, + lineHeight = StreamTokens.lineHeightTight, + ), + numericMedium = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightBold, + fontSize = StreamTokens.fontSize2xs, + lineHeight = StreamTokens.lineHeightTighter, + ), + numericLarge = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightBold, + fontSize = StreamTokens.fontSizeXs, + ), + numericExtraLarge = TextStyle( + fontFamily = fontFamily, + fontWeight = StreamTokens.fontWeightBold, + fontSize = StreamTokens.fontSizeSm, + lineHeight = StreamTokens.lineHeightTighter, + ), + ) + } + } +} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt deleted file mode 100644 index a1cce88640a..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -import androidx.compose.runtime.Immutable -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp - -/** - * Contains all the dimens we provide for our components. - * - * @param channelItemVerticalPadding The vertical content padding inside channel list item. - * @param channelItemHorizontalPadding The horizontal content padding inside channel list item. - * @param channelAvatarSize The size of channel avatar. - * @param selectedChannelMenuUserItemWidth The width of a member tile in the selected channel menu. - * @param selectedChannelMenuUserItemHorizontalPadding The padding inside a member tile in the selected channel - * menu. - * @param selectedChannelMenuUserItemAvatarSize The size of a member avatar in the selected channel menu. - * @param attachmentsContentImageWidth The width of image attachments in the message list. - * @param attachmentsContentGiphyWidth The with of Giphy attachments in the message list. - * @param attachmentsContentGiphyHeight The height of Giphy attachments in the message list. - * @param attachmentsContentLinkWidth The with of link attachments in the message list. - * @param attachmentsContentFileWidth The width of file attachments in the message list. - * @param attachmentsContentFileUploadWidth The width of uploading file attachments in the message list. - * @param attachmentsContentUnsupportedWidth The width of unsupported attachments in the message list. - * @param threadSeparatorVerticalPadding The vertical content padding inside thread separator item. - * @param threadSeparatorTextVerticalPadding The vertical padding inside thread separator text. - * @param suggestionListMaxHeight The maximum height of the suggestion list popup. - * @param suggestionListPadding The outer padding of the suggestion list popup. - * @param suggestionListElevation THe elevation of the suggestion list popup. - * @param mentionSuggestionItemHorizontalPadding The horizontal content padding inside mention list item. - * @param mentionSuggestionItemVerticalPadding The vertical content padding inside mention list item. - * @param mentionSuggestionItemAvatarSize The size of a channel avatar in the suggestion list popup. - * @param commandSuggestionItemHorizontalPadding The horizontal content padding inside command list item. - * @param commandSuggestionItemVerticalPadding The vertical content padding inside command list item. - * @param commandSuggestionItemIconSize The size of a command icon in the suggestion list popup. - * @param threadParticipantItemSize The size of thread participant avatar items. - * @param userReactionsMaxHeight The max height of the message reactions section when we click on message reactions. - * @param userReactionItemWidth The width of user reaction item. - * @param userReactionItemAvatarSize The size of a user avatar in the user reaction item. - * @param userReactionItemIconSize The size of a reaction icon in the user reaction item. - * @param reactionOptionItemIconSize The size of a reaction option icon in the reaction options menu. - * @param headerElevation The elevation of the headers, such as the ones appearing on the Channel or Message - * screens. - * @param messageItemMaxWidth The max width of message items inside message list. - * @param quotedMessageTextVerticalPadding The vertical padding of text inside quoted message. - * @param quotedMessageTextHorizontalPadding The horizontal padding of text inside quoted message. - * @param quotedMessageAttachmentPreviewSize The size of the quoted message attachment preview. - * @param quotedMessageAttachmentTopPadding The top padding of the quoted message attachment preview. - * @param quotedMessageAttachmentBottomPadding The bottom padding of the quoted message attachment preview. - * @param quotedMessageAttachmentStartPadding The start padding of the quoted message attachment preview. - * @param quotedMessageAttachmentEndPadding The end padding of the quoted message attachment preview. - * @param quotedMessageAttachmentSpacerHorizontal The horizontal spacing between quoted message attachment components. - * @param quotedMessageAttachmentSpacerVertical The vertical spacing between quoted message attachment components. - * @param groupAvatarInitialsXOffset The x offset of the user initials inside avatar when there are more than two - * users. - * @param groupAvatarInitialsYOffset The y offset of the user initials inside avatar when there are more than two - * users. - * @param attachmentsPickerHeight The height of the attachments picker. - * @param attachmentsSystemPickerHeight The height of the system attachments picker. - * @param attachmentsContentImageMaxHeight The maximum height an image attachment will expand to while automatically - * re-sizing itself in order to obey its aspect ratio. - * re-sizing itself in order to obey its aspect ratio. - * @param attachmentsContentGiphyMaxWidth The maximum width a Giphy attachment will expand to while automatically - * re-sizing itself in order to follow its aspect ratio. - * @param attachmentsContentGiphyMaxHeight The maximum height a Giphy attachment will expand to while automatically - * re-sizing itself in order to follow its aspect ratio. - * re-sizing itself in order to obey its aspect ratio. - * @param attachmentsContentVideoMaxHeight The maximum height video attachment will expand to while automatically - * re-sizing itself in order to obey its aspect ratio. - * @param attachmentsContentMediaGridSpacing The spacing between media preview tiles in the message list. - * @param attachmentsContentVideoWidth The width of media attachment previews in the message list. - * @param attachmentsContentGroupPreviewWidth The width of the container displaying media previews tiled in - * a group in the message list. - * @param attachmentsContentGroupPreviewHeight The height of the container displaying media previews tiled in - * a group in the message list. - * @param pollOptionInputHeight The height of the poll option input field. - * @param messageComposerShadowElevation The elevation of the message composer shadow. - */ -@Immutable -public data class StreamDimens( - public val channelItemVerticalPadding: Dp, - public val channelItemHorizontalPadding: Dp, - public val channelAvatarSize: Dp, - public val selectedChannelMenuUserItemWidth: Dp, - public val selectedChannelMenuUserItemHorizontalPadding: Dp, - public val selectedChannelMenuUserItemAvatarSize: Dp, - public val attachmentsContentImageWidth: Dp, - public val attachmentsContentGiphyWidth: Dp, - public val attachmentsContentGiphyHeight: Dp, - public val attachmentsContentLinkWidth: Dp, - public val attachmentsContentFileWidth: Dp, - public val attachmentsContentFileUploadWidth: Dp, - public val attachmentsContentUnsupportedWidth: Dp, - public val threadSeparatorVerticalPadding: Dp, - public val threadSeparatorTextVerticalPadding: Dp, - public val suggestionListMaxHeight: Dp, - public val suggestionListPadding: Dp, - public val suggestionListElevation: Dp, - public val mentionSuggestionItemHorizontalPadding: Dp, - public val mentionSuggestionItemVerticalPadding: Dp, - public val mentionSuggestionItemAvatarSize: Dp, - public val commandSuggestionItemHorizontalPadding: Dp, - public val commandSuggestionItemVerticalPadding: Dp, - public val commandSuggestionItemIconSize: Dp, - public val threadParticipantItemSize: Dp, - public val userReactionsMaxHeight: Dp, - public val userReactionItemWidth: Dp, - public val userReactionItemAvatarSize: Dp, - public val userReactionItemIconSize: Dp, - public val headerElevation: Dp, - public val messageItemMaxWidth: Dp, - public val quotedMessageTextVerticalPadding: Dp, - public val quotedMessageTextHorizontalPadding: Dp, - public val quotedMessageAttachmentPreviewSize: Dp, - public val quotedMessageAttachmentTopPadding: Dp, - public val quotedMessageAttachmentBottomPadding: Dp, - public val quotedMessageAttachmentStartPadding: Dp, - public val quotedMessageAttachmentEndPadding: Dp, - public val quotedMessageAttachmentSpacerHorizontal: Dp, - public val quotedMessageAttachmentSpacerVertical: Dp, - public val groupAvatarInitialsXOffset: Dp, - public val groupAvatarInitialsYOffset: Dp, - public val attachmentsPickerHeight: Dp, - public val attachmentsSystemPickerHeight: Dp, - public val attachmentsContentImageMaxHeight: Dp, - public val attachmentsContentGiphyMaxWidth: Dp = attachmentsContentGiphyWidth, - public val attachmentsContentGiphyMaxHeight: Dp = attachmentsContentGiphyHeight, - public val attachmentsContentVideoMaxHeight: Dp, - public val attachmentsContentMediaGridSpacing: Dp, - public val attachmentsContentVideoWidth: Dp, - public val attachmentsContentGroupPreviewWidth: Dp, - public val attachmentsContentGroupPreviewHeight: Dp, - public val pollOptionInputHeight: Dp, - public val messageComposerShadowElevation: Dp, -) { - - public companion object { - /** - * Builds the default dimensions for our theme. - * - * @return A [StreamDimens] instance holding our default dimensions. - */ - public fun defaultDimens(): StreamDimens = StreamDimens( - channelItemVerticalPadding = 12.dp, - channelItemHorizontalPadding = 8.dp, - channelAvatarSize = 40.dp, - selectedChannelMenuUserItemWidth = 80.dp, - selectedChannelMenuUserItemHorizontalPadding = 8.dp, - selectedChannelMenuUserItemAvatarSize = 64.dp, - attachmentsContentImageWidth = 250.dp, - attachmentsContentGiphyWidth = 250.dp, - attachmentsContentGiphyHeight = 200.dp, - attachmentsContentLinkWidth = 250.dp, - attachmentsContentFileWidth = 250.dp, - attachmentsContentFileUploadWidth = 250.dp, - attachmentsContentUnsupportedWidth = 250.dp, - threadSeparatorVerticalPadding = 8.dp, - threadSeparatorTextVerticalPadding = 2.dp, - suggestionListMaxHeight = 256.dp, - suggestionListPadding = 8.dp, - suggestionListElevation = 4.dp, - mentionSuggestionItemHorizontalPadding = 16.dp, - mentionSuggestionItemVerticalPadding = 8.dp, - mentionSuggestionItemAvatarSize = 40.dp, - commandSuggestionItemHorizontalPadding = 8.dp, - commandSuggestionItemVerticalPadding = 8.dp, - commandSuggestionItemIconSize = 24.dp, - threadParticipantItemSize = 16.dp, - userReactionsMaxHeight = 256.dp, - userReactionItemWidth = 80.dp, - userReactionItemIconSize = 24.dp, - userReactionItemAvatarSize = 64.dp, - headerElevation = 4.dp, - messageItemMaxWidth = 250.dp, - quotedMessageTextHorizontalPadding = 8.dp, - quotedMessageTextVerticalPadding = 6.dp, - quotedMessageAttachmentPreviewSize = 36.dp, - quotedMessageAttachmentBottomPadding = 6.dp, - quotedMessageAttachmentTopPadding = 6.dp, - quotedMessageAttachmentStartPadding = 8.dp, - quotedMessageAttachmentEndPadding = 0.dp, - quotedMessageAttachmentSpacerHorizontal = 8.dp, - quotedMessageAttachmentSpacerVertical = 2.dp, - groupAvatarInitialsXOffset = 1.5.dp, - groupAvatarInitialsYOffset = 2.5.dp, - attachmentsPickerHeight = 350.dp, - attachmentsSystemPickerHeight = 72.dp, - attachmentsContentImageMaxHeight = 600.dp, - attachmentsContentVideoMaxHeight = 400.dp, - attachmentsContentMediaGridSpacing = 2.dp, - attachmentsContentVideoWidth = 250.dp, - attachmentsContentGroupPreviewWidth = 250.dp, - attachmentsContentGroupPreviewHeight = 196.dp, - pollOptionInputHeight = 56.dp, - messageComposerShadowElevation = 24.dp, - ) - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt deleted file mode 100644 index f78fa67d27d..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -/** - * Class holding configuration for different keyboard behaviours. - * - * @param closeKeyboardOnAttachmentPickerOpen If true, the keyboard will be closed when the attachment picker is opened. - */ -public data class StreamKeyboardBehaviour( - val closeKeyboardOnAttachmentPickerOpen: Boolean, -) { - - public companion object { - - /** - * Builds the default keyboard behaviour. - * - * @return A [StreamKeyboardBehaviour] instance holding the default configuration. - */ - public fun defaultBehaviour(): StreamKeyboardBehaviour { - return StreamKeyboardBehaviour(closeKeyboardOnAttachmentPickerOpen = true) - } - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt new file mode 100644 index 00000000000..fdf9e1bd5b4 --- /dev/null +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. + * + * Licensed under the Stream License; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getstream.chat.android.compose.ui.theme + +import androidx.compose.ui.graphics.Color + +@Suppress("MagicNumber") +internal object StreamPrimitiveColors { + val baseBlack = Color(0xFF000000) + val baseTransparent = Color(0x00000000) + val baseWhite = Color(0xFFFFFFFF) + val blue50 = Color(0xFFF3F7FF) + val blue100 = Color(0xFFE3EDFF) + val blue150 = Color(0xFFC3D9FF) + val blue200 = Color(0xFFA5C5FF) + val blue300 = Color(0xFF78A8FF) + val blue400 = Color(0xFF4586FF) + val blue500 = Color(0xFF005FFF) + val blue600 = Color(0xFF1B53BD) + val blue700 = Color(0xFF19418D) + val blue800 = Color(0xFF142F63) + val blue900 = Color(0xFF091A3B) + val cyan100 = Color(0xFFD1F3F6) + val cyan150 = Color(0xFFA9E4EA) + val cyan600 = Color(0xFF006970) + val cyan800 = Color(0xFF003A3F) + val cyan900 = Color(0xFF002124) + val green100 = Color(0xFFBDFCDB) + val green150 = Color(0xFF8FEBBD) + val green300 = Color(0xFF00C384) + val green400 = Color(0xFF00A46E) + val green500 = Color(0xFF277E59) + val green600 = Color(0xFF006643) + val green800 = Color(0xFF003A25) + val green900 = Color(0xFF002213) + val neutral50 = Color(0xFFF8F8F8) + val neutral100 = Color(0xFFEFEFEF) + val neutral300 = Color(0xFFABABAB) + val neutral400 = Color(0xFF8F8F8F) + val neutral500 = Color(0xFF6A6A6A) + val neutral600 = Color(0xFF565656) + val neutral700 = Color(0xFF464646) + val neutral800 = Color(0xFF323232) + val neutral900 = Color(0xFF1C1C1C) + val purple100 = Color(0xFFECEDFF) + val purple150 = Color(0xFFD4D7FF) + val purple200 = Color(0xFFC1C5FF) + val purple600 = Color(0xFF553BD8) + val purple800 = Color(0xFF2E2576) + val purple900 = Color(0xFF1A114D) + val red400 = Color(0xFFFC526A) + val red500 = Color(0xFFD90D10) + val slate50 = Color(0xFFF6F8FA) + val slate100 = Color(0xFFEBEEF1) + val slate150 = Color(0xFFD5DBE1) + val slate200 = Color(0xFFC0C8D2) + val slate300 = Color(0xFFA3ACBA) + val slate400 = Color(0xFF87909F) + val slate500 = Color(0xFF687385) + val slate600 = Color(0xFF545969) + val slate700 = Color(0xFF414552) + val slate800 = Color(0xFF30313D) + val slate900 = Color(0xFF1A1B25) + val yellow50 = Color(0xFFFEF9DA) + val yellow100 = Color(0xFFFCEDB9) + val yellow150 = Color(0xFFFCD579) + val yellow200 = Color(0xFFF6BF57) + val yellow600 = Color(0xFFA82C00) + val yellow800 = Color(0xFF5F1A05) + val yellow900 = Color(0xFF331302) +} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt deleted file mode 100644 index a472ce7bd58..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.runtime.Immutable -import androidx.compose.ui.graphics.RectangleShape -import androidx.compose.ui.graphics.Shape -import androidx.compose.ui.unit.dp - -/** - * Contains all the shapes we provide for our components. - * - * @param avatar The avatar shape. - * @param myMessageBubble The bubble that wraps my message content. - * @param otherMessageBubble The bubble that wraps other people's message content. - * @param inputField The shape of the input field. - * @param attachment The shape of attachments. - * @param imageThumbnail The shape of image thumbnails, shown in selected attachments and image file attachments. - * @param bottomSheet The shape of components used as bottom sheets. - * @param suggestionList The shape of suggestion list popup. - * @param header The shape of the headers, such as the ones appearing on the Channel or Message screens. - * @param quotedAttachment The shape of quoted attachments. - */ -@Immutable -public data class StreamShapes( - public val avatar: Shape, - public val myMessageBubble: Shape, - public val otherMessageBubble: Shape, - public val inputField: Shape, - public val attachment: Shape, - public val imageThumbnail: Shape, - public val bottomSheet: Shape, - public val suggestionList: Shape, - public val header: Shape, - public val quotedAttachment: Shape, - public val pollOptionInput: Shape, -) { - public companion object { - /** - * Builds the default shapes for our theme. - * - * @return A [StreamShapes] that holds our default shapes. - */ - public fun defaultShapes(): StreamShapes = StreamShapes( - avatar = CircleShape, - myMessageBubble = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp, bottomStart = 20.dp), - otherMessageBubble = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp, bottomEnd = 20.dp), - inputField = RoundedCornerShape(24.dp), - attachment = RoundedCornerShape(StreamTokens.radiusLg), - imageThumbnail = RoundedCornerShape(8.dp), - bottomSheet = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - suggestionList = RoundedCornerShape(16.dp), - header = RectangleShape, - quotedAttachment = RoundedCornerShape(4.dp), - pollOptionInput = RoundedCornerShape(16.dp), - ) - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt index 20055524ccf..aaaef026b35 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt @@ -35,6 +35,7 @@ internal object StreamTokens { val radius2xl = CornerSize(20.dp) val radius3xl = CornerSize(24.dp) val radius4xl = CornerSize(32.dp) + val radiusFull = CornerSize(percent = 50) val size12 = 12.dp diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt deleted file mode 100644 index 16c5c20b5a1..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme - -import androidx.compose.runtime.Immutable -import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontStyle -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.sp - -/** - * Contains all the typography we provide for our components. - * - * @param title1 Used for big titles, like the image attachment overlay text. - * @param title3 Used for empty content text. - * @param title3Bold Used for titles of app bars and bottom bars. - * @param body Used for body content, such as messages. - * @param bodyItalic Used for body content, italicized, like deleted message components. - * @param bodyBold Used for emphasized body content, like small titles. - * @param footnote Used for footnote information, like timestamps. - * @param footnoteItalic Used for footnote information that's less important, like the deleted message text. - * @param footnoteBold Used for footnote information in certain important items, like the thread reply text, - * or user info components. - * @param captionBold Used for unread count indicator. - * @param singleEmoji Used for messages whose content consists only of a single emoji. - * @param emojiOnly Used for messages whose content consists only if emojis. - * @param bodyDefault Used for body text, like message text. - * @param bodyEmphasis Used for emphasized body text requiring visual prominence to highlight important information. - * @param captionDefault Style for captions and supplementary information. - * @param captionEmphasis Style for emphasized captions that require attention. - * @param headingSmall Style for small headings. - * @param headingMedium Style for medium headings. - * @param headingLarge Style for large, prominent headings. - * @param metadataDefault Style for metadata and secondary information. - * @param metadataEmphasis Style for emphasized metadata in secondary content areas. - * @param numericMedium Style for medium-sized numeric indicators, like the unread count. - * @param numericExtraLarge Style for extra-large numeric indicators. - */ -@Immutable -public data class StreamTypography( - public val title1: TextStyle, - public val title3: TextStyle, - public val title3Bold: TextStyle, - public val body: TextStyle, - public val bodyItalic: TextStyle, - public val bodyBold: TextStyle, - public val footnote: TextStyle, - public val footnoteItalic: TextStyle, - public val footnoteBold: TextStyle, - public val captionBold: TextStyle, - public val tabBar: TextStyle, - public val singleEmoji: TextStyle, - public val emojiOnly: TextStyle, - - public val bodyDefault: TextStyle, - public val bodyEmphasis: TextStyle, - public val captionDefault: TextStyle, - public val captionEmphasis: TextStyle, - public val headingSmall: TextStyle, - public val headingMedium: TextStyle, - public val headingLarge: TextStyle, - public val metadataDefault: TextStyle, - public val metadataEmphasis: TextStyle, - public val numericMedium: TextStyle, - public val numericLarge: TextStyle, - public val numericExtraLarge: TextStyle, -) { - - public companion object { - /** - * Builds the default typography set for our theme, with the ability to customize the font family. - * - * @param fontFamily The font that the users want to use for the app. - * @return [StreamTypography] that holds all the default text styles that we support. - */ - public fun defaultTypography(fontFamily: FontFamily? = null): StreamTypography = StreamTypography( - title1 = TextStyle( - fontSize = 24.sp, - lineHeight = 34.sp, - fontWeight = FontWeight.W500, - fontFamily = fontFamily, - ), - title3 = TextStyle( - fontSize = 18.sp, - lineHeight = 25.sp, - fontWeight = FontWeight.W400, - fontFamily = fontFamily, - ), - title3Bold = TextStyle( - fontSize = 18.sp, - lineHeight = 25.sp, - fontWeight = FontWeight.W500, - fontFamily = fontFamily, - ), - body = TextStyle( - fontSize = 14.sp, - fontWeight = FontWeight.W400, - fontFamily = fontFamily, - ), - bodyItalic = TextStyle( - fontSize = 14.sp, - fontWeight = FontWeight.W400, - fontStyle = FontStyle.Italic, - fontFamily = fontFamily, - ), - bodyBold = TextStyle( - fontSize = 14.sp, - fontWeight = FontWeight.W500, - fontFamily = fontFamily, - ), - footnote = TextStyle( - fontSize = 12.sp, - lineHeight = 20.sp, - fontWeight = FontWeight.W400, - fontFamily = fontFamily, - ), - footnoteItalic = TextStyle( - fontSize = 12.sp, - lineHeight = 20.sp, - fontWeight = FontWeight.W400, - fontStyle = FontStyle.Italic, - fontFamily = fontFamily, - ), - footnoteBold = TextStyle( - fontSize = 12.sp, - lineHeight = 20.sp, - fontWeight = FontWeight.W500, - fontFamily = fontFamily, - ), - captionBold = TextStyle( - fontSize = 10.sp, - lineHeight = 16.sp, - fontWeight = FontWeight.W700, - fontFamily = fontFamily, - ), - tabBar = TextStyle( - fontSize = 10.sp, - fontWeight = FontWeight.W400, - fontFamily = fontFamily, - ), - singleEmoji = TextStyle( - fontFamily = fontFamily, - fontSize = 64.sp, - ), - emojiOnly = TextStyle( - fontFamily = fontFamily, - fontSize = 64.sp, - ), - bodyDefault = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightRegular, - fontSize = StreamTokens.fontSizeMd, - lineHeight = StreamTokens.lineHeightNormal, - ), - bodyEmphasis = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeMd, - lineHeight = StreamTokens.lineHeightNormal, - ), - captionDefault = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightRegular, - fontSize = StreamTokens.fontSizeSm, - lineHeight = StreamTokens.lineHeightTight, - ), - captionEmphasis = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeSm, - lineHeight = StreamTokens.lineHeightTight, - ), - metadataDefault = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightRegular, - fontSize = StreamTokens.fontSizeXs, - lineHeight = StreamTokens.lineHeightTight, - ), - headingSmall = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeMd, - lineHeight = StreamTokens.lineHeightTight, - ), - headingMedium = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeLg, - lineHeight = StreamTokens.lineHeightRelaxed, - ), - headingLarge = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeXl, - lineHeight = StreamTokens.lineHeightRelaxed, - ), - metadataEmphasis = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightSemiBold, - fontSize = StreamTokens.fontSizeXs, - lineHeight = StreamTokens.lineHeightTight, - ), - numericMedium = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightBold, - fontSize = StreamTokens.fontSize2xs, - lineHeight = StreamTokens.lineHeightTighter, - ), - numericLarge = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightBold, - fontSize = StreamTokens.fontSizeXs, - ), - numericExtraLarge = TextStyle( - fontFamily = fontFamily, - fontWeight = StreamTokens.fontWeightBold, - fontSize = StreamTokens.fontSizeSm, - lineHeight = StreamTokens.lineHeightTighter, - ), - ) - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt deleted file mode 100644 index 7794046928b..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme.messages.composer.attachments - -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.runtime.Composable -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamTypography - -/** - * Represents the theming for the attachments preview. - * - * @param audioRecording The theming for the audio recording attachment preview. - */ -public data class AttachmentsPreviewTheme( - val audioRecording: AudioRecordingAttachmentPreviewTheme, -) { - - public companion object { - - /** - * Builds the default theming for the attachments preview. - */ - @Composable - public fun defaultTheme( - isInDarkMode: Boolean = isSystemInDarkTheme(), - typography: StreamTypography = StreamTypography.defaultTypography(), - colors: StreamColors = when (isInDarkMode) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() - }, - ): AttachmentsPreviewTheme { - return AttachmentsPreviewTheme( - audioRecording = AudioRecordingAttachmentPreviewTheme.defaultTheme(isInDarkMode, typography, colors), - ) - } - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt deleted file mode 100644 index 8c720caf536..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.theme.messages.composer.attachments - -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.unit.dp -import io.getstream.chat.android.compose.R -import io.getstream.chat.android.compose.ui.theme.ComponentPadding -import io.getstream.chat.android.compose.ui.theme.ComponentSize -import io.getstream.chat.android.compose.ui.theme.IconContainerStyle -import io.getstream.chat.android.compose.ui.theme.IconStyle -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamTypography -import io.getstream.chat.android.compose.ui.theme.TextContainerStyle - -/** - * Represents the theming for the audio recording attachment. - * - * @param size The size of the audio recording attachment preview. - * @param padding The padding for the audio recording attachment preview. - * @param playButton The style for the play button. - * @param pauseButton The style for the pause button. - * @param timerStyle The style for the timer component. - */ -public data class AudioRecordingAttachmentPreviewTheme( - public val size: ComponentSize, - public val padding: ComponentPadding, - public val playButton: IconContainerStyle, - public val pauseButton: IconContainerStyle, - public val timerStyle: TextContainerStyle, -) { - - public companion object { - - /** - * Builds the default theming for the audio recording attachment. - * - * @param isInDarkMode If the app is in dark mode. - * @param typography The typography to use for the audio recording attachment. - * @param colors The colors to use for the audio recording attachment. - * - * @return The [AudioRecordingAttachmentPreviewTheme] instance with the default theming. - */ - @Composable - public fun defaultTheme( - isInDarkMode: Boolean = isSystemInDarkTheme(), - typography: StreamTypography = StreamTypography.defaultTypography(), - colors: StreamColors = when (isInDarkMode) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() - }, - ): AudioRecordingAttachmentPreviewTheme { - return AudioRecordingAttachmentPreviewTheme( - size = ComponentSize(height = 50.dp, width = 200.dp), - padding = ComponentPadding(start = 8.dp, end = 0.dp, top = 2.dp, bottom = 2.dp), - playButton = IconContainerStyle( - size = ComponentSize.square(36.dp), - padding = ComponentPadding.Zero, - icon = IconStyle( - painter = painterResource(id = R.drawable.stream_compose_ic_play), - tint = Color.Black, - size = ComponentSize.square(24.dp), - ), - ), - pauseButton = IconContainerStyle( - size = ComponentSize.square(36.dp), - padding = ComponentPadding.Zero, - icon = IconStyle( - painter = painterResource(id = R.drawable.stream_compose_ic_pause), - tint = Color.Black, - size = ComponentSize.square(24.dp), - ), - ), - timerStyle = TextContainerStyle( - size = ComponentSize.width(48.dp), - padding = ComponentPadding.Zero, - backgroundColor = Color.Unspecified, - textStyle = typography.body.copy( - color = colors.textLowEmphasis, - ), - ), - ) - } - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt index b395c6aa34d..c30af474410 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt @@ -144,15 +144,15 @@ internal fun ThreadItemTitle( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_thread), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.width(4.dp)) Text( text = title, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, ) } } @@ -170,10 +170,10 @@ internal fun RowScope.ThreadItemReplyToContent(parentMessage: Message) { modifier = Modifier.weight(1f), text = "$prefix$text", fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, maxLines = 1, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, ) } @@ -209,7 +209,7 @@ internal fun ThreadItemLatestReplyContent( .padding(top = 8.dp), ) { ChatTheme.componentFactory.UserAvatar( - modifier = Modifier.size(ChatTheme.dimens.channelAvatarSize), + modifier = Modifier.size(40.dp), user = latestReply.user, showIndicator = latestReply.user.shouldShowOnlineIndicator( userPresence = ChatTheme.userPresence, @@ -224,10 +224,10 @@ internal fun ThreadItemLatestReplyContent( ) { Text( text = latestReply.user.name, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 1, overflow = TextOverflow.Ellipsis, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Row( horizontalArrangement = Arrangement.SpaceBetween, @@ -240,8 +240,8 @@ internal fun ThreadItemLatestReplyContent( maxLines = 1, fontSize = 14.sp, overflow = TextOverflow.Ellipsis, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) Timestamp( modifier = Modifier.padding(start = 8.dp), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt index 74fcba142a6..d97382b143a 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt @@ -164,7 +164,7 @@ public fun ThreadList( }, ) { Scaffold( - containerColor = ChatTheme.colors.appBackground, + containerColor = ChatTheme.colors.backgroundCoreApp, topBar = { unreadThreadsBanner(state.unseenThreadsCount) }, @@ -252,7 +252,7 @@ internal fun DefaultThreadListEmptyContent(modifier: Modifier = Modifier) { modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.stream_compose_thread_list_empty_title), textAlign = TextAlign.Center, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, fontSize = 20.sp, lineHeight = 25.sp, maxLines = 1, @@ -268,7 +268,7 @@ internal fun DefaultThreadListEmptyContent(modifier: Modifier = Modifier) { */ @Composable internal fun DefaultThreadListLoadingContent(modifier: Modifier = Modifier) { - Box(modifier = modifier.background(ChatTheme.colors.appBackground)) { + Box(modifier = modifier.background(ChatTheme.colors.backgroundCoreApp)) { LoadingIndicator(modifier) } } @@ -281,7 +281,7 @@ internal fun DefaultThreadListLoadingMoreContent() { Box( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(top = 8.dp, start = 8.dp, end = 8.dp, bottom = 40.dp), contentAlignment = Alignment.Center, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt index be1b1561cd0..c38f957c616 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt @@ -67,7 +67,7 @@ public fun UnreadThreadsBanner( .fillMaxWidth() .heightIn(min = 52.dp) .clip(RoundedCornerShape(16.dp)) - .background(ChatTheme.colors.textHighEmphasis) + .background(ChatTheme.colors.textPrimary) .then(clickableModifier) .padding(start = 16.dp), verticalAlignment = Alignment.CenterVertically, @@ -79,7 +79,7 @@ public fun UnreadThreadsBanner( modifier = Modifier.weight(1f), text = text, fontSize = 16.sp, - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, lineHeight = 20.sp, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -88,7 +88,7 @@ public fun UnreadThreadsBanner( modifier = Modifier.minimumInteractiveComponentSize(), painter = painterResource(id = R.drawable.stream_compose_ic_union), contentDescription = "Reload threads", - tint = ChatTheme.colors.barsBackground, + tint = ChatTheme.colors.backgroundElevationElevation1, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt index c20e019c6e0..8ed0bd00943 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt @@ -22,6 +22,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.withStyle import io.getstream.chat.android.client.utils.message.hasAudioRecording @@ -31,8 +32,7 @@ import io.getstream.chat.android.client.utils.message.isPollClosed import io.getstream.chat.android.client.utils.message.isSystem import io.getstream.chat.android.compose.R import io.getstream.chat.android.compose.ui.attachments.AttachmentFactory -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.DraftMessage import io.getstream.chat.android.models.Message @@ -81,20 +81,22 @@ public interface MessagePreviewFormatter { * * @see [DefaultMessagePreviewFormatter] */ + @Suppress("detekt:ForbiddenComment") public fun defaultFormatter( context: Context, autoTranslationEnabled: Boolean, - typography: StreamTypography, + typography: StreamDesign.Typography, attachmentFactories: List, - colors: StreamColors, + colors: StreamDesign.Colors, ): MessagePreviewFormatter { return DefaultMessagePreviewFormatter( context = context, autoTranslationEnabled = autoTranslationEnabled, - draftMessageLabelTextStyle = typography.footnoteBold.copy(color = colors.primaryAccent), - messageTextStyle = typography.bodyBold, - senderNameTextStyle = typography.bodyBold, - attachmentTextFontStyle = typography.bodyItalic, + draftMessageLabelTextStyle = typography.metadataEmphasis.copy(color = colors.accentPrimary), + messageTextStyle = typography.bodyEmphasis, + senderNameTextStyle = typography.bodyEmphasis, + // TODO: replace with a dedicated italic token once the design system provides one + attachmentTextFontStyle = typography.bodyDefault.copy(fontStyle = FontStyle.Italic), attachmentFactories = attachmentFactories, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt index 196e672b4b5..346aec5781d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt @@ -70,7 +70,7 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory { Icon( painter = painterResource(id = R.drawable.stream_compose_ic_mic), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) }, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt index e09e93b285a..98e8ed0f70d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt @@ -23,9 +23,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.theme.MessageStyling -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamShapes -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.User import io.getstream.chat.android.ui.common.feature.messages.translations.MessageOriginalTranslationsStore @@ -64,10 +62,10 @@ public fun interface MessageTextFormatter { public fun defaultFormatter( autoTranslationEnabled: Boolean, isInDarkMode: Boolean = isSystemInDarkTheme(), - typography: StreamTypography = StreamTypography.defaultTypography(), - colors: StreamColors = when (isInDarkMode) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() + typography: StreamDesign.Typography = StreamDesign.Typography.default(), + colors: StreamDesign.Colors = when (isInDarkMode) { + true -> StreamDesign.Colors.defaultDark() + else -> StreamDesign.Colors.default() }, textStyle: (isMine: Boolean, message: Message) -> TextStyle = { isMine, _ -> MessageStyling.textStyle(outgoing = isMine, typography, colors) }, @@ -85,41 +83,6 @@ public fun interface MessageTextFormatter { ) } - /** - * Builds the default message text formatter. - * - * @param autoTranslationEnabled Whether the auto-translation is enabled. - * @param typography The typography to use for styling. - * @param colors The colors to use for styling. - * @param builder The builder to use for customizing the text. - * @return The default implementation of [MessageTextFormatter]. - * - * @see [DefaultMessageTextFormatter] - */ - @Composable - public fun defaultFormatter( - autoTranslationEnabled: Boolean, - isInDarkMode: Boolean = isSystemInDarkTheme(), - typography: StreamTypography = StreamTypography.defaultTypography(), - shapes: StreamShapes = StreamShapes.defaultShapes(), - colors: StreamColors = when (isInDarkMode) { - true -> StreamColors.defaultDarkColors() - else -> StreamColors.defaultColors() - }, - builder: AnnotatedMessageTextBuilder? = null, - ): MessageTextFormatter { - return defaultFormatter( - autoTranslationEnabled = autoTranslationEnabled, - isInDarkMode = isInDarkMode, - typography = typography, - colors = colors, - textStyle = { isMine, _ -> MessageStyling.textStyle(outgoing = isMine, typography, colors) }, - linkStyle = { MessageStyling.linkStyle(typography, colors) }, - mentionColor = { colors.chatTextMention }, - builder = builder, - ) - } - /** * Builds a composite message text formatter. * @@ -160,7 +123,7 @@ private class CompositeMessageTextFormatter( */ private class DefaultMessageTextFormatter( private val autoTranslationEnabled: Boolean, - private val typography: StreamTypography, + private val typography: StreamDesign.Typography, private val textStyle: (isMine: Boolean, message: Message) -> TextStyle, private val linkStyle: (isMine: Boolean) -> TextStyle, private val mentionColor: (isMine: Boolean) -> Color, @@ -193,7 +156,7 @@ private class DefaultMessageTextFormatter( return buildAnnotatedMessageText( text = displayedText, textColor = textColor, - textFontStyle = typography.body.fontStyle, + textFontStyle = typography.bodyDefault.fontStyle, linkStyle = linkStyle, mentionsColor = mentionColor, mentionedUserNames = mentionedUserNames, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt index 46dc12f73d7..792d51d9855 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt @@ -64,7 +64,7 @@ internal fun StreamSnackbar( modifier = modifier.shadow(4.dp, shape = SnackbarShape), shape = SnackbarShape, color = ChatTheme.colors.backgroundCoreInverse, - contentColor = ChatTheme.colors.textOnAccent, + contentColor = ChatTheme.colors.textOnDark, ) { Row( modifier = Modifier.padding( @@ -88,7 +88,7 @@ internal fun StreamSnackbar( StreamTextButton( onClick = snackbarData::performAction, style = StreamButtonStyleDefaults.secondaryOutline.copy( - contentColor = ChatTheme.colors.textOnAccent, + contentColor = ChatTheme.colors.textOnDark, ), size = StreamButtonSize.Small, text = actionLabel, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt index 416a1b719c8..bcf3c29f73e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt @@ -18,19 +18,19 @@ package io.getstream.chat.android.compose.ui.util.extensions.internal import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp -import io.getstream.chat.android.compose.ui.theme.StreamDimens + +private val GroupAvatarInitialsXOffset = 1.5.dp +private val GroupAvatarInitialsYOffset = 2.5.dp /** * Function to determine the offset of initials in an avatar group, which can contain up to 4 avatars in a grid. * - * @param dimens [StreamDimens] that contain the offset. * @param userPosition The position of the current users avatar in the group. * @param memberCount The number of members inside the avatar group/channel. * * @return The x and y offset of the avatar inside [DpOffset] depending on the item position inside the list. */ internal fun getAvatarPositionOffset( - dimens: StreamDimens, userPosition: Int, memberCount: Int, ): DpOffset { @@ -39,26 +39,26 @@ internal fun getAvatarPositionOffset( return when (userPosition) { 0 -> DpOffset( - dimens.groupAvatarInitialsXOffset, - dimens.groupAvatarInitialsYOffset, + GroupAvatarInitialsXOffset, + GroupAvatarInitialsYOffset, ) 1 -> { if (memberCount == 3) { center } else { DpOffset( - -dimens.groupAvatarInitialsXOffset, - dimens.groupAvatarInitialsYOffset, + -GroupAvatarInitialsXOffset, + GroupAvatarInitialsYOffset, ) } } 2 -> DpOffset( - dimens.groupAvatarInitialsXOffset, - -dimens.groupAvatarInitialsYOffset, + GroupAvatarInitialsXOffset, + -GroupAvatarInitialsYOffset, ) LastIndexInAvatarGroup -> DpOffset( - -dimens.groupAvatarInitialsXOffset, - -dimens.groupAvatarInitialsYOffset, + -GroupAvatarInitialsXOffset, + -GroupAvatarInitialsYOffset, ) else -> center } diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt index c43673db8c8..c7daabdf5c7 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt @@ -57,7 +57,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest { LocalActivityResultRegistryOwner provides NoOpRegistryOwner, ) { ChatTheme(isInDarkMode = isInDarkMode) { - Box(modifier = Modifier.background(ChatTheme.colors.appBackground)) { + Box(modifier = Modifier.background(ChatTheme.colors.backgroundCoreApp)) { composable.invoke() } } @@ -80,7 +80,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest { Box( modifier = Modifier .weight(.5f) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), contentAlignment = contentAlignment, ) { composable() @@ -90,7 +90,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest { Box( modifier = Modifier .weight(.5f) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), contentAlignment = contentAlignment, ) { composable() @@ -116,7 +116,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest { Box( modifier = Modifier .weight(.5f) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), contentAlignment = contentAlignment, ) { composable() @@ -126,7 +126,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest { Box( modifier = Modifier .weight(.5f) - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), contentAlignment = contentAlignment, ) { composable() diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt index fc486cc4ff6..db26883221e 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt @@ -42,7 +42,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = true) @@ -59,7 +59,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = true) @@ -76,7 +76,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = false) @@ -93,7 +93,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.backgroundElevationElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = false) diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt index 64f8cc6f282..696351c742e 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt @@ -20,6 +20,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material3.Text import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.unit.dp import app.cash.paparazzi.DeviceConfig import app.cash.paparazzi.Paparazzi @@ -44,6 +45,7 @@ internal class ReactionsPickerTest : PaparazziComposeTest { } } + @Suppress("detekt:ForbiddenComment") @Test fun `Reaction picker with header`() { snapshotWithDarkMode { @@ -56,16 +58,17 @@ internal class ReactionsPickerTest : PaparazziComposeTest { .align(CenterHorizontally) .padding(8.dp), text = "My custom header", - style = ChatTheme.typography.title1, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingLarge, + color = ChatTheme.colors.textPrimary, ) Text( modifier = Modifier .align(CenterHorizontally) .padding(8.dp), text = "Our reactions often reveal truths that actions alone can hide.", - style = ChatTheme.typography.footnoteItalic, - color = ChatTheme.colors.textLowEmphasis, + // TODO: replace with a dedicated italic token once the design system provides one + style = ChatTheme.typography.metadataDefault.copy(fontStyle = FontStyle.Italic), + color = ChatTheme.colors.textSecondary, ) }, ) diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt index d3f3d004ad4..5205db4646d 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt @@ -39,7 +39,7 @@ internal class ThreadListTest : PaparazziComposeTest { ThreadList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = ThreadListState( threads = emptyList(), isLoading = true, @@ -59,7 +59,7 @@ internal class ThreadListTest : PaparazziComposeTest { ThreadList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = ThreadListState( threads = emptyList(), isLoading = false, @@ -79,7 +79,7 @@ internal class ThreadListTest : PaparazziComposeTest { ThreadList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = ThreadListState( threads = PreviewThreadData.threadList, isLoading = false, @@ -99,7 +99,7 @@ internal class ThreadListTest : PaparazziComposeTest { ThreadList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = ThreadListState( threads = PreviewThreadData.threadList, isLoading = false, @@ -119,7 +119,7 @@ internal class ThreadListTest : PaparazziComposeTest { ThreadList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), state = ThreadListState( threads = PreviewThreadData.threadList, isLoading = false, diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png index 5da0b98335e..4e910a85aa3 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png index b41dc027790..1d38954f6a0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png index e52efe19ba4..a2d39ca7605 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png index 0a8f41cfee7..fd0049c5670 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png index bd63fecc5db..a7cf8a3a265 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png index e3eed96205c..ea3491f4e35 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png index 4731c454e57..3fe2756fe95 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png index 4b934b55656..0d14af439d2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png index 62aac34350b..fc29544a3b0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png index 7d6edaa7d60..95f3e4c9cae 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png index d6e564fdbc8..398bca409b8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png index 0b905c8a136..b437e834937 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png index b82c5822c7c..ac58faefcd7 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png index e21e369c08f..4602f874b22 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png index 658d97ede61..8ec37a98033 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png index 9c6923dac4c..8f3d5aeb986 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png index b6b1ea9c0c8..79bf1fa90cb 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png index b12be244c07..146ef7fc646 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png index 8739aff07c0..3ff692c164f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png index a061f2aee5d..c27538cd27b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png index f5c51e898ed..f5ad20d1e74 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png index 9b7906737ff..330be824ae1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png index f15891049d3..c98cf4f91df 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png index 30013d20f57..667f69e147a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png index ab2d292e967..1ae674cde15 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png index d69c73703f7..97d0b5664d4 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png index 344025afca2..84e48d0d3a9 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png index cab9f3db765..45706856a1f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png index faa6be4a79f..260509fc7ab 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png index e0c12ce26be..d0c23408def 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png index aa351951042..7b9a79eb17a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png index aa50589fe30..e6b6b15aa58 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png index dc70c05f267..e0e263da629 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png index 1abf3dfcf84..6318c6de5f9 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png index ae7ecc1a2c6..864904088b1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png index b4eb060fdb4..6ea3a8cd4d6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png index 174c02d8a96..996c9d45aeb 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png index 071574ecdb1..c050bea1a77 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png index f12352841fa..406b62ad9a4 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png index ee5a0b2f166..d722214bfd6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png index 9f68048b564..b46d85ca599 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png index b683c20ac81..7fffcc10e80 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png index 880ea2b077c..ec8400cb464 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png index 7a80362d952..13ecd5deaaa 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png index e63ccef421d..798c60a0410 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png index 79533ace520..1495c22f1b3 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png index 32ace371983..6ccade240df 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png index 3bc2e22ee70..c7b561d24dc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png index 9e4a4f8103f..42efd483118 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png index b8364e5d131..ba670ba3503 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png index 5153142a7b4..6ff53a51a8c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png index daa3ae91bd9..6709bb98098 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png index ce2c4c76442..bc39a909ae9 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png index 51acea27290..eafe4c6267c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png index 6a398b3c9da..f5a24051d59 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png index 8d671a8ddf9..ab79fbe72e2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png index 8a9140b6c10..1b0d669da08 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png index f1780462c1e..8b73a94a075 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png index 22fc248eebf..b56289c4757 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png index ac7b73656fa..291a2f8b626 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png index 84ef494ee80..8ad068e179a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png index df0b5927a56..6f283c64388 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png index 5a466a54fdd..3f60ff1d6ca 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png index 93f583972b1..54add29bfc3 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png index 62c01f91451..7413acaa875 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png index f7a975cd4fc..d7a250c53b8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png index b192023b362..fd0f012b29c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png index 363e5f871d7..82672a8e780 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png index 0938c9f4203..d3792b6eb2f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png index 8f4eb7b1a55..f12b9ea399a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png index 27ee33d7983..14eb5c6eeaa 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png index 230b66e6013..4433d96dae0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png index 263f07765be..782c2e390eb 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png index 010681c0845..6cc7967508a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png index aba3c31c33b..f00e150d71a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png index cea929341d9..d91bf2e8d23 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png index a6e71fa4a54..0250af3962f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png index e1b96fda225..1dd084f5eda 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png index 0fd9d98939a..71e9d99c14a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png index 8cf24dccdae..5d08ed50461 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png index 20de50c8a98..7d0b18cf537 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png index 5b8cdd7c05b..1b04679d6e2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png index 3329b6f2c06..074fdceedd1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png index 678aa39b273..e312930ff95 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png index 6fce47f7287..121b1b7353c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png index 880aff332b8..a8a88ec8e89 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png index ad16771d7aa..e7cefcf31da 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png index 4fa59bd4da3..471313a0226 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png index 0c780cfac3a..db97ba94766 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png index 3b964beb739..5f03bfb4ee2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png index 8b17e9b5453..44fb5640ea7 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png index 05fb05e79f5..a272d38cd8b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png index 9bf9e1823b4..2969ecf0cc6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png index 3c4934b7c95..5b7e53043d5 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png index 8c4a26c3c96..7418bd73334 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png index 5d363de4b57..917e5926df2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png index 333d396a1d5..bb3c3a6624f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png index 2c66149668c..e2c5473ed99 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png index 7e8fff1946d..597eaff05a1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png index 2e1868b4446..e2061e73044 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png index b9ea14fd8d4..e9751dfe025 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png index 88a3e35f94b..d92a13a6b0e 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png index fa0f9136c39..17e1fe5356d 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png index 3bf8037285d..1c9f7b04def 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png index a7cf93b3cb3..5a249b44a51 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png index 732f42f9fee..44c99cffaf0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png index 88e7a9a464a..6394255b56a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png index d6aec1fc752..b0ca35c5a53 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png index 607d17f4697..7d61fed6c00 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png index fa0557fa3a0..f5f0a525cd6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png index 268b21e17ff..e5b40d9be06 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png index c11a1943af0..1cf98856207 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png index 9bc9631d52a..df1865fe1d6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png index 3ccb46cdb6a..8f1385eeddd 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png index 45fe6ab8e8c..ec974979827 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png index 45583f88b47..2eba131c9d2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png index 4de5239177c..a56d852b422 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png index d4162b5bcad..6c31f46a8f5 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png index 6aef5fdf15b..b33330423c0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png index bb2c4103cd4..dfa3793d319 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png index e14db63e6e5..a16605cb7f0 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png index 135925bf54d..414147ff863 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png index 8aa1d2919a8..f9a713b87c5 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png index c142efe5a55..323de5cf368 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png index 2845f1c9631..ebbae11b23f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png index 6738ebddcad..3e6480ebae4 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png index a0d82b7c537..c063e41b105 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png index 582b913bb45..40eea587a8a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png index 946d4252f30..05c65b42058 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png index 1e07a9eb41d..499f9b7040f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png index 3c4934b7c95..5b7e53043d5 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png index 847038f4d1b..3ab8c50e0d2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png index fc4d0be022e..4e8bef37412 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png index 55b461354d9..f5717fac2cc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png index 857add9cf1f..ad4279fae56 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png index b459a4036e8..6a91b90deec 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png index 39590b7e52b..9b88a99a844 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png index 2d98a196504..39cba0ca2be 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png index 6aa9892cc1c..d371d6fc821 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png index 9a89756ee73..6579b4610c9 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png index 74dc7fda7dc..763ac750cb5 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png index d093c6c486f..7917b3d3d67 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png index 01cd1cc9d62..8f9e714c2a6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png index 3538e191b28..bfbc6bf1cc3 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png index 2d0ddc0b9c3..d3e63db01c1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png index d9500fd4750..d9d6201a43a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png index 5b59274640d..9bf413da699 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png index 2b8efb713f5..054340e505f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png index b3cf13d92dd..6d85a4f6107 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png index 88091fe1be8..edb8e6cf0c3 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png index c92b29db1ab..d5490530113 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png index 9531b968515..c7728f9c930 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png index bd717ab7245..063473f28dc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png index b667275219f..18b22a73a1a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png index c9f3553e118..875486b0608 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png index d13540c0116..92da2b1b959 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png index c92b29db1ab..d5490530113 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png index 9531b968515..c7728f9c930 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png index bd717ab7245..063473f28dc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png index 497d23e9140..bbad5f35c45 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png index b9e6c7b171d..64baed8901b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png index 741d5a6afc4..99eaf46ea10 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png index ae5897b930b..a246610928f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png index 85e48156317..d98749fcf06 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png index a423b78ff07..8a7ce159643 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png index e48cb96930d..87350dce508 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png index 5f9d594a443..756185bc86c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png index 7434a8496ad..1fa51dfa57f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png index 188ab78fee2..7422992e114 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png index 37e5e521c83..77683fb5ace 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png index 1956b967c7c..8ae0852807e 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png index d19c4ab5039..675449b2629 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png index 513fe422458..fa4892bcc7b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png index 9e4b5db700a..a217d86bf01 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png index b6bd9accbfc..47e3f035c9b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png index df3a8e3b465..62fc03a6f85 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png index 157e7d7703c..37727b0e499 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png index 30a0062dd28..511aabd0558 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png index aac028d523b..0567945dbfd 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png index 99f9f4b57f6..318d678534e 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png index 919e06843a6..d43e9459bdc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png index 576eda545b1..7ad40df9715 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png index c13d3ea219d..6c43dea29f7 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png index 890159add2e..7479779d8f8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png index efb059c80a1..d07c4c550cc 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png index bfddccd7c46..eafe1c2ad25 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png index 77ca16c546d..ff072725ae1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png index 6c8e57db08d..f302dacc247 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png index 8306d2d6153..9d6e508ba72 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png index a7b2c8121e0..6c1fd07751f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png index d0b202ca4bc..d975f2d18f1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png index 89347206754..2a879068655 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png index 9b8b73beb63..474ef974b46 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png index 45d5d0777cc..7d07e3c83f8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png index 9169faaa294..e16e04f447b 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png index eb42334322f..3a6b792f1c2 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png index 369b91ae8e1..9abfee0589e 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png index 2b4df3352c6..81ac49bf89f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png index 657953eb631..910eae25f2e 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png index 8f53375b764..f771e07de25 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png index 579261ecd03..ea4b70fabc8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png index af0fdca4719..5bc12fbb364 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png index 0646d9b875b..10bf2ac9cee 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png index 98ffd85475d..10863e29951 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png index d0b202ca4bc..d975f2d18f1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png index c725ac9b17a..35e46462489 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png index 03cacf4a51e..05232f66488 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png index c37973d6b34..e6b6c4842f7 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png index 7d436c0b0c9..e5fba98aa6f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png index 9e0bb6c252b..1c67dfcdba8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png index d0b202ca4bc..d975f2d18f1 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png index d103815ac33..ee998773c6c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png index 90d863a82a2..21048fd615c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png index b68d225a5a8..cd410384e7d 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png index 402cbcfb199..1652364184c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png differ diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt index e85c5d412fc..e688bbf9037 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt @@ -140,8 +140,8 @@ private object ChannelItemCustomizationSnippet { centerContent = { // Replace the details content with a simple Text Text( text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user), - style = ChatTheme.typography.bodyBold, - color = ChatTheme.colors.textHighEmphasis + style = ChatTheme.typography.bodyEmphasis, + color = ChatTheme.colors.textPrimary ) } ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt index 6c0b758c03a..142a4e4c369 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt @@ -186,7 +186,7 @@ private object ChannelListCustomizationSnippet { Text( text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user), - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, maxLines = 1, ) } diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt index 335e37b6c39..b1ecd0fae4d 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt @@ -94,7 +94,7 @@ private object ChannelListHeaderCustomizationSnippet { }, imageVector = Icons.Default.Add, contentDescription = "Add", - tint = ChatTheme.colors.textHighEmphasis + tint = ChatTheme.colors.textPrimary ) } ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt index bf135a778f3..caa311a08cd 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt @@ -7,19 +7,14 @@ import android.text.format.DateUtils import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString -import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.messages.MessagesScreen import io.getstream.chat.android.compose.ui.theme.ChatTheme -import io.getstream.chat.android.compose.ui.theme.StreamColors -import io.getstream.chat.android.compose.ui.theme.StreamShapes -import io.getstream.chat.android.compose.ui.theme.StreamTypography +import io.getstream.chat.android.compose.ui.theme.StreamDesign import io.getstream.chat.android.compose.ui.util.MessagePreviewFormatter import io.getstream.chat.android.compose.ui.util.MessageTextFormatter import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory @@ -84,16 +79,7 @@ private object ChatThemeCustomizationSnippet { super.onCreate(savedInstanceState) setContent { - ChatTheme( - shapes = StreamShapes.defaultShapes().copy( // Customizing the shapes - avatar = RoundedCornerShape(8.dp), - attachment = RoundedCornerShape(16.dp), - inputField = RectangleShape, - myMessageBubble = RoundedCornerShape(16.dp), - otherMessageBubble = RoundedCornerShape(16.dp), - bottomSheet = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp) - ) - ) { + ChatTheme { MessagesScreen( viewModelFactory = MessagesViewModelFactory( context = this, @@ -162,14 +148,12 @@ private object ChatThemeDateFormatterSnippet : ChatThemeCustomization() { private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomization() { override val content: @Composable () -> Unit get() = { - val colors = if (isSystemInDarkTheme()) StreamColors.defaultDarkColors() else StreamColors.defaultColors() - val typography = StreamTypography.defaultTypography() - val shapes = StreamShapes.defaultShapes() + val colors = if (isSystemInDarkTheme()) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default() + val typography = StreamDesign.Typography.default() ChatTheme( colors = colors, typography = typography, - shapes = shapes, - messageTextFormatter = buildMessageTextFormatter(typography, colors, shapes) + messageTextFormatter = buildMessageTextFormatter(typography, colors) ) { MessagesScreen( viewModelFactory = viewModelFactory, @@ -184,9 +168,8 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat */ @Composable private fun buildMessageTextFormatter( - typography: StreamTypography, - colors: StreamColors, - shapes: StreamShapes, + typography: StreamDesign.Typography, + colors: StreamDesign.Colors, ): MessageTextFormatter { val formatter = object : MessageTextFormatter { override fun format(message: Message, currentUser: User?): AnnotatedString { @@ -223,7 +206,6 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat autoTranslationEnabled = autoTranslationEnabled, typography = typography, colors = colors, - shapes = shapes, ) { message, currentUser -> addStyle( SpanStyle( @@ -238,13 +220,12 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat private object ChatThemeMessageTextFormatterCompositeSnippet : ChatThemeCustomization() { override val content: @Composable () -> Unit get() = { - val colors = if (isSystemInDarkTheme()) StreamColors.defaultDarkColors() else StreamColors.defaultColors() - val typography = StreamTypography.defaultTypography() - val shapes = StreamShapes.defaultShapes() + val colors = if (isSystemInDarkTheme()) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default() + val typography = StreamDesign.Typography.default() ChatTheme( colors = colors, typography = typography, - messageTextFormatter = buildMessageTextFormatter(typography, colors, shapes) + messageTextFormatter = buildMessageTextFormatter(typography, colors) ) { MessagesScreen( viewModelFactory = viewModelFactory, @@ -256,16 +237,14 @@ private object ChatThemeMessageTextFormatterCompositeSnippet : ChatThemeCustomiz @Composable private fun buildMessageTextFormatter( - typography: StreamTypography, - colors: StreamColors, - shapes: StreamShapes, + typography: StreamDesign.Typography, + colors: StreamDesign.Colors, ): MessageTextFormatter { return MessageTextFormatter.composite( MessageTextFormatter.defaultFormatter( autoTranslationEnabled = autoTranslationEnabled, typography = typography, colors = colors, - shapes = shapes, ), blueLettersMessageTextFormatter() ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt index 2138eae1006..3e3cd2ab291 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt @@ -148,7 +148,7 @@ private object AddingCustomAttachmentsSnippet { Icon( painter = painterResource(id = R.drawable.ic_calendar), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis + tint = ChatTheme.colors.textSecondary ) }, onClick = { @@ -203,8 +203,8 @@ fun DateAttachmentContent( modifier = modifier .fillMaxWidth() .padding(4.dp) - .clip(ChatTheme.shapes.attachment) - .background(ChatTheme.colors.infoAccent) + .clip(RoundedCornerShape(12.dp)) + .background(ChatTheme.colors.accentSuccess) .padding(8.dp) ) { Row( @@ -215,14 +215,14 @@ fun DateAttachmentContent( modifier = Modifier.size(16.dp), painter = painterResource(id = R.drawable.ic_calendar), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) Text( text = formattedDate, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis + color = ChatTheme.colors.textPrimary ) } } @@ -241,7 +241,7 @@ fun DateAttachmentPreviewContent( modifier = modifier .wrapContentHeight() .clip(RoundedCornerShape(16.dp)) - .background(color = ChatTheme.colors.barsBackground) + .background(color = ChatTheme.colors.backgroundElevationElevation1) ) { Text( modifier = Modifier @@ -249,9 +249,9 @@ fun DateAttachmentPreviewContent( .padding(16.dp) .fillMaxWidth(), text = formattedDate, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis + color = ChatTheme.colors.textPrimary ) ComposerCancelIcon( diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt index c02b4108c2e..4942619ffcf 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt @@ -237,7 +237,7 @@ private object MessageComposerCustomizationSnippet { Text( modifier = Modifier.padding(start = 4.dp), text = "Type something", - color = ChatTheme.colors.textLowEmphasis + color = ChatTheme.colors.textSecondary ) } }, @@ -260,7 +260,7 @@ private object MessageComposerCustomizationSnippet { onSendClick(state.inputValue, state.attachments) }, painter = painterResource(id = R.drawable.stream_compose_ic_send), - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, contentDescription = null ) }, diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt index 9f7e1a24fa0..1cd0036a6f9 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt @@ -161,7 +161,7 @@ private object MessageListCustomizationSnippet { viewModel = listViewModel, modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground), + .background(ChatTheme.colors.backgroundCoreApp), itemContent = { item -> if (item is MessageItemState) { // we check against other subclasses of 'MessageListItemState' val message = item.message @@ -180,14 +180,14 @@ private object MessageListCustomizationSnippet { Text( modifier = Modifier.padding(start = 8.dp), text = message.user.name, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 14.sp, - color = ChatTheme.colors.textHighEmphasis + color = ChatTheme.colors.textPrimary ) } MessageBubble( - color = ChatTheme.colors.barsBackground, + color = ChatTheme.colors.backgroundElevationElevation1, modifier = Modifier.padding(top = 4.dp), shape = RoundedCornerShape( topEnd = 16.dp, @@ -199,7 +199,7 @@ private object MessageListCustomizationSnippet { Text( modifier = Modifier.padding(8.dp), text = message.text, - color = ChatTheme.colors.textHighEmphasis + color = ChatTheme.colors.textPrimary ) } ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt index 65014c2c407..007fe3dc0ef 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt @@ -16,6 +16,7 @@ import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp @@ -167,7 +168,7 @@ private object ReactionsPickerCustomizationSnippet { .align(Alignment.Center) .padding(horizontal = 20.dp) .wrapContentSize(), - shape = ChatTheme.shapes.attachment, + shape = RoundedCornerShape(12.dp), message = selectedMessage, onMessageAction = { action -> composerViewModel.performMessageAction(action) @@ -189,8 +190,8 @@ private object ReactionsPickerCustomizationSnippet { Text( modifier = Modifier.padding(start = 20.dp, top = 12.dp), text = "Available reactions", - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary ) } } diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt index 8bd117297c9..382b0008621 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt @@ -32,7 +32,7 @@ private object SearchInputUsageSnippet { SearchInput( modifier = Modifier - .background(color = ChatTheme.colors.appBackground) + .background(color = ChatTheme.colors.backgroundCoreApp) .padding(horizontal = 12.dp, vertical = 8.dp) .fillMaxWidth(), query = searchQuery, @@ -80,7 +80,7 @@ private object SearchInputCustomizationSnippet { SearchInput( modifier = Modifier - .background(color = ChatTheme.colors.appBackground) + .background(color = ChatTheme.colors.backgroundCoreApp) .padding(horizontal = 12.dp, vertical = 12.dp) .fillMaxWidth(), query = searchQuery, @@ -98,8 +98,8 @@ private object SearchInputCustomizationSnippet { // Customize the hint Text( text = "Search channels", - style = ChatTheme.typography.body, - color = ChatTheme.colors.textLowEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textSecondary, ) } ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt index 6ba98bfc2ba..c1e9851028a 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt @@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.Send import androidx.compose.material.icons.outlined.AddCircle @@ -104,7 +105,7 @@ fun CustomComposerAndAttachmentsPicker(cid: String?, onBackClick: () -> Unit = { MessageList( modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .padding(it), viewModel = listViewModel, ) @@ -212,7 +213,7 @@ private fun CustomAttachmentsPicker( // Gray overlay modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.overlay) + .background(ChatTheme.colors.backgroundCoreScrim) .clickable( onClick = actions.onDismiss, indication = null, @@ -229,8 +230,8 @@ private fun CustomAttachmentsPicker( interactionSource = remember { MutableInteractionSource() }, ), elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), - shape = ChatTheme.shapes.bottomSheet, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground), + shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface), ) { Box(modifier = Modifier.padding(vertical = 24.dp)) { if (shouldShowMenu) { @@ -390,9 +391,9 @@ private fun AttachmentsPickerToolbar( contentDescription = "Submit Attachments", modifier = Modifier.size(24.dp), tint = if (isSubmitEnabled) { - ChatTheme.colors.primaryAccent + ChatTheme.colors.accentPrimary } else { - ChatTheme.colors.textLowEmphasis + ChatTheme.colors.textSecondary }, ) } diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt index 75089f88c37..795567a3f7c 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt @@ -90,7 +90,7 @@ private fun CustomHeaderCenterContent(channel: Channel, currentUser: User?) { Text( text = channel.getMembersStatusText(LocalContext.current, currentUser), color = Color.LightGray, - style = ChatTheme.typography.footnote + style = ChatTheme.typography.metadataDefault ) } } diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt index d7fea640eb3..506eb5b84c6 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt @@ -90,7 +90,7 @@ class CatalogActivity : AppCompatActivity() { Icon( painter = painterResource(id = R.drawable.ic_logout), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) } @@ -167,8 +167,8 @@ class CatalogActivity : AppCompatActivity() { Text( text = text, modifier = Modifier.padding(start = 16.dp, top = 16.dp, end = 16.dp), - style = ChatTheme.typography.title3Bold, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.headingMedium, + color = ChatTheme.colors.textPrimary, ) } @@ -188,24 +188,24 @@ class CatalogActivity : AppCompatActivity() { interactionSource = remember { MutableInteractionSource() }, ), elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface), ) { Column( modifier = Modifier.padding(16.dp), ) { Text( text = titleText, - style = ChatTheme.typography.bodyBold, + style = ChatTheme.typography.bodyEmphasis, fontSize = 16.sp, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.height(8.dp)) Text( text = descriptionText, - style = ChatTheme.typography.body, - color = ChatTheme.colors.textHighEmphasis, + style = ChatTheme.typography.bodyDefault, + color = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt index aaa179e8c7f..3bcd5d74fb5 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt @@ -91,7 +91,7 @@ fun DateAttachmentPreviewContent( modifier = modifier .wrapContentHeight() .clip(RoundedCornerShape(16.dp)) - .background(color = ChatTheme.colors.barsBackground), + .background(color = ChatTheme.colors.backgroundElevationElevation1), ) { Text( modifier = Modifier @@ -99,9 +99,9 @@ fun DateAttachmentPreviewContent( .padding(16.dp) .fillMaxWidth(), text = formattedDate, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) ComposerCancelIcon( @@ -131,8 +131,8 @@ fun DateAttachmentContent( modifier = modifier .fillMaxWidth() .padding(4.dp) - .clip(ChatTheme.shapes.attachment) - .background(ChatTheme.colors.infoAccent) + .clip(RoundedCornerShape(12.dp)) + .background(ChatTheme.colors.accentSuccess) .padding(8.dp), ) { Row( @@ -143,14 +143,14 @@ fun DateAttachmentContent( modifier = Modifier.size(16.dp), painter = painterResource(id = R.drawable.ic_calendar), contentDescription = null, - tint = ChatTheme.colors.textHighEmphasis, + tint = ChatTheme.colors.textPrimary, ) Text( text = formattedDate, - style = ChatTheme.typography.body, + style = ChatTheme.typography.bodyDefault, maxLines = 1, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } } diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt index fc5abe7b615..838df8b5a47 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt @@ -147,7 +147,7 @@ class MessagesActivity : AppCompatActivity() { MessageList( modifier = Modifier .padding(it) - .background(ChatTheme.colors.appBackground) + .background(ChatTheme.colors.backgroundCoreApp) .fillMaxSize(), viewModel = messageListViewModel, reactionSorting = ReactionSortingByFirstReactionAt, @@ -191,7 +191,7 @@ class MessagesActivity : AppCompatActivity() { Icon( painter = painterResource(id = R.drawable.ic_calendar), contentDescription = null, - tint = ChatTheme.colors.textLowEmphasis, + tint = ChatTheme.colors.textSecondary, ) }, onClick = { diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt index af069f1490c..c03e14db01e 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt @@ -84,7 +84,7 @@ class LoginActivity : AppCompatActivity() { modifier = Modifier.size(width = 80.dp, height = 40.dp), painter = painterResource(id = R.drawable.ic_stream), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) Spacer(modifier = Modifier.height(28.dp)) @@ -94,7 +94,7 @@ class LoginActivity : AppCompatActivity() { text = stringResource(R.string.login_screen_title), fontSize = 22.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Spacer(modifier = Modifier.height(12.dp)) @@ -147,13 +147,13 @@ class LoginActivity : AppCompatActivity() { text = loginUser.user.name, fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) Text( text = stringResource(id = R.string.login_user_subtitle), fontSize = 12.sp, - color = ChatTheme.colors.textLowEmphasis, + color = ChatTheme.colors.textSecondary, ) } @@ -161,7 +161,7 @@ class LoginActivity : AppCompatActivity() { modifier = Modifier.wrapContentSize(), painter = painterResource(id = R.drawable.ic_arrow), contentDescription = null, - tint = ChatTheme.colors.primaryAccent, + tint = ChatTheme.colors.accentPrimary, ) } } @@ -175,7 +175,7 @@ class LoginActivity : AppCompatActivity() { modifier = Modifier .fillMaxWidth() .height(0.5.dp) - .background(color = ChatTheme.colors.borders), + .background(color = ChatTheme.colors.borderCoreDefault), ) } diff --git a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt index 4f15895ccf4..fc501fb21e9 100644 --- a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt +++ b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt @@ -192,7 +192,7 @@ class LoginActivity : AppCompatActivity() { text = userCredentials.user.name, fontSize = 14.sp, fontWeight = FontWeight.Bold, - color = ChatTheme.colors.textHighEmphasis, + color = ChatTheme.colors.textPrimary, ) } @@ -200,7 +200,7 @@ class LoginActivity : AppCompatActivity() { modifier = Modifier .fillMaxWidth() .height(0.5.dp) - .background(color = ChatTheme.colors.borders), + .background(color = ChatTheme.colors.borderCoreDefault), ) } }