diff --git a/stream-chat-android-compose-sample/detekt-baseline.xml b/stream-chat-android-compose-sample/detekt-baseline.xml
index e9dbd9f7eaf..2b04730b0eb 100644
--- a/stream-chat-android-compose-sample/detekt-baseline.xml
+++ b/stream-chat-android-compose-sample/detekt-baseline.xml
@@ -6,7 +6,7 @@
LongMethod:MessagesActivity.kt$MessagesActivity$@Composable fun MyCustomUi()
MagicNumber:ChannelsActivity.kt$ChannelsActivity$0.5f
MagicNumber:MessagesActivity.kt$MessagesActivity$7f
- MaxLineLength:MessagesActivity.kt$MessagesActivity$targetValue = if (isFullScreenContent) screenHeight.dp else ChatTheme.dimens.attachmentsPickerHeight
+ MaxLineLength:MessagesActivity.kt$MessagesActivity$targetValue = if (isFullScreenContent) screenHeight.dp else 350.dp
UnusedPrivateMember:ChannelsActivity.kt$ChannelsActivity$@Composable private fun MyCustomUi()
UnusedPrivateMember:ChannelsActivity.kt$ChannelsActivity$@Composable private fun MyCustomUiSimplified()
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
index 743795611da..2358ce02ca5 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
@@ -152,13 +152,13 @@ private fun AddChannelToolbar(
Column(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground),
+ .background(ChatTheme.colors.backgroundElevationElevation1),
) {
AppToolbar(title = stringResource(id = R.string.add_channel_title), onBack = onBack, elevation = 0.dp)
Row(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.padding(horizontal = 16.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceBetween,
@@ -170,7 +170,7 @@ private fun AddChannelToolbar(
.padding(top = 20.dp),
text = stringResource(id = R.string.add_channel_to),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
Spacer(modifier = Modifier.size(8.dp))
// Selected users + Search field
@@ -194,14 +194,14 @@ private fun AddChannelToolbar(
Icon(
painter = painterResource(iconId),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
if (!hasSelectedUsers) {
CreateGroupSection(onClick = onCreateGroupClick)
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
}
}
}
@@ -216,7 +216,7 @@ private fun CreateGroupSection(onClick: () -> Unit) {
Row(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.clickable(
interactionSource = remember { MutableInteractionSource() },
indication = ripple(),
@@ -226,7 +226,7 @@ private fun CreateGroupSection(onClick: () -> Unit) {
verticalAlignment = Alignment.CenterVertically,
) {
Icon(
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
painter = painterResource(id = R.drawable.ic_create_group),
contentDescription = null,
)
@@ -235,7 +235,7 @@ private fun CreateGroupSection(onClick: () -> Unit) {
text = stringResource(id = R.string.add_channel_create_group),
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -255,7 +255,7 @@ private fun SelectedUsersList(
FlowRow(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.padding(12.dp),
horizontalArrangement = Arrangement.spacedBy(4.dp),
verticalArrangement = Arrangement.spacedBy(4.dp),
@@ -282,7 +282,7 @@ private fun SelectedUserChip(
) {
SuggestionChip(
modifier = Modifier.height(32.dp),
- colors = SuggestionChipDefaults.suggestionChipColors(containerColor = ChatTheme.colors.appBackground),
+ colors = SuggestionChipDefaults.suggestionChipColors(containerColor = ChatTheme.colors.backgroundCoreApp),
shape = RoundedCornerShape(16.dp),
icon = {
UserAvatar(
@@ -296,7 +296,7 @@ private fun SelectedUserChip(
Text(
text = user.name,
fontSize = 12.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
},
)
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
index 1fc33261a55..1ffcccfb17d 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
@@ -106,10 +106,10 @@ private fun SearchUserLoadingContent(padding: PaddingValues) {
modifier = Modifier
.padding(padding)
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
contentAlignment = Alignment.Center,
) {
- CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent)
+ CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary)
}
}
@@ -124,7 +124,7 @@ private fun SearchUserEmptyContent(padding: PaddingValues) {
modifier = Modifier
.padding(padding)
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
) {
@@ -135,7 +135,7 @@ private fun SearchUserEmptyContent(padding: PaddingValues) {
Text(
text = stringResource(id = R.string.add_channel_no_matches),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
}
@@ -165,7 +165,7 @@ private fun SearchUserResultList(
modifier = Modifier
.padding(padding)
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = listState,
) {
users.forEach { (group, users) ->
@@ -178,7 +178,7 @@ private fun SearchUserResultList(
isSelected = selectedUsers.contains(user),
onUserClick = onUserClick,
)
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
}
}
if (isLoadingMore) {
@@ -208,7 +208,7 @@ private fun GroupingItem(group: Char) {
},
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
modifier = Modifier.padding(8.dp),
)
}
@@ -231,7 +231,7 @@ private fun SearchUserResultItem(
modifier = Modifier
.fillMaxWidth()
.height(64.dp)
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.clickable(
interactionSource = remember { MutableInteractionSource() },
indication = ripple(),
@@ -253,17 +253,17 @@ private fun SearchUserResultItem(
text = user.name,
fontWeight = FontWeight.Bold,
fontSize = 14.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = user.getLastSeenText(context),
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
if (isSelected) {
Icon(
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
painter = painterResource(id = R.drawable.ic_check_filled),
contentDescription = null,
)
@@ -282,6 +282,6 @@ private fun LoadingMoreItem() {
.padding(8.dp),
contentAlignment = Alignment.Center,
) {
- CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent)
+ CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt
index a194cdd8d1c..ee9aba3d363 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserTextField.kt
@@ -47,21 +47,21 @@ fun SearchUserTextField(
singleLine = true,
maxLines = 1,
colors = TextFieldDefaults.colors(
- focusedContainerColor = ChatTheme.colors.barsBackground,
- unfocusedContainerColor = ChatTheme.colors.barsBackground,
+ focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1,
+ unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
disabledIndicatorColor = Color.Transparent,
- focusedTextColor = ChatTheme.colors.textHighEmphasis,
- unfocusedTextColor = ChatTheme.colors.textHighEmphasis,
- cursorColor = ChatTheme.colors.primaryAccent,
+ focusedTextColor = ChatTheme.colors.textPrimary,
+ unfocusedTextColor = ChatTheme.colors.textPrimary,
+ cursorColor = ChatTheme.colors.accentPrimary,
),
onValueChange = onQueryChanged,
placeholder = {
Text(
text = stringResource(id = R.string.add_channel_type_name),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
},
leadingIcon = leadingContent,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
index 2efa5acbf46..77417b0e882 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
@@ -161,7 +161,7 @@ private fun SelectUsersToolbar(
Column(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground),
+ .background(ChatTheme.colors.backgroundElevationElevation1),
) {
AppToolbar(
title = stringResource(id = R.string.add_group_channel_members_title),
@@ -172,7 +172,7 @@ private fun SelectUsersToolbar(
onQueryChanged = onSearchQueryChanged,
leadingContent = {
Icon(
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
painter = painterResource(id = R.drawable.ic_search),
contentDescription = null,
)
@@ -184,7 +184,7 @@ private fun SelectUsersToolbar(
onRemoveClick = onUserClick,
)
}
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
}
}
@@ -204,7 +204,7 @@ private fun EnterNameToolbar(
Column(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground),
+ .background(ChatTheme.colors.backgroundElevationElevation1),
) {
AppToolbar(
title = stringResource(id = R.string.add_group_channel_name_title),
@@ -214,7 +214,7 @@ private fun EnterNameToolbar(
channelName = channelName,
onChannelNameChanged = onChannelNameChanged,
)
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
}
}
@@ -233,7 +233,7 @@ private fun EnterNameContent(
Column(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(padding),
) {
val text = if (selectedUsers.isEmpty()) {
@@ -245,7 +245,7 @@ private fun EnterNameContent(
Text(
modifier = Modifier.padding(8.dp),
text = text,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 14.sp,
)
LazyColumn {
@@ -254,7 +254,7 @@ private fun EnterNameContent(
user = user,
onRemoveClick = { onRemoveUserClick(user) },
)
- HorizontalDivider(color = ChatTheme.colors.borders, thickness = 1.dp)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault, thickness = 1.dp)
}
}
}
@@ -269,13 +269,13 @@ private fun EnterNameContent(
private fun NextFab(onClick: () -> Unit) {
FloatingActionButton(
shape = CircleShape,
- containerColor = ChatTheme.colors.primaryAccent,
+ containerColor = ChatTheme.colors.accentPrimary,
onClick = onClick,
) {
Icon(
painter = painterResource(id = R.drawable.ic_arrow_right),
contentDescription = null,
- tint = ChatTheme.colors.appBackground,
+ tint = ChatTheme.colors.backgroundCoreApp,
)
}
}
@@ -289,13 +289,13 @@ private fun NextFab(onClick: () -> Unit) {
private fun AddGroupChannelFab(onClick: () -> Unit) {
FloatingActionButton(
shape = CircleShape,
- containerColor = ChatTheme.colors.primaryAccent,
+ containerColor = ChatTheme.colors.accentPrimary,
onClick = onClick,
) {
Icon(
painter = painterResource(id = R.drawable.ic_check),
contentDescription = null,
- tint = ChatTheme.colors.appBackground,
+ tint = ChatTheme.colors.backgroundCoreApp,
)
}
}
@@ -317,21 +317,21 @@ private fun ChannelNameTextField(
singleLine = true,
maxLines = 1,
colors = TextFieldDefaults.colors(
- focusedContainerColor = ChatTheme.colors.barsBackground,
- unfocusedContainerColor = ChatTheme.colors.barsBackground,
+ focusedContainerColor = ChatTheme.colors.backgroundElevationElevation1,
+ unfocusedContainerColor = ChatTheme.colors.backgroundElevationElevation1,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
disabledIndicatorColor = Color.Transparent,
- focusedTextColor = ChatTheme.colors.textHighEmphasis,
- unfocusedTextColor = ChatTheme.colors.textHighEmphasis,
- cursorColor = ChatTheme.colors.primaryAccent,
+ focusedTextColor = ChatTheme.colors.textPrimary,
+ unfocusedTextColor = ChatTheme.colors.textPrimary,
+ cursorColor = ChatTheme.colors.accentPrimary,
),
onValueChange = onChannelNameChanged,
placeholder = {
Text(
text = stringResource(id = R.string.add_group_channel_name_placeholder),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
},
leadingIcon = {
@@ -339,7 +339,7 @@ private fun ChannelNameTextField(
modifier = Modifier.padding(horizontal = 16.dp),
text = stringResource(id = R.string.add_group_channel_name_label),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
},
)
@@ -371,7 +371,7 @@ private fun GroupChannelUserPreviewItem(
.padding(start = 8.dp)
.weight(1f),
text = user.name,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 14.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
@@ -382,7 +382,7 @@ private fun GroupChannelUserPreviewItem(
Icon(
painter = painterResource(id = R.drawable.ic_close),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
}
@@ -402,7 +402,7 @@ private fun SelectedUsersList(
LazyRow(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground),
+ .background(ChatTheme.colors.backgroundElevationElevation1),
contentPadding = PaddingValues(8.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(16.dp),
@@ -444,21 +444,21 @@ private fun SelectedUserItem(
fontWeight = FontWeight.Bold,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
Box(
modifier = Modifier
.size(24.dp)
.clip(RoundedCornerShape(12.dp))
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.align(Alignment.TopEnd)
.clickable { onRemoveClick() },
) {
Icon(
painter = painterResource(id = R.drawable.ic_close),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt
index 3f5eeef08b3..f5adacdfcd9 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/draft/DraftChannelScreen.kt
@@ -78,7 +78,7 @@ private fun DraftChannelContent(
onMessageSent = { onViewAction(DraftChannelViewAction.MessageSent) },
)
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { padding ->
ChatTheme.componentFactory.MessageListEmptyContent(
modifier = Modifier
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
index 4776479ed6a..0b1d2e5e05a 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
@@ -174,7 +174,7 @@ class ChannelsActivity : ComponentActivity() {
drawerContent = {
ModalDrawerSheet(
modifier = Modifier.width(300.dp),
- drawerContainerColor = ChatTheme.colors.barsBackground,
+ drawerContainerColor = ChatTheme.colors.backgroundElevationElevation1,
) {
ChannelsScreenNavigationDrawer(
currentUser = user,
@@ -209,7 +209,7 @@ class ChannelsActivity : ComponentActivity() {
onOptionSelected = { selectedTab = it },
)
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { padding ->
Box(modifier = Modifier.padding(padding)) {
when (selectedTab) {
@@ -301,7 +301,7 @@ class ChannelsActivity : ComponentActivity() {
modifier = Modifier
.fillMaxWidth(0.5f)
.height(0.5.dp)
- .background(color = ChatTheme.colors.textLowEmphasis),
+ .background(color = ChatTheme.colors.textSecondary),
)
},
)
@@ -324,8 +324,8 @@ class ChannelsActivity : ComponentActivity() {
centerContent = {
Text(
text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
},
)
@@ -357,7 +357,7 @@ class ChannelsActivity : ComponentActivity() {
SearchInput(
modifier = Modifier
- .background(color = ChatTheme.colors.appBackground)
+ .background(color = ChatTheme.colors.backgroundCoreApp)
.fillMaxWidth()
.padding(8.dp),
query = query,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt
index a729f563bfd..634e650f89e 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt
@@ -131,7 +131,7 @@ private fun LoggedInUserHeader(
text = user.name,
fontWeight = FontWeight.Bold,
fontSize = 14.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -155,13 +155,13 @@ private fun LoggedInUserHeader(
Text(
text = text,
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
} else {
Text(
text = "No teams",
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -188,15 +188,15 @@ private fun NavigationDrawerItem(
) {
Icon(
painter = painterResource(icon),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
contentDescription = text,
)
Spacer(modifier = Modifier.width(16.dp))
Text(
text = text,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 14.sp,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
)
}
}
@@ -209,7 +209,7 @@ private fun VersionFooter() {
.padding(vertical = 8.dp),
textAlign = TextAlign.Center,
text = BuildConfig.VERSION_NAME,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 12.sp,
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt
index 8db971df059..8a61087a78f 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderDialogs.kt
@@ -57,19 +57,19 @@ fun ReminderOptionsDialog(
Text(
modifier = Modifier.padding(16.dp),
text = stringResource(R.string.reminders_options),
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.title3Bold,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.headingMedium,
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_edit),
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
onClick = onEdit,
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_delete),
- color = ChatTheme.colors.errorAccent,
+ color = ChatTheme.colors.accentError,
onClick = onDelete,
)
}
@@ -92,31 +92,31 @@ fun CreateReminderDialog(
Text(
modifier = Modifier.padding(16.dp),
text = stringResource(R.string.reminders_select_reminder_time_title),
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.title3Bold,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.headingMedium,
)
Text(
modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 8.dp, bottom = 16.dp),
text = stringResource(R.string.reminders_select_reminder_time_description),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.bodyDefault,
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_2_minutes),
onClick = { onRemindAtSelected(Date().apply { time += 2.minutes.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_5_minutes),
onClick = { onRemindAtSelected(Date().apply { time += 5.minutes.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_1_hour),
onClick = { onRemindAtSelected(Date().apply { time += 1.hours.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_1_day),
onClick = { onRemindAtSelected(Date().apply { time += 1.days.inWholeMilliseconds }) },
@@ -143,31 +143,31 @@ fun EditReminderDialog(
Text(
modifier = Modifier.padding(16.dp),
text = stringResource(R.string.reminders_edit_due_date),
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.title3Bold,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.headingMedium,
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_2_minutes),
onClick = { onRemindAtSelected(Date().apply { time += 2.minutes.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_5_minutes),
onClick = { onRemindAtSelected(Date().apply { time += 5.minutes.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_1_hour),
onClick = { onRemindAtSelected(Date().apply { time += 1.hours.inWholeMilliseconds }) },
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_remind_in_1_day),
onClick = { onRemindAtSelected(Date().apply { time += 1.days.inWholeMilliseconds }) },
)
if (remindAt != null) {
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
ReminderOptionItem(
text = stringResource(R.string.reminders_clear_due_date),
onClick = { onRemindAtSelected(null) },
@@ -183,7 +183,7 @@ private fun ReminderDialog(
content: @Composable () -> Unit,
) {
Dialog(onDismissRequest = onDismiss) {
- Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground)) {
+ Card(colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1)) {
content()
}
}
@@ -200,7 +200,7 @@ private fun ReminderDialog(
private fun ReminderOptionItem(
text: String,
onClick: () -> Unit,
- color: Color = ChatTheme.colors.primaryAccent,
+ color: Color = ChatTheme.colors.accentPrimary,
) {
Column(
modifier = Modifier
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt
index 39dbd227ad0..8e968a8a5a7 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageReminderStatusLabel.kt
@@ -62,7 +62,7 @@ fun MessageReminderStatusLabel(remindAt: Date?) {
}
val (text, color) = if (remindAt == null) {
- stringResource(R.string.reminders_status_save_for_later) to ChatTheme.colors.primaryAccent
+ stringResource(R.string.reminders_status_save_for_later) to ChatTheme.colors.accentPrimary
} else {
val delta = (remindAt.time - ticker.time)
val isOverdue = delta < 0
@@ -78,9 +78,9 @@ fun MessageReminderStatusLabel(remindAt: Date?) {
if (seconds > 0) append("${seconds}s")
}.ifEmpty { "0s" }
if (isOverdue) {
- stringResource(R.string.reminders_status_overdue_by, durationString) to ChatTheme.colors.errorAccent
+ stringResource(R.string.reminders_status_overdue_by, durationString) to ChatTheme.colors.accentError
} else {
- stringResource(R.string.reminders_status_due_in, durationString) to ChatTheme.colors.primaryAccent
+ stringResource(R.string.reminders_status_due_in, durationString) to ChatTheme.colors.accentPrimary
}
}
Text(
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt
index cf17d409e8b..c5ce34f8fd6 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/reminders/MessageRemindersScreen.kt
@@ -106,7 +106,7 @@ fun MessageRemindersScreen(
Column(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(padding),
) {
MessageRemindersFilterSelection(
@@ -178,7 +178,7 @@ private fun MessageRemindersLoadingContent() {
LoadingIndicator(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
)
}
@@ -192,7 +192,7 @@ private fun MessageRemindersEmptyContent(filter: MessageRemindersFilter) {
painter = painterResource(id = R.drawable.ic_bell_24),
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(16.dp),
)
}
@@ -220,7 +220,7 @@ private fun MessageRemindersResultList(
state = lazyListState,
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
items(reminders) {
MessageReminderItem(
@@ -234,7 +234,7 @@ private fun MessageRemindersResultList(
),
reminder = it,
)
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
}
if (isLoadingMore) {
item {
@@ -289,15 +289,15 @@ private fun MessageReminderFilterItem(
SuggestionChip(
modifier = Modifier.height(32.dp),
colors = SuggestionChipDefaults.suggestionChipColors(
- containerColor = if (isSelected) ChatTheme.colors.primaryAccent else ChatTheme.colors.appBackground,
+ containerColor = if (isSelected) ChatTheme.colors.accentPrimary else ChatTheme.colors.backgroundCoreApp,
),
shape = RoundedCornerShape(16.dp),
- border = if (isSelected) null else BorderStroke(1.dp, ChatTheme.colors.borders),
+ border = if (isSelected) null else BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault),
label = {
Text(
text = stringResource(filter.label),
fontSize = 14.sp,
- color = if (isSelected) Color.White else ChatTheme.colors.textLowEmphasis,
+ color = if (isSelected) Color.White else ChatTheme.colors.textSecondary,
)
},
onClick = onClick,
@@ -317,7 +317,7 @@ private fun MessageReminderItem(
Column(
modifier = modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(12.dp),
) {
Row(
@@ -327,7 +327,7 @@ private fun MessageReminderItem(
Text(
text = stringResource(R.string.reminders_channel_name, reminder.channel?.name ?: ""),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f),
@@ -355,14 +355,14 @@ private fun MessageReminderItem(
Text(
text = reminder.message?.user?.name ?: "",
fontSize = 16.sp,
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.bodyBold,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.bodyEmphasis,
)
Text(
text = reminder.message?.text ?: "",
fontSize = 14.sp,
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 2,
overflow = TextOverflow.Ellipsis,
)
@@ -382,7 +382,7 @@ private fun LoadingMoreItem() {
.padding(8.dp),
contentAlignment = Alignment.Center,
) {
- CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent)
+ CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt
index 14e5ae35b38..fd69fc2d6e9 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt
@@ -35,6 +35,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawingPadding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.OutlinedTextField
@@ -78,9 +79,7 @@ import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme
import io.getstream.chat.android.compose.ui.theme.MessageComposerTheme
import io.getstream.chat.android.compose.ui.theme.MessageOptionsTheme
import io.getstream.chat.android.compose.ui.theme.ReactionOptionsTheme
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamShapes
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.util.rememberMessageListState
import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerViewModel
import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel
@@ -138,21 +137,19 @@ class MessagesActivity : ComponentActivity() {
@Composable
private fun SetupChatTheme() {
val isInDarkMode = isSystemInDarkTheme()
- val colors = if (isInDarkMode) StreamColors.defaultDarkColors() else StreamColors.defaultColors()
- val typography = StreamTypography.defaultTypography()
- val shapes = StreamShapes.defaultShapes()
+ val colors = if (isInDarkMode) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default()
+ val typography = StreamDesign.Typography.default()
val messageComposerTheme = MessageComposerTheme
- .defaultTheme(isInDarkMode, typography, shapes, colors)
+ .defaultTheme(isInDarkMode, typography, colors)
.copy(
inputField = ComposerInputFieldTheme.defaultTheme(
- mentionStyleFactory = CustomMentionStyleFactory(colors.primaryAccent),
+ mentionStyleFactory = CustomMentionStyleFactory(colors.accentPrimary),
),
)
val locationViewModelFactory = SharedLocationViewModelFactory(cid)
ChatTheme(
isInDarkMode = isInDarkMode,
colors = colors,
- shapes = shapes,
typography = typography,
attachmentPickerConfig = AttachmentPickerConfig(useSystemPicker = false),
componentFactory = CustomChatComponentFactory(locationViewModelFactory = locationViewModelFactory),
@@ -228,7 +225,7 @@ class MessagesActivity : ComponentActivity() {
MessageList(
modifier = Modifier
.padding(it)
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.fillMaxSize(),
viewModel = listViewModel,
reactionSorting = ReactionSortingByFirstReactionAt,
@@ -313,7 +310,7 @@ class MessagesActivity : ComponentActivity() {
.align(Alignment.Center)
.padding(horizontal = 20.dp)
.wrapContentSize(),
- shape = ChatTheme.shapes.attachment,
+ shape = RoundedCornerShape(12.dp),
message = selectedMessage,
onMessageAction = { action ->
composerViewModel.performMessageAction(action)
@@ -377,12 +374,12 @@ class MessagesActivity : ComponentActivity() {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_gallery),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
modifier = Modifier.padding(start = 4.dp),
text = "Type something",
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
},
@@ -409,7 +406,7 @@ class MessagesActivity : ComponentActivity() {
) {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_send),
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
contentDescription = null,
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt
index 0190faac32e..6a99b610dd6 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/AddMembersDialog.kt
@@ -91,7 +91,7 @@ fun AddMembersDialog(
},
confirmButton = {
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = { viewModel.onViewAction(AddMembersViewAction.ConfirmClick) },
) {
Text(text = stringResource(id = io.getstream.chat.android.compose.R.string.stream_compose_ok))
@@ -99,13 +99,13 @@ fun AddMembersDialog(
},
dismissButton = {
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.textLowEmphasis),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.textSecondary),
onClick = onDismiss,
) {
Text(text = stringResource(id = io.getstream.chat.android.compose.R.string.stream_compose_cancel))
}
},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
)
LaunchedEffect(viewModel) {
viewModel.events.collectLatest { event ->
@@ -190,7 +190,7 @@ private fun SearchResultItem(
)
Text(
text = user.name,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 2,
textAlign = TextAlign.Center,
)
@@ -201,8 +201,8 @@ private fun SearchResultItem(
exit = shrinkOut(targetSize = { fullSize -> fullSize }) + fadeOut(),
) {
Icon(
- modifier = Modifier.background(ChatTheme.colors.barsBackground, CircleShape),
- tint = ChatTheme.colors.primaryAccent,
+ modifier = Modifier.background(ChatTheme.colors.backgroundElevationElevation1, CircleShape),
+ tint = ChatTheme.colors.accentPrimary,
painter = painterResource(id = R.drawable.ic_check_filled),
contentDescription = null,
)
@@ -225,7 +225,7 @@ private fun SearchResultEmpty(
)
Text(
text = stringResource(id = R.string.add_channel_no_matches),
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
textAlign = TextAlign.Center,
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt
index 478a293a6cb..d08eb35316d 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt
@@ -355,7 +355,7 @@ class ChatsActivity : ComponentActivity() {
title = {},
navigationIcon = { CloseButton(onClick = onNavigationIconClick) },
colors = TopAppBarDefaults.topAppBarColors(
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
),
)
}
@@ -480,7 +480,7 @@ class ChatsActivity : ComponentActivity() {
) {
val elevation by animateDpAsState(
targetValue = if (listState.canScrollBackward) {
- ChatTheme.dimens.headerElevation
+ 4.dp
} else {
0.dp
},
@@ -496,19 +496,21 @@ class ChatsActivity : ComponentActivity() {
Column {
Text(
text = stringResource(R.string.stream_ui_channel_info_group_title),
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = channelName,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
},
navigationIcon = navigationIcon,
expandedHeight = 56.dp,
- colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = TopAppBarDefaults.topAppBarColors(
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ ),
actions = {
if (infoState is ChannelInfoViewState.Content &&
infoState.options.contains(ChannelInfoViewState.Content.Option.AddMember)
@@ -644,7 +646,7 @@ private fun CloseButton(onClick: () -> Unit) {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_close),
contentDescription = stringResource(id = R.string.stream_compose_cancel),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt
index eff3d1502c5..1b49d45704a 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt
@@ -63,7 +63,7 @@ fun AppBottomBar(
Row(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground),
+ .background(ChatTheme.colors.backgroundElevationElevation1),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceEvenly,
) {
@@ -116,7 +116,7 @@ private fun AppBottomBarOptionTile(
decorationBadge: (@Composable () -> Unit)? = null,
) {
val contentColor by animateColorAsState(
- targetValue = if (isSelected) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.textLowEmphasis,
+ targetValue = if (isSelected) ChatTheme.colors.textPrimary else ChatTheme.colors.textSecondary,
)
Box(
modifier = Modifier
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt
index 9b9b0a36bb7..1f48684fc2c 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt
@@ -63,7 +63,7 @@ fun AppToolbar(
Row(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.padding(8.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceBetween,
@@ -73,14 +73,14 @@ fun AppToolbar(
modifier = Modifier.size(24.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_arrow_back),
contentDescription = "Back",
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
Text(
text = title,
fontWeight = FontWeight.Bold,
fontSize = 16.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
textAlign = TextAlign.Center,
)
Spacer(modifier = Modifier.width(44.dp))
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt
index 429040f2f35..35db2cc526e 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/CustomChatComponentFactory.kt
@@ -48,7 +48,7 @@ class CustomChatComponentFactory(
.run {
// Highlight the item background color if it is pinned
if (channelItem.channel.isPinned()) {
- background(color = ChatTheme.colors.highlight)
+ background(color = ChatTheme.colors.backgroundCoreHighlight)
} else {
this
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt
index efc1de9c808..b4e081e43ac 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/DeleteMessageForMeComponentFactory.kt
@@ -142,8 +142,8 @@ class DeleteMessageForMeComponentFactory(
Text(
modifier = Modifier.padding(vertical = 4.dp),
text = "Deleted only for me",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textPrimary,
)
}
super.MessageFooterContent(messageItem)
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt
index a36bd6574cf..58302ebfca7 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapBox.kt
@@ -20,12 +20,13 @@ import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxScope
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.ripple
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Shape
-import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import androidx.compose.ui.unit.dp
@OptIn(ExperimentalFoundationApi::class)
@Suppress("LongParameterList")
@@ -34,7 +35,7 @@ internal fun MapBox(
modifier: Modifier,
latitude: Double,
longitude: Double,
- shape: Shape = ChatTheme.shapes.attachment,
+ shape: Shape = RoundedCornerShape(12.dp),
onClick: ((url: String) -> Unit)? = null,
onLongClick: ((url: String) -> Unit)? = null,
content: @Composable BoxScope.() -> Unit,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt
index 81fce717162..4b45d226911 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MapWebView.kt
@@ -46,7 +46,7 @@ internal fun MapWebView(
var htmlContent by remember { mutableStateOf(null) }
var viewSize by remember { mutableStateOf(null) }
val density = LocalDensity.current
- val markerColor = ChatTheme.colors.primaryAccent.toHexString()
+ val markerColor = ChatTheme.colors.accentPrimary.toHexString()
LaunchedEffect(viewSize) {
// Ensure the HTML content is updated when the view size changes
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt
index b03d342e47a..72fd994c105 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MessageInfoComponentFactory.kt
@@ -118,7 +118,7 @@ class MessageInfoComponentFactory : ChatComponentFactory {
onDismiss()
dismissed = true // Mark as dismissed to avoid animating the menu again
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) {
val coroutineScope = rememberCoroutineScope()
val state by remember(message) { readsOf(message, coroutineScope) }.collectAsState(null)
@@ -241,8 +241,8 @@ private fun ReadItem(userRead: ChannelUserRead) {
Text(
text = userRead.user.name.takeIf(String::isNotBlank) ?: userRead.user.id,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt
index 7f79f7e8900..72b320429e5 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/Pane.kt
@@ -44,8 +44,8 @@ internal fun PaneTitle(
Text(
modifier = Modifier.padding(padding),
text = text,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
@@ -73,7 +73,7 @@ internal fun PaneRow(
else -> RectangleShape
}
background(
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
shape = shape,
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt
index 143fde3d329..c3b3386855c 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt
@@ -29,6 +29,8 @@ import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.LocationOn
import androidx.compose.material.icons.rounded.NearMe
@@ -130,7 +132,7 @@ private fun LiveLocationSharing(
val isLiveLocationEnded = !endAt.after(Date())
Column(
modifier = modifier
- .clip(ChatTheme.shapes.attachment)
+ .clip(RoundedCornerShape(12.dp))
.background(
color = if (isOwnMessage) {
ChatTheme.colors.chatBgOutgoing
@@ -152,11 +154,11 @@ private fun LiveLocationSharing(
animationSpec = infiniteRepeatable(animation = tween(AnimationDurationMillis)),
)
val animatedColor by rememberInfiniteTransition().animateColor(
- initialValue = ChatTheme.colors.primaryAccent,
+ initialValue = ChatTheme.colors.accentPrimary,
targetValue = if (isLiveLocationEnded) {
- ChatTheme.colors.primaryAccent
+ ChatTheme.colors.accentPrimary
} else {
- ChatTheme.colors.primaryAccent.copy(alpha = 0f)
+ ChatTheme.colors.accentPrimary.copy(alpha = 0f)
},
animationSpec = infiniteRepeatable(animation = tween(AnimationDurationMillis)),
)
@@ -165,7 +167,7 @@ private fun LiveLocationSharing(
.align(Alignment.Center)
.background(
color = animatedColor,
- shape = ChatTheme.shapes.avatar,
+ shape = CircleShape,
)
.padding(animatedPadding.dp)
.size(AvatarSize.Medium),
@@ -182,12 +184,12 @@ private fun LiveLocationSharing(
Icon(
imageVector = Icons.Rounded.NearMeDisabled,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
text = "Live location sharing ended",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
} else {
@@ -200,19 +202,19 @@ private fun LiveLocationSharing(
Icon(
imageVector = Icons.Rounded.NearMe,
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
}
Text(
text = "Sharing live location until ${ChatTheme.dateFormatter.formatDate(location.endAt)}",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
if (isOwnMessage) {
TextButton(
modifier = Modifier.fillMaxWidth(),
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.errorAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentError),
onClick = onStopSharingClick,
) {
Text(text = "Stop Sharing")
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt
index 3dfdbab44ce..91e2ee6655c 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/DurationDropdownMenu.kt
@@ -37,14 +37,14 @@ fun DurationDropdownMenu(
) {
DropdownMenu(
expanded = expanded,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = onDismiss,
) {
Text(
modifier = Modifier.padding(16.dp),
text = "Select a duration for sharing",
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Duration.entries.forEach { duration ->
val label = when (duration) {
@@ -54,7 +54,7 @@ fun DurationDropdownMenu(
}
DropdownMenuItem(
text = { Text(text = label) },
- colors = MenuDefaults.itemColors(textColor = ChatTheme.colors.textLowEmphasis),
+ colors = MenuDefaults.itemColors(textColor = ChatTheme.colors.textSecondary),
onClick = { onSelect(duration) },
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt
index 0422c412dbf..a459e08c54f 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationComponentFactory.kt
@@ -140,7 +140,7 @@ class LocationComponentFactory(
if (message.hasSharedLocation() && !message.isDeleted()) {
val location = requireNotNull(message.sharedLocation)
SharedLocationItem(
- modifier = Modifier.widthIn(max = ChatTheme.dimens.messageItemMaxWidth),
+ modifier = Modifier.widthIn(max = 250.dp),
message = message,
location = location,
onMapClick = { url -> onLinkClick?.invoke(message, url) },
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt
index c84739c5503..70df808668e 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt
@@ -250,21 +250,21 @@ private fun LocationPermissionRequired(
) {
Text(
modifier = Modifier.padding(bottom = 8.dp),
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
text = title,
textAlign = TextAlign.Center,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
text = message,
textAlign = TextAlign.Center,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = onClick,
) {
Text(stringResource(id = R.string.stream_ui_message_composer_grant_permission_button))
@@ -290,15 +290,15 @@ private fun LocationButton(
width = 1.dp,
color = if (isPrimary) {
if (enabled) {
- ChatTheme.colors.primaryAccent
+ ChatTheme.colors.accentPrimary
} else {
- ChatTheme.colors.disabled
+ ChatTheme.colors.textDisabled
}
} else {
- ChatTheme.colors.borders
+ ChatTheme.colors.borderCoreDefault
},
),
- colors = ButtonDefaults.outlinedButtonColors(contentColor = ChatTheme.colors.textHighEmphasis),
+ colors = ButtonDefaults.outlinedButtonColors(contentColor = ChatTheme.colors.textPrimary),
onClick = onClick,
) {
Row(
@@ -310,9 +310,9 @@ private fun LocationButton(
imageVector = icon,
contentDescription = null,
tint = if (enabled) {
- ChatTheme.colors.primaryAccent
+ ChatTheme.colors.accentPrimary
} else {
- ChatTheme.colors.disabled
+ ChatTheme.colors.textDisabled
},
)
Column(
@@ -320,12 +320,12 @@ private fun LocationButton(
) {
Text(
text = label,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
)
Text(
text = description,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt
index cc4f4b9d8f2..8d85b6a1323 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt
@@ -109,7 +109,7 @@ class CustomLoginActivity : AppCompatActivity() {
onLoginButtonClick: (UserCredentials) -> Unit,
) {
Scaffold(
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
topBar = { CustomLoginToolbar(onClick = onBackButtonClick) },
content = {
Column(
@@ -187,7 +187,7 @@ class CustomLoginActivity : AppCompatActivity() {
modifier = Modifier.padding(16.dp),
text = stringResource(R.string.sdk_version_template, BuildConfig.STREAM_CHAT_VERSION),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
},
@@ -212,7 +212,7 @@ class CustomLoginActivity : AppCompatActivity() {
)
}
},
- colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
)
}
@@ -231,17 +231,17 @@ class CustomLoginActivity : AppCompatActivity() {
onValueChange = { onValueChange(it) },
singleLine = true,
label = { Text(hint) },
- shape = ChatTheme.shapes.inputField,
+ shape = RoundedCornerShape(24.dp),
colors = TextFieldDefaults.colors(
- focusedTextColor = ChatTheme.colors.textHighEmphasis,
- unfocusedTextColor = ChatTheme.colors.textHighEmphasis,
- focusedContainerColor = ChatTheme.colors.inputBackground,
- unfocusedContainerColor = ChatTheme.colors.inputBackground,
- cursorColor = ChatTheme.colors.primaryAccent,
+ focusedTextColor = ChatTheme.colors.textPrimary,
+ unfocusedTextColor = ChatTheme.colors.textPrimary,
+ focusedContainerColor = ChatTheme.colors.backgroundCoreSurface,
+ unfocusedContainerColor = ChatTheme.colors.backgroundCoreSurface,
+ cursorColor = ChatTheme.colors.accentPrimary,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
- focusedLabelColor = ChatTheme.colors.primaryAccent,
- unfocusedLabelColor = ChatTheme.colors.textLowEmphasis,
+ focusedLabelColor = ChatTheme.colors.accentPrimary,
+ unfocusedLabelColor = ChatTheme.colors.textSecondary,
),
)
}
@@ -258,8 +258,8 @@ class CustomLoginActivity : AppCompatActivity() {
enabled = enabled,
shape = RoundedCornerShape(8.dp),
colors = ButtonDefaults.buttonColors(
- containerColor = ChatTheme.colors.primaryAccent,
- disabledContainerColor = ChatTheme.colors.disabled,
+ containerColor = ChatTheme.colors.accentPrimary,
+ disabledContainerColor = ChatTheme.colors.backgroundCoreDisabled,
),
onClick = onClick,
) {
@@ -285,20 +285,20 @@ class CustomLoginActivity : AppCompatActivity() {
checked = value,
onCheckedChange = onValueChange,
colors = SwitchDefaults.colors(
- checkedThumbColor = ChatTheme.colors.primaryAccent,
- checkedTrackColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f),
- uncheckedThumbColor = ChatTheme.colors.textLowEmphasis,
- uncheckedTrackColor = ChatTheme.colors.textLowEmphasis.copy(alpha = 0.5f),
+ checkedThumbColor = ChatTheme.colors.accentPrimary,
+ checkedTrackColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f),
+ uncheckedThumbColor = ChatTheme.colors.textSecondary,
+ uncheckedTrackColor = ChatTheme.colors.textSecondary.copy(alpha = 0.5f),
),
)
Column {
Text(
text = stringResource(id = R.string.custom_login_enable_adaptive_layout),
- style = ChatTheme.typography.title3,
+ style = ChatTheme.typography.headingMedium,
)
Text(
text = stringResource(id = R.string.custom_login_enable_adaptive_layout_description),
- style = ChatTheme.typography.footnote,
+ style = ChatTheme.typography.metadataDefault,
)
}
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
index 2768bda2433..830158cc049 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
@@ -120,7 +120,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier.size(width = 80.dp, height = 40.dp),
painter = painterResource(id = R.drawable.ic_stream),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
Spacer(modifier = Modifier.height(20.dp))
@@ -130,7 +130,7 @@ class UserLoginActivity : AppCompatActivity() {
text = stringResource(R.string.user_login_screen_title),
fontSize = 22.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.height(12.dp))
@@ -139,7 +139,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier.padding(horizontal = 16.dp),
text = stringResource(R.string.user_login_screen_subtitle),
fontSize = 14.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.height(28.dp))
@@ -169,7 +169,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier.padding(16.dp),
text = stringResource(R.string.sdk_version_template, STREAM_CHAT_VERSION),
fontSize = 14.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
}
@@ -210,13 +210,13 @@ class UserLoginActivity : AppCompatActivity() {
text = userCredentials.user.name,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = stringResource(id = R.string.user_login_user_subtitle),
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
@@ -224,7 +224,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier.wrapContentSize(),
painter = painterResource(id = R.drawable.ic_arrow_right),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
}
}
@@ -250,7 +250,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier
.clip(CircleShape)
.size(40.dp)
- .background(ChatTheme.colors.disabled)
+ .background(ChatTheme.colors.backgroundCoreDisabled)
.padding(8.dp),
painter = painterResource(id = R.drawable.ic_settings),
contentDescription = null,
@@ -267,13 +267,13 @@ class UserLoginActivity : AppCompatActivity() {
text = stringResource(id = R.string.user_login_advanced_options),
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = stringResource(id = R.string.user_login_custom_settings),
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
@@ -281,7 +281,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier.wrapContentSize(),
painter = painterResource(id = R.drawable.ic_arrow_right),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
}
}
@@ -292,7 +292,7 @@ class UserLoginActivity : AppCompatActivity() {
modifier = Modifier
.fillMaxWidth()
.height(0.5.dp)
- .background(color = ChatTheme.colors.borders),
+ .background(color = ChatTheme.colors.borderCoreDefault),
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt
index 6c5f1de5d21..1d9cc8041f7 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePrivacySettingsScreen.kt
@@ -101,7 +101,7 @@ fun UserProfilePrivacySettingsScreen(
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 8.dp),
colors = ButtonDefaults.buttonColors(
- containerColor = ChatTheme.colors.primaryAccent,
+ containerColor = ChatTheme.colors.accentPrimary,
),
shape = RoundedCornerShape(12.dp),
) {
@@ -118,7 +118,7 @@ fun UserProfilePrivacySettingsScreen(
Spacer(modifier = Modifier.size(8.dp))
Text(
text = "Save Settings",
- style = ChatTheme.typography.bodyBold.copy(
+ style = ChatTheme.typography.bodyEmphasis.copy(
color = Color.White,
fontSize = 16.sp,
),
@@ -148,8 +148,8 @@ private fun SwitchItem(
) {
Text(
text = label,
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Switch(
checked = checked,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt
index e74cbdc00d3..741f658691a 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfilePushPreferencesScreen.kt
@@ -102,7 +102,7 @@ fun UserProfilePushPreferencesScreen(
Column(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
// Notification Level Section
NotificationLevelSection(
@@ -140,8 +140,8 @@ private fun NotificationLevelSection(
) {
Text(
text = "NOTIFICATION LEVEL",
- style = ChatTheme.typography.footnote.copy(
- color = if (isEnabled) ChatTheme.colors.textLowEmphasis else ChatTheme.colors.disabled,
+ style = ChatTheme.typography.metadataDefault.copy(
+ color = if (isEnabled) ChatTheme.colors.textSecondary else ChatTheme.colors.textDisabled,
fontWeight = FontWeight.Medium,
),
modifier = Modifier.padding(16.dp),
@@ -185,8 +185,8 @@ private fun TemporaryDisableSection(
) {
Text(
text = "TEMPORARY DISABLE",
- style = ChatTheme.typography.footnote.copy(
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault.copy(
+ color = ChatTheme.colors.textSecondary,
fontWeight = FontWeight.Medium,
),
modifier = Modifier.padding(16.dp),
@@ -208,8 +208,8 @@ private fun TemporaryDisableSection(
) {
Text(
text = "Disable notifications temporarily",
- style = ChatTheme.typography.bodyBold.copy(
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis.copy(
+ color = ChatTheme.colors.textPrimary,
),
)
@@ -217,9 +217,9 @@ private fun TemporaryDisableSection(
checked = isTemporaryDisabled,
onCheckedChange = null, // Handled by row click
colors = SwitchDefaults.colors(
- checkedTrackColor = ChatTheme.colors.infoAccent,
+ checkedTrackColor = ChatTheme.colors.accentSuccess,
checkedThumbColor = Color.White,
- uncheckedTrackColor = ChatTheme.colors.disabled,
+ uncheckedTrackColor = ChatTheme.colors.backgroundCoreDisabled,
uncheckedThumbColor = Color.White,
),
)
@@ -250,7 +250,7 @@ private fun ActionButtons(
containerColor = if (isTemporaryDisabled) {
Color(color = 0xFFFF8A65) // Orange color when temporary disable is ON
} else {
- ChatTheme.colors.primaryAccent // Blue color when temporary disable is OFF
+ ChatTheme.colors.accentPrimary
},
),
shape = RoundedCornerShape(12.dp),
@@ -258,7 +258,7 @@ private fun ActionButtons(
if (isTemporaryDisabled) {
Text(
text = "🔔 Snooze Notifications",
- style = ChatTheme.typography.bodyBold.copy(
+ style = ChatTheme.typography.bodyEmphasis.copy(
color = Color.White,
fontSize = 16.sp,
),
@@ -277,7 +277,7 @@ private fun ActionButtons(
Spacer(modifier = Modifier.size(8.dp))
Text(
text = "Save Preferences",
- style = ChatTheme.typography.bodyBold.copy(
+ style = ChatTheme.typography.bodyEmphasis.copy(
color = Color.White,
fontSize = 16.sp,
),
@@ -317,15 +317,15 @@ private fun DateTimeSelector(
) {
Text(
text = "Disable until:",
- style = ChatTheme.typography.bodyBold.copy(
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis.copy(
+ color = ChatTheme.colors.textPrimary,
),
)
Text(
text = displayTime,
- style = ChatTheme.typography.body.copy(
- color = ChatTheme.colors.primaryAccent,
+ style = ChatTheme.typography.bodyDefault.copy(
+ color = ChatTheme.colors.accentPrimary,
),
)
}
@@ -439,10 +439,10 @@ private fun NotificationLevelOption(
onClick = null, // Handled by row click
enabled = isEnabled,
colors = RadioButtonDefaults.colors(
- selectedColor = if (isEnabled) ChatTheme.colors.primaryAccent else ChatTheme.colors.disabled,
- unselectedColor = ChatTheme.colors.disabled,
- disabledSelectedColor = ChatTheme.colors.disabled,
- disabledUnselectedColor = ChatTheme.colors.disabled,
+ selectedColor = if (isEnabled) ChatTheme.colors.accentPrimary else ChatTheme.colors.textDisabled,
+ unselectedColor = ChatTheme.colors.textDisabled,
+ disabledSelectedColor = ChatTheme.colors.textDisabled,
+ disabledUnselectedColor = ChatTheme.colors.textDisabled,
),
modifier = Modifier.padding(end = 12.dp),
)
@@ -450,14 +450,14 @@ private fun NotificationLevelOption(
Column(modifier = Modifier.weight(1f)) {
Text(
text = title,
- style = ChatTheme.typography.bodyBold.copy(
- color = if (isEnabled) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.disabled,
+ style = ChatTheme.typography.bodyEmphasis.copy(
+ color = if (isEnabled) ChatTheme.colors.textPrimary else ChatTheme.colors.textDisabled,
),
)
Text(
text = subtitle,
- style = ChatTheme.typography.footnote.copy(
- color = if (isEnabled) ChatTheme.colors.textLowEmphasis else ChatTheme.colors.disabled,
+ style = ChatTheme.typography.metadataDefault.copy(
+ color = if (isEnabled) ChatTheme.colors.textSecondary else ChatTheme.colors.textDisabled,
),
)
}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt
index 10c00585897..d1f3d9960d6 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt
@@ -135,7 +135,7 @@ fun UserProfileScreen(
}
},
snackbarHost = { SnackbarHost(hostState = snackbarHostState) },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { paddingValues ->
UserProfileScreenContent(
modifier = Modifier.padding(paddingValues),
@@ -158,7 +158,7 @@ fun UserProfileScreen(
when (modalSheet) {
ModalSheet.UnreadCounts -> ModalBottomSheet(
onDismissRequest = { modalSheet = null },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) {
UnreadCounts(state.unreadCounts)
}
@@ -166,7 +166,7 @@ fun UserProfileScreen(
ModalSheet.PushPreferences -> ModalBottomSheet(
sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true),
onDismissRequest = { modalSheet = null },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) {
UserProfilePushPreferencesScreen(
preferences = state.user?.pushPreference ?: PushPreference(PushPreferenceLevel.all, null),
@@ -183,7 +183,7 @@ fun UserProfileScreen(
ModalSheet.UpdateProfilePicture -> ModalBottomSheet(
onDismissRequest = { modalSheet = null },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) {
UpdateProfilePicture(
onChooseFromLibraryClick = {
@@ -205,7 +205,7 @@ fun UserProfileScreen(
ModalSheet.UpdatePrivacySettings -> ModalBottomSheet(
onDismissRequest = { modalSheet = null },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) {
state.user?.let { user ->
UserProfilePrivacySettingsScreen(
@@ -259,7 +259,7 @@ private fun TopBar(onNavigationIconClick: () -> Unit) {
)
},
colors = TopAppBarDefaults.topAppBarColors(
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
),
)
}
@@ -279,8 +279,8 @@ private fun LinearProgressIndicator(
LinearProgressIndicator(
modifier = Modifier.fillMaxWidth(),
progress = { state.progress },
- color = ChatTheme.colors.primaryAccent,
- trackColor = ChatTheme.colors.inputBackground,
+ color = ChatTheme.colors.accentPrimary,
+ trackColor = ChatTheme.colors.backgroundCoreSurface,
drawStopIndicator = { /* Don't draw the stop indicator */ },
)
}
@@ -288,8 +288,8 @@ private fun LinearProgressIndicator(
else -> {
LinearProgressIndicator(
modifier = Modifier.fillMaxWidth(),
- color = ChatTheme.colors.primaryAccent,
- trackColor = ChatTheme.colors.inputBackground,
+ color = ChatTheme.colors.accentPrimary,
+ trackColor = ChatTheme.colors.backgroundCoreSurface,
)
}
}
@@ -342,13 +342,13 @@ private fun UserProfileScreenContent(
) {
Text(
text = "Name",
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = user.name.takeIf(String::isNotBlank) ?: user.id,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -363,13 +363,13 @@ private fun UserProfileScreenContent(
) {
Text(
text = "Average Response Time",
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = LocalContext.current.formatTime(seconds = avgResponseTimeInSeconds),
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -415,13 +415,13 @@ private fun NavigationItem(
) {
Text(
text = label,
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
Icon(
imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
@@ -451,13 +451,13 @@ private fun UserProfilePicture(
.align(Alignment.BottomEnd)
.size(24.dp)
.background(
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
shape = CircleShape,
)
.padding(4.dp),
imageVector = Icons.Rounded.Edit,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
@@ -476,8 +476,8 @@ private fun UpdateProfilePicture(
) {
Text(
text = "Update Profile Picture",
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
modifier = Modifier.padding(16.dp),
)
TextButton(
@@ -487,14 +487,14 @@ private fun UpdateProfilePicture(
Icon(
imageVector = Icons.Rounded.PhotoLibrary,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Spacer(modifier = Modifier.size(8.dp))
Text(
modifier = Modifier.weight(1f),
text = "Choose from library",
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
}
TextButton(
@@ -504,14 +504,14 @@ private fun UpdateProfilePicture(
Icon(
imageVector = Icons.Rounded.PhotoCamera,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Spacer(modifier = Modifier.size(8.dp))
Text(
modifier = Modifier.weight(1f),
text = "Take a photo",
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
}
TextButton(
@@ -521,14 +521,14 @@ private fun UpdateProfilePicture(
Icon(
imageVector = Icons.Rounded.Delete,
contentDescription = null,
- tint = ChatTheme.colors.errorAccent.copy(alpha = 0.8f),
+ tint = ChatTheme.colors.accentError.copy(alpha = 0.8f),
)
Spacer(modifier = Modifier.size(8.dp))
Text(
modifier = Modifier.weight(1f),
text = "Remove picture",
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.errorAccent,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.accentError,
)
}
}
@@ -596,13 +596,13 @@ private fun LazyListScope.summary(
) {
Text(
text = title,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = "$count",
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -630,13 +630,13 @@ private fun LazyListScope.unreadChannels(
) {
Text(
text = item.cid,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = "Last read ${ChatTheme.dateFormatter.formatRelativeTime(item.lastRead)}",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
CountText(
@@ -669,18 +669,18 @@ private fun LazyListScope.unreadThreads(
) {
Text(
text = item.parentMessageId,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = "Last read ${ChatTheme.dateFormatter.formatRelativeTime(item.lastRead)}",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
Text(
text = "Last read message: ${item.lastReadMessageId}",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
CountText(
@@ -716,15 +716,15 @@ private fun LazyListScope.unreadChannelsByType(
) {
Text(
text = item.channelType,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = "${item.channelsCount} channels",
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
CountText(
@@ -752,8 +752,8 @@ private fun LazyListScope.unreadChannelsByTeam(
Text(
modifier = Modifier.align(Alignment.CenterVertically),
text = team,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textPrimary,
)
CountText(
count = count,
@@ -773,8 +773,8 @@ private fun CountText(
.background(backgroundColor, RoundedCornerShape(6.dp))
.padding(horizontal = 8.dp, vertical = 4.dp),
text = count.toString(),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
diff --git a/stream-chat-android-compose/api/stream-chat-android-compose.api b/stream-chat-android-compose/api/stream-chat-android-compose.api
index 61a0a66f12f..76a6656ac7e 100644
--- a/stream-chat-android-compose/api/stream-chat-android-compose.api
+++ b/stream-chat-android-compose/api/stream-chat-android-compose.api
@@ -2743,33 +2743,6 @@ public final class io/getstream/chat/android/compose/ui/pinned/PinnedMessageList
public static final fun PinnedMessageList (Lio/getstream/chat/android/compose/viewmodel/pinned/PinnedMessageListViewModel;Landroidx/compose/ui/Modifier;Lio/getstream/chat/android/models/User;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V
}
-public final class io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme$Companion;
- public synthetic fun (JJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1-0d7_KjU ()J
- public final fun component2-0d7_KjU ()J
- public final fun component3-0d7_KjU ()J
- public final fun component4-0d7_KjU ()J
- public final fun component5-0d7_KjU ()J
- public final fun component6-0d7_KjU ()J
- public final fun copy-tNS2XkQ (JJJJJJ)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;
- public static synthetic fun copy-tNS2XkQ$default (Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;JJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getBackgroundOverlay-0d7_KjU ()J
- public final fun getBackgroundPrimary-0d7_KjU ()J
- public final fun getBackgroundSecondary-0d7_KjU ()J
- public final fun getCheckIconBackgroundColor-0d7_KjU ()J
- public final fun getCheckIconTintColor-0d7_KjU ()J
- public final fun getContentColor-0d7_KjU ()J
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme$Companion {
- public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;
-}
-
public final class io/getstream/chat/android/compose/ui/theme/ChannelMediaAttachmentsPreviewBottomBarParams {
public static final field $stable I
public fun (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V
@@ -3214,18 +3187,15 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/ChatTheme;
public final fun getAttachmentFactories (Landroidx/compose/runtime/Composer;I)Ljava/util/List;
public final fun getAttachmentPickerConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig;
- public final fun getAttachmentPickerTheme (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;
public final fun getAttachmentPreviewHandlers (Landroidx/compose/runtime/Composer;I)Ljava/util/List;
public final fun getAutoTranslationEnabled (Landroidx/compose/runtime/Composer;I)Z
public final fun getChannelNameFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;
public final fun getChannelOptionsTheme (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;
- public final fun getColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors;
+ public final fun getColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;
public final fun getComponentFactory (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;
public final fun getConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ChatConfig;
public final fun getDateFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DateFormatter;
- public final fun getDimens (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDimens;
public final fun getDurationFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DurationFormatter;
- public final fun getKeyboardBehaviour (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;
public final fun getMediaGalleryConfig (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig;
public final fun getMessageAlignmentProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;
public final fun getMessageComposerFloatingStyleEnabled (Landroidx/compose/runtime/Composer;I)Z
@@ -3239,7 +3209,6 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme {
public final fun getReactionResolver (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/ReactionResolver;
public final fun getReadCountEnabled (Landroidx/compose/runtime/Composer;I)Z
public final fun getSearchResultNameFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;
- public final fun getShapes (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamShapes;
public final fun getShowOriginalTranslationEnabled (Landroidx/compose/runtime/Composer;I)Z
public final fun getStreamCdnImageResizing (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;
public final fun getStreamDownloadAttachmentUriGenerator (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;
@@ -3248,14 +3217,14 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme {
public final fun getStreamImageHeadersProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;
public final fun getStreamMediaRecorder (Landroidx/compose/runtime/Composer;I)Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;
public final fun getTimeProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/TimeProvider;
- public final fun getTypography (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamTypography;
+ public final fun getTypography (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;
public final fun getUserPresence (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/model/UserPresence;
public final fun getVideoThumbnailsEnabled (Landroidx/compose/runtime/Composer;I)Z
public final fun isComposerLinkPreviewEnabled (Landroidx/compose/runtime/Composer;I)Z
}
public final class io/getstream/chat/android/compose/ui/theme/ChatThemeKt {
- public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatConfig;ZZZLio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig;ZLio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/StreamDimens;Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/ui/common/model/UserPresence;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;Lio/getstream/chat/android/compose/ui/util/PollSwitchItemFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIIIIII)V
+ public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatConfig;ZZZLio/getstream/chat/android/compose/state/messages/attachments/AttachmentPickerConfig;ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/ui/common/model/UserPresence;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;Lio/getstream/chat/android/compose/ui/util/PollSwitchItemFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryConfig;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIIIIII)V
public static final fun getLocalAttachmentPickerConfig ()Landroidx/compose/runtime/ProvidableCompositionLocal;
public static final fun getLocalComponentFactory ()Landroidx/compose/runtime/ProvidableCompositionLocal;
public static final fun getLocalComposerLinkPreviewEnabled ()Landroidx/compose/runtime/ProvidableCompositionLocal;
@@ -3374,7 +3343,7 @@ public final class io/getstream/chat/android/compose/ui/theme/ComposerActionsThe
}
public final class io/getstream/chat/android/compose/ui/theme/ComposerActionsTheme$Companion {
- public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;
+ public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;
}
public final class io/getstream/chat/android/compose/ui/theme/ComposerConfig {
@@ -3416,7 +3385,7 @@ public final class io/getstream/chat/android/compose/ui/theme/ComposerInputField
}
public final class io/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme$Companion {
- public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/MentionStyleFactory;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;
+ public final fun defaultTheme (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/MentionStyleFactory;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;
}
public final class io/getstream/chat/android/compose/ui/theme/CompoundComponentFactoryKt {
@@ -3467,22 +3436,20 @@ public final class io/getstream/chat/android/compose/ui/theme/MentionStyleFactor
public final class io/getstream/chat/android/compose/ui/theme/MessageComposerTheme {
public static final field $stable I
public static final field Companion Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme$Companion;
- public fun (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;)V
+ public fun (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;)V
public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;
public final fun component2 ()Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;
- public final fun component3 ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;
- public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
+ public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
+ public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
public fun equals (Ljava/lang/Object;)Z
public final fun getActionsTheme ()Lio/getstream/chat/android/compose/ui/theme/ComposerActionsTheme;
- public final fun getAttachmentsPreview ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;
public final fun getInputField ()Lio/getstream/chat/android/compose/ui/theme/ComposerInputFieldTheme;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final class io/getstream/chat/android/compose/ui/theme/MessageComposerTheme$Companion {
- public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
+ public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;
}
public final class io/getstream/chat/android/compose/ui/theme/MessageFooterStatusIndicatorParams {
@@ -3555,18 +3522,18 @@ public final class io/getstream/chat/android/compose/ui/theme/ReactionOptionsThe
public static synthetic fun defaultTheme$default (Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme$Companion;ZILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;
}
-public final class io/getstream/chat/android/compose/ui/theme/StreamColors {
+public final class io/getstream/chat/android/compose/ui/theme/StreamDesign {
public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamColors$Companion;
- public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public synthetic fun (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;
+ public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/StreamDesign;
+}
+
+public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Colors {
+ public static final field $stable I
+ public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion;
+ public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1-0d7_KjU ()J
public final fun component10-0d7_KjU ()J
- public final fun component100-0d7_KjU ()J
- public final fun component101-0d7_KjU ()J
- public final fun component102-0d7_KjU ()J
- public final fun component103-0d7_KjU ()J
- public final fun component104-0d7_KjU ()J
public final fun component11-0d7_KjU ()J
public final fun component12-0d7_KjU ()J
public final fun component13-0d7_KjU ()J
@@ -3637,42 +3604,16 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors {
public final fun component72-0d7_KjU ()J
public final fun component73-0d7_KjU ()J
public final fun component74-0d7_KjU ()J
- public final fun component75-0d7_KjU ()J
- public final fun component76-0d7_KjU ()J
- public final fun component77-0d7_KjU ()J
- public final fun component78-0d7_KjU ()J
- public final fun component79-0d7_KjU ()J
public final fun component8-0d7_KjU ()J
- public final fun component80-0d7_KjU ()J
- public final fun component81-0d7_KjU ()J
- public final fun component82-0d7_KjU ()J
- public final fun component83-0d7_KjU ()J
- public final fun component84-0d7_KjU ()J
- public final fun component85-0d7_KjU ()J
- public final fun component86-0d7_KjU ()J
- public final fun component87-0d7_KjU ()J
- public final fun component88-0d7_KjU ()J
- public final fun component89-0d7_KjU ()J
public final fun component9-0d7_KjU ()J
- public final fun component90-0d7_KjU ()J
- public final fun component91-0d7_KjU ()J
- public final fun component92-0d7_KjU ()J
- public final fun component93-0d7_KjU ()J
- public final fun component94-0d7_KjU ()J
- public final fun component95-0d7_KjU ()J
- public final fun component96-0d7_KjU ()J
- public final fun component97-0d7_KjU ()J
- public final fun component98-0d7_KjU ()J
- public final fun component99-0d7_KjU ()J
- public final fun copy-wfSMY9o (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamColors;
- public static synthetic fun copy-wfSMY9o$default (Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamColors;
+ public final fun copy-PluTXJ0 (JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;
+ public static synthetic fun copy-PluTXJ0$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;
public fun equals (Ljava/lang/Object;)Z
public final fun getAccentBlack-0d7_KjU ()J
public final fun getAccentError-0d7_KjU ()J
public final fun getAccentNeutral-0d7_KjU ()J
public final fun getAccentPrimary-0d7_KjU ()J
public final fun getAccentSuccess-0d7_KjU ()J
- public final fun getAppBackground-0d7_KjU ()J
public final fun getAvatarBgPlaceholder-0d7_KjU ()J
public final fun getAvatarPaletteBg1-0d7_KjU ()J
public final fun getAvatarPaletteBg2-0d7_KjU ()J
@@ -3685,30 +3626,40 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors {
public final fun getAvatarPaletteText4-0d7_KjU ()J
public final fun getAvatarPaletteText5-0d7_KjU ()J
public final fun getAvatarTextPlaceholder-0d7_KjU ()J
+ public final fun getBackgroundCoreApp-0d7_KjU ()J
public final fun getBackgroundCoreDisabled-0d7_KjU ()J
+ public final fun getBackgroundCoreHighlight-0d7_KjU ()J
public final fun getBackgroundCoreInverse-0d7_KjU ()J
+ public final fun getBackgroundCoreOverlayDark-0d7_KjU ()J
+ public final fun getBackgroundCoreScrim-0d7_KjU ()J
public final fun getBackgroundCoreSelected-0d7_KjU ()J
public final fun getBackgroundCoreSurface-0d7_KjU ()J
+ public final fun getBackgroundCoreSurfaceStrong-0d7_KjU ()J
public final fun getBackgroundCoreSurfaceSubtle-0d7_KjU ()J
public final fun getBackgroundElevationElevation0-0d7_KjU ()J
public final fun getBackgroundElevationElevation1-0d7_KjU ()J
public final fun getBackgroundElevationElevation2-0d7_KjU ()J
+ public final fun getBackgroundElevationElevation3-0d7_KjU ()J
+ public final fun getBackgroundElevationElevation4-0d7_KjU ()J
public final fun getBadgeBgDefault-0d7_KjU ()J
+ public final fun getBadgeBgError-0d7_KjU ()J
public final fun getBadgeBgInverse-0d7_KjU ()J
+ public final fun getBadgeBgNeutral-0d7_KjU ()J
public final fun getBadgeBgOverlay-0d7_KjU ()J
+ public final fun getBadgeBgPrimary-0d7_KjU ()J
+ public final fun getBadgeBorder-0d7_KjU ()J
public final fun getBadgeText-0d7_KjU ()J
public final fun getBadgeTextInverse-0d7_KjU ()J
public final fun getBadgeTextOnAccent-0d7_KjU ()J
- public final fun getBarsBackground-0d7_KjU ()J
public final fun getBorderCoreDefault-0d7_KjU ()J
- public final fun getBorderCoreImage-0d7_KjU ()J
public final fun getBorderCoreOnAccent-0d7_KjU ()J
public final fun getBorderCoreOnDark-0d7_KjU ()J
+ public final fun getBorderCoreOpacity10-0d7_KjU ()J
public final fun getBorderCoreOpacity25-0d7_KjU ()J
- public final fun getBorderCorePrimary-0d7_KjU ()J
- public final fun getBorderCoreSurfaceSubtle-0d7_KjU ()J
+ public final fun getBorderCoreStrong-0d7_KjU ()J
+ public final fun getBorderCoreSubtle-0d7_KjU ()J
public final fun getBorderUtilityDisabled-0d7_KjU ()J
- public final fun getBorders-0d7_KjU ()J
+ public final fun getBorderUtilitySelected-0d7_KjU ()J
public final fun getBrand100-0d7_KjU ()J
public final fun getBrand150-0d7_KjU ()J
public final fun getBrand200-0d7_KjU ()J
@@ -3736,8 +3687,11 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors {
public final fun getChatBgAttachmentOutgoing-0d7_KjU ()J
public final fun getChatBgIncoming-0d7_KjU ()J
public final fun getChatBgOutgoing-0d7_KjU ()J
+ public final fun getChatBgTypingIndicator-0d7_KjU ()J
+ public final fun getChatBorderIncoming-0d7_KjU ()J
public final fun getChatBorderOnChatIncoming-0d7_KjU ()J
public final fun getChatBorderOnChatOutgoing-0d7_KjU ()J
+ public final fun getChatBorderOutgoing-0d7_KjU ()J
public final fun getChatPollProgressFillIncoming-0d7_KjU ()J
public final fun getChatPollProgressFillOutgoing-0d7_KjU ()J
public final fun getChatPollProgressTrackIncoming-0d7_KjU ()J
@@ -3748,329 +3702,77 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamColors {
public final fun getChatTextLink-0d7_KjU ()J
public final fun getChatTextMention-0d7_KjU ()J
public final fun getChatTextOutgoing-0d7_KjU ()J
+ public final fun getChatTextReaction-0d7_KjU ()J
+ public final fun getChatTextRead-0d7_KjU ()J
public final fun getChatTextSystem-0d7_KjU ()J
public final fun getChatTextTimestamp-0d7_KjU ()J
+ public final fun getChatTextUsername-0d7_KjU ()J
+ public final fun getChatThreadConnectorIncoming-0d7_KjU ()J
+ public final fun getChatThreadConnectorOutgoing-0d7_KjU ()J
public final fun getChatWaveformBar-0d7_KjU ()J
public final fun getChatWaveformBarPlaying-0d7_KjU ()J
+ public final fun getChipBg-0d7_KjU ()J
public final fun getChipText-0d7_KjU ()J
+ public final fun getComposerBg-0d7_KjU ()J
public final fun getControlPlayControlBg-0d7_KjU ()J
public final fun getControlPlayControlIcon-0d7_KjU ()J
+ public final fun getControlPlaybackToggleBorder-0d7_KjU ()J
+ public final fun getControlPlaybackToggleText-0d7_KjU ()J
+ public final fun getControlProgressBarFill-0d7_KjU ()J
+ public final fun getControlProgressBarTrack-0d7_KjU ()J
+ public final fun getControlRadioCheckBg-0d7_KjU ()J
public final fun getControlRadioCheckBgSelected-0d7_KjU ()J
public final fun getControlRadioCheckBorder-0d7_KjU ()J
public final fun getControlRadioCheckIconSelected-0d7_KjU ()J
public final fun getControlRemoveBg-0d7_KjU ()J
public final fun getControlRemoveBorder-0d7_KjU ()J
public final fun getControlRemoveIcon-0d7_KjU ()J
- public final fun getDisabled-0d7_KjU ()J
- public final fun getErrorAccent-0d7_KjU ()J
- public final fun getHighlight-0d7_KjU ()J
- public final fun getImageBackgroundMediaGalleryPicker-0d7_KjU ()J
- public final fun getImageBackgroundMessageList-0d7_KjU ()J
- public final fun getInfoAccent-0d7_KjU ()J
- public final fun getInputBackground-0d7_KjU ()J
- public final fun getLegacyColors ()Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;
- public final fun getMediaShimmerBase-0d7_KjU ()J
- public final fun getMediaShimmerHighlights-0d7_KjU ()J
- public final fun getOverlay-0d7_KjU ()J
- public final fun getOverlayDark-0d7_KjU ()J
+ public final fun getControlToggleSwitchBg-0d7_KjU ()J
+ public final fun getControlToggleSwitchBgDisabled-0d7_KjU ()J
+ public final fun getControlToggleSwitchBgSelected-0d7_KjU ()J
+ public final fun getControlToggleSwitchKnob-0d7_KjU ()J
+ public final fun getInputBorderDefault-0d7_KjU ()J
+ public final fun getInputBorderHover-0d7_KjU ()J
+ public final fun getInputBorderSelected-0d7_KjU ()J
+ public final fun getInputSendIcon-0d7_KjU ()J
+ public final fun getInputSendIconDisabled-0d7_KjU ()J
+ public final fun getInputTextDefault-0d7_KjU ()J
+ public final fun getInputTextDisabled-0d7_KjU ()J
+ public final fun getInputTextIcon-0d7_KjU ()J
+ public final fun getInputTextPlaceholder-0d7_KjU ()J
public final fun getPresenceBgOffline-0d7_KjU ()J
public final fun getPresenceBgOnline-0d7_KjU ()J
public final fun getPresenceBorder-0d7_KjU ()J
- public final fun getPrimaryAccent-0d7_KjU ()J
- public final fun getShowMoreCountText-0d7_KjU ()J
- public final fun getShowMoreOverlay-0d7_KjU ()J
- public final fun getStateBgDisabled-0d7_KjU ()J
- public final fun getStateTextDisabled-0d7_KjU ()J
+ public final fun getReactionBg-0d7_KjU ()J
+ public final fun getReactionBorder-0d7_KjU ()J
+ public final fun getReactionEmoji-0d7_KjU ()J
+ public final fun getReactionText-0d7_KjU ()J
+ public final fun getSkeletonLoadingBase-0d7_KjU ()J
+ public final fun getSkeletonLoadingHighlight-0d7_KjU ()J
public final fun getTextDisabled-0d7_KjU ()J
- public final fun getTextHighEmphasis-0d7_KjU ()J
- public final fun getTextHighEmphasisInverse-0d7_KjU ()J
- public final fun getTextLowEmphasis-0d7_KjU ()J
public final fun getTextOnAccent-0d7_KjU ()J
public final fun getTextOnDark-0d7_KjU ()J
public final fun getTextPrimary-0d7_KjU ()J
public final fun getTextSecondary-0d7_KjU ()J
public final fun getTextTertiary-0d7_KjU ()J
- public final fun getThreadSeparatorGradientEnd-0d7_KjU ()J
- public final fun getThreadSeparatorGradientStart-0d7_KjU ()J
- public final fun getVideoBackgroundMediaGalleryPicker-0d7_KjU ()J
- public final fun getVideoBackgroundMessageList-0d7_KjU ()J
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamColors$Companion {
- public final fun defaultColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors;
- public final fun defaultDarkColors (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamColors;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamDimens {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDimens$Companion;
- public synthetic fun (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFIILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public synthetic fun (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFLkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1-D9Ej5fM ()F
- public final fun component10-D9Ej5fM ()F
- public final fun component11-D9Ej5fM ()F
- public final fun component12-D9Ej5fM ()F
- public final fun component13-D9Ej5fM ()F
- public final fun component14-D9Ej5fM ()F
- public final fun component15-D9Ej5fM ()F
- public final fun component16-D9Ej5fM ()F
- public final fun component17-D9Ej5fM ()F
- public final fun component18-D9Ej5fM ()F
- public final fun component19-D9Ej5fM ()F
- public final fun component2-D9Ej5fM ()F
- public final fun component20-D9Ej5fM ()F
- public final fun component21-D9Ej5fM ()F
- public final fun component22-D9Ej5fM ()F
- public final fun component23-D9Ej5fM ()F
- public final fun component24-D9Ej5fM ()F
- public final fun component25-D9Ej5fM ()F
- public final fun component26-D9Ej5fM ()F
- public final fun component27-D9Ej5fM ()F
- public final fun component28-D9Ej5fM ()F
- public final fun component29-D9Ej5fM ()F
- public final fun component3-D9Ej5fM ()F
- public final fun component30-D9Ej5fM ()F
- public final fun component31-D9Ej5fM ()F
- public final fun component32-D9Ej5fM ()F
- public final fun component33-D9Ej5fM ()F
- public final fun component34-D9Ej5fM ()F
- public final fun component35-D9Ej5fM ()F
- public final fun component36-D9Ej5fM ()F
- public final fun component37-D9Ej5fM ()F
- public final fun component38-D9Ej5fM ()F
- public final fun component39-D9Ej5fM ()F
- public final fun component4-D9Ej5fM ()F
- public final fun component40-D9Ej5fM ()F
- public final fun component41-D9Ej5fM ()F
- public final fun component42-D9Ej5fM ()F
- public final fun component43-D9Ej5fM ()F
- public final fun component44-D9Ej5fM ()F
- public final fun component45-D9Ej5fM ()F
- public final fun component46-D9Ej5fM ()F
- public final fun component47-D9Ej5fM ()F
- public final fun component48-D9Ej5fM ()F
- public final fun component49-D9Ej5fM ()F
- public final fun component5-D9Ej5fM ()F
- public final fun component50-D9Ej5fM ()F
- public final fun component51-D9Ej5fM ()F
- public final fun component52-D9Ej5fM ()F
- public final fun component53-D9Ej5fM ()F
- public final fun component54-D9Ej5fM ()F
- public final fun component6-D9Ej5fM ()F
- public final fun component7-D9Ej5fM ()F
- public final fun component8-D9Ej5fM ()F
- public final fun component9-D9Ej5fM ()F
- public final fun copy-zsmG0Fc (FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)Lio/getstream/chat/android/compose/ui/theme/StreamDimens;
- public static synthetic fun copy-zsmG0Fc$default (Lio/getstream/chat/android/compose/ui/theme/StreamDimens;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFIILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDimens;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAttachmentsContentFileUploadWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentFileWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentGiphyHeight-D9Ej5fM ()F
- public final fun getAttachmentsContentGiphyMaxHeight-D9Ej5fM ()F
- public final fun getAttachmentsContentGiphyMaxWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentGiphyWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentGroupPreviewHeight-D9Ej5fM ()F
- public final fun getAttachmentsContentGroupPreviewWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentImageMaxHeight-D9Ej5fM ()F
- public final fun getAttachmentsContentImageWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentLinkWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentMediaGridSpacing-D9Ej5fM ()F
- public final fun getAttachmentsContentUnsupportedWidth-D9Ej5fM ()F
- public final fun getAttachmentsContentVideoMaxHeight-D9Ej5fM ()F
- public final fun getAttachmentsContentVideoWidth-D9Ej5fM ()F
- public final fun getAttachmentsPickerHeight-D9Ej5fM ()F
- public final fun getAttachmentsSystemPickerHeight-D9Ej5fM ()F
- public final fun getChannelAvatarSize-D9Ej5fM ()F
- public final fun getChannelItemHorizontalPadding-D9Ej5fM ()F
- public final fun getChannelItemVerticalPadding-D9Ej5fM ()F
- public final fun getCommandSuggestionItemHorizontalPadding-D9Ej5fM ()F
- public final fun getCommandSuggestionItemIconSize-D9Ej5fM ()F
- public final fun getCommandSuggestionItemVerticalPadding-D9Ej5fM ()F
- public final fun getGroupAvatarInitialsXOffset-D9Ej5fM ()F
- public final fun getGroupAvatarInitialsYOffset-D9Ej5fM ()F
- public final fun getHeaderElevation-D9Ej5fM ()F
- public final fun getMentionSuggestionItemAvatarSize-D9Ej5fM ()F
- public final fun getMentionSuggestionItemHorizontalPadding-D9Ej5fM ()F
- public final fun getMentionSuggestionItemVerticalPadding-D9Ej5fM ()F
- public final fun getMessageComposerShadowElevation-D9Ej5fM ()F
- public final fun getMessageItemMaxWidth-D9Ej5fM ()F
- public final fun getPollOptionInputHeight-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentBottomPadding-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentEndPadding-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentPreviewSize-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentSpacerHorizontal-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentSpacerVertical-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentStartPadding-D9Ej5fM ()F
- public final fun getQuotedMessageAttachmentTopPadding-D9Ej5fM ()F
- public final fun getQuotedMessageTextHorizontalPadding-D9Ej5fM ()F
- public final fun getQuotedMessageTextVerticalPadding-D9Ej5fM ()F
- public final fun getSelectedChannelMenuUserItemAvatarSize-D9Ej5fM ()F
- public final fun getSelectedChannelMenuUserItemHorizontalPadding-D9Ej5fM ()F
- public final fun getSelectedChannelMenuUserItemWidth-D9Ej5fM ()F
- public final fun getSuggestionListElevation-D9Ej5fM ()F
- public final fun getSuggestionListMaxHeight-D9Ej5fM ()F
- public final fun getSuggestionListPadding-D9Ej5fM ()F
- public final fun getThreadParticipantItemSize-D9Ej5fM ()F
- public final fun getThreadSeparatorTextVerticalPadding-D9Ej5fM ()F
- public final fun getThreadSeparatorVerticalPadding-D9Ej5fM ()F
- public final fun getUserReactionItemAvatarSize-D9Ej5fM ()F
- public final fun getUserReactionItemIconSize-D9Ej5fM ()F
- public final fun getUserReactionItemWidth-D9Ej5fM ()F
- public final fun getUserReactionsMaxHeight-D9Ej5fM ()F
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamDimens$Companion {
- public final fun defaultDimens ()Lio/getstream/chat/android/compose/ui/theme/StreamDimens;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour$Companion;
- public fun (Z)V
- public final fun component1 ()Z
- public final fun copy (Z)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;ZILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCloseKeyboardOnAttachmentPickerOpen ()Z
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour$Companion {
- public final fun defaultBehaviour ()Lio/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamLegacyColors {
- public static final field $stable I
- public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1-0d7_KjU ()J
- public final fun component10-0d7_KjU ()J
- public final fun component11-0d7_KjU ()J
- public final fun component12-0d7_KjU ()J
- public final fun component13-0d7_KjU ()J
- public final fun component14-0d7_KjU ()J
- public final fun component15-0d7_KjU ()J
- public final fun component16-0d7_KjU ()J
- public final fun component17-0d7_KjU ()J
- public final fun component18-0d7_KjU ()J
- public final fun component19-0d7_KjU ()J
- public final fun component2-0d7_KjU ()J
- public final fun component20-0d7_KjU ()J
- public final fun component21-0d7_KjU ()J
- public final fun component22-0d7_KjU ()J
- public final fun component23-0d7_KjU ()J
- public final fun component3-0d7_KjU ()J
- public final fun component4-0d7_KjU ()J
- public final fun component5-0d7_KjU ()J
- public final fun component6-0d7_KjU ()J
- public final fun component7-0d7_KjU ()J
- public final fun component8-0d7_KjU ()J
- public final fun component9-0d7_KjU ()J
- public final fun copy-ZLJeMyA (JJJJJJJJJJJJJJJJJJJJJJJ)Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;
- public static synthetic fun copy-ZLJeMyA$default (Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;JJJJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamLegacyColors;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getBarsBackground-0d7_KjU ()J
- public final fun getBorders-0d7_KjU ()J
- public final fun getDisabled-0d7_KjU ()J
- public final fun getErrorAccent-0d7_KjU ()J
- public final fun getHighlight-0d7_KjU ()J
- public final fun getImageBackgroundMediaGalleryPicker-0d7_KjU ()J
- public final fun getImageBackgroundMessageList-0d7_KjU ()J
- public final fun getInfoAccent-0d7_KjU ()J
- public final fun getInputBackground-0d7_KjU ()J
- public final fun getMediaShimmerBase-0d7_KjU ()J
- public final fun getMediaShimmerHighlights-0d7_KjU ()J
- public final fun getOverlay-0d7_KjU ()J
- public final fun getOverlayDark-0d7_KjU ()J
- public final fun getPrimaryAccent-0d7_KjU ()J
- public final fun getShowMoreCountText-0d7_KjU ()J
- public final fun getShowMoreOverlay-0d7_KjU ()J
- public final fun getTextHighEmphasis-0d7_KjU ()J
- public final fun getTextHighEmphasisInverse-0d7_KjU ()J
- public final fun getTextLowEmphasis-0d7_KjU ()J
- public final fun getThreadSeparatorGradientEnd-0d7_KjU ()J
- public final fun getThreadSeparatorGradientStart-0d7_KjU ()J
- public final fun getVideoBackgroundMediaGalleryPicker-0d7_KjU ()J
- public final fun getVideoBackgroundMessageList-0d7_KjU ()J
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
-public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion;
- public synthetic fun (JLandroidx/compose/material/ripple/RippleAlpha;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun getColor-0d7_KjU ()J
- public final fun getRippleAlpha ()Landroidx/compose/material/ripple/RippleAlpha;
+public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Colors$Companion {
+ public final fun default ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;
+ public final fun defaultDark ()Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;
}
-public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion {
- public final fun defaultRippleConfiguration-Iv8Zu3U (JZLandroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamShapes {
+public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Typography {
public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamShapes$Companion;
- public fun (Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;)V
- public final fun component1 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component10 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component11 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component2 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component3 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component4 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component5 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component6 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component7 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component8 ()Landroidx/compose/ui/graphics/Shape;
- public final fun component9 ()Landroidx/compose/ui/graphics/Shape;
- public final fun copy (Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;)Lio/getstream/chat/android/compose/ui/theme/StreamShapes;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/ui/graphics/Shape;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamShapes;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAttachment ()Landroidx/compose/ui/graphics/Shape;
- public final fun getAvatar ()Landroidx/compose/ui/graphics/Shape;
- public final fun getBottomSheet ()Landroidx/compose/ui/graphics/Shape;
- public final fun getHeader ()Landroidx/compose/ui/graphics/Shape;
- public final fun getImageThumbnail ()Landroidx/compose/ui/graphics/Shape;
- public final fun getInputField ()Landroidx/compose/ui/graphics/Shape;
- public final fun getMyMessageBubble ()Landroidx/compose/ui/graphics/Shape;
- public final fun getOtherMessageBubble ()Landroidx/compose/ui/graphics/Shape;
- public final fun getPollOptionInput ()Landroidx/compose/ui/graphics/Shape;
- public final fun getQuotedAttachment ()Landroidx/compose/ui/graphics/Shape;
- public final fun getSuggestionList ()Landroidx/compose/ui/graphics/Shape;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamShapes$Companion {
- public final fun defaultShapes ()Lio/getstream/chat/android/compose/ui/theme/StreamShapes;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/StreamTypography {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamTypography$Companion;
- public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)V
+ public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion;
+ public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)V
public final fun component1 ()Landroidx/compose/ui/text/TextStyle;
public final fun component10 ()Landroidx/compose/ui/text/TextStyle;
public final fun component11 ()Landroidx/compose/ui/text/TextStyle;
public final fun component12 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component13 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component14 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component15 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component16 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component17 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component18 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component19 ()Landroidx/compose/ui/text/TextStyle;
public final fun component2 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component20 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component21 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component22 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component23 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component24 ()Landroidx/compose/ui/text/TextStyle;
- public final fun component25 ()Landroidx/compose/ui/text/TextStyle;
public final fun component3 ()Landroidx/compose/ui/text/TextStyle;
public final fun component4 ()Landroidx/compose/ui/text/TextStyle;
public final fun component5 ()Landroidx/compose/ui/text/TextStyle;
@@ -4078,21 +3780,13 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamTypography {
public final fun component7 ()Landroidx/compose/ui/text/TextStyle;
public final fun component8 ()Landroidx/compose/ui/text/TextStyle;
public final fun component9 ()Landroidx/compose/ui/text/TextStyle;
- public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography;
+ public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;
+ public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;
public fun equals (Ljava/lang/Object;)Z
- public final fun getBody ()Landroidx/compose/ui/text/TextStyle;
- public final fun getBodyBold ()Landroidx/compose/ui/text/TextStyle;
public final fun getBodyDefault ()Landroidx/compose/ui/text/TextStyle;
public final fun getBodyEmphasis ()Landroidx/compose/ui/text/TextStyle;
- public final fun getBodyItalic ()Landroidx/compose/ui/text/TextStyle;
- public final fun getCaptionBold ()Landroidx/compose/ui/text/TextStyle;
public final fun getCaptionDefault ()Landroidx/compose/ui/text/TextStyle;
public final fun getCaptionEmphasis ()Landroidx/compose/ui/text/TextStyle;
- public final fun getEmojiOnly ()Landroidx/compose/ui/text/TextStyle;
- public final fun getFootnote ()Landroidx/compose/ui/text/TextStyle;
- public final fun getFootnoteBold ()Landroidx/compose/ui/text/TextStyle;
- public final fun getFootnoteItalic ()Landroidx/compose/ui/text/TextStyle;
public final fun getHeadingLarge ()Landroidx/compose/ui/text/TextStyle;
public final fun getHeadingMedium ()Landroidx/compose/ui/text/TextStyle;
public final fun getHeadingSmall ()Landroidx/compose/ui/text/TextStyle;
@@ -4101,18 +3795,25 @@ public final class io/getstream/chat/android/compose/ui/theme/StreamTypography {
public final fun getNumericExtraLarge ()Landroidx/compose/ui/text/TextStyle;
public final fun getNumericLarge ()Landroidx/compose/ui/text/TextStyle;
public final fun getNumericMedium ()Landroidx/compose/ui/text/TextStyle;
- public final fun getSingleEmoji ()Landroidx/compose/ui/text/TextStyle;
- public final fun getTabBar ()Landroidx/compose/ui/text/TextStyle;
- public final fun getTitle1 ()Landroidx/compose/ui/text/TextStyle;
- public final fun getTitle3 ()Landroidx/compose/ui/text/TextStyle;
- public final fun getTitle3Bold ()Landroidx/compose/ui/text/TextStyle;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
-public final class io/getstream/chat/android/compose/ui/theme/StreamTypography$Companion {
- public final fun defaultTypography (Landroidx/compose/ui/text/font/FontFamily;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography;
- public static synthetic fun defaultTypography$default (Lio/getstream/chat/android/compose/ui/theme/StreamTypography$Companion;Landroidx/compose/ui/text/font/FontFamily;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamTypography;
+public final class io/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion {
+ public final fun default (Landroidx/compose/ui/text/font/FontFamily;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;
+ public static synthetic fun default$default (Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography$Companion;Landroidx/compose/ui/text/font/FontFamily;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;
+}
+
+public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration {
+ public static final field $stable I
+ public static final field Companion Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion;
+ public synthetic fun (JLandroidx/compose/material/ripple/RippleAlpha;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun getColor-0d7_KjU ()J
+ public final fun getRippleAlpha ()Landroidx/compose/material/ripple/RippleAlpha;
+}
+
+public final class io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration$Companion {
+ public final fun defaultRippleConfiguration-Iv8Zu3U (JZLandroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;
}
public final class io/getstream/chat/android/compose/ui/theme/TextContainerStyle {
@@ -4133,48 +3834,6 @@ public final class io/getstream/chat/android/compose/ui/theme/TextContainerStyle
public fun toString ()Ljava/lang/String;
}
-public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme$Companion;
- public fun (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;)V
- public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;
- public final fun copy (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAudioRecording ()Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme$Companion {
- public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme {
- public static final field $stable I
- public static final field Companion Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme$Companion;
- public fun (Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;)V
- public final fun component1 ()Lio/getstream/chat/android/compose/ui/theme/ComponentSize;
- public final fun component2 ()Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;
- public final fun component3 ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;
- public final fun component4 ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;
- public final fun component5 ()Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;
- public final fun copy (Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;
- public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;Lio/getstream/chat/android/compose/ui/theme/ComponentSize;Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getPadding ()Lio/getstream/chat/android/compose/ui/theme/ComponentPadding;
- public final fun getPauseButton ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;
- public final fun getPlayButton ()Lio/getstream/chat/android/compose/ui/theme/IconContainerStyle;
- public final fun getSize ()Lio/getstream/chat/android/compose/ui/theme/ComponentSize;
- public final fun getTimerStyle ()Lio/getstream/chat/android/compose/ui/theme/TextContainerStyle;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme$Companion {
- public final fun defaultTheme (ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme;
-}
-
public final class io/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadItemKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadItemKt;
public static field lambda-1 Lkotlin/jvm/functions/Function4;
@@ -4313,7 +3972,7 @@ public abstract interface class io/getstream/chat/android/compose/ui/util/Messag
}
public final class io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter$Companion {
- public final fun defaultFormatter (Landroid/content/Context;ZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Ljava/util/List;Lio/getstream/chat/android/compose/ui/theme/StreamColors;)Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;
+ public final fun defaultFormatter (Landroid/content/Context;ZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Ljava/util/List;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;)Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;
}
public abstract interface class io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory {
@@ -4332,8 +3991,7 @@ public abstract interface class io/getstream/chat/android/compose/ui/util/Messag
public final class io/getstream/chat/android/compose/ui/util/MessageTextFormatter$Companion {
public final fun composite ([Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;
- public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;
- public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamTypography;Lio/getstream/chat/android/compose/ui/theme/StreamShapes;Lio/getstream/chat/android/compose/ui/theme/StreamColors;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;
+ public final fun defaultFormatter (ZZLio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;
}
public final class io/getstream/chat/android/compose/ui/util/MessageUtilsKt {
diff --git a/stream-chat-android-compose/detekt-baseline.xml b/stream-chat-android-compose/detekt-baseline.xml
index de38e64fc4f..74570cdba33 100644
--- a/stream-chat-android-compose/detekt-baseline.xml
+++ b/stream-chat-android-compose/detekt-baseline.xml
@@ -14,8 +14,8 @@
LongMethod:MessageTheme.kt$MessageTheme.Companion$@Composable @Suppress("DEPRECATION_ERROR") private fun defaultTheme( own: Boolean, isInDarkMode: Boolean, typography: StreamTypography, shapes: StreamShapes, colors: StreamColors, ): MessageTheme
LongMethod:PollCreationDiscardDialog.kt$@Composable public fun PollCreationDiscardDialog( usePlatformDefaultWidth: Boolean = false, onCancelClicked: () -> Unit, onDiscardClicked: () -> Unit, )
LongMethod:PollMessageContent.kt$@Composable private fun PollOptionItem( modifier: Modifier = Modifier, poll: Poll, option: Option, voteCount: Int, totalVoteCount: Int, users: List<User>, checkedCount: Int, checked: Boolean, onCastVote: () -> Unit, onRemoveVote: () -> Unit, )
- LongMethod:PollOptionList.kt$@Composable public fun PollOptionList( modifier: Modifier = Modifier, lazyListState: LazyListState = rememberLazyListState(), title: String = stringResource(id = R.string.stream_compose_poll_option_title), optionItems: List<PollOptionItem> = emptyList(), onQuestionsChanged: (List<PollOptionItem>) -> Unit, itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp), )
- LongMethod:PollSwitchList.kt$@Composable public fun PollSwitchList( modifier: Modifier = Modifier, pollSwitchItems: List<PollSwitchItem>, onSwitchesChanged: (List<PollSwitchItem>) -> Unit, itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp), )
+ LongMethod:PollOptionList.kt$@Composable public fun PollOptionList( modifier: Modifier = Modifier, lazyListState: LazyListState = rememberLazyListState(), title: String = stringResource(id = R.string.stream_compose_poll_option_title), optionItems: List<PollOptionItem> = emptyList(), onQuestionsChanged: (List<PollOptionItem>) -> Unit, itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp), )
+ LongMethod:PollSwitchList.kt$@Composable public fun PollSwitchList( modifier: Modifier = Modifier, pollSwitchItems: List<PollSwitchItem>, onSwitchesChanged: (List<PollSwitchItem>) -> Unit, itemHeightSize: Dp = 56.dp, itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp), )
LongMethod:StreamTypography.kt$StreamTypography.Companion$public fun defaultTypography(fontFamily: FontFamily? = null): StreamTypography
LongParameterList:AudioRecordAttachmentContent.kt$( modifier: Modifier = Modifier, attachment: Attachment, playerState: AudioPlayerState, size: ComponentSize, padding: ComponentPadding, playbackToggleStyle: (isPlaying: Boolean) -> IconContainerStyle, timerStyle: TextContainerStyle, waveformSliderStyle: WaveformSliderLayoutStyle, onPlayToggleClick: (Attachment) -> Unit = {}, onThumbDragStart: (Attachment) -> Unit = {}, onThumbDragStop: (Attachment, Float) -> Unit = { _, _ -> }, tailContent: @Composable (isPlaying: Boolean) -> Unit = {}, )
LongParameterList:MessagesScreen.kt$( listViewModel: MessageListViewModel, composerViewModel: MessageComposerViewModel, selectedMessageState: SelectedMessageState?, selectedMessage: Message, skipPushNotification: Boolean, skipEnrichUrl: Boolean, )
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt
index 9f829ce7910..cb40a518420 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt
@@ -38,7 +38,6 @@ import io.getstream.chat.android.compose.ui.attachments.factory.UnsupportedAttac
import io.getstream.chat.android.compose.ui.attachments.factory.UploadAttachmentFactory
import io.getstream.chat.android.compose.ui.attachments.preview.MediaGalleryPreviewContract
import io.getstream.chat.android.compose.ui.attachments.preview.handler.AttachmentPreviewHandler
-import io.getstream.chat.android.compose.ui.theme.StreamDimens
import io.getstream.chat.android.compose.viewmodel.messages.AudioPlayerViewModelFactory
import io.getstream.chat.android.models.Attachment
import io.getstream.chat.android.models.Message
@@ -68,9 +67,7 @@ public object StreamAttachmentFactories {
* Giphy attachments.
* @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic
* makes the container capable of adaptive resizing and ignore
- * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight]
- * dimensions, however you can still clip maximum dimensions using
- * [StreamDimens.attachmentsContentGiphyMaxWidth] and [StreamDimens.attachmentsContentGiphyMaxHeight].
+ * the default Giphy width and height dimensions, however you can still clip maximum dimensions.
* Setting it to fixed size mode will make it respect all given dimensions.
* @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable.
* @param skipEnrichUrl Used by the media gallery. If set to true will skip enriching URLs when you update the
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt
index be5f187f618..f237fdeb86d 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentPreviewContent.kt
@@ -103,7 +103,7 @@ public fun AudioRecordAttachmentPreviewContentItem(
AudioRecordAttachmentContentItemBase(
modifier = modifier,
attachment = attachment,
- outlineColor = ChatTheme.colors.borderCorePrimary,
+ outlineColor = ChatTheme.colors.borderUtilitySelected,
textColor = ChatTheme.colors.chatTextOutgoing,
playerState = playerState,
waveformHeight = 36.dp,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt
index a084d141003..3e83e0634c5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt
@@ -221,7 +221,7 @@ public fun FileAttachmentImage(
if (data != null) {
val showThumbnail = attachment.isImage() || attachment.isVideo() && ChatTheme.videoThumbnailsEnabled
val imageModifier = if (showThumbnail) {
- baseModifier.clip(ChatTheme.shapes.imageThumbnail)
+ baseModifier.clip(RoundedCornerShape(StreamTokens.radiusMd))
} else {
baseModifier
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt
index f3bebbda4f9..3d67621d9d9 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt
@@ -75,9 +75,9 @@ public fun FileAttachmentPreviewContent(
modifier = Modifier
.animateItem()
.padding(1.dp),
- color = ChatTheme.colors.appBackground,
+ color = ChatTheme.colors.backgroundCoreApp,
shape = RoundedCornerShape(16.dp),
- border = BorderStroke(1.dp, ChatTheme.colors.borders),
+ border = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault),
) {
Row(
modifier = Modifier
@@ -100,10 +100,10 @@ public fun FileAttachmentPreviewContent(
Text(
modifier = Modifier.testTag("Stream_FileNameInPreview"),
text = attachment.title ?: attachment.name ?: "",
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
val fileSize = attachment.fileSize
@@ -113,8 +113,8 @@ public fun FileAttachmentPreviewContent(
Text(
modifier = Modifier.testTag("Stream_FileSizeInPreview"),
text = fileSize,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt
index 325f18f1b62..ec1ece7590e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt
@@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -41,6 +42,7 @@ import io.getstream.chat.android.compose.state.messages.attachments.AttachmentSt
import io.getstream.chat.android.compose.ui.attachments.preview.handler.AttachmentPreviewHandler
import io.getstream.chat.android.compose.ui.components.LoadingIndicator
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.models.Attachment
import io.getstream.chat.android.models.Attachment.UploadState.Idle
import io.getstream.chat.android.models.Attachment.UploadState.InProgress
@@ -98,8 +100,8 @@ public fun FileUploadItem(
) {
Surface(
modifier = modifier,
- color = ChatTheme.colors.appBackground,
- shape = ChatTheme.shapes.attachment,
+ color = ChatTheme.colors.backgroundCoreApp,
+ shape = RoundedCornerShape(StreamTokens.radiusLg),
) {
Row(
Modifier
@@ -120,10 +122,10 @@ public fun FileUploadItem(
) {
Text(
text = attachment.title ?: attachment.name ?: "",
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
when (val uploadState = attachment.uploadState) {
@@ -136,8 +138,8 @@ public fun FileUploadItem(
else -> {
Text(
text = MediaStringUtil.convertFileSizeByteCount(attachment.upload?.length() ?: 0L),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -171,8 +173,8 @@ private fun ProgressInfo(uploadedBytes: Long, totalBytes: Long) {
MediaStringUtil.convertFileSizeByteCount(uploadedBytes),
MediaStringUtil.convertFileSizeByteCount(totalBytes),
),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt
index 1f4362672d4..a7b26d6a230 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/GiphyAttachmentContent.kt
@@ -57,7 +57,6 @@ import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.state.messages.attachments.AttachmentState
import io.getstream.chat.android.compose.ui.theme.ChatTheme
import io.getstream.chat.android.compose.ui.theme.MessageStyling
-import io.getstream.chat.android.compose.ui.theme.StreamDimens
import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.AsyncImagePreviewHandler
import io.getstream.chat.android.compose.ui.util.StreamAsyncImage
@@ -82,9 +81,7 @@ import io.getstream.chat.android.ui.common.utils.giphyInfo
* Giphy attachments.
* @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic
* makes the container capable of adaptive resizing and ignore
- * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight]
- * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth]
- * and [StreamDimens.attachmentsContentGiphyMaxHeight].
+ * the default Giphy width and height dimensions, however you can still clip maximum dimensions.
* Setting it to fixed size mode will make it respect all given dimensions.
* @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable.
* @param onItemClick Lambda called when an item gets clicked.
@@ -141,9 +138,7 @@ public fun GiphyAttachmentContent(
* Giphy attachments.
* @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic
* makes the container capable of adaptive resizing and ignore
- * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight]
- * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth]
- * and [StreamDimens.attachmentsContentGiphyMaxHeight].
+ * the default Giphy width and height dimensions, however you can still clip maximum dimensions.
* Setting it to fixed size mode will make it respect all given dimensions.
* @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable.
* @param onItemClick Lambda called when an item gets clicked.
@@ -186,7 +181,7 @@ public fun GiphyAttachmentContent(
.size(giphyDimensions)
.applyIf(!shouldBeFullSize) {
padding(MessageStyling.messageSectionPadding)
- .clip(ChatTheme.shapes.attachment)
+ .clip(RoundedCornerShape(StreamTokens.radiusLg))
}
.combinedClickable(
indication = null,
@@ -226,11 +221,11 @@ private fun calculateSize(
): DpSize {
val density = LocalDensity.current
- val maxWidth = ChatTheme.dimens.attachmentsContentGiphyMaxWidth
- val maxHeight = ChatTheme.dimens.attachmentsContentGiphyMaxHeight
+ val maxWidth = 250.dp
+ val maxHeight = 200.dp
- val width = ChatTheme.dimens.attachmentsContentGiphyWidth
- val height = ChatTheme.dimens.attachmentsContentGiphyHeight
+ val width = 250.dp
+ val height = 200.dp
val giphyDimensions: DpSize = remember(giphyInfo, density, maxWidth, width, maxHeight, height) {
if (giphyInfo != null) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt
index 53e4e33b1eb..6decd3d129b 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt
@@ -109,7 +109,7 @@ public fun LinkAttachmentContent(
val baseModifier = modifier
.padding(MessageStyling.messageSectionPadding)
.fillMaxWidth()
- .clip(ChatTheme.shapes.attachment)
+ .clip(RoundedCornerShape(StreamTokens.radiusLg))
.background(MessageStyling.attachmentBackgroundColor(state.isMine))
.combinedClickable(
indication = null,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt
index c1b43e430f0..067be0cfda1 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt
@@ -62,6 +62,7 @@ import androidx.compose.ui.semantics.testTag
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.dp
import coil3.ColorImage
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImagePainter
@@ -303,10 +304,10 @@ internal fun SingleMediaAttachment(
modifier = modifier
.applyIf(!shouldBeFullSize) { padding(MessageStyling.messageSectionPadding) }
.size(
- width = singleMediaAttachmentWidth(isVideo),
+ width = 250.dp,
height = singleMediaAttachmentHeight(isVideo, ratio),
),
- shape = if (shouldBeFullSize) null else ChatTheme.shapes.attachment,
+ shape = if (shouldBeFullSize) null else RoundedCornerShape(StreamTokens.radiusLg),
message = message,
attachmentPosition = 0,
onMediaGalleryPreviewResult = onMediaGalleryPreviewResult,
@@ -354,8 +355,8 @@ internal fun RowScope.MultipleMediaAttachmentsColumns(
val columnSizingModifier = Modifier
.weight(1f, fill = false)
.size(
- width = ChatTheme.dimens.attachmentsContentGroupPreviewWidth / 2,
- height = ChatTheme.dimens.attachmentsContentGroupPreviewHeight,
+ width = 250.dp / 2,
+ height = 196.dp,
)
Column(
@@ -562,18 +563,11 @@ internal fun MediaAttachmentContentItem(
),
contentAlignment = Alignment.Center,
) {
- val backgroundColor =
- if (isImage) {
- ChatTheme.colors.imageBackgroundMessageList
- } else {
- ChatTheme.colors.videoBackgroundMessageList
- }
-
StreamAsyncImage(
imageRequest = imageRequest,
modifier = Modifier
.fillMaxSize()
- .background(backgroundColor),
+ .background(ChatTheme.colors.backgroundCoreSurface),
contentScale = ContentScale.Crop,
) { asyncImageState ->
Crossfade(targetState = asyncImageState) { state ->
@@ -605,7 +599,7 @@ internal fun MediaAttachmentContentItem(
contentAlignment = Alignment.Center,
) {
Icon(
- tint = ChatTheme.colors.disabled,
+ tint = ChatTheme.colors.textDisabled,
modifier = Modifier.fillMaxSize(0.4f),
painter = painterResource(R.drawable.stream_compose_ic_image_picker),
contentDescription = stringResource(
@@ -642,7 +636,7 @@ internal fun MediaAttachmentShowMoreOverlay(
Box(
modifier = Modifier
.fillMaxSize()
- .background(color = ChatTheme.colors.showMoreOverlay, shape = shape),
+ .background(color = ChatTheme.colors.backgroundCoreOverlayDark, shape = shape),
) {
Text(
modifier = modifier
@@ -651,8 +645,8 @@ internal fun MediaAttachmentShowMoreOverlay(
id = R.string.stream_compose_remaining_media_attachments_count,
remainingMediaCount,
),
- color = ChatTheme.colors.showMoreCountText,
- style = ChatTheme.typography.title1,
+ color = ChatTheme.colors.textOnAccent,
+ style = ChatTheme.typography.headingLarge,
textAlign = TextAlign.Center,
)
}
@@ -685,18 +679,6 @@ public data class MediaAttachmentClickData internal constructor(
val skipEnrichUrl: Boolean,
)
-/**
- * Retrieves the width for a single-media attachment.
- *
- * @param isVideo true if "video", false if "image".
- */
-@Composable
-private fun singleMediaAttachmentWidth(isVideo: Boolean): Dp = if (isVideo) {
- ChatTheme.dimens.attachmentsContentVideoWidth
-} else {
- ChatTheme.dimens.attachmentsContentImageWidth
-}
-
/**
* Calculates the actual single-media attachment height, based on the configurable width, maxHeight and the aspectRatio.
*
@@ -705,13 +687,12 @@ private fun singleMediaAttachmentWidth(isVideo: Boolean): Dp = if (isVideo) {
*/
@Composable
private fun singleMediaAttachmentHeight(isVideo: Boolean, aspectRatio: Float): Dp {
- val width = singleMediaAttachmentWidth(isVideo)
val maxHeight = if (isVideo) {
- ChatTheme.dimens.attachmentsContentVideoMaxHeight
+ 400.dp
} else {
- ChatTheme.dimens.attachmentsContentImageMaxHeight
+ 600.dp
}
- val heightAccordingAspectRatio = width / aspectRatio
+ val heightAccordingAspectRatio = 250.dp / aspectRatio
return minOf(heightAccordingAspectRatio, maxHeight)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt
index 1f2a1d74542..c411d55841b 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentPreviewContent.kt
@@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment
@@ -74,7 +75,7 @@ public fun MediaAttachmentPreviewContent(
LazyRow(
state = rememberAutoScrollLazyListState(attachments.size),
modifier = modifier
- .clip(ChatTheme.shapes.attachment)
+ .clip(RoundedCornerShape(StreamTokens.radiusLg))
.testTag("Stream_MediaAttachmentPreviewContent"),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacing2xs, Alignment.Start),
@@ -114,7 +115,7 @@ private fun MediaAttachmentPreviewItem(
Box(
modifier = modifier
.size(95.dp)
- .clip(ChatTheme.shapes.attachment)
+ .clip(RoundedCornerShape(StreamTokens.radiusLg))
.testTag("Stream_MediaAttachmentPreviewItem"),
contentAlignment = Alignment.Center,
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt
index d8c059adc5a..cab400bb971 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt
@@ -22,6 +22,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -34,6 +35,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
/**
* Represents fallback content for unsupported attachments.
@@ -46,8 +48,8 @@ public fun UnsupportedAttachmentContent(modifier: Modifier = Modifier) {
modifier = modifier
.padding(2.dp)
.fillMaxWidth(),
- color = ChatTheme.colors.appBackground,
- shape = ChatTheme.shapes.attachment,
+ color = ChatTheme.colors.backgroundCoreApp,
+ shape = RoundedCornerShape(StreamTokens.radiusLg),
) {
Row(
modifier = Modifier
@@ -68,9 +70,9 @@ public fun UnsupportedAttachmentContent(modifier: Modifier = Modifier) {
.fillMaxWidth()
.padding(start = 16.dp, end = 8.dp),
text = stringResource(id = R.string.stream_compose_message_list_unsupported_attachment),
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt
index c2d49820f7e..c8829e8dd03 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/factory/GiphyAttachmentFactory.kt
@@ -24,7 +24,6 @@ import io.getstream.chat.android.compose.ui.attachments.AttachmentFactory
import io.getstream.chat.android.compose.ui.attachments.content.GiphyAttachmentClickData
import io.getstream.chat.android.compose.ui.attachments.content.GiphyAttachmentContent
import io.getstream.chat.android.compose.ui.attachments.content.onGiphyAttachmentContentClick
-import io.getstream.chat.android.compose.ui.theme.StreamDimens
import io.getstream.chat.android.models.Attachment
import io.getstream.chat.android.ui.common.utils.GiphyInfoType
import io.getstream.chat.android.ui.common.utils.GiphySizingMode
@@ -38,9 +37,7 @@ import io.getstream.chat.android.ui.common.utils.GiphySizingMode
* Giphy attachments.
* @param giphySizingMode Sets the Giphy container sizing strategy. Setting it to automatic
* makes the container capable of adaptive resizing and ignore
- * [StreamDimens.attachmentsContentGiphyWidth] and [StreamDimens.attachmentsContentGiphyHeight]
- * dimensions, however you can still clip maximum dimensions using [StreamDimens.attachmentsContentGiphyMaxWidth]
- * and [StreamDimens.attachmentsContentGiphyMaxHeight].
+ * the default Giphy width and height dimensions, however you can still clip maximum dimensions.
* Setting it to fixed size mode will make it respect all given dimensions.
* @param contentScale Used to determine the way Giphys are scaled inside the [Image] composable.
* @param onContentItemClick Lambda called when an item gets clicked.
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt
index 170045e8c4f..28b5310fd72 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt
@@ -215,7 +215,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() {
@Composable
private fun SetupEdgeToEdge() {
val nightMode = isSystemInDarkTheme()
- val systemBarsColor = ChatTheme.colors.barsBackground.toArgb()
+ val systemBarsColor = ChatTheme.colors.backgroundElevationElevation1.toArgb()
LaunchedEffect(nightMode) {
val style = if (nightMode) {
SystemBarStyle.dark(systemBarsColor)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt
index 9a3f3d9e3ba..b3642cf2ab6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewOptionsMenu.kt
@@ -81,7 +81,7 @@ internal fun MediaGalleryOptionsMenu(
Box(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.overlay)
+ .background(ChatTheme.colors.backgroundCoreScrim)
.clickable(
indication = null,
interactionSource = null,
@@ -96,7 +96,7 @@ internal fun MediaGalleryOptionsMenu(
.align(Alignment.TopEnd),
shape = RoundedCornerShape(16.dp),
shadowElevation = 4.dp,
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
) {
Column(modifier = Modifier.fillMaxWidth()) {
options.forEachIndexed { index, option ->
@@ -137,7 +137,7 @@ internal fun MediaGalleryOptionItem(
Row(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.clickable(
interactionSource = null,
indication = ripple(),
@@ -157,7 +157,7 @@ internal fun MediaGalleryOptionItem(
Text(
text = option.title,
color = option.titleColor,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 12.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
@@ -198,9 +198,9 @@ internal fun defaultMediaOptions(
if (config.isReplyVisible) {
val option = MediaGalleryPreviewOption(
title = stringResource(id = R.string.stream_compose_media_gallery_preview_reply),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_reply),
- iconColor = ChatTheme.colors.textHighEmphasis,
+ iconColor = ChatTheme.colors.textPrimary,
action = Reply(message),
isEnabled = true,
)
@@ -209,16 +209,16 @@ internal fun defaultMediaOptions(
if (config.isShowInChatVisible) {
val option = MediaGalleryPreviewOption(
title = stringResource(id = R.string.stream_compose_media_gallery_preview_show_in_chat),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_show_in_chat),
- iconColor = ChatTheme.colors.textHighEmphasis,
+ iconColor = ChatTheme.colors.textPrimary,
action = ShowInChat(message),
isEnabled = true,
)
options.add(option)
}
if (config.isSaveMediaVisible) {
- val color = if (isConnected) ChatTheme.colors.textHighEmphasis else ChatTheme.colors.disabled
+ val color = if (isConnected) ChatTheme.colors.textPrimary else ChatTheme.colors.textDisabled
val option = MediaGalleryPreviewOption(
title = stringResource(id = R.string.stream_compose_media_gallery_preview_save_image),
titleColor = color,
@@ -230,7 +230,7 @@ internal fun defaultMediaOptions(
options.add(option)
}
if (config.isDeleteVisible && message.user.id == currentUser?.id) {
- val color = if (isConnected) ChatTheme.colors.errorAccent else ChatTheme.colors.disabled
+ val color = if (isConnected) ChatTheme.colors.accentError else ChatTheme.colors.textDisabled
val option = MediaGalleryPreviewOption(
title = stringResource(id = R.string.stream_compose_media_gallery_preview_delete),
titleColor = color,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt
index 746f6b3fb26..095fcc56363 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt
@@ -169,7 +169,7 @@ public fun MediaGalleryPreviewScreen(
MediaGalleryPager(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(padding),
pagerState = pagerState,
attachments = attachments,
@@ -310,7 +310,7 @@ public fun MediaGalleryPreviewScreen(
MediaGalleryPager(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(padding),
pagerState = pagerState,
attachments = attachments,
@@ -476,8 +476,8 @@ internal fun MediaGalleryPreviewHeader(
onTrailingContentClick: () -> Unit,
modifier: Modifier = Modifier,
elevation: Dp = 4.dp,
- backgroundColor: Color = ChatTheme.colors.barsBackground,
- contentColor: Color = ChatTheme.colors.textHighEmphasis,
+ backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1,
+ contentColor: Color = ChatTheme.colors.textPrimary,
config: MediaGalleryConfig = ChatTheme.mediaGalleryConfig,
leadingContent: @Composable (Modifier) -> Unit = {
if (config.isCloseVisible) {
@@ -676,8 +676,8 @@ internal fun MediaGalleryPreviewFooter(
onTrailingContentClick: (Attachment) -> Unit,
modifier: Modifier = Modifier,
elevation: Dp = 4.dp,
- backgroundColor: Color = ChatTheme.colors.barsBackground,
- contentColor: Color = ChatTheme.colors.textHighEmphasis,
+ backgroundColor: Color = ChatTheme.colors.backgroundElevationElevation1,
+ contentColor: Color = ChatTheme.colors.textPrimary,
config: MediaGalleryConfig = ChatTheme.mediaGalleryConfig,
leadingContent: @Composable (Modifier) -> Unit = {
if (config.isShareVisible) {
@@ -781,7 +781,7 @@ internal fun MediaGalleryPreviewTitle(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
- val textStyle = ChatTheme.typography.title3Bold
+ val textStyle = ChatTheme.typography.headingMedium
when (connectionState) {
is ConnectionState.Connected -> Text(
@@ -899,8 +899,8 @@ internal fun MediaGalleryPreviewPageIndicator(
val text = stringResource(id = R.string.stream_compose_image_order, currentPage + 1, totalPages)
Text(
text = text,
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
)
}
@@ -919,11 +919,11 @@ internal fun MediaGalleryPreviewSharingInProgressIndicator() {
.padding(horizontal = 12.dp)
.size(24.dp),
strokeWidth = 2.dp,
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
)
Text(
text = stringResource(id = R.string.stream_compose_media_gallery_preview_preparing),
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt
index 18950f7dd2b..5fd02ee811b 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt
@@ -161,7 +161,7 @@ public class MediaPreviewActivity : AppCompatActivity() {
text = title,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Start,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 1,
color = Color.White,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt
index 6eb3578ca2e..beb5688dda5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt
@@ -132,7 +132,7 @@ internal fun MediaGalleryImagePage(
)
Modifier
.aspectRatio(size.width / size.height, true)
- .background(color = ChatTheme.colors.overlay)
+ .background(color = ChatTheme.colors.backgroundCoreScrim)
} else {
Modifier
}
@@ -257,7 +257,7 @@ private fun ErrorIcon(modifier: Modifier) {
contentAlignment = Alignment.Center,
) {
Icon(
- tint = ChatTheme.colors.disabled,
+ tint = ChatTheme.colors.textDisabled,
modifier = Modifier.fillMaxSize(fraction = 0.4f),
painter = painterResource(R.drawable.stream_compose_ic_image_picker),
contentDescription = stringResource(R.string.stream_ui_message_list_attachment_load_failed),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt
index 91e5a5b3d5c..e7cc4538cf5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt
@@ -91,7 +91,7 @@ internal fun MediaGalleryPhotosMenu(
Box(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.overlay)
+ .background(ChatTheme.colors.backgroundCoreScrim)
.clickable(
indication = null,
interactionSource = null,
@@ -104,7 +104,7 @@ internal fun MediaGalleryPhotosMenu(
.wrapContentHeight()
.align(Alignment.BottomCenter),
shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
) {
Column(modifier = Modifier.fillMaxWidth()) {
MediaGalleryPhotosMenuHeader(onDismiss)
@@ -144,14 +144,14 @@ private fun MediaGalleryPhotosMenuHeader(onDismiss: () -> Unit) {
),
painter = painterResource(id = R.drawable.stream_compose_ic_close),
contentDescription = stringResource(id = R.string.stream_compose_cancel),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
Text(
modifier = Modifier.align(Alignment.Center),
text = stringResource(R.string.stream_compose_image_preview_photos),
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -199,18 +199,12 @@ private fun MediaGalleryPhotosMenuItem(
var imageState by remember { mutableStateOf(AsyncImagePainter.State.Empty) }
- val backgroundColor = if (isImage) {
- ChatTheme.colors.imageBackgroundMediaGalleryPicker
- } else {
- ChatTheme.colors.videoBackgroundMediaGalleryPicker
- }
-
StreamAsyncImage(
imageRequest = imageRequest,
modifier = Modifier
.padding(1.dp)
.fillMaxSize()
- .background(color = backgroundColor),
+ .background(color = ChatTheme.colors.backgroundCoreApp),
contentScale = ContentScale.Crop,
) { asyncImageState ->
imageState = asyncImageState
@@ -262,7 +256,7 @@ private fun ErrorIcon(modifier: Modifier) {
contentAlignment = Alignment.Center,
) {
Icon(
- tint = ChatTheme.colors.disabled,
+ tint = ChatTheme.colors.textDisabled,
modifier = Modifier.fillMaxSize(fraction = 0.4f),
painter = painterResource(R.drawable.stream_compose_ic_image_picker),
contentDescription = stringResource(R.string.stream_ui_message_list_attachment_load_failed),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt
index d9c30e8c059..129ae73eb3b 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelFilesAttachmentsScreen.kt
@@ -104,7 +104,7 @@ private fun ChannelFilesAttachmentsContent(
onNavigationIconClick = onNavigationIconClick,
)
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { padding ->
ChannelFilesAttachmentsList(
modifier = Modifier
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt
index 5dbdd46d4a5..69049a010fb 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsGrid.kt
@@ -42,6 +42,7 @@ import androidx.window.core.layout.WindowWidthSizeClass
import io.getstream.chat.android.compose.handlers.LoadMoreHandler
import io.getstream.chat.android.compose.ui.components.ContentBox
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.ui.common.state.channel.attachments.ChannelAttachmentsViewState
import io.getstream.result.Error
@@ -150,8 +151,8 @@ internal fun ChannelMediaAttachmentsGrid(
LazyVerticalGrid(
modifier = Modifier.matchParentSize(),
columns = GridCells.Fixed(gridColumnCount),
- verticalArrangement = Arrangement.spacedBy(ChatTheme.dimens.attachmentsContentMediaGridSpacing),
- horizontalArrangement = Arrangement.spacedBy(ChatTheme.dimens.attachmentsContentMediaGridSpacing),
+ verticalArrangement = Arrangement.spacedBy(StreamTokens.spacing3xs),
+ horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacing3xs),
state = gridState,
) {
itemsIndexed(
@@ -186,7 +187,7 @@ internal fun ChannelMediaAttachmentsGrid(
sheetMaxWidth = Dp.Unspecified,
shape = RectangleShape,
dragHandle = {},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
) {
ChannelMediaAttachmentsPreviewScreen(
items = items,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt
index 6e6f3449f8d..c3f4de0e6ce 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsPreviewScreen.kt
@@ -159,7 +159,7 @@ private fun ChannelMediaAttachmentsPreviewContent(
)
},
snackbarHost = { StreamSnackbarHost(hostState = snackbarHostState) },
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { padding ->
MediaGalleryPager(
modifier = Modifier
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt
index 5a60299d0a1..dd3275a2419 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt
@@ -116,7 +116,7 @@ private fun ChannelMediaAttachmentsContent(
onNavigationIconClick = onNavigationIconClick,
)
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { padding ->
ChannelMediaAttachmentsGrid(
modifier = Modifier
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt
index 8c936c821b6..c1f2562f17a 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt
@@ -83,7 +83,7 @@ internal fun ChannelInfoMemberInfoModalSheet(
ModalBottomSheet(
sheetState = sheetState,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = onDismiss,
) {
val state by viewModel.state.collectAsStateWithLifecycle()
@@ -142,23 +142,23 @@ internal fun ChannelInfoMemberInfoModalSheetTopBar(member: Member) {
val user = member.user
Text(
text = user.name.takeIf(String::isNotBlank) ?: user.id,
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = user.getLastSeenText(context),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
if (member.banned) {
Text(
text = member.getBanExpirationText(context),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.errorAccent,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.accentError,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -226,7 +226,7 @@ private fun ExpandedSheet(content: @Composable () -> Unit) {
// so we need to mimic it with a card.
Card(
shape = BottomSheetDefaults.ExpandedShape,
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt
index b9bfb579187..b01b4cff2cb 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionItem.kt
@@ -40,7 +40,7 @@ internal fun ChannelInfoMemberOptionItem(
}
is ChannelInfoMemberViewState.Content.Option.BanMember -> {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) {
ChannelInfoOptionButton(
icon = R.drawable.stream_ic_ban,
text = stringResource(R.string.stream_ui_channel_info_member_modal_option_ban_member),
@@ -50,7 +50,7 @@ internal fun ChannelInfoMemberOptionItem(
}
is ChannelInfoMemberViewState.Content.Option.UnbanMember -> {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) {
ChannelInfoOptionButton(
icon = R.drawable.stream_ic_ban,
text = stringResource(R.string.stream_ui_channel_info_member_modal_option_unban_member),
@@ -60,7 +60,7 @@ internal fun ChannelInfoMemberOptionItem(
}
is ChannelInfoMemberViewState.Content.Option.RemoveMember -> {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) {
ChannelInfoOptionButton(
icon = R.drawable.stream_compose_ic_person_remove,
text = stringResource(R.string.stream_ui_channel_info_member_modal_option_remove_member),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt
index ab611ed60b4..108477a31ed 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoNameField.kt
@@ -59,19 +59,19 @@ internal fun ChannelInfoNameField(
.fillMaxWidth()
.onFocusChanged { showEditingButtons = it.isFocused && !readOnly },
readOnly = readOnly,
- textStyle = ChatTheme.typography.body,
+ textStyle = ChatTheme.typography.bodyDefault,
prefix = {
Text(
modifier = Modifier.padding(end = 8.dp),
text = stringResource(R.string.stream_ui_channel_info_name_field_label),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
},
placeholder = {
Text(
text = stringResource(R.string.stream_ui_channel_info_name_field_placeholder),
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
)
},
value = value,
@@ -88,7 +88,7 @@ internal fun ChannelInfoNameField(
focusManager.clearFocus()
},
imageVector = Icons.Rounded.Close,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
contentDescription = null,
)
Icon(
@@ -97,7 +97,7 @@ internal fun ChannelInfoNameField(
focusManager.clearFocus()
},
imageVector = Icons.Rounded.Done,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
contentDescription = null,
)
}
@@ -106,8 +106,8 @@ internal fun ChannelInfoNameField(
singleLine = true,
onValueChange = { value = it },
colors = OutlinedTextFieldDefaults.colors(
- focusedTextColor = ChatTheme.colors.textHighEmphasis,
- unfocusedTextColor = ChatTheme.colors.textHighEmphasis,
+ focusedTextColor = ChatTheme.colors.textPrimary,
+ unfocusedTextColor = ChatTheme.colors.textPrimary,
unfocusedBorderColor = Color.Transparent,
focusedBorderColor = Color.Transparent,
),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt
index 389a7b9922b..eaac67d7475 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOption.kt
@@ -76,7 +76,7 @@ internal fun ChannelInfoOptionButton(
Text(
modifier = Modifier.weight(1f),
text = text,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -98,20 +98,20 @@ internal fun ChannelInfoOptionNavigationButton(
modifier = Modifier.size(24.dp),
painter = painterResource(icon),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
modifier = Modifier.weight(1f),
text = text,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Icon(
imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
@@ -131,13 +131,13 @@ internal fun ChannelInfoOptionSwitch(
Icon(
painter = painterResource(icon),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
modifier = Modifier.weight(1f),
text = text,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt
index 54c4e71ade1..d3e766134a9 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt
@@ -134,7 +134,7 @@ internal fun LazyItemScope.ChannelInfoOptionItem(
}
is ChannelInfoViewState.Content.Option.LeaveChannel -> {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) {
ChannelInfoOptionButton(
icon = R.drawable.stream_compose_ic_person_remove,
text = if (isGroupChannel) {
@@ -148,7 +148,7 @@ internal fun LazyItemScope.ChannelInfoOptionItem(
}
is ChannelInfoViewState.Content.Option.DeleteChannel -> {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.errorAccent)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.accentError)) {
ChannelInfoOptionButton(
icon = R.drawable.stream_compose_ic_delete,
text = if (isGroupChannel) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt
index 23273fd37e6..848d90c4631 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt
@@ -194,8 +194,8 @@ private fun HideChannelModalText(
} else {
stringResource(R.string.stream_ui_channel_info_hide_conversation_modal_message)
},
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.bodyDefault,
)
Row(
modifier = Modifier
@@ -214,8 +214,8 @@ private fun HideChannelModalText(
} else {
stringResource(R.string.stream_ui_channel_info_hide_conversation_modal_clear_history)
},
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.bodyDefault,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt
index 3b4f835ad06..1862c9ddec7 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoUserInfoOption.kt
@@ -34,18 +34,18 @@ internal fun ChannelInfoUserInfoOption(
Icon(
painter = painterResource(R.drawable.stream_compose_ic_person),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
modifier = Modifier.weight(1f),
text = "@$username",
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Icon(
painter = painterResource(R.drawable.stream_compose_ic_copy),
contentDescription = stringResource(R.string.stream_ui_channel_info_copy_user_handle),
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt
index 080172be62a..305f64b8ff5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt
@@ -112,7 +112,7 @@ private fun DirectChannelInfoScaffold(
onNavigationIconClick = onNavigationIconClick,
)
},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
) { padding ->
DirectChannelInfoContent(
state = infoState,
@@ -158,7 +158,7 @@ internal fun DirectChannelInfoTopBar(
onClick = onNavigationIconClick,
)
},
- colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = TopAppBarDefaults.topAppBarColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
)
}
@@ -215,15 +215,15 @@ internal fun DirectChannelInfoAvatarContainer(user: User) {
)
Text(
text = user.name.takeIf(String::isNotBlank) ?: user.id,
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = user.getLastSeenText(LocalContext.current),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt
index 4a6aaf5eae9..b409d4fa69a 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt
@@ -53,6 +53,7 @@ import io.getstream.chat.android.compose.ui.components.ContentBox
import io.getstream.chat.android.compose.ui.components.LoadingIndicator
import io.getstream.chat.android.compose.ui.messages.header.MessageListHeader
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.getLastSeenText
import io.getstream.chat.android.compose.viewmodel.channel.ChannelHeaderViewModel
import io.getstream.chat.android.compose.viewmodel.channel.ChannelInfoViewModel
@@ -129,7 +130,7 @@ private fun GroupChannelInfoScaffold(
onAddMembersClick = onAddMembersClick,
)
},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
) { padding ->
GroupChannelInfoContent(
modifier = Modifier.padding(padding),
@@ -172,7 +173,7 @@ internal fun GroupChannelInfoTopBar(
) {
val elevation by animateDpAsState(
targetValue = if (listState.canScrollBackward) {
- ChatTheme.dimens.headerElevation
+ StreamTokens.elevation3
} else {
1.dp
},
@@ -284,7 +285,7 @@ internal fun GroupChannelInfoMemberItem(
) {
val user = member.user
ChatTheme.componentFactory.UserAvatar(
- modifier = Modifier.size(ChatTheme.dimens.channelAvatarSize),
+ modifier = Modifier.size(40.dp),
user = user,
showIndicator = user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
@@ -295,22 +296,22 @@ internal fun GroupChannelInfoMemberItem(
Column(modifier = Modifier.weight(1f)) {
Text(
text = user.name.takeIf(String::isNotBlank) ?: user.id,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
color = if (member.banned) {
- ChatTheme.colors.errorAccent
+ ChatTheme.colors.accentError
} else {
- ChatTheme.colors.textHighEmphasis
+ ChatTheme.colors.textPrimary
},
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = user.getLastSeenText(LocalContext.current),
- style = ChatTheme.typography.footnote,
+ style = ChatTheme.typography.metadataDefault,
color = if (member.banned) {
- ChatTheme.colors.errorAccent
+ ChatTheme.colors.accentError
} else {
- ChatTheme.colors.textLowEmphasis
+ ChatTheme.colors.textSecondary
},
maxLines = 1,
overflow = TextOverflow.Ellipsis,
@@ -327,8 +328,8 @@ internal fun GroupChannelInfoMemberItem(
}
Text(
text = role,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -340,7 +341,7 @@ internal fun GroupChannelInfoExpandMembersItem(
collapsedCount: Int,
onClick: () -> Unit,
) {
- CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.textLowEmphasis)) {
+ CompositionLocalProvider(LocalContentColor.provides(ChatTheme.colors.textSecondary)) {
ChannelInfoOption(
modifier = Modifier.fillMaxWidth(),
onClick = onClick,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt
index f03c91128a6..510d74337e0 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt
@@ -139,7 +139,7 @@ public fun ChannelsScreen(
modifier = Modifier
.padding(it)
.fillMaxSize()
- .background(color = ChatTheme.colors.appBackground),
+ .background(color = ChatTheme.colors.backgroundCoreApp),
) {
if (searchMode != SearchMode.None) {
ChatTheme.componentFactory.ChannelListSearchInput(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt
index b91814820e6..6d0eb6fb5ad 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt
@@ -24,6 +24,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.layout.wrapContentWidth
+import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.Icon
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
@@ -31,6 +32,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
@@ -41,6 +43,7 @@ import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.NetworkLoadingIndicator
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.clickable
import io.getstream.chat.android.models.ConnectionState
import io.getstream.chat.android.models.User
@@ -73,9 +76,9 @@ public fun ChannelListHeader(
title: String = "",
currentUser: User? = null,
connectionState: ConnectionState,
- color: Color = ChatTheme.colors.barsBackground,
- shape: Shape = ChatTheme.shapes.header,
- elevation: Dp = ChatTheme.dimens.headerElevation,
+ color: Color = ChatTheme.colors.backgroundElevationElevation1,
+ shape: Shape = RectangleShape,
+ elevation: Dp = StreamTokens.elevation3,
onAvatarClick: (User?) -> Unit = {},
onHeaderActionClick: () -> Unit = {},
leadingContent: @Composable RowScope.() -> Unit = {
@@ -134,7 +137,7 @@ internal fun DefaultChannelHeaderLeadingContent(
currentUser: User?,
onAvatarClick: (User?) -> Unit,
) {
- val size = Modifier.size(ChatTheme.dimens.channelAvatarSize)
+ val size = Modifier.size(40.dp)
if (currentUser != null) {
ChatTheme.componentFactory.UserAvatar(
@@ -170,9 +173,9 @@ internal fun RowScope.DefaultChannelListHeaderCenterContent(
.wrapContentWidth()
.padding(horizontal = 16.dp),
text = title,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -184,9 +187,9 @@ internal fun RowScope.DefaultChannelListHeaderCenterContent(
.wrapContentWidth()
.padding(horizontal = 16.dp),
text = stringResource(R.string.stream_compose_disconnected),
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -204,8 +207,8 @@ internal fun DefaultChannelListHeaderTrailingContent(
Surface(
modifier = Modifier.size(40.dp),
onClick = onHeaderActionClick,
- color = ChatTheme.colors.primaryAccent,
- shape = ChatTheme.shapes.avatar,
+ color = ChatTheme.colors.accentPrimary,
+ shape = CircleShape,
shadowElevation = 4.dp,
) {
Icon(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt
index e35743d7db0..870bdb8cbe3 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt
@@ -75,8 +75,8 @@ public fun SelectedChannelMenu(
isMuted = isMuted,
ownCapabilities = selectedChannel.ownCapabilities,
),
- shape: Shape = ChatTheme.shapes.bottomSheet,
- overlayColor: Color = ChatTheme.colors.overlay,
+ shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
+ overlayColor: Color = ChatTheme.colors.backgroundCoreScrim,
headerContent: @Composable ColumnScope.() -> Unit = {
with(ChatTheme.componentFactory) {
ChannelMenuHeaderContent(
@@ -130,8 +130,8 @@ internal fun DefaultSelectedChannelMenuHeaderContent(
.padding(start = 16.dp, end = 16.dp, top = 16.dp),
textAlign = TextAlign.Center,
text = ChatTheme.channelNameFormatter.formatChannelName(selectedChannel, currentUser),
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -143,8 +143,8 @@ internal fun DefaultSelectedChannelMenuHeaderContent(
currentUser = currentUser,
userPresence = ChatTheme.userPresence,
),
- style = ChatTheme.typography.footnoteBold,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
ChannelMembers(
@@ -195,7 +195,7 @@ private fun SelectedChannelMenuBottomSheetDialogPreview() {
.fillMaxWidth()
.wrapContentHeight()
.align(Alignment.BottomCenter),
- shape = ChatTheme.shapes.bottomSheet,
+ shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
selectedChannel = PreviewChannelData.channelWithManyMembers,
isMuted = false,
currentUser = PreviewUserData.user1,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt
index a02e639c10b..bf73bb1e313 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt
@@ -55,6 +55,7 @@ import io.getstream.chat.android.compose.state.channels.list.ItemState
import io.getstream.chat.android.compose.ui.components.Timestamp
import io.getstream.chat.android.compose.ui.components.TypingIndicator
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.getLastMessage
import io.getstream.chat.android.models.Channel
import io.getstream.chat.android.models.DraftMessage
@@ -156,12 +157,12 @@ internal fun DefaultChannelItemLeadingContent(
ChatTheme.componentFactory.ChannelAvatar(
modifier = Modifier
.padding(
- start = ChatTheme.dimens.channelItemHorizontalPadding,
+ start = StreamTokens.spacingXs,
end = 4.dp,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
- .size(ChatTheme.dimens.channelAvatarSize),
+ .size(40.dp),
channel = channelItem.channel,
currentUser = currentUser,
showIndicator = false,
@@ -192,11 +193,11 @@ internal fun RowScope.DefaultChannelItemCenterContent(
Text(
modifier = it.testTag("Stream_ChannelName"),
text = ChatTheme.channelNameFormatter.formatChannelName(channelItemState.channel, currentUser),
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 16.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -211,7 +212,7 @@ internal fun RowScope.DefaultChannelItemCenterContent(
.size(16.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_muted),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
} else {
@@ -235,8 +236,8 @@ internal fun RowScope.DefaultChannelItemCenterContent(
text = lastMessageText,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
inlineContent = ChatTheme.messagePreviewIconFactory.createPreviewIcons(),
)
}
@@ -267,8 +268,8 @@ private fun UserTypingIndicator(users: List) {
),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
@@ -293,9 +294,9 @@ internal fun RowScope.DefaultChannelItemTrailingContent(
modifier = Modifier
.padding(
start = 4.dp,
- end = ChatTheme.dimens.channelItemHorizontalPadding,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ end = StreamTokens.spacingXs,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
.wrapContentHeight()
.align(Alignment.Bottom),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt
index fba5edae6e1..dc65f943a0b 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt
@@ -34,6 +34,7 @@ import androidx.compose.ui.unit.sp
import io.getstream.chat.android.compose.state.channels.list.ItemState
import io.getstream.chat.android.compose.ui.components.Timestamp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.clickable
import io.getstream.chat.android.models.Message
import io.getstream.chat.android.models.User
@@ -121,12 +122,12 @@ internal fun DefaultSearchResultItemLeadingContent(
user = user,
modifier = Modifier
.padding(
- start = ChatTheme.dimens.channelItemHorizontalPadding,
+ start = StreamTokens.spacingXs,
end = 4.dp,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
- .size(ChatTheme.dimens.channelAvatarSize),
+ .size(40.dp),
showIndicator = user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
currentUser = currentUser,
@@ -157,11 +158,11 @@ internal fun RowScope.DefaultSearchResultItemCenterContent(
) {
Text(
text = ChatTheme.searchResultNameFormatter.formatMessageTitle(searchResultItemState, currentUser),
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 16.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
@@ -171,8 +172,8 @@ internal fun RowScope.DefaultSearchResultItemCenterContent(
),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
@@ -190,9 +191,9 @@ internal fun RowScope.DefaultSearchResultItemTrailingContent(
modifier = Modifier
.padding(
start = 4.dp,
- end = ChatTheme.dimens.channelItemHorizontalPadding,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ end = StreamTokens.spacingXs,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
.wrapContentHeight()
.align(Alignment.Bottom),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt
index 17695750189..f3ae098f73c 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/chats/ChatsScreen.kt
@@ -177,7 +177,7 @@ public fun ChatsScreen(
movableContentOf { modifier: Modifier ->
Scaffold(
modifier = modifier.safeDrawingPadding(),
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
topBar = { listTopBarContent() },
bottomBar = { listBottomBarContent() },
) { padding ->
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt
index 00462416c6d..c6ec7583cda 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt
@@ -46,7 +46,7 @@ public fun BackButton(
Icon(
painter = painter,
contentDescription = stringResource(R.string.stream_ui_back_button),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt
index a6ff89980a5..d235ecbb51a 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmphasisBox.kt
@@ -33,7 +33,7 @@ internal fun EmphasisBox(
isEmphasized: Boolean = true,
content: @Composable () -> Unit,
) {
- val color = ChatTheme.colors.textLowEmphasis
+ val color = ChatTheme.colors.textSecondary
val alpha by animateFloatAsState(targetValue = if (isEmphasized) EmphasisTransparency else 0f)
Box(
modifier = modifier.drawWithContent {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt
index ce44847e93a..b854a4c7622 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt
@@ -47,14 +47,14 @@ public fun EmptyContent(
title: String? = null,
) {
Column(
- modifier = modifier.background(color = ChatTheme.colors.appBackground),
+ modifier = modifier.background(color = ChatTheme.colors.backgroundCoreApp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Icon(
painter = painter,
contentDescription = null,
- tint = ChatTheme.colors.disabled,
+ tint = ChatTheme.colors.textDisabled,
modifier = Modifier.size(96.dp),
)
@@ -63,8 +63,8 @@ public fun EmptyContent(
if (title != null) {
Text(
text = title,
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
textAlign = TextAlign.Center,
)
Spacer(Modifier.size(8.dp))
@@ -72,8 +72,8 @@ public fun EmptyContent(
Text(
text = text,
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textSecondary,
textAlign = TextAlign.Center,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt
index 92a4a346c98..3e1b69699b7 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingFooter.kt
@@ -35,7 +35,7 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
public fun LoadingFooter(modifier: Modifier = Modifier) {
Box(
modifier = modifier
- .background(color = ChatTheme.colors.appBackground)
+ .background(color = ChatTheme.colors.backgroundCoreApp)
.padding(top = 8.dp, bottom = 48.dp),
) {
LoadingIndicator(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt
index 5db4d4ded21..d39f946de2c 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt
@@ -35,6 +35,6 @@ public fun LoadingIndicator(modifier: Modifier = Modifier) {
modifier,
contentAlignment = Alignment.Center,
) {
- CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.primaryAccent)
+ CircularProgressIndicator(strokeWidth = 2.dp, color = ChatTheme.colors.accentPrimary)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt
index 27e2021e898..ba6e66a4374 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt
@@ -45,8 +45,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
public fun NetworkLoadingIndicator(
modifier: Modifier = Modifier,
spinnerSize: Dp = 18.dp,
- textStyle: TextStyle = ChatTheme.typography.title3Bold,
- textColor: Color = ChatTheme.colors.textHighEmphasis,
+ textStyle: TextStyle = ChatTheme.typography.headingMedium,
+ textColor: Color = ChatTheme.colors.textPrimary,
) {
Row(
modifier,
@@ -58,7 +58,7 @@ public fun NetworkLoadingIndicator(
.padding(horizontal = 8.dp)
.size(spinnerSize),
strokeWidth = 2.dp,
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
)
Text(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt
index ac3246f6215..3dd4463290e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/OnlineIndicator.kt
@@ -37,8 +37,8 @@ public fun OnlineIndicator(modifier: Modifier = Modifier) {
Box(
modifier = modifier
.size(12.dp)
- .background(ChatTheme.colors.appBackground, CircleShape)
+ .background(ChatTheme.colors.presenceBorder, CircleShape)
.padding(2.dp)
- .background(ChatTheme.colors.infoAccent, CircleShape),
+ .background(ChatTheme.colors.accentSuccess, CircleShape),
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt
index ed640894d2c..b35ee64d09c 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/PullToRefreshBox.kt
@@ -55,8 +55,8 @@ internal fun PullToRefreshBox(
state = state,
isRefreshing = isRefreshing,
modifier = Modifier.align(Alignment.TopCenter),
- containerColor = ChatTheme.colors.barsBackground,
- color = ChatTheme.colors.primaryAccent,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ color = ChatTheme.colors.accentPrimary,
)
},
content: @Composable BoxScope.() -> Unit,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt
index 3eb7fece825..58720233d83 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt
@@ -132,7 +132,7 @@ internal fun DefaultSearchLeadingIcon() {
modifier = Modifier.padding(horizontal = 6.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_search),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textTertiary,
)
}
@@ -143,8 +143,8 @@ internal fun DefaultSearchLeadingIcon() {
internal fun DefaultSearchLabel() {
Text(
text = stringResource(id = R.string.stream_compose_search_input_hint),
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textTertiary,
)
}
@@ -162,7 +162,7 @@ internal fun DefaultSearchClearButton(onClick: () -> Unit) {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_clear),
contentDescription = stringResource(id = R.string.stream_compose_search_input_cancel),
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textTertiary,
)
}
}
@@ -175,7 +175,7 @@ private fun SearchInputPreview() {
SearchInput(
modifier = Modifier
- .background(color = ChatTheme.colors.appBackground)
+ .background(color = ChatTheme.colors.backgroundCoreApp)
.padding(horizontal = 12.dp, vertical = 8.dp)
.fillMaxWidth(),
query = searchQuery,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt
index c827a7e9b71..f7a15f31ef3 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt
@@ -33,8 +33,8 @@ import io.getstream.chat.android.compose.ui.theme.StreamShimmerTheme
internal fun ShimmerProgressIndicator(modifier: Modifier = Modifier) {
Box(
modifier = modifier
- .background(color = ChatTheme.colors.mediaShimmerBase)
+ .background(color = ChatTheme.colors.backgroundCoreSurface)
.shimmer()
- .background(color = ChatTheme.colors.mediaShimmerHighlights),
+ .background(color = ChatTheme.colors.backgroundCoreApp),
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt
index 1a36dcf9f4b..606f68e53e9 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt
@@ -50,7 +50,7 @@ public fun SimpleDialog(
text = {
Text(
text = message,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
)
},
onConfirmClick = onPositiveAction,
@@ -75,13 +75,13 @@ internal fun SimpleDialog(
title = {
Text(
text = title,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
)
},
text = text,
confirmButton = {
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = onConfirmClick,
) {
Text(text = stringResource(id = R.string.stream_compose_ok))
@@ -90,7 +90,7 @@ internal fun SimpleDialog(
dismissButton = if (showDismissButton) {
{
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = onDismiss,
) {
Text(text = stringResource(id = R.string.stream_compose_cancel))
@@ -99,8 +99,8 @@ internal fun SimpleDialog(
} else {
null
},
- titleContentColor = ChatTheme.colors.textHighEmphasis,
- textContentColor = ChatTheme.colors.textHighEmphasis,
- containerColor = ChatTheme.colors.barsBackground,
+ titleContentColor = ChatTheme.colors.textPrimary,
+ textContentColor = ChatTheme.colors.textPrimary,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt
index 81ab1804574..1d44e97a772 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt
@@ -23,12 +23,14 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
/**
@@ -44,8 +46,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
@Composable
public fun SimpleMenu(
modifier: Modifier = Modifier,
- shape: Shape = ChatTheme.shapes.bottomSheet,
- overlayColor: Color = ChatTheme.colors.overlay,
+ shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
+ overlayColor: Color = ChatTheme.colors.backgroundCoreScrim,
onDismiss: () -> Unit = {},
headerContent: @Composable ColumnScope.() -> Unit = {},
centerContent: @Composable ColumnScope.() -> Unit = {},
@@ -68,7 +70,7 @@ public fun SimpleMenu(
interactionSource = null,
),
shape = shape,
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
) {
Column {
headerContent()
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt
index 9645d5adc14..efe6300d637 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/StreamHorizontalDivider.kt
@@ -26,6 +26,6 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
internal fun StreamHorizontalDivider(thickness: Dp = .5.dp) {
HorizontalDivider(
thickness = thickness,
- color = ChatTheme.colors.borders,
+ color = ChatTheme.colors.borderCoreDefault,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt
index 5298fa9ec8e..e3b0a74f6c8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt
@@ -45,7 +45,7 @@ public fun Timestamp(
modifier: Modifier = Modifier,
formatter: DateFormatter = ChatTheme.dateFormatter,
formatType: DateFormatType = DATE,
- textStyle: TextStyle = ChatTheme.typography.footnote.copy(ChatTheme.colors.textLowEmphasis),
+ textStyle: TextStyle = ChatTheme.typography.metadataDefault.copy(ChatTheme.colors.chatTextTimestamp),
) {
val timestamp = if (LocalInspectionMode.current) {
"13:49"
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt
index 7bff1a5a9d3..478f34615a7 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt
@@ -47,7 +47,7 @@ public fun TranslatedLabel(
Text(
modifier = modifier,
text = textLanguageMetaInfo,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt
index b075855433f..344f50c29ad 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TypingIndicatorAnimatedDot.kt
@@ -58,7 +58,7 @@ public fun TypingIndicatorAnimatedDot(
)
}
- val color: Color = ChatTheme.colors.textLowEmphasis.copy(alpha = alpha.value)
+ val color: Color = ChatTheme.colors.textSecondary.copy(alpha = alpha.value)
Box(
Modifier
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt
index 8ed7c2e68e8..febfaae8828 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt
@@ -38,7 +38,6 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@@ -91,8 +90,8 @@ public fun FilesPicker(
Text(
modifier = Modifier.padding(16.dp),
text = stringResource(id = R.string.stream_compose_recent_files),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.weight(6f))
@@ -103,7 +102,7 @@ public fun FilesPicker(
modifier = Modifier.testTag("Stream_FindFilesButton"),
painter = painterResource(id = R.drawable.stream_compose_ic_more_files),
contentDescription = stringResource(id = R.string.stream_compose_send_attachment),
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
},
onClick = { fileSelectContract.launch(allowMultipleSelection) },
@@ -143,12 +142,12 @@ internal fun DefaultFilesPickerItem(
checked = fileItem.isSelected,
onCheckedChange = null,
colors = CheckboxDefaults.colors(
- checkedColor = ChatTheme.colors.primaryAccent,
- uncheckedColor = ChatTheme.colors.disabled,
- checkmarkColor = Color.White,
- disabledCheckedColor = ChatTheme.colors.disabled,
- disabledUncheckedColor = ChatTheme.colors.disabled,
- disabledIndeterminateColor = ChatTheme.colors.disabled,
+ checkedColor = ChatTheme.colors.accentPrimary,
+ uncheckedColor = ChatTheme.colors.textDisabled,
+ checkmarkColor = ChatTheme.colors.controlRadioCheckIconSelected,
+ disabledCheckedColor = ChatTheme.colors.textDisabled,
+ disabledUncheckedColor = ChatTheme.colors.textDisabled,
+ disabledIndeterminateColor = ChatTheme.colors.textDisabled,
),
)
} else {
@@ -156,10 +155,10 @@ internal fun DefaultFilesPickerItem(
selected = fileItem.isSelected,
onClick = null,
colors = RadioButtonDefaults.colors(
- selectedColor = ChatTheme.colors.primaryAccent,
- unselectedColor = ChatTheme.colors.disabled,
- disabledSelectedColor = ChatTheme.colors.disabled,
- disabledUnselectedColor = ChatTheme.colors.disabled,
+ selectedColor = ChatTheme.colors.accentPrimary,
+ unselectedColor = ChatTheme.colors.textDisabled,
+ disabledSelectedColor = ChatTheme.colors.textDisabled,
+ disabledUnselectedColor = ChatTheme.colors.textDisabled,
),
)
}
@@ -179,14 +178,14 @@ internal fun DefaultFilesPickerItem(
) {
Text(
text = fileItem.attachmentMetaData.title ?: "",
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = MediaStringUtil.convertFileSizeByteCount(fileItem.attachmentMetaData.size),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt
index 973a7ba5cf4..a89b7f9b2fd 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImage.kt
@@ -16,12 +16,13 @@
package io.getstream.chat.android.compose.ui.components.attachments.files
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.layout.ContentScale
import io.getstream.chat.android.compose.state.messages.attachments.AttachmentPickerItemState
-import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.MimeTypeIconProvider
import io.getstream.chat.android.compose.ui.util.StreamAsyncImage
@@ -41,7 +42,7 @@ public fun FilesPickerItemImage(
if (isImage) {
StreamAsyncImage(
- modifier = modifier.clip(ChatTheme.shapes.imageThumbnail),
+ modifier = modifier.clip(RoundedCornerShape(StreamTokens.radiusMd)),
data = attachment.uri ?: attachment.file,
contentScale = ContentScale.Crop,
contentDescription = null,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt
index 1d9ec241aa0..e76be244abd 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/Avatar.kt
@@ -48,7 +48,7 @@ internal fun Avatar(
data = data,
modifier = modifier
.clip(CircleShape)
- .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) },
+ .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) },
contentScale = ContentScale.Crop,
content = { state ->
val painter = (state as? AsyncImagePainter.State.Success)?.painter
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt
index 8896537ecee..a9514176dd9 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt
@@ -201,7 +201,7 @@ private fun StackedGroupAvatar(
channel = channel,
size = maxWidth,
modifier = Modifier
- .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) }
+ .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) }
.clip(CircleShape),
)
@@ -219,7 +219,7 @@ private fun StackedGroupAvatar(
foreground = colors.avatarTextPlaceholder,
modifier = baseModifier
.clip(CircleShape)
- .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreImage, CircleShape) }
+ .applyIf(showBorder) { border(1.dp, ChatTheme.colors.borderCoreOpacity10, CircleShape) }
.align(alignments[1]),
)
}
@@ -304,7 +304,7 @@ private fun ChannelAvatarPreview() {
ChatTheme {
Column(
modifier = Modifier
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp),
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt
index eac8283fec7..1f352d26560 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembers.kt
@@ -28,6 +28,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.models.Member
import io.getstream.chat.android.models.User
import io.getstream.chat.android.previewdata.PreviewMembersData
@@ -55,8 +56,8 @@ public fun ChannelMembers(
items(members) { member ->
ChannelMembersItem(
modifier = Modifier
- .width(ChatTheme.dimens.selectedChannelMenuUserItemWidth)
- .padding(horizontal = ChatTheme.dimens.selectedChannelMenuUserItemHorizontalPadding),
+ .width(80.dp)
+ .padding(horizontal = StreamTokens.spacingXs),
member = member,
currentUser = currentUser,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt
index 484d78a02aa..0b59e8d8dbe 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt
@@ -25,6 +25,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
import io.getstream.chat.android.models.Member
import io.getstream.chat.android.models.User
@@ -51,7 +52,7 @@ internal fun ChannelMembersItem(
horizontalAlignment = Alignment.CenterHorizontally,
) {
ChatTheme.componentFactory.UserAvatar(
- modifier = Modifier.size(ChatTheme.dimens.selectedChannelMenuUserItemAvatarSize),
+ modifier = Modifier.size(64.dp),
user = member.user,
showIndicator = member.user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
@@ -62,10 +63,10 @@ internal fun ChannelMembersItem(
Text(
text = memberName,
- style = ChatTheme.typography.footnoteBold,
+ style = ChatTheme.typography.metadataEmphasis,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt
index ba2075639bb..afd1f75a5b5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt
@@ -105,9 +105,9 @@ public fun buildDefaultChannelOptionsState(
if (optionVisibility.isViewInfoVisible) {
ChannelOptionState(
title = stringResource(id = R.string.stream_compose_selected_channel_menu_view_info),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_person),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = ViewInfo(selectedChannel),
)
} else {
@@ -116,9 +116,9 @@ public fun buildDefaultChannelOptionsState(
if (optionVisibility.isLeaveChannelVisible && canLeaveChannel) {
ChannelOptionState(
title = stringResource(id = R.string.stream_compose_selected_channel_menu_leave_group),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_person_remove),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = LeaveGroup(selectedChannel),
)
} else {
@@ -140,9 +140,9 @@ public fun buildDefaultChannelOptionsState(
if (optionVisibility.isDeleteChannelVisible && canDeleteChannel) {
ChannelOptionState(
title = stringResource(id = R.string.stream_compose_selected_channel_menu_delete_conversation),
- titleColor = ChatTheme.colors.errorAccent,
+ titleColor = ChatTheme.colors.accentError,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_delete),
- iconColor = ChatTheme.colors.errorAccent,
+ iconColor = ChatTheme.colors.accentError,
action = DeleteConversation(selectedChannel),
)
} else {
@@ -150,9 +150,9 @@ public fun buildDefaultChannelOptionsState(
},
ChannelOptionState(
title = stringResource(id = R.string.stream_compose_selected_channel_menu_dismiss),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = R.drawable.stream_compose_ic_clear),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = Cancel,
),
)
@@ -185,9 +185,9 @@ private fun buildPinOption(
}?.let {
ChannelOptionState(
title = stringResource(id = it.first),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = it.second),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = it.third,
)
}
@@ -219,9 +219,9 @@ private fun buildArchiveOption(
}?.let {
ChannelOptionState(
title = stringResource(id = it.first),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = it.second),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = it.third,
)
}
@@ -248,9 +248,9 @@ private fun buildMuteOption(
ChannelOptionState(
title = stringResource(id = uiData.first),
- titleColor = ChatTheme.colors.textHighEmphasis,
+ titleColor = ChatTheme.colors.textPrimary,
iconPainter = painterResource(id = uiData.second),
- iconColor = ChatTheme.colors.textLowEmphasis,
+ iconColor = ChatTheme.colors.textSecondary,
action = uiData.third,
)
} else {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt
index 8c82f66b5c3..6e9accbca98 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt
@@ -131,7 +131,7 @@ private fun IsReadCount(
Text(
text = readCount.toString(),
modifier = Modifier.testTag("Stream_MessageReadCount"),
- style = ChatTheme.typography.footnote,
+ style = ChatTheme.typography.metadataDefault,
color = ChatTheme.colors.chatTextTimestamp,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt
index 6e580055374..54e120c6cbf 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt
@@ -43,7 +43,7 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
public fun UnreadCountIndicator(
unreadCount: Int,
modifier: Modifier = Modifier,
- color: Color = ChatTheme.colors.errorAccent,
+ color: Color = ChatTheme.colors.accentError,
) {
val displayText = if (unreadCount > LimitTooManyUnreadCount) UnreadCountMany else unreadCount.toString()
val shape = RoundedCornerShape(9.dp)
@@ -60,7 +60,7 @@ public fun UnreadCountIndicator(
text = displayText,
color = Color.White,
textAlign = TextAlign.Center,
- style = ChatTheme.typography.captionBold,
+ style = ChatTheme.typography.numericMedium,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt
index 5f06c0af848..5f25e73402e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/ContextualMenu.kt
@@ -58,7 +58,7 @@ internal fun ContextualMenu(
shape = RoundedCornerShape(StreamTokens.radiusMd),
color = colors.backgroundElevationElevation2,
shadowElevation = StreamTokens.elevation3,
- border = BorderStroke(StreamTokens.borderStrokeSubtle, colors.borderCoreSurfaceSubtle),
+ border = BorderStroke(StreamTokens.borderStrokeSubtle, colors.borderCoreSubtle),
) {
Column(content = content)
}
@@ -126,7 +126,7 @@ internal fun ContextualMenuDivider(modifier: Modifier = Modifier) {
modifier = modifier
.fillMaxWidth(1f)
.padding(vertical = StreamTokens.spacing2xs),
- color = ChatTheme.colors.borderCoreSurfaceSubtle,
+ color = ChatTheme.colors.borderCoreSubtle,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt
index 09811247763..9f452d08845 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CountBadge.kt
@@ -36,8 +36,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.theme.StreamTokens
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
@Composable
internal fun CountBadge(
@@ -67,10 +67,26 @@ internal fun CountBadge(
)
}
-internal enum class CountBadgeSize(val minSize: Dp, val spacing: Dp, val textStyle: (StreamTypography) -> TextStyle) {
- Large(minSize = 32.dp, spacing = StreamTokens.spacingXs, textStyle = StreamTypography::numericLarge),
- Medium(minSize = 24.dp, spacing = StreamTokens.spacingXs, textStyle = StreamTypography::numericLarge),
- Small(minSize = 20.dp, spacing = StreamTokens.spacing2xs, textStyle = StreamTypography::numericMedium),
+internal enum class CountBadgeSize(
+ val minSize: Dp,
+ val spacing: Dp,
+ val textStyle: (StreamDesign.Typography) -> TextStyle,
+) {
+ Large(
+ minSize = 32.dp,
+ spacing = StreamTokens.spacingXs,
+ textStyle = StreamDesign.Typography::numericLarge,
+ ),
+ Medium(
+ minSize = 24.dp,
+ spacing = StreamTokens.spacingXs,
+ textStyle = StreamDesign.Typography::numericLarge,
+ ),
+ Small(
+ minSize = 20.dp,
+ spacing = StreamTokens.spacing2xs,
+ textStyle = StreamDesign.Typography::numericMedium,
+ ),
}
@Preview
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt
index c96b942a72e..262c92448fa 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MenuOptionItem.kt
@@ -53,7 +53,7 @@ public fun MenuOptionItem(
leadingIcon: @Composable RowScope.() -> Unit,
title: String,
titleColor: Color,
- style: TextStyle = ChatTheme.typography.bodyBold,
+ style: TextStyle = ChatTheme.typography.bodyEmphasis,
itemHeight: Dp = 56.dp,
verticalAlignment: Alignment.Vertical = Alignment.CenterVertically,
horizontalArrangement: Arrangement.Horizontal = Arrangement.Start,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt
index c6705d7b0e6..778f4ff3475 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt
@@ -56,7 +56,7 @@ import coil3.compose.LocalAsyncImagePreviewHandler
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.ComposerCancelIcon
import io.getstream.chat.android.compose.ui.theme.ChatTheme
-import io.getstream.chat.android.compose.ui.theme.StreamColors
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.AsyncImagePreviewHandler
import io.getstream.chat.android.compose.ui.util.StreamAsyncImage
@@ -91,7 +91,7 @@ public fun ComposerLinkPreview(
val attachment = linkPreview.attachment
val colors = ChatTheme.colors
val typography = ChatTheme.typography
- val textColor = colors.textHighEmphasis
+ val textColor = colors.textPrimary
Box(
modifier = modifier,
@@ -103,7 +103,7 @@ public fun ComposerLinkPreview(
interactionSource = remember { MutableInteractionSource() },
onClick = { handleLinkPreviewClick(onContentClick, context, linkPreview) },
)
- .background(colors.chatBgOutgoing, ChatTheme.shapes.attachment)
+ .background(colors.chatBgOutgoing, RoundedCornerShape(StreamTokens.radiusLg))
.padding(
start = StreamTokens.spacingXs,
end = StreamTokens.spacingMd,
@@ -120,17 +120,17 @@ public fun ComposerLinkPreview(
) {
ComposerLinkPreviewText(
text = attachment.title,
- style = typography.footnoteBold.copy(color = textColor),
+ style = typography.metadataEmphasis.copy(color = textColor),
testTag = "Stream_LinkPreviewTitle",
)
ComposerLinkPreviewText(
text = attachment.text,
- style = typography.footnote.copy(color = textColor),
+ style = typography.metadataDefault.copy(color = textColor),
testTag = "Stream_LinkPreviewDescription",
)
ComposerLinkPreviewText(
text = linkPreview.resolveUrl(),
- style = typography.footnote.copy(color = textColor),
+ style = typography.metadataDefault.copy(color = textColor),
testTag = "Stream_LinkPreviewUrl",
)
}
@@ -148,7 +148,7 @@ public fun ComposerLinkPreview(
}
@Composable
-private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamColors) {
+private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamDesign.Colors) {
val imagePreviewUrl = attachment.imagePreviewUrl ?: return
val shape = RoundedCornerShape(StreamTokens.radiusMd)
StreamAsyncImage(
@@ -156,7 +156,7 @@ private fun ComposerLinkImagePreview(attachment: Attachment, colors: StreamColor
modifier = Modifier
.size(width = 40.dp, height = 40.dp)
.clip(shape)
- .border(1.dp, colors.borderCoreImage, shape)
+ .border(1.dp, colors.borderCoreOpacity10, shape)
.testTag("Stream_LinkPreviewImage"),
contentDescription = null,
contentScale = ContentScale.Crop,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt
index e25b51f2b8f..93f98511a33 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt
@@ -45,14 +45,14 @@ public fun CoolDownIndicator(
modifier = modifier
.size(48.dp)
.padding(8.dp)
- .background(shape = RoundedCornerShape(24.dp), color = ChatTheme.colors.disabled),
+ .background(shape = RoundedCornerShape(24.dp), color = ChatTheme.colors.textDisabled),
contentAlignment = Alignment.Center,
) {
Text(
text = coolDownTime.toString(),
color = Color.White,
textAlign = TextAlign.Center,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt
index 93e4f0f2667..e72a8d247e8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/InputField.kt
@@ -46,8 +46,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText
/**
@@ -76,7 +75,7 @@ public fun InputField(
modifier: Modifier = Modifier,
enabled: Boolean = true,
maxLines: Int = Int.MAX_VALUE,
- border: BorderStroke = BorderStroke(1.dp, ChatTheme.colors.borders),
+ border: BorderStroke = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault),
innerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 8.dp),
keyboardOptions: KeyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Sentences),
visualTransformation: VisualTransformation = DefaultInputFieldVisualTransformation(
@@ -136,14 +135,14 @@ public fun InputField(
*/
private class DefaultInputFieldVisualTransformation(
val inputFieldTheme: ComposerInputFieldTheme,
- val typography: StreamTypography,
- val colors: StreamColors,
+ val typography: StreamDesign.Typography,
+ val colors: StreamDesign.Colors,
) : VisualTransformation {
override fun filter(text: AnnotatedString): TransformedText {
val textColor = inputFieldTheme.textStyle.color
- val fontStyle = typography.body.fontStyle
+ val fontStyle = typography.bodyDefault.fontStyle
val linkStyle = TextStyle(
- color = colors.primaryAccent,
+ color = colors.accentPrimary,
textDecoration = TextDecoration.Underline,
)
val transformed = buildAnnotatedInputText(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt
index 7ca6bfbbbde..1da1481cdd8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt
@@ -56,13 +56,13 @@ public fun MessageInputOptions(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_edit),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
Text(
text = stringResource(id = R.string.stream_compose_edit_message),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
IconButton(
@@ -73,7 +73,7 @@ public fun MessageInputOptions(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_close),
contentDescription = stringResource(id = R.string.stream_compose_cancel),
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt
index ba05ff87a0f..003fe44f8fc 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt
@@ -26,6 +26,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.client.utils.attachment.isAudio
import io.getstream.chat.android.client.utils.attachment.isAudioRecording
@@ -111,6 +112,7 @@ public fun MessageContent(
*
* @param modifier Modifier for styling.
*/
+@Suppress("detekt:ForbiddenComment")
@Composable
internal fun DefaultMessageDeletedContent(
modifier: Modifier,
@@ -125,8 +127,9 @@ internal fun DefaultMessageDeletedContent(
bottom = 8.dp,
),
text = stringResource(id = R.string.stream_compose_message_deleted),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.footnoteItalic,
+ color = ChatTheme.colors.textSecondary,
+ // TODO: replace with a dedicated italic token once the design system provides one
+ style = ChatTheme.typography.metadataDefault.copy(fontStyle = FontStyle.Italic),
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt
index 7d267f7216e..92eb6752fbb 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt
@@ -55,15 +55,15 @@ public fun MessageHeaderLabel(
.size(14.dp),
painter = painter,
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
if (text != null) {
Text(
modifier = Modifier.testTag("Stream_MessageHeaderLabel"),
text = text,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt
index 7a062cbaca1..fee373e41d1 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt
@@ -75,8 +75,8 @@ public fun ClusteredMessageReactions(
testTag = "Stream_MessageReaction"
contentDescription = description
}
- .background(colors.barsBackground, CircleShape)
- .border(1.dp, color = colors.borderCoreSurfaceSubtle, shape = CircleShape)
+ .background(colors.backgroundElevationElevation1, CircleShape)
+ .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape)
.ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) }
.padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs),
verticalAlignment = Alignment.CenterVertically,
@@ -174,8 +174,8 @@ private fun ReactionChip(
Row(
modifier = Modifier
.fillMaxHeight()
- .background(colors.barsBackground, CircleShape)
- .border(1.dp, color = colors.borderCoreSurfaceSubtle, shape = CircleShape)
+ .background(colors.backgroundElevationElevation1, CircleShape)
+ .border(1.dp, color = colors.borderCoreSubtle, shape = CircleShape)
.ifNotNull(onClick) { clip(CircleShape).clickable(onClick = it) }
.padding(horizontal = StreamTokens.spacingXs, vertical = StreamTokens.spacing2xs),
verticalAlignment = Alignment.CenterVertically,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt
index d195d9a06f7..551b94e8bf8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt
@@ -35,6 +35,7 @@ import androidx.compose.ui.text.TextLayoutResult
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.sp
import androidx.compose.ui.util.fastAny
import androidx.core.net.toUri
import io.getstream.chat.android.compose.ui.theme.ChatTheme
@@ -65,7 +66,7 @@ import io.getstream.chat.android.ui.common.utils.extensions.isMine
* @param onLinkClick Handler used for clicking on a link in the message.
*/
@Composable
-@Suppress("LongMethod")
+@Suppress("LongMethod", "detekt:ForbiddenComment")
public fun MessageText(
message: Message,
currentUser: User?,
@@ -89,9 +90,10 @@ public fun MessageText(
}
// TODO: Fix emoji font padding once this is resolved and exposed: https://issuetracker.google.com/issues/171394808
+ // TODO: introduce dedicated emoji text style tokens in the design system
val style = when {
- message.isSingleEmoji() -> ChatTheme.typography.singleEmoji
- message.isFewEmoji() -> ChatTheme.typography.emojiOnly
+ message.isSingleEmoji() -> TextStyle(fontSize = 64.sp)
+ message.isFewEmoji() -> TextStyle(fontSize = 64.sp)
else -> MessageStyling.textStyle(outgoing = message.isMine(currentUser))
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt
index 777803a651c..25be7ed7320 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt
@@ -55,8 +55,8 @@ public fun MessageThreadFooter(
Text(
modifier = Modifier.testTag("Stream_ThreadRepliesLabel"),
text = text,
- style = ChatTheme.typography.footnoteBold,
- color = ChatTheme.colors.primaryAccent,
+ style = ChatTheme.typography.metadataEmphasis,
+ color = ChatTheme.colors.accentPrimary,
)
if (messageAlignment == MessageAlignment.End) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt
index eb6ae12fb25..96538e773cb 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageTranslatedLabel.kt
@@ -89,8 +89,8 @@ private fun ShowTranslationLabel(onToggleOriginalText: () -> Unit) {
Text(
modifier = Modifier.clickable { onToggleOriginalText() },
text = stringResource(R.string.stream_compose_message_list_show_translation),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
@@ -103,7 +103,7 @@ private fun ShowOriginalLabel(onToggleOriginalText: () -> Unit) {
onClick = onToggleOriginalText,
),
text = stringResource(R.string.stream_compose_message_list_show_original),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt
index cf5a2af7da0..2d4bdebd4e6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt
@@ -58,8 +58,8 @@ public fun OwnedMessageVisibilityContent(
Text(
text = stringResource(id = R.string.stream_compose_only_visible_to_you),
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textPrimary,
)
Timestamp(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt
index 229bb3c44ec..ec36f5da820 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt
@@ -149,7 +149,7 @@ public fun PollMessageContent(
message = message,
shape = messageBubbleShape,
color = messageBubbleColor,
- border = BorderStroke(1.dp, ChatTheme.colors.borders),
+ border = BorderStroke(1.dp, ChatTheme.colors.borderCoreDefault),
content = {
MessageContent(
message = message,
@@ -337,7 +337,7 @@ private fun NewOptionDialog(
title = {
Text(
text = stringResource(R.string.stream_compose_suggest_an_option),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
},
text = {
@@ -362,8 +362,8 @@ private fun NewOptionDialog(
TextButton(
enabled = newOption.value.isNotBlank(),
colors = ButtonDefaults.textButtonColors(
- contentColor = ChatTheme.colors.primaryAccent,
- disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f),
+ contentColor = ChatTheme.colors.accentPrimary,
+ disabledContentColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f),
),
onClick = {
onNewOption.invoke(newOption.value)
@@ -375,13 +375,13 @@ private fun NewOptionDialog(
},
dismissButton = {
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = { onDismiss.invoke() },
) {
Text(stringResource(R.string.stream_compose_dismiss))
}
},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
)
}
@@ -494,7 +494,7 @@ private fun PollOptionButton(
@Composable
private fun PollMessageContentPreview() {
ChatTheme {
- Column(modifier = Modifier.background(ChatTheme.colors.appBackground)) {
+ Column(modifier = Modifier.background(ChatTheme.colors.backgroundCoreApp)) {
PollMessageContent(
modifier = Modifier
.fillMaxWidth()
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt
index b60e669cea7..1ab46c660cf 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ScrollToBottomButton.kt
@@ -31,7 +31,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@@ -72,8 +71,8 @@ internal fun ScrollToBottomButton(
onClick = onClick,
shape = CircleShape,
colors = IconButtonDefaults.filledIconButtonColors(
- containerColor = ChatTheme.colors.barsBackground,
- contentColor = ChatTheme.colors.textHighEmphasis,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ contentColor = ChatTheme.colors.textPrimary,
),
) {
Icon(
@@ -87,15 +86,19 @@ internal fun ScrollToBottomButton(
) {
if (count > 0) {
Surface(
- modifier = Modifier.border(width = 1.dp, color = Color.White, shape = BadgeShape),
+ modifier = Modifier.border(
+ width = 1.dp,
+ color = ChatTheme.colors.borderCoreOnDark,
+ shape = BadgeShape,
+ ),
shape = BadgeShape,
- color = ChatTheme.colors.primaryAccent,
- contentColor = Color.White,
+ color = ChatTheme.colors.accentPrimary,
+ contentColor = ChatTheme.colors.badgeTextOnAccent,
) {
Text(
modifier = Modifier.padding(horizontal = 6.dp, vertical = StreamTokens.spacing3xs),
text = count.toString(),
- style = ChatTheme.typography.footnoteBold,
+ style = ChatTheme.typography.metadataEmphasis,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt
index b800920d21b..fd16f823ccc 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/ThreadParticipants.kt
@@ -21,6 +21,7 @@ import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
@@ -44,7 +45,7 @@ public fun ThreadParticipants(
participants: List,
alignment: MessageAlignment,
modifier: Modifier = Modifier,
- borderStroke: BorderStroke = BorderStroke(width = 1.dp, color = ChatTheme.colors.appBackground),
+ borderStroke: BorderStroke = BorderStroke(width = 1.dp, color = ChatTheme.colors.backgroundCoreApp),
participantsLimit: Int = DefaultParticipantsLimit,
) {
Box(modifier) {
@@ -59,7 +60,7 @@ public fun ThreadParticipants(
it
}
}
- val itemSize = ChatTheme.dimens.threadParticipantItemSize
+ val itemSize = 16.dp
participantsToShow.forEachIndexed { index, user ->
val itemPadding = Modifier.padding(start = (index * (itemSize.value / 2)).dp)
@@ -80,7 +81,7 @@ public fun ThreadParticipants(
modifier = itemPadding
.zIndex(itemPosition)
.size(itemSize)
- .border(border = borderStroke, shape = ChatTheme.shapes.avatar)
+ .border(border = borderStroke, shape = CircleShape)
.testTag("Stream_ThreadParticipantAvatar"),
user = user,
showIndicator = false,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt
index 3e607a3d03c..5774311022f 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt
@@ -55,7 +55,7 @@ public fun UploadingFooter(
uploadedCount + 1,
totalCount,
),
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
textAlign = TextAlign.End,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt
index a65db453af5..79daa33292f 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt
@@ -123,7 +123,7 @@ internal fun DefaultModeratedMessageDialogTitle() {
Image(
painter = painter,
contentDescription = "",
- colorFilter = ColorFilter.tint(ChatTheme.colors.primaryAccent),
+ colorFilter = ColorFilter.tint(ChatTheme.colors.accentPrimary),
)
Spacer(modifier = Modifier.height(4.dp))
@@ -131,8 +131,8 @@ internal fun DefaultModeratedMessageDialogTitle() {
Text(
text = stringResource(id = R.string.stream_ui_moderation_dialog_title),
textAlign = TextAlign.Center,
- style = ChatTheme.typography.title3,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -149,7 +149,7 @@ internal fun DefaultModeratedMessageDialogDescription() {
.padding(horizontal = 8.dp),
text = stringResource(id = R.string.stream_ui_moderation_dialog_description),
textAlign = TextAlign.Center,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt
index dc7c63753d0..a721fa6e7dc 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt
@@ -38,15 +38,15 @@ public fun ModeratedMessageOptionItem(
option: ModeratedMessageOption,
modifier: Modifier = Modifier,
) {
- HorizontalDivider(color = ChatTheme.colors.borders)
+ HorizontalDivider(color = ChatTheme.colors.borderCoreDefault)
Box(
modifier = modifier,
contentAlignment = Alignment.Center,
) {
Text(
text = stringResource(id = option.text),
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.primaryAccent,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.accentPrimary,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt
index 2caac508078..62df4ba7da6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt
@@ -117,7 +117,7 @@ public fun PollAnswersDialog(
LazyColumn(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
item {
PollDialogHeader(
@@ -147,7 +147,7 @@ public fun PollAnswersDialog(
.padding(horizontal = 16.dp)
.clip(shape = ButtonDefaults.shape)
.clickable { showAddAnswerDialog.value = true }
- .background(color = ChatTheme.colors.inputBackground),
+ .background(color = ChatTheme.colors.backgroundCoreSurface),
contentAlignment = Alignment.Center,
) {
Text(
@@ -161,7 +161,7 @@ public fun PollAnswersDialog(
},
),
textAlign = TextAlign.Center,
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
fontSize = 16.sp,
)
}
@@ -183,7 +183,7 @@ internal fun PollAnswersItem(
.fillMaxWidth()
.padding(horizontal = 16.dp)
.background(
- color = ChatTheme.colors.inputBackground,
+ color = ChatTheme.colors.backgroundCoreSurface,
shape = RoundedCornerShape(
topStart = 12.dp,
topEnd = 12.dp,
@@ -197,7 +197,7 @@ internal fun PollAnswersItem(
Text(
modifier = Modifier.weight(1f),
text = answer.text,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontWeight = FontWeight.Bold,
fontSize = 16.sp,
)
@@ -221,7 +221,7 @@ internal fun PollAnswersItem(
.padding(horizontal = 4.dp)
.weight(1f),
text = user.name,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 14.sp,
)
}
@@ -229,7 +229,7 @@ internal fun PollAnswersItem(
Text(
modifier = Modifier.padding(bottom = 2.dp),
text = ChatTheme.dateFormatter.formatDate(answer.createdAt),
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 14.sp,
)
}
@@ -253,7 +253,7 @@ internal fun AddAnswerDialog(
false -> R.string.stream_compose_edit_answer
},
),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
},
text = {
@@ -278,8 +278,8 @@ internal fun AddAnswerDialog(
TextButton(
enabled = newOption.value.isNotBlank(),
colors = ButtonDefaults.textButtonColors(
- contentColor = ChatTheme.colors.primaryAccent,
- disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f),
+ contentColor = ChatTheme.colors.accentPrimary,
+ disabledContentColor = ChatTheme.colors.accentPrimary.copy(alpha = 0.5f),
),
onClick = {
onNewAnswer.invoke(newOption.value)
@@ -291,12 +291,12 @@ internal fun AddAnswerDialog(
},
dismissButton = {
TextButton(
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
onClick = { onDismiss.invoke() },
) {
Text(stringResource(R.string.stream_compose_dismiss))
}
},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt
index 981f2fe05f6..1fe165f3061 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt
@@ -52,10 +52,10 @@ public fun PollDialogHeader(
Text(
text = title,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -67,7 +67,7 @@ private fun PollDialogHeaderPreview() {
Box(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
PollDialogHeader(
title = stringResource(id = R.string.stream_compose_poll_results),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt
index f3390604e47..66b19864d30 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt
@@ -53,6 +53,7 @@ import androidx.compose.ui.window.Popup
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.common.RadioCheck
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.viewmodel.messages.MessageListViewModel
import io.getstream.chat.android.models.Option
import io.getstream.chat.android.models.Poll
@@ -134,7 +135,7 @@ private fun Content(
LazyColumn(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
item {
PollDialogHeader(
@@ -164,8 +165,8 @@ internal fun PollMoreOptionsTitle(title: String) {
.padding(16.dp)
.fillMaxWidth()
.heightIn(min = 56.dp)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground)
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface)
.padding(16.dp),
) {
Text(
@@ -173,7 +174,7 @@ internal fun PollMoreOptionsTitle(title: String) {
.fillMaxWidth()
.align(Alignment.CenterStart),
text = title,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontWeight = FontWeight.Medium,
fontSize = 16.sp,
)
@@ -232,7 +233,7 @@ private fun PollMoreOptionItem(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp)
- .background(color = ChatTheme.colors.inputBackground, shape = shape)
+ .background(color = ChatTheme.colors.backgroundCoreSurface, shape = shape)
.padding(horizontal = 16.dp, vertical = 16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
@@ -253,7 +254,7 @@ private fun PollMoreOptionItem(
Text(
modifier = Modifier.weight(1f),
text = option.text,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 2,
overflow = TextOverflow.Ellipsis,
fontSize = 16.sp,
@@ -262,7 +263,7 @@ private fun PollMoreOptionItem(
Text(
modifier = Modifier.padding(bottom = 2.dp),
text = voteCount.toString(),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 16.sp,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt
index e5a6a195440..f17a1e349cc 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt
@@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.Text
@@ -58,7 +59,8 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.theme.ChatTheme
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText
/**
@@ -90,14 +92,14 @@ public fun PollOptionInput(
enabled: Boolean = true,
maxLines: Int = 1,
maxLength: Int = 80,
- shape: Shape = ChatTheme.shapes.pollOptionInput,
+ shape: Shape = RoundedCornerShape(StreamTokens.radiusXl),
innerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 18.dp),
keyboardOptions: KeyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Sentences),
decorationBox: @Composable (innerTextField: @Composable () -> Unit) -> Unit,
) {
val typography = ChatTheme.typography
val colors = ChatTheme.colors
- val textColor = ChatTheme.colors.textHighEmphasis
+ val textColor = ChatTheme.colors.textPrimary
val focusRequester = remember { FocusRequester() }
// Using TextFieldValue to manage the text input state,
// which allows us to set the cursor position to the end of the text
@@ -106,12 +108,12 @@ public fun PollOptionInput(
mutableStateOf(TextFieldValue(text = value, selection = TextRange(value.length)))
}
- Box(modifier = modifier.height(ChatTheme.dimens.pollOptionInputHeight)) {
+ Box(modifier = modifier.height(56.dp)) {
BasicTextField(
modifier = Modifier
.fillMaxSize()
.clip(shape = shape)
- .background(ChatTheme.colors.inputBackground)
+ .background(ChatTheme.colors.backgroundCoreSurface)
.padding(innerPadding)
.focusRequester(focusRequester)
.semantics { contentDescription = description },
@@ -125,19 +127,18 @@ public fun PollOptionInput(
val styledText = buildAnnotatedInputText(
text = it.text,
textColor = textColor,
- textFontStyle = typography.body.fontStyle,
+ textFontStyle = typography.bodyDefault.fontStyle,
linkStyle = TextStyle(
- color = colors.primaryAccent,
+ color = colors.accentPrimary,
textDecoration = TextDecoration.Underline,
),
)
TransformedText(styledText, OffsetMapping.Identity)
},
- textStyle = StreamTypography.defaultTypography().body.copy(
- fontSize = 16.sp,
+ textStyle = StreamDesign.Typography.default().bodyDefault.copy(
textDirection = TextDirection.Content,
),
- cursorBrush = SolidColor(ChatTheme.colors.primaryAccent),
+ cursorBrush = SolidColor(ChatTheme.colors.accentPrimary),
decorationBox = { innerTextField -> decorationBox(innerTextField) },
maxLines = maxLines,
singleLine = maxLines == 1,
@@ -153,8 +154,8 @@ public fun PollOptionInput(
.align(Alignment.CenterStart)
.semantics { contentDescription = description },
text = description,
- style = ChatTheme.typography.body.copy(
- color = colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault.copy(
+ color = colors.textSecondary,
textDirection = TextDirection.Content,
),
fontSize = 16.sp,
@@ -175,7 +176,7 @@ public fun PollOptionInputPreview() {
ChatTheme {
Column(
modifier = Modifier
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.fillMaxWidth()
.height(400.dp)
.padding(16.dp),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt
index 87ff8566a42..232a1e536b8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt
@@ -58,6 +58,7 @@ import io.getstream.chat.android.compose.handlers.LoadMoreHandler
import io.getstream.chat.android.compose.ui.components.ContentBox
import io.getstream.chat.android.compose.ui.components.LoadingIndicator
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.ViewModelStore
import io.getstream.chat.android.compose.viewmodel.messages.PollOptionVotesViewModel
import io.getstream.chat.android.models.Option
@@ -97,7 +98,7 @@ internal fun PollOptionVotesDialog(
sheetMaxWidth = Dp.Unspecified,
shape = RoundedCornerShape(0.dp),
dragHandle = {},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
) {
ViewModelStore {
val viewModel = viewModel {
@@ -164,8 +165,8 @@ private fun Content(
LazyColumn(
modifier = Modifier
.padding(horizontal = 16.dp)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground)
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface)
.padding(16.dp),
state = listState,
verticalArrangement = Arrangement.spacedBy(16.dp),
@@ -179,7 +180,7 @@ private fun Content(
Icon(
modifier = Modifier.padding(end = 8.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_award),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
contentDescription = null,
)
}
@@ -189,7 +190,7 @@ private fun Content(
state.voteCount,
state.voteCount,
),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 16.sp,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt
index 279d8f876f8..b8d684d6582 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt
@@ -63,6 +63,7 @@ import io.getstream.chat.android.client.extensions.internal.getVotesUnlessAnonym
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.R.plurals.stream_compose_poll_vote_counts
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.ViewModelStore
import io.getstream.chat.android.compose.viewmodel.messages.PollResultsViewModel
import io.getstream.chat.android.models.Option
@@ -96,7 +97,7 @@ public fun PollViewResultDialog(
sheetMaxWidth = Dp.Unspecified,
shape = RoundedCornerShape(0.dp),
dragHandle = {},
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
) {
var showAllOptionVotes by rememberSaveable(stateSaver = NullableOptionSaver) { mutableStateOf(null) }
@@ -178,8 +179,8 @@ private fun PollViewResultItem(
modifier = Modifier
.padding(horizontal = 16.dp, vertical = 4.dp)
.fillMaxWidth()
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground)
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface)
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
@@ -189,7 +190,7 @@ private fun PollViewResultItem(
.fillMaxWidth()
.weight(1f),
text = item.option.text,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontWeight = FontWeight.Medium,
fontSize = 16.sp,
)
@@ -198,14 +199,14 @@ private fun PollViewResultItem(
Icon(
modifier = Modifier.padding(end = 8.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_award),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
contentDescription = null,
)
}
Text(
text = pluralStringResource(stream_compose_poll_vote_counts, item.voteCount, item.voteCount),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 16.sp,
)
}
@@ -224,7 +225,7 @@ private fun PollViewResultItem(
if (item.showAllButton) {
TextButton(
onClick = { onShowAllClick(item.option) },
- colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent),
+ colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.accentPrimary),
) {
Text(text = stringResource(R.string.stream_compose_poll_show_all_votes))
}
@@ -242,8 +243,8 @@ private fun PollViewResultTitle(
.padding(16.dp)
.fillMaxWidth()
.heightIn(min = 56.dp)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground)
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface)
.padding(16.dp),
) {
Text(
@@ -251,7 +252,7 @@ private fun PollViewResultTitle(
.fillMaxWidth()
.align(Alignment.CenterStart),
text = title,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontWeight = FontWeight.Medium,
fontSize = 16.sp,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt
index 10acf12a466..3ae3db93ff6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollVoteItem.kt
@@ -50,20 +50,20 @@ internal fun PollVoteItem(
Text(
modifier = Modifier.weight(1f),
text = user.name,
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.bodyDefault,
)
Text(
text = ChatTheme.dateFormatter.formatRelativeDate(vote.createdAt),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.bodyBold,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.bodyEmphasis,
)
Text(
text = ChatTheme.dateFormatter.formatTime(vote.createdAt),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.bodyDefault,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt
index 37abbcbcd8a..9dfc60d7e8f 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPicker.kt
@@ -19,11 +19,13 @@ package io.getstream.chat.android.compose.ui.components.reactionpicker
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.lazy.grid.GridCells
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.components.SimpleMenu
import io.getstream.chat.android.compose.ui.components.reactionoptions.ExtendedReactionsOptions
import io.getstream.chat.android.compose.ui.theme.ChatTheme
@@ -55,8 +57,8 @@ public fun ReactionsPicker(
message: Message,
onMessageAction: (MessageAction) -> Unit,
modifier: Modifier = Modifier,
- shape: Shape = ChatTheme.shapes.bottomSheet,
- overlayColor: Color = ChatTheme.colors.overlay,
+ shape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
+ overlayColor: Color = ChatTheme.colors.backgroundCoreScrim,
cells: GridCells = GridCells.Fixed(DefaultNumberOfReactions),
onDismiss: () -> Unit = {},
headerContent: @Composable ColumnScope.() -> Unit = {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt
index 904345c91a1..f908e621cc5 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedReactionsMenu.kt
@@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.BottomSheetDefaults
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -78,9 +79,9 @@ public fun SelectedReactionsMenu(
ModalBottomSheet(
modifier = modifier,
sheetState = rememberModalBottomSheetState(),
- shape = ChatTheme.shapes.bottomSheet,
- containerColor = ChatTheme.colors.barsBackground,
- scrimColor = ChatTheme.colors.overlay,
+ shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ scrimColor = ChatTheme.colors.backgroundCoreScrim,
onDismissRequest = onDismiss,
dragHandle = { BottomSheetDefaults.DragHandle() },
) {
@@ -149,15 +150,15 @@ internal fun ReactionsMenuContent(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = modifier
.fillMaxWidth()
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.verticalScroll(rememberScrollState()),
) {
Text(
text = reactionCountText,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
ReactionCountRow(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt
index 009d54baa25..011d5f077eb 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt
@@ -19,6 +19,7 @@ package io.getstream.chat.android.compose.ui.components.suggestions
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.runtime.Composable
@@ -29,6 +30,7 @@ import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTagsAsResourceId
import androidx.compose.ui.window.Popup
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.AboveAnchorPopupPositionProvider
/**
@@ -44,17 +46,17 @@ import io.getstream.chat.android.compose.ui.util.AboveAnchorPopupPositionProvide
@Composable
public fun SuggestionList(
modifier: Modifier = Modifier,
- shape: Shape = ChatTheme.shapes.suggestionList,
- contentPadding: PaddingValues = PaddingValues(vertical = ChatTheme.dimens.suggestionListPadding),
+ shape: Shape = RoundedCornerShape(StreamTokens.radiusXl),
+ contentPadding: PaddingValues = PaddingValues(vertical = StreamTokens.spacingXs),
headerContent: @Composable () -> Unit = {},
centerContent: @Composable () -> Unit,
) {
Popup(popupPositionProvider = AboveAnchorPopupPositionProvider) {
Card(
modifier = modifier.semantics { testTagsAsResourceId = true },
- elevation = CardDefaults.cardElevation(defaultElevation = ChatTheme.dimens.suggestionListElevation),
+ elevation = CardDefaults.cardElevation(defaultElevation = StreamTokens.elevation3),
shape = shape,
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
) {
Column(Modifier.padding(contentPadding)) {
headerContent()
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt
index 10ae252eeac..94ea5f11b74 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt
@@ -29,6 +29,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.suggestions.SuggestionList
import io.getstream.chat.android.compose.ui.theme.ChatPreviewTheme
@@ -60,7 +61,7 @@ public fun CommandSuggestionList(
SuggestionList(
modifier = modifier
.fillMaxWidth()
- .heightIn(max = ChatTheme.dimens.suggestionListMaxHeight)
+ .heightIn(max = 256.dp)
.testTag("Stream_SuggestionList"),
headerContent = { DefaultCommandSuggestionListHeader() },
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt
index 5c747d471fa..e9b53596461 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt
@@ -35,6 +35,7 @@ import androidx.compose.ui.unit.dp
import io.getstream.chat.android.client.ChatClient
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.clickable
import io.getstream.chat.android.models.User
import io.getstream.chat.android.ui.common.utils.extensions.shouldShowOnlineIndicator
@@ -76,8 +77,8 @@ public fun MentionSuggestionItem(
.wrapContentHeight()
.clickable { onMentionSelected(user) }
.padding(
- vertical = ChatTheme.dimens.mentionSuggestionItemVerticalPadding,
- horizontal = ChatTheme.dimens.mentionSuggestionItemHorizontalPadding,
+ vertical = StreamTokens.spacingXs,
+ horizontal = StreamTokens.spacingMd,
)
.testTag("Stream_MentionSuggestionItem"),
verticalAlignment = Alignment.CenterVertically,
@@ -100,7 +101,7 @@ internal fun DefaultMentionSuggestionItemLeadingContent(user: User) {
ChatTheme.componentFactory.UserAvatar(
modifier = Modifier
.padding(end = 8.dp)
- .size(ChatTheme.dimens.mentionSuggestionItemAvatarSize),
+ .size(40.dp),
user = user,
showIndicator = user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
@@ -126,16 +127,16 @@ internal fun RowScope.DefaultMentionSuggestionItemCenterContent(user: User) {
val username = "@${user.id}"
Text(
text = user.name.ifEmpty { username },
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
if (user.name.isNotEmpty()) {
Text(
text = username,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -154,6 +155,6 @@ internal fun DefaultMentionSuggestionItemTrailingContent() {
.size(24.dp),
painter = painterResource(id = R.drawable.stream_compose_ic_mentions),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt
index 3fb73b73c56..5bceb281571 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionList.kt
@@ -24,6 +24,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.components.suggestions.SuggestionList
import io.getstream.chat.android.compose.ui.theme.ChatPreviewTheme
import io.getstream.chat.android.compose.ui.theme.ChatTheme
@@ -53,7 +54,7 @@ public fun MentionSuggestionList(
SuggestionList(
modifier = modifier
.fillMaxWidth()
- .heightIn(max = ChatTheme.dimens.suggestionListMaxHeight),
+ .heightIn(max = 256.dp),
) {
MentionSuggestionLazyList(
users = users,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt
index e45332abde8..3a7c16e36cd 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt
@@ -207,7 +207,7 @@ public fun MessagesScreen(
bottomBar = {
bottomBarContent()
},
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
) { contentPadding ->
val currentState by listViewModel.currentMessagesState
@@ -618,7 +618,7 @@ public fun MessageModerationDialog(
message = selectedMessage,
modifier = Modifier.background(
shape = MaterialTheme.shapes.medium,
- color = ChatTheme.colors.inputBackground,
+ color = ChatTheme.colors.backgroundCoreSurface,
),
onDismissRequest = remember(listViewModel) { { listViewModel.removeOverlay() } },
onDialogOptionInteraction = remember(listViewModel, composerViewModel) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt
index 941dd29d648..acbe6cd21c7 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt
@@ -211,8 +211,8 @@ private fun RequestAdditionalAccessButton(
.padding(16.dp)
.weight(1f),
text = stringResource(id = textId),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
IconButton(
@@ -220,7 +220,7 @@ private fun RequestAdditionalAccessButton(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_more_files),
contentDescription = stringResource(id = contentDescriptionId),
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
},
onClick = onClick,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt
index e0a4199dc50..4ffa17f12b6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt
@@ -93,7 +93,7 @@ public fun AttachmentPicker(
Surface(
modifier = modifier.testTag("Stream_AttachmentsPicker"),
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
) {
if (ChatTheme.attachmentPickerConfig.useSystemPicker) {
ChatTheme.componentFactory.AttachmentSystemPicker(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt
index 486b66ea0cc..b981319426f 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPickerMenu.kt
@@ -30,6 +30,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalFocusManager
+import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import io.getstream.chat.android.compose.ui.messages.MessagesScreen
import io.getstream.chat.android.compose.ui.theme.ChatTheme
@@ -75,9 +76,8 @@ public fun AttachmentPickerMenu(
// Dismiss the keyboard when the attachments picker is shown (if instructed by ChatTheme).
val focusManager = LocalFocusManager.current
- val shouldCloseKeyboard = ChatTheme.keyboardBehaviour.closeKeyboardOnAttachmentPickerOpen
LaunchedEffect(isPickerVisible) {
- if (shouldCloseKeyboard && isPickerVisible) {
+ if (isPickerVisible) {
focusManager.clearFocus()
}
}
@@ -91,8 +91,8 @@ public fun AttachmentPickerMenu(
}
val menuHeight = when {
- ChatTheme.attachmentPickerConfig.useSystemPicker -> ChatTheme.dimens.attachmentsSystemPickerHeight
- else -> ChatTheme.dimens.attachmentsPickerHeight
+ ChatTheme.attachmentPickerConfig.useSystemPicker -> 72.dp
+ else -> 350.dp
}
val actions = remember(attachmentsPickerViewModel, composerViewModel) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt
index 2dd6aa19dca..3e8fa843a60 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentSystemPicker.kt
@@ -36,6 +36,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.isGranted
@@ -246,8 +247,8 @@ private fun CameraPermissionDialog(
) {
Dialog(onDismissRequest = onDismiss) {
Card(
- modifier = Modifier.height(ChatTheme.dimens.attachmentsPickerHeight),
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground),
+ modifier = Modifier.height(350.dp),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundElevationElevation1),
) {
RequiredCameraPermission()
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt
index 6dd0d8ae1f5..db7417a4b5e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt
@@ -99,7 +99,7 @@ public fun CreatePollScreen(
.fillMaxSize()
.nestedScroll(nestedScrollConnection)
.verticalScroll(rememberScrollState())
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
// Header
PollCreationHeader(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt
index f4a35047cb8..be7c1c1ae29 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt
@@ -63,7 +63,7 @@ public fun PollCreationDiscardDialog(
modifier = Modifier
.fillMaxSize()
.clip(RoundedCornerShape(16.dp))
- .background(ChatTheme.colors.overlay),
+ .background(ChatTheme.colors.backgroundCoreScrim),
) {
Column(
modifier = Modifier
@@ -71,7 +71,7 @@ public fun PollCreationDiscardDialog(
.padding(horizontal = 34.dp)
.align(Alignment.Center)
.clip(RoundedCornerShape(16.dp))
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
Column(
modifier = Modifier.padding(vertical = 32.dp, horizontal = 16.dp),
@@ -79,14 +79,14 @@ public fun PollCreationDiscardDialog(
Text(
modifier = Modifier.padding(bottom = 8.dp),
text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_title),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 17.sp,
fontWeight = FontWeight.Medium,
)
Text(
text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_description),
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 17.sp,
)
}
@@ -100,7 +100,7 @@ public fun PollCreationDiscardDialog(
TextButton(onClick = { onCancelClicked() }) {
Text(
text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_cancel),
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
fontSize = 17.sp,
fontWeight = FontWeight.Medium,
)
@@ -109,7 +109,7 @@ public fun PollCreationDiscardDialog(
TextButton(onClick = { onDiscardClicked() }) {
Text(
text = stringResource(id = R.string.stream_compose_poll_option_discard_dialog_confirm),
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
fontSize = 17.sp,
fontWeight = FontWeight.Medium,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt
index 83a4a2da3db..ba525f20cae 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt
@@ -33,6 +33,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@@ -63,8 +64,8 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme
@Composable
public fun PollCreationHeader(
modifier: Modifier = Modifier,
- color: Color = ChatTheme.colors.appBackground,
- shape: Shape = ChatTheme.shapes.header,
+ color: Color = ChatTheme.colors.backgroundCoreApp,
+ shape: Shape = RectangleShape,
elevation: Dp = 0.dp,
onBackPressed: () -> Unit = {},
enabledCreation: Boolean,
@@ -117,10 +118,10 @@ internal fun DefaultPollOptionsHeaderCenterContent(modifier: Modifier, title: St
) {
Text(
text = title,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
@@ -133,8 +134,8 @@ internal fun DefaultPollOptionsHeaderTrailingContent(
IconButton(
enabled = enabled,
colors = IconButtonDefaults.iconButtonColors(
- contentColor = ChatTheme.colors.primaryAccent,
- disabledContentColor = ChatTheme.colors.textLowEmphasis,
+ contentColor = ChatTheme.colors.accentPrimary,
+ disabledContentColor = ChatTheme.colors.textSecondary,
),
onClick = onPollCreateClicked,
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt
index fb9d5aaaa3c..0d10bf36549 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt
@@ -35,6 +35,7 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.lazy.rememberLazyListState
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.IconButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -55,6 +56,7 @@ import androidx.compose.ui.unit.sp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.poll.PollOptionInput
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.clickable
import sh.calvin.reorderable.ReorderableItem
import sh.calvin.reorderable.rememberReorderableLazyListState
@@ -78,7 +80,7 @@ public fun PollOptionList(
title: String = stringResource(id = R.string.stream_compose_poll_option_title),
optionItems: List = emptyList(),
onQuestionsChanged: (List) -> Unit,
- itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight,
+ itemHeightSize: Dp = 56.dp,
itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 4.dp),
) {
val context = LocalContext.current
@@ -99,8 +101,8 @@ public fun PollOptionList(
Text(
modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp),
text = title,
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.title3,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.headingMedium,
fontSize = 16.sp,
)
@@ -122,14 +124,14 @@ public fun PollOptionList(
.border(
width = 1.dp,
color = if (item.pollOptionError == null) {
- ChatTheme.colors.inputBackground
+ ChatTheme.colors.backgroundCoreSurface
} else {
- ChatTheme.colors.errorAccent
+ ChatTheme.colors.accentError
},
- shape = ChatTheme.shapes.pollOptionInput,
+ shape = RoundedCornerShape(StreamTokens.radiusXl),
)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground),
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface),
verticalAlignment = Alignment.CenterVertically,
) {
PollOptionInput(
@@ -174,7 +176,7 @@ public fun PollOptionList(
.fillMaxWidth()
.padding(bottom = 4.dp),
text = item.pollOptionError.message,
- color = ChatTheme.colors.errorAccent,
+ color = ChatTheme.colors.accentError,
fontSize = 12.sp,
)
innerTextField.invoke()
@@ -202,7 +204,7 @@ public fun PollOptionList(
.fillMaxWidth()
.height(itemHeightSize)
.padding(horizontal = 16.dp)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
.background(ChatTheme.messageComposerTheme.inputField.backgroundColor)
.clickable {
optionItemList = optionItemList
@@ -219,7 +221,7 @@ public fun PollOptionList(
.align(Alignment.CenterStart)
.padding(itemInnerPadding),
text = stringResource(id = R.string.stream_compose_poll_option_description),
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 16.sp,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt
index b2a2ee4556d..091ceb631d2 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt
@@ -51,8 +51,8 @@ public fun PollQuestionInput(
Text(
modifier = Modifier.padding(bottom = 8.dp),
text = title,
- color = ChatTheme.colors.textHighEmphasis,
- style = ChatTheme.typography.title3,
+ color = ChatTheme.colors.textPrimary,
+ style = ChatTheme.typography.headingMedium,
fontSize = 16.sp,
)
@@ -74,7 +74,7 @@ private fun PollOptionQuestionsPreview() {
PollQuestionInput(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
question = "This is an amazing question!",
onQuestionChanged = {},
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt
index e4fa06cbc3f..b24a2f473f4 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt
@@ -59,6 +59,7 @@ import androidx.compose.ui.unit.sp
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.components.poll.PollOptionInput
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.ui.common.utils.PollsConstants
/**
@@ -75,7 +76,7 @@ public fun PollSwitchList(
modifier: Modifier = Modifier,
pollSwitchItems: List,
onSwitchesChanged: (List) -> Unit,
- itemHeightSize: Dp = ChatTheme.dimens.pollOptionInputHeight,
+ itemHeightSize: Dp = 56.dp,
itemInnerPadding: PaddingValues = PaddingValues(horizontal = 16.dp, vertical = 16.dp),
) {
@Suppress("SpreadOperator")
@@ -106,14 +107,14 @@ public fun PollSwitchList(
.border(
width = 1.dp,
color = if (item.pollOptionError == null) {
- ChatTheme.colors.inputBackground
+ ChatTheme.colors.backgroundCoreSurface
} else {
- ChatTheme.colors.errorAccent
+ ChatTheme.colors.accentError
},
- shape = ChatTheme.shapes.pollOptionInput,
+ shape = RoundedCornerShape(StreamTokens.radiusXl),
)
- .clip(shape = ChatTheme.shapes.pollOptionInput)
- .background(ChatTheme.colors.inputBackground),
+ .clip(shape = RoundedCornerShape(StreamTokens.radiusXl))
+ .background(ChatTheme.colors.backgroundCoreSurface),
) {
val layoutDirection = LocalLayoutDirection.current
Column(
@@ -135,16 +136,16 @@ public fun PollSwitchList(
.fillMaxWidth()
.weight(1f),
text = item.title,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
fontSize = 16.sp,
)
Switch(
colors = SwitchDefaults.colors().copy(
- checkedTrackColor = ChatTheme.colors.infoAccent,
- checkedBorderColor = ChatTheme.colors.infoAccent,
- uncheckedTrackColor = ChatTheme.colors.textLowEmphasis,
- uncheckedBorderColor = ChatTheme.colors.textLowEmphasis,
+ checkedTrackColor = ChatTheme.colors.accentSuccess,
+ checkedBorderColor = ChatTheme.colors.accentSuccess,
+ uncheckedTrackColor = ChatTheme.colors.textSecondary,
+ uncheckedBorderColor = ChatTheme.colors.textSecondary,
),
thumbContent = {
Box(
@@ -155,7 +156,7 @@ public fun PollSwitchList(
color = if (item.enabled) {
Color.White
} else {
- ChatTheme.colors.disabled
+ ChatTheme.colors.backgroundCoreDisabled
},
),
)
@@ -206,7 +207,7 @@ public fun PollSwitchList(
.fillMaxWidth()
.padding(bottom = 4.dp),
text = item.pollOptionError.message,
- color = ChatTheme.colors.errorAccent,
+ color = ChatTheme.colors.accentError,
fontSize = 12.sp,
)
innerTextField.invoke()
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
index 038d985873a..bb39d2af989 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
@@ -423,8 +423,8 @@ private fun MessageComposerSurface(
} else {
Surface(
modifier = modifier,
- shadowElevation = ChatTheme.dimens.messageComposerShadowElevation,
- color = ChatTheme.colors.barsBackground,
+ shadowElevation = 24.dp,
+ color = ChatTheme.colors.backgroundElevationElevation1,
content = content,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt
index 1e65decf596..0fe378946c8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingContent.kt
@@ -135,7 +135,7 @@ internal fun MessageComposerAudioRecordingHoldContent(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_mic),
contentDescription = null,
- tint = ChatTheme.colors.errorAccent,
+ tint = ChatTheme.colors.accentError,
)
}
@@ -169,7 +169,7 @@ internal fun MessageComposerAudioRecordingLockedContent(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_mic),
contentDescription = null,
- tint = ChatTheme.colors.errorAccent,
+ tint = ChatTheme.colors.accentError,
)
}
@@ -323,7 +323,7 @@ private fun MessageComposerAudioRecordingControlsContent(
testTag = "Stream_ComposerStopAudioRecordingButton",
circleModifier = Modifier.border(1.dp, ChatTheme.colors.buttonDestructiveBorder, CircleShape),
iconRes = R.drawable.stream_compose_ic_stop,
- iconTint = ChatTheme.colors.errorAccent,
+ iconTint = ChatTheme.colors.accentError,
iconModifier = Modifier.size(ControlIconSize),
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt
index da6c436edea..e25822d395c 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerDefaults.kt
@@ -35,7 +35,6 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
@@ -86,8 +85,8 @@ internal fun DefaultMessageComposerFooterInThreadMode(
checked = alsoSendToChannel,
onCheckedChange = onAlsoSendToChannelChanged,
colors = CheckboxDefaults.colors(
- ChatTheme.colors.primaryAccent,
- ChatTheme.colors.textLowEmphasis,
+ ChatTheme.colors.accentPrimary,
+ ChatTheme.colors.textSecondary,
),
)
@@ -95,9 +94,9 @@ internal fun DefaultMessageComposerFooterInThreadMode(
Text(
text = stringResource(R.string.stream_compose_message_composer_show_in_channel),
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
textAlign = TextAlign.Center,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
)
}
}
@@ -131,7 +130,7 @@ internal fun DefaultMessageComposerLeadingContent(
.padding(end = 8.dp)
.border(
width = 1.dp,
- color = ChatTheme.colors.borders,
+ color = ChatTheme.colors.borderCoreDefault,
shape = CircleShape,
)
.then(
@@ -145,10 +144,10 @@ internal fun DefaultMessageComposerLeadingContent(
.padding(attachmentsButtonStyle.padding)
.testTag("Stream_ComposerAttachmentsButton"),
colors = IconButtonDefaults.filledIconButtonColors(
- containerColor = ChatTheme.colors.barsBackground,
- disabledContainerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ disabledContainerColor = ChatTheme.colors.backgroundElevationElevation1,
contentColor = attachmentsButtonStyle.icon.tint,
- disabledContentColor = ChatTheme.colors.disabled,
+ disabledContentColor = ChatTheme.colors.textDisabled,
),
onClick = onAttachmentsClick,
) {
@@ -186,8 +185,8 @@ internal fun SendButton(
)
},
colors = IconButtonDefaults.filledIconButtonColors(
- containerColor = ChatTheme.colors.primaryAccent,
- contentColor = Color.White,
+ containerColor = ChatTheme.colors.accentPrimary,
+ contentColor = ChatTheme.colors.textOnAccent,
),
onClick = onClick,
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt
index 0b06481b36f..2ffe1e8b75e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt
@@ -46,9 +46,8 @@ import androidx.compose.ui.text.style.TextDecoration
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.theme.ChatTheme
import io.getstream.chat.android.compose.ui.theme.ComposerInputFieldTheme
-import io.getstream.chat.android.compose.ui.theme.StreamColors
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.theme.StreamTokens
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
import io.getstream.chat.android.compose.ui.util.buildAnnotatedInputText
import io.getstream.chat.android.ui.common.feature.messages.composer.capabilities.canSendMessage
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.Mention
@@ -126,7 +125,7 @@ private fun TextFieldPlaceholder(canSendMessage: Boolean) {
}
Text(
text = text,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
style = ChatTheme.messageComposerTheme.inputField.textStyle,
)
}
@@ -150,15 +149,15 @@ private const val TextFieldMaxLines = 5
private class TextFieldVisualTransformation(
val inputFieldTheme: ComposerInputFieldTheme,
- val typography: StreamTypography,
- val colors: StreamColors,
+ val typography: StreamDesign.Typography,
+ val colors: StreamDesign.Colors,
val mentions: Set,
) : VisualTransformation {
override fun filter(text: AnnotatedString): TransformedText {
val textColor = inputFieldTheme.textStyle.color
- val fontStyle = typography.body.fontStyle
+ val fontStyle = typography.bodyDefault.fontStyle
val linkStyle = TextStyle(
- color = colors.primaryAccent,
+ color = colors.accentPrimary,
textDecoration = TextDecoration.Underline,
)
val transformed = buildAnnotatedInputText(
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt
index 7329aefcc48..4199be8b2ee 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt
@@ -32,6 +32,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
@@ -46,6 +47,7 @@ import io.getstream.chat.android.compose.ui.components.BackButton
import io.getstream.chat.android.compose.ui.components.NetworkLoadingIndicator
import io.getstream.chat.android.compose.ui.components.TypingIndicator
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.compose.ui.util.clickable
import io.getstream.chat.android.compose.ui.util.getMembersStatusText
import io.getstream.chat.android.compose.ui.util.ifNotNull
@@ -86,9 +88,9 @@ public fun MessageListHeader(
modifier: Modifier = Modifier,
typingUsers: List = emptyList(),
messageMode: MessageMode = MessageMode.Normal,
- color: Color = ChatTheme.colors.barsBackground,
- shape: Shape = ChatTheme.shapes.header,
- elevation: Dp = ChatTheme.dimens.headerElevation,
+ color: Color = ChatTheme.colors.backgroundElevationElevation1,
+ shape: Shape = RectangleShape,
+ elevation: Dp = StreamTokens.elevation3,
onBackPressed: () -> Unit = {},
onHeaderTitleClick: ((Channel) -> Unit)? = null,
onChannelAvatarClick: (() -> Unit)? = null,
@@ -225,10 +227,10 @@ public fun DefaultMessageListHeaderCenterContent(
Text(
modifier = Modifier.testTag("Stream_ChannelName"),
text = title,
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
when (connectionState) {
@@ -243,16 +245,16 @@ public fun DefaultMessageListHeaderCenterContent(
NetworkLoadingIndicator(
modifier = Modifier.wrapContentHeight(),
spinnerSize = 12.dp,
- textColor = ChatTheme.colors.textLowEmphasis,
- textStyle = ChatTheme.typography.footnote,
+ textColor = ChatTheme.colors.textSecondary,
+ textStyle = ChatTheme.typography.metadataDefault,
)
}
is ConnectionState.Offline -> {
Text(
text = stringResource(id = R.string.stream_compose_disconnected),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.footnote,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.metadataDefault,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
@@ -273,8 +275,8 @@ internal fun DefaultMessageListHeaderSubtitle(
subtitle: String,
typingUsers: List,
) {
- val textColor = ChatTheme.colors.textLowEmphasis
- val textStyle = ChatTheme.typography.footnote
+ val textColor = ChatTheme.colors.textSecondary
+ val textStyle = ChatTheme.typography.metadataDefault
if (typingUsers.isEmpty()) {
Text(
@@ -327,7 +329,7 @@ internal fun DefaultMessageListHeaderTrailingContent(
) {
ChatTheme.componentFactory.ChannelAvatar(
modifier = Modifier
- .size(ChatTheme.dimens.channelAvatarSize)
+ .size(40.dp)
.ifNotNull(onClick) { clickable(onClick = it) },
channel = channel,
currentUser = currentUser,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt
index daf1e466eee..8f3a66aaf34 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt
@@ -171,8 +171,8 @@ public fun MessageContainer(
)
val backgroundColor = when (focusState is MessageFocused || message.isPinned(ChatTheme.timeProvider)) {
- true -> ChatTheme.colors.highlight
- else -> ChatTheme.colors.highlight.copy(alpha = 0f) // Ensures a smooth fade-out without unwanted color shifts.
+ true -> ChatTheme.colors.backgroundCoreHighlight
+ else -> ChatTheme.colors.backgroundCoreHighlight.copy(alpha = 0f)
}
val color by animateColorAsState(
@@ -509,7 +509,7 @@ public fun DefaultMessageContent(
onClosePoll: (String) -> Unit,
onAddPollOption: (poll: Poll, option: String) -> Unit,
) {
- val finalModifier = modifier.widthIn(max = ChatTheme.dimens.messageItemMaxWidth)
+ val finalModifier = modifier.widthIn(max = 250.dp)
if (messageItem.message.isPoll() && !messageItem.message.isDeleted()) {
val poll = messageItem.message.poll
LaunchedEffect(key1 = poll) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt
index 495f11f3e3d..912ddbc1f59 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt
@@ -200,8 +200,8 @@ internal fun DefaultMessageUnreadSeparatorContent(unreadSeparatorItemState: Unre
internal fun DefaultMessageThreadSeparatorContent(threadSeparator: ThreadDateSeparatorItemState) {
val backgroundGradient = Brush.verticalGradient(
listOf(
- ChatTheme.colors.threadSeparatorGradientStart,
- ChatTheme.colors.threadSeparatorGradientEnd,
+ ChatTheme.colors.backgroundCoreSurface,
+ ChatTheme.colors.backgroundCoreApp,
),
)
val replyCount = threadSeparator.replyCount
@@ -210,21 +210,21 @@ internal fun DefaultMessageThreadSeparatorContent(threadSeparator: ThreadDateSep
modifier = Modifier
.semantics(mergeDescendants = true) {}
.fillMaxWidth()
- .padding(vertical = ChatTheme.dimens.threadSeparatorVerticalPadding)
+ .padding(vertical = StreamTokens.spacingXs)
.background(brush = backgroundGradient),
contentAlignment = Alignment.Center,
) {
Text(
modifier = Modifier
- .padding(vertical = ChatTheme.dimens.threadSeparatorTextVerticalPadding)
+ .padding(vertical = StreamTokens.spacing3xs)
.testTag("Stream_RepliesCount"),
text = LocalContext.current.resources.getQuantityString(
R.plurals.stream_compose_message_list_thread_separator,
replyCount,
replyCount,
),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.body,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.bodyDefault,
)
}
}
@@ -243,8 +243,8 @@ internal fun DefaultSystemMessageContent(systemMessageState: SystemMessageItemSt
.fillMaxWidth()
.padding(vertical = 12.dp, horizontal = 16.dp),
text = systemMessageState.message.text,
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.footnoteBold,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.metadataEmphasis,
textAlign = TextAlign.Center,
)
}
@@ -263,8 +263,8 @@ internal fun DefaultMessageModeratedContent(moderatedMessageItemState: Moderated
text = moderatedMessageItemState.message.text
.takeUnless { it.isBlank() }
?: stringResource(id = R.string.stream_compose_message_moderated),
- color = ChatTheme.colors.textLowEmphasis,
- style = ChatTheme.typography.footnoteBold,
+ color = ChatTheme.colors.textSecondary,
+ style = ChatTheme.typography.metadataEmphasis,
textAlign = TextAlign.Center,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt
index 2e58880146d..be3c757c222 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt
@@ -331,8 +331,8 @@ internal fun DefaultMessageListEmptyContent(modifier: Modifier) {
) {
Text(
text = stringResource(R.string.stream_compose_message_list_empty_messages),
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
textAlign = TextAlign.Center,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt
index f0ece597132..1aeac461475 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt
@@ -38,6 +38,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import io.getstream.chat.android.compose.ui.components.Timestamp
import io.getstream.chat.android.compose.ui.theme.ChatTheme
+import io.getstream.chat.android.compose.ui.theme.StreamTokens
import io.getstream.chat.android.models.Message
import io.getstream.chat.android.models.User
import io.getstream.chat.android.ui.common.utils.extensions.shouldShowOnlineIndicator
@@ -107,12 +108,12 @@ internal fun DefaultMessagePreviewItemLeadingContent(message: Message, currentUs
user = message.user,
modifier = Modifier
.padding(
- start = ChatTheme.dimens.channelItemHorizontalPadding,
+ start = StreamTokens.spacingXs,
end = 4.dp,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
- .size(ChatTheme.dimens.channelAvatarSize),
+ .size(40.dp),
showIndicator = message.user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
currentUser = currentUser,
@@ -142,19 +143,19 @@ internal fun RowScope.DefaultMessagePreviewItemCenterContent(
) {
Text(
text = ChatTheme.messagePreviewFormatter.formatMessageTitle(message),
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 16.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = ChatTheme.messagePreviewFormatter.formatMessagePreview(message, currentUser),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
}
@@ -170,9 +171,9 @@ internal fun RowScope.DefaultMessagePreviewItemTrailingContent(message: Message)
modifier = Modifier
.padding(
start = 4.dp,
- end = ChatTheme.dimens.channelItemHorizontalPadding,
- top = ChatTheme.dimens.channelItemVerticalPadding,
- bottom = ChatTheme.dimens.channelItemVerticalPadding,
+ end = StreamTokens.spacingXs,
+ top = StreamTokens.spacingSm,
+ bottom = StreamTokens.spacingSm,
)
.wrapContentHeight()
.align(Alignment.Bottom),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt
index caa2bbed18a..c38097417d0 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/pinned/PinnedMessageList.kt
@@ -208,7 +208,7 @@ private fun PinnedMessages(
Box(
modifier = modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
) {
LazyColumn(state = listState) {
itemsIndexed(messages) { index, pinnedMessage ->
@@ -238,7 +238,7 @@ private fun PinnedMessages(
@Composable
internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier) {
Column(
- modifier = modifier.background(ChatTheme.colors.appBackground),
+ modifier = modifier.background(ChatTheme.colors.backgroundCoreApp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
@@ -252,8 +252,8 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier)
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.stream_compose_pinned_message_list_empty_title),
textAlign = TextAlign.Center,
- style = ChatTheme.typography.captionBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.numericMedium,
+ color = ChatTheme.colors.textPrimary,
fontSize = 16.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
@@ -265,8 +265,8 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier)
.padding(horizontal = 16.dp),
text = stringResource(id = R.string.stream_compose_pinned_message_list_empty_description).parseBoldTags(),
textAlign = TextAlign.Center,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 16.sp,
)
}
@@ -279,7 +279,7 @@ internal fun DefaultPinnedMessageListEmptyContent(modifier: Modifier = Modifier)
*/
@Composable
internal fun DefaultPinnedMessageListLoadingContent(modifier: Modifier = Modifier) {
- Box(modifier = modifier.background(ChatTheme.colors.appBackground)) {
+ Box(modifier = modifier.background(ChatTheme.colors.backgroundCoreApp)) {
LoadingIndicator(modifier)
}
}
@@ -292,7 +292,7 @@ internal fun DefaultPinnedMessageListLoadingMoreContent() {
Box(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(top = 8.dp, start = 8.dp, end = 8.dp, bottom = 40.dp),
contentAlignment = Alignment.Center,
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt
deleted file mode 100644
index f8be5b99864..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/AttachmentPickerTheme.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.graphics.Color
-
-/**
- * Represents the theming for the attachment picker.
- *
- * @param backgroundOverlay The overlay background color.
- * @param backgroundSecondary The secondary background color.
- * @param backgroundPrimary The primary background color.
- * @param checkIconBackgroundColor The background color of the check icon.
- * @param checkIconTintColor The tint color of the check icon.
- * @param contentColor The content color used for text and icons.
- */
-@Immutable
-public data class AttachmentPickerTheme(
- val backgroundOverlay: Color,
- val backgroundSecondary: Color,
- val backgroundPrimary: Color,
- val checkIconBackgroundColor: Color,
- val checkIconTintColor: Color,
- val contentColor: Color,
-) {
-
- public companion object {
-
- /**
- * Builds the default attachment picker theme.
- *
- * @return A [AttachmentPickerTheme] instance holding the default theming.
- */
- @Composable
- public fun defaultTheme(
- colors: StreamColors = when (isSystemInDarkTheme()) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
- },
- ): AttachmentPickerTheme {
- return AttachmentPickerTheme(
- backgroundOverlay = colors.overlay,
- backgroundSecondary = colors.inputBackground,
- backgroundPrimary = colors.barsBackground,
- checkIconBackgroundColor = colors.overlayDark,
- checkIconTintColor = colors.textHighEmphasisInverse,
- contentColor = colors.overlayDark,
- )
- }
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt
index 1dd9007a284..efb67288256 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt
@@ -780,7 +780,7 @@ public interface ChatComponentFactory {
Box(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
)
}
@@ -1090,7 +1090,7 @@ public interface ChatComponentFactory {
modifier = modifier,
painter = painterResource(id = R.drawable.stream_compose_ic_error),
contentDescription = null,
- tint = ChatTheme.colors.errorAccent,
+ tint = ChatTheme.colors.accentError,
)
}
@@ -2162,7 +2162,7 @@ public interface ChatComponentFactory {
ChannelOptionsItemLeadingIcon(Modifier, option)
},
onClick = onClick,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
itemHeight = 56.dp,
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.Start,
@@ -2824,7 +2824,7 @@ public interface ChatComponentFactory {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_reply),
contentDescription = "",
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
}
}
@@ -2908,8 +2908,8 @@ public interface ChatComponentFactory {
state = pullToRefreshState,
isRefreshing = isRefreshing,
modifier = modifier.align(Alignment.TopCenter),
- containerColor = ChatTheme.colors.barsBackground,
- color = ChatTheme.colors.primaryAccent,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ color = ChatTheme.colors.accentPrimary,
)
}
@@ -3316,14 +3316,14 @@ public interface ChatComponentFactory {
title = {
Text(
text = stringResource(R.string.stream_ui_channel_attachments_files_title),
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
)
},
navigationIcon = { ChannelInfoNavigationIcon(onClick = onNavigationIconClick) },
colors = TopAppBarDefaults.topAppBarColors(
- containerColor = ChatTheme.colors.barsBackground,
- titleContentColor = ChatTheme.colors.textHighEmphasis,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ titleContentColor = ChatTheme.colors.textPrimary,
),
)
}
@@ -3373,11 +3373,11 @@ public interface ChatComponentFactory {
Text(
modifier = modifier
.fillMaxWidth()
- .background(ChatTheme.colors.borders.copy(alpha = 0.8f))
+ .background(ChatTheme.colors.borderCoreDefault.copy(alpha = 0.8f))
.padding(horizontal = 16.dp, vertical = 8.dp),
text = label,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -3446,14 +3446,14 @@ public interface ChatComponentFactory {
title = {
Text(
text = stringResource(R.string.stream_ui_channel_attachments_media_title),
- style = ChatTheme.typography.title3Bold,
+ style = ChatTheme.typography.headingMedium,
maxLines = 1,
)
},
navigationIcon = { ChannelInfoNavigationIcon(onClick = onNavigationIconClick) },
colors = TopAppBarDefaults.topAppBarColors(
- containerColor = ChatTheme.colors.barsBackground,
- titleContentColor = ChatTheme.colors.textHighEmphasis,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ titleContentColor = ChatTheme.colors.textPrimary,
),
)
}
@@ -3505,13 +3505,13 @@ public interface ChatComponentFactory {
.align(Alignment.TopCenter)
.padding(16.dp)
.background(
- color = ChatTheme.colors.textHighEmphasis.copy(alpha = 0.6f),
+ color = ChatTheme.colors.textPrimary.copy(alpha = 0.6f),
shape = ButtonDefaults.outlinedShape,
)
.padding(horizontal = 12.dp, vertical = 8.dp),
text = label,
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasisInverse,
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textOnDark,
)
}
@@ -3552,7 +3552,7 @@ public interface ChatComponentFactory {
CircularProgressIndicator(
modifier = modifier.fillMaxSize(.25f),
strokeWidth = 2.dp,
- color = ChatTheme.colors.primaryAccent,
+ color = ChatTheme.colors.accentPrimary,
)
}
}
@@ -3576,13 +3576,13 @@ public interface ChatComponentFactory {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_close),
contentDescription = stringResource(id = R.string.stream_compose_cancel),
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
},
colors = TopAppBarDefaults.topAppBarColors(
- containerColor = ChatTheme.colors.barsBackground,
- titleContentColor = ChatTheme.colors.textHighEmphasis,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ titleContentColor = ChatTheme.colors.textPrimary,
),
)
}
@@ -3603,14 +3603,14 @@ public interface ChatComponentFactory {
) {
Text(
text = title,
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
)
Text(
text = subtitle,
- style = ChatTheme.typography.footnote,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.metadataDefault,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
)
}
@@ -3633,15 +3633,15 @@ public interface ChatComponentFactory {
public fun ChannelMediaAttachmentsPreviewBottomBar(text: String) {
Row(
modifier = Modifier
- .background(ChatTheme.colors.barsBackground)
+ .background(ChatTheme.colors.backgroundElevationElevation1)
.padding(horizontal = 16.dp, vertical = 8.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.Center,
) {
Text(
text = text,
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
)
}
@@ -3661,10 +3661,10 @@ public interface ChatComponentFactory {
actions = { params.trailingContent() },
windowInsets = BottomAppBarDefaults.windowInsets,
colors = TopAppBarDefaults.centerAlignedTopAppBarColors(
- containerColor = ChatTheme.colors.barsBackground,
- titleContentColor = ChatTheme.colors.textHighEmphasis,
- navigationIconContentColor = ChatTheme.colors.textHighEmphasis,
- actionIconContentColor = ChatTheme.colors.textHighEmphasis,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
+ titleContentColor = ChatTheme.colors.textPrimary,
+ navigationIconContentColor = ChatTheme.colors.textPrimary,
+ actionIconContentColor = ChatTheme.colors.textPrimary,
),
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt
index 3b16288b7ac..3f39c46b254 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt
@@ -75,18 +75,12 @@ import io.getstream.sdk.chat.audio.recording.StreamMediaRecorder
/**
* Local providers for various properties we connect to our components, for styling.
*/
-private val LocalColors = compositionLocalOf {
+private val LocalColors = compositionLocalOf {
error("No colors provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
-private val LocalDimens = compositionLocalOf {
- error("No dimens provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
-}
-private val LocalTypography = compositionLocalOf {
+private val LocalTypography = compositionLocalOf {
error("No typography provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
-private val LocalShapes = compositionLocalOf {
- error("No shapes provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
-}
private val LocalUserPresence = compositionLocalOf {
error("No UserPresence provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
@@ -201,9 +195,6 @@ private val LocalReadCountEnabled = compositionLocalOf {
private val LocalMessageComposerTheme = compositionLocalOf {
error("No MessageComposerTheme provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
-private val LocalAttachmentPickerTheme = compositionLocalOf {
- error("No AttachmentPickerTheme provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
-}
private val LocalAutoTranslationEnabled = compositionLocalOf {
error(
"No AutoTranslationEnabled Boolean provided! " +
@@ -229,9 +220,6 @@ public val LocalComposerLinkPreviewEnabled: ProvidableCompositionLocal
private val LocalStreamMediaRecorder = compositionLocalOf {
error("No StreamMediaRecorder provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
-private val LocalKeyboardBehaviour = compositionLocalOf {
- error("No StreamKeyboardBehaviour provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
-}
private val LocalMediaGalleryConfig = compositionLocalOf {
error("No MediaGalleryConfig provided! Make sure to wrap all usages of Stream components in a ChatTheme.")
}
@@ -250,10 +238,8 @@ private val LocalChatConfig = compositionLocalOf {
* @param isComposerLinkPreviewEnabled Whether the composer link preview is enabled or not.
* @param attachmentPickerConfig Configuration for the attachment picker modes and settings.
* @param messageComposerFloatingStyleEnabled Whether the message composer should use the floating style or not.
- * @param colors The set of colors we provide, wrapped in [StreamColors].
- * @param dimens The set of dimens we provide, wrapped in [StreamDimens].
- * @param typography The set of typography styles we provide, wrapped in [StreamTypography].
- * @param shapes The set of shapes we provide, wrapped in [StreamShapes].
+ * @param colors The set of colors we provide, wrapped in [StreamDesign.Colors].
+ * @param typography The set of typography styles we provide, wrapped in [StreamDesign.Typography].
* @param rippleConfiguration Defines the appearance for ripples.
* @param userPresence The user presence display configuration.
* @param componentFactory Provide to customize the stateless components that are used throughout the UI
@@ -283,9 +269,7 @@ private val LocalChatConfig = compositionLocalOf {
* set [StreamCdnImageResizing.imageResizingEnabled] to true if you wish to enable resizing images. Note that resizing
* applies only to images hosted on Stream's CDN which contain the original height (oh) and width (ow) query parameters.
* @param messageComposerTheme Theme of the message composer.
- * @param attachmentPickerTheme Theme of the attachment picker.
* @param streamMediaRecorder Used for recording audio messages.
- * @param keyboardBehaviour Configuration for different keyboard behaviours.
* @param mediaGalleryConfig Configuration for the media gallery screen.
* @param content The content shown within the theme wrapper.
*/
@@ -299,10 +283,9 @@ public fun ChatTheme(
isComposerLinkPreviewEnabled: Boolean = false,
attachmentPickerConfig: AttachmentPickerConfig = AttachmentPickerConfig(),
messageComposerFloatingStyleEnabled: Boolean = false,
- colors: StreamColors = if (isInDarkMode) StreamColors.defaultDarkColors() else StreamColors.defaultColors(),
- dimens: StreamDimens = StreamDimens.defaultDimens(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- shapes: StreamShapes = StreamShapes.defaultShapes(),
+ colors: StreamDesign.Colors =
+ if (isInDarkMode) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default(),
+ typography: StreamDesign.Typography = StreamDesign.Typography.default(),
rippleConfiguration: StreamRippleConfiguration = StreamRippleConfiguration.defaultRippleConfiguration(
contentColor = LocalContentColor.current,
lightTheme = !isInDarkMode,
@@ -343,18 +326,14 @@ public fun ChatTheme(
messageComposerTheme: MessageComposerTheme = MessageComposerTheme.defaultTheme(
isInDarkMode = isInDarkMode,
typography = typography,
- shapes = shapes,
colors = colors,
),
- attachmentPickerTheme: AttachmentPickerTheme = AttachmentPickerTheme.defaultTheme(colors),
messageTextFormatter: MessageTextFormatter = MessageTextFormatter.defaultFormatter(
autoTranslationEnabled = autoTranslationEnabled,
typography = typography,
- shapes = shapes,
colors = colors,
),
streamMediaRecorder: StreamMediaRecorder = DefaultStreamMediaRecorder(LocalContext.current),
- keyboardBehaviour: StreamKeyboardBehaviour = StreamKeyboardBehaviour.defaultBehaviour(),
mediaGalleryConfig: MediaGalleryConfig = MediaGalleryConfig(),
content: @Composable () -> Unit,
) {
@@ -365,9 +344,7 @@ public fun ChatTheme(
CompositionLocalProvider(
LocalChatConfig provides config,
LocalColors provides colors,
- LocalDimens provides dimens,
LocalTypography provides typography,
- LocalShapes provides shapes,
LocalRippleConfiguration provides rippleConfiguration.toRippleConfiguration(),
LocalShimmerTheme provides StreamShimmerTheme,
LocalAttachmentPickerConfig provides attachmentPickerConfig,
@@ -388,7 +365,6 @@ public fun ChatTheme(
LocalMessageTextFormatter provides messageTextFormatter,
LocalSearchResultNameFormatter provides searchResultNameFormatter,
LocalMessageComposerTheme provides messageComposerTheme,
- LocalAttachmentPickerTheme provides attachmentPickerTheme,
LocalStreamImageLoader provides imageLoaderFactory.imageLoader(LocalContext.current.applicationContext),
LocalStreamImageHeadersProvider provides imageHeadersProvider,
LocalStreamDownloadAttachmentUriGenerator provides downloadAttachmentUriGenerator,
@@ -404,7 +380,6 @@ public fun ChatTheme(
LocalAutoTranslationEnabled provides autoTranslationEnabled,
LocalShowOriginalTranslationEnabled provides showOriginalTranslationEnabled,
LocalComposerLinkPreviewEnabled provides isComposerLinkPreviewEnabled,
- LocalKeyboardBehaviour provides keyboardBehaviour,
LocalMediaGalleryConfig provides mediaGalleryConfig,
) {
if (allowUIAutomationTest) {
@@ -433,37 +408,21 @@ public object ChatTheme {
get() = LocalChatConfig.current
/**
- * Retrieves the current [StreamColors] at the call site's position in the hierarchy.
+ * Retrieves the current [StreamDesign.Colors] at the call site's position in the hierarchy.
*/
- public val colors: StreamColors
+ public val colors: StreamDesign.Colors
@Composable
@ReadOnlyComposable
get() = LocalColors.current
/**
- * Retrieves the current [StreamDimens] at the call site's position in the hierarchy.
- */
- public val dimens: StreamDimens
- @Composable
- @ReadOnlyComposable
- get() = LocalDimens.current
-
- /**
- * Retrieves the current [StreamTypography] at the call site's position in the hierarchy.
+ * Retrieves the current [StreamDesign.Typography] at the call site's position in the hierarchy.
*/
- public val typography: StreamTypography
+ public val typography: StreamDesign.Typography
@Composable
@ReadOnlyComposable
get() = LocalTypography.current
- /**
- * Retrieves the current [StreamShapes] at the call site's position in the hierarchy.
- */
- public val shapes: StreamShapes
- @Composable
- @ReadOnlyComposable
- get() = LocalShapes.current
-
/**
* Retrieves the current [AttachmentPickerConfig] at the call site's position in the hierarchy.
*/
@@ -655,14 +614,6 @@ public object ChatTheme {
@ReadOnlyComposable
get() = LocalMessageComposerTheme.current
- /**
- * Retrieves the current [AttachmentPickerTheme] at the call site's position in the hierarchy.
- */
- public val attachmentPickerTheme: AttachmentPickerTheme
- @Composable
- @ReadOnlyComposable
- get() = LocalAttachmentPickerTheme.current
-
/**
* Retrieves the current [ImageHeadersProvider] at the call site's position in the hierarchy.
*/
@@ -721,14 +672,6 @@ public object ChatTheme {
@ReadOnlyComposable
get() = LocalStreamMediaRecorder.current
- /**
- * Retrieves the current [StreamKeyboardBehaviour] at the call site's position in the hierarchy.
- */
- public val keyboardBehaviour: StreamKeyboardBehaviour
- @Composable
- @ReadOnlyComposable
- get() = LocalKeyboardBehaviour.current
-
/**
* Retrieves the current [MediaGalleryConfig] at the call site's position in the hierarchy.
*/
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt
index 9a7173c21a5..41324380fe6 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt
@@ -17,6 +17,7 @@
package io.getstream.chat.android.compose.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.ui.graphics.Color
@@ -27,19 +28,16 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.R
-import io.getstream.chat.android.compose.ui.theme.messages.composer.attachments.AttachmentsPreviewTheme
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.Mention
/**
* Represents the theming for the message composer.
* @param inputField The theming for the input field in the message composer.
* @param actionsTheme The theming for the different composer actions.
- * @param attachmentsPreview The theming for the attachments preview in the message composer.
*/
public data class MessageComposerTheme(
val inputField: ComposerInputFieldTheme,
val actionsTheme: ComposerActionsTheme,
- val attachmentsPreview: AttachmentsPreviewTheme,
) {
public companion object {
@@ -52,17 +50,15 @@ public data class MessageComposerTheme(
@Composable
public fun defaultTheme(
isInDarkMode: Boolean = isSystemInDarkTheme(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- shapes: StreamShapes = StreamShapes.defaultShapes(),
- colors: StreamColors = when (isInDarkMode) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
+ typography: StreamDesign.Typography = StreamDesign.Typography.default(),
+ colors: StreamDesign.Colors = when (isInDarkMode) {
+ true -> StreamDesign.Colors.defaultDark()
+ else -> StreamDesign.Colors.default()
},
): MessageComposerTheme {
return MessageComposerTheme(
- inputField = ComposerInputFieldTheme.defaultTheme(typography, shapes, colors),
+ inputField = ComposerInputFieldTheme.defaultTheme(typography, colors),
actionsTheme = ComposerActionsTheme.defaultTheme(colors),
- attachmentsPreview = AttachmentsPreviewTheme.defaultTheme(isInDarkMode, typography, colors),
)
}
}
@@ -88,22 +84,21 @@ public data class ComposerInputFieldTheme(
public companion object {
@Composable
public fun defaultTheme(
- typography: StreamTypography = StreamTypography.defaultTypography(),
- shapes: StreamShapes = StreamShapes.defaultShapes(),
- colors: StreamColors = when (isSystemInDarkTheme()) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
+ typography: StreamDesign.Typography = StreamDesign.Typography.default(),
+ colors: StreamDesign.Colors = when (isSystemInDarkTheme()) {
+ true -> StreamDesign.Colors.defaultDark()
+ else -> StreamDesign.Colors.default()
},
mentionStyleFactory: MentionStyleFactory = MentionStyleFactory.NoStyle,
): ComposerInputFieldTheme {
return ComposerInputFieldTheme(
- borderShape = shapes.inputField,
- backgroundColor = colors.inputBackground,
- textStyle = typography.body.copy(
- color = colors.textHighEmphasis,
+ borderShape = RoundedCornerShape(StreamTokens.radius3xl),
+ backgroundColor = colors.backgroundCoreSurface,
+ textStyle = typography.bodyDefault.copy(
+ color = colors.textPrimary,
textDirection = TextDirection.Content,
),
- cursorBrushColor = colors.primaryAccent,
+ cursorBrushColor = colors.accentPrimary,
mentionStyleFactory = mentionStyleFactory,
)
}
@@ -155,13 +150,13 @@ public data class ComposerActionsTheme(
* @return A [ComposerActionsTheme] instance holding the default theming.
*/
@Composable
- public fun defaultTheme(colors: StreamColors): ComposerActionsTheme {
+ public fun defaultTheme(colors: StreamDesign.Colors): ComposerActionsTheme {
val attachmentsButton = IconContainerStyle(
size = ComponentSize(width = 48.dp, height = 48.dp),
padding = ComponentPadding(0.dp),
icon = IconStyle(
painter = painterResource(id = R.drawable.stream_compose_ic_add),
- tint = colors.textHighEmphasis,
+ tint = colors.textPrimary,
size = ComponentSize(width = 20.dp, height = 20.dp),
),
)
@@ -170,7 +165,7 @@ public data class ComposerActionsTheme(
padding = ComponentPadding(start = 8.dp, top = 8.dp, end = 8.dp, bottom = 8.dp),
icon = IconStyle(
painter = painterResource(id = R.drawable.stream_compose_ic_send),
- tint = colors.textHighEmphasis,
+ tint = colors.textPrimary,
size = ComponentSize(width = 20.dp, height = 20.dp),
),
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt
index eae926b3d01..ea1ec45fcb8 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageStyling.kt
@@ -32,7 +32,7 @@ import io.getstream.chat.android.ui.common.utils.extensions.isMine
@Suppress("TooManyFunctions")
internal object MessageStyling {
@Composable
- fun backgroundColor(outgoing: Boolean, colors: StreamColors = ChatTheme.colors) = when {
+ fun backgroundColor(outgoing: Boolean, colors: StreamDesign.Colors = ChatTheme.colors) = when {
outgoing -> colors.chatBgOutgoing
else -> colors.chatBgIncoming
}
@@ -42,7 +42,7 @@ internal object MessageStyling {
return textColor(outgoing, ChatTheme.colors)
}
- fun textColor(outgoing: Boolean, colors: StreamColors): Color {
+ fun textColor(outgoing: Boolean, colors: StreamDesign.Colors): Color {
return if (outgoing) {
colors.chatTextOutgoing
} else {
@@ -54,11 +54,11 @@ internal object MessageStyling {
fun textStyle(outgoing: Boolean): TextStyle =
textStyle(outgoing, ChatTheme.typography, ChatTheme.colors)
- fun textStyle(outgoing: Boolean, typography: StreamTypography, colors: StreamColors): TextStyle {
+ fun textStyle(outgoing: Boolean, typography: StreamDesign.Typography, colors: StreamDesign.Colors): TextStyle {
return typography.bodyDefault.copy(color = textColor(outgoing, colors))
}
- fun linkStyle(typography: StreamTypography, colors: StreamColors): TextStyle =
+ fun linkStyle(typography: StreamDesign.Typography, colors: StreamDesign.Colors): TextStyle =
typography.bodyDefault.copy(color = colors.chatTextLink)
@Composable
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt
deleted file mode 100644
index 91ee8c65427..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamColors.kt
+++ /dev/null
@@ -1,543 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.res.colorResource
-import io.getstream.chat.android.compose.R
-
-/**
- * Contains all the colors in our palette. Each color is used for various things and can be changed to
- * customize the app design style.
- * @param legacyColors Colors used by legacy components.
- * @param accentBlack Used for black accent elements.
- * @param accentError Used for destructive actions and error states.
- * @param accentNeutral Used for neutral accent for low-priority badges.
- * @param accentSuccess Used for success states and positive actions.
- * @param accentPrimary Used for main brand accent for interactive elements.
- * @param avatarPaletteBg1 Used for avatar background color.
- * @param avatarPaletteBg2 Used for avatar background color.
- * @param avatarPaletteBg3 Used for avatar background color.
- * @param avatarPaletteBg4 Used for avatar background color.
- * @param avatarPaletteBg5 Used for avatar background color.
- * @param avatarPaletteText1 Used for avatar text color.
- * @param avatarPaletteText2 Used for avatar text color.
- * @param avatarPaletteText3 Used for avatar text color.
- * @param avatarPaletteText4 Used for avatar text color.
- * @param avatarPaletteText5 Used for avatar text color.
- * @param backgroundCoreDisabled Used for disabled background in components like buttons.
- * @param backgroundCoreSurface Used for surface background in components like buttons.
- * @param backgroundCoreSurfaceSubtle Used for subtle surface backgrounds.
- * @param backgroundCoreInverse Used for elevated, transient, or high-attention UI surfaces that
- * sit on top of the default app background.
- * @param backgroundElevationElevation0 Used for base elevation surface backgrounds.
- * @param backgroundElevationElevation1 Slightly elevated surface backgrounds.
- * @param borderCoreImage Used for image frame border treatment.
- * @param borderCoreDefault Used for default border color.
- * @param borderCoreOnAccent Used for borders on accent backgrounds.
- * @param borderCoreOnDark Used for borders on dark backgrounds.
- * @param borderCoreSurfaceSubtle Used for very light separators.
- * @param borderCorePrimary Used for selected or active state border.
- * @param borderUtilityDisabled Used for disabled state borders.
- * @param brand50 Brand color at 50 intensity level.
- * @param brand100 Brand color at 100 intensity level.
- * @param brand150 Brand color at 150 intensity level.
- * @param brand200 Brand color at 200 intensity level.
- * @param brand300 Brand color at 300 intensity level.
- * @param brand400 Brand color at 400 intensity level.
- * @param brand500 Brand color at 500 intensity level.
- * @param brand600 Brand color at 600 intensity level.
- * @param brand700 Brand color at 700 intensity level.
- * @param brand800 Brand color at 800 intensity level.
- * @param brand900 Brand color at 900 intensity level.
- * @param textOnAccent Used for text displayed on accent/colored backgrounds.
- * @param textPrimary Used for main text color.
- * @param textSecondary Used for secondary text color with lower emphasis.
- * @param textTertiary Used for tertiary text color with lowest emphasis.
- * @param textDisabled Used for disabled text and icon color.
- * @param badgeBgInverse Used for badge background with inverse color scheme.
- * @param badgeBgOverlay Used for badge background when displayed as an overlay.
- * @param badgeText Used for badge text color.
- * @param badgeTextOnAccent Used for badge text color on accent backgrounds.
- * @param stateBgDisabled Used for disabled state background.
- * @param stateTextDisabled Used for disabled state text color.
- * @param appBackground Used for the default app background.
- * @param backgroundCoreSelected Used for selected state background.
- * @param backgroundElevationElevation2 Used for elevated surface backgrounds at elevation level 2.
- * @param buttonDestructiveBg Used for destructive button background.
- * @param buttonDestructiveBorder Used for destructive button border.
- * @param buttonDestructiveText Used for destructive button text.
- * @param buttonDestructiveTextOnAccent Used for destructive button text on accent backgrounds.
- * @param buttonPrimaryBg Used for primary button background.
- * @param buttonPrimaryBorder Used for primary button border.
- * @param buttonPrimaryText Used for primary button text.
- * @param buttonPrimaryTextOnAccent Used for primary button text on accent backgrounds.
- * @param buttonSecondaryBg Used for secondary button background.
- * @param buttonSecondaryBorder Used for secondary button border.
- * @param buttonSecondaryText Used for secondary button text.
- * @param buttonSecondaryTextOnAccent Used for secondary button text on accent backgrounds.
- * @param chatBgIncoming Used for incoming message bubble background.
- * @param chatBgOutgoing Used for outgoing message bubble background.
- * @param chatBgAttachmentIncoming Used for incoming message attachment background.
- * @param chatBgAttachmentOutgoing Used for outgoing message attachment background.
- * @param chatReplyIndicatorIncoming Used for the reply indicator color in incoming messages.
- * @param chatReplyIndicatorOutgoing Used for the reply indicator color in outgoing messages.
- * @param chatTextIncoming Used for incoming message text color in chat bubbles.
- * @param chatTextOutgoing Used for outgoing message text color in chat bubbles.
- * @param chatTextLink Used for link text color in chat messages.
- * @param chatTextMention Used for mention text color in chat messages.
- * @param chatTextTimestamp Used for timestamp text color in chat messages.
- * @param controlPlayControlBg Used for play control button background.
- * @param controlPlayControlIcon Used for play control button icon.
- * @param controlRemoveBg Used for remove control background.
- * @param controlRemoveBorder Used for remove control border.
- * @param controlRemoveIcon Used for remove control icon.
- * @param presenceBgOnline Used for online presence indicator.
- * @param presenceBgOffline Used for offline presence indicator.
- * @param presenceBorder Used for the outline around the presence dot.
- */
-@Suppress("DEPRECATION_ERROR")
-@Immutable
-public data class StreamColors(
- public val legacyColors: StreamLegacyColors,
-
- // Design System semantic colors
- public val accentBlack: Color,
- public val accentError: Color,
- public val accentNeutral: Color,
- public val accentSuccess: Color,
- public val accentPrimary: Color,
- public val avatarBgPlaceholder: Color,
- public val avatarPaletteBg1: Color,
- public val avatarPaletteBg2: Color,
- public val avatarPaletteBg3: Color,
- public val avatarPaletteBg4: Color,
- public val avatarPaletteBg5: Color,
- public val avatarPaletteText1: Color,
- public val avatarPaletteText2: Color,
- public val avatarPaletteText3: Color,
- public val avatarPaletteText4: Color,
- public val avatarPaletteText5: Color,
- public val avatarTextPlaceholder: Color,
- public val backgroundCoreDisabled: Color,
- public val backgroundCoreSurface: Color,
- public val backgroundCoreSurfaceSubtle: Color,
- public val backgroundCoreInverse: Color,
- public val backgroundElevationElevation0: Color,
- public val backgroundElevationElevation1: Color,
- public val borderCoreImage: Color,
- public val borderCoreDefault: Color,
- public val borderCoreOnAccent: Color,
- public val borderCoreOnDark: Color,
- public val borderCoreOpacity25: Color,
- public val borderCoreSurfaceSubtle: Color,
- public val borderCorePrimary: Color,
- public val borderUtilityDisabled: Color,
- public val brand50: Color,
- public val brand100: Color,
- public val brand150: Color,
- public val brand200: Color,
- public val brand300: Color,
- public val brand400: Color,
- public val brand500: Color,
- public val brand600: Color,
- public val brand700: Color,
- public val brand800: Color,
- public val brand900: Color,
- public val textOnAccent: Color,
- public val textOnDark: Color,
- public val textPrimary: Color,
- public val textSecondary: Color,
- public val textTertiary: Color,
- public val textDisabled: Color,
- public val stateBgDisabled: Color,
- public val stateTextDisabled: Color,
- public val appBackground: Color = backgroundElevationElevation0,
- public val backgroundCoreSelected: Color = textPrimary.copy(alpha = .15f),
- public val backgroundElevationElevation2: Color,
- public val badgeBgDefault: Color = backgroundElevationElevation2,
- public val badgeBgInverse: Color = backgroundCoreInverse,
- public val badgeBgOverlay: Color,
- public val badgeText: Color = textPrimary,
- public val badgeTextOnAccent: Color = textOnAccent,
- public val badgeTextInverse: Color = textOnDark,
- public val buttonDestructiveBg: Color = accentError,
- public val buttonDestructiveBorder: Color = accentError,
- public val buttonDestructiveText: Color = accentError,
- public val buttonDestructiveTextOnAccent: Color = textOnAccent,
- public val buttonPrimaryBg: Color = accentPrimary,
- public val buttonPrimaryBorder: Color = brand200,
- public val buttonPrimaryText: Color = accentPrimary,
- public val buttonPrimaryTextOnAccent: Color = textOnAccent,
- public val buttonSecondaryBg: Color = backgroundCoreSurface,
- public val buttonSecondaryBorder: Color = borderCoreDefault,
- public val buttonSecondaryText: Color = textPrimary,
- public val buttonSecondaryTextOnAccent: Color = textPrimary,
- public val chatBgIncoming: Color,
- public val chatBgOutgoing: Color = brand100,
- public val chatBgAttachmentIncoming: Color,
- public val chatBgAttachmentOutgoing: Color,
- public val chatBorderOnChatIncoming: Color,
- public val chatBorderOnChatOutgoing: Color = brand300,
- public val chatPollProgressFillIncoming: Color,
- public val chatPollProgressTrackIncoming: Color,
- public val chatPollProgressFillOutgoing: Color,
- public val chatPollProgressTrackOutgoing: Color,
- public val chatReplyIndicatorIncoming: Color,
- public val chatReplyIndicatorOutgoing: Color,
- public val chatTextIncoming: Color = textPrimary,
- public val chatTextOutgoing: Color = textPrimary,
- public val chatTextLink: Color = accentPrimary,
- public val chatTextMention: Color = chatTextLink,
- public val chatTextSystem: Color = textSecondary,
- public val chatTextTimestamp: Color = textTertiary,
- public val chatWaveformBar: Color = borderCoreOpacity25,
- public val chatWaveformBarPlaying: Color = accentPrimary,
- public val chipText: Color = brand900,
- public val controlPlayControlBg: Color = accentBlack,
- public val controlPlayControlIcon: Color = textOnAccent,
- public val controlRadioCheckBgSelected: Color,
- public val controlRadioCheckBorder: Color = borderCoreDefault,
- public val controlRadioCheckIconSelected: Color,
- public val controlRemoveBg: Color,
- public val controlRemoveBorder: Color = borderCoreOnDark,
- public val controlRemoveIcon: Color,
- public val presenceBgOnline: Color = accentSuccess,
- public val presenceBgOffline: Color = accentNeutral,
- public val presenceBorder: Color,
-) {
-
- // region Legacy color delegates
- public val textHighEmphasis: Color get() = legacyColors.textHighEmphasis
- public val textHighEmphasisInverse: Color get() = legacyColors.textHighEmphasisInverse
- public val textLowEmphasis: Color get() = legacyColors.textLowEmphasis
- public val disabled: Color get() = legacyColors.disabled
- public val borders: Color get() = legacyColors.borders
- public val inputBackground: Color get() = legacyColors.inputBackground
- public val barsBackground: Color get() = legacyColors.barsBackground
- public val overlay: Color get() = legacyColors.overlay
- public val overlayDark: Color get() = legacyColors.overlayDark
- public val primaryAccent: Color get() = legacyColors.primaryAccent
- public val errorAccent: Color get() = legacyColors.errorAccent
- public val infoAccent: Color get() = legacyColors.infoAccent
- public val highlight: Color get() = legacyColors.highlight
- public val threadSeparatorGradientStart: Color get() = legacyColors.threadSeparatorGradientStart
- public val threadSeparatorGradientEnd: Color get() = legacyColors.threadSeparatorGradientEnd
- public val mediaShimmerBase: Color get() = legacyColors.mediaShimmerBase
- public val mediaShimmerHighlights: Color get() = legacyColors.mediaShimmerHighlights
- public val imageBackgroundMessageList: Color get() = legacyColors.imageBackgroundMessageList
- public val imageBackgroundMediaGalleryPicker: Color get() = legacyColors.imageBackgroundMediaGalleryPicker
- public val videoBackgroundMessageList: Color get() = legacyColors.videoBackgroundMessageList
- public val videoBackgroundMediaGalleryPicker: Color get() = legacyColors.videoBackgroundMediaGalleryPicker
- public val showMoreOverlay: Color get() = legacyColors.showMoreOverlay
- public val showMoreCountText: Color get() = legacyColors.showMoreCountText
- // endregion
-
- public companion object {
- /**
- * Provides the default colors for the light mode of the app.
- *
- * @return A [StreamColors] instance holding our color palette.
- */
- @Suppress("LongMethod")
- @Composable
- public fun defaultColors(): StreamColors = StreamColors(
- legacyColors = StreamLegacyColors(
- textHighEmphasis = colorResource(R.color.stream_compose_text_high_emphasis),
- textHighEmphasisInverse = colorResource(R.color.stream_compose_text_high_emphasis_inverse),
- textLowEmphasis = colorResource(R.color.stream_compose_text_low_emphasis),
- disabled = colorResource(R.color.stream_compose_disabled),
- borders = colorResource(R.color.stream_compose_borders),
- inputBackground = colorResource(R.color.stream_compose_input_background),
- barsBackground = colorResource(R.color.stream_compose_bars_background),
- overlay = colorResource(R.color.stream_compose_overlay_regular),
- overlayDark = colorResource(R.color.stream_compose_overlay_dark),
- primaryAccent = colorResource(R.color.stream_compose_primary_accent),
- errorAccent = colorResource(R.color.stream_compose_error_accent),
- infoAccent = colorResource(R.color.stream_compose_info_accent),
- highlight = colorResource(R.color.stream_compose_highlight),
- threadSeparatorGradientStart = colorResource(R.color.stream_compose_input_background),
- threadSeparatorGradientEnd = colorResource(R.color.stream_compose_app_background),
- mediaShimmerBase = colorResource(R.color.stream_compose_input_background),
- mediaShimmerHighlights = colorResource(R.color.stream_compose_app_background),
- imageBackgroundMessageList = colorResource(R.color.stream_compose_input_background),
- imageBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background),
- videoBackgroundMessageList = colorResource(R.color.stream_compose_input_background),
- videoBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background),
- showMoreOverlay = colorResource(R.color.stream_compose_show_more_overlay),
- showMoreCountText = colorResource(R.color.stream_compose_show_more_text),
- ),
-
- accentBlack = StreamPrimitiveColors.baseBlack,
- accentError = StreamPrimitiveColors.red500,
- accentNeutral = StreamPrimitiveColors.slate500,
- accentPrimary = StreamPrimitiveColors.blue500,
- accentSuccess = StreamPrimitiveColors.green500,
- backgroundCoreDisabled = StreamPrimitiveColors.slate200,
- backgroundCoreSurface = StreamPrimitiveColors.slate100,
- backgroundCoreSurfaceSubtle = StreamPrimitiveColors.slate200,
- backgroundCoreInverse = StreamPrimitiveColors.slate900,
- backgroundElevationElevation0 = StreamPrimitiveColors.baseWhite,
- backgroundElevationElevation1 = StreamPrimitiveColors.baseWhite,
- backgroundElevationElevation2 = StreamPrimitiveColors.baseWhite,
- badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f),
- borderCoreDefault = StreamPrimitiveColors.slate150,
- borderCoreImage = StreamPrimitiveColors.baseBlack.copy(alpha = .1f),
- borderCoreOnAccent = StreamPrimitiveColors.baseWhite,
- borderCoreOnDark = StreamPrimitiveColors.baseWhite,
- borderCoreOpacity25 = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f),
- borderCorePrimary = StreamPrimitiveColors.blue600,
- borderCoreSurfaceSubtle = StreamPrimitiveColors.slate200,
- borderUtilityDisabled = StreamPrimitiveColors.slate200,
- brand50 = StreamPrimitiveColors.blue50,
- brand100 = StreamPrimitiveColors.blue100,
- brand150 = StreamPrimitiveColors.blue150,
- brand200 = StreamPrimitiveColors.blue200,
- brand300 = StreamPrimitiveColors.blue300,
- brand400 = StreamPrimitiveColors.blue400,
- brand500 = StreamPrimitiveColors.blue500,
- brand600 = StreamPrimitiveColors.blue600,
- brand700 = StreamPrimitiveColors.blue700,
- brand800 = StreamPrimitiveColors.blue800,
- brand900 = StreamPrimitiveColors.blue900,
- textDisabled = StreamPrimitiveColors.slate400,
- textOnAccent = StreamPrimitiveColors.baseWhite,
- textOnDark = StreamPrimitiveColors.baseWhite,
- textPrimary = StreamPrimitiveColors.slate900,
- textSecondary = StreamPrimitiveColors.slate700,
- textTertiary = StreamPrimitiveColors.slate500,
- stateBgDisabled = StreamPrimitiveColors.slate200,
- stateTextDisabled = StreamPrimitiveColors.slate400,
- avatarBgPlaceholder = StreamPrimitiveColors.slate100,
- avatarPaletteBg1 = StreamPrimitiveColors.blue100,
- avatarPaletteBg2 = StreamPrimitiveColors.cyan100,
- avatarPaletteBg3 = StreamPrimitiveColors.green100,
- avatarPaletteBg4 = StreamPrimitiveColors.purple200,
- avatarPaletteBg5 = StreamPrimitiveColors.yellow200,
- avatarPaletteText1 = StreamPrimitiveColors.blue800,
- avatarPaletteText2 = StreamPrimitiveColors.cyan800,
- avatarPaletteText3 = StreamPrimitiveColors.green800,
- avatarPaletteText4 = StreamPrimitiveColors.purple800,
- avatarPaletteText5 = StreamPrimitiveColors.yellow800,
- avatarTextPlaceholder = StreamPrimitiveColors.slate500,
- chatBgIncoming = StreamPrimitiveColors.slate100,
- chatBgAttachmentIncoming = StreamPrimitiveColors.slate200,
- chatBgAttachmentOutgoing = StreamPrimitiveColors.blue200,
- chatBorderOnChatIncoming = StreamPrimitiveColors.slate300,
- chatPollProgressFillIncoming = StreamPrimitiveColors.slate500,
- chatPollProgressTrackIncoming = StreamPrimitiveColors.slate200,
- chatPollProgressFillOutgoing = StreamPrimitiveColors.blue500,
- chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue200,
- chatReplyIndicatorIncoming = StreamPrimitiveColors.slate400,
- chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue400,
- controlRadioCheckBgSelected = StreamPrimitiveColors.blue500,
- controlRadioCheckIconSelected = StreamPrimitiveColors.baseWhite,
- controlRemoveBg = StreamPrimitiveColors.slate900,
- controlRemoveBorder = StreamPrimitiveColors.baseWhite,
- controlRemoveIcon = StreamPrimitiveColors.baseWhite,
- presenceBorder = StreamPrimitiveColors.baseWhite,
- )
-
- /**
- * Provides the default colors for the dark mode of the app.
- *
- * @return A [StreamColors] instance holding our color palette.
- */
- @Suppress("LongMethod")
- @Composable
- public fun defaultDarkColors(): StreamColors = StreamColors(
- legacyColors = StreamLegacyColors(
- textHighEmphasis = colorResource(R.color.stream_compose_text_high_emphasis_dark),
- textHighEmphasisInverse = colorResource(R.color.stream_compose_text_high_emphasis_inverse_dark),
- textLowEmphasis = colorResource(R.color.stream_compose_text_low_emphasis_dark),
- disabled = colorResource(R.color.stream_compose_disabled_dark),
- borders = colorResource(R.color.stream_compose_borders_dark),
- inputBackground = colorResource(R.color.stream_compose_input_background_dark),
- barsBackground = colorResource(R.color.stream_compose_bars_background_dark),
- overlay = colorResource(R.color.stream_compose_overlay_regular_dark),
- overlayDark = colorResource(R.color.stream_compose_overlay_dark_dark),
- primaryAccent = colorResource(R.color.stream_compose_primary_accent_dark),
- errorAccent = colorResource(R.color.stream_compose_error_accent_dark),
- infoAccent = colorResource(R.color.stream_compose_info_accent_dark),
- highlight = colorResource(R.color.stream_compose_highlight_dark),
- threadSeparatorGradientStart = colorResource(R.color.stream_compose_input_background_dark),
- threadSeparatorGradientEnd = colorResource(R.color.stream_compose_app_background_dark),
- mediaShimmerBase = colorResource(R.color.stream_compose_input_background),
- mediaShimmerHighlights = colorResource(R.color.stream_compose_app_background),
- imageBackgroundMessageList = colorResource(R.color.stream_compose_input_background_dark),
- imageBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background_dark),
- videoBackgroundMessageList = colorResource(R.color.stream_compose_input_background_dark),
- videoBackgroundMediaGalleryPicker = colorResource(R.color.stream_compose_app_background_dark),
- showMoreOverlay = colorResource(R.color.stream_compose_show_more_overlay_dark),
- showMoreCountText = colorResource(R.color.stream_compose_show_more_text_dark),
- ),
- appBackground = colorResource(R.color.stream_compose_app_background_dark),
-
- accentBlack = StreamPrimitiveColors.baseBlack,
- accentError = StreamPrimitiveColors.red400,
- accentNeutral = StreamPrimitiveColors.neutral500,
- accentPrimary = StreamPrimitiveColors.blue400,
- accentSuccess = StreamPrimitiveColors.green400,
- backgroundCoreDisabled = StreamPrimitiveColors.slate800,
- backgroundCoreSurface = StreamPrimitiveColors.neutral700,
- backgroundCoreSurfaceSubtle = StreamPrimitiveColors.neutral800,
- backgroundCoreInverse = StreamPrimitiveColors.neutral50,
- backgroundElevationElevation0 = StreamPrimitiveColors.baseBlack,
- backgroundElevationElevation1 = StreamPrimitiveColors.neutral900,
- backgroundElevationElevation2 = StreamPrimitiveColors.neutral800,
- borderCoreDefault = StreamPrimitiveColors.neutral600,
- borderCoreImage = StreamPrimitiveColors.baseWhite.copy(alpha = .2f),
- borderCoreOnAccent = StreamPrimitiveColors.baseWhite,
- borderCoreOnDark = StreamPrimitiveColors.neutral900,
- borderCoreOpacity25 = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f),
- borderCorePrimary = StreamPrimitiveColors.blue300,
- borderCoreSurfaceSubtle = StreamPrimitiveColors.neutral700,
- borderUtilityDisabled = StreamPrimitiveColors.neutral800,
- brand50 = StreamPrimitiveColors.blue900,
- brand100 = StreamPrimitiveColors.blue800,
- brand150 = StreamPrimitiveColors.blue700,
- brand200 = StreamPrimitiveColors.blue700,
- brand300 = StreamPrimitiveColors.blue600,
- brand400 = StreamPrimitiveColors.blue500,
- brand500 = StreamPrimitiveColors.blue400,
- brand600 = StreamPrimitiveColors.blue300,
- brand700 = StreamPrimitiveColors.blue200,
- brand800 = StreamPrimitiveColors.blue150,
- brand900 = StreamPrimitiveColors.blue100,
- textDisabled = StreamPrimitiveColors.slate600,
- textOnAccent = StreamPrimitiveColors.baseWhite,
- textOnDark = StreamPrimitiveColors.neutral900,
- textPrimary = StreamPrimitiveColors.neutral50,
- textSecondary = StreamPrimitiveColors.neutral300,
- textTertiary = StreamPrimitiveColors.neutral400,
- badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f),
- stateBgDisabled = StreamPrimitiveColors.slate800,
- stateTextDisabled = StreamPrimitiveColors.slate600,
- avatarBgPlaceholder = StreamPrimitiveColors.neutral700,
- avatarPaletteBg1 = StreamPrimitiveColors.blue800,
- avatarPaletteBg2 = StreamPrimitiveColors.cyan800,
- avatarPaletteBg3 = StreamPrimitiveColors.green800,
- avatarPaletteBg4 = StreamPrimitiveColors.purple800,
- avatarPaletteBg5 = StreamPrimitiveColors.yellow800,
- avatarPaletteText1 = StreamPrimitiveColors.blue100,
- avatarPaletteText2 = StreamPrimitiveColors.cyan100,
- avatarPaletteText3 = StreamPrimitiveColors.green100,
- avatarPaletteText4 = StreamPrimitiveColors.purple100,
- avatarPaletteText5 = StreamPrimitiveColors.yellow100,
- avatarTextPlaceholder = StreamPrimitiveColors.neutral400,
- chatBgIncoming = StreamPrimitiveColors.neutral800,
- chatBgAttachmentIncoming = StreamPrimitiveColors.neutral700,
- chatBgAttachmentOutgoing = StreamPrimitiveColors.blue700,
- chatBorderOnChatIncoming = StreamPrimitiveColors.slate600,
- chatPollProgressFillIncoming = StreamPrimitiveColors.baseWhite,
- chatPollProgressTrackIncoming = StreamPrimitiveColors.neutral600,
- chatPollProgressFillOutgoing = StreamPrimitiveColors.baseWhite,
- chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue400,
- chatReplyIndicatorIncoming = StreamPrimitiveColors.neutral500,
- chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue300,
- controlRadioCheckBgSelected = StreamPrimitiveColors.baseWhite,
- controlRadioCheckIconSelected = StreamPrimitiveColors.blue500,
- controlRemoveBg = StreamPrimitiveColors.neutral800,
- controlRemoveIcon = StreamPrimitiveColors.baseWhite,
- presenceBorder = StreamPrimitiveColors.baseBlack,
- )
- }
-}
-
-/**
- * Contains all the colors used by legacy components.
- */
-@Immutable
-public data class StreamLegacyColors(
- public val textHighEmphasis: Color,
- public val textHighEmphasisInverse: Color,
- public val textLowEmphasis: Color,
- public val disabled: Color,
- public val borders: Color,
- public val inputBackground: Color,
- public val barsBackground: Color,
- public val overlay: Color,
- public val overlayDark: Color,
- public val primaryAccent: Color,
- public val errorAccent: Color,
- public val infoAccent: Color,
- public val highlight: Color,
- public val threadSeparatorGradientStart: Color,
- public val threadSeparatorGradientEnd: Color,
- public val mediaShimmerBase: Color,
- public val mediaShimmerHighlights: Color,
- public val imageBackgroundMessageList: Color,
- public val imageBackgroundMediaGalleryPicker: Color,
- public val videoBackgroundMessageList: Color,
- public val videoBackgroundMediaGalleryPicker: Color,
- public val showMoreOverlay: Color,
- public val showMoreCountText: Color,
-)
-
-@Suppress("MagicNumber")
-internal object StreamPrimitiveColors {
- val baseBlack = Color(0xFF000000)
- val baseTransparent = Color(0x00000000)
- val baseWhite = Color(0xFFFFFFFF)
- val blue50 = Color(0xFFF3F7FF)
- val blue100 = Color(0xFFD2E3FF)
- val blue150 = Color(0xFFC3D9FF)
- val blue200 = Color(0xFFA6C4FF)
- val blue300 = Color(0xFF7AA7FF)
- val blue400 = Color(0xFF4E8BFF)
- val blue500 = Color(0xFF005FFF)
- val blue600 = Color(0xFF0052CE)
- val blue700 = Color(0xFF0042A3)
- val blue800 = Color(0xFF003179)
- val blue900 = Color(0xFF091A3B)
- val cyan100 = Color(0xFFD7F7FB)
- val cyan800 = Color(0xFF1C8791)
- val green100 = Color(0xFFC9FCE7)
- val green400 = Color(0xFF59E9B5)
- val green500 = Color(0xFF00E2A1)
- val green800 = Color(0xFF006548)
- val neutral50 = Color(0xFFF7F7F7)
- val neutral100 = Color(0xFFEFEFEF)
- val neutral300 = Color(0xFFABABAB)
- val neutral400 = Color(0xFF8F8F8F)
- val neutral500 = Color(0xFF7F7F7F)
- val neutral600 = Color(0xFF565656)
- val neutral700 = Color(0xFF4A4A4A)
- val neutral800 = Color(0xFF323232)
- val neutral900 = Color(0xFF1C1C1C)
- val purple100 = Color(0xFFEBDEFD)
- val purple200 = Color(0xFFD8BFFC)
- val purple800 = Color(0xFF6640AB)
- val red400 = Color(0xFFE6756C)
- val red500 = Color(0xFFD92F26)
- val slate50 = Color(0xFFF6F8FA)
- val slate100 = Color(0xFFF2F4F6)
- val slate150 = Color(0xFFD5DBE1)
- val slate200 = Color(0xFFE2E6EA)
- val slate300 = Color(0xFFA3ACBA)
- val slate400 = Color(0xFFB8BEC4)
- val slate500 = Color(0xFF687385)
- val slate600 = Color(0xFF838990)
- val slate700 = Color(0xFF4A4A4A)
- val slate800 = Color(0xFF50565D)
- val slate900 = Color(0xFF1E252B)
- val yellow100 = Color(0xFFFFF1C2)
- val yellow200 = Color(0xFFFFE8A0)
- val yellow800 = Color(0xFF9F7700)
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt
new file mode 100644
index 00000000000..b75ab485ff5
--- /dev/null
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt
@@ -0,0 +1,699 @@
+/*
+ * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
+ *
+ * Licensed under the Stream License;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.getstream.chat.android.compose.ui.theme
+
+import androidx.compose.runtime.Immutable
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+
+/**
+ * The Stream Chat Design System namespace.
+ *
+ * Provides all design tokens for theming Chat SDK components:
+ * - [Colors] -- semantic color tokens
+ * - [Typography] -- text styles
+ *
+ * Use via [ChatTheme]:
+ * ```
+ * ChatTheme(
+ * colors = StreamDesign.Colors.default().copy(accentPrimary = ...),
+ * typography = StreamDesign.Typography.default(fontFamily = ...),
+ * ) { content() }
+ * ```
+ */
+public object StreamDesign {
+
+ /**
+ * Contains all the colors in our palette. Each color is used for various things and can be
+ * changed to customize the app design style.
+ *
+ * @param accentBlack Used for black accent elements.
+ * @param accentError Used for destructive actions and error states.
+ * @param accentNeutral Used for neutral accent for low-priority badges.
+ * @param accentSuccess Used for success states and positive actions.
+ * @param accentPrimary Used for main brand accent for interactive elements.
+ * @param avatarBgPlaceholder Used for avatar placeholder background color.
+ * @param avatarPaletteBg1 Used for avatar background color.
+ * @param avatarPaletteBg2 Used for avatar background color.
+ * @param avatarPaletteBg3 Used for avatar background color.
+ * @param avatarPaletteBg4 Used for avatar background color.
+ * @param avatarPaletteBg5 Used for avatar background color.
+ * @param avatarPaletteText1 Used for avatar text color.
+ * @param avatarPaletteText2 Used for avatar text color.
+ * @param avatarPaletteText3 Used for avatar text color.
+ * @param avatarPaletteText4 Used for avatar text color.
+ * @param avatarPaletteText5 Used for avatar text color.
+ * @param avatarTextPlaceholder Used for avatar placeholder text color.
+ * @param backgroundCoreDisabled Used for disabled background in components like buttons.
+ * @param backgroundCoreSurface Used for surface background in components like buttons.
+ * @param backgroundCoreSurfaceSubtle Used for subtle surface backgrounds.
+ * @param backgroundCoreSurfaceStrong Stronger section background for prominent surface areas.
+ * @param backgroundCoreInverse Used for elevated, transient, or high-attention UI surfaces that
+ * sit on top of the default app background.
+ * @param backgroundElevationElevation0 Used for base elevation surface backgrounds.
+ * @param backgroundElevationElevation1 Slightly elevated surface backgrounds.
+ * @param borderCoreOpacity10 Used for 10% opacity border treatment (e.g. image frames).
+ * @param borderCoreDefault Used for default border color.
+ * @param borderCoreStrong Stronger surface border with higher contrast.
+ * @param borderCoreOnAccent Used for borders on accent backgrounds.
+ * @param borderCoreOnDark Used for borders on dark backgrounds.
+ * @param borderCoreOpacity25 Used for borders with 25% opacity.
+ * @param borderCoreSubtle Used for subtle/very light separators.
+ * @param borderUtilitySelected Used for selected or active state border (focus ring).
+ * @param borderUtilityDisabled Used for disabled state borders.
+ * @param brand50 Brand color at 50 intensity level.
+ * @param brand100 Brand color at 100 intensity level.
+ * @param brand150 Brand color at 150 intensity level.
+ * @param brand200 Brand color at 200 intensity level.
+ * @param brand300 Brand color at 300 intensity level.
+ * @param brand400 Brand color at 400 intensity level.
+ * @param brand500 Brand color at 500 intensity level.
+ * @param brand600 Brand color at 600 intensity level.
+ * @param brand700 Brand color at 700 intensity level.
+ * @param brand800 Brand color at 800 intensity level.
+ * @param brand900 Brand color at 900 intensity level.
+ * @param textOnAccent Used for text displayed on accent/colored backgrounds.
+ * @param textOnDark Used for text displayed on dark backgrounds.
+ * @param textPrimary Used for main text color.
+ * @param textSecondary Used for secondary text color with lower emphasis.
+ * @param textTertiary Used for tertiary text color with lowest emphasis.
+ * @param textDisabled Used for disabled text and icon color.
+ * @param backgroundCoreSelected Used for selected state background.
+ * @param backgroundElevationElevation2 Used for elevated surface backgrounds at elevation level 2.
+ * @param backgroundElevationElevation3 Popover surface backgrounds.
+ * @param backgroundElevationElevation4 Dialog and modal surface backgrounds.
+ * @param badgeBgOverlay Used for badge background when displayed as an overlay.
+ * @param chatBgIncoming Used for incoming message bubble background.
+ * @param chatBgAttachmentIncoming Used for incoming message attachment background.
+ * @param chatBgAttachmentOutgoing Used for outgoing message attachment background.
+ * @param chatBorderOnChatIncoming Used for border on incoming message bubbles.
+ * @param chatPollProgressFillIncoming Used for incoming poll progress fill color.
+ * @param chatPollProgressTrackIncoming Used for incoming poll progress track color.
+ * @param chatPollProgressFillOutgoing Used for outgoing poll progress fill color.
+ * @param chatPollProgressTrackOutgoing Used for outgoing poll progress track color.
+ * @param chatReplyIndicatorIncoming Used for the reply indicator color in incoming messages.
+ * @param chatReplyIndicatorOutgoing Used for the reply indicator color in outgoing messages.
+ * @param controlRadioCheckBgSelected Used for selected radio/check background.
+ * @param controlRadioCheckIconSelected Used for selected radio/check icon.
+ * @param controlRemoveBg Used for remove control background.
+ * @param controlRemoveIcon Used for remove control icon.
+ * @param presenceBorder Used for the outline around the presence dot.
+ * @param backgroundCoreScrim Used for dimmed scrim backgrounds (e.g. behind modals).
+ * @param backgroundCoreOverlayDark Used for dark overlay backgrounds on media/badges.
+ * @param backgroundCoreHighlight Used for highlight backgrounds (e.g. message focus/pin).
+ * @param skeletonLoadingHighlight Shimmer highlight color for skeleton loading gradients.
+ */
+ @Immutable
+ public data class Colors(
+ public val accentBlack: Color,
+ public val accentError: Color,
+ public val accentNeutral: Color,
+ public val accentSuccess: Color,
+ public val accentPrimary: Color,
+ public val avatarBgPlaceholder: Color,
+ public val avatarPaletteBg1: Color,
+ public val avatarPaletteBg2: Color,
+ public val avatarPaletteBg3: Color,
+ public val avatarPaletteBg4: Color,
+ public val avatarPaletteBg5: Color,
+ public val avatarPaletteText1: Color,
+ public val avatarPaletteText2: Color,
+ public val avatarPaletteText3: Color,
+ public val avatarPaletteText4: Color,
+ public val avatarPaletteText5: Color,
+ public val avatarTextPlaceholder: Color,
+ public val backgroundCoreDisabled: Color,
+ public val backgroundCoreSurface: Color,
+ public val backgroundCoreSurfaceSubtle: Color,
+ public val backgroundCoreSurfaceStrong: Color,
+ public val backgroundCoreInverse: Color,
+ public val backgroundElevationElevation0: Color,
+ public val backgroundElevationElevation1: Color,
+ public val borderCoreOpacity10: Color,
+ public val borderCoreDefault: Color,
+ public val borderCoreStrong: Color,
+ public val borderCoreOnAccent: Color,
+ public val borderCoreOnDark: Color,
+ public val borderCoreOpacity25: Color,
+ public val borderCoreSubtle: Color,
+ public val borderUtilitySelected: Color,
+ public val borderUtilityDisabled: Color,
+ public val brand50: Color,
+ public val brand100: Color,
+ public val brand150: Color,
+ public val brand200: Color,
+ public val brand300: Color,
+ public val brand400: Color,
+ public val brand500: Color,
+ public val brand600: Color,
+ public val brand700: Color,
+ public val brand800: Color,
+ public val brand900: Color,
+ public val textOnAccent: Color,
+ public val textOnDark: Color,
+ public val textPrimary: Color,
+ public val textSecondary: Color,
+ public val textTertiary: Color,
+ public val textDisabled: Color,
+ public val backgroundCoreSelected: Color = textPrimary.copy(alpha = .15f),
+ public val backgroundElevationElevation2: Color,
+ public val backgroundElevationElevation3: Color,
+ public val backgroundElevationElevation4: Color,
+ public val badgeBgOverlay: Color,
+ public val chatBgIncoming: Color,
+ public val chatBgAttachmentIncoming: Color,
+ public val chatBgAttachmentOutgoing: Color,
+ public val chatBorderOnChatIncoming: Color,
+ public val chatPollProgressFillIncoming: Color,
+ public val chatPollProgressTrackIncoming: Color,
+ public val chatPollProgressFillOutgoing: Color,
+ public val chatPollProgressTrackOutgoing: Color,
+ public val chatReplyIndicatorIncoming: Color,
+ public val chatReplyIndicatorOutgoing: Color,
+ public val controlRadioCheckBgSelected: Color,
+ public val controlRadioCheckIconSelected: Color,
+ public val controlRemoveBg: Color,
+ public val controlRemoveIcon: Color,
+ public val presenceBorder: Color,
+ public val backgroundCoreScrim: Color,
+ public val backgroundCoreOverlayDark: Color,
+ public val backgroundCoreHighlight: Color,
+ public val skeletonLoadingHighlight: Color,
+ ) {
+
+ /** Badge background for error states. */
+ public val badgeBgError: Color = accentError
+
+ /** Badge background for neutral states. */
+ public val badgeBgNeutral: Color = accentNeutral
+
+ /** Badge background for primary brand states. */
+ public val badgeBgPrimary: Color = accentPrimary
+
+ /** Badge outer border. */
+ public val badgeBorder: Color = borderCoreOnDark
+
+ /** Typing indicator background. */
+ public val chatBgTypingIndicator: Color = accentNeutral
+
+ /** Border for incoming message bubbles. */
+ public val chatBorderIncoming: Color = borderCoreSubtle
+
+ /** Border for outgoing message bubbles. */
+ public val chatBorderOutgoing: Color = brand100
+
+ /** Reaction text color in chat. */
+ public val chatTextReaction: Color = textSecondary
+
+ /** Read receipt text color. */
+ public val chatTextRead: Color = accentPrimary
+
+ /** Username text color in chat. */
+ public val chatTextUsername: Color = textSecondary
+
+ /** Thread connector line for incoming messages. */
+ public val chatThreadConnectorIncoming: Color = borderCoreDefault
+
+ /** Thread connector line for outgoing messages. */
+ public val chatThreadConnectorOutgoing: Color = brand150
+
+ /** Chip background color. */
+ public val chipBg: Color = brand100
+
+ /** Composer background color. */
+ public val composerBg: Color = backgroundElevationElevation1
+
+ /** Playback toggle border color. */
+ public val controlPlaybackToggleBorder: Color = borderCoreDefault
+
+ /** Playback toggle text color. */
+ public val controlPlaybackToggleText: Color = textPrimary
+
+ /** Progress bar fill color. */
+ public val controlProgressBarFill: Color = accentNeutral
+
+ /** Progress bar track color. */
+ public val controlProgressBarTrack: Color = backgroundCoreSurfaceStrong
+
+ /** Radio/check background (unselected). */
+ public val controlRadioCheckBg: Color = Color.Transparent
+
+ /** Toggle switch track background. */
+ public val controlToggleSwitchBg: Color = backgroundCoreSurfaceStrong
+
+ /** Toggle switch track background when disabled. */
+ public val controlToggleSwitchBgDisabled: Color = backgroundCoreDisabled
+
+ /** Toggle switch track background when selected. */
+ public val controlToggleSwitchBgSelected: Color = accentPrimary
+
+ /** Toggle switch knob color. */
+ public val controlToggleSwitchKnob: Color = backgroundElevationElevation4
+
+ /** Input field default border. */
+ public val inputBorderDefault: Color = borderCoreDefault
+
+ /** Input field border on hover. */
+ public val inputBorderHover: Color = borderCoreStrong
+
+ /** Input field border when selected/focused. */
+ public val inputBorderSelected: Color = borderUtilitySelected
+
+ /** Send icon color. */
+ public val inputSendIcon: Color = accentPrimary
+
+ /** Send icon color when disabled. */
+ public val inputSendIconDisabled: Color = textDisabled
+
+ /** Input field default text color. */
+ public val inputTextDefault: Color = textPrimary
+
+ /** Input field disabled text color. */
+ public val inputTextDisabled: Color = textDisabled
+
+ /** Input field icon color. */
+ public val inputTextIcon: Color = textTertiary
+
+ /** Input field placeholder text color. */
+ public val inputTextPlaceholder: Color = textTertiary
+
+ /** Reaction background color. */
+ public val reactionBg: Color = backgroundElevationElevation3
+
+ /** Reaction border color. */
+ public val reactionBorder: Color = borderCoreDefault
+
+ /** Reaction emoji color. */
+ public val reactionEmoji: Color = textPrimary
+
+ /** Reaction text color. */
+ public val reactionText: Color = textPrimary
+
+ /** Skeleton loading gradient base color. */
+ public val skeletonLoadingBase: Color = Color.Transparent
+
+ /** Default app background color. */
+ public val backgroundCoreApp: Color = backgroundElevationElevation0
+
+ /** Default badge background. */
+ public val badgeBgDefault: Color = backgroundElevationElevation2
+
+ /** Badge background with inverse color scheme. */
+ public val badgeBgInverse: Color = backgroundCoreInverse
+
+ /** Badge text color. */
+ public val badgeText: Color = textPrimary
+
+ /** Badge text color on accent backgrounds. */
+ public val badgeTextOnAccent: Color = textOnAccent
+
+ /** Badge text color on inverse backgrounds. */
+ public val badgeTextInverse: Color = textOnDark
+
+ /** Destructive button background. */
+ public val buttonDestructiveBg: Color = accentError
+
+ /** Destructive button border. */
+ public val buttonDestructiveBorder: Color = accentError
+
+ /** Destructive button text. */
+ public val buttonDestructiveText: Color = accentError
+
+ /** Destructive button text on accent backgrounds. */
+ public val buttonDestructiveTextOnAccent: Color = textOnAccent
+
+ /** Primary button background. */
+ public val buttonPrimaryBg: Color = accentPrimary
+
+ /** Primary button border. */
+ public val buttonPrimaryBorder: Color = brand200
+
+ /** Primary button text. */
+ public val buttonPrimaryText: Color = accentPrimary
+
+ /** Primary button text on accent backgrounds. */
+ public val buttonPrimaryTextOnAccent: Color = textOnAccent
+
+ /** Secondary button background. */
+ public val buttonSecondaryBg: Color = backgroundCoreSurface
+
+ /** Secondary button border. */
+ public val buttonSecondaryBorder: Color = borderCoreDefault
+
+ /** Secondary button text. */
+ public val buttonSecondaryText: Color = textPrimary
+
+ /** Secondary button text on accent backgrounds. */
+ public val buttonSecondaryTextOnAccent: Color = textPrimary
+
+ /** Outgoing message bubble background. */
+ public val chatBgOutgoing: Color = brand100
+
+ /** Border on outgoing message bubbles. */
+ public val chatBorderOnChatOutgoing: Color = brand300
+
+ /** Incoming message text color. */
+ public val chatTextIncoming: Color = textPrimary
+
+ /** Outgoing message text color. */
+ public val chatTextOutgoing: Color = brand900
+
+ /** Link text color in chat messages. */
+ public val chatTextLink: Color = accentPrimary
+
+ /** Mention text color in chat messages. */
+ public val chatTextMention: Color = chatTextLink
+
+ /** System messages like date separators and unread dividers. */
+ public val chatTextSystem: Color = textSecondary
+
+ /** Timestamp text color in chat messages. */
+ public val chatTextTimestamp: Color = textTertiary
+
+ /** Audio waveform bar color. */
+ public val chatWaveformBar: Color = borderCoreOpacity25
+
+ /** Audio waveform bar color when playing. */
+ public val chatWaveformBarPlaying: Color = accentPrimary
+
+ /** Chip text color. */
+ public val chipText: Color = brand900
+
+ /** Play control button background. */
+ public val controlPlayControlBg: Color = accentBlack
+
+ /** Play control button icon. */
+ public val controlPlayControlIcon: Color = textOnAccent
+
+ /** Radio/check border. */
+ public val controlRadioCheckBorder: Color = borderCoreDefault
+
+ /** Remove control border. */
+ public val controlRemoveBorder: Color = borderCoreOnDark
+
+ /** Online presence indicator. */
+ public val presenceBgOnline: Color = accentSuccess
+
+ /** Offline presence indicator. */
+ public val presenceBgOffline: Color = accentNeutral
+
+ public companion object {
+ /**
+ * Provides the default colors for the light mode of the app.
+ *
+ * @return A [Colors] instance holding our color palette.
+ */
+ @Suppress("LongMethod")
+ public fun default(): Colors = Colors(
+ accentBlack = StreamPrimitiveColors.baseBlack,
+ accentError = StreamPrimitiveColors.red500,
+ accentNeutral = StreamPrimitiveColors.slate500,
+ accentPrimary = StreamPrimitiveColors.blue500,
+ accentSuccess = StreamPrimitiveColors.green400,
+ backgroundCoreDisabled = StreamPrimitiveColors.slate100,
+ backgroundCoreSurface = StreamPrimitiveColors.slate100,
+ backgroundCoreSurfaceSubtle = StreamPrimitiveColors.slate50,
+ backgroundCoreSurfaceStrong = StreamPrimitiveColors.slate150,
+ backgroundCoreInverse = StreamPrimitiveColors.slate900,
+ backgroundElevationElevation0 = StreamPrimitiveColors.baseWhite,
+ backgroundElevationElevation1 = StreamPrimitiveColors.baseWhite,
+ backgroundElevationElevation2 = StreamPrimitiveColors.baseWhite,
+ backgroundElevationElevation3 = StreamPrimitiveColors.baseWhite,
+ backgroundElevationElevation4 = StreamPrimitiveColors.baseWhite,
+ badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f),
+ borderCoreDefault = StreamPrimitiveColors.slate150,
+ borderCoreStrong = StreamPrimitiveColors.slate300,
+ borderCoreOpacity10 = StreamPrimitiveColors.baseBlack.copy(alpha = .1f),
+ borderCoreOnAccent = StreamPrimitiveColors.baseWhite,
+ borderCoreOnDark = StreamPrimitiveColors.baseWhite,
+ borderCoreOpacity25 = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f),
+ borderUtilitySelected = StreamPrimitiveColors.blue500,
+ borderCoreSubtle = StreamPrimitiveColors.slate100,
+ borderUtilityDisabled = StreamPrimitiveColors.slate100,
+ brand50 = StreamPrimitiveColors.blue50,
+ brand100 = StreamPrimitiveColors.blue100,
+ brand150 = StreamPrimitiveColors.blue150,
+ brand200 = StreamPrimitiveColors.blue200,
+ brand300 = StreamPrimitiveColors.blue300,
+ brand400 = StreamPrimitiveColors.blue400,
+ brand500 = StreamPrimitiveColors.blue500,
+ brand600 = StreamPrimitiveColors.blue600,
+ brand700 = StreamPrimitiveColors.blue700,
+ brand800 = StreamPrimitiveColors.blue800,
+ brand900 = StreamPrimitiveColors.blue900,
+ textDisabled = StreamPrimitiveColors.slate300,
+ textOnAccent = StreamPrimitiveColors.baseWhite,
+ textOnDark = StreamPrimitiveColors.baseWhite,
+ textPrimary = StreamPrimitiveColors.slate900,
+ textSecondary = StreamPrimitiveColors.slate700,
+ textTertiary = StreamPrimitiveColors.slate500,
+ avatarBgPlaceholder = StreamPrimitiveColors.slate100,
+ avatarPaletteBg1 = StreamPrimitiveColors.blue150,
+ avatarPaletteBg2 = StreamPrimitiveColors.cyan150,
+ avatarPaletteBg3 = StreamPrimitiveColors.green150,
+ avatarPaletteBg4 = StreamPrimitiveColors.purple150,
+ avatarPaletteBg5 = StreamPrimitiveColors.yellow150,
+ avatarPaletteText1 = StreamPrimitiveColors.blue900,
+ avatarPaletteText2 = StreamPrimitiveColors.cyan900,
+ avatarPaletteText3 = StreamPrimitiveColors.green900,
+ avatarPaletteText4 = StreamPrimitiveColors.purple900,
+ avatarPaletteText5 = StreamPrimitiveColors.yellow900,
+ avatarTextPlaceholder = StreamPrimitiveColors.slate500,
+ chatBgIncoming = StreamPrimitiveColors.slate100,
+ chatBgAttachmentIncoming = StreamPrimitiveColors.slate150,
+ chatBgAttachmentOutgoing = StreamPrimitiveColors.blue150,
+ chatBorderOnChatIncoming = StreamPrimitiveColors.slate300,
+ chatPollProgressFillIncoming = StreamPrimitiveColors.slate500,
+ chatPollProgressTrackIncoming = StreamPrimitiveColors.slate150,
+ chatPollProgressFillOutgoing = StreamPrimitiveColors.blue500,
+ chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue200,
+ chatReplyIndicatorIncoming = StreamPrimitiveColors.slate400,
+ chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue400,
+ controlRadioCheckBgSelected = StreamPrimitiveColors.blue500,
+ controlRadioCheckIconSelected = StreamPrimitiveColors.baseWhite,
+ controlRemoveBg = StreamPrimitiveColors.slate900,
+ controlRemoveIcon = StreamPrimitiveColors.baseWhite,
+ presenceBorder = StreamPrimitiveColors.baseWhite,
+ backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f),
+ backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.25f),
+ backgroundCoreHighlight = StreamPrimitiveColors.yellow50,
+ skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite,
+ )
+
+ /**
+ * Provides the default colors for the dark mode of the app.
+ *
+ * @return A [Colors] instance holding our color palette.
+ */
+ @Suppress("LongMethod")
+ public fun defaultDark(): Colors = Colors(
+ accentBlack = StreamPrimitiveColors.baseBlack,
+ accentError = StreamPrimitiveColors.red400,
+ accentNeutral = StreamPrimitiveColors.neutral300,
+ accentPrimary = StreamPrimitiveColors.blue300,
+ accentSuccess = StreamPrimitiveColors.green300,
+ backgroundCoreDisabled = StreamPrimitiveColors.neutral800,
+ backgroundCoreSurface = StreamPrimitiveColors.neutral800,
+ backgroundCoreSurfaceSubtle = StreamPrimitiveColors.neutral900,
+ backgroundCoreSurfaceStrong = StreamPrimitiveColors.neutral700,
+ backgroundCoreInverse = StreamPrimitiveColors.neutral50,
+ backgroundCoreSelected = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f),
+ backgroundElevationElevation0 = StreamPrimitiveColors.baseBlack,
+ backgroundElevationElevation1 = StreamPrimitiveColors.neutral900,
+ backgroundElevationElevation2 = StreamPrimitiveColors.neutral800,
+ backgroundElevationElevation3 = StreamPrimitiveColors.neutral700,
+ backgroundElevationElevation4 = StreamPrimitiveColors.neutral600,
+ borderCoreDefault = StreamPrimitiveColors.neutral600,
+ borderCoreStrong = StreamPrimitiveColors.neutral400,
+ borderCoreOpacity10 = StreamPrimitiveColors.baseWhite.copy(alpha = .2f),
+ borderCoreOnAccent = StreamPrimitiveColors.baseWhite,
+ borderCoreOnDark = StreamPrimitiveColors.neutral900,
+ borderCoreOpacity25 = StreamPrimitiveColors.baseWhite.copy(alpha = 0.25f),
+ borderUtilitySelected = StreamPrimitiveColors.blue300,
+ borderCoreSubtle = StreamPrimitiveColors.neutral800,
+ borderUtilityDisabled = StreamPrimitiveColors.neutral700,
+ brand50 = StreamPrimitiveColors.blue900,
+ brand100 = StreamPrimitiveColors.blue800,
+ brand150 = StreamPrimitiveColors.blue700,
+ brand200 = StreamPrimitiveColors.blue600,
+ brand300 = StreamPrimitiveColors.blue500,
+ brand400 = StreamPrimitiveColors.blue400,
+ brand500 = StreamPrimitiveColors.blue300,
+ brand600 = StreamPrimitiveColors.blue200,
+ brand700 = StreamPrimitiveColors.blue150,
+ brand800 = StreamPrimitiveColors.blue100,
+ brand900 = StreamPrimitiveColors.blue50,
+ textDisabled = StreamPrimitiveColors.neutral500,
+ textOnAccent = StreamPrimitiveColors.baseWhite,
+ textOnDark = StreamPrimitiveColors.neutral900,
+ textPrimary = StreamPrimitiveColors.baseWhite,
+ textSecondary = StreamPrimitiveColors.neutral100,
+ textTertiary = StreamPrimitiveColors.neutral300,
+ badgeBgOverlay = StreamPrimitiveColors.baseBlack.copy(alpha = .75f),
+ avatarBgPlaceholder = StreamPrimitiveColors.neutral700,
+ avatarPaletteBg1 = StreamPrimitiveColors.blue600,
+ avatarPaletteBg2 = StreamPrimitiveColors.cyan600,
+ avatarPaletteBg3 = StreamPrimitiveColors.green600,
+ avatarPaletteBg4 = StreamPrimitiveColors.purple600,
+ avatarPaletteBg5 = StreamPrimitiveColors.yellow600,
+ avatarPaletteText1 = StreamPrimitiveColors.blue100,
+ avatarPaletteText2 = StreamPrimitiveColors.cyan100,
+ avatarPaletteText3 = StreamPrimitiveColors.green100,
+ avatarPaletteText4 = StreamPrimitiveColors.purple100,
+ avatarPaletteText5 = StreamPrimitiveColors.yellow100,
+ avatarTextPlaceholder = StreamPrimitiveColors.neutral400,
+ chatBgIncoming = StreamPrimitiveColors.neutral800,
+ chatBgAttachmentIncoming = StreamPrimitiveColors.neutral700,
+ chatBgAttachmentOutgoing = StreamPrimitiveColors.blue700,
+ chatBorderOnChatIncoming = StreamPrimitiveColors.neutral400,
+ chatPollProgressFillIncoming = StreamPrimitiveColors.neutral300,
+ chatPollProgressTrackIncoming = StreamPrimitiveColors.neutral700,
+ chatPollProgressFillOutgoing = StreamPrimitiveColors.baseWhite,
+ chatPollProgressTrackOutgoing = StreamPrimitiveColors.blue600,
+ chatReplyIndicatorIncoming = StreamPrimitiveColors.neutral500,
+ chatReplyIndicatorOutgoing = StreamPrimitiveColors.blue150,
+ controlRadioCheckBgSelected = StreamPrimitiveColors.baseWhite,
+ controlRadioCheckIconSelected = StreamPrimitiveColors.neutral900,
+ controlRemoveBg = StreamPrimitiveColors.neutral50,
+ controlRemoveIcon = StreamPrimitiveColors.neutral900,
+ presenceBorder = StreamPrimitiveColors.neutral900,
+ backgroundCoreScrim = StreamPrimitiveColors.baseBlack.copy(alpha = 0.75f),
+ backgroundCoreOverlayDark = StreamPrimitiveColors.baseBlack.copy(alpha = 0.5f),
+ backgroundCoreHighlight = StreamPrimitiveColors.yellow900,
+ skeletonLoadingHighlight = StreamPrimitiveColors.baseWhite.copy(alpha = 0.2f),
+ )
+ }
+ }
+
+ /**
+ * Contains all the typography we provide for our components.
+ *
+ * @param bodyDefault Used for body text, like message text.
+ * @param bodyEmphasis Used for emphasized body text requiring visual prominence.
+ * @param captionDefault Style for captions and supplementary information.
+ * @param captionEmphasis Style for emphasized captions that require attention.
+ * @param headingSmall Style for small headings.
+ * @param headingMedium Style for medium headings.
+ * @param headingLarge Style for large, prominent headings.
+ * @param metadataDefault Style for metadata and secondary information.
+ * @param metadataEmphasis Style for emphasized metadata in secondary content areas.
+ * @param numericMedium Style for medium-sized numeric indicators, like the unread count.
+ * @param numericLarge Style for large numeric indicators.
+ * @param numericExtraLarge Style for extra-large numeric indicators.
+ */
+ @Immutable
+ public data class Typography(
+ public val bodyDefault: TextStyle,
+ public val bodyEmphasis: TextStyle,
+ public val captionDefault: TextStyle,
+ public val captionEmphasis: TextStyle,
+ public val headingSmall: TextStyle,
+ public val headingMedium: TextStyle,
+ public val headingLarge: TextStyle,
+ public val metadataDefault: TextStyle,
+ public val metadataEmphasis: TextStyle,
+ public val numericMedium: TextStyle,
+ public val numericLarge: TextStyle,
+ public val numericExtraLarge: TextStyle,
+ ) {
+
+ public companion object {
+ /**
+ * Builds the default typography set for our theme, with the ability to customize the
+ * font family.
+ *
+ * @param fontFamily The font that the users want to use for the app.
+ * @return [Typography] that holds all the default text styles that we support.
+ */
+ @Suppress("LongMethod")
+ public fun default(fontFamily: FontFamily? = null): Typography = Typography(
+ bodyDefault = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightRegular,
+ fontSize = StreamTokens.fontSizeMd,
+ lineHeight = StreamTokens.lineHeightNormal,
+ ),
+ bodyEmphasis = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeMd,
+ lineHeight = StreamTokens.lineHeightNormal,
+ ),
+ captionDefault = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightRegular,
+ fontSize = StreamTokens.fontSizeSm,
+ lineHeight = StreamTokens.lineHeightTight,
+ ),
+ captionEmphasis = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeSm,
+ lineHeight = StreamTokens.lineHeightTight,
+ ),
+ headingSmall = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeMd,
+ lineHeight = StreamTokens.lineHeightNormal,
+ ),
+ headingMedium = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeLg,
+ lineHeight = StreamTokens.lineHeightRelaxed,
+ ),
+ headingLarge = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeXl,
+ lineHeight = StreamTokens.lineHeightRelaxed,
+ ),
+ metadataDefault = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightRegular,
+ fontSize = StreamTokens.fontSizeXs,
+ lineHeight = StreamTokens.lineHeightTight,
+ ),
+ metadataEmphasis = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightSemiBold,
+ fontSize = StreamTokens.fontSizeXs,
+ lineHeight = StreamTokens.lineHeightTight,
+ ),
+ numericMedium = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightBold,
+ fontSize = StreamTokens.fontSize2xs,
+ lineHeight = StreamTokens.lineHeightTighter,
+ ),
+ numericLarge = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightBold,
+ fontSize = StreamTokens.fontSizeXs,
+ ),
+ numericExtraLarge = TextStyle(
+ fontFamily = fontFamily,
+ fontWeight = StreamTokens.fontWeightBold,
+ fontSize = StreamTokens.fontSizeSm,
+ lineHeight = StreamTokens.lineHeightTighter,
+ ),
+ )
+ }
+ }
+}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt
deleted file mode 100644
index a1cce88640a..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDimens.kt
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.dp
-
-/**
- * Contains all the dimens we provide for our components.
- *
- * @param channelItemVerticalPadding The vertical content padding inside channel list item.
- * @param channelItemHorizontalPadding The horizontal content padding inside channel list item.
- * @param channelAvatarSize The size of channel avatar.
- * @param selectedChannelMenuUserItemWidth The width of a member tile in the selected channel menu.
- * @param selectedChannelMenuUserItemHorizontalPadding The padding inside a member tile in the selected channel
- * menu.
- * @param selectedChannelMenuUserItemAvatarSize The size of a member avatar in the selected channel menu.
- * @param attachmentsContentImageWidth The width of image attachments in the message list.
- * @param attachmentsContentGiphyWidth The with of Giphy attachments in the message list.
- * @param attachmentsContentGiphyHeight The height of Giphy attachments in the message list.
- * @param attachmentsContentLinkWidth The with of link attachments in the message list.
- * @param attachmentsContentFileWidth The width of file attachments in the message list.
- * @param attachmentsContentFileUploadWidth The width of uploading file attachments in the message list.
- * @param attachmentsContentUnsupportedWidth The width of unsupported attachments in the message list.
- * @param threadSeparatorVerticalPadding The vertical content padding inside thread separator item.
- * @param threadSeparatorTextVerticalPadding The vertical padding inside thread separator text.
- * @param suggestionListMaxHeight The maximum height of the suggestion list popup.
- * @param suggestionListPadding The outer padding of the suggestion list popup.
- * @param suggestionListElevation THe elevation of the suggestion list popup.
- * @param mentionSuggestionItemHorizontalPadding The horizontal content padding inside mention list item.
- * @param mentionSuggestionItemVerticalPadding The vertical content padding inside mention list item.
- * @param mentionSuggestionItemAvatarSize The size of a channel avatar in the suggestion list popup.
- * @param commandSuggestionItemHorizontalPadding The horizontal content padding inside command list item.
- * @param commandSuggestionItemVerticalPadding The vertical content padding inside command list item.
- * @param commandSuggestionItemIconSize The size of a command icon in the suggestion list popup.
- * @param threadParticipantItemSize The size of thread participant avatar items.
- * @param userReactionsMaxHeight The max height of the message reactions section when we click on message reactions.
- * @param userReactionItemWidth The width of user reaction item.
- * @param userReactionItemAvatarSize The size of a user avatar in the user reaction item.
- * @param userReactionItemIconSize The size of a reaction icon in the user reaction item.
- * @param reactionOptionItemIconSize The size of a reaction option icon in the reaction options menu.
- * @param headerElevation The elevation of the headers, such as the ones appearing on the Channel or Message
- * screens.
- * @param messageItemMaxWidth The max width of message items inside message list.
- * @param quotedMessageTextVerticalPadding The vertical padding of text inside quoted message.
- * @param quotedMessageTextHorizontalPadding The horizontal padding of text inside quoted message.
- * @param quotedMessageAttachmentPreviewSize The size of the quoted message attachment preview.
- * @param quotedMessageAttachmentTopPadding The top padding of the quoted message attachment preview.
- * @param quotedMessageAttachmentBottomPadding The bottom padding of the quoted message attachment preview.
- * @param quotedMessageAttachmentStartPadding The start padding of the quoted message attachment preview.
- * @param quotedMessageAttachmentEndPadding The end padding of the quoted message attachment preview.
- * @param quotedMessageAttachmentSpacerHorizontal The horizontal spacing between quoted message attachment components.
- * @param quotedMessageAttachmentSpacerVertical The vertical spacing between quoted message attachment components.
- * @param groupAvatarInitialsXOffset The x offset of the user initials inside avatar when there are more than two
- * users.
- * @param groupAvatarInitialsYOffset The y offset of the user initials inside avatar when there are more than two
- * users.
- * @param attachmentsPickerHeight The height of the attachments picker.
- * @param attachmentsSystemPickerHeight The height of the system attachments picker.
- * @param attachmentsContentImageMaxHeight The maximum height an image attachment will expand to while automatically
- * re-sizing itself in order to obey its aspect ratio.
- * re-sizing itself in order to obey its aspect ratio.
- * @param attachmentsContentGiphyMaxWidth The maximum width a Giphy attachment will expand to while automatically
- * re-sizing itself in order to follow its aspect ratio.
- * @param attachmentsContentGiphyMaxHeight The maximum height a Giphy attachment will expand to while automatically
- * re-sizing itself in order to follow its aspect ratio.
- * re-sizing itself in order to obey its aspect ratio.
- * @param attachmentsContentVideoMaxHeight The maximum height video attachment will expand to while automatically
- * re-sizing itself in order to obey its aspect ratio.
- * @param attachmentsContentMediaGridSpacing The spacing between media preview tiles in the message list.
- * @param attachmentsContentVideoWidth The width of media attachment previews in the message list.
- * @param attachmentsContentGroupPreviewWidth The width of the container displaying media previews tiled in
- * a group in the message list.
- * @param attachmentsContentGroupPreviewHeight The height of the container displaying media previews tiled in
- * a group in the message list.
- * @param pollOptionInputHeight The height of the poll option input field.
- * @param messageComposerShadowElevation The elevation of the message composer shadow.
- */
-@Immutable
-public data class StreamDimens(
- public val channelItemVerticalPadding: Dp,
- public val channelItemHorizontalPadding: Dp,
- public val channelAvatarSize: Dp,
- public val selectedChannelMenuUserItemWidth: Dp,
- public val selectedChannelMenuUserItemHorizontalPadding: Dp,
- public val selectedChannelMenuUserItemAvatarSize: Dp,
- public val attachmentsContentImageWidth: Dp,
- public val attachmentsContentGiphyWidth: Dp,
- public val attachmentsContentGiphyHeight: Dp,
- public val attachmentsContentLinkWidth: Dp,
- public val attachmentsContentFileWidth: Dp,
- public val attachmentsContentFileUploadWidth: Dp,
- public val attachmentsContentUnsupportedWidth: Dp,
- public val threadSeparatorVerticalPadding: Dp,
- public val threadSeparatorTextVerticalPadding: Dp,
- public val suggestionListMaxHeight: Dp,
- public val suggestionListPadding: Dp,
- public val suggestionListElevation: Dp,
- public val mentionSuggestionItemHorizontalPadding: Dp,
- public val mentionSuggestionItemVerticalPadding: Dp,
- public val mentionSuggestionItemAvatarSize: Dp,
- public val commandSuggestionItemHorizontalPadding: Dp,
- public val commandSuggestionItemVerticalPadding: Dp,
- public val commandSuggestionItemIconSize: Dp,
- public val threadParticipantItemSize: Dp,
- public val userReactionsMaxHeight: Dp,
- public val userReactionItemWidth: Dp,
- public val userReactionItemAvatarSize: Dp,
- public val userReactionItemIconSize: Dp,
- public val headerElevation: Dp,
- public val messageItemMaxWidth: Dp,
- public val quotedMessageTextVerticalPadding: Dp,
- public val quotedMessageTextHorizontalPadding: Dp,
- public val quotedMessageAttachmentPreviewSize: Dp,
- public val quotedMessageAttachmentTopPadding: Dp,
- public val quotedMessageAttachmentBottomPadding: Dp,
- public val quotedMessageAttachmentStartPadding: Dp,
- public val quotedMessageAttachmentEndPadding: Dp,
- public val quotedMessageAttachmentSpacerHorizontal: Dp,
- public val quotedMessageAttachmentSpacerVertical: Dp,
- public val groupAvatarInitialsXOffset: Dp,
- public val groupAvatarInitialsYOffset: Dp,
- public val attachmentsPickerHeight: Dp,
- public val attachmentsSystemPickerHeight: Dp,
- public val attachmentsContentImageMaxHeight: Dp,
- public val attachmentsContentGiphyMaxWidth: Dp = attachmentsContentGiphyWidth,
- public val attachmentsContentGiphyMaxHeight: Dp = attachmentsContentGiphyHeight,
- public val attachmentsContentVideoMaxHeight: Dp,
- public val attachmentsContentMediaGridSpacing: Dp,
- public val attachmentsContentVideoWidth: Dp,
- public val attachmentsContentGroupPreviewWidth: Dp,
- public val attachmentsContentGroupPreviewHeight: Dp,
- public val pollOptionInputHeight: Dp,
- public val messageComposerShadowElevation: Dp,
-) {
-
- public companion object {
- /**
- * Builds the default dimensions for our theme.
- *
- * @return A [StreamDimens] instance holding our default dimensions.
- */
- public fun defaultDimens(): StreamDimens = StreamDimens(
- channelItemVerticalPadding = 12.dp,
- channelItemHorizontalPadding = 8.dp,
- channelAvatarSize = 40.dp,
- selectedChannelMenuUserItemWidth = 80.dp,
- selectedChannelMenuUserItemHorizontalPadding = 8.dp,
- selectedChannelMenuUserItemAvatarSize = 64.dp,
- attachmentsContentImageWidth = 250.dp,
- attachmentsContentGiphyWidth = 250.dp,
- attachmentsContentGiphyHeight = 200.dp,
- attachmentsContentLinkWidth = 250.dp,
- attachmentsContentFileWidth = 250.dp,
- attachmentsContentFileUploadWidth = 250.dp,
- attachmentsContentUnsupportedWidth = 250.dp,
- threadSeparatorVerticalPadding = 8.dp,
- threadSeparatorTextVerticalPadding = 2.dp,
- suggestionListMaxHeight = 256.dp,
- suggestionListPadding = 8.dp,
- suggestionListElevation = 4.dp,
- mentionSuggestionItemHorizontalPadding = 16.dp,
- mentionSuggestionItemVerticalPadding = 8.dp,
- mentionSuggestionItemAvatarSize = 40.dp,
- commandSuggestionItemHorizontalPadding = 8.dp,
- commandSuggestionItemVerticalPadding = 8.dp,
- commandSuggestionItemIconSize = 24.dp,
- threadParticipantItemSize = 16.dp,
- userReactionsMaxHeight = 256.dp,
- userReactionItemWidth = 80.dp,
- userReactionItemIconSize = 24.dp,
- userReactionItemAvatarSize = 64.dp,
- headerElevation = 4.dp,
- messageItemMaxWidth = 250.dp,
- quotedMessageTextHorizontalPadding = 8.dp,
- quotedMessageTextVerticalPadding = 6.dp,
- quotedMessageAttachmentPreviewSize = 36.dp,
- quotedMessageAttachmentBottomPadding = 6.dp,
- quotedMessageAttachmentTopPadding = 6.dp,
- quotedMessageAttachmentStartPadding = 8.dp,
- quotedMessageAttachmentEndPadding = 0.dp,
- quotedMessageAttachmentSpacerHorizontal = 8.dp,
- quotedMessageAttachmentSpacerVertical = 2.dp,
- groupAvatarInitialsXOffset = 1.5.dp,
- groupAvatarInitialsYOffset = 2.5.dp,
- attachmentsPickerHeight = 350.dp,
- attachmentsSystemPickerHeight = 72.dp,
- attachmentsContentImageMaxHeight = 600.dp,
- attachmentsContentVideoMaxHeight = 400.dp,
- attachmentsContentMediaGridSpacing = 2.dp,
- attachmentsContentVideoWidth = 250.dp,
- attachmentsContentGroupPreviewWidth = 250.dp,
- attachmentsContentGroupPreviewHeight = 196.dp,
- pollOptionInputHeight = 56.dp,
- messageComposerShadowElevation = 24.dp,
- )
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt
deleted file mode 100644
index f78fa67d27d..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamKeyboardBehaviour.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-/**
- * Class holding configuration for different keyboard behaviours.
- *
- * @param closeKeyboardOnAttachmentPickerOpen If true, the keyboard will be closed when the attachment picker is opened.
- */
-public data class StreamKeyboardBehaviour(
- val closeKeyboardOnAttachmentPickerOpen: Boolean,
-) {
-
- public companion object {
-
- /**
- * Builds the default keyboard behaviour.
- *
- * @return A [StreamKeyboardBehaviour] instance holding the default configuration.
- */
- public fun defaultBehaviour(): StreamKeyboardBehaviour {
- return StreamKeyboardBehaviour(closeKeyboardOnAttachmentPickerOpen = true)
- }
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt
new file mode 100644
index 00000000000..fdf9e1bd5b4
--- /dev/null
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamPrimitiveColors.kt
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
+ *
+ * Licensed under the Stream License;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.getstream.chat.android.compose.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+@Suppress("MagicNumber")
+internal object StreamPrimitiveColors {
+ val baseBlack = Color(0xFF000000)
+ val baseTransparent = Color(0x00000000)
+ val baseWhite = Color(0xFFFFFFFF)
+ val blue50 = Color(0xFFF3F7FF)
+ val blue100 = Color(0xFFE3EDFF)
+ val blue150 = Color(0xFFC3D9FF)
+ val blue200 = Color(0xFFA5C5FF)
+ val blue300 = Color(0xFF78A8FF)
+ val blue400 = Color(0xFF4586FF)
+ val blue500 = Color(0xFF005FFF)
+ val blue600 = Color(0xFF1B53BD)
+ val blue700 = Color(0xFF19418D)
+ val blue800 = Color(0xFF142F63)
+ val blue900 = Color(0xFF091A3B)
+ val cyan100 = Color(0xFFD1F3F6)
+ val cyan150 = Color(0xFFA9E4EA)
+ val cyan600 = Color(0xFF006970)
+ val cyan800 = Color(0xFF003A3F)
+ val cyan900 = Color(0xFF002124)
+ val green100 = Color(0xFFBDFCDB)
+ val green150 = Color(0xFF8FEBBD)
+ val green300 = Color(0xFF00C384)
+ val green400 = Color(0xFF00A46E)
+ val green500 = Color(0xFF277E59)
+ val green600 = Color(0xFF006643)
+ val green800 = Color(0xFF003A25)
+ val green900 = Color(0xFF002213)
+ val neutral50 = Color(0xFFF8F8F8)
+ val neutral100 = Color(0xFFEFEFEF)
+ val neutral300 = Color(0xFFABABAB)
+ val neutral400 = Color(0xFF8F8F8F)
+ val neutral500 = Color(0xFF6A6A6A)
+ val neutral600 = Color(0xFF565656)
+ val neutral700 = Color(0xFF464646)
+ val neutral800 = Color(0xFF323232)
+ val neutral900 = Color(0xFF1C1C1C)
+ val purple100 = Color(0xFFECEDFF)
+ val purple150 = Color(0xFFD4D7FF)
+ val purple200 = Color(0xFFC1C5FF)
+ val purple600 = Color(0xFF553BD8)
+ val purple800 = Color(0xFF2E2576)
+ val purple900 = Color(0xFF1A114D)
+ val red400 = Color(0xFFFC526A)
+ val red500 = Color(0xFFD90D10)
+ val slate50 = Color(0xFFF6F8FA)
+ val slate100 = Color(0xFFEBEEF1)
+ val slate150 = Color(0xFFD5DBE1)
+ val slate200 = Color(0xFFC0C8D2)
+ val slate300 = Color(0xFFA3ACBA)
+ val slate400 = Color(0xFF87909F)
+ val slate500 = Color(0xFF687385)
+ val slate600 = Color(0xFF545969)
+ val slate700 = Color(0xFF414552)
+ val slate800 = Color(0xFF30313D)
+ val slate900 = Color(0xFF1A1B25)
+ val yellow50 = Color(0xFFFEF9DA)
+ val yellow100 = Color(0xFFFCEDB9)
+ val yellow150 = Color(0xFFFCD579)
+ val yellow200 = Color(0xFFF6BF57)
+ val yellow600 = Color(0xFFA82C00)
+ val yellow800 = Color(0xFF5F1A05)
+ val yellow900 = Color(0xFF331302)
+}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt
deleted file mode 100644
index a472ce7bd58..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamShapes.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-import androidx.compose.foundation.shape.CircleShape
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.graphics.RectangleShape
-import androidx.compose.ui.graphics.Shape
-import androidx.compose.ui.unit.dp
-
-/**
- * Contains all the shapes we provide for our components.
- *
- * @param avatar The avatar shape.
- * @param myMessageBubble The bubble that wraps my message content.
- * @param otherMessageBubble The bubble that wraps other people's message content.
- * @param inputField The shape of the input field.
- * @param attachment The shape of attachments.
- * @param imageThumbnail The shape of image thumbnails, shown in selected attachments and image file attachments.
- * @param bottomSheet The shape of components used as bottom sheets.
- * @param suggestionList The shape of suggestion list popup.
- * @param header The shape of the headers, such as the ones appearing on the Channel or Message screens.
- * @param quotedAttachment The shape of quoted attachments.
- */
-@Immutable
-public data class StreamShapes(
- public val avatar: Shape,
- public val myMessageBubble: Shape,
- public val otherMessageBubble: Shape,
- public val inputField: Shape,
- public val attachment: Shape,
- public val imageThumbnail: Shape,
- public val bottomSheet: Shape,
- public val suggestionList: Shape,
- public val header: Shape,
- public val quotedAttachment: Shape,
- public val pollOptionInput: Shape,
-) {
- public companion object {
- /**
- * Builds the default shapes for our theme.
- *
- * @return A [StreamShapes] that holds our default shapes.
- */
- public fun defaultShapes(): StreamShapes = StreamShapes(
- avatar = CircleShape,
- myMessageBubble = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp, bottomStart = 20.dp),
- otherMessageBubble = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp, bottomEnd = 20.dp),
- inputField = RoundedCornerShape(24.dp),
- attachment = RoundedCornerShape(StreamTokens.radiusLg),
- imageThumbnail = RoundedCornerShape(8.dp),
- bottomSheet = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
- suggestionList = RoundedCornerShape(16.dp),
- header = RectangleShape,
- quotedAttachment = RoundedCornerShape(4.dp),
- pollOptionInput = RoundedCornerShape(16.dp),
- )
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt
index 20055524ccf..aaaef026b35 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTokens.kt
@@ -35,6 +35,7 @@ internal object StreamTokens {
val radius2xl = CornerSize(20.dp)
val radius3xl = CornerSize(24.dp)
val radius4xl = CornerSize(32.dp)
+ val radiusFull = CornerSize(percent = 50)
val size12 = 12.dp
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt
deleted file mode 100644
index 16c5c20b5a1..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamTypography.kt
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme
-
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontStyle
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.sp
-
-/**
- * Contains all the typography we provide for our components.
- *
- * @param title1 Used for big titles, like the image attachment overlay text.
- * @param title3 Used for empty content text.
- * @param title3Bold Used for titles of app bars and bottom bars.
- * @param body Used for body content, such as messages.
- * @param bodyItalic Used for body content, italicized, like deleted message components.
- * @param bodyBold Used for emphasized body content, like small titles.
- * @param footnote Used for footnote information, like timestamps.
- * @param footnoteItalic Used for footnote information that's less important, like the deleted message text.
- * @param footnoteBold Used for footnote information in certain important items, like the thread reply text,
- * or user info components.
- * @param captionBold Used for unread count indicator.
- * @param singleEmoji Used for messages whose content consists only of a single emoji.
- * @param emojiOnly Used for messages whose content consists only if emojis.
- * @param bodyDefault Used for body text, like message text.
- * @param bodyEmphasis Used for emphasized body text requiring visual prominence to highlight important information.
- * @param captionDefault Style for captions and supplementary information.
- * @param captionEmphasis Style for emphasized captions that require attention.
- * @param headingSmall Style for small headings.
- * @param headingMedium Style for medium headings.
- * @param headingLarge Style for large, prominent headings.
- * @param metadataDefault Style for metadata and secondary information.
- * @param metadataEmphasis Style for emphasized metadata in secondary content areas.
- * @param numericMedium Style for medium-sized numeric indicators, like the unread count.
- * @param numericExtraLarge Style for extra-large numeric indicators.
- */
-@Immutable
-public data class StreamTypography(
- public val title1: TextStyle,
- public val title3: TextStyle,
- public val title3Bold: TextStyle,
- public val body: TextStyle,
- public val bodyItalic: TextStyle,
- public val bodyBold: TextStyle,
- public val footnote: TextStyle,
- public val footnoteItalic: TextStyle,
- public val footnoteBold: TextStyle,
- public val captionBold: TextStyle,
- public val tabBar: TextStyle,
- public val singleEmoji: TextStyle,
- public val emojiOnly: TextStyle,
-
- public val bodyDefault: TextStyle,
- public val bodyEmphasis: TextStyle,
- public val captionDefault: TextStyle,
- public val captionEmphasis: TextStyle,
- public val headingSmall: TextStyle,
- public val headingMedium: TextStyle,
- public val headingLarge: TextStyle,
- public val metadataDefault: TextStyle,
- public val metadataEmphasis: TextStyle,
- public val numericMedium: TextStyle,
- public val numericLarge: TextStyle,
- public val numericExtraLarge: TextStyle,
-) {
-
- public companion object {
- /**
- * Builds the default typography set for our theme, with the ability to customize the font family.
- *
- * @param fontFamily The font that the users want to use for the app.
- * @return [StreamTypography] that holds all the default text styles that we support.
- */
- public fun defaultTypography(fontFamily: FontFamily? = null): StreamTypography = StreamTypography(
- title1 = TextStyle(
- fontSize = 24.sp,
- lineHeight = 34.sp,
- fontWeight = FontWeight.W500,
- fontFamily = fontFamily,
- ),
- title3 = TextStyle(
- fontSize = 18.sp,
- lineHeight = 25.sp,
- fontWeight = FontWeight.W400,
- fontFamily = fontFamily,
- ),
- title3Bold = TextStyle(
- fontSize = 18.sp,
- lineHeight = 25.sp,
- fontWeight = FontWeight.W500,
- fontFamily = fontFamily,
- ),
- body = TextStyle(
- fontSize = 14.sp,
- fontWeight = FontWeight.W400,
- fontFamily = fontFamily,
- ),
- bodyItalic = TextStyle(
- fontSize = 14.sp,
- fontWeight = FontWeight.W400,
- fontStyle = FontStyle.Italic,
- fontFamily = fontFamily,
- ),
- bodyBold = TextStyle(
- fontSize = 14.sp,
- fontWeight = FontWeight.W500,
- fontFamily = fontFamily,
- ),
- footnote = TextStyle(
- fontSize = 12.sp,
- lineHeight = 20.sp,
- fontWeight = FontWeight.W400,
- fontFamily = fontFamily,
- ),
- footnoteItalic = TextStyle(
- fontSize = 12.sp,
- lineHeight = 20.sp,
- fontWeight = FontWeight.W400,
- fontStyle = FontStyle.Italic,
- fontFamily = fontFamily,
- ),
- footnoteBold = TextStyle(
- fontSize = 12.sp,
- lineHeight = 20.sp,
- fontWeight = FontWeight.W500,
- fontFamily = fontFamily,
- ),
- captionBold = TextStyle(
- fontSize = 10.sp,
- lineHeight = 16.sp,
- fontWeight = FontWeight.W700,
- fontFamily = fontFamily,
- ),
- tabBar = TextStyle(
- fontSize = 10.sp,
- fontWeight = FontWeight.W400,
- fontFamily = fontFamily,
- ),
- singleEmoji = TextStyle(
- fontFamily = fontFamily,
- fontSize = 64.sp,
- ),
- emojiOnly = TextStyle(
- fontFamily = fontFamily,
- fontSize = 64.sp,
- ),
- bodyDefault = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightRegular,
- fontSize = StreamTokens.fontSizeMd,
- lineHeight = StreamTokens.lineHeightNormal,
- ),
- bodyEmphasis = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeMd,
- lineHeight = StreamTokens.lineHeightNormal,
- ),
- captionDefault = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightRegular,
- fontSize = StreamTokens.fontSizeSm,
- lineHeight = StreamTokens.lineHeightTight,
- ),
- captionEmphasis = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeSm,
- lineHeight = StreamTokens.lineHeightTight,
- ),
- metadataDefault = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightRegular,
- fontSize = StreamTokens.fontSizeXs,
- lineHeight = StreamTokens.lineHeightTight,
- ),
- headingSmall = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeMd,
- lineHeight = StreamTokens.lineHeightTight,
- ),
- headingMedium = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeLg,
- lineHeight = StreamTokens.lineHeightRelaxed,
- ),
- headingLarge = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeXl,
- lineHeight = StreamTokens.lineHeightRelaxed,
- ),
- metadataEmphasis = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightSemiBold,
- fontSize = StreamTokens.fontSizeXs,
- lineHeight = StreamTokens.lineHeightTight,
- ),
- numericMedium = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightBold,
- fontSize = StreamTokens.fontSize2xs,
- lineHeight = StreamTokens.lineHeightTighter,
- ),
- numericLarge = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightBold,
- fontSize = StreamTokens.fontSizeXs,
- ),
- numericExtraLarge = TextStyle(
- fontFamily = fontFamily,
- fontWeight = StreamTokens.fontWeightBold,
- fontSize = StreamTokens.fontSizeSm,
- lineHeight = StreamTokens.lineHeightTighter,
- ),
- )
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt
deleted file mode 100644
index 7794046928b..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AttachmentsPreviewTheme.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme.messages.composer.attachments
-
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.runtime.Composable
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
-
-/**
- * Represents the theming for the attachments preview.
- *
- * @param audioRecording The theming for the audio recording attachment preview.
- */
-public data class AttachmentsPreviewTheme(
- val audioRecording: AudioRecordingAttachmentPreviewTheme,
-) {
-
- public companion object {
-
- /**
- * Builds the default theming for the attachments preview.
- */
- @Composable
- public fun defaultTheme(
- isInDarkMode: Boolean = isSystemInDarkTheme(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- colors: StreamColors = when (isInDarkMode) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
- },
- ): AttachmentsPreviewTheme {
- return AttachmentsPreviewTheme(
- audioRecording = AudioRecordingAttachmentPreviewTheme.defaultTheme(isInDarkMode, typography, colors),
- )
- }
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt
deleted file mode 100644
index 8c720caf536..00000000000
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/messages/composer/attachments/AudioRecordingAttachmentPreviewTheme.kt
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
- *
- * Licensed under the Stream License;
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.getstream.chat.android.compose.ui.theme.messages.composer.attachments
-
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.res.painterResource
-import androidx.compose.ui.unit.dp
-import io.getstream.chat.android.compose.R
-import io.getstream.chat.android.compose.ui.theme.ComponentPadding
-import io.getstream.chat.android.compose.ui.theme.ComponentSize
-import io.getstream.chat.android.compose.ui.theme.IconContainerStyle
-import io.getstream.chat.android.compose.ui.theme.IconStyle
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
-import io.getstream.chat.android.compose.ui.theme.TextContainerStyle
-
-/**
- * Represents the theming for the audio recording attachment.
- *
- * @param size The size of the audio recording attachment preview.
- * @param padding The padding for the audio recording attachment preview.
- * @param playButton The style for the play button.
- * @param pauseButton The style for the pause button.
- * @param timerStyle The style for the timer component.
- */
-public data class AudioRecordingAttachmentPreviewTheme(
- public val size: ComponentSize,
- public val padding: ComponentPadding,
- public val playButton: IconContainerStyle,
- public val pauseButton: IconContainerStyle,
- public val timerStyle: TextContainerStyle,
-) {
-
- public companion object {
-
- /**
- * Builds the default theming for the audio recording attachment.
- *
- * @param isInDarkMode If the app is in dark mode.
- * @param typography The typography to use for the audio recording attachment.
- * @param colors The colors to use for the audio recording attachment.
- *
- * @return The [AudioRecordingAttachmentPreviewTheme] instance with the default theming.
- */
- @Composable
- public fun defaultTheme(
- isInDarkMode: Boolean = isSystemInDarkTheme(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- colors: StreamColors = when (isInDarkMode) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
- },
- ): AudioRecordingAttachmentPreviewTheme {
- return AudioRecordingAttachmentPreviewTheme(
- size = ComponentSize(height = 50.dp, width = 200.dp),
- padding = ComponentPadding(start = 8.dp, end = 0.dp, top = 2.dp, bottom = 2.dp),
- playButton = IconContainerStyle(
- size = ComponentSize.square(36.dp),
- padding = ComponentPadding.Zero,
- icon = IconStyle(
- painter = painterResource(id = R.drawable.stream_compose_ic_play),
- tint = Color.Black,
- size = ComponentSize.square(24.dp),
- ),
- ),
- pauseButton = IconContainerStyle(
- size = ComponentSize.square(36.dp),
- padding = ComponentPadding.Zero,
- icon = IconStyle(
- painter = painterResource(id = R.drawable.stream_compose_ic_pause),
- tint = Color.Black,
- size = ComponentSize.square(24.dp),
- ),
- ),
- timerStyle = TextContainerStyle(
- size = ComponentSize.width(48.dp),
- padding = ComponentPadding.Zero,
- backgroundColor = Color.Unspecified,
- textStyle = typography.body.copy(
- color = colors.textLowEmphasis,
- ),
- ),
- )
- }
- }
-}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt
index b395c6aa34d..c30af474410 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt
@@ -144,15 +144,15 @@ internal fun ThreadItemTitle(
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_thread),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = title,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
)
}
}
@@ -170,10 +170,10 @@ internal fun RowScope.ThreadItemReplyToContent(parentMessage: Message) {
modifier = Modifier.weight(1f),
text = "$prefix$text",
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
)
}
@@ -209,7 +209,7 @@ internal fun ThreadItemLatestReplyContent(
.padding(top = 8.dp),
) {
ChatTheme.componentFactory.UserAvatar(
- modifier = Modifier.size(ChatTheme.dimens.channelAvatarSize),
+ modifier = Modifier.size(40.dp),
user = latestReply.user,
showIndicator = latestReply.user.shouldShowOnlineIndicator(
userPresence = ChatTheme.userPresence,
@@ -224,10 +224,10 @@ internal fun ThreadItemLatestReplyContent(
) {
Text(
text = latestReply.user.name,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Row(
horizontalArrangement = Arrangement.SpaceBetween,
@@ -240,8 +240,8 @@ internal fun ThreadItemLatestReplyContent(
maxLines = 1,
fontSize = 14.sp,
overflow = TextOverflow.Ellipsis,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
Timestamp(
modifier = Modifier.padding(start = 8.dp),
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt
index 74fcba142a6..d97382b143a 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadList.kt
@@ -164,7 +164,7 @@ public fun ThreadList(
},
) {
Scaffold(
- containerColor = ChatTheme.colors.appBackground,
+ containerColor = ChatTheme.colors.backgroundCoreApp,
topBar = {
unreadThreadsBanner(state.unseenThreadsCount)
},
@@ -252,7 +252,7 @@ internal fun DefaultThreadListEmptyContent(modifier: Modifier = Modifier) {
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.stream_compose_thread_list_empty_title),
textAlign = TextAlign.Center,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
fontSize = 20.sp,
lineHeight = 25.sp,
maxLines = 1,
@@ -268,7 +268,7 @@ internal fun DefaultThreadListEmptyContent(modifier: Modifier = Modifier) {
*/
@Composable
internal fun DefaultThreadListLoadingContent(modifier: Modifier = Modifier) {
- Box(modifier = modifier.background(ChatTheme.colors.appBackground)) {
+ Box(modifier = modifier.background(ChatTheme.colors.backgroundCoreApp)) {
LoadingIndicator(modifier)
}
}
@@ -281,7 +281,7 @@ internal fun DefaultThreadListLoadingMoreContent() {
Box(
modifier = Modifier
.fillMaxWidth()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(top = 8.dp, start = 8.dp, end = 8.dp, bottom = 40.dp),
contentAlignment = Alignment.Center,
) {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt
index be1b1561cd0..c38f957c616 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt
@@ -67,7 +67,7 @@ public fun UnreadThreadsBanner(
.fillMaxWidth()
.heightIn(min = 52.dp)
.clip(RoundedCornerShape(16.dp))
- .background(ChatTheme.colors.textHighEmphasis)
+ .background(ChatTheme.colors.textPrimary)
.then(clickableModifier)
.padding(start = 16.dp),
verticalAlignment = Alignment.CenterVertically,
@@ -79,7 +79,7 @@ public fun UnreadThreadsBanner(
modifier = Modifier.weight(1f),
text = text,
fontSize = 16.sp,
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
lineHeight = 20.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
@@ -88,7 +88,7 @@ public fun UnreadThreadsBanner(
modifier = Modifier.minimumInteractiveComponentSize(),
painter = painterResource(id = R.drawable.stream_compose_ic_union),
contentDescription = "Reload threads",
- tint = ChatTheme.colors.barsBackground,
+ tint = ChatTheme.colors.backgroundElevationElevation1,
)
}
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
index c20e019c6e0..8ed0bd00943 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
@@ -22,6 +22,7 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.buildAnnotatedString
+import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.withStyle
import io.getstream.chat.android.client.utils.message.hasAudioRecording
@@ -31,8 +32,7 @@ import io.getstream.chat.android.client.utils.message.isPollClosed
import io.getstream.chat.android.client.utils.message.isSystem
import io.getstream.chat.android.compose.R
import io.getstream.chat.android.compose.ui.attachments.AttachmentFactory
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.models.Attachment
import io.getstream.chat.android.models.DraftMessage
import io.getstream.chat.android.models.Message
@@ -81,20 +81,22 @@ public interface MessagePreviewFormatter {
*
* @see [DefaultMessagePreviewFormatter]
*/
+ @Suppress("detekt:ForbiddenComment")
public fun defaultFormatter(
context: Context,
autoTranslationEnabled: Boolean,
- typography: StreamTypography,
+ typography: StreamDesign.Typography,
attachmentFactories: List,
- colors: StreamColors,
+ colors: StreamDesign.Colors,
): MessagePreviewFormatter {
return DefaultMessagePreviewFormatter(
context = context,
autoTranslationEnabled = autoTranslationEnabled,
- draftMessageLabelTextStyle = typography.footnoteBold.copy(color = colors.primaryAccent),
- messageTextStyle = typography.bodyBold,
- senderNameTextStyle = typography.bodyBold,
- attachmentTextFontStyle = typography.bodyItalic,
+ draftMessageLabelTextStyle = typography.metadataEmphasis.copy(color = colors.accentPrimary),
+ messageTextStyle = typography.bodyEmphasis,
+ senderNameTextStyle = typography.bodyEmphasis,
+ // TODO: replace with a dedicated italic token once the design system provides one
+ attachmentTextFontStyle = typography.bodyDefault.copy(fontStyle = FontStyle.Italic),
attachmentFactories = attachmentFactories,
)
}
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
index 196e672b4b5..346aec5781d 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
@@ -70,7 +70,7 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory {
Icon(
painter = painterResource(id = R.drawable.stream_compose_ic_mic),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
},
)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt
index e09e93b285a..98e8ed0f70d 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessageTextFormatter.kt
@@ -23,9 +23,7 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.TextStyle
import io.getstream.chat.android.compose.ui.theme.ChatTheme
import io.getstream.chat.android.compose.ui.theme.MessageStyling
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamShapes
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.models.Message
import io.getstream.chat.android.models.User
import io.getstream.chat.android.ui.common.feature.messages.translations.MessageOriginalTranslationsStore
@@ -64,10 +62,10 @@ public fun interface MessageTextFormatter {
public fun defaultFormatter(
autoTranslationEnabled: Boolean,
isInDarkMode: Boolean = isSystemInDarkTheme(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- colors: StreamColors = when (isInDarkMode) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
+ typography: StreamDesign.Typography = StreamDesign.Typography.default(),
+ colors: StreamDesign.Colors = when (isInDarkMode) {
+ true -> StreamDesign.Colors.defaultDark()
+ else -> StreamDesign.Colors.default()
},
textStyle: (isMine: Boolean, message: Message) -> TextStyle =
{ isMine, _ -> MessageStyling.textStyle(outgoing = isMine, typography, colors) },
@@ -85,41 +83,6 @@ public fun interface MessageTextFormatter {
)
}
- /**
- * Builds the default message text formatter.
- *
- * @param autoTranslationEnabled Whether the auto-translation is enabled.
- * @param typography The typography to use for styling.
- * @param colors The colors to use for styling.
- * @param builder The builder to use for customizing the text.
- * @return The default implementation of [MessageTextFormatter].
- *
- * @see [DefaultMessageTextFormatter]
- */
- @Composable
- public fun defaultFormatter(
- autoTranslationEnabled: Boolean,
- isInDarkMode: Boolean = isSystemInDarkTheme(),
- typography: StreamTypography = StreamTypography.defaultTypography(),
- shapes: StreamShapes = StreamShapes.defaultShapes(),
- colors: StreamColors = when (isInDarkMode) {
- true -> StreamColors.defaultDarkColors()
- else -> StreamColors.defaultColors()
- },
- builder: AnnotatedMessageTextBuilder? = null,
- ): MessageTextFormatter {
- return defaultFormatter(
- autoTranslationEnabled = autoTranslationEnabled,
- isInDarkMode = isInDarkMode,
- typography = typography,
- colors = colors,
- textStyle = { isMine, _ -> MessageStyling.textStyle(outgoing = isMine, typography, colors) },
- linkStyle = { MessageStyling.linkStyle(typography, colors) },
- mentionColor = { colors.chatTextMention },
- builder = builder,
- )
- }
-
/**
* Builds a composite message text formatter.
*
@@ -160,7 +123,7 @@ private class CompositeMessageTextFormatter(
*/
private class DefaultMessageTextFormatter(
private val autoTranslationEnabled: Boolean,
- private val typography: StreamTypography,
+ private val typography: StreamDesign.Typography,
private val textStyle: (isMine: Boolean, message: Message) -> TextStyle,
private val linkStyle: (isMine: Boolean) -> TextStyle,
private val mentionColor: (isMine: Boolean) -> Color,
@@ -193,7 +156,7 @@ private class DefaultMessageTextFormatter(
return buildAnnotatedMessageText(
text = displayedText,
textColor = textColor,
- textFontStyle = typography.body.fontStyle,
+ textFontStyle = typography.bodyDefault.fontStyle,
linkStyle = linkStyle,
mentionsColor = mentionColor,
mentionedUserNames = mentionedUserNames,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt
index 46dc12f73d7..792d51d9855 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt
@@ -64,7 +64,7 @@ internal fun StreamSnackbar(
modifier = modifier.shadow(4.dp, shape = SnackbarShape),
shape = SnackbarShape,
color = ChatTheme.colors.backgroundCoreInverse,
- contentColor = ChatTheme.colors.textOnAccent,
+ contentColor = ChatTheme.colors.textOnDark,
) {
Row(
modifier = Modifier.padding(
@@ -88,7 +88,7 @@ internal fun StreamSnackbar(
StreamTextButton(
onClick = snackbarData::performAction,
style = StreamButtonStyleDefaults.secondaryOutline.copy(
- contentColor = ChatTheme.colors.textOnAccent,
+ contentColor = ChatTheme.colors.textOnDark,
),
size = StreamButtonSize.Small,
text = actionLabel,
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt
index 416a1b719c8..bcf3c29f73e 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/AvatarPosition.kt
@@ -18,19 +18,19 @@ package io.getstream.chat.android.compose.ui.util.extensions.internal
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
-import io.getstream.chat.android.compose.ui.theme.StreamDimens
+
+private val GroupAvatarInitialsXOffset = 1.5.dp
+private val GroupAvatarInitialsYOffset = 2.5.dp
/**
* Function to determine the offset of initials in an avatar group, which can contain up to 4 avatars in a grid.
*
- * @param dimens [StreamDimens] that contain the offset.
* @param userPosition The position of the current users avatar in the group.
* @param memberCount The number of members inside the avatar group/channel.
*
* @return The x and y offset of the avatar inside [DpOffset] depending on the item position inside the list.
*/
internal fun getAvatarPositionOffset(
- dimens: StreamDimens,
userPosition: Int,
memberCount: Int,
): DpOffset {
@@ -39,26 +39,26 @@ internal fun getAvatarPositionOffset(
return when (userPosition) {
0 -> DpOffset(
- dimens.groupAvatarInitialsXOffset,
- dimens.groupAvatarInitialsYOffset,
+ GroupAvatarInitialsXOffset,
+ GroupAvatarInitialsYOffset,
)
1 -> {
if (memberCount == 3) {
center
} else {
DpOffset(
- -dimens.groupAvatarInitialsXOffset,
- dimens.groupAvatarInitialsYOffset,
+ -GroupAvatarInitialsXOffset,
+ GroupAvatarInitialsYOffset,
)
}
}
2 -> DpOffset(
- dimens.groupAvatarInitialsXOffset,
- -dimens.groupAvatarInitialsYOffset,
+ GroupAvatarInitialsXOffset,
+ -GroupAvatarInitialsYOffset,
)
LastIndexInAvatarGroup -> DpOffset(
- -dimens.groupAvatarInitialsXOffset,
- -dimens.groupAvatarInitialsYOffset,
+ -GroupAvatarInitialsXOffset,
+ -GroupAvatarInitialsYOffset,
)
else -> center
}
diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt
index c43673db8c8..c7daabdf5c7 100644
--- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt
+++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/PaparazziComposeTest.kt
@@ -57,7 +57,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest {
LocalActivityResultRegistryOwner provides NoOpRegistryOwner,
) {
ChatTheme(isInDarkMode = isInDarkMode) {
- Box(modifier = Modifier.background(ChatTheme.colors.appBackground)) {
+ Box(modifier = Modifier.background(ChatTheme.colors.backgroundCoreApp)) {
composable.invoke()
}
}
@@ -80,7 +80,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest {
Box(
modifier = Modifier
.weight(.5f)
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
contentAlignment = contentAlignment,
) {
composable()
@@ -90,7 +90,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest {
Box(
modifier = Modifier
.weight(.5f)
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
contentAlignment = contentAlignment,
) {
composable()
@@ -116,7 +116,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest {
Box(
modifier = Modifier
.weight(.5f)
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
contentAlignment = contentAlignment,
) {
composable()
@@ -126,7 +126,7 @@ internal interface PaparazziComposeTest : MockedChatClientTest {
Box(
modifier = Modifier
.weight(.5f)
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
contentAlignment = contentAlignment,
) {
composable()
diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt
index fc486cc4ff6..db26883221e 100644
--- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt
+++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheetTest.kt
@@ -42,7 +42,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest {
}
ModalBottomSheet(
sheetState = sheetState,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = {},
) {
ChannelInfoMemberInfoModalSheetContent(banned = true)
@@ -59,7 +59,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest {
}
ModalBottomSheet(
sheetState = sheetState,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = {},
) {
ChannelInfoMemberInfoModalSheetContent(banned = true)
@@ -76,7 +76,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest {
}
ModalBottomSheet(
sheetState = sheetState,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = {},
) {
ChannelInfoMemberInfoModalSheetContent(banned = false)
@@ -93,7 +93,7 @@ internal class ChannelInfoMemberInfoModalSheetTest : PaparazziComposeTest {
}
ModalBottomSheet(
sheetState = sheetState,
- containerColor = ChatTheme.colors.barsBackground,
+ containerColor = ChatTheme.colors.backgroundElevationElevation1,
onDismissRequest = {},
) {
ChannelInfoMemberInfoModalSheetContent(banned = false)
diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt
index 64f8cc6f282..696351c742e 100644
--- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt
+++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerTest.kt
@@ -20,6 +20,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Text
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.unit.dp
import app.cash.paparazzi.DeviceConfig
import app.cash.paparazzi.Paparazzi
@@ -44,6 +45,7 @@ internal class ReactionsPickerTest : PaparazziComposeTest {
}
}
+ @Suppress("detekt:ForbiddenComment")
@Test
fun `Reaction picker with header`() {
snapshotWithDarkMode {
@@ -56,16 +58,17 @@ internal class ReactionsPickerTest : PaparazziComposeTest {
.align(CenterHorizontally)
.padding(8.dp),
text = "My custom header",
- style = ChatTheme.typography.title1,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingLarge,
+ color = ChatTheme.colors.textPrimary,
)
Text(
modifier = Modifier
.align(CenterHorizontally)
.padding(8.dp),
text = "Our reactions often reveal truths that actions alone can hide.",
- style = ChatTheme.typography.footnoteItalic,
- color = ChatTheme.colors.textLowEmphasis,
+ // TODO: replace with a dedicated italic token once the design system provides one
+ style = ChatTheme.typography.metadataDefault.copy(fontStyle = FontStyle.Italic),
+ color = ChatTheme.colors.textSecondary,
)
},
)
diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt
index d3f3d004ad4..5205db4646d 100644
--- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt
+++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/threads/ThreadListTest.kt
@@ -39,7 +39,7 @@ internal class ThreadListTest : PaparazziComposeTest {
ThreadList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = ThreadListState(
threads = emptyList(),
isLoading = true,
@@ -59,7 +59,7 @@ internal class ThreadListTest : PaparazziComposeTest {
ThreadList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = ThreadListState(
threads = emptyList(),
isLoading = false,
@@ -79,7 +79,7 @@ internal class ThreadListTest : PaparazziComposeTest {
ThreadList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = ThreadListState(
threads = PreviewThreadData.threadList,
isLoading = false,
@@ -99,7 +99,7 @@ internal class ThreadListTest : PaparazziComposeTest {
ThreadList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = ThreadListState(
threads = PreviewThreadData.threadList,
isLoading = false,
@@ -119,7 +119,7 @@ internal class ThreadListTest : PaparazziComposeTest {
ThreadList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
state = ThreadListState(
threads = PreviewThreadData.threadList,
isLoading = false,
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png
index 5da0b98335e..4e910a85aa3 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_compact_link_attachment_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png
index b41dc027790..1d38954f6a0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png
index e52efe19ba4..a2d39ca7605 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_attachment_preview_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png
index 0a8f41cfee7..fd0049c5670 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_file_upload_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png
index bd63fecc5db..a7cf8a3a265 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_image_attachment_preview_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png
index e3eed96205c..ea3491f4e35 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_link_attachment_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png
index 4731c454e57..3fe2756fe95 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_media_attachment_preview_items.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png
index 4b934b55656..0d14af439d2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_multiple_media_attachment_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png
index 62aac34350b..fc29544a3b0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.content_AttachmentsContentTest_single_media_attachment_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png
index 7d6edaa7d60..95f3e4c9cae 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_other_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png
index d6e564fdbc8..398bca409b8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewOptionsMenuTest_media_gallery_options_menu_for_own_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png
index 0b905c8a136..b437e834937 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_connected.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png
index b82c5822c7c..ac58faefcd7 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_offline.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png
index e21e369c08f..4602f874b22 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_footer_sharing_in_progress.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png
index 658d97ede61..8ec37a98033 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_connecting.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png
index 9c6923dac4c..8f3d5aeb986 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_message_without_id.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png
index b6b1ea9c0c8..79bf1fa90cb 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_offline.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png
index b12be244c07..146ef7fc646 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_header_online.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png
index 8739aff07c0..3ff692c164f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_connected.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png
index a061f2aee5d..c27538cd27b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_offline.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png
index f5c51e898ed..f5ad20d1e74 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_gallery_bottom_sheet.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png
index 9b7906737ff..330be824ae1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_options_menu.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png
index f15891049d3..c98cf4f91df 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.attachments.preview_MediaGalleryPreviewScreenTest_media_gallery_screen_with_share_large_file_prompt.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png
index 30013d20f57..667f69e147a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png
index ab2d292e967..1ae674cde15 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png
index d69c73703f7..97d0b5664d4 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png
index 344025afca2..84e48d0d3a9 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_empty_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png
index cab9f3db765..45706856a1f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png
index faa6be4a79f..260509fc7ab 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_error_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png
index e0c12ce26be..d0c23408def 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png
index aa351951042..7b9a79eb17a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png
index aa50589fe30..e6b6b15aa58 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png
index dc70c05f267..e0e263da629 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelFilesAttachmentsContentTest_loading_more_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png
index 1abf3dfcf84..6318c6de5f9 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png
index ae7ecc1a2c6..864904088b1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png
index b4eb060fdb4..6ea3a8cd4d6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png
index 174c02d8a96..996c9d45aeb 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_empty_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png
index 071574ecdb1..c050bea1a77 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png
index f12352841fa..406b62ad9a4 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_error_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png
index ee5a0b2f166..d722214bfd6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png
index 9f68048b564..b46d85ca599 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png
index b683c20ac81..7fffcc10e80 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png
index 880ea2b077c..ec8400cb464 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsContentTest_loading_more_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png
index 7a80362d952..13ecd5deaaa 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png
index e63ccef421d..798c60a0410 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png
index 79533ace520..1495c22f1b3 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png
index 32ace371983..6ccade240df 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.attachments_ChannelMediaAttachmentsPreviewContentTest_preparing_to_share_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png
index 3bc2e22ee70..c7b561d24dc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png
index 9e4a4f8103f..42efd483118 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_banned_member_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png
index b8364e5d131..ba670ba3503 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png
index 5153142a7b4..6ff53a51a8c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoMemberInfoModalSheetTest_not_banned_member_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png
index daa3ae91bd9..6709bb98098 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png
index ce2c4c76442..bc39a909ae9 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_ban_member_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png
index 51acea27290..eafe4c6267c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png
index 6a398b3c9da..f5a24051d59 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_direct_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png
index 8d671a8ddf9..ab79fbe72e2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png
index 8a9140b6c10..1b0d669da08 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_delete_group_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png
index f1780462c1e..8b73a94a075 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png
index 22fc248eebf..b56289c4757 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_direct_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png
index ac7b73656fa..291a2f8b626 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png
index 84ef494ee80..8ad068e179a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_hide_group_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png
index df0b5927a56..6f283c64388 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png
index 5a466a54fdd..3f60ff1d6ca 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_direct_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png
index 93f583972b1..54add29bfc3 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png
index 62c01f91451..7413acaa875 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_leave_group_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png
index f7a975cd4fc..d7a250c53b8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png
index b192023b362..fd0f012b29c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_ChannelInfoScreenModelTest_remove_member_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png
index 363e5f871d7..82672a8e780 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png
index 0938c9f4203..d3792b6eb2f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png
index 8f4eb7b1a55..f12b9ea399a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png
index 27ee33d7983..14eb5c6eeaa 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_DirectChannelInfoContentTest_loading_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png
index 230b66e6013..4433d96dae0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png
index 263f07765be..782c2e390eb 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_collapsed_members_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png
index 010681c0845..6cc7967508a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png
index aba3c31c33b..f00e150d71a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_expanded_members_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png
index cea929341d9..d91bf2e8d23 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channel.info_GroupChannelInfoContentTest_loading_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png
index a6e71fa4a54..0250af3962f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_draft_message.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png
index e1b96fda225..1dd084f5eda 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_delivered_status.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png
index 0fd9d98939a..71e9d99c14a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_pending_status.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png
index 8cf24dccdae..5d08ed50461 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_seen_status.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png
index 20de50c8a98..7d0b18cf537 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_last_message_sent_status.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png
index 5b8cdd7c05b..1b04679d6e2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_muted_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png
index 3329b6f2c06..074fdceedd1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_no_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png
index 678aa39b273..e312930ff95 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelItemTest_unread_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png
index 6fce47f7287..121b1b7353c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_no_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png
index 880aff332b8..a8a88ec8e89 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connected,_with_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png
index ad16771d7aa..e7cefcf31da 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_no_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png
index 4fa59bd4da3..471313a0226 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_connecting,_with_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png
index 0c780cfac3a..db97ba94766 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_no_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png
index 3b964beb739..5f03bfb4ee2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListHeaderTest_offline,_with_user.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png
index 8b17e9b5453..44fb5640ea7 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_channels.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png
index 05fb05e79f5..a272d38cd8b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_empty_search_results.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png
index 9bf9e1823b4..2969ecf0cc6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loaded_channels.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png
index 3c4934b7c95..5b7e53043d5 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_channels.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png
index 8c4a26c3c96..7418bd73334 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_loading_more_channels.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png
index 5d363de4b57..917e5926df2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelListTest_search_results.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png
index 333d396a1d5..bb3c3a6624f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_ChannelsTest_loaded_channels.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png
index 2c66149668c..e2c5473ed99 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png
index 7e8fff1946d..597eaff05a1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.channels_SelectedChannelMenuTest_selected_channel_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png
index 2e1868b4446..e2061e73044 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_multiple_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png
index b9ea14fd8d4..e9751dfe025 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.files_FilesPickerTest_single_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png
index 88a3e35f94b..d92a13a6b0e 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_add_more.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png
index fa0f9136c39..17e1fe5356d 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.attachments.images_ImagesPickerTest_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png
index 3bf8037285d..1c9f7b04def 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.composer_ComposerLinkPreviewTest_composer_link_preview.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png
index a7cf93b3cb3..5a249b44a51 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_error_poll_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png
index 732f42f9fee..44c99cffaf0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_PollMessageContentTest_poll_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png
index 88e7a9a464a..6394255b56a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_original_label_and_translated_label_when_showOriginalText_is_false.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png
index d6aec1fc752..b0ca35c5a53 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.messages_ToggleableTranslatedLabelTest_show_translation_label_when_showOriginalText_is_true.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png
index 607d17f4697..7d61fed6c00 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png
index fa0557fa3a0..f5f0a525cd6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollMoreOptionsDialogTest_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png
index 268b21e17ff..e5b40d9be06 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_empty_input.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png
index c11a1943af0..1cf98856207 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionInputTest_with_input.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png
index 9bc9631d52a..df1865fe1d6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png
index 3ccb46cdb6a..8f1385eeddd 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_content_in_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png
index 45fe6ab8e8c..ec974979827 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png
index 45583f88b47..2eba131c9d2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_in_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png
index 4de5239177c..a56d852b422 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png
index d4162b5bcad..6c31f46a8f5 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollOptionVotesDialogTest_loading_more_in_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png
index 6aef5fdf15b..b33330423c0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png
index bb2c4103cd4..dfa3793d319 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.poll_PollViewResultDialogTest_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png
index e14db63e6e5..a16605cb7f0 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Default_reaction_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png
index 135925bf54d..414147ff863 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.reactionpicker_ReactionsPickerTest_Reaction_picker_with_header.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png
index 8aa1d2919a8..f9a713b87c5 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.commands_CommandSuggestionListTest_command_suggestion_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png
index c142efe5a55..323de5cf368 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components.suggestions.mentions_MentionSuggestionListTest_mention_suggestion_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png
index 2845f1c9631..ebbae11b23f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_empty_query.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png
index 6738ebddcad..3e6480ebae4 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_focused_filled_query.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png
index a0d82b7c537..c063e41b105 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_SearchInputTest_unfocused_empty_query.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png
index 582b913bb45..40eea587a8a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.components_TranslatedLabelTest_translated_label_for_English.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png
index 946d4252f30..05c65b42058 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_empty_mention_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png
index 1e07a9eb41d..499f9b7040f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loaded_mention_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png
index 3c4934b7c95..5b7e53043d5 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_mention_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png
index 847038f4d1b..3ab8c50e0d2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.mentions_MentionListTest_loading_more_mention_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png
index fc4d0be022e..4e8bef37412 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_camera_permission.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png
index 55b461354d9..f5717fac2cc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.permission_RequiredPermissionTest_required_storage_permission.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png
index 857add9cf1f..ad4279fae56 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png
index b459a4036e8..6a91b90deec 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_CreatePollScreenTest_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png
index 39590b7e52b..9b88a99a844 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png
index 2d98a196504..39cba0ca2be 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationDiscardDialogTest_light_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png
index 6aa9892cc1c..d371d6fc821 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_disabled.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png
index 9a89756ee73..6579b4610c9 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollCreationHeaderTest_enabled.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png
index 74dc7fda7dc..763ac750cb5 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_blank_items.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png
index d093c6c486f..7917b3d3d67 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_duplicated_error.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png
index 01cd1cc9d62..8f9e714c2a6 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollOptionListTest_empty_list.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png
index 3538e191b28..bfbc6bf1cc3 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments.poll_PollSwitchListTest_list_items.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png
index 2d0ddc0b9c3..d3e63db01c1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCameraPickerTest_camera_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png
index d9500fd4750..d9d6201a43a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentCommandPickerTest_command_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png
index 5b59274640d..9bf413da699 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_multiple_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png
index 2b8efb713f5..054340e505f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentFilePickerTest_single_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png
index b3cf13d92dd..6d85a4f6107 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentMediaPickerTest_selection.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png
index 88091fe1be8..edb8e6cf0c3 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentPollPickerTest_poll_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png
index c92b29db1ab..d5490530113 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png
index 9531b968515..c7728f9c930 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_commands.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png
index bd717ab7245..063473f28dc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentSystemPickerTest_system_picker_with_polls.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png
index b667275219f..18b22a73a1a 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png
index c9f3553e118..875486b0608 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_commands.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png
index d13540c0116..92da2b1b959 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_in-app_picker_with_polls.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png
index c92b29db1ab..d5490530113 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png
index 9531b968515..c7728f9c930 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_commands.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png
index bd717ab7245..063473f28dc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.attachments_AttachmentTypePickerTest_system_picker_with_polls.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png
index 497d23e9140..bbad5f35c45 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_hold.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png
index b9e6c7b171d..64baed8901b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_locked.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png
index 741d5a6afc4..99eaf46ea10 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingButtonTest_button_overview.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png
index ae5897b930b..a246610928f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_hold_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png
index 85e48156317..d98749fcf06 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_locked_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png
index a423b78ff07..8a7ce159643 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.composer.internal_AudioRecordingContentTest_overview_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png
index e48cb96930d..87350dce508 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_EmojiMessageContentTest_error_emoji_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png
index 5f9d594a443..756185bc86c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_error_own_regular_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png
index 7434a8496ad..1fa51dfa57f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_other_regular_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png
index 188ab78fee2..7422992e114 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_RegularMessageContentTest_own_regular_content.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png
index 37e5e521c83..77683fb5ace 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png
index 1956b967c7c..8ae0852807e 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_attachments_and_link.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png
index d19c4ab5039..675449b2629 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_filled.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png
index 513fe422458..fa4892bcc7b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_link.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png
index 9e4b5db700a..a217d86bf01 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_overflow.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png
index b6bd9accbfc..47e3f035c9b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_placeholder.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png
index df3a8e3b465..62fc03a6f85 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply,_attachments,_and_link.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png
index 157e7d7703c..37727b0e499 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_reply.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png
index 30a0062dd28..511aabd0558 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerInputTest_slow_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png
index aac028d523b..0567945dbfd 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png
index 99f9f4b57f6..318d678534e 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_default_style_with_visible_attachment_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png
index 919e06843a6..d43e9459bdc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png
index 576eda545b1..7ad40df9715 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageComposerTest_floating_style_with_visible_attachment_picker.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png
index c13d3ea219d..6c43dea29f7 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_connected_state.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png
index 890159add2e..7479779d8f8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_offline_state.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png
index efb059c80a1..d07c4c550cc 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListHeaderTest_thread_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png
index bfddccd7c46..eafe1c2ad25 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_empty_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png
index 77ca16c546d..ff072725ae1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_bottom_aligned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png
index 6c8e57db08d..f302dacc247 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png
index 8306d2d6153..9d6e508ba72 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_messages_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png
index a7b2c8121e0..6c1fd07751f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loaded_top_aligned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png
index d0b202ca4bc..d975f2d18f1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png
index 89347206754..2a879068655 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_loading_older_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png
index 9b8b73beb63..474ef974b46 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png
index 45d5d0777cc..7d07e3c83f8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_scroll_to_bottom_button_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png
index 9169faaa294..e16e04f447b 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_many_reactions.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png
index eb42334322f..3a6b792f1c2 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_ReactionsMenuContentTest_one_reaction.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png
index 369b91ae8e1..9abfee0589e 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png
index 2b4df3352c6..81ac49bf89f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_my_message_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png
index 657953eb631..910eae25f2e 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png
index 8f53375b764..f771e07de25 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_SelectedMessageMenuTest_their_message_in_dark_mode.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png
index 579261ecd03..ea4b70fabc8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageItemTest_pinnedMessageItem.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png
index af0fdca4719..5bc12fbb364 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_empty_pinned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png
index 0646d9b875b..10bf2ac9cee 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loaded_pinned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png
index 98ffd85475d..10863e29951 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_more_pinned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png
index d0b202ca4bc..d975f2d18f1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.pinned_PinnedMessageListTest_loading_pinned_messages.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png
index c725ac9b17a..35e46462489 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadItemTest_threadItem.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png
index 03cacf4a51e..05232f66488 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_empty_threads.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png
index c37973d6b34..e6b6c4842f7 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png
index 7d436c0b0c9..e5fba98aa6f 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loaded_threads_with_unread_banner.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png
index 9e0bb6c252b..1c67dfcdba8 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_more_threads.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png
index d0b202ca4bc..d975f2d18f1 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_ThreadListTest_loading_threads.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png
index d103815ac33..ee998773c6c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_multiple_unread_threads.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png
index 90d863a82a2..21048fd615c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.threads_UnreadThreadsBannerTest_one_unread_thread.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png
index b68d225a5a8..cd410384e7d 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_message_only.png differ
diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png
index 402cbcfb199..1652364184c 100644
Binary files a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.util_StreamSnackbarTest_snackbar_with_action.png differ
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt
index e85c5d412fc..e688bbf9037 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt
@@ -140,8 +140,8 @@ private object ChannelItemCustomizationSnippet {
centerContent = { // Replace the details content with a simple Text
Text(
text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user),
- style = ChatTheme.typography.bodyBold,
- color = ChatTheme.colors.textHighEmphasis
+ style = ChatTheme.typography.bodyEmphasis,
+ color = ChatTheme.colors.textPrimary
)
}
)
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt
index 6c0b758c03a..142a4e4c369 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt
@@ -186,7 +186,7 @@ private object ChannelListCustomizationSnippet {
Text(
text = ChatTheme.channelNameFormatter.formatChannelName(it.channel, user),
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
maxLines = 1,
)
}
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt
index 335e37b6c39..b1ecd0fae4d 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt
@@ -94,7 +94,7 @@ private object ChannelListHeaderCustomizationSnippet {
},
imageVector = Icons.Default.Add,
contentDescription = "Add",
- tint = ChatTheme.colors.textHighEmphasis
+ tint = ChatTheme.colors.textPrimary
)
}
)
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt
index bf135a778f3..caa311a08cd 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/general/ChatTheme.kt
@@ -7,19 +7,14 @@ import android.text.format.DateUtils
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
-import androidx.compose.ui.unit.dp
import io.getstream.chat.android.compose.ui.messages.MessagesScreen
import io.getstream.chat.android.compose.ui.theme.ChatTheme
-import io.getstream.chat.android.compose.ui.theme.StreamColors
-import io.getstream.chat.android.compose.ui.theme.StreamShapes
-import io.getstream.chat.android.compose.ui.theme.StreamTypography
+import io.getstream.chat.android.compose.ui.theme.StreamDesign
import io.getstream.chat.android.compose.ui.util.MessagePreviewFormatter
import io.getstream.chat.android.compose.ui.util.MessageTextFormatter
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
@@ -84,16 +79,7 @@ private object ChatThemeCustomizationSnippet {
super.onCreate(savedInstanceState)
setContent {
- ChatTheme(
- shapes = StreamShapes.defaultShapes().copy( // Customizing the shapes
- avatar = RoundedCornerShape(8.dp),
- attachment = RoundedCornerShape(16.dp),
- inputField = RectangleShape,
- myMessageBubble = RoundedCornerShape(16.dp),
- otherMessageBubble = RoundedCornerShape(16.dp),
- bottomSheet = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp)
- )
- ) {
+ ChatTheme {
MessagesScreen(
viewModelFactory = MessagesViewModelFactory(
context = this,
@@ -162,14 +148,12 @@ private object ChatThemeDateFormatterSnippet : ChatThemeCustomization() {
private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomization() {
override val content: @Composable () -> Unit get() = {
- val colors = if (isSystemInDarkTheme()) StreamColors.defaultDarkColors() else StreamColors.defaultColors()
- val typography = StreamTypography.defaultTypography()
- val shapes = StreamShapes.defaultShapes()
+ val colors = if (isSystemInDarkTheme()) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default()
+ val typography = StreamDesign.Typography.default()
ChatTheme(
colors = colors,
typography = typography,
- shapes = shapes,
- messageTextFormatter = buildMessageTextFormatter(typography, colors, shapes)
+ messageTextFormatter = buildMessageTextFormatter(typography, colors)
) {
MessagesScreen(
viewModelFactory = viewModelFactory,
@@ -184,9 +168,8 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat
*/
@Composable
private fun buildMessageTextFormatter(
- typography: StreamTypography,
- colors: StreamColors,
- shapes: StreamShapes,
+ typography: StreamDesign.Typography,
+ colors: StreamDesign.Colors,
): MessageTextFormatter {
val formatter = object : MessageTextFormatter {
override fun format(message: Message, currentUser: User?): AnnotatedString {
@@ -223,7 +206,6 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat
autoTranslationEnabled = autoTranslationEnabled,
typography = typography,
colors = colors,
- shapes = shapes,
) { message, currentUser ->
addStyle(
SpanStyle(
@@ -238,13 +220,12 @@ private object ChatThemeMessageTextFormatterDefaultSnippet : ChatThemeCustomizat
private object ChatThemeMessageTextFormatterCompositeSnippet : ChatThemeCustomization() {
override val content: @Composable () -> Unit get() = {
- val colors = if (isSystemInDarkTheme()) StreamColors.defaultDarkColors() else StreamColors.defaultColors()
- val typography = StreamTypography.defaultTypography()
- val shapes = StreamShapes.defaultShapes()
+ val colors = if (isSystemInDarkTheme()) StreamDesign.Colors.defaultDark() else StreamDesign.Colors.default()
+ val typography = StreamDesign.Typography.default()
ChatTheme(
colors = colors,
typography = typography,
- messageTextFormatter = buildMessageTextFormatter(typography, colors, shapes)
+ messageTextFormatter = buildMessageTextFormatter(typography, colors)
) {
MessagesScreen(
viewModelFactory = viewModelFactory,
@@ -256,16 +237,14 @@ private object ChatThemeMessageTextFormatterCompositeSnippet : ChatThemeCustomiz
@Composable
private fun buildMessageTextFormatter(
- typography: StreamTypography,
- colors: StreamColors,
- shapes: StreamShapes,
+ typography: StreamDesign.Typography,
+ colors: StreamDesign.Colors,
): MessageTextFormatter {
return MessageTextFormatter.composite(
MessageTextFormatter.defaultFormatter(
autoTranslationEnabled = autoTranslationEnabled,
typography = typography,
colors = colors,
- shapes = shapes,
),
blueLettersMessageTextFormatter()
)
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt
index 2138eae1006..3e3cd2ab291 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt
@@ -148,7 +148,7 @@ private object AddingCustomAttachmentsSnippet {
Icon(
painter = painterResource(id = R.drawable.ic_calendar),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis
+ tint = ChatTheme.colors.textSecondary
)
},
onClick = {
@@ -203,8 +203,8 @@ fun DateAttachmentContent(
modifier = modifier
.fillMaxWidth()
.padding(4.dp)
- .clip(ChatTheme.shapes.attachment)
- .background(ChatTheme.colors.infoAccent)
+ .clip(RoundedCornerShape(12.dp))
+ .background(ChatTheme.colors.accentSuccess)
.padding(8.dp)
) {
Row(
@@ -215,14 +215,14 @@ fun DateAttachmentContent(
modifier = Modifier.size(16.dp),
painter = painterResource(id = R.drawable.ic_calendar),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
Text(
text = formattedDate,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis
+ color = ChatTheme.colors.textPrimary
)
}
}
@@ -241,7 +241,7 @@ fun DateAttachmentPreviewContent(
modifier = modifier
.wrapContentHeight()
.clip(RoundedCornerShape(16.dp))
- .background(color = ChatTheme.colors.barsBackground)
+ .background(color = ChatTheme.colors.backgroundElevationElevation1)
) {
Text(
modifier = Modifier
@@ -249,9 +249,9 @@ fun DateAttachmentPreviewContent(
.padding(16.dp)
.fillMaxWidth(),
text = formattedDate,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis
+ color = ChatTheme.colors.textPrimary
)
ComposerCancelIcon(
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt
index c02b4108c2e..4942619ffcf 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt
@@ -237,7 +237,7 @@ private object MessageComposerCustomizationSnippet {
Text(
modifier = Modifier.padding(start = 4.dp),
text = "Type something",
- color = ChatTheme.colors.textLowEmphasis
+ color = ChatTheme.colors.textSecondary
)
}
},
@@ -260,7 +260,7 @@ private object MessageComposerCustomizationSnippet {
onSendClick(state.inputValue, state.attachments)
},
painter = painterResource(id = R.drawable.stream_compose_ic_send),
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
contentDescription = null
)
},
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt
index 9f7e1a24fa0..1cd0036a6f9 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt
@@ -161,7 +161,7 @@ private object MessageListCustomizationSnippet {
viewModel = listViewModel,
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground),
+ .background(ChatTheme.colors.backgroundCoreApp),
itemContent = { item ->
if (item is MessageItemState) { // we check against other subclasses of 'MessageListItemState'
val message = item.message
@@ -180,14 +180,14 @@ private object MessageListCustomizationSnippet {
Text(
modifier = Modifier.padding(start = 8.dp),
text = message.user.name,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 14.sp,
- color = ChatTheme.colors.textHighEmphasis
+ color = ChatTheme.colors.textPrimary
)
}
MessageBubble(
- color = ChatTheme.colors.barsBackground,
+ color = ChatTheme.colors.backgroundElevationElevation1,
modifier = Modifier.padding(top = 4.dp),
shape = RoundedCornerShape(
topEnd = 16.dp,
@@ -199,7 +199,7 @@ private object MessageListCustomizationSnippet {
Text(
modifier = Modifier.padding(8.dp),
text = message.text,
- color = ChatTheme.colors.textHighEmphasis
+ color = ChatTheme.colors.textPrimary
)
}
)
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt
index 65014c2c407..007fe3dc0ef 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt
@@ -16,6 +16,7 @@ import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
@@ -167,7 +168,7 @@ private object ReactionsPickerCustomizationSnippet {
.align(Alignment.Center)
.padding(horizontal = 20.dp)
.wrapContentSize(),
- shape = ChatTheme.shapes.attachment,
+ shape = RoundedCornerShape(12.dp),
message = selectedMessage,
onMessageAction = { action ->
composerViewModel.performMessageAction(action)
@@ -189,8 +190,8 @@ private object ReactionsPickerCustomizationSnippet {
Text(
modifier = Modifier.padding(start = 20.dp, top = 12.dp),
text = "Available reactions",
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary
)
}
}
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt
index 8bd117297c9..382b0008621 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt
@@ -32,7 +32,7 @@ private object SearchInputUsageSnippet {
SearchInput(
modifier = Modifier
- .background(color = ChatTheme.colors.appBackground)
+ .background(color = ChatTheme.colors.backgroundCoreApp)
.padding(horizontal = 12.dp, vertical = 8.dp)
.fillMaxWidth(),
query = searchQuery,
@@ -80,7 +80,7 @@ private object SearchInputCustomizationSnippet {
SearchInput(
modifier = Modifier
- .background(color = ChatTheme.colors.appBackground)
+ .background(color = ChatTheme.colors.backgroundCoreApp)
.padding(horizontal = 12.dp, vertical = 12.dp)
.fillMaxWidth(),
query = searchQuery,
@@ -98,8 +98,8 @@ private object SearchInputCustomizationSnippet {
// Customize the hint
Text(
text = "Search channels",
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textLowEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textSecondary,
)
}
)
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt
index 6ba98bfc2ba..c1e9851028a 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt
@@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Send
import androidx.compose.material.icons.outlined.AddCircle
@@ -104,7 +105,7 @@ fun CustomComposerAndAttachmentsPicker(cid: String?, onBackClick: () -> Unit = {
MessageList(
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.padding(it),
viewModel = listViewModel,
)
@@ -212,7 +213,7 @@ private fun CustomAttachmentsPicker(
// Gray overlay
modifier = Modifier
.fillMaxSize()
- .background(ChatTheme.colors.overlay)
+ .background(ChatTheme.colors.backgroundCoreScrim)
.clickable(
onClick = actions.onDismiss,
indication = null,
@@ -229,8 +230,8 @@ private fun CustomAttachmentsPicker(
interactionSource = remember { MutableInteractionSource() },
),
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp),
- shape = ChatTheme.shapes.bottomSheet,
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground),
+ shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface),
) {
Box(modifier = Modifier.padding(vertical = 24.dp)) {
if (shouldShowMenu) {
@@ -390,9 +391,9 @@ private fun AttachmentsPickerToolbar(
contentDescription = "Submit Attachments",
modifier = Modifier.size(24.dp),
tint = if (isSubmitEnabled) {
- ChatTheme.colors.primaryAccent
+ ChatTheme.colors.accentPrimary
} else {
- ChatTheme.colors.textLowEmphasis
+ ChatTheme.colors.textSecondary
},
)
}
diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt
index 75089f88c37..795567a3f7c 100644
--- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt
+++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt
@@ -90,7 +90,7 @@ private fun CustomHeaderCenterContent(channel: Channel, currentUser: User?) {
Text(
text = channel.getMembersStatusText(LocalContext.current, currentUser),
color = Color.LightGray,
- style = ChatTheme.typography.footnote
+ style = ChatTheme.typography.metadataDefault
)
}
}
diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt
index d7fea640eb3..506eb5b84c6 100644
--- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt
+++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt
@@ -90,7 +90,7 @@ class CatalogActivity : AppCompatActivity() {
Icon(
painter = painterResource(id = R.drawable.ic_logout),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
}
@@ -167,8 +167,8 @@ class CatalogActivity : AppCompatActivity() {
Text(
text = text,
modifier = Modifier.padding(start = 16.dp, top = 16.dp, end = 16.dp),
- style = ChatTheme.typography.title3Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.headingMedium,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -188,24 +188,24 @@ class CatalogActivity : AppCompatActivity() {
interactionSource = remember { MutableInteractionSource() },
),
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp),
- colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground),
+ colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.backgroundCoreSurface),
) {
Column(
modifier = Modifier.padding(16.dp),
) {
Text(
text = titleText,
- style = ChatTheme.typography.bodyBold,
+ style = ChatTheme.typography.bodyEmphasis,
fontSize = 16.sp,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.height(8.dp))
Text(
text = descriptionText,
- style = ChatTheme.typography.body,
- color = ChatTheme.colors.textHighEmphasis,
+ style = ChatTheme.typography.bodyDefault,
+ color = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt
index aaa179e8c7f..3bcd5d74fb5 100644
--- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt
+++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/CustomChatComponentFactory.kt
@@ -91,7 +91,7 @@ fun DateAttachmentPreviewContent(
modifier = modifier
.wrapContentHeight()
.clip(RoundedCornerShape(16.dp))
- .background(color = ChatTheme.colors.barsBackground),
+ .background(color = ChatTheme.colors.backgroundElevationElevation1),
) {
Text(
modifier = Modifier
@@ -99,9 +99,9 @@ fun DateAttachmentPreviewContent(
.padding(16.dp)
.fillMaxWidth(),
text = formattedDate,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
ComposerCancelIcon(
@@ -131,8 +131,8 @@ fun DateAttachmentContent(
modifier = modifier
.fillMaxWidth()
.padding(4.dp)
- .clip(ChatTheme.shapes.attachment)
- .background(ChatTheme.colors.infoAccent)
+ .clip(RoundedCornerShape(12.dp))
+ .background(ChatTheme.colors.accentSuccess)
.padding(8.dp),
) {
Row(
@@ -143,14 +143,14 @@ fun DateAttachmentContent(
modifier = Modifier.size(16.dp),
painter = painterResource(id = R.drawable.ic_calendar),
contentDescription = null,
- tint = ChatTheme.colors.textHighEmphasis,
+ tint = ChatTheme.colors.textPrimary,
)
Text(
text = formattedDate,
- style = ChatTheme.typography.body,
+ style = ChatTheme.typography.bodyDefault,
maxLines = 1,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
}
diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt
index fc5abe7b615..838df8b5a47 100644
--- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt
+++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt
@@ -147,7 +147,7 @@ class MessagesActivity : AppCompatActivity() {
MessageList(
modifier = Modifier
.padding(it)
- .background(ChatTheme.colors.appBackground)
+ .background(ChatTheme.colors.backgroundCoreApp)
.fillMaxSize(),
viewModel = messageListViewModel,
reactionSorting = ReactionSortingByFirstReactionAt,
@@ -191,7 +191,7 @@ class MessagesActivity : AppCompatActivity() {
Icon(
painter = painterResource(id = R.drawable.ic_calendar),
contentDescription = null,
- tint = ChatTheme.colors.textLowEmphasis,
+ tint = ChatTheme.colors.textSecondary,
)
},
onClick = {
diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt
index af069f1490c..c03e14db01e 100644
--- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt
+++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt
@@ -84,7 +84,7 @@ class LoginActivity : AppCompatActivity() {
modifier = Modifier.size(width = 80.dp, height = 40.dp),
painter = painterResource(id = R.drawable.ic_stream),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
Spacer(modifier = Modifier.height(28.dp))
@@ -94,7 +94,7 @@ class LoginActivity : AppCompatActivity() {
text = stringResource(R.string.login_screen_title),
fontSize = 22.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Spacer(modifier = Modifier.height(12.dp))
@@ -147,13 +147,13 @@ class LoginActivity : AppCompatActivity() {
text = loginUser.user.name,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
Text(
text = stringResource(id = R.string.login_user_subtitle),
fontSize = 12.sp,
- color = ChatTheme.colors.textLowEmphasis,
+ color = ChatTheme.colors.textSecondary,
)
}
@@ -161,7 +161,7 @@ class LoginActivity : AppCompatActivity() {
modifier = Modifier.wrapContentSize(),
painter = painterResource(id = R.drawable.ic_arrow),
contentDescription = null,
- tint = ChatTheme.colors.primaryAccent,
+ tint = ChatTheme.colors.accentPrimary,
)
}
}
@@ -175,7 +175,7 @@ class LoginActivity : AppCompatActivity() {
modifier = Modifier
.fillMaxWidth()
.height(0.5.dp)
- .background(color = ChatTheme.colors.borders),
+ .background(color = ChatTheme.colors.borderCoreDefault),
)
}
diff --git a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt
index 4f15895ccf4..fc501fb21e9 100644
--- a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt
+++ b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt
@@ -192,7 +192,7 @@ class LoginActivity : AppCompatActivity() {
text = userCredentials.user.name,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
- color = ChatTheme.colors.textHighEmphasis,
+ color = ChatTheme.colors.textPrimary,
)
}
@@ -200,7 +200,7 @@ class LoginActivity : AppCompatActivity() {
modifier = Modifier
.fillMaxWidth()
.height(0.5.dp)
- .background(color = ChatTheme.colors.borders),
+ .background(color = ChatTheme.colors.borderCoreDefault),
)
}
}