diff --git a/build-system/docs-template/compose-template/docs/components/AutocompleteUsage.md b/build-system/docs-template/compose-template/docs/components/AutocompleteUsage.md index 08e77a7999..561659d118 100644 --- a/build-system/docs-template/compose-template/docs/components/AutocompleteUsage.md +++ b/build-system/docs-template/compose-template/docs/components/AutocompleteUsage.md @@ -15,12 +15,34 @@ title: Autocomplete Чтобы показать раскрывающийся список необходимо установить `showDropdown = true` и передать данные для раскрывающегося списка в `listContent`. -Чтобы показать пустое состояние, необходимо передать контент пустого состояния в `emptyContent` и установить `showEmptyState`. +Чтобы показать пустое состояние, необходимо передать контент пустого состояния в `emptyState` и установить `showEmptyState`. В скоупе dropdown существует преднастроенный компонент `EmptyState()`. Рекомендуется использовать его в качестве контента для `emptyState`. Чтобы показывать индикатор загрузки или произвольный контент в нижней части списка, необходимо передать контент в `footer`. +## StatefulValue и Motion + +`AutocompleteStyle` содержит вложенные `textFieldStyle` и `dropdownStyle`. StatefulValue задаются внутри этих стилей: +например, фон TextField может зависеть от фокуса. Собственных цветов, размеров или формы у стиля Autocomplete нет. + +Для передачи контекста меню используйте перегрузку с обязательным `dropdownMotion: Motion`. +Существующие вызовы остаются совместимыми и создают Motion меню через `rememberDropdownMenuMotion()` с +`LocalDropdownMenuMotionStyle`. Motion поля передаётся непосредственно в TextField внутри слота `field`. +Поле, меню и строки используют независимые контексты по умолчанию; при необходимости источники можно связать явно. + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/autocomplete/Autocomplete_Motion.kt +``` + +В примере stateful-фон поля меняется при фокусе через существующий `TextFieldMotionStyle`. +Фильтрацией подсказок, выбором и флагом `showDropdown` управляет вызывающий код. +`onDismissRequest` сообщает о запросе закрытия; обновление флага остаётся у потребителя. + +В текущем API контекст меню уже используется для stateful-обводки (`strokeColor`). Доступные переходы свойств +определяются реализацией DropdownMenu; передача Motion сама по себе не добавляет анимации его фона, размеров или формы. +`noMotion` отключает настроенные переходы свойств и сохраняет существующие `fadeIn`/`fadeOut` меню и `TextFieldAnimation`. + ## Стиль Autocomplete В большинстве случаев можно использовать готовые сгенерированные стили, а при необходимости создать собственный стиль через соответствующий builder. Подробнее о том, как работают `Style`, `StyleBuilder` и stateful-параметры стиля, см. в разделе [Стилизация компонентов](../theme/Styles.md). @@ -31,4 +53,4 @@ title: Autocomplete ```kotlin // @sample: com/sdds/compose/uikit/fixtures/samples/autocomplete/Autocomplete_Style.kt -``` \ No newline at end of file +``` diff --git a/build-system/docs-template/compose-template/docs/components/ComboBoxUsage.md b/build-system/docs-template/compose-template/docs/components/ComboBoxUsage.md index 2fab4c4662..9172088bf2 100644 --- a/build-system/docs-template/compose-template/docs/components/ComboBoxUsage.md +++ b/build-system/docs-template/compose-template/docs/components/ComboBoxUsage.md @@ -109,6 +109,32 @@ val filteredList = if (state.isOpened && value.isEmpty()) { ## Стиль ComboBox +### Motion поля и меню + +Обе формы `ComboBoxTextField` (`String` и `TextFieldValue`) принимают обязательный параметр +`motion: Motion` в новых перегрузках. Поле и логика открытия используют +`motion.context.interactionSource`; отдельный `interactionSource` в этих перегрузках не передаётся. +Старые вызовы, включая Android drawable-адаптеры, сохраняются и создают Motion из прежнего +источника и `LocalTextFieldMotionStyle`. Замена источника или экземпляра `SelectState` +переподключает подписки и снимает прежнюю активацию. `TextFieldValue` сохраняет выделение и composition. + +У `ComboBox` есть перегрузка с `dropdownMotion: Motion`. +Она передаёт объект существующему меню. Поле, меню и строки имеют независимые контексты +по умолчанию; общий контекст задаётся явно. `ComboBoxStyle` по-прежнему содержит обычные +`textFieldStyle`, `dropdownStyle` и `selectItemStyle`. + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/combobox/ComboBox_Motion.kt +``` + +Незаданные Motion-переходы используют `noMotion()`. Это не отключает прежние +`TextFieldAnimation` и fade-переходы появления/исчезновения меню. Доступны только свойства, +которые поддерживают текущие `TextFieldMotionStyle` и `DropdownMenuMotionStyle`. +Переработка анимаций DropdownMenu/Popover в `feature/plasma-8013` выполняется отдельно; +данная миграция не расширяет их набор свойств. + +Stateful-стиль и переходы строк описаны в разделе [SelectItem](SelectUsage#selectitem). + В большинстве случаев можно использовать готовые сгенерированные стили, а при необходимости создать собственный стиль через соответствующий builder. Подробнее о том, как работают `Style`, `StyleBuilder` и stateful-параметры стиля, см. в разделе [Стилизация компонентов](../theme/Styles.md). diff --git a/build-system/docs-template/compose-template/docs/components/SegmentItemUsage.md b/build-system/docs-template/compose-template/docs/components/SegmentItemUsage.md index e015509012..2a09fd4f3a 100644 --- a/build-system/docs-template/compose-template/docs/components/SegmentItemUsage.md +++ b/build-system/docs-template/compose-template/docs/components/SegmentItemUsage.md @@ -19,3 +19,34 @@ title: SegmentItem ```kotlin // @sample: com/sdds/compose/uikit/fixtures/samples/segment/SegmentItem_Style.kt ``` + +## Состояния и Motion API + +У всех трёх форм `SegmentItem` есть перегрузка с `motion: Motion`. +`rememberSegmentItemMotion()` использует переданный стиль переходов или `LocalSegmentItemMotionStyle`. +Через `SegmentItemMotionStyle` настраиваются переходы фона, текста, иконок, типографики и всех размеров/отступов. +По умолчанию используется `noMotion()`, поэтому добавление Motion само по себе не запускает анимации. + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/segment/SegmentItem_Motion.kt +``` + +`isSelected` обновляет семантическое состояние элемента. Для pressed, hovered и focused передавайте +`motion.context.interactionSource` в модификатор взаимодействия, например `clickable`. +Встроенный Counter использует тот же контекст состояний и собственные CounterStyle/CounterMotionStyle. +У произвольного содержимого слотов общий контекст задаётся явно. +При наличии `endIcon` счётчик не отображается; null или пустой counter не создаёт слот счётчика. + +### Переход со старых свойств + +Старые перегрузки компонента и builder-вызовы с Color, InteractiveColor, Dp, TextStyle и формой продолжают работать. +Новые свойства для чтения: `shapes`, `labelStyles`, `valueStyles`, цвета с суффиксом `Brush` +и размеры с суффиксом `Values`, например `dimensions.endContentSizeValues`. +Размер конечной иконки определяется `endContentSize`, независимо от размера начальной иконки; +отступ `valueMargin` учитывает также selected из семантического источника. + +Старые deprecated-свойства формы, размеров и типографики возвращают default-значения. +Legacy InteractiveColor сохраняет однотонные состояния; для градиентов его fallback — Color.Transparent. +Отрисовка через новые Brush-свойства поддерживает градиенты. +Форма переключается без плавной интерполяции, `disabledAlpha` остаётся обычным Float. +Собственные реализации style/builder-интерфейсов необходимо дополнить новыми контрактами. diff --git a/build-system/docs-template/compose-template/docs/components/SegmentUsage.md b/build-system/docs-template/compose-template/docs/components/SegmentUsage.md index 098d4e10a7..ecc453584d 100644 --- a/build-system/docs-template/compose-template/docs/components/SegmentUsage.md +++ b/build-system/docs-template/compose-template/docs/components/SegmentUsage.md @@ -49,3 +49,31 @@ SegmentHorizontal( ``` + +## Состояния и Motion API + +В перегрузки `SegmentHorizontal` и `SegmentVertical` можно передать `motion: Motion`. +`rememberSegmentMotion()` использует `LocalSegmentMotionStyle`, если стиль переходов не указан явно. +`StatefulValue` задаёт значения для состояний, а `SegmentMotionStyle` — переходы фона, отступов, gap и отступов разделителей. +По умолчанию все переходы используют `noMotion()`: значения меняются без анимации. + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/segment/Segment_Motion.kt +``` + +Для передачи взаимодействий используйте `motion.context.interactionSource` также в `clickable`. +Семантические состояния задаются через `motion.context.semanticStateSource`. +Контейнер не объединяет автоматически состояния своих `SegmentItem`: у каждого элемента остаётся собственный контекст. +`hasBackground = false` отключает фон, сохраняя изменение размеров по состояниям. +Неопределённый gap отображается как нулевой; размеры с неопределёнными значениями переключаются без интерполяции. + +### Переход со старых свойств + +Существующие вызовы компонентов и builder-ов со статическими значениями сохраняются. +Для чтения текущих значений используйте stateful-свойства `shapes`, `colors.backgroundBrush` +и размерные свойства с суффиксом `Values`, например `dimensions.gapValues`. +Старые свойства помечены deprecated: размеры и форма возвращают default-значение, +а цветовое представление сохраняет однотонные состояния. Для градиентов старый Color API возвращает прозрачный цвет; +для отображения градиентов используйте `backgroundBrush`. +Форма переключается по состоянию без плавной анимации. Собственные реализации style/builder-интерфейсов +необходимо дополнить новыми контрактами. diff --git a/build-system/docs-template/compose-template/docs/components/SelectUsage.md b/build-system/docs-template/compose-template/docs/components/SelectUsage.md index b19dbb43c5..7e08d2f137 100644 --- a/build-system/docs-template/compose-template/docs/components/SelectUsage.md +++ b/build-system/docs-template/compose-template/docs/components/SelectUsage.md @@ -68,6 +68,47 @@ SelectItem( ## Работа с компонентом +### Stateful-стиль и Motion SelectItem + +`checked` публикуется как `InteractiveState.Selected` в семантическом источнике строки. +Стиль может сочетать Selected с Pressed, Hovered и Focused. Строки независимы по умолчанию. +Новые перегрузки обеих форм `SelectItem` принимают `motion: Motion`; +старые вызовы сохраняются и используют прежний `interactionSource` и `LocalSelectItemMotionStyle`. + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/select/SelectItem_Motion.kt +``` + +Встроенные Cell (форма с `titleContent`) и CheckBox разделяют контекст строки, сохраняя +собственные MotionStyle, checked/enabled и собственные состояния. Выбор изменяется одним +`onClick` строки. Для Cell внутри произвольного `content` контекст передаётся явно: + +```kotlin +// @sample: com/sdds/compose/uikit/fixtures/samples/select/SelectItem_CustomCellMotion.kt +``` + +| Владелец | Новое значение | Старый getter | +| --- | --- | --- | +| SelectItemStyle | `shapes: StatefulValue` | `shape` | +| SelectItemColors | `backgroundBrush`, `iconBrush`: `StatefulValue` | `backgroundColor`, `iconColor` | +| SelectItemDimensions | `controlSizeValues`, `controlMarginValues`, `paddingStartValues`, `paddingEndValues`, `paddingTopValues`, `paddingBottomValues`, `heightValues`: `StatefulValue` | те же имена без `Values` | + +Builder-методы сохраняют прежние имена и принимают как статические значения, так и +`StatefulValue`. Цвета дополнительно принимают `Brush`. Старые getters помечены Deprecated: +форма и размеры возвращают default; цветовые getters возвращают +`Color.Transparent.asInteractive()`, как в Cell/Chip. Default, selected и комбинированные +состояния старых цветовых builder-вызовов сохраняются в новом Brush API, включая градиенты. + +Произвольная `Shape` поддерживается; форма и все размеры переключаются без интерполяции через +`getValueAsState(motion.context)`, как размеры BaseTextField. Фон и indication +используют одну разрешённую форму. MotionStyle содержит два перехода Brush, +по умолчанию `noMotion()`. Неконечные Dp переключаются без анимации и без замены на ноль. +`height` сохраняет смысл минимальной высоты, а место контрольной иконки резервируется +даже при её отсутствии. `disableAlpha`, вложенные стили и ImageSource-контракт не меняются. + +Обычные вызовы и сгенерированные стили совместимы. Собственные реализации интерфейсов +SelectItemStyle/Colors/Dimensions и их builder-ов нужно дополнить новыми членами. + ### SelectState Для работы с компонентом необходимо создать экземпляр `SelectState` и передать его в `Select`. @@ -113,4 +154,4 @@ state.toggle // переключить текущее состояние ```kotlin // @sample: com/sdds/compose/uikit/fixtures/samples/select/Select_Style.kt -``` \ No newline at end of file +``` diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segment/SegmentStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segment/SegmentStyles.kt index 63d6868739..7c4614ef28 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segment/SegmentStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segment/SegmentStyles.kt @@ -9,6 +9,7 @@ package com.sdds.compose.sandbox.styles.segment import androidx.compose.foundation.shape.CircleShape import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.segmentitem.Accent import com.sdds.compose.sandbox.styles.segmentitem.L @@ -24,7 +25,7 @@ import com.sdds.compose.sandbox.theme.SddsSandboxTheme import com.sdds.compose.uikit.SegmentStyle import com.sdds.compose.uikit.SegmentStyleBuilder import com.sdds.compose.uikit.adjustBy -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -209,7 +210,7 @@ private val SegmentStyleBuilder.invariantProps: SegmentStyleBuilder @Composable get() = this .colors { - backgroundColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary.asInteractive()) + backgroundColor(SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary).asStatefulValue()) } public val WrapperSegmentXlView.Primary: WrapperSegmentTerminate diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segmentitem/SegmentItemStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segmentitem/SegmentItemStyles.kt index 95f3c360a9..59c3132039 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segmentitem/SegmentItemStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/segmentitem/SegmentItemStyles.kt @@ -9,6 +9,7 @@ package com.sdds.compose.sandbox.styles.segmentitem import androidx.compose.foundation.shape.CircleShape import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.counter.Accent import com.sdds.compose.sandbox.styles.counter.Counter @@ -20,7 +21,7 @@ import com.sdds.compose.uikit.SegmentItemStyle import com.sdds.compose.uikit.SegmentItemStyleBuilder import com.sdds.compose.uikit.adjustBy import com.sdds.compose.uikit.interactions.InteractiveState -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -174,73 +175,72 @@ public val WrapperSegmentItemView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -251,74 +251,72 @@ public val WrapperSegmentItemView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } @@ -329,73 +327,72 @@ public val WrapperSegmentItemView.Accent: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -412,73 +409,72 @@ public val WrapperSegmentItemXlView.Accent: WrapperSegmentItemTerminate .counterStyle(Counter.S.Accent.style()) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -490,73 +486,72 @@ public val WrapperSegmentItemXlView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -568,74 +563,72 @@ public val WrapperSegmentItemXlView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } @@ -682,73 +675,72 @@ public val WrapperSegmentItemLView.Accent: WrapperSegmentItemTerminate .counterStyle(Counter.S.Accent.style()) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -760,73 +752,72 @@ public val WrapperSegmentItemLView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -838,74 +829,72 @@ public val WrapperSegmentItemLView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } @@ -952,73 +941,72 @@ public val WrapperSegmentItemMView.Accent: WrapperSegmentItemTerminate .counterStyle(Counter.Xs.Accent.style()) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -1030,73 +1018,72 @@ public val WrapperSegmentItemMView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -1108,74 +1095,72 @@ public val WrapperSegmentItemMView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } @@ -1222,73 +1207,72 @@ public val WrapperSegmentItemSView.Accent: WrapperSegmentItemTerminate .counterStyle(Counter.Xs.Accent.style()) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -1300,73 +1284,72 @@ public val WrapperSegmentItemSView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -1378,74 +1361,72 @@ public val WrapperSegmentItemSView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } @@ -1492,73 +1473,72 @@ public val WrapperSegmentItemXsView.Accent: WrapperSegmentItemTerminate .counterStyle(Counter.Xxs.Accent.style()) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultAccent, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultAccentActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccent), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultAccentHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultAccentHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textOnDarkSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textOnDarkPrimary, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textOnDarkPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textOnDarkPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textOnDarkPrimaryHover), ), ) } @@ -1570,73 +1550,72 @@ public val WrapperSegmentItemXsView.Primary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefault, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefault), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultSolidDefaultHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textInverseSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInverseSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInverseSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textInverseSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textInversePrimary, + SolidColor(SddsSandboxTheme.colors.textInversePrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textInversePrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textInversePrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textInversePrimaryHover, + SolidColor(SddsSandboxTheme.colors.textInversePrimaryHover), ), ) } @@ -1648,74 +1627,72 @@ public val WrapperSegmentItemXsView.Secondary: WrapperSegmentItemTerminate get() = builder .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.surfaceDefaultClearHover, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultClearHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCard, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCard), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover, + SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentCardHover), ), ) labelColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultPrimaryHover, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultPrimaryActive, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) valueColor( - SddsSandboxTheme.colors.textDefaultSecondary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary).asStatefulValue( setOf(InteractiveState.Hovered) - to SddsSandboxTheme.colors.textDefaultSecondaryHover, - setOf(InteractiveState.Selected) - to SddsSandboxTheme.colors.textDefaultSecondary, - setOf( - InteractiveState.Selected, - InteractiveState.Pressed, - ) to SddsSandboxTheme.colors.textDefaultSecondaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), + setOf(InteractiveState.Selected) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondary), + setOf(InteractiveState.Selected, InteractiveState.Pressed) to + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryActive), setOf(InteractiveState.Selected, InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultSecondaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultSecondaryHover), ), ) startContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) endContentColor( - SddsSandboxTheme.colors.textDefaultPrimary.asInteractive( + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary).asStatefulValue( setOf(InteractiveState.Pressed) - to SddsSandboxTheme.colors.textDefaultPrimaryActive, + to SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryActive), setOf(InteractiveState.Hovered) to - SddsSandboxTheme.colors.textDefaultPrimaryHover, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), setOf(InteractiveState.Selected) to - SddsSandboxTheme.colors.textDefaultPrimary, + SolidColor(SddsSandboxTheme.colors.textDefaultPrimary), setOf( InteractiveState.Selected, InteractiveState.Hovered, - ) to SddsSandboxTheme.colors.textDefaultPrimaryHover, + ) to + SolidColor(SddsSandboxTheme.colors.textDefaultPrimaryHover), ), ) } diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleNormalStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleNormalStyles.kt index bbfde8fe2c..e6a89d4710 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleNormalStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleNormalStyles.kt @@ -8,6 +8,7 @@ package com.sdds.compose.sandbox.styles.selectitem import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.cell.Cell import com.sdds.compose.sandbox.styles.cell.L @@ -24,7 +25,7 @@ import com.sdds.compose.uikit.SelectItemStyleBuilder import com.sdds.compose.uikit.SelectItemType import com.sdds.compose.uikit.adjustBy import com.sdds.compose.uikit.interactions.InteractiveState -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -85,9 +86,9 @@ private val SelectItemStyleBuilder.invariantProps: SelectItemStyleBuilder .disableAlpha(0.4f) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Focused) - to SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary), ), ) } diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleTightStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleTightStyles.kt index 84462d4929..33b2bc27c8 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleTightStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemMultipleTightStyles.kt @@ -8,6 +8,7 @@ package com.sdds.compose.sandbox.styles.selectitem import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.cell.Cell import com.sdds.compose.sandbox.styles.cell.L @@ -24,7 +25,7 @@ import com.sdds.compose.uikit.SelectItemStyleBuilder import com.sdds.compose.uikit.SelectItemType import com.sdds.compose.uikit.adjustBy import com.sdds.compose.uikit.interactions.InteractiveState -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -85,9 +86,9 @@ private val SelectItemStyleBuilder.invariantProps: SelectItemStyleBuilder .disableAlpha(0.4f) .colors { backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Focused) - to SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary), ), ) } diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleNormalStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleNormalStyles.kt index f2cc4c4eb0..2e3cf24647 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleNormalStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleNormalStyles.kt @@ -8,6 +8,7 @@ package com.sdds.compose.sandbox.styles.selectitem import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.cell.Cell import com.sdds.compose.sandbox.styles.cell.L @@ -21,7 +22,7 @@ import com.sdds.compose.uikit.SelectItemType import com.sdds.compose.uikit.adjustBy import com.sdds.compose.uikit.imageVectorSource import com.sdds.compose.uikit.interactions.InteractiveState -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -84,11 +85,11 @@ private val SelectItemStyleBuilder.invariantProps: SelectItemStyleBuilder .itemType(SelectItemType.Single) .disableAlpha(0.4f) .colors { - iconColor(SddsSandboxTheme.colors.textDefaultAccent.asInteractive()) + iconColor(SolidColor(SddsSandboxTheme.colors.textDefaultAccent).asStatefulValue()) backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Focused) - to SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary), ), ) } diff --git a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleTightStyles.kt b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleTightStyles.kt index bb79668685..3a0df2cec8 100644 --- a/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleTightStyles.kt +++ b/integration-core/sandbox-compose/src/commonMain/kotlin/com/sdds/compose/sandbox/styles/selectitem/SelectItemSingleTightStyles.kt @@ -8,6 +8,7 @@ package com.sdds.compose.sandbox.styles.selectitem import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.unit.dp import com.sdds.compose.sandbox.styles.cell.Cell import com.sdds.compose.sandbox.styles.cell.L @@ -21,7 +22,7 @@ import com.sdds.compose.uikit.SelectItemType import com.sdds.compose.uikit.adjustBy import com.sdds.compose.uikit.imageVectorSource import com.sdds.compose.uikit.interactions.InteractiveState -import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue import com.sdds.compose.uikit.style.BuilderWrapper import com.sdds.compose.uikit.style.style import com.sdds.compose.uikit.style.wrap @@ -84,11 +85,11 @@ private val SelectItemStyleBuilder.invariantProps: SelectItemStyleBuilder .itemType(SelectItemType.Single) .disableAlpha(0.4f) .colors { - iconColor(SddsSandboxTheme.colors.textDefaultAccent.asInteractive()) + iconColor(SolidColor(SddsSandboxTheme.colors.textDefaultAccent).asStatefulValue()) backgroundColor( - SddsSandboxTheme.colors.surfaceDefaultClear.asInteractive( + SolidColor(SddsSandboxTheme.colors.surfaceDefaultClear).asStatefulValue( setOf(InteractiveState.Focused) - to SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary, + to SolidColor(SddsSandboxTheme.colors.surfaceDefaultTransparentSecondary), ), ) } diff --git a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/autocomplete/AutocompleteMotionSamples.kt b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/autocomplete/AutocompleteMotionSamples.kt new file mode 100644 index 0000000000..b01188403f --- /dev/null +++ b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/autocomplete/AutocompleteMotionSamples.kt @@ -0,0 +1,80 @@ +package com.sdds.compose.uikit.fixtures.samples.autocomplete + +import androidx.compose.animation.core.tween +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import com.sdds.compose.uikit.Autocomplete +import com.sdds.compose.uikit.AutocompleteStyle +import com.sdds.compose.uikit.ListItem +import com.sdds.compose.uikit.TextField +import com.sdds.compose.uikit.TextFieldStyle +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.graphics.brush.asStatefulBrush +import com.sdds.compose.uikit.interactions.InteractiveState +import com.sdds.compose.uikit.motion.components.dropdownmenu.rememberDropdownMenuMotion +import com.sdds.compose.uikit.motion.components.textfield.TextFieldMotionStyle +import com.sdds.compose.uikit.motion.components.textfield.rememberTextFieldMotion +import com.sdds.compose.uikit.motion.finite +import com.sdds.compose.uikit.motion.transition +import com.sdds.docs.DocSample +import com.sdds.docs.composableCodeSnippet + +@Composable +@DocSample(needScreenshot = false) +fun Autocomplete_Motion() { + composableCodeSnippet { + var value by remember { mutableStateOf("") } + var showDropdown by remember { mutableStateOf(false) } + val suggestions = listOf("Москва", "Мурманск", "Самара").filter { it.contains(value, ignoreCase = true) } + val fieldMotion = rememberTextFieldMotion( + style = TextFieldMotionStyle.builder().backgroundColor( + transition { segment {} changesWith { finite(tween(200)) } }, + ).style(), + ) + val dropdownMotion = rememberDropdownMenuMotion() + Autocomplete( + dropdownMotion = dropdownMotion, + style = AutocompleteStyle.builder().textFieldStyle( + TextFieldStyle.builder().colors { + backgroundColor( + Color.LightGray.asStatefulBrush(setOf(InteractiveState.Focused) to Color.White), + ) + }.style(), + ).style(), + showDropdown = showDropdown, + onDismissRequest = { showDropdown = false }, + field = { + TextField( + value = value, + onValueChange = { + value = it + showDropdown = true + }, + modifier = Modifier.width(260.dp), + placeholderText = "Город", + focusSelectorSettings = FocusSelectorSettings.None, + motion = fieldMotion, + ) + }, + listContent = { + items(suggestions.size) { index -> + ListItem( + text = suggestions[index], + modifier = Modifier.clickable { + value = suggestions[index] + showDropdown = false + }, + ) + } + }, + ) + } +} diff --git a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/combobox/ComboBoxMotionSamples.kt b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/combobox/ComboBoxMotionSamples.kt new file mode 100644 index 0000000000..5be5d1cec6 --- /dev/null +++ b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/combobox/ComboBoxMotionSamples.kt @@ -0,0 +1,74 @@ +package com.sdds.compose.uikit.fixtures.samples.combobox + +import androidx.compose.animation.core.tween +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import com.sdds.compose.uikit.ComboBox +import com.sdds.compose.uikit.ComboBoxTextField +import com.sdds.compose.uikit.SelectItem +import com.sdds.compose.uikit.SelectState +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TextFieldStyle +import com.sdds.compose.uikit.graphics.brush.asStatefulBrush +import com.sdds.compose.uikit.interactions.InteractiveState +import com.sdds.compose.uikit.motion.components.dropdownmenu.rememberDropdownMenuMotion +import com.sdds.compose.uikit.motion.components.textfield.TextFieldMotionStyle +import com.sdds.compose.uikit.motion.components.textfield.rememberTextFieldMotion +import com.sdds.compose.uikit.motion.finite +import com.sdds.compose.uikit.motion.transition +import com.sdds.docs.DocSample +import com.sdds.docs.composableCodeSnippet + +@Composable +@DocSample(needScreenshot = false) +fun ComboBox_Motion() { + composableCodeSnippet { + val state = remember { SelectState() } + var value by remember { mutableStateOf("") } + val fieldMotion = rememberTextFieldMotion( + style = TextFieldMotionStyle.builder().backgroundColor( + transition { segment {} changesWith { finite(tween(200)) } }, + ).style(), + ) + // Передаётся существующий Motion меню. Доступные переходы задаёт DropdownMenuMotionStyle. + val dropdownMotion = rememberDropdownMenuMotion() + ComboBox( + dropdownMotion = dropdownMotion, + state = state, + trigger = { + ComboBoxTextField( + motion = fieldMotion, + value = value, + onValueChange = { value = it }, + modifier = Modifier.width(260.dp), + style = TextFieldStyle.builder().colors { + backgroundColor( + Color.LightGray.asStatefulBrush( + setOf(InteractiveState.Activated) to Color.White, + ), + ) + }.style(), + ) + }, + listContent = { + item { + SelectItem( + checked = value == "Москва", + onClick = { + value = "Москва" + state.close() + }, + titleContent = { Text("Москва") }, + ) + } + }, + ) + } +} diff --git a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentItemSamples.kt b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentItemSamples.kt index 0f99d07b88..a2c292653e 100644 --- a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentItemSamples.kt +++ b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentItemSamples.kt @@ -1,17 +1,31 @@ package com.sdds.compose.uikit.fixtures.samples.segment +import androidx.compose.animation.core.tween +import androidx.compose.foundation.clickable import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import com.sdds.compose.uikit.CounterStyle import com.sdds.compose.uikit.SegmentItem import com.sdds.compose.uikit.SegmentItemStyle import com.sdds.compose.uikit.adjustBy +import com.sdds.compose.uikit.graphics.brush.asStatefulBrush import com.sdds.compose.uikit.interactions.InteractiveState import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue +import com.sdds.compose.uikit.motion.components.segment.SegmentItemMotionStyle +import com.sdds.compose.uikit.motion.components.segment.rememberSegmentItemMotion +import com.sdds.compose.uikit.motion.finite +import com.sdds.compose.uikit.motion.transition import com.sdds.docs.DocSample import com.sdds.docs.composableCodeSnippet @@ -83,3 +97,43 @@ fun SegmentItem_Style() { .style() } } + +@Composable +@DocSample(needScreenshot = false) +fun SegmentItem_Motion() { + composableCodeSnippet { + var selected by remember { mutableStateOf(false) } + val selectedState = setOf(InteractiveState.Selected) + val counterStyle = CounterStyle.builder() + .colors { backgroundBrush(Color.LightGray.asStatefulBrush(selectedState to Color.Green)) } + .style() + val style = SegmentItemStyle.builder() + .colors { backgroundColor(Color.LightGray.asStatefulBrush(selectedState to Color.Cyan)) } + .labelStyle(TextStyle(fontSize = 14.sp)) + .dimensions { + minHeight(40.dp.asStatefulValue(selectedState to 48.dp)) + valueMargin(4.dp.asStatefulValue(selectedState to 12.dp)) + } + .counterStyle(counterStyle) + .style() + val motion = rememberSegmentItemMotion( + style = SegmentItemMotionStyle.builder() + .backgroundColor(transition { segment {} changesWith { finite(tween(200)) } }) + .minHeight(transition { segment {} changesWith { finite(tween(200)) } }) + .valueMargin(transition { segment {} changesWith { finite(tween(200)) } }) + .style(), + ) + SegmentItem( + motion = motion, + style = style, + label = "Сообщения", + value = "Новые", + counter = "7", + isSelected = selected, + modifier = Modifier.clickable( + interactionSource = motion.context.interactionSource, + indication = null, + ) { selected = !selected }, + ) + } +} diff --git a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentSamples.kt b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentSamples.kt index 6187de83a5..1d22e8441f 100644 --- a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentSamples.kt +++ b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/segment/SegmentSamples.kt @@ -1,7 +1,14 @@ package com.sdds.compose.uikit.fixtures.samples.segment +import androidx.compose.animation.core.tween +import androidx.compose.foundation.clickable import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp @@ -11,7 +18,15 @@ import com.sdds.compose.uikit.SegmentItem import com.sdds.compose.uikit.SegmentItemStyle import com.sdds.compose.uikit.SegmentStyle import com.sdds.compose.uikit.adjustBy +import com.sdds.compose.uikit.graphics.brush.asStatefulBrush +import com.sdds.compose.uikit.interactions.InteractiveState import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.asStatefulValue +import com.sdds.compose.uikit.interactions.selection +import com.sdds.compose.uikit.motion.components.segment.SegmentMotionStyle +import com.sdds.compose.uikit.motion.components.segment.rememberSegmentMotion +import com.sdds.compose.uikit.motion.finite +import com.sdds.compose.uikit.motion.transition import com.sdds.docs.DocSample import com.sdds.docs.composableCodeSnippet @@ -89,3 +104,35 @@ fun Segment_Style() { .style() } } + +@Composable +@DocSample(needScreenshot = false) +fun Segment_Motion() { + composableCodeSnippet { + var expanded by remember { mutableStateOf(false) } + val selectedState = setOf(InteractiveState.Selected) + val style = SegmentStyle.builder() + .colors { backgroundColor(Color.LightGray.asStatefulBrush(selectedState to Color.Gray)) } + .dimensions { gap(4.dp.asStatefulValue(selectedState to 16.dp)) } + .style() + val motion = rememberSegmentMotion( + style = SegmentMotionStyle.builder() + .gap(transition { segment {} changesWith { finite(tween(200)) } }) + .backgroundColor(transition { segment {} changesWith { finite(tween(200)) } }) + .style(), + ) + SegmentHorizontal( + motion = motion, + style = style, + stretch = false, + modifier = Modifier + .selection(expanded, motion.context.semanticStateSource) + .clickable(interactionSource = motion.context.interactionSource, indication = null) { + expanded = !expanded + }, + ) { + segmentItem { SegmentItem(label = "Первый", isSelected = true) } + segmentItem { SegmentItem(label = "Второй") } + } + } +} diff --git a/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/select/SelectItemMotionSamples.kt b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/select/SelectItemMotionSamples.kt new file mode 100644 index 0000000000..197506343e --- /dev/null +++ b/integration-core/uikit-compose-fixtures/src/androidMain/kotlin/com/sdds/compose/uikit/fixtures/samples/select/SelectItemMotionSamples.kt @@ -0,0 +1,71 @@ +package com.sdds.compose.uikit.fixtures.samples.select + +import androidx.compose.animation.core.tween +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import com.sdds.compose.uikit.Cell +import com.sdds.compose.uikit.SelectItem +import com.sdds.compose.uikit.SelectItemStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.graphics.brush.asStatefulBrush +import com.sdds.compose.uikit.interactions.InteractiveState +import com.sdds.compose.uikit.interactions.asStatefulValue +import com.sdds.compose.uikit.motion.components.cell.rememberCellMotion +import com.sdds.compose.uikit.motion.components.select.SelectItemMotionStyle +import com.sdds.compose.uikit.motion.components.select.rememberSelectItemMotion +import com.sdds.compose.uikit.motion.finite +import com.sdds.compose.uikit.motion.transition +import com.sdds.docs.DocSample +import com.sdds.docs.composableCodeSnippet + +@Composable +@DocSample(needScreenshot = false) +fun SelectItem_Motion() { + composableCodeSnippet { + var checked by remember { mutableStateOf(false) } + val selected = setOf(InteractiveState.Selected) + val itemMotion = rememberSelectItemMotion( + style = SelectItemMotionStyle.builder() + .backgroundColor(transition { segment {} changesWith { finite(tween(200)) } }) + .style(), + ) + SelectItem( + motion = itemMotion, + checked = checked, + onClick = { checked = !checked }, + modifier = Modifier.fillMaxWidth(), + style = SelectItemStyle.builder() + .colors { backgroundColor(Color.Transparent.asStatefulBrush(selected to Color.LightGray)) } + .dimensions { height(48.dp.asStatefulValue(selected to 56.dp)) } + .style(), + titleContent = { Text("Встроенная Cell разделяет контекст строки") }, + ) + } +} + +@Composable +@DocSample(needScreenshot = false) +fun SelectItem_CustomCellMotion() { + composableCodeSnippet { + var checked by remember { mutableStateOf(false) } + val itemMotion = rememberSelectItemMotion() + SelectItem( + motion = itemMotion, + checked = checked, + onClick = { checked = !checked }, + content = { + Cell( + motion = rememberCellMotion(motionContext = itemMotion.context), + titleContent = { Text("Общий контекст передан явно") }, + ) + }, + ) + } +} diff --git a/openspec/changes/archive/2026-09-03-combobox-stateful-motion/.openspec.yaml b/openspec/changes/archive/2026-09-03-combobox-stateful-motion/.openspec.yaml new file mode 100644 index 0000000000..9696e00f11 --- /dev/null +++ b/openspec/changes/archive/2026-09-03-combobox-stateful-motion/.openspec.yaml @@ -0,0 +1,2 @@ +schema: spec-driven +created: 2026-09-03 diff --git a/openspec/changes/archive/2026-09-03-combobox-stateful-motion/design.md b/openspec/changes/archive/2026-09-03-combobox-stateful-motion/design.md new file mode 100644 index 0000000000..493f5d9589 --- /dev/null +++ b/openspec/changes/archive/2026-09-03-combobox-stateful-motion/design.md @@ -0,0 +1,148 @@ +## Context + +ComboBoxStyle содержит только textFieldStyle, dropdownStyle и selectItemStyle. ComboBox предоставляет эти стили через CompositionLocal и вызывает BaseDropdownMenu, который уже принимает `Motion`. ComboBoxTextField имеет две commonMain-формы (String/TextFieldValue с ImageSource) и два deprecated Android-адаптера с drawable id. Обе основные формы вызывают TextField без возможности передать ему Motion извне. + +SelectItem имеет две формы: произвольный content и удобный overload со слотами встроенной Cell. Визуальные свойства строки пока статические либо InteractiveColor. checked управляет контрольной иконкой/CheckBox, но не публикуется как Selected для фона и размеров строки. Встроенные Cell и CheckBox используют собственные контексты. + +Ориентиры: `6387720b5` (TextField и MaskedTextField Motion), завершённый `segment-stateful-motion` (совместимые перегрузки, Brush, семантическая выбранность, общий контекст встроенного компонента). В локальной истории есть `2eb82183d` из `feature/plasma-8013`, меняющий Popover и адаптацию DropdownMenu; эта работа не включается в данный change. + +## Goals / Non-Goals + +**Goals:** + +- Дать потребителю ComboBoxTextField доступ к существующим возможностям TextField Motion, сохранив поведение ввода, фокуса и открытия. +- Дать ComboBox явный вход для уже существующего Motion меню. +- Мигрировать собственные визуальные значения SelectItem и согласовать состояния строки, встроенной Cell и CheckBox. +- Сохранить source-вызовы компонентов, старые getters, обычные builder-вызовы и текущие defaults; проверить сохранность старых публичных сигнатур. +- Поддержать штатную генерацию, KDoc, документацию и полный прогон скриншотов Compose-библиотек. + +**Non-Goals:** + +- Изменение DropdownMenuStyle, DropdownMenuMotionStyle, DropdownMenu/ModalDropdownMenu, BaseDropdownMenu, Popover/Tooltip/BasePopover и их генерации. Эти файлы остаются за `feature/plasma-8013`. +- Новые анимационные свойства TextField, Cell, CheckBox или глобальная переработка MotionContext. Используются возможности, имеющиеся у зависимых компонентов на ветке реализации. +- Отдельный ComboBoxMotionStyle, превращение вложенных стилей в StatefulValue