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 51bc9c0e54b..5f749add01b 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 @@ -148,13 +148,13 @@ private fun AddChannelToolbar( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), ) { AppToolbar(title = stringResource(id = R.string.add_channel_title), onBack = onBack, elevation = 0.dp) Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .padding(horizontal = 16.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween, @@ -212,7 +212,7 @@ private fun CreateGroupSection(onClick: () -> Unit) { Row( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .clickable( interactionSource = remember { MutableInteractionSource() }, indication = ripple(), @@ -251,7 +251,7 @@ private fun SelectedUsersList( FlowRow( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .padding(12.dp), horizontalArrangement = Arrangement.spacedBy(4.dp), verticalArrangement = Arrangement.spacedBy(4.dp), 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 ee9aba3d363..89131147ef5 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,8 +47,8 @@ fun SearchUserTextField( singleLine = true, maxLines = 1, colors = TextFieldDefaults.colors( - focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, - unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, + focusedContainerColor = ChatTheme.colors.backgroundCoreElevation1, + unfocusedContainerColor = ChatTheme.colors.backgroundCoreElevation1, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, disabledIndicatorColor = Color.Transparent, 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 77417b0e882..bf6216c6591 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.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), ) { AppToolbar( title = stringResource(id = R.string.add_group_channel_members_title), @@ -204,7 +204,7 @@ private fun EnterNameToolbar( Column( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), ) { AppToolbar( title = stringResource(id = R.string.add_group_channel_name_title), @@ -317,8 +317,8 @@ private fun ChannelNameTextField( singleLine = true, maxLines = 1, colors = TextFieldDefaults.colors( - focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, - unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1, + focusedContainerColor = ChatTheme.colors.backgroundCoreElevation1, + unfocusedContainerColor = ChatTheme.colors.backgroundCoreElevation1, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, disabledIndicatorColor = Color.Transparent, @@ -402,7 +402,7 @@ private fun SelectedUsersList( LazyRow( modifier = Modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), contentPadding = PaddingValues(8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(16.dp), @@ -451,7 +451,7 @@ private fun SelectedUserItem( modifier = Modifier .size(24.dp) .clip(RoundedCornerShape(12.dp)) - .background(ChatTheme.colors.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .align(Alignment.TopEnd) .clickable { onRemoveClick() }, ) { 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 33ad0f3ee56..42ad86e7504 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 @@ -179,7 +179,7 @@ class ChannelsActivity : ComponentActivity() { drawerContent = { ModalDrawerSheet( modifier = Modifier.width(300.dp), - drawerContainerColor = ChatTheme.colors.backgroundElevationElevation1, + drawerContainerColor = ChatTheme.colors.backgroundCoreElevation1, ) { ChannelsScreenNavigationDrawer( currentUser = user, 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 8a61087a78f..4d5da61d589 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 @@ -183,7 +183,7 @@ private fun ReminderDialog( content: @Composable () -> Unit, ) { Dialog(onDismissRequest = onDismiss) { - Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1)) { + Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreElevation1)) { content() } } 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 6a99b610dd6..7f9bd54a81f 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 @@ -105,7 +105,7 @@ fun AddMembersDialog( Text(text = stringResource(id = io.getstream.chat.android.compose.R.string.stream_compose_cancel)) } }, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) LaunchedEffect(viewModel) { viewModel.events.collectLatest { event -> @@ -201,7 +201,7 @@ private fun SearchResultItem( exit = shrinkOut(targetSize = { fullSize -> fullSize }) + fadeOut(), ) { Icon( - modifier = Modifier.background(ChatTheme.colors.backgroundElevationElevation1, CircleShape), + modifier = Modifier.background(ChatTheme.colors.backgroundCoreElevation1, CircleShape), tint = ChatTheme.colors.accentPrimary, painter = painterResource(id = R.drawable.ic_check_filled), contentDescription = null, 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 b2fcd37e2f1..f81f504bf4b 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 @@ -358,7 +358,7 @@ class ChatsActivity : ComponentActivity() { title = {}, navigationIcon = { CloseButton(onClick = params.onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ), ) } @@ -511,7 +511,7 @@ class ChatsActivity : ComponentActivity() { navigationIcon = navigationIcon, expandedHeight = 56.dp, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ), actions = { if (infoState is ChannelInfoViewState.Content && 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 1b49d45704a..d7c3f8159d8 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.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceEvenly, ) { 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 1f48684fc2c..e3a4d68e43f 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.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .padding(8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween, 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 72b320429e5..8ce0b3af38d 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 @@ -73,7 +73,7 @@ internal fun PaneRow( else -> RectangleShape } background( - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, 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 c3b3386855c..e33a7fe72c4 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 @@ -135,9 +135,9 @@ private fun LiveLocationSharing( .clip(RoundedCornerShape(12.dp)) .background( color = if (isOwnMessage) { - ChatTheme.colors.chatBgOutgoing + ChatTheme.colors.brand.s100 } else { - ChatTheme.colors.chatBgIncoming + ChatTheme.colors.backgroundCoreSurface }, ), ) { 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 91e2ee6655c..533afd4f427 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,7 +37,7 @@ fun DurationDropdownMenu( ) { DropdownMenu( expanded = expanded, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = onDismiss, ) { Text( 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 ded958c60c1..0a7b4a7c865 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 @@ -61,9 +61,9 @@ class LocationComponentFactory( onCheckedChange = { params.onModeSelected(LocationPickerMode) }, colors = IconButtonDefaults.filledIconToggleButtonColors( containerColor = Color.Transparent, - contentColor = ChatTheme.colors.buttonSecondaryText, - checkedContainerColor = ChatTheme.colors.backgroundCoreSelected, - checkedContentColor = ChatTheme.colors.buttonSecondaryText, + contentColor = ChatTheme.colors.textPrimary, + checkedContainerColor = ChatTheme.colors.backgroundUtilitySelected, + checkedContentColor = ChatTheme.colors.textPrimary, ), ) { Icon( 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 61afe6eee61..10f023b9cce 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 @@ -251,7 +251,7 @@ class CustomLoginActivity : AppCompatActivity() { ) } }, - colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), + colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundCoreElevation1), ) } @@ -298,7 +298,7 @@ class CustomLoginActivity : AppCompatActivity() { shape = RoundedCornerShape(8.dp), colors = ButtonDefaults.buttonColors( containerColor = ChatTheme.colors.accentPrimary, - disabledContainerColor = ChatTheme.colors.backgroundCoreDisabled, + disabledContainerColor = ChatTheme.colors.backgroundUtilityDisabled, ), onClick = onClick, ) { 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 5f93332ebd8..042812329d5 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 @@ -249,7 +249,7 @@ class UserLoginActivity : AppCompatActivity() { modifier = Modifier .clip(CircleShape) .size(40.dp) - .background(ChatTheme.colors.backgroundCoreDisabled) + .background(ChatTheme.colors.backgroundUtilityDisabled) .padding(8.dp), painter = painterResource(id = R.drawable.ic_settings), contentDescription = null, 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 741f658691a..1bd144a0d0c 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 @@ -219,7 +219,7 @@ private fun TemporaryDisableSection( colors = SwitchDefaults.colors( checkedTrackColor = ChatTheme.colors.accentSuccess, checkedThumbColor = Color.White, - uncheckedTrackColor = ChatTheme.colors.backgroundCoreDisabled, + uncheckedTrackColor = ChatTheme.colors.backgroundUtilityDisabled, uncheckedThumbColor = Color.White, ), ) 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 d1f3d9960d6..fda2f1f18fb 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 @@ -451,7 +451,7 @@ private fun UserProfilePicture( .align(Alignment.BottomEnd) .size(24.dp) .background( - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, shape = CircleShape, ) .padding(4.dp), 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 7437af71a2e..2718ec94c40 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -6153,12 +6153,93 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/StreamDesign; } +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale { + public static final field $stable I + public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale$Companion; + public synthetic fun (JJJJJJJJJJJJJLkotlin/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 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 component7-0d7_KjU ()J + public final fun component8-0d7_KjU ()J + public final fun component9-0d7_KjU ()J + public final fun copy-daRQuJA (JJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; + public static synthetic fun copy-daRQuJA$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; + public fun equals (Ljava/lang/Object;)Z + public final fun getS0-0d7_KjU ()J + public final fun getS100-0d7_KjU ()J + public final fun getS1000-0d7_KjU ()J + public final fun getS150-0d7_KjU ()J + public final fun getS200-0d7_KjU ()J + public final fun getS300-0d7_KjU ()J + public final fun getS400-0d7_KjU ()J + public final fun getS50-0d7_KjU ()J + public final fun getS500-0d7_KjU ()J + public final fun getS600-0d7_KjU ()J + public final fun getS700-0d7_KjU ()J + public final fun getS800-0d7_KjU ()J + public final fun getS900-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale$Companion { + public final fun defaultDark ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; + public final fun defaultLight ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale { + public static final field $stable I + public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale$Companion; + public synthetic fun (JJJJJJJJJJJLkotlin/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 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 component7-0d7_KjU ()J + public final fun component8-0d7_KjU ()J + public final fun component9-0d7_KjU ()J + public final fun copy-KpyCeHw (JJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public static synthetic fun copy-KpyCeHw$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;JJJJJJJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public fun equals (Ljava/lang/Object;)Z + public final fun getS100-0d7_KjU ()J + public final fun getS150-0d7_KjU ()J + public final fun getS200-0d7_KjU ()J + public final fun getS300-0d7_KjU ()J + public final fun getS400-0d7_KjU ()J + public final fun getS50-0d7_KjU ()J + public final fun getS500-0d7_KjU ()J + public final fun getS600-0d7_KjU ()J + public final fun getS700-0d7_KjU ()J + public final fun getS800-0d7_KjU ()J + public final fun getS900-0d7_KjU ()J + public fun hashCode ()I + public final fun inverted ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public fun toString ()Ljava/lang/String; +} + +public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale$Companion { + public final fun defaultDark ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public final fun defaultLight ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public final fun from-8_81llA (J)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; +} + 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 (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-0d7_KjU ()J + public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; public final fun component10-0d7_KjU ()J public final fun component11-0d7_KjU ()J public final fun component12-0d7_KjU ()J @@ -6169,7 +6250,7 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color 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 component2 ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; public final fun component20-0d7_KjU ()J public final fun component21-0d7_KjU ()J public final fun component22-0d7_KjU ()J @@ -6215,38 +6296,12 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color public final fun component59-0d7_KjU ()J public final fun component6-0d7_KjU ()J public final fun component60-0d7_KjU ()J - public final fun component61-0d7_KjU ()J - public final fun component62-0d7_KjU ()J - public final fun component63-0d7_KjU ()J - public final fun component64-0d7_KjU ()J - public final fun component65-0d7_KjU ()J - public final fun component66-0d7_KjU ()J - public final fun component67-0d7_KjU ()J - public final fun component68-0d7_KjU ()J - public final fun component69-0d7_KjU ()J public final fun component7-0d7_KjU ()J - public final fun component70-0d7_KjU ()J - public final fun component71-0d7_KjU ()J - 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 component9-0d7_KjU ()J - public final fun copy-zl9OniE (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; - public static synthetic fun copy-zl9OniE$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public final fun copy-fYouhN8 (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public static synthetic fun copy-fYouhN8$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIILjava/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 @@ -6263,40 +6318,31 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color public final fun getAvatarPaletteText3-0d7_KjU ()J public final fun getAvatarPaletteText4-0d7_KjU ()J public final fun getAvatarPaletteText5-0d7_KjU ()J + public final fun getAvatarPresenceBorder-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 getBackgroundCoreElevation0-0d7_KjU ()J + public final fun getBackgroundCoreElevation1-0d7_KjU ()J + public final fun getBackgroundCoreElevation2-0d7_KjU ()J + public final fun getBackgroundCoreElevation3-0d7_KjU ()J + public final fun getBackgroundCoreElevation4-0d7_KjU ()J public final fun getBackgroundCoreHighlight-0d7_KjU ()J public final fun getBackgroundCoreInverse-0d7_KjU ()J public final fun getBackgroundCoreOnAccent-0d7_KjU ()J public final fun getBackgroundCoreOverlayDark-0d7_KjU ()J public final fun getBackgroundCoreOverlayLight-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 getBackgroundCoreSurfaceCard-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 getBackgroundUtilityDisabled-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 getBadgeTextOnAccent-0d7_KjU ()J + public final fun getBackgroundUtilitySelected-0d7_KjU ()J public final fun getBorderCoreDefault-0d7_KjU ()J public final fun getBorderCoreInverse-0d7_KjU ()J public final fun getBorderCoreOnAccent-0d7_KjU ()J - public final fun getBorderCoreOpacity10-0d7_KjU ()J - public final fun getBorderCoreOpacity25-0d7_KjU ()J + public final fun getBorderCoreOpacityStrong-0d7_KjU ()J + public final fun getBorderCoreOpacitySubtle-0d7_KjU ()J public final fun getBorderCoreStrong-0d7_KjU ()J public final fun getBorderCoreSubtle-0d7_KjU ()J public final fun getBorderUtilityActive-0d7_KjU ()J @@ -6305,102 +6351,8 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color public final fun getBorderUtilitySelected-0d7_KjU ()J public final fun getBorderUtilitySuccess-0d7_KjU ()J public final fun getBorderUtilityWarning-0d7_KjU ()J - public final fun getBrand100-0d7_KjU ()J - public final fun getBrand150-0d7_KjU ()J - public final fun getBrand200-0d7_KjU ()J - public final fun getBrand300-0d7_KjU ()J - public final fun getBrand400-0d7_KjU ()J - public final fun getBrand50-0d7_KjU ()J - public final fun getBrand500-0d7_KjU ()J - public final fun getBrand600-0d7_KjU ()J - public final fun getBrand700-0d7_KjU ()J - public final fun getBrand800-0d7_KjU ()J - public final fun getBrand900-0d7_KjU ()J - public final fun getButtonDestructiveBg-0d7_KjU ()J - public final fun getButtonDestructiveBorder-0d7_KjU ()J - public final fun getButtonDestructiveText-0d7_KjU ()J - public final fun getButtonDestructiveTextOnAccent-0d7_KjU ()J - public final fun getButtonPrimaryBg-0d7_KjU ()J - public final fun getButtonPrimaryBorder-0d7_KjU ()J - public final fun getButtonPrimaryText-0d7_KjU ()J - public final fun getButtonPrimaryTextOnAccent-0d7_KjU ()J - public final fun getButtonSecondaryBg-0d7_KjU ()J - public final fun getButtonSecondaryBorder-0d7_KjU ()J - public final fun getButtonSecondaryText-0d7_KjU ()J - public final fun getButtonSecondaryTextOnAccent-0d7_KjU ()J - public final fun getChatBgAttachmentIncoming-0d7_KjU ()J - public final fun getChatBgAttachmentOutgoing-0d7_KjU ()J - public final fun getChatBgIncoming-0d7_KjU ()J - public final fun getChatBgOutgoing-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 - public final fun getChatPollProgressTrackOutgoing-0d7_KjU ()J - public final fun getChatReplyIndicatorIncoming-0d7_KjU ()J - public final fun getChatReplyIndicatorOutgoing-0d7_KjU ()J - public final fun getChatTextIncoming-0d7_KjU ()J - 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 getChatTextTypingIndicator-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 getControlCheckboxBg-0d7_KjU ()J - public final fun getControlCheckboxBgSelected-0d7_KjU ()J - public final fun getControlCheckboxBorder-0d7_KjU ()J - public final fun getControlCheckboxIconSelected-0d7_KjU ()J - public final fun getControlPlayButtonBg-0d7_KjU ()J - public final fun getControlPlayButtonIcon-0d7_KjU ()J - public final fun getControlPlaybackThumbBgActive-0d7_KjU ()J - public final fun getControlPlaybackThumbBgDefault-0d7_KjU ()J - public final fun getControlPlaybackThumbBorderActive-0d7_KjU ()J - public final fun getControlPlaybackThumbBorderDefault-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 getControlRadioButtonIndicator-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 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 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 getBrand ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale; + public final fun getChrome ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale; public final fun getSkeletonLoadingBase-0d7_KjU ()J public final fun getSkeletonLoadingHighlight-0d7_KjU ()J public final fun getTextDisabled-0d7_KjU ()J @@ -6415,8 +6367,10 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color } 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 fun default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public static synthetic fun default$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public final fun defaultDark (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public static synthetic fun defaultDark$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; } public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Typography { 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 4aca1ad483d..a2ae3936b15 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 @@ -564,7 +564,7 @@ internal fun MediaAttachmentContentItem( shape = CircleShape, ) .background( - color = ChatTheme.colors.backgroundElevationElevation0, + color = ChatTheme.colors.backgroundCoreElevation0, shape = CircleShape, ) .padding(2.dp) 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 189efd6e781..21c89385f87 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 @@ -222,7 +222,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { @Composable private fun SetupEdgeToEdge() { val nightMode = isSystemInDarkTheme() - val systemBarsColor = ChatTheme.colors.backgroundElevationElevation1.toArgb() + val systemBarsColor = ChatTheme.colors.backgroundCoreElevation1.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 54242143c81..11373d61f10 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 @@ -79,7 +79,7 @@ internal fun MediaGalleryOptionsMenu( ModalBottomSheet( modifier = modifier, sheetState = rememberStandardBottomSheetState(initialValue = SheetValue.Expanded, skipHiddenState = false), - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, scrimColor = ChatTheme.colors.backgroundCoreScrim, onDismissRequest = onDismiss, ) { 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 e3e88a0ffbb..9e22ffc52a3 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 @@ -512,7 +512,7 @@ internal fun MediaGalleryPreviewHeader( onLeadingContentClick: () -> Unit, onTrailingContentClick: () -> Unit, modifier: Modifier = Modifier, - backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1, + backgroundColor: Color = ChatTheme.colors.backgroundCoreElevation1, contentColor: Color = ChatTheme.colors.textPrimary, config: MediaGalleryConfig = ChatTheme.config.mediaGallery, leadingContent: @Composable (Modifier) -> Unit = { @@ -651,7 +651,7 @@ internal fun MediaGalleryPreviewFooter( onLeadingContentClick: (Attachment) -> Unit, onTrailingContentClick: (Attachment) -> Unit, modifier: Modifier = Modifier, - backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1, + backgroundColor: Color = ChatTheme.colors.backgroundCoreElevation1, contentColor: Color = ChatTheme.colors.textPrimary, config: MediaGalleryConfig = ChatTheme.config.mediaGallery, topContent: @Composable (() -> Unit)? = null, 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 1def0ea1d13..601301a62b0 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 @@ -105,7 +105,7 @@ internal fun MediaGalleryPhotosMenu( .wrapContentHeight() .align(Alignment.BottomCenter), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, ) { Column(modifier = Modifier.fillMaxWidth()) { MediaGalleryPhotosMenuHeader(onDismiss) 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 49dceaa6bd3..3103c7fa1a0 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 @@ -196,7 +196,7 @@ internal fun ChannelMediaAttachmentsGrid( sheetMaxWidth = Dp.Unspecified, shape = RectangleShape, dragHandle = {}, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) { ChannelMediaAttachmentsPreviewScreen( items = items, 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 e6df26181e5..1e0c31b3afb 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 @@ -85,7 +85,7 @@ internal fun ChannelInfoMemberInfoModalSheet( ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = onDismiss, ) { val state by viewModel.state.collectAsStateWithLifecycle() @@ -239,7 +239,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.backgroundElevationElevation1), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreElevation1), ) { Column( horizontalAlignment = Alignment.CenterHorizontally, 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 a5bd7f75517..2b09a2a2db2 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 @@ -86,7 +86,7 @@ public fun ChannelListHeader( title: String = "", currentUser: User? = null, connectionState: ConnectionState, - color: Color = ChatTheme.colors.backgroundElevationElevation1, + color: Color = ChatTheme.colors.backgroundCoreElevation1, shape: Shape = RectangleShape, elevation: Dp = 0.dp, onAvatarClick: (User?) -> Unit = {}, 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 984b69f3e53..b908cb777ec 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 @@ -159,7 +159,7 @@ public fun ChannelItem( .semantics { contentDescription = description } .applyIf(isFocused) { border(2.dp, ChatTheme.colors.borderUtilitySelected, shape) } .clip(shape) - .applyIf(channelItem.isSelected) { background(ChatTheme.colors.backgroundCoreSelected, shape) } + .applyIf(channelItem.isSelected) { background(ChatTheme.colors.backgroundUtilitySelected, shape) } .combinedClickable( onClick = { onChannelClick(channel) }, onLongClick = { onChannelLongClick(channel) }, 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 3dd4463290e..3f2f8ff5397 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,7 +37,7 @@ public fun OnlineIndicator(modifier: Modifier = Modifier) { Box( modifier = modifier .size(12.dp) - .background(ChatTheme.colors.presenceBorder, CircleShape) + .background(ChatTheme.colors.avatarPresenceBorder, CircleShape) .padding(2.dp) .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 b35ee64d09c..c1de54a23d1 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,7 +55,7 @@ internal fun PullToRefreshBox( state = state, isRefreshing = isRefreshing, modifier = Modifier.align(Alignment.TopCenter), - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, color = ChatTheme.colors.accentPrimary, ) }, 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 606f68e53e9..8636587055a 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 @@ -101,6 +101,6 @@ internal fun SimpleDialog( }, titleContentColor = ChatTheme.colors.textPrimary, textContentColor = ChatTheme.colors.textPrimary, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) } 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 1d44e97a772..b1652f834a0 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 @@ -70,7 +70,7 @@ public fun SimpleMenu( interactionSource = null, ), shape = shape, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreElevation1), ) { Column { headerContent() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt index bfd56f77b28..1af5bb7a07d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt @@ -191,7 +191,7 @@ private fun SelectedIndicator( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_checkmark), contentDescription = null, - tint = ChatTheme.colors.controlRadioCheckIconSelected, + tint = ChatTheme.colors.controlRadioCheckIcon, ) } } 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 64ce794eda5..a2159cf75d9 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 @@ -49,8 +49,8 @@ internal fun Avatar( data = data, modifier = modifier .clip(CircleShape) - .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) } - .background(ChatTheme.colors.backgroundElevationElevation0, CircleShape), + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacitySubtle, CircleShape) } + .background(ChatTheme.colors.backgroundCoreElevation0, 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 b9225d6f58b..80717e82c93 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.borderCoreOpacity10, CircleShape) } + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacitySubtle, CircleShape) } .clip(CircleShape), ) @@ -219,7 +219,7 @@ private fun StackedGroupAvatar( foreground = colors.avatarTextPlaceholder, modifier = baseModifier .clip(CircleShape) - .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) } + .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacitySubtle, CircleShape) } .align(alignments[1]), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt index 6acd78c7f40..e3c02485bae 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt @@ -37,14 +37,14 @@ internal fun OnlineIndicator( val colors = ChatTheme.colors val color = when (isOnline) { - true -> colors.presenceBgOnline - false -> colors.presenceBgOffline + true -> colors.avatarPresenceBgOnline + false -> colors.avatarPresenceBgOffline } Box( modifier .size(dimensions.indicatorSize) - .border(dimensions.borderWidth, colors.presenceBorder, CircleShape) + .border(dimensions.borderWidth, colors.avatarPresenceBorder, CircleShape) .padding(dimensions.borderWidth) .background(color, CircleShape), ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/button/StreamButtonStyle.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/button/StreamButtonStyle.kt index 1cb3777429f..65849443895 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/button/StreamButtonStyle.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/button/StreamButtonStyle.kt @@ -51,7 +51,7 @@ internal object StreamButtonStyleDefaults { containerColor = colors.buttonPrimaryBg, contentColor = colors.buttonPrimaryTextOnAccent, borderColor = null, - disabledContainerColor = colors.backgroundCoreDisabled, + disabledContainerColor = colors.backgroundUtilityDisabled, disabledContentColor = colors.textDisabled, disabledBorderColor = null, ) @@ -90,7 +90,7 @@ internal object StreamButtonStyleDefaults { containerColor = colors.buttonSecondaryBg, contentColor = colors.buttonSecondaryTextOnAccent, borderColor = null, - disabledContainerColor = colors.backgroundCoreDisabled, + disabledContainerColor = colors.backgroundUtilityDisabled, disabledContentColor = colors.textDisabled, disabledBorderColor = null, ) @@ -129,7 +129,7 @@ internal object StreamButtonStyleDefaults { containerColor = colors.buttonDestructiveBg, contentColor = colors.buttonDestructiveTextOnAccent, borderColor = null, - disabledContainerColor = colors.backgroundCoreDisabled, + disabledContainerColor = colors.backgroundUtilityDisabled, disabledContentColor = colors.textDisabled, disabledBorderColor = null, ) 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 5f25e73402e..bcca1843297 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 @@ -56,7 +56,7 @@ internal fun ContextualMenu( Surface( modifier = modifier, shape = RoundedCornerShape(StreamTokens.radiusMd), - color = colors.backgroundElevationElevation2, + color = colors.backgroundCoreElevation2, shadowElevation = StreamTokens.elevation3, border = BorderStroke(StreamTokens.borderStrokeSubtle, colors.borderCoreSubtle), ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt index caf99c9da01..f9f0056a7fe 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt @@ -75,7 +75,7 @@ private fun MediaBadge( modifier = modifier .background( shape = MediaBadgeShape, - color = ChatTheme.colors.accentBlack, + color = ChatTheme.colors.badgeBgInverse, ) .padding( horizontal = StreamTokens.spacingXs, @@ -87,7 +87,7 @@ private fun MediaBadge( Icon( painter = painterResource(iconRes), contentDescription = null, - tint = ChatTheme.colors.textOnAccent, + tint = ChatTheme.colors.textInverse, ) Text( text = if (compact) { @@ -96,7 +96,7 @@ private fun MediaBadge( durationInSeconds.toPreciseDuration() }, style = ChatTheme.typography.numericMedium, - color = ChatTheme.colors.textOnAccent, + color = ChatTheme.colors.textInverse, maxLines = 1, overflow = TextOverflow.Ellipsis, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/RadioControls.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/RadioControls.kt index f4b2c54c150..2fd5b3a26b9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/RadioControls.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/RadioControls.kt @@ -76,7 +76,7 @@ internal fun RadioCheck( Icon( modifier = Modifier.size(12.dp), painter = painterResource(R.drawable.stream_compose_ic_checkmark), - tint = ChatTheme.colors.controlRadioCheckIconSelected, + tint = ChatTheme.colors.controlRadioCheckIcon, contentDescription = null, ) } @@ -100,7 +100,7 @@ private fun RadioControlBase( !checked && enabled -> border(1.dp, borderColor, CircleShape) !checked -> border(1.dp, colors.borderUtilityDisabled, CircleShape) enabled -> background(colors.controlRadioCheckBgSelected, CircleShape) - else -> background(colors.backgroundCoreDisabled, CircleShape) + else -> background(colors.backgroundUtilityDisabled, CircleShape) } } .ifNotNull(onCheckedChange) { onChange -> 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 778f4ff3475..a9d4c3875e6 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 @@ -156,7 +156,7 @@ private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamDesig modifier = Modifier .size(width = 40.dp, height = 40.dp) .clip(shape) - .border(1.dp, colors.borderCoreOpacity10, shape) + .border(1.dp, colors.borderCoreOpacitySubtle, 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/MessageInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInput.kt index 8cfa768726b..c1770da2380 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInput.kt @@ -109,7 +109,7 @@ public fun MessageInput( }, ) .background( - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, shape = MessageInputShape, ) .minimumInteractiveComponentSize() 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 bf96f1a5dcd..f8afa71bfb5 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 @@ -76,7 +76,7 @@ public fun ClusteredMessageReactions( testTag = "Stream_MessageReaction" contentDescription = description } - .background(colors.backgroundElevationElevation1, CircleShape) + .background(colors.backgroundCoreElevation1, CircleShape) .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape) .ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) } .padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs), @@ -179,7 +179,7 @@ private fun ReactionChip( Row( modifier = Modifier .fillMaxHeight() - .background(colors.backgroundElevationElevation1, CircleShape) + .background(colors.backgroundCoreElevation1, CircleShape) .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape) .ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) } .padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs), 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 4ca898ae6f5..05c162dcb67 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 @@ -400,7 +400,7 @@ private fun NewOptionDialog( Text(stringResource(R.string.stream_compose_dismiss)) } }, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) } @@ -530,7 +530,7 @@ private fun EndPollConfirmationDialog( }, titleContentColor = ChatTheme.colors.textPrimary, textContentColor = ChatTheme.colors.textPrimary, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) } 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 4adb066c583..bf60df903f6 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 @@ -71,7 +71,7 @@ internal fun ScrollToBottomButton( onClick = onClick, shape = CircleShape, colors = IconButtonDefaults.filledIconButtonColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, contentColor = ChatTheme.colors.textPrimary, ), ) { 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 480a05f5a6f..6d6361857f5 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 @@ -317,7 +317,7 @@ internal fun AddAnswerDialog( Text(stringResource(R.string.stream_compose_dismiss)) } }, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) } 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 2c7d42df016..e7bc5305a9c 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 @@ -99,7 +99,7 @@ internal fun PollOptionVotesDialog( sheetMaxWidth = Dp.Unspecified, shape = RoundedCornerShape(0.dp), dragHandle = {}, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, ) { ViewModelStore { val viewModel = viewModel { 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 358af2cc98a..8a8642673d6 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 @@ -51,7 +51,7 @@ internal fun PollVoteItem( params = UserAvatarParams( modifier = Modifier .size(AvatarSize.Medium + borderSize * 2) - .background(ChatTheme.colors.borderCoreOpacity10, CircleShape) + .background(ChatTheme.colors.borderCoreOpacitySubtle, CircleShape) .padding(borderSize), user = user, showIndicator = false, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactions/ReactionToggle.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactions/ReactionToggle.kt index 7dba7406389..bbab16779f3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactions/ReactionToggle.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactions/ReactionToggle.kt @@ -66,7 +66,7 @@ internal fun ReactionToggle( size = size.toIconSize(), modifier = modifier .applyIf(checked) { - background(ChatTheme.colors.backgroundCoreSelected, CircleShape) + background(ChatTheme.colors.backgroundUtilitySelected, CircleShape) } .ifNotNull(onCheckedChange) { onChange -> clip(CircleShape).clickable { onChange(!checked) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/MessageMenuHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/MessageMenuHeader.kt index 0edb802f1bc..2e497c7c448 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/MessageMenuHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/MessageMenuHeader.kt @@ -70,7 +70,7 @@ public fun MessageMenuHeader( Row( modifier = modifier - .background(colors.backgroundElevationElevation2, CircleShape) + .background(colors.backgroundCoreElevation2, CircleShape) .border(1.dp, colors.borderCoreDefault, CircleShape) .padding(StreamTokens.spacing2xs), horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacing3xs), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionCountRow.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionCountRow.kt index 42962c57e93..8df87706aa0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionCountRow.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionCountRow.kt @@ -80,7 +80,7 @@ internal fun ReactionCountRow( Icon( painter = painterResource(R.drawable.stream_compose_ic_reaction_add), contentDescription = stringResource(R.string.stream_compose_reactions_add), - tint = ChatTheme.colors.chipText, + tint = ChatTheme.colors.controlChipText, ) }, ) @@ -115,8 +115,8 @@ private fun ReactionChip( val colors = ChatTheme.colors Row( modifier = Modifier - .applyIf(checked) { background(colors.backgroundCoreSelected, CircleShape) } - .border(1.dp, color = colors.borderCoreDefault, shape = CircleShape) + .applyIf(checked) { background(colors.backgroundUtilitySelected, CircleShape) } + .border(1.dp, color = colors.controlChipBorder, shape = CircleShape) .clip(CircleShape) .clickable(onClick = onClick) .defaultMinSize(minWidth = 64.dp, minHeight = 32.dp) @@ -129,7 +129,7 @@ private fun ReactionChip( Text( text = it, style = ChatTheme.typography.bodyEmphasis, - color = colors.chipText, + color = colors.controlChipText, ) } }, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionsMenu.kt index a0da11dfb4d..178fad24f18 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionsMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionsMenu.kt @@ -96,7 +96,7 @@ public fun SelectedReactionsMenu( modifier = modifier, sheetState = rememberModalBottomSheetState(), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, scrimColor = ChatTheme.colors.backgroundCoreScrim, onDismissRequest = onDismiss, dragHandle = { BottomSheetDefaults.DragHandle() }, @@ -210,7 +210,7 @@ private fun ReactionsMenuList( horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundElevationElevation1), + .background(ChatTheme.colors.backgroundCoreElevation1), ) { item(key = "Stream_header") { val totalCount = reactionGroups.sumOf(MessageReactionItemState::count) 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 230aa3c8808..043de11552b 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 @@ -95,7 +95,7 @@ public fun AttachmentPicker( Surface( modifier = modifier.testTag("Stream_AttachmentsPicker"), - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, ) { if (ChatTheme.config.attachmentPicker.useSystemPicker) { ChatTheme.componentFactory.AttachmentSystemPicker( 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 84ba9c55cae..42f5ecf6329 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 @@ -253,7 +253,7 @@ private fun CameraPermissionDialog( Dialog(onDismissRequest = onDismiss) { Card( modifier = Modifier.height(350.dp), - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreElevation1), ) { RequiredCameraPermission() } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentTypePicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentTypePicker.kt index 7d75dd6f2df..e4252939158 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentTypePicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentTypePicker.kt @@ -139,7 +139,7 @@ private fun AttachmentPickerToggleButton( colors = IconButtonDefaults.filledIconToggleButtonColors( containerColor = Color.Transparent, contentColor = ChatTheme.colors.buttonSecondaryText, - checkedContainerColor = ChatTheme.colors.backgroundCoreSelected, + checkedContainerColor = ChatTheme.colors.backgroundUtilitySelected, checkedContentColor = ChatTheme.colors.buttonSecondaryText, ), ) { 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 338aec91cd2..ae5f285867e 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 @@ -131,7 +131,7 @@ private fun ReorderableScope.PollOptionRow( onRemove: () -> Unit, ) { val colors = ChatTheme.colors - val borderColor = if (item.pollOptionError == null) colors.inputBorderDefault else colors.accentError + val borderColor = if (item.pollOptionError == null) colors.borderCoreDefault else colors.accentError Row( modifier = Modifier .fillMaxWidth() @@ -195,7 +195,7 @@ private fun AddPollOptionButton(onClick: () -> Unit) { .defaultMinSize(minHeight = PollInputMinHeight) .border( width = 1.dp, - color = colors.inputBorderDefault, + color = colors.borderCoreDefault, shape = PollInputShape, ) .clip(PollInputShape) 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 395d28d05fd..6d17104f8c0 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 @@ -68,7 +68,7 @@ public fun PollQuestionInput( .fillMaxWidth() .border( width = 1.dp, - color = colors.inputBorderDefault, + color = colors.borderCoreDefault, shape = PollInputShape, ) .clip(shape = PollInputShape) 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 d8705b7293a..f07c76a344e 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 @@ -269,7 +269,7 @@ private fun PollSwitch(enabled: Boolean, onCheckedChange: (Boolean) -> Unit) { color = if (enabled) { StreamPrimitiveColors.baseWhite } else { - ChatTheme.colors.backgroundCoreDisabled + ChatTheme.colors.backgroundUtilityDisabled }, ), ) 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 01acfb986b6..245bb99a7d4 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 @@ -312,7 +312,7 @@ private fun MessageComposerSurface( Surface( modifier = modifier, shadowElevation = 24.dp, - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, ) { Column(modifier = Modifier.animateContentSize(alignment = Alignment.BottomCenter)) { content() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingButton.kt index 06e10f590f9..1905b053b9b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingButton.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingButton.kt @@ -509,7 +509,7 @@ internal fun MessageComposerAudioRecordingFloatingLockIcon( scaleY = entranceScale } .shadow(4.dp, LockButtonShape) - .background(ChatTheme.colors.backgroundElevationElevation1, LockButtonShape) + .background(ChatTheme.colors.backgroundCoreElevation1, LockButtonShape) .border(1.dp, ChatTheme.colors.borderCoreDefault, LockButtonShape) .padding(10.dp), horizontalAlignment = Alignment.CenterHorizontally, 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 3deea9f1a4d..406223b13d9 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 @@ -344,7 +344,7 @@ private fun MessageComposerAudioRecordingControlsContent( testTag = "Stream_ComposerConfirmAudioRecordingButton", circleModifier = Modifier.background(ChatTheme.colors.buttonPrimaryBg, CircleShape), iconRes = R.drawable.stream_compose_ic_checkmark, - iconTint = ChatTheme.colors.textOnAccent, + iconTint = ChatTheme.colors.buttonPrimaryTextOnAccent, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterBottomContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterBottomContent.kt index c6186847fcf..5fc3bbddc83 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterBottomContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterBottomContent.kt @@ -120,7 +120,7 @@ private fun Checkbox( Icon( painter = painterResource(id = R.drawable.stream_compose_ic_checkmark), contentDescription = null, - tint = ChatTheme.colors.controlRadioCheckIconSelected, + tint = ChatTheme.colors.controlRadioCheckIcon, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputTrailingContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputTrailingContent.kt index 4d14eba241a..528d2102ec4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputTrailingContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputTrailingContent.kt @@ -125,7 +125,7 @@ internal fun MessageComposerSendButton( .testTag("Stream_ComposerSendButton"), colors = IconButtonDefaults.filledIconButtonColors( containerColor = ChatTheme.colors.accentPrimary, - contentColor = ChatTheme.colors.textOnAccent, + contentColor = ChatTheme.colors.buttonPrimaryTextOnAccent, ), onClick = onClick, ) { @@ -149,8 +149,8 @@ internal fun MessageComposerSaveButton( .testTag("Stream_ComposerSaveButton"), colors = IconButtonDefaults.filledIconButtonColors( containerColor = ChatTheme.colors.accentPrimary, - contentColor = ChatTheme.colors.textOnAccent, - disabledContainerColor = ChatTheme.colors.backgroundCoreDisabled, + contentColor = ChatTheme.colors.buttonPrimaryTextOnAccent, + disabledContainerColor = ChatTheme.colors.backgroundUtilityDisabled, disabledContentColor = ChatTheme.colors.textDisabled, ), onClick = onClick, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerLeadingContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerLeadingContent.kt index 0aa63d59792..26fe0eb3880 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerLeadingContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerLeadingContent.kt @@ -84,8 +84,8 @@ internal fun MessageComposerLeadingContent( .size(48.dp) .testTag("Stream_ComposerAttachmentsButton"), colors = IconButtonDefaults.filledIconButtonColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, - disabledContainerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, + disabledContainerColor = ChatTheme.colors.backgroundCoreElevation1, contentColor = ChatTheme.colors.buttonSecondaryText, disabledContentColor = ChatTheme.colors.textDisabled, ), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/suggestions/SuggestionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/suggestions/SuggestionsMenu.kt index 43bdfbf84be..08c6cdbf9ed 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/suggestions/SuggestionsMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/suggestions/SuggestionsMenu.kt @@ -53,7 +53,7 @@ internal fun SuggestionsMenu( .heightIn(max = contentMaxHeight), elevation = CardDefaults.cardElevation(defaultElevation = StreamTokens.elevation3), shape = SuggestionsShape, - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreElevation1), ) { content() } 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 13707f33f08..2b78438d2c7 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 @@ -91,7 +91,7 @@ public fun MessageListHeader( modifier: Modifier = Modifier, typingUsers: List = emptyList(), messageMode: MessageMode = MessageMode.Normal, - color: Color = ChatTheme.colors.backgroundElevationElevation1, + color: Color = ChatTheme.colors.backgroundCoreElevation1, shape: Shape = RectangleShape, elevation: Dp = StreamTokens.elevation3, onBackPressed: () -> Unit = {}, 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 b4c41422dfc..e8e5dd3c96c 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 @@ -2220,7 +2220,7 @@ public interface ChatComponentFactory { state = params.pullToRefreshState, isRefreshing = params.isRefreshing, modifier = params.modifier.align(Alignment.TopCenter), - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, color = ChatTheme.colors.accentPrimary, ) } @@ -2590,7 +2590,7 @@ public interface ChatComponentFactory { }, navigationIcon = { ChannelInfoNavigationIcon(onClick = params.onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, titleContentColor = ChatTheme.colors.textPrimary, ), ) @@ -2704,7 +2704,7 @@ public interface ChatComponentFactory { }, navigationIcon = { ChannelInfoNavigationIcon(onClick = params.onNavigationIconClick) }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, titleContentColor = ChatTheme.colors.textPrimary, ), ) @@ -2832,7 +2832,7 @@ public interface ChatComponentFactory { } }, colors = TopAppBarDefaults.topAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, titleContentColor = ChatTheme.colors.textPrimary, ), ) @@ -2877,7 +2877,7 @@ public interface ChatComponentFactory { ) { Column( modifier = Modifier - .background(ChatTheme.colors.backgroundElevationElevation1) + .background(ChatTheme.colors.backgroundCoreElevation1) .topBorder(ChatTheme.colors.borderCoreDefault), ) { params.topContent?.invoke() @@ -2887,7 +2887,7 @@ public interface ChatComponentFactory { actions = { params.trailingContent() }, windowInsets = BottomAppBarDefaults.windowInsets, colors = TopAppBarDefaults.centerAlignedTopAppBarColors( - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, 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/StreamDesign.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt index 4d7265c582d..56bda46bec9 100644 --- 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 @@ -14,18 +14,25 @@ * limitations under the License. */ +@file:Suppress("MagicNumber", "LongMethod") + package io.getstream.chat.android.compose.ui.theme import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.lerp import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontFamily +import io.getstream.chat.android.compose.ui.theme.StreamDesign.Colors.Companion.default +import io.getstream.chat.android.compose.ui.theme.StreamDesign.Colors.Companion.defaultDark /** * The Stream Chat Design System namespace. * * Provides all design tokens for theming Chat SDK components: - * - [Colors] -- semantic color tokens + * - [ColorScale] -- the brand (accent) color ramp + * - [ChromeScale] -- the chrome (neutral gray) color ramp + * - [Colors] -- semantic color tokens derived from the scales above * - [Typography] -- text styles * * Use via [ChatTheme]: @@ -39,104 +46,123 @@ import androidx.compose.ui.text.font.FontFamily 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. + * Semantic color tokens for theming Chat SDK components. + * Customize via [default] / [defaultDark] factory parameters or [copy]. + * + * Parameters are organized by domain: + * scales → accent → text → background → border → avatar → skeleton. * - * @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 backgroundCoreOnAccent Used for surfaces that must remain white across themes - * (e.g., media controls over video). - * @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 borderCoreInverse Used for borders on dark/inverse 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 textInverse Used for text displayed on dark/inverse 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 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 controlPlaybackThumbBgDefault Default background for the playback thumb control. - * @param skeletonLoadingHighlight Shimmer highlight color for skeleton loading gradients. - * @param accentWarning Used for warning or caution states. - * @param backgroundCoreSurfaceCard Used for card surface backgrounds (e.g. link previews, attachments). - * @param backgroundCoreOverlayLight Used for light overlay backgrounds. - * @param backgroundUtilityDisabled Used for disabled utility backgrounds. - * @param textLink Used for hyperlinks and inline action text. - * @param borderUtilityActive Used for active/selected state border. - * @param borderUtilityError Used for error state borders. - * @param borderUtilityWarning Used for warning state borders. - * @param borderUtilitySuccess Used for success state borders. - * @param badgeBgInverse Used for inverse badge background. - * @param chipBg Used for chip background color. + * @param brand The brand (accent) color scale. See [ColorScale]. + * @param chrome The chrome (neutral gray) color scale. See [ChromeScale]. + * @param accentPrimary Main brand accent for interactive elements. + * @param accentError Destructive actions and error states. + * @param accentSuccess Success states and positive actions. + * @param accentWarning Warning or caution messages. + * @param accentNeutral Neutral accent for low-priority badges. + * @param textPrimary Main text color. + * @param textSecondary Secondary metadata text. + * @param textTertiary Lowest priority text. + * @param textDisabled Disabled text. + * @param textOnAccent Text on dark or accent backgrounds. + * @param textInverse Text on inverse backgrounds. + * @param textLink Hyperlinks and inline actions. + * @param backgroundCoreElevation0 Flat surfaces. + * @param backgroundCoreElevation1 Slightly elevated surfaces. + * @param backgroundCoreElevation2 Card-like elements. + * @param backgroundCoreElevation3 Popovers. + * @param backgroundCoreElevation4 Dialogs, modals. + * @param backgroundCoreSurface Standard section background. + * @param backgroundCoreSurfaceSubtle Very light section background. + * @param backgroundCoreSurfaceStrong Stronger section background. + * @param backgroundCoreSurfaceCard Card surface backgrounds (e.g. link previews, attachments). + * @param backgroundCoreInverse Inverse background for elevated, transient, or high-attention UI + * surfaces that sit on top of the default app background. + * @param backgroundCoreOnAccent Surfaces that must remain white across themes + * (e.g., media controls over video). Do not use for general UI surfaces. + * @param backgroundCoreScrim Dimmed overlay for modals. + * @param backgroundCoreOverlayDark Selected overlay (dark variant). + * @param backgroundCoreOverlayLight Selected overlay (light variant). + * @param backgroundCoreHighlight Highlight background (e.g. message focus/pin). + * @param backgroundCoreApp Global application background. + * @param backgroundUtilitySelected Selected overlay. + * @param backgroundUtilityDisabled Disabled backgrounds. + * @param borderCoreDefault Standard surface border. + * @param borderCoreStrong Stronger surface border. + * @param borderCoreSubtle Very light separators. + * @param borderCoreOpacitySubtle Image frame border treatment (subtle). + * @param borderCoreOpacityStrong Image frame border treatment (strong). + * @param borderCoreOnAccent Borders on accent backgrounds. + * @param borderCoreInverse Used on dark backgrounds. + * @param borderUtilitySelected Selected overlay border. + * @param borderUtilityActive Focus ring or focus border. + * @param borderUtilityDisabled Optional disabled border for inputs, buttons, or chips. + * @param borderUtilityError Error state border. + * @param borderUtilityWarning Warning state border. + * @param borderUtilitySuccess Success state border. + * @param avatarBgPlaceholder Avatar placeholder background. + * @param avatarPaletteBg1 Avatar background (slot 1). + * @param avatarPaletteBg2 Avatar background (slot 2). + * @param avatarPaletteBg3 Avatar background (slot 3). + * @param avatarPaletteBg4 Avatar background (slot 4). + * @param avatarPaletteBg5 Avatar background (slot 5). + * @param avatarPaletteText1 Avatar text (slot 1). + * @param avatarPaletteText2 Avatar text (slot 2). + * @param avatarPaletteText3 Avatar text (slot 3). + * @param avatarPaletteText4 Avatar text (slot 4). + * @param avatarPaletteText5 Avatar text (slot 5). + * @param avatarTextPlaceholder Avatar placeholder text. + * @param avatarPresenceBorder The thin outline around the presence dot. Matches the local + * surface behind the avatar; in high-contrast it uses the base surface. + * @param skeletonLoadingBase Base color for the skeleton loading gradient (placeholder surfaces). + * @param skeletonLoadingHighlight Highlight for the skeleton loading gradient (moving shimmer). */ @Immutable public data class Colors( - public val accentBlack: Color, + public val brand: ColorScale, + public val chrome: ChromeScale, + public val accentPrimary: Color, public val accentError: Color, - public val accentNeutral: Color, public val accentSuccess: Color, - public val accentPrimary: Color, + public val accentWarning: Color, + public val accentNeutral: Color, + public val textPrimary: Color, + public val textSecondary: Color, + public val textTertiary: Color, + public val textDisabled: Color, + public val textOnAccent: Color, + public val textInverse: Color, + public val textLink: Color, + public val backgroundCoreElevation0: Color, + public val backgroundCoreElevation1: Color, + public val backgroundCoreElevation2: Color, + public val backgroundCoreElevation3: Color, + public val backgroundCoreElevation4: Color, + public val backgroundCoreSurface: Color, + public val backgroundCoreSurfaceSubtle: Color, + public val backgroundCoreSurfaceStrong: Color, + public val backgroundCoreSurfaceCard: Color, + public val backgroundCoreInverse: Color, + public val backgroundCoreOnAccent: Color, + public val backgroundCoreScrim: Color, + public val backgroundCoreOverlayDark: Color, + public val backgroundCoreOverlayLight: Color, + public val backgroundCoreHighlight: Color, + public val backgroundCoreApp: Color, + public val backgroundUtilitySelected: Color, + public val backgroundUtilityDisabled: Color, + public val borderCoreDefault: Color, + public val borderCoreStrong: Color, + public val borderCoreSubtle: Color, + public val borderCoreOpacitySubtle: Color, + public val borderCoreOpacityStrong: Color, + public val borderCoreOnAccent: Color, + public val borderCoreInverse: Color, + public val borderUtilitySelected: Color, + public val borderUtilityActive: Color, + public val borderUtilityDisabled: Color, + public val borderUtilityError: Color, + public val borderUtilityWarning: Color, + public val borderUtilitySuccess: Color, public val avatarBgPlaceholder: Color, public val avatarPaletteBg1: Color, public val avatarPaletteBg2: Color, @@ -149,498 +175,666 @@ public object StreamDesign { 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 backgroundCoreOnAccent: 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 borderCoreInverse: 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 textInverse: Color, - public val textPrimary: Color, - public val textSecondary: Color, - public val textTertiary: Color, - public val textDisabled: Color, - public val backgroundCoreSelected: Color = textPrimary.copy(alpha = .2f), - 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 controlRemoveBg: Color, - public val controlRemoveIcon: Color, - public val controlPlaybackThumbBgDefault: Color, - public val presenceBorder: Color, - public val backgroundCoreScrim: Color, - public val backgroundCoreOverlayDark: Color, - public val backgroundCoreHighlight: Color, + public val avatarPresenceBorder: Color, + public val skeletonLoadingBase: Color, public val skeletonLoadingHighlight: Color, - public val accentWarning: Color = Color.Unspecified, - public val backgroundCoreSurfaceCard: Color = backgroundCoreSurfaceSubtle, - public val backgroundCoreOverlayLight: Color = Color.Unspecified, - public val backgroundUtilityDisabled: Color = backgroundCoreDisabled, - public val textLink: Color = accentPrimary, - public val borderUtilityActive: Color = borderUtilitySelected, - public val borderUtilityError: Color = accentError, - public val borderUtilityWarning: Color = Color.Unspecified, - public val borderUtilitySuccess: Color = accentSuccess, - public val badgeBgInverse: Color = Color.Unspecified, - public val chipBg: Color = brand100, ) { + /** Default badge background. */ + internal val badgeBgDefault: Color = backgroundCoreElevation3 + /** Badge background for error states. */ - public val badgeBgError: Color = accentError + internal val badgeBgError: Color = accentError + + /** Inverse badge background. */ + internal val badgeBgInverse: Color = chrome.s1000 /** Badge background for neutral states. */ - public val badgeBgNeutral: Color = accentNeutral + internal val badgeBgNeutral: Color = accentNeutral + + /** Badge background when displayed as an overlay. */ + internal val badgeBgOverlay: Color = StreamPrimitiveColors.baseBlack.copy(alpha = .75f) /** Badge background for primary brand states. */ - public val badgeBgPrimary: Color = accentPrimary + internal val badgeBgPrimary: Color = accentPrimary /** Badge outer border. */ - public val badgeBorder: Color = borderCoreInverse + internal val badgeBorder: Color = borderCoreInverse - /** Typing indicator text color. */ - public val chatTextTypingIndicator: Color = textPrimary + /** Badge text color. */ + internal val badgeText: Color = textPrimary - /** Border for incoming message bubbles. */ - public val chatBorderIncoming: Color = borderCoreSubtle + /** Badge text color on accent backgrounds. */ + internal val badgeTextOnAccent: Color = textOnAccent - /** Border for outgoing message bubbles. */ - public val chatBorderOutgoing: Color = brand100 + /** Destructive button background. */ + internal val buttonDestructiveBg: Color = accentError - /** Reaction text color in chat. */ - public val chatTextReaction: Color = textSecondary + /** Destructive button border. */ + internal val buttonDestructiveBorder: Color = accentError - /** Read receipt text color. */ - public val chatTextRead: Color = accentPrimary + /** Destructive button text. */ + internal val buttonDestructiveText: Color = accentError - /** Username text color in chat. */ - public val chatTextUsername: Color = textSecondary + /** Destructive button text on accent backgrounds. */ + internal val buttonDestructiveTextOnAccent: Color = textOnAccent - /** Thread connector line for incoming messages. */ - public val chatThreadConnectorIncoming: Color = borderCoreDefault + /** Primary button background. */ + internal val buttonPrimaryBg: Color = accentPrimary - /** Thread connector line for outgoing messages. */ - public val chatThreadConnectorOutgoing: Color = brand150 + /** Primary button border. */ + internal val buttonPrimaryBorder: Color = brand.s200 - /** Composer background color. */ - public val composerBg: Color = backgroundElevationElevation1 + /** Primary button text. */ + internal val buttonPrimaryText: Color = textLink - /** Playback toggle border color. */ - public val controlPlaybackToggleBorder: Color = borderCoreDefault + /** Primary button text on accent backgrounds. */ + internal val buttonPrimaryTextOnAccent: Color = textOnAccent - /** Playback toggle text color. */ - public val controlPlaybackToggleText: Color = textPrimary + /** Secondary button background. */ + internal val buttonSecondaryBg: Color = backgroundCoreSurface - /** Progress bar fill color. */ - public val controlProgressBarFill: Color = accentNeutral + /** Secondary button border. */ + internal val buttonSecondaryBorder: Color = borderCoreDefault - /** Progress bar track color. */ - public val controlProgressBarTrack: Color = backgroundCoreSurfaceStrong + /** Secondary button text. */ + internal val buttonSecondaryText: Color = textPrimary - /** Radio/check background (unselected). */ - public val controlRadioCheckBg: Color = Color.Transparent + /** Secondary button text on accent backgrounds. */ + internal val buttonSecondaryTextOnAccent: Color = textPrimary - /** Selected radio/check background. */ - public val controlRadioCheckBgSelected: Color = accentPrimary + /** Incoming bubble background. */ + internal val chatBgIncoming: Color = backgroundCoreSurface - /** Selected radio/check icon. */ - public val controlRadioCheckIconSelected: Color = textOnAccent + /** Outgoing message bubble background. */ + internal val chatBgOutgoing: Color = brand.s100 - /** Indicator dot inside a selected radio button. */ - public val controlRadioButtonIndicator: Color = textOnAccent + /** Attachment card in incoming bubble. */ + internal val chatBgAttachmentIncoming: Color = backgroundCoreSurfaceStrong - /** Toggle switch track background. */ - public val controlToggleSwitchBg: Color = accentNeutral + /** Attachment card in outgoing bubble. */ + internal val chatBgAttachmentOutgoing: Color = brand.s150 - /** Toggle switch track background when disabled. */ - public val controlToggleSwitchBgDisabled: Color = backgroundUtilityDisabled + /** Border for incoming message bubbles. */ + internal val chatBorderIncoming: Color = borderCoreSubtle - /** Toggle switch track background when selected. */ - public val controlToggleSwitchBgSelected: Color = accentPrimary + /** Border for outgoing message bubbles. */ + internal val chatBorderOutgoing: Color = brand.s100 - /** Toggle switch knob color. */ - public val controlToggleSwitchKnob: Color = backgroundElevationElevation4 + /** Border on incoming message bubbles. */ + internal val chatBorderOnChatIncoming: Color = borderCoreStrong - /** Input field default border. */ - public val inputBorderDefault: Color = borderCoreDefault + /** Border on outgoing message bubbles. */ + internal val chatBorderOnChatOutgoing: Color = brand.s300 - /** Input field border on hover. */ - public val inputBorderHover: Color = borderCoreStrong + /** Outgoing poll progress fill. */ + internal val chatPollProgressFillOutgoing: Color = accentPrimary - /** Input field border when selected/focused. */ - public val inputBorderSelected: Color = borderUtilitySelected + /** Incoming poll progress fill. */ + internal val chatPollProgressFillIncoming: Color = accentNeutral - /** Send icon color. */ - public val inputSendIcon: Color = accentPrimary + /** Incoming poll progress track. */ + internal val chatPollProgressTrackIncoming: Color = backgroundCoreSurfaceStrong - /** Send icon color when disabled. */ - public val inputSendIconDisabled: Color = textDisabled + /** Outgoing poll progress track. */ + internal val chatPollProgressTrackOutgoing: Color = brand.s200 - /** Input field default text color. */ - public val inputTextDefault: Color = textPrimary + /** Reply indicator shading for incoming messages. */ + internal val chatReplyIndicatorIncoming: Color = chrome.s400 - /** Input field disabled text color. */ - public val inputTextDisabled: Color = textDisabled + /** Reply indicator shading for outgoing messages. */ + internal val chatReplyIndicatorOutgoing: Color = brand.s400 - /** Input field icon color. */ - public val inputTextIcon: Color = textTertiary + /** Incoming message text color. */ + internal val chatTextIncoming: Color = textPrimary - /** Input field placeholder text color. */ - public val inputTextPlaceholder: Color = textTertiary + /** Outgoing message text color. */ + internal val chatTextOutgoing: Color = brand.s900 - /** Reaction background color. */ - public val reactionBg: Color = backgroundElevationElevation3 + /** Links inside message bubbles. */ + internal val chatTextLink: Color = textLink - /** Reaction border color. */ - public val reactionBorder: Color = borderCoreDefault + /** Mention styling in chat messages. */ + internal val chatTextMention: Color = chatTextLink - /** Reaction emoji color. */ - public val reactionEmoji: Color = textPrimary + /** Reaction count text in chat. */ + internal val chatTextReaction: Color = textSecondary - /** Reaction text color. */ - public val reactionText: Color = textPrimary + /** Read receipt text color. */ + internal val chatTextRead: Color = accentPrimary - /** Skeleton loading gradient base color. */ - public val skeletonLoadingBase: Color = Color.Transparent + /** System messages like date separators. */ + internal val chatTextSystem: Color = textSecondary - /** Default app background color. */ - public val backgroundCoreApp: Color = backgroundElevationElevation0 + /** Time labels in chat messages. */ + internal val chatTextTimestamp: Color = textTertiary - /** Default badge background. */ - public val badgeBgDefault: Color = backgroundElevationElevation3 + /** Typing indicator chip text. */ + internal val chatTextTypingIndicator: Color = textPrimary - /** Badge text color. */ - public val badgeText: Color = textPrimary + /** Username label in chat. */ + internal val chatTextUsername: Color = textSecondary - /** Badge text color on accent backgrounds. */ - public val badgeTextOnAccent: Color = textOnAccent + /** Thread connector line for incoming messages. */ + internal val chatThreadConnectorIncoming: Color = borderCoreDefault - /** Destructive button background. */ - public val buttonDestructiveBg: Color = accentError + /** Thread connector line for outgoing messages. */ + internal val chatThreadConnectorOutgoing: Color = brand.s150 - /** Destructive button border. */ - public val buttonDestructiveBorder: Color = accentError + /** Audio waveform bar color. */ + internal val chatWaveformBar: Color = borderCoreOpacityStrong - /** Destructive button text. */ - public val buttonDestructiveText: Color = accentError + /** Audio waveform bar color when playing. */ + internal val chatWaveformBarPlaying: Color = accentPrimary - /** Destructive button text on accent backgrounds. */ - public val buttonDestructiveTextOnAccent: Color = textOnAccent + /** Checkbox background (unselected). */ + internal val controlCheckboxBg: Color = Color.Transparent - /** Primary button background. */ - public val buttonPrimaryBg: Color = accentPrimary + /** Checkbox background when selected. */ + internal val controlCheckboxBgSelected: Color = accentPrimary - /** Primary button border. */ - public val buttonPrimaryBorder: Color = brand200 + /** Checkbox border. */ + internal val controlCheckboxBorder: Color = borderCoreDefault - /** Primary button text. */ - public val buttonPrimaryText: Color = textLink + /** Checkbox icon when selected. */ + internal val controlCheckboxIcon: Color = textOnAccent - /** Primary button text on accent backgrounds. */ - public val buttonPrimaryTextOnAccent: Color = textOnAccent + /** Chip border color. */ + internal val controlChipBorder: Color = borderCoreDefault - /** Secondary button background. */ - public val buttonSecondaryBg: Color = backgroundCoreSurface + /** Chip text color. */ + internal val controlChipText: Color = textPrimary - /** Secondary button border. */ - public val buttonSecondaryBorder: Color = borderCoreDefault + /** Playback thumb background in default state. */ + internal val controlPlaybackThumbBgDefault: Color = backgroundCoreOnAccent - /** Secondary button text. */ - public val buttonSecondaryText: Color = textPrimary + /** Playback thumb background in active state. */ + internal val controlPlaybackThumbBgActive: Color = accentPrimary - /** Secondary button text on accent backgrounds. */ - public val buttonSecondaryTextOnAccent: Color = textPrimary + /** Playback thumb border in active state. */ + internal val controlPlaybackThumbBorderActive: Color = borderCoreOnAccent - /** Outgoing message bubble background. */ - public val chatBgOutgoing: Color = brand100 + /** Playback thumb border in default state. */ + internal val controlPlaybackThumbBorderDefault: Color = borderCoreOpacityStrong - /** Border on outgoing message bubbles. */ - public val chatBorderOnChatOutgoing: Color = brand300 + /** Playback toggle border color. */ + internal val controlPlaybackToggleBorder: Color = borderCoreDefault - /** Incoming message text color. */ - public val chatTextIncoming: Color = textPrimary + /** Playback toggle text color. */ + internal val controlPlaybackToggleText: Color = textPrimary - /** Outgoing message text color. */ - public val chatTextOutgoing: Color = brand900 + /** Play button background. */ + internal val controlPlayButtonBg: Color = chrome.s1000 - /** Link text color in chat messages. */ - public val chatTextLink: Color = textLink + /** Play button icon. */ + internal val controlPlayButtonIcon: Color = textOnAccent - /** Mention text color in chat messages. */ - public val chatTextMention: Color = chatTextLink + /** Progress bar fill color. */ + internal val controlProgressBarFill: Color = accentNeutral - /** System messages like date separators and unread dividers. */ - public val chatTextSystem: Color = textSecondary + /** Progress bar track color. */ + internal val controlProgressBarTrack: Color = backgroundCoreSurfaceStrong - /** Timestamp text color in chat messages. */ - public val chatTextTimestamp: Color = textTertiary + /** Indicator dot inside a selected radio button. */ + internal val controlRadioButtonIndicator: Color = textOnAccent - /** Audio waveform bar color. */ - public val chatWaveformBar: Color = borderCoreOpacity25 + /** Radio/check background (unselected). */ + internal val controlRadioCheckBg: Color = Color.Transparent - /** Audio waveform bar color when playing. */ - public val chatWaveformBarPlaying: Color = accentPrimary + /** Radio/check border. */ + internal val controlRadioCheckBorder: Color = borderCoreDefault - /** Chip text color. */ - public val chipText: Color = brand900 + /** Selected radio/check background. */ + internal val controlRadioCheckBgSelected: Color = accentPrimary - /** Play button background. */ - public val controlPlayButtonBg: Color = accentBlack + /** Selected radio/check icon. */ + internal val controlRadioCheckIcon: Color = textOnAccent - /** Play button icon. */ - public val controlPlayButtonIcon: Color = textOnAccent + /** Remove control background. */ + internal val controlRemoveBg: Color = backgroundCoreInverse - /** Checkbox background (unselected). */ - public val controlCheckboxBg: Color = Color.Transparent + /** Remove control border. */ + internal val controlRemoveBorder: Color = borderCoreInverse - /** Checkbox border. */ - public val controlCheckboxBorder: Color = borderCoreDefault + /** Remove control icon. */ + internal val controlRemoveIcon: Color = textInverse - /** Checkbox background when selected. */ - public val controlCheckboxBgSelected: Color = accentPrimary + /** Toggle switch track background. */ + internal val controlToggleSwitchBg: Color = accentNeutral - /** Checkbox icon when selected. */ - public val controlCheckboxIconSelected: Color = textOnAccent + /** Toggle switch track background when disabled. */ + internal val controlToggleSwitchBgDisabled: Color = backgroundUtilityDisabled - /** Playback thumb border in default state. */ - public val controlPlaybackThumbBorderDefault: Color = borderCoreOpacity25 + /** Toggle switch track background when selected. */ + internal val controlToggleSwitchBgSelected: Color = accentPrimary - /** Playback thumb background in active state. */ - public val controlPlaybackThumbBgActive: Color = accentPrimary + /** Toggle switch knob color. */ + internal val controlToggleSwitchKnob: Color = backgroundCoreElevation4 - /** Playback thumb border in active state. */ - public val controlPlaybackThumbBorderActive: Color = borderCoreOnAccent + /** Default send icon color in the input. Uses the brand accent. */ + internal val inputSendIcon: Color = accentPrimary - /** Radio/check border. */ - public val controlRadioCheckBorder: Color = borderCoreDefault + /** Send icon when disabled (e.g. empty input). */ + internal val inputSendIconDisabled: Color = textDisabled - /** Remove control border. */ - public val controlRemoveBorder: Color = borderCoreInverse + /** Main text inside the chat input. */ + internal val inputTextDefault: Color = textPrimary - /** Online presence indicator. */ - public val presenceBgOnline: Color = accentSuccess + /** Input field disabled text color. */ + internal val inputTextDisabled: Color = textDisabled + + /** Icons inside the input area (attach, emoji, camera, send when idle). */ + internal val inputTextIcon: Color = textTertiary + + /** Placeholder text for the input. Lower emphasis than main text. */ + internal val inputTextPlaceholder: Color = textTertiary + + /** Reaction bar background. */ + internal val reactionBg: Color = backgroundCoreElevation3 + + /** Border around unselected reaction chips. Subtle in normal modes, strong in high-contrast. */ + internal val reactionBorder: Color = borderCoreDefault + + /** Emoji color inside reaction chips. Uses primary text to stay clearly legible. */ + internal val reactionEmoji: Color = textPrimary + + /** Count label next to the emoji inside the reaction chip. */ + internal val reactionText: Color = textPrimary /** Offline presence indicator. */ - public val presenceBgOffline: Color = accentNeutral + internal val avatarPresenceBgOffline: Color = accentNeutral + + /** Online presence indicator. */ + internal val avatarPresenceBgOnline: Color = accentSuccess public companion object { /** * Provides the default colors for the light mode of the app. * + * @param brand The brand color scale. Defaults to [ColorScale.defaultLight]. + * @param chrome The chrome color scale. Defaults to [ChromeScale.defaultLight]. * @return A [Colors] instance holding our color palette. */ - @Suppress("LongMethod", "MagicNumber") - 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, - backgroundCoreOnAccent = StreamPrimitiveColors.baseWhite, - 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.slate900.copy(alpha = 0.1f), - borderCoreOnAccent = StreamPrimitiveColors.baseWhite, - borderCoreInverse = StreamPrimitiveColors.baseWhite, - borderCoreOpacity25 = StreamPrimitiveColors.slate900.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, - textInverse = StreamPrimitiveColors.baseWhite, - textPrimary = StreamPrimitiveColors.slate900, - textSecondary = StreamPrimitiveColors.slate700, - textTertiary = StreamPrimitiveColors.slate500, - avatarBgPlaceholder = StreamPrimitiveColors.slate150, - 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, - controlPlaybackThumbBgDefault = StreamPrimitiveColors.baseWhite, - controlRemoveBg = StreamPrimitiveColors.slate900, - controlRemoveIcon = StreamPrimitiveColors.baseWhite, - presenceBorder = StreamPrimitiveColors.baseWhite, - backgroundCoreScrim = StreamPrimitiveColors.slate900.copy(alpha = 0.5f), - backgroundCoreOverlayDark = StreamPrimitiveColors.slate900.copy(alpha = 0.25f), - backgroundCoreHighlight = StreamPrimitiveColors.yellow50, - skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite, - accentWarning = StreamPrimitiveColors.yellow400, - backgroundCoreSurfaceCard = StreamPrimitiveColors.slate50, - backgroundCoreOverlayLight = Color(0xBFFFFFFF), - backgroundUtilityDisabled = StreamPrimitiveColors.slate100, - textLink = StreamPrimitiveColors.blue500, - borderUtilityActive = StreamPrimitiveColors.blue500, - borderUtilityError = StreamPrimitiveColors.red500, - borderUtilityWarning = StreamPrimitiveColors.yellow400, - borderUtilitySuccess = StreamPrimitiveColors.green400, - badgeBgInverse = StreamPrimitiveColors.baseBlack, - ) + public fun default( + brand: ColorScale = ColorScale.defaultLight(), + chrome: ChromeScale = ChromeScale.defaultLight(), + ): Colors { + return Colors( + brand = brand, + chrome = chrome, + accentPrimary = brand.s500, + accentError = StreamPrimitiveColors.red500, + accentSuccess = StreamPrimitiveColors.green400, + accentWarning = StreamPrimitiveColors.yellow400, + accentNeutral = chrome.s500, + textPrimary = chrome.s900, + textSecondary = chrome.s700, + textTertiary = chrome.s500, + textDisabled = chrome.s300, + textOnAccent = chrome.s0, + textInverse = chrome.s0, + textLink = brand.s500, + backgroundCoreElevation0 = chrome.s0, + backgroundCoreElevation1 = chrome.s0, + backgroundCoreElevation2 = chrome.s0, + backgroundCoreElevation3 = chrome.s0, + backgroundCoreElevation4 = chrome.s0, + backgroundCoreSurface = chrome.s100, + backgroundCoreSurfaceSubtle = chrome.s50, + backgroundCoreSurfaceStrong = chrome.s150, + backgroundCoreSurfaceCard = chrome.s50, + backgroundCoreInverse = chrome.s1000, + backgroundCoreOnAccent = chrome.s0, + backgroundCoreScrim = StreamPrimitiveColors.slate900.copy(alpha = 0.5f), + backgroundCoreOverlayDark = StreamPrimitiveColors.slate900.copy(alpha = 0.25f), + backgroundCoreOverlayLight = Color(0xBFFFFFFF), + backgroundCoreHighlight = StreamPrimitiveColors.yellow50, + backgroundCoreApp = chrome.s0, + backgroundUtilitySelected = StreamPrimitiveColors.slate900.copy(alpha = 0.2f), + backgroundUtilityDisabled = chrome.s100, + borderCoreDefault = chrome.s150, + borderCoreStrong = chrome.s300, + borderCoreSubtle = chrome.s100, + borderCoreOpacitySubtle = StreamPrimitiveColors.slate900.copy(alpha = 0.1f), + borderCoreOpacityStrong = StreamPrimitiveColors.slate900.copy(alpha = 0.25f), + borderCoreOnAccent = chrome.s0, + borderCoreInverse = chrome.s0, + borderUtilitySelected = brand.s500, + borderUtilityActive = brand.s500, + borderUtilityDisabled = chrome.s100, + borderUtilityError = StreamPrimitiveColors.red500, + borderUtilityWarning = StreamPrimitiveColors.yellow400, + borderUtilitySuccess = StreamPrimitiveColors.green400, + avatarBgPlaceholder = chrome.s150, + 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 = chrome.s500, + avatarPresenceBorder = chrome.s0, + skeletonLoadingBase = Color.Transparent, + skeletonLoadingHighlight = Color(0xBFFFFFFF), + ) + } /** * Provides the default colors for the dark mode of the app. * + * @param brand The brand color scale. Defaults to [ColorScale.defaultDark]. + * @param chrome The chrome color scale. Defaults to [ChromeScale.defaultDark]. * @return A [Colors] instance holding our color palette. */ - @Suppress("LongMethod", "MagicNumber") - public fun defaultDark(): Colors = Colors( - accentBlack = StreamPrimitiveColors.baseBlack, - accentError = StreamPrimitiveColors.red400, - accentNeutral = StreamPrimitiveColors.neutral300, - accentPrimary = StreamPrimitiveColors.blue400, - accentSuccess = StreamPrimitiveColors.green300, - backgroundCoreDisabled = StreamPrimitiveColors.neutral800, - backgroundCoreSurface = StreamPrimitiveColors.neutral800, - backgroundCoreSurfaceSubtle = StreamPrimitiveColors.neutral900, - backgroundCoreSurfaceStrong = StreamPrimitiveColors.neutral700, - backgroundCoreInverse = StreamPrimitiveColors.neutral50, - backgroundCoreOnAccent = StreamPrimitiveColors.baseBlack, - backgroundCoreSelected = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), - backgroundElevationElevation0 = StreamPrimitiveColors.baseBlack, - backgroundElevationElevation1 = StreamPrimitiveColors.neutral900, - backgroundElevationElevation2 = StreamPrimitiveColors.neutral800, - backgroundElevationElevation3 = StreamPrimitiveColors.neutral600, - backgroundElevationElevation4 = StreamPrimitiveColors.neutral500, - borderCoreDefault = StreamPrimitiveColors.neutral600, - borderCoreStrong = StreamPrimitiveColors.neutral500, - borderCoreOpacity10 = StreamPrimitiveColors.baseWhite.copy(alpha = .2f), - borderCoreOnAccent = StreamPrimitiveColors.baseWhite, - borderCoreInverse = StreamPrimitiveColors.baseBlack, - borderCoreOpacity25 = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), - borderUtilitySelected = StreamPrimitiveColors.blue400, - borderCoreSubtle = StreamPrimitiveColors.neutral800, - borderUtilityDisabled = StreamPrimitiveColors.neutral800, - 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, - textInverse = StreamPrimitiveColors.baseBlack, - textPrimary = StreamPrimitiveColors.neutral50, - textSecondary = StreamPrimitiveColors.neutral150, - 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.neutral300, - chatBgIncoming = StreamPrimitiveColors.neutral800, - chatBgAttachmentIncoming = StreamPrimitiveColors.neutral700, - chatBgAttachmentOutgoing = StreamPrimitiveColors.blue700, - chatBorderOnChatIncoming = StreamPrimitiveColors.neutral500, - chatPollProgressFillIncoming = StreamPrimitiveColors.neutral300, - chatPollProgressTrackIncoming = StreamPrimitiveColors.neutral700, - chatPollProgressFillOutgoing = StreamPrimitiveColors.baseWhite, - chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue600, - chatReplyIndicatorIncoming = StreamPrimitiveColors.neutral500, - chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue150, - controlPlaybackThumbBgDefault = StreamPrimitiveColors.neutral50, - controlRemoveBg = StreamPrimitiveColors.neutral50, - controlRemoveIcon = StreamPrimitiveColors.baseBlack, - presenceBorder = StreamPrimitiveColors.baseBlack, - backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.75f), - backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.5f), - backgroundCoreHighlight = StreamPrimitiveColors.yellow800, - skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite.copy(alpha = 0.2f), - accentWarning = StreamPrimitiveColors.yellow300, - backgroundCoreSurfaceCard = StreamPrimitiveColors.neutral800, - backgroundCoreOverlayLight = Color(0xBF000000), - backgroundUtilityDisabled = StreamPrimitiveColors.neutral800, - textLink = StreamPrimitiveColors.blue200, - borderUtilityActive = StreamPrimitiveColors.blue400, - borderUtilityError = StreamPrimitiveColors.red400, - borderUtilityWarning = StreamPrimitiveColors.yellow300, - borderUtilitySuccess = StreamPrimitiveColors.green300, - badgeBgInverse = StreamPrimitiveColors.baseWhite, - chipBg = StreamPrimitiveColors.blue600, + public fun defaultDark( + brand: ColorScale = ColorScale.defaultDark(), + chrome: ChromeScale = ChromeScale.defaultDark(), + ): Colors { + return Colors( + brand = brand, + chrome = chrome, + accentPrimary = brand.s400, + accentError = StreamPrimitiveColors.red400, + accentSuccess = StreamPrimitiveColors.green300, + accentWarning = StreamPrimitiveColors.yellow300, + accentNeutral = chrome.s500, + textPrimary = chrome.s900, + textSecondary = chrome.s700, + textTertiary = chrome.s500, + textDisabled = chrome.s300, + textOnAccent = chrome.s1000, + textInverse = chrome.s0, + textLink = brand.s600, + backgroundCoreElevation0 = chrome.s0, + backgroundCoreElevation1 = chrome.s50, + backgroundCoreElevation2 = chrome.s100, + backgroundCoreElevation3 = chrome.s200, + backgroundCoreElevation4 = chrome.s300, + backgroundCoreSurface = chrome.s100, + backgroundCoreSurfaceSubtle = chrome.s50, + backgroundCoreSurfaceStrong = chrome.s150, + backgroundCoreSurfaceCard = chrome.s100, + backgroundCoreInverse = chrome.s1000, + backgroundCoreOnAccent = chrome.s1000, + backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.75f), + backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.5f), + backgroundCoreOverlayLight = Color(0xBF000000), + backgroundCoreHighlight = StreamPrimitiveColors.yellow800, + backgroundCoreApp = chrome.s0, + backgroundUtilitySelected = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), + backgroundUtilityDisabled = chrome.s100, + borderCoreDefault = chrome.s200, + borderCoreStrong = chrome.s300, + borderCoreSubtle = chrome.s100, + borderCoreOpacitySubtle = StreamPrimitiveColors.baseWhite.copy(alpha = .2f), + borderCoreOpacityStrong = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), + borderCoreOnAccent = chrome.s1000, + borderCoreInverse = chrome.s0, + borderUtilitySelected = brand.s400, + borderUtilityActive = brand.s400, + borderUtilityDisabled = chrome.s100, + borderUtilityError = StreamPrimitiveColors.red400, + borderUtilityWarning = StreamPrimitiveColors.yellow300, + borderUtilitySuccess = StreamPrimitiveColors.green300, + avatarBgPlaceholder = chrome.s150, + 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 = chrome.s500, + avatarPresenceBorder = chrome.s0, + skeletonLoadingBase = Color.Transparent, + skeletonLoadingHighlight = Color(0xBF000000), + ) + } + } + } + + /** + * An 11-stop color ramp representing the **brand** (accent) palette. + * + * In the Stream design system the brand scale maps to `blue` by default. + * Light themes use the natural order (s50 = lightest, s900 = darkest); + * dark themes invert the mapping so that perceptual intensity stays + * consistent (s50 is still the faintest tint suitable for backgrounds). + * + * Re-brand the entire Chat UI from a single color: + * ``` + * val purple = StreamDesign.ColorScale.from(brandColor = Color(0xFF6200EE)) + * ChatTheme(colors = StreamDesign.Colors.default(brand = purple)) + * ``` + * + * For pixel-perfect branding, provide an explicit scale: + * ``` + * ChatTheme( + * colors = StreamDesign.Colors.default( + * brand = StreamDesign.ColorScale( + * s50 = Color(0xFFF3E8FF), + * // … + * s900 = Color(0xFF3B0764), + * ), + * ), + * ) + * ``` + * + * @param s50 Faintest tint — backgrounds, subtle fills. + * @param s100 Light tint — outgoing bubble background. + * @param s150 Light-mid tint — attachment backgrounds, thread connectors. + * @param s200 Mid-light tint — primary button border, poll track. + * @param s300 Mid-tint — outgoing bubble on-chat border. + * @param s400 Mid-strong — interactive accent (dark theme default). + * @param s500 Core brand — interactive accent (light theme default). + * @param s600 Strong — link text (dark theme). + * @param s700 Darker — reply indicator (dark theme). + * @param s800 Deep — brand depth. + * @param s900 Deepest — outgoing text. + */ + @Immutable + public data class ColorScale( + public val s50: Color, + public val s100: Color, + public val s150: Color, + public val s200: Color, + public val s300: Color, + public val s400: Color, + public val s500: Color, + public val s600: Color, + public val s700: Color, + public val s800: Color, + public val s900: Color, + ) { + + /** + * Returns a new scale with the stops mirrored around the center. + * + * `s50` ↔ `s900`, `s100` ↔ `s800`, etc., while `s400` stays in place. + * Use this to create a dark-theme counterpart from a light brand ramp. + */ + public fun inverted(): ColorScale = ColorScale( + s50 = s900, + s100 = s800, + s150 = s700, + s200 = s600, + s300 = s500, + s400 = s400, + s500 = s300, + s600 = s200, + s700 = s150, + s800 = s100, + s900 = s50, + ) + + public companion object { + /** + * Default brand scale for light themes. + * + * Maps brand stops 50..900 → blue 50..900 (natural order). + */ + public fun defaultLight(): ColorScale = ColorScale( + s50 = StreamPrimitiveColors.blue50, + s100 = StreamPrimitiveColors.blue100, + s150 = StreamPrimitiveColors.blue150, + s200 = StreamPrimitiveColors.blue200, + s300 = StreamPrimitiveColors.blue300, + s400 = StreamPrimitiveColors.blue400, + s500 = StreamPrimitiveColors.blue500, + s600 = StreamPrimitiveColors.blue600, + s700 = StreamPrimitiveColors.blue700, + s800 = StreamPrimitiveColors.blue800, + s900 = StreamPrimitiveColors.blue900, + ) + + /** + * Default brand scale for dark themes. + * + * Inverts the mapping: brand 50 → blue 900, brand 900 → blue 50, + * so that perceptual intensity is preserved on dark backgrounds. + */ + public fun defaultDark(): ColorScale = ColorScale( + s50 = StreamPrimitiveColors.blue900, + s100 = StreamPrimitiveColors.blue800, + s150 = StreamPrimitiveColors.blue700, + s200 = StreamPrimitiveColors.blue600, + s300 = StreamPrimitiveColors.blue500, + s400 = StreamPrimitiveColors.blue400, + s500 = StreamPrimitiveColors.blue300, + s600 = StreamPrimitiveColors.blue200, + s700 = StreamPrimitiveColors.blue150, + s800 = StreamPrimitiveColors.blue100, + s900 = StreamPrimitiveColors.blue50, + ) + + /** + * Generates a brand scale from a single [brandColor]. + * + * The input is placed at [s500] (the core brand stop). Lighter + * stops are interpolated toward white and darker stops toward + * black using Oklab perceptual color space. + * + * This is an approximation intended for quick re-branding. + * For pixel-perfect results, provide an explicit [ColorScale]. + * + * Use [inverted] to obtain the dark-theme counterpart: + * ``` + * val purple = ColorScale.from(brandColor = Color(0xFF6200EE)) + * val light = Colors.default(brand = purple) + * val dark = Colors.defaultDark(brand = purple.inverted()) + * ``` + * + * @param brandColor The core brand color (maps to [s500]). + */ + public fun from(brandColor: Color): ColorScale = ColorScale( + s50 = lerp(Color.White, brandColor, 0.04f), + s100 = lerp(Color.White, brandColor, 0.08f), + s150 = lerp(Color.White, brandColor, 0.16f), + s200 = lerp(Color.White, brandColor, 0.26f), + s300 = lerp(Color.White, brandColor, 0.42f), + s400 = lerp(Color.White, brandColor, 0.65f), + s500 = brandColor, + s600 = lerp(brandColor, Color.Black, 0.25f), + s700 = lerp(brandColor, Color.Black, 0.42f), + s800 = lerp(brandColor, Color.Black, 0.58f), + s900 = lerp(brandColor, Color.Black, 0.75f), + ) + } + } + + /** + * A 13-stop neutral ramp representing the **chrome** (structural gray) palette. + * + * Chrome defines the visual canvas: text, backgrounds, borders, surfaces. + * Light themes map to the **slate** foundation (cool grays); + * dark themes switch to **neutral** (warm grays) and invert the direction, + * so that [s0] is always the base surface and [s900] is always the + * strongest foreground. + * + * [s0] and [s1000] are the absolute endpoints (white/black in light, + * black/white in dark). They absorb the light↔dark polarity, allowing + * all downstream tokens to reference chrome stops with identical + * expressions regardless of theme. + * + * @param s0 Base surface — white in light, black in dark. + * @param s50 Faintest tint — subtle surfaces, elevation-1 (dark). + * @param s100 Light — standard surface, disabled states. + * @param s150 Light-mid — surface-strong, default border, avatar placeholder bg. + * @param s200 Mid-light — elevation-3 border (dark), border default (dark). + * @param s300 Mid — border strong, disabled text, elevation-4 (dark). + * @param s400 Mid-neutral — neutral accent. + * @param s500 Core neutral — tertiary text, accent neutral. + * @param s600 Strong — secondary metadata (not used in default themes). + * @param s700 Darker — secondary text. + * @param s800 Deep — not used in default themes. + * @param s900 Deepest foreground — primary text, inverse background. + * @param s1000 Absolute endpoint — black in light, white in dark. + */ + @Immutable + public data class ChromeScale( + public val s0: Color, + public val s50: Color, + public val s100: Color, + public val s150: Color, + public val s200: Color, + public val s300: Color, + public val s400: Color, + public val s500: Color, + public val s600: Color, + public val s700: Color, + public val s800: Color, + public val s900: Color, + public val s1000: Color, + ) { + public companion object { + /** + * Default chrome scale for light themes. + * + * Maps chrome 0 → white, 50..900 → slate 50..900, 1000 → black. + */ + public fun defaultLight(): ChromeScale = ChromeScale( + s0 = StreamPrimitiveColors.baseWhite, + s50 = StreamPrimitiveColors.slate50, + s100 = StreamPrimitiveColors.slate100, + s150 = StreamPrimitiveColors.slate150, + s200 = StreamPrimitiveColors.slate200, + s300 = StreamPrimitiveColors.slate300, + s400 = StreamPrimitiveColors.slate400, + s500 = StreamPrimitiveColors.slate500, + s600 = StreamPrimitiveColors.slate600, + s700 = StreamPrimitiveColors.slate700, + s800 = StreamPrimitiveColors.slate800, + s900 = StreamPrimitiveColors.slate900, + s1000 = StreamPrimitiveColors.baseBlack, + ) + + /** + * Default chrome scale for dark themes. + * + * Switches to the **neutral** palette and inverts the direction: + * chrome 0 → black, 50 → neutral 900, …, 900 → neutral 50, 1000 → white. + */ + public fun defaultDark(): ChromeScale = ChromeScale( + s0 = StreamPrimitiveColors.baseBlack, + s50 = StreamPrimitiveColors.neutral900, + s100 = StreamPrimitiveColors.neutral800, + s150 = StreamPrimitiveColors.neutral700, + s200 = StreamPrimitiveColors.neutral600, + s300 = StreamPrimitiveColors.neutral500, + s400 = StreamPrimitiveColors.neutral400, + s500 = StreamPrimitiveColors.neutral300, + s600 = StreamPrimitiveColors.neutral200, + s700 = StreamPrimitiveColors.neutral150, + s800 = StreamPrimitiveColors.neutral100, + s900 = StreamPrimitiveColors.neutral50, + s1000 = StreamPrimitiveColors.baseWhite, ) } } @@ -687,7 +881,6 @@ public object StreamDesign { * @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, 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 index 1cee00d3b5f..0db33db7965 100644 --- 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 @@ -50,6 +50,7 @@ internal object StreamPrimitiveColors { val neutral50 = Color(0xFFF8F8F8) val neutral100 = Color(0xFFEFEFEF) val neutral150 = Color(0xFFD8D8D8) + val neutral200 = Color(0xFFC4C4C4) val neutral300 = Color(0xFFABABAB) val neutral400 = Color(0xFF8F8F8F) val neutral500 = Color(0xFF6A6A6A) 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 db26883221e..21abd3e73db 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.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = true) @@ -59,7 +59,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = true) @@ -76,7 +76,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = false) @@ -93,7 +93,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest { } ModalBottomSheet( sheetState = sheetState, - containerColor = ChatTheme.colors.backgroundElevationElevation1, + containerColor = ChatTheme.colors.backgroundCoreElevation1, onDismissRequest = {}, ) { ChannelInfoMemberInfoModalSheetContent(banned = false) 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 f0414ab32d1..c8d64c880ff 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 dde8d0601e3..d5ce229f404 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 6603614df45..a7fe5c60343 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_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 9e170b6830b..b464dd02d22 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.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 eea43e6cf0e..da1194f5fb6 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.composer.internal.attachments_MessageComposerAttachmentsTest_audio_record_attachment_item.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_audio_record_attachment_item.png index 9394a566778..7bc7e8a5b26 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_audio_record_attachment_item.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_audio_record_attachment_item.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_file_attachment_item.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_file_attachment_item.png index 69a9ffb3fef..de3af84148f 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_file_attachment_item.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_file_attachment_item.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_image_attachment_item.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_image_attachment_item.png index 479db11d899..3827395085c 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_image_attachment_item.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_image_attachment_item.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_message_composer_attachments.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_message_composer_attachments.png index 68d139e87af..097f292904a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_message_composer_attachments.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_message_composer_attachments.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_video_attachment_item.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_video_attachment_item.png index 8655a9f31af..5060a367583 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_video_attachment_item.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal.attachments_MessageComposerAttachmentsTest_video_attachment_item.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_filled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_filled.png index c6f2f9bf634..c2cbd9cb7ce 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_filled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_filled.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_placeholder.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_placeholder.png index 04d11b59a49..100c509dc96 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_placeholder.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_active_command_placeholder.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 cc418e1b3ed..3ad77515cdf 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 4f010266e83..00244ebd72b 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_edit,_attachments,_and_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit,_attachments,_and_link.png index 5875273d7c4..a54fd60845a 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit,_attachments,_and_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit,_attachments,_and_link.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit.png index 860de97556c..64323f485f8 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit_empty.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit_empty.png index 3feb71fd406..485b5a2c5b6 100644 Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit_empty.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_edit_empty.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 443d152570b..89bdbd23fab 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_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 1dfc22c7da9..a0c6fdcce63 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 a2aa42732e7..2a17905361a 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_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 db55bbb41ad..fd0ab560413 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_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 d698eebb9c1..156988a1fba 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 b05502f19fd..4ab3cea339c 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 29f94905e94..966fa506fb2 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.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 f4f629dce92..8b9cb870297 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.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 889aa9303e1..0fcab639cdd 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 b25a2527d14..f1dd2695c8f 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/guides/AddingCustomAttachments.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt index bd4afb040b1..55826858349 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 @@ -250,7 +250,7 @@ fun DateAttachmentPreviewContent( modifier = modifier .wrapContentHeight() .clip(RoundedCornerShape(16.dp)) - .background(color = ChatTheme.colors.backgroundElevationElevation1), + .background(color = ChatTheme.colors.backgroundCoreElevation1), ) { Text( modifier = Modifier 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 1cd0036a6f9..df4737d56bb 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 @@ -187,7 +187,7 @@ private object MessageListCustomizationSnippet { } MessageBubble( - color = ChatTheme.colors.backgroundElevationElevation1, + color = ChatTheme.colors.backgroundCoreElevation1, modifier = Modifier.padding(top = 4.dp), shape = RoundedCornerShape( topEnd = 16.dp, 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 0855302fe99..2d739196a4d 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 @@ -118,7 +118,7 @@ fun DateAttachmentPreviewContent( modifier = modifier .wrapContentHeight() .clip(RoundedCornerShape(16.dp)) - .background(color = ChatTheme.colors.backgroundElevationElevation1), + .background(color = ChatTheme.colors.backgroundCoreElevation1), ) { Text( modifier = Modifier