diff --git a/catalog/src/main/java/kiwi/orbit/compose/catalog/screens/ButtonScreen.kt b/catalog/src/main/java/kiwi/orbit/compose/catalog/screens/ButtonScreen.kt index 51bb92f5d..a000f641d 100644 --- a/catalog/src/main/java/kiwi/orbit/compose/catalog/screens/ButtonScreen.kt +++ b/catalog/src/main/java/kiwi/orbit/compose/catalog/screens/ButtonScreen.kt @@ -19,6 +19,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import kiwi.orbit.compose.catalog.Screen import kiwi.orbit.compose.ui.OrbitTheme +import kiwi.orbit.compose.ui.controls.ButtonBundleBasic +import kiwi.orbit.compose.ui.controls.ButtonBundleMedium +import kiwi.orbit.compose.ui.controls.ButtonBundleTop import kiwi.orbit.compose.ui.controls.ButtonCritical import kiwi.orbit.compose.ui.controls.ButtonCriticalSubtle import kiwi.orbit.compose.ui.controls.ButtonLink @@ -61,6 +64,9 @@ private fun ButtonScreenInner() { ButtonSecondary(onClick = {}, maxWidth) { Text("Secondary Button") } ButtonCritical(onClick = {}, maxWidth) { Text("Critical Button") } ButtonCriticalSubtle(onClick = {}, maxWidth) { Text("Critical Subtle Button") } + ButtonBundleBasic(onClick = {}, maxWidth) { Text("Bundle Basic Button") } + ButtonBundleMedium(onClick = {}, maxWidth) { Text("Bundle Medium Button") } + ButtonBundleTop(onClick = {}, maxWidth) { Text("Bundle Top Button") } ButtonLink(onClick = {}, maxWidth) { Text("Link Button") } Text("Manually themed", Modifier.padding(top = 16.dp)) diff --git a/ui/src/main/java/kiwi/orbit/compose/ui/controls/Button.kt b/ui/src/main/java/kiwi/orbit/compose/ui/controls/Button.kt index 5bad33f3e..553a15dda 100644 --- a/ui/src/main/java/kiwi/orbit/compose/ui/controls/Button.kt +++ b/ui/src/main/java/kiwi/orbit/compose/ui/controls/Button.kt @@ -80,6 +80,54 @@ public fun ButtonCriticalSubtle( ) } +@Composable +public fun ButtonBundleBasic( + onClick: () -> Unit, + modifier: Modifier = Modifier, + content: @Composable RowScope.() -> Unit +) { + ButtonLargePrimitive( + onClick = onClick, + backgroundColor = Color.Unspecified, + backgroundBrush = OrbitTheme.colors.bundle.basicGradient, + contentColor = OrbitTheme.colors.bundle.onBasic, + modifier = modifier, + content = content, + ) +} + +@Composable +public fun ButtonBundleMedium( + onClick: () -> Unit, + modifier: Modifier = Modifier, + content: @Composable RowScope.() -> Unit +) { + ButtonLargePrimitive( + onClick = onClick, + backgroundColor = Color.Unspecified, + backgroundBrush = OrbitTheme.colors.bundle.mediumGradient, + contentColor = OrbitTheme.colors.bundle.onMedium, + modifier = modifier, + content = content, + ) +} + +@Composable +public fun ButtonBundleTop( + onClick: () -> Unit, + modifier: Modifier = Modifier, + content: @Composable RowScope.() -> Unit +) { + ButtonLargePrimitive( + onClick = onClick, + backgroundColor = Color.Unspecified, + backgroundBrush = OrbitTheme.colors.bundle.topGradient, + contentColor = OrbitTheme.colors.bundle.onTop, + modifier = modifier, + content = content, + ) +} + @Composable public fun ButtonLink( onClick: () -> Unit,