diff --git a/tokens/plasma.homeds.compose/config-info-compose.json b/tokens/plasma.homeds.compose/config-info-compose.json index ed03d49eb..c6c473f5d 100644 --- a/tokens/plasma.homeds.compose/config-info-compose.json +++ b/tokens/plasma.homeds.compose/config-info-compose.json @@ -13358,7 +13358,8 @@ { "name": "size", "values": [ - "s" + "s", + "m" ], "defaultValue": "s" }, @@ -13397,6 +13398,10 @@ { "value": "s", "codeName": "S" + }, + { + "value": "m", + "codeName": "M" } ] }, @@ -13500,6 +13505,62 @@ "value": "true" } ] + }, + { + "name": "m", + "composeReference": "List.M", + "props": [ + { + "name": "size", + "value": "m" + } + ] + }, + { + "name": "m.no-background", + "composeReference": "List.M.NoBackground", + "props": [ + { + "name": "size", + "value": "m" + }, + { + "name": "has-background", + "value": "false" + } + ] + }, + { + "name": "m.no-background.has-item-background", + "composeReference": "List.M.NoBackground.HasItemBackground", + "props": [ + { + "name": "size", + "value": "m" + }, + { + "name": "has-background", + "value": "false" + }, + { + "name": "has-item-background", + "value": "true" + } + ] + }, + { + "name": "m.has-background", + "composeReference": "List.M.HasBackground", + "props": [ + { + "name": "size", + "value": "m" + }, + { + "name": "has-background", + "value": "true" + } + ] } ] }, @@ -13511,7 +13572,8 @@ { "name": "size", "values": [ - "s" + "s", + "m" ], "defaultValue": "s" } @@ -13542,6 +13604,10 @@ { "value": "s", "codeName": "S" + }, + { + "value": "m", + "codeName": "M" } ] } @@ -13557,6 +13623,16 @@ "value": "s" } ] + }, + { + "name": "m", + "composeReference": "ListNumbered.M", + "props": [ + { + "name": "size", + "value": "m" + } + ] } ] }, @@ -13568,7 +13644,8 @@ { "name": "size", "values": [ - "s" + "s", + "m" ], "defaultValue": "s" }, @@ -13603,6 +13680,10 @@ { "value": "s", "codeName": "S" + }, + { + "value": "m", + "codeName": "M" } ] }, @@ -13653,6 +13734,30 @@ "value": "true" } ] + }, + { + "name": "m", + "composeReference": "ListItem.M", + "props": [ + { + "name": "size", + "value": "m" + } + ] + }, + { + "name": "m.has-background", + "composeReference": "ListItem.M.HasBackground", + "props": [ + { + "name": "size", + "value": "m" + }, + { + "name": "has-background", + "value": "true" + } + ] } ] }, @@ -13664,7 +13769,8 @@ { "name": "size", "values": [ - "s" + "s", + "m" ], "defaultValue": "s" } @@ -13695,6 +13801,10 @@ { "value": "s", "codeName": "S" + }, + { + "value": "m", + "codeName": "M" } ] } @@ -13710,6 +13820,16 @@ "value": "s" } ] + }, + { + "name": "m", + "composeReference": "ListNumberedItem.M", + "props": [ + { + "name": "size", + "value": "m" + } + ] } ] }, diff --git a/tokens/plasma.homeds.compose/gradle.properties b/tokens/plasma.homeds.compose/gradle.properties index 0b4436d45..c47b07288 100644 --- a/tokens/plasma.homeds.compose/gradle.properties +++ b/tokens/plasma.homeds.compose/gradle.properties @@ -6,7 +6,7 @@ versionMinor=19 versionPatch=0 theme-version=0.3.0 -components-version=0.10.0 +components-version=0.11.0 summary.key=plasmaHomeDS diff --git a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsAvatarVariationsCompose.kt b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsAvatarVariationsCompose.kt index f55f67f41..f0536a326 100644 --- a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsAvatarVariationsCompose.kt +++ b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsAvatarVariationsCompose.kt @@ -51,7 +51,7 @@ internal object PlasmaHomedsAvatarVariationsCompose : ComposeStyleProvider AvatarSize.L "M" -> AvatarSize.M "S" -> AvatarSize.S - else -> AvatarSize.Xxl + else -> AvatarSize.M }, shape = when (bindings["shape"]?.toString()) { "Default" -> AvatarShape.Default diff --git a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListItemVariationsCompose.kt b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListItemVariationsCompose.kt index 7d47a2192..017427e53 100644 --- a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListItemVariationsCompose.kt +++ b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListItemVariationsCompose.kt @@ -17,6 +17,7 @@ import com.sdds.plasma.homeds.styles.listitem.HasBackground import com.sdds.plasma.homeds.styles.listitem.ListItem import com.sdds.plasma.homeds.styles.listitem.ListItemDefaultSize import com.sdds.plasma.homeds.styles.listitem.ListItemStyles +import com.sdds.plasma.homeds.styles.listitem.M import com.sdds.plasma.homeds.styles.listitem.S import com.sdds.plasma.homeds.styles.listitem.resolve import com.sdds.sandbox.Property @@ -24,7 +25,7 @@ import com.sdds.sandbox.Property internal object PlasmaHomedsListItemVariationsCompose : ComposeStyleProvider() { override val bindings: Set> = setOf( - Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S")), + Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S", "M")), Property.BooleanProperty(name = "hasBackground", value = false), ) @@ -32,12 +33,15 @@ internal object PlasmaHomedsListItemVariationsCompose : ComposeStyleProvider): String { return ListItemStyles.Default.resolve( size = when (bindings["size"]?.toString()) { "S" -> ListItemDefaultSize.S + "M" -> ListItemDefaultSize.M else -> ListItemDefaultSize.S }, hasBackground = booleanBindingValue(bindings, "hasBackground", false), diff --git a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedItemVariationsCompose.kt b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedItemVariationsCompose.kt index 91b89209d..6f0b289dd 100644 --- a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedItemVariationsCompose.kt +++ b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedItemVariationsCompose.kt @@ -16,6 +16,7 @@ import com.sdds.compose.uikit.style.style import com.sdds.plasma.homeds.styles.listitem.ListItemListNumberedItemSize import com.sdds.plasma.homeds.styles.listitem.ListItemStyles import com.sdds.plasma.homeds.styles.listitem.ListNumberedItem +import com.sdds.plasma.homeds.styles.listitem.M import com.sdds.plasma.homeds.styles.listitem.S import com.sdds.plasma.homeds.styles.listitem.resolve import com.sdds.sandbox.Property @@ -23,18 +24,20 @@ import com.sdds.sandbox.Property internal object PlasmaHomedsListNumberedItemVariationsCompose : ComposeStyleProvider() { override val bindings: Set> = setOf( - Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S")), + Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S", "M")), ) override val variations: Map> = mapOf( "ListNumberedItem.S" to ComposeStyleReference { ListNumberedItem.S.style() }, + "ListNumberedItem.M" to ComposeStyleReference { ListNumberedItem.M.style() }, ) override fun resolveStyleKey(bindings: Map): String { return ListItemStyles.ListNumberedItem.resolve( size = when (bindings["size"]?.toString()) { "S" -> ListItemListNumberedItemSize.S + "M" -> ListItemListNumberedItemSize.M else -> ListItemListNumberedItemSize.S }, ).key diff --git a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedVariationsCompose.kt b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedVariationsCompose.kt index 7c47dd992..3471358d7 100644 --- a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedVariationsCompose.kt +++ b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListNumberedVariationsCompose.kt @@ -16,6 +16,7 @@ import com.sdds.compose.uikit.style.style import com.sdds.plasma.homeds.styles.list.ListNumbered import com.sdds.plasma.homeds.styles.list.ListNumberedSize import com.sdds.plasma.homeds.styles.list.ListStyles +import com.sdds.plasma.homeds.styles.list.M import com.sdds.plasma.homeds.styles.list.S import com.sdds.plasma.homeds.styles.list.resolve import com.sdds.sandbox.Property @@ -23,18 +24,20 @@ import com.sdds.sandbox.Property internal object PlasmaHomedsListNumberedVariationsCompose : ComposeStyleProvider() { override val bindings: Set> = setOf( - Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S")), + Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S", "M")), ) override val variations: Map> = mapOf( "ListNumbered.S" to ComposeStyleReference { ListNumbered.S.style() }, + "ListNumbered.M" to ComposeStyleReference { ListNumbered.M.style() }, ) override fun resolveStyleKey(bindings: Map): String { return ListStyles.Numbered.resolve( size = when (bindings["size"]?.toString()) { "S" -> ListNumberedSize.S + "M" -> ListNumberedSize.M else -> ListNumberedSize.S }, ).key diff --git a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListVariationsCompose.kt b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListVariationsCompose.kt index 14b55acd7..a9fee0621 100644 --- a/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListVariationsCompose.kt +++ b/tokens/plasma.homeds.compose/integration/src/main/kotlin/com/sdds/plasma/homeds/integration/PlasmaHomedsListVariationsCompose.kt @@ -18,6 +18,7 @@ import com.sdds.plasma.homeds.styles.list.HasItemBackground import com.sdds.plasma.homeds.styles.list.List import com.sdds.plasma.homeds.styles.list.ListDefaultSize import com.sdds.plasma.homeds.styles.list.ListStyles +import com.sdds.plasma.homeds.styles.list.M import com.sdds.plasma.homeds.styles.list.NoBackground import com.sdds.plasma.homeds.styles.list.S import com.sdds.plasma.homeds.styles.list.resolve @@ -26,7 +27,7 @@ import com.sdds.sandbox.Property internal object PlasmaHomedsListVariationsCompose : ComposeStyleProvider() { override val bindings: Set> = setOf( - Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S")), + Property.SingleChoiceProperty(name = "size", value = "S", variants = listOf("S", "M")), Property.BooleanProperty(name = "hasBackground", value = false), Property.BooleanProperty(name = "hasItemBackground", value = false), ) @@ -37,12 +38,17 @@ internal object PlasmaHomedsListVariationsCompose : ComposeStyleProvider): String { return ListStyles.Default.resolve( size = when (bindings["size"]?.toString()) { "S" -> ListDefaultSize.S + "M" -> ListDefaultSize.M else -> ListDefaultSize.S }, hasBackground = booleanBindingValue(bindings, "hasBackground", false), diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListNumberedStyles.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListNumberedStyles.kt index d746852db..4dd30ad9e 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListNumberedStyles.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListNumberedStyles.kt @@ -17,6 +17,7 @@ import com.sdds.compose.uikit.style.wrap import com.sdds.plasma.homeds.styles.divider.Default import com.sdds.plasma.homeds.styles.divider.Divider import com.sdds.plasma.homeds.styles.listitem.ListNumberedItem +import com.sdds.plasma.homeds.styles.listitem.M import com.sdds.plasma.homeds.styles.listitem.S import kotlin.Suppress import kotlin.jvm.JvmInline @@ -35,6 +36,14 @@ public value class WrapperListNumberedS( public override val builder: ListStyleBuilder, ) : WrapperListNumbered +/** + * Обертка для вариации M + */ +@JvmInline +public value class WrapperListNumberedM( + public override val builder: ListStyleBuilder, +) : WrapperListNumbered + private val ListStyleBuilder.invariantProps: ListStyleBuilder @Composable get() = this @@ -50,3 +59,14 @@ public val ListNumbered.S: WrapperListNumberedS gap(12.0.dp) } .wrap(::WrapperListNumberedS) + +public val ListNumbered.M: WrapperListNumberedM + @Composable + @JvmName("WrapperListNumberedM") + get() = ListStyle.builder(this) + .invariantProps + .listItemStyle(ListNumberedItem.M.style()) + .dimensions { + gap(12.0.dp) + } + .wrap(::WrapperListNumberedM) diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStyles.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStyles.kt index 72786ca8a..811935bdd 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStyles.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStyles.kt @@ -20,6 +20,7 @@ import com.sdds.plasma.homeds.styles.divider.Default import com.sdds.plasma.homeds.styles.divider.Divider import com.sdds.plasma.homeds.styles.listitem.HasBackground import com.sdds.plasma.homeds.styles.listitem.ListItem +import com.sdds.plasma.homeds.styles.listitem.M import com.sdds.plasma.homeds.styles.listitem.S import com.sdds.plasma.homeds.theme.PlasmaHomeDsTheme import kotlin.Suppress @@ -63,6 +64,38 @@ public value class WrapperListSHasBackground( public override val builder: ListStyleBuilder, ) : WrapperList +/** + * Обертка для вариации M + */ +@JvmInline +public value class WrapperListM( + public override val builder: ListStyleBuilder, +) : WrapperList + +/** + * Обертка для вариации MNoBackground + */ +@JvmInline +public value class WrapperListMNoBackground( + public override val builder: ListStyleBuilder, +) : WrapperList + +/** + * Обертка для вариации MNoBackgroundHasItemBackground + */ +@JvmInline +public value class WrapperListMNoBackgroundHasItemBackground( + public override val builder: ListStyleBuilder, +) : WrapperList + +/** + * Обертка для вариации MHasBackground + */ +@JvmInline +public value class WrapperListMHasBackground( + public override val builder: ListStyleBuilder, +) : WrapperList + private val ListStyleBuilder.invariantProps: ListStyleBuilder @Composable get() = this @@ -110,3 +143,46 @@ public val WrapperListS.HasBackground: WrapperListSHasBackground } .shape(PlasmaHomeDsTheme.shapes.roundXxl.adjustBy(all = -4.0.dp)) .wrap(::WrapperListSHasBackground) + +public val List.M: WrapperListM + @Composable + @JvmName("WrapperListM") + get() = ListStyle.builder(this) + .invariantProps + .listItemStyle(ListItem.M.style()) + .dimensions { + gap(8.0.dp) + } + .wrap(::WrapperListM) + +public val WrapperListM.NoBackground: WrapperListMNoBackground + @Composable + @JvmName("WrapperListMNoBackground") + get() = builder + .wrap(::WrapperListMNoBackground) + +public val WrapperListMNoBackground.HasItemBackground: WrapperListMNoBackgroundHasItemBackground + @Composable + @JvmName("WrapperListMNoBackgroundHasItemBackground") + get() = builder + .listItemStyle(ListItem.M.HasBackground.style()) + .wrap(::WrapperListMNoBackgroundHasItemBackground) + +public val WrapperListM.HasBackground: WrapperListMHasBackground + @Composable + @JvmName("WrapperListMHasBackground") + get() = builder + .listItemStyle(ListItem.M.style()) + .dimensions { + paddingStart(16.0.dp) + paddingEnd(16.0.dp) + paddingTop(8.0.dp) + paddingBottom(8.0.dp) + } + .colors { + backgroundColor( + PlasmaHomeDsTheme.colors.surfaceDefaultTransparentPrimary.asInteractive(), + ) + } + .shape(PlasmaHomeDsTheme.shapes.roundXxl.adjustBy(all = -4.0.dp)) + .wrap(::WrapperListMHasBackground) diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStylesCollection.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStylesCollection.kt index 28b5e59aa..822afa897 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStylesCollection.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/list/ListStylesCollection.kt @@ -30,7 +30,12 @@ public enum class ListStyles( ListSNoBackground("List.S.NoBackground"), ListSNoBackgroundHasItemBackground("List.S.NoBackground.HasItemBackground"), ListSHasBackground("List.S.HasBackground"), + ListM("List.M"), + ListMNoBackground("List.M.NoBackground"), + ListMNoBackgroundHasItemBackground("List.M.NoBackground.HasItemBackground"), + ListMHasBackground("List.M.HasBackground"), ListNumberedS("ListNumbered.S"), + ListNumberedM("ListNumbered.M"), ; /** @@ -49,6 +54,7 @@ public enum class ListStyles( */ public enum class ListDefaultSize { S, + M, } /** @@ -56,6 +62,7 @@ public enum class ListDefaultSize { */ public enum class ListNumberedSize { S, + M, } /** @@ -68,7 +75,12 @@ public fun ListStyles.style(modify: @Composable ListStyleBuilder.() -> Unit = {} ListStyles.ListSNoBackground -> List.S.NoBackground ListStyles.ListSNoBackgroundHasItemBackground -> List.S.NoBackground.HasItemBackground ListStyles.ListSHasBackground -> List.S.HasBackground + ListStyles.ListM -> List.M + ListStyles.ListMNoBackground -> List.M.NoBackground + ListStyles.ListMNoBackgroundHasItemBackground -> List.M.NoBackground.HasItemBackground + ListStyles.ListMHasBackground -> List.M.HasBackground ListStyles.ListNumberedS -> ListNumbered.S + ListStyles.ListNumberedM -> ListNumbered.M } return builder.modify(modify).style() } @@ -83,9 +95,14 @@ public fun ListStyles.Default.resolve( ): ListStyles = when { size == ListDefaultSize.S && hasBackground == false && hasItemBackground == true -> ListStyles.ListSNoBackgroundHasItemBackground + size == ListDefaultSize.M && hasBackground == false && hasItemBackground == true -> + ListStyles.ListMNoBackgroundHasItemBackground size == ListDefaultSize.S && hasBackground == false -> ListStyles.ListSNoBackground size == ListDefaultSize.S && hasBackground == true -> ListStyles.ListSHasBackground + size == ListDefaultSize.M && hasBackground == false -> ListStyles.ListMNoBackground + size == ListDefaultSize.M && hasBackground == true -> ListStyles.ListMHasBackground size == ListDefaultSize.S -> ListStyles.ListS + size == ListDefaultSize.M -> ListStyles.ListM else -> error("Unsupported list style combination") } @@ -106,6 +123,7 @@ public fun ListStyles.Default.style( public fun ListStyles.Numbered.resolve(size: ListNumberedSize = ListNumberedSize.S): ListStyles = when { size == ListNumberedSize.S -> ListStyles.ListNumberedS + size == ListNumberedSize.M -> ListStyles.ListNumberedM else -> error("Unsupported list-numbered style combination") } diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStyles.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStyles.kt index b8c303e20..f64daeab4 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStyles.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStyles.kt @@ -40,6 +40,22 @@ public value class WrapperListItemSHasBackground( public override val builder: ListItemStyleBuilder, ) : WrapperListItem +/** + * Обертка для вариации M + */ +@JvmInline +public value class WrapperListItemM( + public override val builder: ListItemStyleBuilder, +) : WrapperListItem + +/** + * Обертка для вариации MHasBackground + */ +@JvmInline +public value class WrapperListItemMHasBackground( + public override val builder: ListItemStyleBuilder, +) : WrapperListItem + private val ListItemStyleBuilder.invariantProps: ListItemStyleBuilder @Composable get() = this @@ -95,3 +111,41 @@ public val WrapperListItemS.HasBackground: WrapperListItemSHasBackground paddingBottom(12.0.dp) } .wrap(::WrapperListItemSHasBackground) + +public val ListItem.M: WrapperListItemM + @Composable + @JvmName("WrapperListItemM") + get() = ListItemStyle.builder(this) + .invariantProps + .titleStyle(PlasmaHomeDsTheme.typography.bodyMNormal) + .subtitleStyle(PlasmaHomeDsTheme.typography.bodySNormal) + .labelStyle(PlasmaHomeDsTheme.typography.bodySNormal) + .disclosureIcon(com.sdds.icons.R.drawable.ic_disclosure_right_outline_24) + .dimensions { + contentPaddingEnd(12.0.dp) + contentPaddingStart(12.0.dp) + height(48.0.dp) + paddingStart(0.0.dp) + paddingEnd(0.0.dp) + paddingTop(12.0.dp) + paddingBottom(12.0.dp) + } + .wrap(::WrapperListItemM) + +public val WrapperListItemM.HasBackground: WrapperListItemMHasBackground + @Composable + @JvmName("WrapperListItemMHasBackground") + get() = builder + .shape(PlasmaHomeDsTheme.shapes.roundXl) + .colors { + backgroundColor( + PlasmaHomeDsTheme.colors.surfaceDefaultTransparentPrimary.asInteractive(), + ) + } + .dimensions { + paddingStart(16.0.dp) + paddingEnd(14.0.dp) + paddingTop(12.0.dp) + paddingBottom(12.0.dp) + } + .wrap(::WrapperListItemMHasBackground) diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStylesCollection.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStylesCollection.kt index 79a948eb3..702774779 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStylesCollection.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListItemStylesCollection.kt @@ -28,7 +28,10 @@ public enum class ListItemStyles( ) { ListItemS("ListItem.S"), ListItemSHasBackground("ListItem.S.HasBackground"), + ListItemM("ListItem.M"), + ListItemMHasBackground("ListItem.M.HasBackground"), ListNumberedItemS("ListNumberedItem.S"), + ListNumberedItemM("ListNumberedItem.M"), ; /** @@ -47,6 +50,7 @@ public enum class ListItemStyles( */ public enum class ListItemDefaultSize { S, + M, } /** @@ -54,6 +58,7 @@ public enum class ListItemDefaultSize { */ public enum class ListItemListNumberedItemSize { S, + M, } /** @@ -64,7 +69,10 @@ public fun ListItemStyles.style(modify: @Composable ListItemStyleBuilder.() -> U val builder = when (this) { ListItemStyles.ListItemS -> ListItem.S ListItemStyles.ListItemSHasBackground -> ListItem.S.HasBackground + ListItemStyles.ListItemM -> ListItem.M + ListItemStyles.ListItemMHasBackground -> ListItem.M.HasBackground ListItemStyles.ListNumberedItemS -> ListNumberedItem.S + ListItemStyles.ListNumberedItemM -> ListNumberedItem.M } return builder.modify(modify).style() } @@ -77,7 +85,9 @@ public fun ListItemStyles.Default.resolve( hasBackground: Boolean = false, ): ListItemStyles = when { size == ListItemDefaultSize.S && hasBackground == true -> ListItemStyles.ListItemSHasBackground + size == ListItemDefaultSize.M && hasBackground == true -> ListItemStyles.ListItemMHasBackground size == ListItemDefaultSize.S -> ListItemStyles.ListItemS + size == ListItemDefaultSize.M -> ListItemStyles.ListItemM else -> error("Unsupported list-item style combination") } @@ -99,6 +109,7 @@ public fun ListItemStyles.ListNumberedItem.resolve( ListItemListNumberedItemSize.S, ): ListItemStyles = when { size == ListItemListNumberedItemSize.S -> ListItemStyles.ListNumberedItemS + size == ListItemListNumberedItemSize.M -> ListItemStyles.ListNumberedItemM else -> error("Unsupported list-numbered-item style combination") } diff --git a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListNumberedItemStyles.kt b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListNumberedItemStyles.kt index 357aee194..9b7a9ce1b 100644 --- a/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListNumberedItemStyles.kt +++ b/tokens/plasma.homeds.compose/src/main/kotlin/com/sdds/plasma/homeds/styles/listitem/ListNumberedItemStyles.kt @@ -16,8 +16,8 @@ import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap import com.sdds.plasma.homeds.styles.counter.Counter +import com.sdds.plasma.homeds.styles.counter.S import com.sdds.plasma.homeds.styles.counter.Secondary -import com.sdds.plasma.homeds.styles.counter.Xs import com.sdds.plasma.homeds.theme.PlasmaHomeDsTheme import kotlin.Suppress import kotlin.jvm.JvmInline @@ -36,6 +36,14 @@ public value class WrapperListNumberedItemS( public override val builder: ListItemStyleBuilder, ) : WrapperListNumberedItem +/** + * Обертка для вариации M + */ +@JvmInline +public value class WrapperListNumberedItemM( + public override val builder: ListItemStyleBuilder, +) : WrapperListNumberedItem + private val ListItemStyleBuilder.invariantProps: ListItemStyleBuilder @Composable get() = this @@ -51,6 +59,7 @@ public val ListNumberedItem.S: WrapperListNumberedItemS get() = ListItemStyle.builder(this) .invariantProps .titleStyle(PlasmaHomeDsTheme.typography.bodySNormal) + .subtitleStyle(PlasmaHomeDsTheme.typography.bodyXsNormal) .dimensions { contentPaddingStart(6.0.dp) paddingStart(0.0.dp) @@ -58,5 +67,22 @@ public val ListNumberedItem.S: WrapperListNumberedItemS paddingTop(0.0.dp) paddingBottom(0.0.dp) } - .counterStyle(Counter.Xs.Secondary.style()) + .counterStyle(Counter.S.Secondary.style()) .wrap(::WrapperListNumberedItemS) + +public val ListNumberedItem.M: WrapperListNumberedItemM + @Composable + @JvmName("WrapperListNumberedItemM") + get() = ListItemStyle.builder(this) + .invariantProps + .titleStyle(PlasmaHomeDsTheme.typography.bodyMNormal) + .subtitleStyle(PlasmaHomeDsTheme.typography.bodySNormal) + .dimensions { + contentPaddingStart(6.0.dp) + paddingStart(0.0.dp) + paddingEnd(0.0.dp) + paddingTop(0.0.dp) + paddingBottom(0.0.dp) + } + .counterStyle(Counter.S.Secondary.style()) + .wrap(::WrapperListNumberedItemM)