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 e33a7fe72c4..5294f252345 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 @@ -137,7 +137,7 @@ private fun LiveLocationSharing( color = if (isOwnMessage) { ChatTheme.colors.brand.s100 } else { - ChatTheme.colors.backgroundCoreSurface + ChatTheme.colors.backgroundCoreSurfaceDefault }, ), ) { 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 10f023b9cce..45708dc6451 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 @@ -274,8 +274,8 @@ class CustomLoginActivity : AppCompatActivity() { colors = TextFieldDefaults.colors( focusedTextColor = ChatTheme.colors.textPrimary, unfocusedTextColor = ChatTheme.colors.textPrimary, - focusedContainerColor = ChatTheme.colors.backgroundCoreSurface, - unfocusedContainerColor = ChatTheme.colors.backgroundCoreSurface, + focusedContainerColor = ChatTheme.colors.backgroundCoreSurfaceDefault, + unfocusedContainerColor = ChatTheme.colors.backgroundCoreSurfaceDefault, cursorColor = ChatTheme.colors.accentPrimary, focusedIndicatorColor = Color.Transparent, unfocusedIndicatorColor = Color.Transparent, 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 fda2f1f18fb..1b154e8c3e3 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 @@ -280,7 +280,7 @@ private fun LinearProgressIndicator( modifier = Modifier.fillMaxWidth(), progress = { state.progress }, color = ChatTheme.colors.accentPrimary, - trackColor = ChatTheme.colors.backgroundCoreSurface, + trackColor = ChatTheme.colors.backgroundCoreSurfaceDefault, drawStopIndicator = { /* Don't draw the stop indicator */ }, ) } @@ -289,7 +289,7 @@ private fun LinearProgressIndicator( LinearProgressIndicator( modifier = Modifier.fillMaxWidth(), color = ChatTheme.colors.accentPrimary, - trackColor = ChatTheme.colors.backgroundCoreSurface, + trackColor = ChatTheme.colors.backgroundCoreSurfaceDefault, ) } } 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 06a7c909e39..bc9deeeae86 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -6253,7 +6253,7 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color 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 (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/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 @@ -6311,11 +6311,13 @@ 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 component7-0d7_KjU ()J public final fun component8-0d7_KjU ()J public final fun component9-0d7_KjU ()J - 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 final fun copy-Gzxa-5A (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ColorScale;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$ChromeScale;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; + public static synthetic fun copy-Gzxa-5A$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;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors; public fun equals (Ljava/lang/Object;)Z public final fun getAccentError-0d7_KjU ()J public final fun getAccentNeutral-0d7_KjU ()J @@ -6340,29 +6342,31 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color 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 getBackgroundCoreSurface-0d7_KjU ()J public final fun getBackgroundCoreSurfaceCard-0d7_KjU ()J + public final fun getBackgroundCoreSurfaceDefault-0d7_KjU ()J public final fun getBackgroundCoreSurfaceStrong-0d7_KjU ()J public final fun getBackgroundCoreSurfaceSubtle-0d7_KjU ()J public final fun getBackgroundUtilityDisabled-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 getBorderCoreOnInverse-0d7_KjU ()J + public final fun getBorderCoreOnSurface-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 public final fun getBorderUtilityDisabled-0d7_KjU ()J + public final fun getBorderUtilityDisabledOnSurface-0d7_KjU ()J public final fun getBorderUtilityError-0d7_KjU ()J + public final fun getBorderUtilityFocused-0d7_KjU ()J public final fun getBorderUtilitySelected-0d7_KjU ()J public final fun getBorderUtilitySuccess-0d7_KjU ()J public final fun getBorderUtilityWarning-0d7_KjU ()J @@ -6371,9 +6375,9 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Color public final fun getSkeletonLoadingBase-0d7_KjU ()J public final fun getSkeletonLoadingHighlight-0d7_KjU ()J public final fun getTextDisabled-0d7_KjU ()J - public final fun getTextInverse-0d7_KjU ()J public final fun getTextLink-0d7_KjU ()J public final fun getTextOnAccent-0d7_KjU ()J + public final fun getTextOnInverse-0d7_KjU ()J public final fun getTextPrimary-0d7_KjU ()J public final fun getTextSecondary-0d7_KjU ()J public final fun getTextTertiary-0d7_KjU ()J 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 a2ae3936b15..8c0ffb8e724 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 @@ -501,7 +501,7 @@ internal fun MediaAttachmentContentItem( imageRequest = imageRequest, modifier = Modifier .fillMaxSize() - .background(ChatTheme.colors.backgroundCoreSurface), + .background(ChatTheme.colors.backgroundCoreSurfaceDefault), contentScale = ContentScale.Crop, ) { asyncImageState -> Crossfade(targetState = asyncImageState) { state -> diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt index e91b9e118b0..ac11c5908c1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt @@ -164,7 +164,7 @@ internal fun ChannelMediaAttachmentsItem( .align(Alignment.TopStart) .padding(StreamTokens.spacingXs) .size(AvatarSize.Small + borderSize) - .border(borderSize, ChatTheme.colors.borderCoreInverse, CircleShape) + .border(borderSize, ChatTheme.colors.borderCoreOnInverse, CircleShape) .padding(borderSize), user = item.message.user, ), 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 96fbc6b1fc2..5ed57829e66 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 @@ -156,7 +156,7 @@ public fun ChannelItem( .fillMaxWidth() .wrapContentHeight() .semantics { contentDescription = description } - .applyIf(isFocused) { border(2.dp, ChatTheme.colors.borderUtilitySelected, shape) } + .applyIf(isFocused) { border(2.dp, ChatTheme.colors.borderUtilityFocused, shape) } .clip(shape) .applyIf(channelItem.isSelected) { background(ChatTheme.colors.backgroundUtilitySelected, shape) } .combinedClickable( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt index a87dfede1ca..3fd80632593 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt @@ -87,7 +87,7 @@ public fun SwipeActionItem( val colors = ChatTheme.colors val (bg, content) = when (style) { SwipeActionStyle.Primary -> colors.accentPrimary to colors.buttonPrimaryTextOnAccent - SwipeActionStyle.Secondary -> colors.backgroundCoreSurface to colors.textPrimary + SwipeActionStyle.Secondary -> colors.backgroundCoreSurfaceDefault to colors.textPrimary SwipeActionStyle.Destructive -> colors.accentError to colors.buttonDestructiveTextOnAccent } SwipeActionItem( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt index 2826fff5990..c6b3657d3cb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt @@ -35,7 +35,7 @@ import io.getstream.chat.android.compose.ui.theme.StreamShimmerTheme @Composable internal fun ShimmerProgressIndicator( modifier: Modifier = Modifier, - baseColor: Color = ChatTheme.colors.backgroundCoreSurface, + baseColor: Color = ChatTheme.colors.backgroundCoreSurfaceDefault, highlightColor: Color = ChatTheme.colors.backgroundCoreApp, ) { Box( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt index b81ef7f2261..ded9d15ba2f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt @@ -64,7 +64,7 @@ internal fun UserAvatarStack( params = UserAvatarParams( modifier = Modifier .size(avatarSize + borderSize) - .border(borderSize, colors.borderCoreInverse, CircleShape) + .border(borderSize, colors.borderCoreOnInverse, CircleShape) .padding(borderSize), user = user, ), 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 408f518adf6..81bd1dac91b 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 @@ -171,7 +171,7 @@ private object StackedGroupAvatarSpecs { return Modifier .size(avatarSize + borderWidth) - .border(BorderStroke(borderWidth, ChatTheme.colors.borderCoreInverse), CircleShape) + .border(BorderStroke(borderWidth, ChatTheme.colors.borderCoreOnInverse), CircleShape) .padding(borderWidth) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt index cba320ad7c6..be63a18c2d0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt @@ -63,17 +63,17 @@ internal fun CommandChip( modifier = Modifier.size(12.dp), painter = painterResource(id = R.drawable.stream_compose_ic_command_chip), contentDescription = null, - tint = ChatTheme.colors.textInverse, + tint = ChatTheme.colors.textOnInverse, ) Text( text = command.name.uppercase(Locale.ROOT), style = ChatTheme.typography.metadataEmphasis, - color = ChatTheme.colors.textInverse, + color = ChatTheme.colors.textOnInverse, ) Icon( painter = painterResource(id = R.drawable.stream_compose_ic_command_chip_cancel), contentDescription = stringResource(id = R.string.stream_compose_cancel), - tint = ChatTheme.colors.textInverse, + tint = ChatTheme.colors.textOnInverse, ) } } 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 f9f0056a7fe..90517a806ca 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 @@ -87,7 +87,7 @@ private fun MediaBadge( Icon( painter = painterResource(iconRes), contentDescription = null, - tint = ChatTheme.colors.textInverse, + tint = ChatTheme.colors.textOnInverse, ) Text( text = if (compact) { @@ -96,7 +96,7 @@ private fun MediaBadge( durationInSeconds.toPreciseDuration() }, style = ChatTheme.typography.numericMedium, - color = ChatTheme.colors.textInverse, + color = ChatTheme.colors.textOnInverse, maxLines = 1, overflow = TextOverflow.Ellipsis, ) 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 e7bc5305a9c..8241ba19015 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 @@ -167,7 +167,7 @@ private fun Content( modifier = Modifier .padding(horizontal = 16.dp) .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) - .background(ChatTheme.colors.backgroundCoreSurface) + .background(ChatTheme.colors.backgroundCoreSurfaceDefault) .padding(16.dp), state = listState, verticalArrangement = Arrangement.spacedBy(16.dp), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt index b4e0805fcd2..3cebeb30875 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt @@ -659,7 +659,7 @@ public fun MessageModerationDialog( message = selectedMessage, modifier = Modifier.background( shape = MaterialTheme.shapes.medium, - color = ChatTheme.colors.backgroundCoreSurface, + color = ChatTheme.colors.backgroundCoreSurfaceDefault, ), onDismissRequest = remember(listViewModel) { { listViewModel.removeOverlay() } }, onDialogOptionInteraction = remember(listViewModel, composerViewModel) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt index 7117656a346..6bb08323770 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 @@ -148,11 +148,11 @@ private fun PollSwitchListItem( .animateContentSize() .border( width = 1.dp, - color = ChatTheme.colors.backgroundCoreSurface, + color = ChatTheme.colors.backgroundCoreSurfaceDefault, shape = RoundedCornerShape(StreamTokens.radiusXl), ) .clip(shape = RoundedCornerShape(StreamTokens.radiusXl)) - .background(ChatTheme.colors.backgroundCoreSurface) + .background(ChatTheme.colors.backgroundCoreSurfaceDefault) .padding(StreamTokens.spacingMd), ) { PollSwitchHeader( 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 2890b4033df..2617e162cdc 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 @@ -2820,7 +2820,7 @@ public interface ChatComponentFactory { .padding(horizontal = StreamTokens.spacingSm, vertical = StreamTokens.spacingXs), text = params.label, style = ChatTheme.typography.captionEmphasis, - color = ChatTheme.colors.textInverse, + color = ChatTheme.colors.textOnInverse, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt index 7ec8f3630ca..07fb3d0ff2e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt @@ -86,7 +86,7 @@ public data class ComposerInputFieldTheme( ): ComposerInputFieldTheme { return ComposerInputFieldTheme( borderShape = RoundedCornerShape(StreamTokens.radius3xl), - backgroundColor = colors.backgroundCoreSurface, + backgroundColor = colors.backgroundCoreSurfaceDefault, textStyle = typography.bodyDefault.copy( color = colors.textPrimary, textDirection = TextDirection.Content, 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 56bda46bec9..0839d24b6c4 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 @@ -64,17 +64,17 @@ public object StreamDesign { * @param textTertiary Lowest priority text. * @param textDisabled Disabled text. * @param textOnAccent Text on dark or accent backgrounds. - * @param textInverse Text on inverse backgrounds. + * @param textOnInverse 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 backgroundCoreSurfaceDefault 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 backgroundCoreSurfaceCard Card surfaces inside elevated containers like sheets and dialogs. + * In dark mode, resolves lighter than the container background to maintain separation. * @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 @@ -92,10 +92,13 @@ public object StreamDesign { * @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 borderCoreOnInverse Border on inverse backgrounds. + * @param borderCoreOnSurface Border for elements sitting on elevated surfaces. * @param borderUtilitySelected Selected overlay border. - * @param borderUtilityActive Focus ring or focus border. + * @param borderUtilityFocused Focus ring or focus border. + * @param borderUtilityActive Active state focus border. * @param borderUtilityDisabled Optional disabled border for inputs, buttons, or chips. + * @param borderUtilityDisabledOnSurface Border for disabled elements on elevated surfaces. * @param borderUtilityError Error state border. * @param borderUtilityWarning Warning state border. * @param borderUtilitySuccess Success state border. @@ -112,7 +115,7 @@ public object StreamDesign { * @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. + * surface behind the avatar. * @param skeletonLoadingBase Base color for the skeleton loading gradient (placeholder surfaces). * @param skeletonLoadingHighlight Highlight for the skeleton loading gradient (moving shimmer). */ @@ -130,14 +133,13 @@ public object StreamDesign { public val textTertiary: Color, public val textDisabled: Color, public val textOnAccent: Color, - public val textInverse: Color, + public val textOnInverse: 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 backgroundCoreSurfaceDefault: Color, public val backgroundCoreSurfaceSubtle: Color, public val backgroundCoreSurfaceStrong: Color, public val backgroundCoreSurfaceCard: Color, @@ -156,10 +158,13 @@ public object StreamDesign { public val borderCoreOpacitySubtle: Color, public val borderCoreOpacityStrong: Color, public val borderCoreOnAccent: Color, - public val borderCoreInverse: Color, + public val borderCoreOnInverse: Color, + public val borderCoreOnSurface: Color, public val borderUtilitySelected: Color, + public val borderUtilityFocused: Color, public val borderUtilityActive: Color, public val borderUtilityDisabled: Color, + public val borderUtilityDisabledOnSurface: Color, public val borderUtilityError: Color, public val borderUtilityWarning: Color, public val borderUtilitySuccess: Color, @@ -199,7 +204,7 @@ public object StreamDesign { internal val badgeBgPrimary: Color = accentPrimary /** Badge outer border. */ - internal val badgeBorder: Color = borderCoreInverse + internal val badgeBorder: Color = borderCoreOnInverse /** Badge text color. */ internal val badgeText: Color = textPrimary @@ -226,13 +231,13 @@ public object StreamDesign { internal val buttonPrimaryBorder: Color = brand.s200 /** Primary button text. */ - internal val buttonPrimaryText: Color = textLink + internal val buttonPrimaryText: Color = accentPrimary /** Primary button text on accent backgrounds. */ internal val buttonPrimaryTextOnAccent: Color = textOnAccent /** Secondary button background. */ - internal val buttonSecondaryBg: Color = backgroundCoreSurface + internal val buttonSecondaryBg: Color = backgroundCoreSurfaceDefault /** Secondary button border. */ internal val buttonSecondaryBorder: Color = borderCoreDefault @@ -244,7 +249,7 @@ public object StreamDesign { internal val buttonSecondaryTextOnAccent: Color = textPrimary /** Incoming bubble background. */ - internal val chatBgIncoming: Color = backgroundCoreSurface + internal val chatBgIncoming: Color = backgroundCoreSurfaceDefault /** Outgoing message bubble background. */ internal val chatBgOutgoing: Color = brand.s100 @@ -364,7 +369,7 @@ public object StreamDesign { internal val controlPlaybackToggleText: Color = textPrimary /** Play button background. */ - internal val controlPlayButtonBg: Color = chrome.s1000 + internal val controlPlayButtonBg: Color = StreamPrimitiveColors.baseBlack.copy(alpha = 0.75f) /** Play button icon. */ internal val controlPlayButtonIcon: Color = textOnAccent @@ -394,10 +399,10 @@ public object StreamDesign { internal val controlRemoveBg: Color = backgroundCoreInverse /** Remove control border. */ - internal val controlRemoveBorder: Color = borderCoreInverse + internal val controlRemoveBorder: Color = borderCoreOnInverse /** Remove control icon. */ - internal val controlRemoveIcon: Color = textInverse + internal val controlRemoveIcon: Color = textOnInverse /** Toggle switch track background. */ internal val controlToggleSwitchBg: Color = accentNeutral @@ -409,7 +414,7 @@ public object StreamDesign { internal val controlToggleSwitchBgSelected: Color = accentPrimary /** Toggle switch knob color. */ - internal val controlToggleSwitchKnob: Color = backgroundCoreElevation4 + internal val controlToggleSwitchKnob: Color = backgroundCoreOnAccent /** Default send icon color in the input. Uses the brand accent. */ internal val inputSendIcon: Color = accentPrimary @@ -423,7 +428,7 @@ public object StreamDesign { /** Input field disabled text color. */ internal val inputTextDisabled: Color = textDisabled - /** Icons inside the input area (attach, emoji, camera, send when idle). */ + /** Icons inside the input area (attach, emoji, camera, send when idle). Matches secondary text strength. */ internal val inputTextIcon: Color = textTertiary /** Placeholder text for the input. Lower emphasis than main text. */ @@ -432,7 +437,7 @@ public object StreamDesign { /** Reaction bar background. */ internal val reactionBg: Color = backgroundCoreElevation3 - /** Border around unselected reaction chips. Subtle in normal modes, strong in high-contrast. */ + /** Border around unselected reaction chips. */ internal val reactionBorder: Color = borderCoreDefault /** Emoji color inside reaction chips. Uses primary text to stay clearly legible. */ @@ -472,14 +477,13 @@ public object StreamDesign { textTertiary = chrome.s500, textDisabled = chrome.s300, textOnAccent = chrome.s0, - textInverse = chrome.s0, + textOnInverse = chrome.s0, textLink = brand.s500, backgroundCoreElevation0 = chrome.s0, backgroundCoreElevation1 = chrome.s0, backgroundCoreElevation2 = chrome.s0, backgroundCoreElevation3 = chrome.s0, - backgroundCoreElevation4 = chrome.s0, - backgroundCoreSurface = chrome.s100, + backgroundCoreSurfaceDefault = chrome.s100, backgroundCoreSurfaceSubtle = chrome.s50, backgroundCoreSurfaceStrong = chrome.s150, backgroundCoreSurfaceCard = chrome.s50, @@ -498,10 +502,13 @@ public object StreamDesign { borderCoreOpacitySubtle = StreamPrimitiveColors.slate900.copy(alpha = 0.1f), borderCoreOpacityStrong = StreamPrimitiveColors.slate900.copy(alpha = 0.25f), borderCoreOnAccent = chrome.s0, - borderCoreInverse = chrome.s0, - borderUtilitySelected = brand.s500, + borderCoreOnInverse = chrome.s0, + borderCoreOnSurface = chrome.s300, + borderUtilitySelected = StreamPrimitiveColors.slate900.copy(alpha = 0.15f), + borderUtilityFocused = brand.s150, borderUtilityActive = brand.s500, borderUtilityDisabled = chrome.s100, + borderUtilityDisabledOnSurface = chrome.s150, borderUtilityError = StreamPrimitiveColors.red500, borderUtilityWarning = StreamPrimitiveColors.yellow400, borderUtilitySuccess = StreamPrimitiveColors.green400, @@ -547,14 +554,13 @@ public object StreamDesign { textTertiary = chrome.s500, textDisabled = chrome.s300, textOnAccent = chrome.s1000, - textInverse = chrome.s0, + textOnInverse = chrome.s0, textLink = brand.s600, backgroundCoreElevation0 = chrome.s0, backgroundCoreElevation1 = chrome.s50, backgroundCoreElevation2 = chrome.s100, backgroundCoreElevation3 = chrome.s200, - backgroundCoreElevation4 = chrome.s300, - backgroundCoreSurface = chrome.s100, + backgroundCoreSurfaceDefault = chrome.s100, backgroundCoreSurfaceSubtle = chrome.s50, backgroundCoreSurfaceStrong = chrome.s150, backgroundCoreSurfaceCard = chrome.s100, @@ -573,10 +579,13 @@ public object StreamDesign { borderCoreOpacitySubtle = StreamPrimitiveColors.baseWhite.copy(alpha = .2f), borderCoreOpacityStrong = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f), borderCoreOnAccent = chrome.s1000, - borderCoreInverse = chrome.s0, - borderUtilitySelected = brand.s400, + borderCoreOnInverse = chrome.s0, + borderCoreOnSurface = chrome.s300, + borderUtilitySelected = StreamPrimitiveColors.baseWhite.copy(alpha = 0.15f), + borderUtilityFocused = brand.s150, borderUtilityActive = brand.s400, borderUtilityDisabled = chrome.s100, + borderUtilityDisabledOnSurface = chrome.s150, borderUtilityError = StreamPrimitiveColors.red400, borderUtilityWarning = StreamPrimitiveColors.yellow300, borderUtilitySuccess = StreamPrimitiveColors.green300, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt index e9c05a2496d..481315eac26 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt @@ -70,7 +70,7 @@ internal fun ThreadListBanner( Row( modifier = modifier .fillMaxWidth() - .background(ChatTheme.colors.backgroundCoreSurface) + .background(ChatTheme.colors.backgroundCoreSurfaceDefault) .then(clickableModifier) .padding(StreamTokens.spacingSm), horizontalArrangement = Arrangement.spacedBy( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt index bd2ef864e3c..bc53ad704f6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt @@ -58,7 +58,7 @@ internal fun StreamSnackbar( modifier = modifier.shadow(4.dp, shape = SnackbarShape), shape = SnackbarShape, color = ChatTheme.colors.backgroundCoreInverse, - contentColor = ChatTheme.colors.textInverse, + contentColor = ChatTheme.colors.textOnInverse, ) { Row( modifier = Modifier.padding( @@ -82,7 +82,7 @@ internal fun StreamSnackbar( StreamTextButton( onClick = snackbarData::performAction, style = StreamButtonStyleDefaults.secondaryOutline.copy( - contentColor = ChatTheme.colors.textInverse, + contentColor = ChatTheme.colors.textOnInverse, ), size = StreamButtonSize.Small, text = actionLabel, diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt index cd137631b44..a76b3a3b387 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt @@ -240,7 +240,7 @@ private fun CustomAttachmentsPicker( ), elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurfaceDefault), ) { Box(modifier = Modifier.padding(vertical = 24.dp)) { if (shouldShowMenu) { diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt index 506eb5b84c6..b558643fb2a 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt @@ -188,7 +188,7 @@ class CatalogActivity : AppCompatActivity() { interactionSource = remember { MutableInteractionSource() }, ), elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), - colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurfaceDefault), ) { Column( modifier = Modifier.padding(16.dp),