Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 25 additions & 10 deletions stream-chat-android-compose/api/stream-chat-android-compose.api
Original file line number Diff line number Diff line change
Expand Up @@ -1197,7 +1197,9 @@ public final class io/getstream/chat/android/compose/ui/components/avatar/UserAv
public final class io/getstream/chat/android/compose/ui/components/button/ComposableSingletons$StreamButtonKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/button/ComposableSingletons$StreamButtonKt;
public fun <init> ()V
public final fun getLambda$-166546107$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-371513815$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$183536504$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$461605447$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/channels/ChannelMembersKt {
Expand Down Expand Up @@ -1295,14 +1297,14 @@ public final class io/getstream/chat/android/compose/ui/components/common/Compos
public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$ContextualMenuKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$ContextualMenuKt;
public fun <init> ()V
public final fun getLambda$400372830$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
public final fun getLambda$-1814646166$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
public final fun getLambda$757952752$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CountBadgeKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CountBadgeKt;
public fun <init> ()V
public final fun getLambda$-956196504$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1802414546$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$MediaBadgesKt {
Expand Down Expand Up @@ -1429,8 +1431,9 @@ public final class io/getstream/chat/android/compose/ui/components/messageaction
public final class io/getstream/chat/android/compose/ui/components/messageactions/ComposableSingletons$UserReactionRowKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messageactions/ComposableSingletons$UserReactionRowKt;
public fun <init> ()V
public final fun getLambda$-1334175414$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-819920205$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1303366844$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1404854311$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$1975375011$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/messageactions/MessageActionsHeaderKt {
Expand Down Expand Up @@ -1493,10 +1496,9 @@ public final class io/getstream/chat/android/compose/ui/components/messages/Comp
public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageReactionsKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageReactionsKt;
public fun <init> ()V
public final fun getLambda$-1033212521$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-2112297624$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$263020848$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$886436303$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1247075191$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1998294682$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-702061313$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageTextKt {
Expand All @@ -1519,6 +1521,17 @@ public final class io/getstream/chat/android/compose/ui/components/messages/Comp
public final fun getLambda$73995334$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$QuotedMessageKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$QuotedMessageKt;
public fun <init> ()V
public final fun getLambda$-242957275$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-615170823$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$1327756724$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$1642749758$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$1784593268$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$976393970$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$ScrollToBottomButtonKt {
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$ScrollToBottomButtonKt;
public fun <init> ()V
Expand Down Expand Up @@ -1598,9 +1611,11 @@ public final class io/getstream/chat/android/compose/ui/components/poll/Composab
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollAnswersKt;
public fun <init> ()V
public final fun getLambda$-1411166830$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1780669891$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-1980307438$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
public final fun getLambda$-232122758$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$-49181804$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
public final fun getLambda$-608288022$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
public final fun getLambda$705192511$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
}

public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollDialogHeaderKt {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,39 +114,77 @@ internal fun StreamButton(

@Preview(showBackground = true)
@Composable
private fun StreamButtonPreview() {
private fun StreamButtonEnabledPreview() {
ChatTheme {
val styles = listOf(
StreamButtonStyleDefaults.primarySolid,
StreamButtonStyleDefaults.primaryOutline,
StreamButtonStyleDefaults.primaryGhost,
StreamButtonStyleDefaults.secondarySolid,
StreamButtonStyleDefaults.secondaryOutline,
StreamButtonStyleDefaults.secondaryGhost,
StreamButtonStyleDefaults.destructiveSolid,
StreamButtonStyleDefaults.destructiveOutline,
StreamButtonStyleDefaults.destructiveGhost,
)
StreamButtonStyles(enabled = true)
}
}

Column(
modifier = Modifier.padding(StreamTokens.spacingMd),
verticalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs),
) {
styles.forEach { style ->
Row(horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs)) {
val painter = painterResource(R.drawable.stream_design_ic_checkmark)
StreamButton(onClick = {}, style = style) {
Icon(painter, null)
}
StreamTextButton(
onClick = {},
style = style,
leadingIcon = painter,
text = "{{ label }}",
trailingIcon = painter,
)
@Preview(showBackground = true)
@Composable
private fun StreamButtonDisabledPreview() {
ChatTheme {
StreamButtonStyles(enabled = false)
}
}

@Composable
internal fun StreamButtonStyles(enabled: Boolean) {
val styles = listOf(
StreamButtonStyleDefaults.primarySolid,
StreamButtonStyleDefaults.primaryOutline,
StreamButtonStyleDefaults.primaryGhost,
StreamButtonStyleDefaults.secondarySolid,
StreamButtonStyleDefaults.secondaryOutline,
StreamButtonStyleDefaults.secondaryGhost,
StreamButtonStyleDefaults.destructiveSolid,
StreamButtonStyleDefaults.destructiveOutline,
StreamButtonStyleDefaults.destructiveGhost,
)

Column(
modifier = Modifier.padding(StreamTokens.spacingMd),
verticalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs),
) {
styles.forEach { style ->
Row(horizontalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs)) {
val painter = painterResource(R.drawable.stream_design_ic_checkmark)
StreamButton(onClick = {}, style = style, enabled = enabled) {
Icon(painter, null)
}
StreamTextButton(
onClick = {},
style = style,
enabled = enabled,
leadingIcon = painter,
text = "{{ label }}",
trailingIcon = painter,
)
}
}
}
}

@Preview(showBackground = true)
@Composable
private fun StreamButtonSizesPreview() {
ChatTheme {
StreamButtonSizes()
}
}

@Composable
internal fun StreamButtonSizes() {
Column(
modifier = Modifier.padding(StreamTokens.spacingMd),
verticalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs),
) {
StreamButtonSize.entries.forEach { size ->
StreamTextButton(
onClick = {},
text = "Button $size",
size = size,
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -133,23 +133,22 @@ internal fun ContextualMenuDivider(modifier: Modifier = Modifier) {
@Preview(showBackground = true)
@Composable
private fun ContextualMenuPreview() {
ChatTheme {
ContextualMenu(
Modifier
.padding(32.dp)
.width(IntrinsicSize.Min),
) {
MenuItemPreview(enabled = true, destructive = false)
MenuItemPreview(enabled = false, destructive = false)
MenuItemPreview(enabled = false, destructive = true)
ContextualMenuDivider()
MenuItemPreview(enabled = true, destructive = true)
}
ChatTheme { PopulatedContextualMenu() }
}

@Composable
internal fun PopulatedContextualMenu() {
ContextualMenu(Modifier.width(IntrinsicSize.Min)) {
MenuItem(enabled = true, destructive = false)
MenuItem(enabled = false, destructive = false)
MenuItem(enabled = false, destructive = true)
ContextualMenuDivider()
MenuItem(enabled = true, destructive = true)
}
}

@Composable
private fun MenuItemPreview(enabled: Boolean, destructive: Boolean) {
private fun MenuItem(enabled: Boolean, destructive: Boolean) {
ContextualMenuItem(
label = "{{ label }}",
destructive = destructive,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,18 @@ internal data class CountBadgeSize(

@Preview
@Composable
private fun CountBadgePreview() {
ChatTheme {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
CountBadgeSize.entries.forEach { size ->
CountBadge(text = "+99", size = size)
}
private fun CountBadgeSizesPreview() {
ChatTheme { CountBadgeSizes() }
}

@Composable
internal fun CountBadgeSizes() {
Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(4.dp),
) {
CountBadgeSize.entries.forEach { size ->
CountBadge(text = "+99", size = size)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -100,24 +100,35 @@ internal fun UserReactionRow(
}
}

/**
* Preview of the [UserReactionRow] component with a reaction left by the current user.
*/
@Preview(showBackground = true)
@Composable
private fun CurrentUserReactionItemPreview() {
ChatPreviewTheme {
UserReactionRow(item = PreviewUserReactionData.user1Reaction())
}
private fun OwnRemovableUserReactionRowPreview() {
ChatPreviewTheme { OwnRemovableUserReactionRow() }
}

/**
* Preview of the [UserReactionRow] component with a reaction left by another user.
*/
@Preview(showBackground = true)
@Composable
private fun OtherUserReactionItemPreview() {
ChatPreviewTheme {
UserReactionRow(item = PreviewUserReactionData.user2Reaction())
}
private fun OwnUserReactionRowPreview() {
ChatPreviewTheme { OwnUserReactionRow() }
}

@Preview(showBackground = true)
@Composable
private fun OtherUserReactionRowPreview() {
ChatPreviewTheme { OtherUserReactionRow() }
}

@Composable
internal fun OwnRemovableUserReactionRow() {
UserReactionRow(item = PreviewUserReactionData.user1Reaction(), onClick = {})
}

@Composable
internal fun OwnUserReactionRow() {
UserReactionRow(item = PreviewUserReactionData.user1Reaction())
}

@Composable
internal fun OtherUserReactionRow() {
UserReactionRow(item = PreviewUserReactionData.user2Reaction())
}
Original file line number Diff line number Diff line change
Expand Up @@ -191,32 +191,38 @@ private fun ReactionChip(

@Preview
@Composable
private fun SingleClusteredMessageReactionsPreview() {
ChatTheme {
ClusteredMessageReactions(reactions = PreviewReactionData.oneReaction())
}
private fun ManyClusteredMessageReactionsPreview() {
ChatTheme { ManyClusteredMessageReactions() }
}

@Preview
@Composable
private fun MultipleClusteredMessageReactionsPreview() {
ChatTheme {
ClusteredMessageReactions(reactions = PreviewReactionData.manyReactions())
}
private fun ManySegmentedMessageReactionsPreview() {
ChatTheme { ManySegmentedMessageReactions() }
}

@Preview
@Composable
private fun SingleSegmentedMessageReactionsPreview() {
ChatTheme {
SegmentedMessageReactions(reactions = PreviewReactionData.oneReaction())
}
private fun OverflowSegmentedMessageReactionsPreview() {
ChatTheme { OverflowSegmentedMessageReactions() }
}

@Preview
@Composable
private fun MultipleSegmentedMessageReactionsPreview() {
ChatTheme {
SegmentedMessageReactions(reactions = PreviewReactionData.manyReactions())
}
internal fun ManyClusteredMessageReactions() {
ClusteredMessageReactions(reactions = PreviewReactionData.manyReactions())
}

@Composable
internal fun ManySegmentedMessageReactions() {
SegmentedMessageReactions(reactions = PreviewReactionData.manyReactions())
}

@Composable
internal fun OverflowSegmentedMessageReactions() {
SegmentedMessageReactions(
reactions = PreviewReactionData.manyReactions() + listOf(
MessageReactionItemState(type = "haha", emoji = "😂", count = 3),
MessageReactionItemState(type = "fire", emoji = "🔥", count = 7),
),
)
}
Loading
Loading