diff --git a/.github/scripts/changed-modules.sh b/.github/scripts/changed-modules.sh index 027c77a040..584bd564c5 100755 --- a/.github/scripts/changed-modules.sh +++ b/.github/scripts/changed-modules.sh @@ -59,6 +59,14 @@ while IFS= read -r FILE; do fi fi + # integration-core + if [[ "$FILE" == integration-core/*/* ]]; then + FIRST=$(echo "$FILE" | cut -d '/' -f2) + MODULE=":integration-core:$FIRST" + MODULES_SET+=("$MODULE") + echo "✅ Matched: $MODULE" + fi + # tokens/* if [[ "$FILE" == tokens/* ]]; then INCLUDE_SANDBOX=true @@ -174,6 +182,33 @@ if [[ ${#IGNORED_MODULES[@]} -gt 0 ]]; then UNIQUE_MODULES=$(printf "%s " "${FILTERED_MODULES[@]}") fi +# Check which modules actually exist (to handle deleted modules) +EXISTING_MODULES=() +NON_EXISTENT_MODULES=() +for MODULE in $UNIQUE_MODULES; do + # Convert Gradle module path to filesystem path + # :app -> app + # :core:ui -> core/ui + FS_PATH="${MODULE#:}" # Remove leading colon + FS_PATH="${FS_PATH//://}" # Replace colons with slashes + + # Check if module directory exists + if [[ -d "$FS_PATH" ]]; then + EXISTING_MODULES+=("$MODULE") + else + NON_EXISTENT_MODULES+=("$MODULE") + fi +done + +# Report non-existent modules +if (( ${#NON_EXISTENT_MODULES[@]} > 0 )); then + echo "Warning: The following modules do not exist (they were likely deleted) and will be skipped:" >&2 + printf ' - %s\n' "${NON_EXISTENT_MODULES[@]}" >&2 +fi + +# Replace CLEANED_MODULES with only existing modules +UNIQUE_MODULES=$(printf "%s " "${EXISTING_MODULES[@]}") + echo "✅ Final module list: $UNIQUE_MODULES" # Output testing target for GitHub Actions diff --git a/.github/scripts/dispatch-publish.sh b/.github/scripts/dispatch-publish.sh index af523a16bc..044f298b82 100644 --- a/.github/scripts/dispatch-publish.sh +++ b/.github/scripts/dispatch-publish.sh @@ -28,6 +28,22 @@ for MODULE in "${MODULES[@]}"; do EVENT_TYPE="publish-uikit" PAYLOAD="{\"tag\": \"$TAG\"}" ;; + ":integration-core:sandbox-compose") + EVENT_TYPE="publish-integration-sandbox-compose" + PAYLOAD="{\"tag\": \"$TAG\"}" + ;; + ":integration-core:sandbox-view") + EVENT_TYPE="publish-integration-sandbox-view" + PAYLOAD="{\"tag\": \"$TAG\"}" + ;; + ":integration-core:sandbox-core") + EVENT_TYPE="publish-integration-sandbox-core" + PAYLOAD="{\"tag\": \"$TAG\"}" + ;; + ":integration-core:sandbox-ksp") + EVENT_TYPE="publish-integration-sandbox-ksp" + PAYLOAD="{\"tag\": \"$TAG\"}" + ;; ":sdds-core:plugin_theme_builder") EVENT_TYPE="publish-plugin-theme-builder" PAYLOAD="{\"tag\": \"$TAG\"}" diff --git a/.github/workflows/publish-integration-sandbox-compose-release.yml b/.github/workflows/publish-integration-sandbox-compose-release.yml new file mode 100644 index 0000000000..d739272fed --- /dev/null +++ b/.github/workflows/publish-integration-sandbox-compose-release.yml @@ -0,0 +1,63 @@ +name: 'Publish Integration Sandbox Compose Release' + +on: + repository_dispatch: + types: [publish-integration-sandbox-compose] + workflow_dispatch: + inputs: + tag: + description: "Тэг для релиза" + required: true + +concurrency: + # New commit on branch cancels running workflows of the same branch + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + publish-uikit: + name: Generate integration sandbox compose distribution zip + runs-on: ubuntu-latest + steps: + - name: Checkout the code + uses: actions/checkout@v4 + with: + ref: main + + - name: Prepare environment + uses: ./.github/actions/prepare-android-env + + - name: Determine tag + id: inputs + run: | + if [[ "${{ github.event_name }}" == "repository_dispatch" ]]; then + TAG="${{ github.event.client_payload.tag }}" + else + TAG="${{ github.event.inputs.tag }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + + - name: Generate distribution zip + env: + OSS_SIGNING_KEY_ID: ${{ secrets.OSS_SIGNING_KEY_ID }} + OSS_SIGNING_KEY: ${{ secrets.OSS_SIGNING_KEY }} + OSS_SIGNING_PASSWORD: ${{ secrets.OSS_SIGNING_PASSWORD }} + PP_AUTH_TOKEN: ${{ secrets.PP_AUTH_TOKEN }} + run: ./gradlew :integration-core:sandbox-compose:mavenPublish --info -PbranchName=main + + - name: Upload distribution + uses: actions/upload-artifact@v4 + with: + name: distribution + path: integration-core/sandbox-compose/build/distributions/*.zip + + - name: Create or Update Release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ steps.inputs.outputs.tag }} + draft: true + allowUpdates: true + omitBody: true + generateReleaseNotes: true + artifacts: integration-core/sandbox-compose/build/distributions/*.zip diff --git a/.github/workflows/publish-integration-sandbox-core-release.yml b/.github/workflows/publish-integration-sandbox-core-release.yml new file mode 100644 index 0000000000..dfa12a1383 --- /dev/null +++ b/.github/workflows/publish-integration-sandbox-core-release.yml @@ -0,0 +1,63 @@ +name: 'Publish Integration Sandbox Core Release' + +on: + repository_dispatch: + types: [publish-integration-sandbox-core] + workflow_dispatch: + inputs: + tag: + description: "Тэг для релиза" + required: true + +concurrency: + # New commit on branch cancels running workflows of the same branch + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + publish-uikit: + name: Generate integration sandbox core distribution zip + runs-on: ubuntu-latest + steps: + - name: Checkout the code + uses: actions/checkout@v4 + with: + ref: main + + - name: Prepare environment + uses: ./.github/actions/prepare-android-env + + - name: Determine tag + id: inputs + run: | + if [[ "${{ github.event_name }}" == "repository_dispatch" ]]; then + TAG="${{ github.event.client_payload.tag }}" + else + TAG="${{ github.event.inputs.tag }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + + - name: Generate distribution zip + env: + OSS_SIGNING_KEY_ID: ${{ secrets.OSS_SIGNING_KEY_ID }} + OSS_SIGNING_KEY: ${{ secrets.OSS_SIGNING_KEY }} + OSS_SIGNING_PASSWORD: ${{ secrets.OSS_SIGNING_PASSWORD }} + PP_AUTH_TOKEN: ${{ secrets.PP_AUTH_TOKEN }} + run: ./gradlew :integration-core:sandbox-core:mavenPublish --info -PbranchName=main + + - name: Upload distribution + uses: actions/upload-artifact@v4 + with: + name: distribution + path: integration-core/sandbox-core/build/distributions/*.zip + + - name: Create or Update Release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ steps.inputs.outputs.tag }} + draft: true + allowUpdates: true + omitBody: true + generateReleaseNotes: true + artifacts: integration-core/sandbox-core/build/distributions/*.zip diff --git a/.github/workflows/publish-integration-sandbox-ksp-release.yml b/.github/workflows/publish-integration-sandbox-ksp-release.yml new file mode 100644 index 0000000000..60320764bb --- /dev/null +++ b/.github/workflows/publish-integration-sandbox-ksp-release.yml @@ -0,0 +1,63 @@ +name: 'Publish Integration Sandbox Ksp Release' + +on: + repository_dispatch: + types: [publish-integration-sandbox-ksp] + workflow_dispatch: + inputs: + tag: + description: "Тэг для релиза" + required: true + +concurrency: + # New commit on branch cancels running workflows of the same branch + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + publish-uikit: + name: Generate integration sandbox ksp distribution zip + runs-on: ubuntu-latest + steps: + - name: Checkout the code + uses: actions/checkout@v4 + with: + ref: main + + - name: Prepare environment + uses: ./.github/actions/prepare-android-env + + - name: Determine tag + id: inputs + run: | + if [[ "${{ github.event_name }}" == "repository_dispatch" ]]; then + TAG="${{ github.event.client_payload.tag }}" + else + TAG="${{ github.event.inputs.tag }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + + - name: Generate distribution zip + env: + OSS_SIGNING_KEY_ID: ${{ secrets.OSS_SIGNING_KEY_ID }} + OSS_SIGNING_KEY: ${{ secrets.OSS_SIGNING_KEY }} + OSS_SIGNING_PASSWORD: ${{ secrets.OSS_SIGNING_PASSWORD }} + PP_AUTH_TOKEN: ${{ secrets.PP_AUTH_TOKEN }} + run: ./gradlew :integration-core:sandbox-ksp:mavenPublish --info -PbranchName=main + + - name: Upload distribution + uses: actions/upload-artifact@v4 + with: + name: distribution + path: integration-core/sandbox-ksp/build/distributions/*.zip + + - name: Create or Update Release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ steps.inputs.outputs.tag }} + draft: true + allowUpdates: true + omitBody: true + generateReleaseNotes: true + artifacts: integration-core/sandbox-ksp/build/distributions/*.zip diff --git a/.github/workflows/publish-integration-sandbox-view-release.yml b/.github/workflows/publish-integration-sandbox-view-release.yml new file mode 100644 index 0000000000..88fcf009e6 --- /dev/null +++ b/.github/workflows/publish-integration-sandbox-view-release.yml @@ -0,0 +1,63 @@ +name: 'Publish Integration Sandbox View Release' + +on: + repository_dispatch: + types: [publish-integration-sandbox-view] + workflow_dispatch: + inputs: + tag: + description: "Тэг для релиза" + required: true + +concurrency: + # New commit on branch cancels running workflows of the same branch + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + publish-uikit: + name: Generate integration sandbox view distribution zip + runs-on: ubuntu-latest + steps: + - name: Checkout the code + uses: actions/checkout@v4 + with: + ref: main + + - name: Prepare environment + uses: ./.github/actions/prepare-android-env + + - name: Determine tag + id: inputs + run: | + if [[ "${{ github.event_name }}" == "repository_dispatch" ]]; then + TAG="${{ github.event.client_payload.tag }}" + else + TAG="${{ github.event.inputs.tag }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + + - name: Generate distribution zip + env: + OSS_SIGNING_KEY_ID: ${{ secrets.OSS_SIGNING_KEY_ID }} + OSS_SIGNING_KEY: ${{ secrets.OSS_SIGNING_KEY }} + OSS_SIGNING_PASSWORD: ${{ secrets.OSS_SIGNING_PASSWORD }} + PP_AUTH_TOKEN: ${{ secrets.PP_AUTH_TOKEN }} + run: ./gradlew :integration-core:sandbox-view:mavenPublish --info -PbranchName=main + + - name: Upload distribution + uses: actions/upload-artifact@v4 + with: + name: distribution + path: integration-core/sandbox-view/build/distributions/*.zip + + - name: Create or Update Release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ steps.inputs.outputs.tag }} + draft: true + allowUpdates: true + omitBody: true + generateReleaseNotes: true + artifacts: integration-core/sandbox-view/build/distributions/*.zip diff --git a/SandboxADR.md b/SandboxADR.md new file mode 100644 index 0000000000..8a7b3c079f --- /dev/null +++ b/SandboxADR.md @@ -0,0 +1,239 @@ +# ADR: Sandbox. Библиотека для создания демо‑приложений + +## Статус +Draft (частичная реализация уже есть в PR) + +## Контекст и цель +Нужна единая библиотека и каркас демо‑приложений для дизайн‑системы, чтобы: +- унифицировать регистрацию историй (stories) и темы; +- иметь стабильный UX и UI для демо‑приложений в Compose и View‑системе; +- позволить дизайн‑системам подключаться через `include-build` и быстро получать песочницу. + +## Обзор решения +Решение строится на библиотечных модулях `sandbox-*`, которые инкапсулируют: +- базовые сущности (stories, state, registry, theme); +- UI оболочку демо‑приложения для Compose и View‑системы; +- KSP‑процессор для генерации регистрации историй. + +Каждая дизайн‑система (`/tokens/*`) содержит 2 служебных модуля: +- `integration`: подключает стили компонентов и связывает их с `sandbox-core`; +- `app`: демо‑приложение, наследуется от `SandboxActivity` и регистрирует темы/истории. + +## Расположение модулей +Все `sandbox-*` модули располагаются в `plasma-android/integration-core/`: + +``` +integration-core/ + sandbox-core/ + sandbox-compose/ + sandbox-views/ + sandbox-ksp/ +``` + +Модули дизайн‑систем располагаются в `/tokens/*`: + +``` +tokens// + docs/ + integration/ + app/ +``` + +## Модули sandbox + +### sandbox-core +Назначение: +- базовые сущности для stories и темы; +- реестр историй `StoryRegistry`; +- базовые интерфейсы темы и компонентов (`Theme`, `ComponentProvider`, `ComponentKey`); +- модель `UiState` и система редактируемых свойств (properties). + +Использование: +- stories описываются через `@Story` и `@StoryUiState`; +- `BaseStory` регистрируется в `StoryRegistry`; +- `ThemeManager` хранит текущую тему для песочницы. + +### sandbox-compose +Назначение: +- UI оболочка демо‑приложения на Compose; +- `SandboxActivity` с базовым экраном, навигацией и редактором свойств; +- Compose‑инфраструктура тем (`ComposeTheme`, `ComposeStyleProvider`). + +Использование: +- модуль `app` наследует `SandboxActivity`; +- тема приложения подготавливается как `SandboxTheme` внутри модуля и подключается в `SandboxActivity`; +- stories реализуются как наследники `ComposeBaseStory`. + +### sandbox-views +Назначение: +- UI оболочка демо‑приложения для View‑системы; +- `SandboxActivity` для View‑подхода; +- View‑тема и реестр историй. + +Источник UI: +- UI переносится из `playground.sandbox-compose` (пакет `core.view`); +- после переноса директория `playground` будет удалена. + +Использование: +- модуль `app` наследует `SandboxActivity` из `sandbox-views`; +- подключает `SandboxTheme` и регистрирует истории через `registerStories()`. + +### sandbox-ksp +Назначение: +- KSP‑процессор для генерации: + - списка историй; + - преобразования UiState в набор editable‑properties; + - функции `registerStories()`. + +Использование: +- включается в `integration`/`app` модуле; +- находит классы с `@Story` и `@StoryUiState`; +- генерирует `registerStories()` в пакете `com.sdds.sandbox` (или по опции `packageName`). + +## Модули дизайн‑системы (/tokens/*) + +### integration +Назначение: +- подключение стилей и компонентов; +- формирование `ComponentProvider` и `Theme`; +- зависит от `sandbox-core`. + +Сборка: +- использует `convention.integration-view` и `convention.integration-compose`; +- подключает стили, сгенерированные через `sdds-core/plugin-theme-builder`. + +### app +Назначение: +- демо‑приложение конкретной дизайн‑системы; +- зависит от: + - `integration`; + - `sandbox-core`; + - `sandbox-compose` или `sandbox-views`. + +Сборка: +- использует `convention.sandbox-app`. + +### Activity в app +Activity в `tokens//app`: +- наследуется от `SandboxActivity` (`sandbox-compose` или `sandbox-views`); +- вызывает: + - `registerTheme()` — регистрация темы; + - `registerCoreStories()` — базовые stories; + - `registerStories()` — сгенерированные sandbox‑ksp. + +## Истории (Stories) + +### Общие +- Compose: общие stories находятся в `uikit-compose-fixtures`, подпакет `.stories`. +- View‑system: общие stories находятся в `uikit-fixtures`, подпакет `stories`. + +### Специфичные для дизайн‑систем +- хранятся в модуле `app` конкретной дизайн‑системы. + +### Пример Story и UiState (Compose) + +```kotlin +@StoryUiState +data class ButtonUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "label", + val value: String = "value", + val spacing: ButtonSpacing = ButtonSpacing.SpaceBetween, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object BasicButtonStory : ComposeBaseStory( + ComponentKey.BasicButton, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer +) { + @Composable + override fun BoxScope.Content(style: ButtonStyle, state: ButtonUiState) { + Button( + style = style, + label = state.label, + value = state.value, + onClick = {}, + ) + } +} +``` + +Пояснение к примеру: +- `@StoryUiState` помечает UI‑состояние, из которого KSP генерирует `PropertiesProducer` и `StateTransformer` (они управляют списком редактируемых свойств и обновлением состояния). +- `@Story` помечает story, которую KSP регистрирует в `registerStories()`. +- `ComposeBaseStory` связывает состояние, стиль и UI‑контент, чтобы песочница могла отобразить компонент и дать редактор свойств. + +### Пример кастомных PropertyProducer и StateValueTransformer +Пример демонстрирует: +- кастомный `PropertyProducer` через `@StoryProperty(producedBy = ...)`; +- нормализацию значения через `@StoryProperty(transformedBy = ...)` и `StateValueTransformer`. + +```kotlin +@StoryUiState +data class ButtonGroupUiState( + override val variant: String = "", + override val appearance: String = "", + @StoryProperty("orient", producedBy = ButtonGroupOrientationProperty::class) + val orientation: ButtonGroupOrientation = ButtonGroupOrientation.Horizontal, + @StoryProperty(transformedBy = ButtonGroupAmountTransformer::class) + val amount: Int = 3, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + + +object ButtonGroupOrientationProperty : PropertyProducer { + override fun produce(state: ButtonGroupUiState): Property<*> { + return enumProperty( + name = "orientation", + value = state.orientation, + ) + } +} + +object ButtonGroupAmountTransformer : StateValueTransformer { + override fun transform(input: Int): Int { + return input.coerceAtLeast(0) + } +} +``` + +## Подключение tokens через include-build +`integration-core` подключается к `tokens/*` через `include-build`, чтобы дизайн‑системы могли использовать библиотечные модули `sandbox-*` без дублирования и сложной публикации. + +## Поток исполнения (упрощенно) +1. `SandboxActivity` запускает основную UI оболочку демо. +2. `registerTheme()` устанавливает текущую тему в `ThemeManager`. +3. `registerCoreStories()` добавляет общие stories. +4. `registerStories()` (сгенерированный KSP) регистрирует stories из DS. +5. UI отображает список историй и предоставляет редактор свойств. + +## План работ (оставшиеся задачи) +1. Создать директорию `integration-core/` и перенести туда `sandbox-core`, `sandbox-compose`, `sandbox-ksp`, `sandbox-views`. +2. Реализовать `sandbox-views`: + - перенести UI из `playground.sandbox-compose` (пакет `core.view`); + - адаптировать под новую структуру и зависимости; + - после переноса удалить директорию `playground`. +3. Подключить `SandboxTheme` в `sandbox-compose` и `sandbox-views` через `sdds-core/plugin-theme-builder`. +4. В `/tokens/*` добавить модули `integration` и `app` рядом с `docs`. +5. В `integration`: + - подключить `convention.integration-view` и `convention.integration-compose`; + - добавить зависимость от `sandbox-core`; + - зарегистрировать стили компонентов. +6. В `app`: + - подключить `convention.sandbox-app`; + - добавить Activity, наследующую `SandboxActivity`; + - вызвать `registerTheme()`, `registerCoreStories()`, `registerStories()`. +7. В каждом DS добавить entities с аннотациями `@Story` и `@StoryUiState`. +8. Подключить `integration-core` к `tokens/*` через `include-build`. +9. Обновить документацию по запуску песочниц и шагам подключения новых DS. +10. Добавить механизм автообновления демо‑приложения, перенести/использовать реализацию из `playground:sandbox-compose`. diff --git a/build-system/.detekt/integration-config.yml b/build-system/.detekt/integration-config.yml new file mode 100644 index 0000000000..b7d49befe8 --- /dev/null +++ b/build-system/.detekt/integration-config.yml @@ -0,0 +1,11 @@ +style: + MaxLineLength: + active: false +comments: + active: true + UndocumentedPublicClass: + active: false + UndocumentedPublicFunction: + active: false + UndocumentedPublicProperty: + active: false \ No newline at end of file diff --git a/build-system/conventions/src/main/kotlin/convention.core-fixtures.gradle.kts b/build-system/conventions/src/main/kotlin/convention.core-fixtures.gradle.kts index 986f5e63ca..a145d08ba3 100644 --- a/build-system/conventions/src/main/kotlin/convention.core-fixtures.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.core-fixtures.gradle.kts @@ -1,7 +1,10 @@ import com.android.build.gradle.LibraryExtension import io.gitlab.arturbosch.detekt.Detekt +import io.gitlab.arturbosch.detekt.extensions.DetektExtension import tasks.docs.ExtractCodeSnippetsTask import org.gradle.api.attributes.Attribute +import utils.baseDetektConfigDirPath +import utils.baseDetektConfigPath import utils.isAndroidLib @@ -56,3 +59,11 @@ afterEvaluate { tasks.withType().configureEach { exclude("**/*Samples.kt") } + +configure { + val integrationConfig = "${project.baseDetektConfigDirPath()}/integration-config.yml" + + if (file(integrationConfig).exists()) { + config = files(project.baseDetektConfigPath(), integrationConfig) + } +} \ No newline at end of file diff --git a/build-system/conventions/src/main/kotlin/convention.detekt.gradle.kts b/build-system/conventions/src/main/kotlin/convention.detekt.gradle.kts index 755b3aacfe..2805392309 100644 --- a/build-system/conventions/src/main/kotlin/convention.detekt.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.detekt.gradle.kts @@ -1,8 +1,8 @@ import io.gitlab.arturbosch.detekt.Detekt import io.gitlab.arturbosch.detekt.DetektPlugin import io.gitlab.arturbosch.detekt.extensions.DetektExtension +import utils.baseDetektConfigPath import utils.findDetektBaselineAll -import utils.isSandboxIntegrationModule import utils.withVersionCatalogs apply() @@ -17,21 +17,11 @@ configure { // почему-то есть плагин `convention.detekt`, но нету includeBuild с именем 'build-system'. // Делаем хак, что если это мета-проект с генерацией accessors - то не настраиваем detekt. if (!project.displayName.contains("generatePrecompiledScriptPluginAccessors")) { - try { - val buildSystemProjectDir = gradle.includedBuild("build-system").projectDir.path - val detektDirPath = if (project.isSandboxIntegrationModule()) { - project.parent?.projectDir?.path ?: buildSystemProjectDir - } else { - buildSystemProjectDir - } - val configFilePath = "$detektDirPath/.detekt/config.yml" - if (file(configFilePath).exists()) { - config = files(configFilePath) - } else { - throw GradleException("Detekt config not found in path: '$configFilePath'") - } - } catch (e: UnknownDomainObjectException) { - throw GradleException("Include build with name 'build-system' not found in project: '${project.displayName}'.") + val configFilePath = project.baseDetektConfigPath() + if (file(configFilePath).exists()) { + config = files(configFilePath) + } else { + throw GradleException("Detekt config not found in path: '$configFilePath'") } } if (project.name != "gradle-kotlin-dsl-accessors" && diff --git a/build-system/conventions/src/main/kotlin/convention.integration-compose.gradle.kts b/build-system/conventions/src/main/kotlin/convention.integration-compose.gradle.kts index af4ee5b1fe..332a9513b3 100644 --- a/build-system/conventions/src/main/kotlin/convention.integration-compose.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.integration-compose.gradle.kts @@ -1,6 +1,10 @@ -import org.gradle.kotlin.dsl.register import tasks.integration.ComponentsTarget +import io.gitlab.arturbosch.detekt.extensions.DetektExtension +import org.gradle.kotlin.dsl.register import tasks.integration.GenerateComponentsDictionary +import tasks.integration.Scheme +import utils.baseDetektConfigDirPath +import utils.baseDetektConfigPath tasks.register("generateComposeIntegration") { @@ -14,5 +18,20 @@ tasks.register("generateComposeIntegration") { properties["integration.compose.package-name"]?.toString() ?: throw GradleException("integration.compose.package-name is not specified") ) + themeAlias.set(properties["theme-alias"]?.toString()) + scheme.set( + when (properties["integration.compose.scheme"]?.toString()) { + "V2" -> Scheme.V2 + else -> Scheme.V1 + } + ) + target.set(ComponentsTarget.COMPOSE) +} + +configure { + val integrationConfig = "${project.baseDetektConfigDirPath()}/integration-config.yml" + if (file(integrationConfig).exists()) { + config = files(project.baseDetektConfigPath(), integrationConfig) + } } \ No newline at end of file diff --git a/build-system/conventions/src/main/kotlin/convention.integration-view.gradle.kts b/build-system/conventions/src/main/kotlin/convention.integration-view.gradle.kts index cb9e5d6163..5803165f1f 100644 --- a/build-system/conventions/src/main/kotlin/convention.integration-view.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.integration-view.gradle.kts @@ -1,11 +1,26 @@ +import com.diffplug.gradle.spotless.SpotlessExtension +import io.gitlab.arturbosch.detekt.extensions.DetektExtension import org.gradle.kotlin.dsl.register import tasks.integration.ComponentsTarget import tasks.integration.GenerateComponentsDictionary - +import tasks.integration.Scheme +import utils.baseDetektConfigDirPath +import utils.baseDetektConfigPath +import utils.withVersionCatalogs tasks.register("generateViewIntegration") { + val currentScheme = properties["integration.view.scheme"] + ?.toString() + ?.let { Scheme.valueOf(it) } + ?: Scheme.V1 + scheme.set(currentScheme) + val sourceProject = when(currentScheme) { + Scheme.V1 -> rootProject + Scheme.V2 -> project + } + themeAlias.set(properties["theme-alias"]?.toString()) configInputFile.set( - rootProject.file( + sourceProject.file( properties["integration.view.config-path"] ?: throw GradleException("integration.view.config-path is not specified") ) @@ -15,4 +30,13 @@ tasks.register("generateViewIntegration") { ?: throw GradleException("integration.view.package-name is not specified") ) target.set(ComponentsTarget.XML) + +} + +configure { + val integrationConfig = "${project.baseDetektConfigDirPath()}/integration-config.yml" + + if (file(integrationConfig).exists()) { + config = files(project.baseDetektConfigPath(), integrationConfig) + } } \ No newline at end of file diff --git a/build-system/conventions/src/main/kotlin/convention.kotlin-lib.gradle.kts b/build-system/conventions/src/main/kotlin/convention.kotlin-lib.gradle.kts index de557d17d6..b0af24ceb5 100644 --- a/build-system/conventions/src/main/kotlin/convention.kotlin-lib.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.kotlin-lib.gradle.kts @@ -10,6 +10,10 @@ plugins { // Ничего не делаем tasks.register("lint") +kotlin { + jvmToolchain(17) +} + dependencies { withVersionCatalogs { implementation(base.kotlin.stdlib) diff --git a/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts b/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts new file mode 100644 index 0000000000..2414334c42 --- /dev/null +++ b/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts @@ -0,0 +1,123 @@ +import kotlinx.serialization.json.buildJsonObject +import kotlinx.serialization.json.put +import utils.versionInfo +import utils.withVersionCatalogs + +plugins { + id("com.android.application") + id("org.gradle.android.cache-fix") + kotlin("android") + id("convention.detekt") + id("convention.spotless") + id("convention.kotlin-java-version-sync") + id("convention.compose") +} + +android { + val vInfo = versionInfo() + withVersionCatalogs { + compileSdk = versions.global.compileSdk.get().toInt() + + defaultConfig { + minSdk = versions.global.minSdk.get().toInt() + targetSdk = versions.global.targetSdk.get().toInt() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + versionCode = vInfo.code + versionName = vInfo.name + versionNameSuffix = vInfo.nameSuffix + + } + + kotlinOptions.jvmTarget = versions.global.jvmTarget.get() + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + lint { + xmlReport = false + textReport = false + sarifReport = false + htmlReport = true + } + + buildFeatures { + viewBinding = true + buildConfig = true + } + + testOptions { + unitTests.isIncludeAndroidResources = true + } + tasks.withType { + maxHeapSize = "4096m" + } + kotlinOptions { + //comment following lines (freeCompilerArgs) to disable compose-metrics + freeCompilerArgs += listOf( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + project.buildDir.absolutePath + "/compose_metrics" + ) + freeCompilerArgs += listOf( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + project.buildDir.absolutePath + "/compose_metrics" + ) + } + + signingConfigs { + create("release") { + if (System.getenv("KEY_STORE_FILE") != null) { + storeFile = file(System.getenv("KEY_STORE_FILE")) + storePassword = System.getenv("RELEASE_STORE_PASSWORD") + keyAlias = System.getenv("RELEASE_KEY_ALIAS") + keyPassword = System.getenv("RELEASE_KEY_PASSWORD") + } + } + } + + buildTypes { + release { + if (System.getenv("KEY_STORE_FILE") != null) { + productFlavors.getByName("app").signingConfig = signingConfigs.getByName("appRelease") + } + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } +} + +val APP_DISTRIBUTION_NAME = "sandbox-compose-app-release" + +tasks.register("generateVersionDescription") { + group = "build" + description = "Generates versions.json with versionCodes for both release variants" + + val outputFile = file("$buildDir/outputs/versions.json") + doLast { + val version = versionInfo() + val json = buildJsonObject { + val versionObj = buildJsonObject { + put("code", version.code) + put("name", version.name) + } + put(APP_DISTRIBUTION_NAME, versionObj) + } + outputFile.writeText(json.toString()) + } +} + + +dependencies { + withVersionCatalogs { + implementation(base.kotlin.stdlib) + implementation(base.androidX.core) + implementation(base.androidX.appcompat) + implementation(base.androidX.activity.compose) + + testImplementation(base.test.unit.jUnit) + testImplementation(base.test.unit.mockk) + testImplementation(base.test.unit.robolectric) + } +} diff --git a/build-system/conventions/src/main/kotlin/convention.testing.gradle.kts b/build-system/conventions/src/main/kotlin/convention.testing.gradle.kts index 8ad0bc7be5..7628ac8d26 100644 --- a/build-system/conventions/src/main/kotlin/convention.testing.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.testing.gradle.kts @@ -21,6 +21,5 @@ withVersionCatalogs { add("testImplementation", test.roborazzi) add("testImplementation", test.roborazzi.rule) add("testImplementation", base.test.unit.robolectric) - add("testImplementation", "sdds-core:testing") } } diff --git a/build-system/conventions/src/main/kotlin/tasks/integration/ComponentsGenerator.kt b/build-system/conventions/src/main/kotlin/tasks/integration/ComponentsGenerator.kt index 9545cb5deb..0d1e41b009 100644 --- a/build-system/conventions/src/main/kotlin/tasks/integration/ComponentsGenerator.kt +++ b/build-system/conventions/src/main/kotlin/tasks/integration/ComponentsGenerator.kt @@ -48,6 +48,7 @@ internal abstract class ComponentGenerator { appearanceTemplate = appearanceTemplate, themeName = themeName, ) + else -> getDefaultComponentProviderEntry( key = key, comps = comps, @@ -134,10 +135,32 @@ internal class ComposeComponentsGenerator( private val config: Config, private val packageName: String, private val packageDir: File, + private val scheme: Scheme, + private val themeAlias: String, ) : ComponentGenerator() { private val themeName = config.name.toPascalCase() + private val styleProviderTemplatePath = when (scheme) { + Scheme.V1 -> "ComposeStyleProviderKt_V1.txt" + Scheme.V2 -> "ComposeStyleProviderKt_V2.txt" + } + + private val styleInstanceTemplatePath = when (scheme) { + Scheme.V1 -> "ComposeStyleInstanceKt_V1.txt" + Scheme.V2 -> "ComposeStyleInstanceKt_V2.txt" + } + + private val componentInstanceTemplatePath = when (scheme) { + Scheme.V1 -> "ComposeComponentInstanceKt_V1.txt" + Scheme.V2 -> "ComposeComponentInstanceKt_V2.txt" + } + + private val componentProviderTemplatePath = when (scheme) { + Scheme.V1 -> "ComposeComponentProviderKt_V1.txt" + Scheme.V2 -> "ComposeComponentProviderKt_V2.txt" + } + override fun generate() { config.components.forEach { createStyleProvider( @@ -145,10 +168,11 @@ internal class ComposeComponentsGenerator( component = it, packageName = packageName, themePackageName = config.packageName, - packageDir = packageDir + packageDir = packageDir, ) } createComponentProvider() + createRegisterTheme(config.packageName) } private fun createStyleProvider( @@ -158,8 +182,9 @@ internal class ComposeComponentsGenerator( themePackageName: String, packageDir: File, ) { - val styleProviderTemplate = loadTemplate("ComposeStyleProviderKt.txt").trim() - val styleInstanceTemplate = loadTemplate("ComposeStyleInstanceKt.txt") + + val styleProviderTemplate = loadTemplate(styleProviderTemplatePath).trim() + val styleInstanceTemplate = loadTemplate(styleInstanceTemplatePath) val importTemplate = loadTemplate("ComposeImportInstanceKt.txt") val styleContent = component.variations @@ -224,19 +249,41 @@ internal class ComposeComponentsGenerator( "BasicButton", "IconButton", "LinkButton" -> "ButtonStyle" + "TextArea" -> "TextFieldStyle" "IconBadge" -> "BadgeStyle" "BottomSheet" -> "ModalBottomSheetStyle" "TabItem", "IconTabItem" -> "TabItemStyle" + else -> "${component.coreName}Style" } } + private fun createRegisterTheme( + themePackageName: String, + ) { + if (scheme != Scheme.V2) return + + val registerThemeTemplate = loadTemplate("ComposeRegisterThemeKt_V2.txt").trim() + val content = expand( + registerThemeTemplate, + mapOf( + "packageName" to packageName, + "themeName" to themeName, + "themeAliasName" to themeAlias, + "themePackageName" to themePackageName, + ) + ) + val outFile = File(packageDir, "${themeName}RegisterTheme.kt") + outFile.parentFile?.mkdirs() + outFile.writeText(content) + } + private fun createComponentProvider() { - val componentTemplate = loadTemplate("ComposeComponentInstanceKt.txt").trim() + val componentTemplate = loadTemplate(componentInstanceTemplatePath).trim() val appearanceTemplate = loadTemplate("ComposeAppearanceInstanceKt.txt").trim() - val providerTemplate = loadTemplate("ComposeComponentProviderKt.txt").trim() + val providerTemplate = loadTemplate(componentProviderTemplatePath).trim() // Group components by coreName val grouped: Map> = config.components.groupBy { it.key } @@ -271,10 +318,33 @@ internal class XmlComponentsGenerator( private val config: Config, private val packageName: String, private val packageDir: File, + private val scheme: Scheme, ) : ComponentGenerator() { private val themeName = config.name.toPascalCase() + private val viewStyleProviderTemplateName: String = when (scheme) { + Scheme.V1 -> "ViewStyleProviderKt.txt" + Scheme.V2 -> "ViewStyleProviderKt_V2.txt" + } + + private val viewStyleInstanceTemplateName: String = when (scheme) { + Scheme.V1 -> "ViewStyleInstanceKt.txt" + Scheme.V2 -> "ViewStyleInstanceKt_V2.txt" + } + + private val viewComponentInstanceTemplateName: String = when (scheme) { + Scheme.V1 -> "ViewComponentInstanceKt.txt" + Scheme.V2 -> "ViewComponentInstanceKt_V2.txt" + } + + private val viewComponentProviderTemplateName: String = when (scheme) { + Scheme.V1 -> "ViewComponentProviderKt.txt" + Scheme.V2 -> "ViewComponentProviderKt_V2.txt" + } + + private val viewAppearanceInstanceTemplateName: String = "ViewAppearanceInstanceKt.txt" + override fun generate() { config.components.forEach { createViewStyleProvider( @@ -295,8 +365,8 @@ internal class XmlComponentsGenerator( themePackageName: String, packageDir: File, ) { - val styleProviderTemplate = loadTemplate("ViewStyleProviderKt.txt").trim() - val styleInstanceTemplate = loadTemplate("ViewStyleInstanceKt.txt") + val styleProviderTemplate = loadTemplate(viewStyleProviderTemplateName).trim() + val styleInstanceTemplate = loadTemplate(viewStyleInstanceTemplateName) val styleContent = component.variations .joinToString("\n") { @@ -329,9 +399,9 @@ internal class XmlComponentsGenerator( packageName: String, packageDir: File, ) { - val componentTemplate = loadTemplate("ViewComponentInstanceKt.txt").trim() - val appearanceTemplate = loadTemplate("ViewAppearanceInstanceKt.txt").trim() - val providerTemplate = loadTemplate("ViewComponentProviderKt.txt").trim() + val componentTemplate = loadTemplate(viewComponentInstanceTemplateName).trim() + val appearanceTemplate = loadTemplate(viewAppearanceInstanceTemplateName).trim() + val providerTemplate = loadTemplate(viewComponentProviderTemplateName).trim() // Group components by coreName val grouped: Map> = components.groupBy { it.key } @@ -367,8 +437,8 @@ private fun String.toPascalCase(joinSeparator: String = ""): String = .split(".") .joinToString(joinSeparator) { part -> part.split(Regex("[^A-Za-z0-9]+")) - .filter { it.isNotBlank() } - .joinToString("") { it.replaceFirstChar { c -> c.uppercaseChar() } } + .filter { it.isNotBlank() } + .joinToString("") { it.replaceFirstChar { c -> c.uppercaseChar() } } } @@ -376,7 +446,3 @@ internal fun String.techToCamelCase(): String { val segments = split(".", "-") return segments.joinToString("") { it.capitalized() } } - -private object ComponentGeneratorUtils { - -} \ No newline at end of file diff --git a/build-system/conventions/src/main/kotlin/tasks/integration/GenerateComponentsDictionary.kt b/build-system/conventions/src/main/kotlin/tasks/integration/GenerateComponentsDictionary.kt index 413b2ca32c..5f24c729af 100644 --- a/build-system/conventions/src/main/kotlin/tasks/integration/GenerateComponentsDictionary.kt +++ b/build-system/conventions/src/main/kotlin/tasks/integration/GenerateComponentsDictionary.kt @@ -15,6 +15,11 @@ enum class ComponentsTarget { XML, } +enum class Scheme { + V1, + V2, +} + abstract class GenerateComponentsDictionary : DefaultTask() { @get:InputFile @@ -23,9 +28,15 @@ abstract class GenerateComponentsDictionary : DefaultTask() { @get:Input abstract val packageName: Property + @get:Input + abstract val themeAlias: Property + @get:Input abstract val target: Property + @get:Input + abstract val scheme: Property + init { group = "sandbox" } @@ -46,6 +57,8 @@ abstract class GenerateComponentsDictionary : DefaultTask() { val pkg = packageName.orNull ?: "com.sdds.generated" val target = target.get() ?: throw GradleException("Property target must be specified") + val themeAlias = themeAlias.get() ?: throw GradleException("Property themeAlias must be specified") + val scheme = scheme.get() ?: Scheme.V1 // Determine output dir from main source set root and packageName val mainRoot = resolveMainSourceRoot() val pkgPath = pkg.replace('.', File.separatorChar) @@ -53,8 +66,16 @@ abstract class GenerateComponentsDictionary : DefaultTask() { if (!packageDir.exists()) packageDir.mkdirs() val generator = when(target) { - ComponentsTarget.COMPOSE -> ComposeComponentsGenerator(config, pkg, packageDir) - ComponentsTarget.XML -> XmlComponentsGenerator(config, pkg, packageDir) + ComponentsTarget.COMPOSE -> { + ComposeComponentsGenerator( + config = config, + packageName = pkg, + packageDir = packageDir, + scheme = scheme, + themeAlias = themeAlias, + ) + } + ComponentsTarget.XML -> XmlComponentsGenerator(config, pkg, packageDir, scheme) } generator.generate() diff --git a/build-system/conventions/src/main/kotlin/utils/BuildUtils.kt b/build-system/conventions/src/main/kotlin/utils/BuildUtils.kt index 674e445799..64ae88f37a 100644 --- a/build-system/conventions/src/main/kotlin/utils/BuildUtils.kt +++ b/build-system/conventions/src/main/kotlin/utils/BuildUtils.kt @@ -3,8 +3,10 @@ package utils import com.android.build.gradle.LibraryExtension import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.accessors.dm.LibrariesForIcons +import org.gradle.api.GradleException import java.io.File import org.gradle.api.Project +import org.gradle.api.UnknownDomainObjectException import org.gradle.kotlin.dsl.findByType import org.gradle.kotlin.dsl.the @@ -21,6 +23,26 @@ fun findDetektBaselineAll(project: Project): File = File("${project.projectDir}/.detekt/detekt-baseline.xml") } +/** + * Возвращает путь до базового конфига Detekt + */ +fun Project.baseDetektConfigPath(): String { + val detektDirPath = baseDetektConfigDirPath() + return "$detektDirPath/config.yml" +} + +/** + * Возвращает путь до директории с базовым конфигом Detekt + */ +fun Project.baseDetektConfigDirPath(): String { + return try { + val buildSystemPath = gradle.includedBuild("build-system").projectDir.path + "$buildSystemPath/.detekt" + } catch (e: UnknownDomainObjectException) { + throw GradleException("Include build with name 'build-system' not found in project: '${project.displayName}'.") + } +} + /** * Предоставляет скоуп для доступа к каталогу версий */ @@ -87,4 +109,4 @@ fun Project.isComposeLib(): Boolean = * Возвращает true, если текущий проект - интеграционный модуль песочницы, иначе false */ fun Project.isSandboxIntegrationModule(): Boolean = - name.endsWith("integration") && !name.contains("core") + plugins.hasPlugin("convention.integration-view") || plugins.hasPlugin("convention.integration-compose") diff --git a/build-system/conventions/src/main/resources/ComposeComponentInstanceKt.txt b/build-system/conventions/src/main/resources/ComposeComponentInstanceKt_V1.txt similarity index 100% rename from build-system/conventions/src/main/resources/ComposeComponentInstanceKt.txt rename to build-system/conventions/src/main/resources/ComposeComponentInstanceKt_V1.txt diff --git a/build-system/conventions/src/main/resources/ComposeComponentInstanceKt_V2.txt b/build-system/conventions/src/main/resources/ComposeComponentInstanceKt_V2.txt new file mode 100644 index 0000000000..68e05d4407 --- /dev/null +++ b/build-system/conventions/src/main/resources/ComposeComponentInstanceKt_V2.txt @@ -0,0 +1,6 @@ +Component( + ComponentKey.${{ key }}, + mapOf( + ${{ appearances }} + ) +) diff --git a/build-system/conventions/src/main/resources/ComposeComponentProviderKt.txt b/build-system/conventions/src/main/resources/ComposeComponentProviderKt_V1.txt similarity index 100% rename from build-system/conventions/src/main/resources/ComposeComponentProviderKt.txt rename to build-system/conventions/src/main/resources/ComposeComponentProviderKt_V1.txt diff --git a/build-system/conventions/src/main/resources/ComposeComponentProviderKt_V2.txt b/build-system/conventions/src/main/resources/ComposeComponentProviderKt_V2.txt new file mode 100644 index 0000000000..a6644101e7 --- /dev/null +++ b/build-system/conventions/src/main/resources/ComposeComponentProviderKt_V2.txt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package ${{ packageName }} + +import com.sdds.sandbox.Component +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.ComponentProvider + +/** + * Компоненты + */ +object ${{ themeName }}ComposeComponents : ComponentProvider() { + + override val generated: Map> = + listOf( + ${{ components }} + ).associateBy { it.key } +} diff --git a/build-system/conventions/src/main/resources/ComposeRegisterThemeKt_V2.txt b/build-system/conventions/src/main/resources/ComposeRegisterThemeKt_V2.txt new file mode 100644 index 0000000000..7d5ed272c8 --- /dev/null +++ b/build-system/conventions/src/main/resources/ComposeRegisterThemeKt_V2.txt @@ -0,0 +1,41 @@ +package ${{ packageName }} + +import androidx.compose.foundation.isSystemInDarkTheme +import com.sdds.compose.sandbox.ComposeTheme +import com.sdds.compose.sandbox.SubTheme +import com.sdds.compose.sandbox.ui.SandboxActivity +import ${{ themePackageName }}.theme.${{ themeAliasName }}Theme +import ${{ themePackageName }}.theme.dark${{ themeAliasName }}Colors +import ${{ themePackageName }}.theme.dark${{ themeAliasName }}Gradients +import ${{ themePackageName }}.theme.light${{ themeAliasName }}Colors +import ${{ themePackageName }}.theme.light${{ themeAliasName }}Gradients +import ${{ themePackageName }}.theme.subthemes.Default +import ${{ themePackageName }}.theme.subthemes.Inverse +import ${{ themePackageName }}.theme.subthemes.OnDark +import ${{ themePackageName }}.theme.subthemes.OnLight +import com.sdds.sandbox.ComponentProvider +import com.sdds.sandbox.ComponentProviderUtils.plus +import com.sdds.sandbox.ThemeManager + +fun SandboxActivity.registerTheme(componentProvider: ComponentProvider = ComponentProvider.Empty) { + val theme = ComposeTheme( + displayName = "${{ themeName }}", + components = ${{ themeName }}ComposeComponents + componentProvider, + themeWrapper = { + val isDark = isSystemInDarkTheme() + ${{ themeAliasName }}Theme( + colors = if (isDark) dark${{ themeAliasName }}Colors() else light${{ themeAliasName }}Colors(), + gradients = if (isDark) dark${{ themeAliasName }}Gradients() else light${{ themeAliasName }}Gradients(), + ) { + it() + } + }, + subthemes = mapOf( + SubTheme.DEFAULT to { ${{ themeAliasName }}Theme.Default(content = it) }, + SubTheme.ON_LIGHT to { ${{ themeAliasName }}Theme.OnLight(content = it) }, + SubTheme.ON_DARK to { ${{ themeAliasName }}Theme.OnDark(content = it) }, + SubTheme.INVERSE to { ${{ themeAliasName }}Theme.Inverse(content = it) }, + ), + ) + ThemeManager.updateTheme(theme) +} diff --git a/build-system/conventions/src/main/resources/ComposeStyleInstanceKt.txt b/build-system/conventions/src/main/resources/ComposeStyleInstanceKt_V1.txt similarity index 100% rename from build-system/conventions/src/main/resources/ComposeStyleInstanceKt.txt rename to build-system/conventions/src/main/resources/ComposeStyleInstanceKt_V1.txt diff --git a/build-system/conventions/src/main/resources/ComposeStyleInstanceKt_V2.txt b/build-system/conventions/src/main/resources/ComposeStyleInstanceKt_V2.txt new file mode 100644 index 0000000000..c2bcf786e0 --- /dev/null +++ b/build-system/conventions/src/main/resources/ComposeStyleInstanceKt_V2.txt @@ -0,0 +1 @@ + "${{ variationName }}" to ComposeStyleReference { ${{ variationReference }}.style() }, \ No newline at end of file diff --git a/build-system/conventions/src/main/resources/ComposeStyleProviderKt.txt b/build-system/conventions/src/main/resources/ComposeStyleProviderKt_V1.txt similarity index 100% rename from build-system/conventions/src/main/resources/ComposeStyleProviderKt.txt rename to build-system/conventions/src/main/resources/ComposeStyleProviderKt_V1.txt diff --git a/build-system/conventions/src/main/resources/ComposeStyleProviderKt_V2.txt b/build-system/conventions/src/main/resources/ComposeStyleProviderKt_V2.txt new file mode 100644 index 0000000000..2167a8ad9a --- /dev/null +++ b/build-system/conventions/src/main/resources/ComposeStyleProviderKt_V2.txt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package ${{ packageName }} + +import androidx.compose.runtime.Composable +import com.sdds.compose.uikit.${{ coreStyleClass }} +import com.sdds.compose.uikit.style.style +import com.sdds.compose.sandbox.ComposeStyleProvider +import com.sdds.compose.sandbox.ComposeStyleReference +import ${{ themePackageName }}.styles.${{ componentPackage }}.${{ styleName }} + +${{ variationImports }} + +internal object ${{ themeName }}${{ styleName }}VariationsCompose : ComposeStyleProvider<${{ coreStyleClass }}>() { + override val variations: Map> = + mapOf( +${{ variations }} + ) +} \ No newline at end of file diff --git a/build-system/conventions/src/main/resources/ViewComponentInstanceKt_V2.txt b/build-system/conventions/src/main/resources/ViewComponentInstanceKt_V2.txt new file mode 100644 index 0000000000..68e05d4407 --- /dev/null +++ b/build-system/conventions/src/main/resources/ViewComponentInstanceKt_V2.txt @@ -0,0 +1,6 @@ +Component( + ComponentKey.${{ key }}, + mapOf( + ${{ appearances }} + ) +) diff --git a/build-system/conventions/src/main/resources/ViewComponentProviderKt_V2.txt b/build-system/conventions/src/main/resources/ViewComponentProviderKt_V2.txt new file mode 100644 index 0000000000..b198ffa31a --- /dev/null +++ b/build-system/conventions/src/main/resources/ViewComponentProviderKt_V2.txt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package ${{ packageName }} + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Component +import com.sdds.sandbox.ComponentProvider + +/** + * Компоненты + */ +object ${{ themeName }}ViewComponents : ComponentProvider() { + + override val generated: Map> = + listOf( + ${{ components }} + ).associateBy { it.key } +} diff --git a/build-system/conventions/src/main/resources/ViewStyleInstanceKt_V2.txt b/build-system/conventions/src/main/resources/ViewStyleInstanceKt_V2.txt new file mode 100644 index 0000000000..2e1b2632d3 --- /dev/null +++ b/build-system/conventions/src/main/resources/ViewStyleInstanceKt_V2.txt @@ -0,0 +1 @@ + "${{ variationName }}" to viewStyleReference(DsR.style.${{ variationReference }}), \ No newline at end of file diff --git a/build-system/conventions/src/main/resources/ViewStyleProviderKt_V2.txt b/build-system/conventions/src/main/resources/ViewStyleProviderKt_V2.txt new file mode 100644 index 0000000000..d7119ff67b --- /dev/null +++ b/build-system/conventions/src/main/resources/ViewStyleProviderKt_V2.txt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package ${{ packageName }} + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import ${{ themePackageName }}.R as DsR + +internal object ${{ themeName }}${{ styleName }}VariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( +${{ variations }} + ) +} \ No newline at end of file diff --git a/build-system/docs-template/xml-template/docs/components/AccordionUsage.md b/build-system/docs-template/xml-template/docs/components/AccordionUsage.md index 4fa7f2b77f..5b51995055 100644 --- a/build-system/docs-template/xml-template/docs/components/AccordionUsage.md +++ b/build-system/docs-template/xml-template/docs/components/AccordionUsage.md @@ -50,6 +50,8 @@ title: Accordion ``` + + ### Kotlin: Простая настройка ```kotlin diff --git a/build-system/docs-template/xml-template/docs/components/AutocompleteUsage.md b/build-system/docs-template/xml-template/docs/components/AutocompleteUsage.md index 56011e7f99..8416b6fd1e 100644 --- a/build-system/docs-template/xml-template/docs/components/AutocompleteUsage.md +++ b/build-system/docs-template/xml-template/docs/components/AutocompleteUsage.md @@ -69,6 +69,8 @@ parent.addView(autocomplete) ``` + + ## Можно указать свой TextField ```xml diff --git a/build-system/docs-template/xml-template/docs/components/AvatarGroupUsage.md b/build-system/docs-template/xml-template/docs/components/AvatarGroupUsage.md index 137ba684ca..257e7bff55 100644 --- a/build-system/docs-template/xml-template/docs/components/AvatarGroupUsage.md +++ b/build-system/docs-template/xml-template/docs/components/AvatarGroupUsage.md @@ -8,6 +8,8 @@ title: AvatarGroup ``` + + ## Стиль AvatarGroup Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/AvatarUsage.md b/build-system/docs-template/xml-template/docs/components/AvatarUsage.md index 5be8ccbecc..3fd5d4d19b 100644 --- a/build-system/docs-template/xml-template/docs/components/AvatarUsage.md +++ b/build-system/docs-template/xml-template/docs/components/AvatarUsage.md @@ -4,9 +4,10 @@ title: Avatar ```xml - ``` + + ## Стиль Avatar Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/BadgeUsage.md b/build-system/docs-template/xml-template/docs/components/BadgeUsage.md index fe58d668a9..a802f07fea 100644 --- a/build-system/docs-template/xml-template/docs/components/BadgeUsage.md +++ b/build-system/docs-template/xml-template/docs/components/BadgeUsage.md @@ -6,6 +6,8 @@ title: Badge ``` + + ```xml ``` diff --git a/build-system/docs-template/xml-template/docs/components/Button/ButtonUsage.md b/build-system/docs-template/xml-template/docs/components/Button/BasicButtonUsage.md similarity index 91% rename from build-system/docs-template/xml-template/docs/components/Button/ButtonUsage.md rename to build-system/docs-template/xml-template/docs/components/Button/BasicButtonUsage.md index 77b22f9324..9140af41d1 100644 --- a/build-system/docs-template/xml-template/docs/components/Button/ButtonUsage.md +++ b/build-system/docs-template/xml-template/docs/components/Button/BasicButtonUsage.md @@ -7,6 +7,8 @@ title: Button ``` + + ## Стиль Button Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. @@ -46,11 +48,15 @@ title: Button // @sample: com/sdds/uikit/fixtures/samples/button/BasicButton_LabelValue_Packed.kt ``` + + или SpaceBetween (Контент отобразится по всей ширине, отступы будут добавлены между элементами контента): ```kotlin // @sample: com/sdds/uikit/fixtures/samples/button/BasicButton_LabelValue_SpaceBetween.kt ``` + + ## Индикатор загрузки Имеется возможность отобразить состояние загрузки (спиннер), вместо контента, с помощью параметра loading. @@ -59,3 +65,5 @@ title: Button // @sample: com/sdds/uikit/fixtures/samples/button/BasicButton_isLoading.kt ``` + + diff --git a/build-system/docs-template/xml-template/docs/components/Button/IconButtonUsage.md b/build-system/docs-template/xml-template/docs/components/Button/IconButtonUsage.md index 0aed51d5e7..009e5ebbb2 100644 --- a/build-system/docs-template/xml-template/docs/components/Button/IconButtonUsage.md +++ b/build-system/docs-template/xml-template/docs/components/Button/IconButtonUsage.md @@ -7,6 +7,8 @@ title: IconButton ``` + + ## Стиль IconButton Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. @@ -38,3 +40,5 @@ title: IconButton ```kotlin // @sample: com/sdds/uikit/fixtures/samples/button/IconButton_isLoading.kt ``` + + diff --git a/build-system/docs-template/xml-template/docs/components/Button/LinkButtonUsage.md b/build-system/docs-template/xml-template/docs/components/Button/LinkButtonUsage.md index 51e4c9c94c..70d6c31eb5 100644 --- a/build-system/docs-template/xml-template/docs/components/Button/LinkButtonUsage.md +++ b/build-system/docs-template/xml-template/docs/components/Button/LinkButtonUsage.md @@ -7,6 +7,8 @@ title: LinkButton ``` + + ## Стиль LinkButton Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. @@ -57,4 +59,6 @@ title: LinkButton ```kotlin // @sample: com/sdds/uikit/fixtures/samples/button/LinkButton_isLoading.kt -``` \ No newline at end of file +``` + + \ No newline at end of file diff --git a/build-system/docs-template/xml-template/docs/components/ButtonGroupUsage.md b/build-system/docs-template/xml-template/docs/components/ButtonGroupUsage.md index ca58b932e4..65c6312379 100644 --- a/build-system/docs-template/xml-template/docs/components/ButtonGroupUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ButtonGroupUsage.md @@ -2,18 +2,22 @@ title: ButtonGroup --- -Контент ButtonGroup формируется с помощью [Button](Button/ButtonUsage.md). +Контент ButtonGroup формируется с помощью [Button](Button/BasicButtonUsage.md). ```xml ``` -Или с помощью [IconButton](Button/ButtonUsage.md). + + +Или с помощью [IconButton](Button/BasicButtonUsage.md). ```xml ``` + + ## Стиль ButtonGroup Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CardUsage.md b/build-system/docs-template/xml-template/docs/components/CardUsage.md index 27d86ef511..b69b71e6f9 100644 --- a/build-system/docs-template/xml-template/docs/components/CardUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CardUsage.md @@ -9,9 +9,10 @@ title: Card ```xml - ``` + + ## Стиль Card Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CarouselUsage.md b/build-system/docs-template/xml-template/docs/components/CarouselUsage.md index eed55ac1af..8ddb8a1203 100644 --- a/build-system/docs-template/xml-template/docs/components/CarouselUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CarouselUsage.md @@ -104,6 +104,8 @@ parentLayout.addView(carousel) ``` + + А затем настроить его в `onViewCreated` или `onCreate`: ```kotlin diff --git a/build-system/docs-template/xml-template/docs/components/CellUsage.md b/build-system/docs-template/xml-template/docs/components/CellUsage.md index 546c8f90c9..adad2cc24a 100644 --- a/build-system/docs-template/xml-template/docs/components/CellUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CellUsage.md @@ -11,6 +11,8 @@ title: Cell ``` + + ## Стиль Cell Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CheckBoxGroupUsage.md b/build-system/docs-template/xml-template/docs/components/CheckBoxGroupUsage.md index 6ef462683a..7cb369e650 100644 --- a/build-system/docs-template/xml-template/docs/components/CheckBoxGroupUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CheckBoxGroupUsage.md @@ -5,9 +5,11 @@ title: CheckBoxGroup Контент CheckBoxGroup формируется с помощью [CheckBox](CheckBoxUsage.md#checkbox). ```xml - + ``` + + ## Стиль CheckBoxGroup Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CheckBoxUsage.md b/build-system/docs-template/xml-template/docs/components/CheckBoxUsage.md index 6bf93770c7..97d9b79574 100644 --- a/build-system/docs-template/xml-template/docs/components/CheckBoxUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CheckBoxUsage.md @@ -6,6 +6,8 @@ title: CheckBox ``` + + ## Стиль CheckBox Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/ChipGroupUsage.md b/build-system/docs-template/xml-template/docs/components/ChipGroupUsage.md index 3aa6eac421..7978571570 100644 --- a/build-system/docs-template/xml-template/docs/components/ChipGroupUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ChipGroupUsage.md @@ -8,6 +8,8 @@ title: ChipGroup ``` + + ## Стиль ChipGroup Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/ChipUsage.md b/build-system/docs-template/xml-template/docs/components/ChipUsage.md index f31564ccd3..e78c8d7e97 100644 --- a/build-system/docs-template/xml-template/docs/components/ChipUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ChipUsage.md @@ -6,6 +6,8 @@ title: Chip ``` + + ## Стиль Chip Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CircularProgressBarUsage.md b/build-system/docs-template/xml-template/docs/components/CircularProgressBarUsage.md index d0a7af6e9e..d90d480be6 100644 --- a/build-system/docs-template/xml-template/docs/components/CircularProgressBarUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CircularProgressBarUsage.md @@ -6,6 +6,8 @@ title: CircularProgressBar ``` + + ## Стиль CircularProgressBar Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CodeFieldUsage.md b/build-system/docs-template/xml-template/docs/components/CodeFieldUsage.md index 1200306d2a..23113e5da6 100644 --- a/build-system/docs-template/xml-template/docs/components/CodeFieldUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CodeFieldUsage.md @@ -22,6 +22,8 @@ Keep - некорректный код/символ сохраняется в п ``` + + ## Стиль CodeField Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CodeInputUsage.md b/build-system/docs-template/xml-template/docs/components/CodeInputUsage.md index 29ee01961b..4d9160210f 100644 --- a/build-system/docs-template/xml-template/docs/components/CodeInputUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CodeInputUsage.md @@ -23,6 +23,8 @@ Keep - некорректный код/символ сохраняется в п ``` + + ## Стиль CodeInput Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/CounterUsage.md b/build-system/docs-template/xml-template/docs/components/CounterUsage.md index ffd92f7d54..b6b97fb87e 100644 --- a/build-system/docs-template/xml-template/docs/components/CounterUsage.md +++ b/build-system/docs-template/xml-template/docs/components/CounterUsage.md @@ -6,6 +6,8 @@ title: Counter ``` + + ## Стиль Counter Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/EditableUsage.md b/build-system/docs-template/xml-template/docs/components/EditableUsage.md index 83cac05a5d..4599317cd8 100644 --- a/build-system/docs-template/xml-template/docs/components/EditableUsage.md +++ b/build-system/docs-template/xml-template/docs/components/EditableUsage.md @@ -43,6 +43,8 @@ title: Editable // @sample: com/sdds/uikit/fixtures/samples/editable/Editable_SingleLine_Icon_Relative.kt ``` + + ## Icon placement Absolute Режим расположения иконки(drawable), при котором размеры Editable не учитывают ее размер. Drawable находится вне @@ -54,6 +56,8 @@ title: Editable // @sample: com/sdds/uikit/fixtures/samples/editable/Editable_MultiLine_Icon_Absolute.kt ``` + + ## Icon size Если размер иконки (drawable) не задан явно, будет применен intrinsic размер этого drawable. \ No newline at end of file diff --git a/build-system/docs-template/xml-template/docs/components/FileUssage.md b/build-system/docs-template/xml-template/docs/components/FileUssage.md index ec76b4cb3a..d3586084de 100644 --- a/build-system/docs-template/xml-template/docs/components/FileUssage.md +++ b/build-system/docs-template/xml-template/docs/components/FileUssage.md @@ -18,6 +18,8 @@ title: File ``` + + Обратите внимание, что у каждого вложенного компонента указана роль layout_fileContent. Стоит так же отметить, что внутри File предусмотрена автоматическая стилизация компонентов ProgressBar, CircularProgressBar и IconButton (использующегося в качестве Action) если заданы атрибуты diff --git a/build-system/docs-template/xml-template/docs/components/IndicatorUsage.md b/build-system/docs-template/xml-template/docs/components/IndicatorUsage.md index 30bd98baf2..729ae64b90 100644 --- a/build-system/docs-template/xml-template/docs/components/IndicatorUsage.md +++ b/build-system/docs-template/xml-template/docs/components/IndicatorUsage.md @@ -6,6 +6,8 @@ title: Indicator ``` + + ## Стиль Indicator Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/ListItemUsage.md b/build-system/docs-template/xml-template/docs/components/ListItemUsage.md index 59312a3b19..787dfb0588 100644 --- a/build-system/docs-template/xml-template/docs/components/ListItemUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ListItemUsage.md @@ -9,6 +9,8 @@ title: ListItem ``` + + ## Стиль ListItem Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/ListUsage.md b/build-system/docs-template/xml-template/docs/components/ListUsage.md index a34764ae06..2b3eb25061 100644 --- a/build-system/docs-template/xml-template/docs/components/ListUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ListUsage.md @@ -9,6 +9,8 @@ title: List ``` + + ## Стиль List Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/LoaderUsage.md b/build-system/docs-template/xml-template/docs/components/LoaderUsage.md index 9e63718318..cebabe6060 100644 --- a/build-system/docs-template/xml-template/docs/components/LoaderUsage.md +++ b/build-system/docs-template/xml-template/docs/components/LoaderUsage.md @@ -12,6 +12,8 @@ title: Loader ``` + + Пример использования через стили [Spinner] и [CircularProgressBar]: ```xml diff --git a/build-system/docs-template/xml-template/docs/components/MaskUsage.md b/build-system/docs-template/xml-template/docs/components/MaskUsage.md index 8734517508..ea1422ea7c 100644 --- a/build-system/docs-template/xml-template/docs/components/MaskUsage.md +++ b/build-system/docs-template/xml-template/docs/components/MaskUsage.md @@ -50,7 +50,7 @@ textField.setMask(mask: TextField.Mask?, displayMode: Int) - `prefix` — префикс (например, код страны). - `suffix` — шаблон основной части номера. -> Символы шаблона интерпретируются системой масок). +> Символы шаблона интерпретируются системой масок. ### 2) Дата — `TextField.Mask.Date` Маска даты. diff --git a/build-system/docs-template/xml-template/docs/components/NavigationBarUsage.md b/build-system/docs-template/xml-template/docs/components/NavigationBarUsage.md index b69c314abc..1134a73100 100644 --- a/build-system/docs-template/xml-template/docs/components/NavigationBarUsage.md +++ b/build-system/docs-template/xml-template/docs/components/NavigationBarUsage.md @@ -9,6 +9,8 @@ title: NavigationBar ``` + + ## Стиль NavigationBar Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/NoteUsage.md b/build-system/docs-template/xml-template/docs/components/NoteUsage.md index a2a6ecdb12..5493f6ad49 100644 --- a/build-system/docs-template/xml-template/docs/components/NoteUsage.md +++ b/build-system/docs-template/xml-template/docs/components/NoteUsage.md @@ -33,12 +33,16 @@ ContentBefore. Для корректного отображения, компо ``` + + ## Использование NoteCompact в xml ```xml ``` + + ## Стили Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/NotificationContentUsage.md b/build-system/docs-template/xml-template/docs/components/NotificationContentUsage.md index f53e1e1561..cf80183d00 100644 --- a/build-system/docs-template/xml-template/docs/components/NotificationContentUsage.md +++ b/build-system/docs-template/xml-template/docs/components/NotificationContentUsage.md @@ -68,4 +68,6 @@ val trigger = Button(context).apply { ```xml -``` \ No newline at end of file +``` + + \ No newline at end of file diff --git a/build-system/docs-template/xml-template/docs/components/PaginationDotsUsage.md b/build-system/docs-template/xml-template/docs/components/PaginationDotsUsage.md index 1bc9fb0817..920154f22b 100644 --- a/build-system/docs-template/xml-template/docs/components/PaginationDotsUsage.md +++ b/build-system/docs-template/xml-template/docs/components/PaginationDotsUsage.md @@ -66,13 +66,17 @@ viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback( ``` + + + ## Вертикальная ориентация ```xml - ``` + + ## Советы по настройке - Если `itemCount` больше, чем `visibleItemCount`, точки будут плавно прокручиваться так, чтобы текущая точка оказывалась примерно по центру окна. diff --git a/build-system/docs-template/xml-template/docs/components/ProgressUsage.md b/build-system/docs-template/xml-template/docs/components/ProgressUsage.md index 6cc72cbff2..408f6f789d 100644 --- a/build-system/docs-template/xml-template/docs/components/ProgressUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ProgressUsage.md @@ -6,6 +6,8 @@ title: ProgressBar ``` + + ## Стиль ProgressBar Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/RadioBoxGroupUsage.md b/build-system/docs-template/xml-template/docs/components/RadioBoxGroupUsage.md index a3c2236a74..0dc755bf23 100644 --- a/build-system/docs-template/xml-template/docs/components/RadioBoxGroupUsage.md +++ b/build-system/docs-template/xml-template/docs/components/RadioBoxGroupUsage.md @@ -8,6 +8,8 @@ title: RadioBoxGroup ``` + + ## Стиль RadioBoxGroup Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/RadioBoxUsage.md b/build-system/docs-template/xml-template/docs/components/RadioBoxUsage.md index 3ef17b9a57..6a9ebe0834 100644 --- a/build-system/docs-template/xml-template/docs/components/RadioBoxUsage.md +++ b/build-system/docs-template/xml-template/docs/components/RadioBoxUsage.md @@ -6,6 +6,8 @@ title: RadioBox ``` + + ## Стиль RadioBox Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/SegmentUsage.md b/build-system/docs-template/xml-template/docs/components/SegmentUsage.md index 311d21455e..9f64afce12 100644 --- a/build-system/docs-template/xml-template/docs/components/SegmentUsage.md +++ b/build-system/docs-template/xml-template/docs/components/SegmentUsage.md @@ -8,6 +8,10 @@ title: Segment ``` + + + + ## Стиль Segment Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/SelectUsage.md b/build-system/docs-template/xml-template/docs/components/SelectUsage.md new file mode 100644 index 0000000000..130ff4058f --- /dev/null +++ b/build-system/docs-template/xml-template/docs/components/SelectUsage.md @@ -0,0 +1,110 @@ +--- +title: Select +--- + +`Select` — компонент с возможностью выбора одного или нескольких вариантов в выпадающем списке. +Он показывает список доступных вариантов по нажатию на триггер, позволяет настраивать источник данных, +отображение пустого состояния и футера, а также внешний вид триггера. + +## Основные возможности + +- Пустое состояние (`EmptyStateView`) при отсутствии подсказок. +- Нижний футер (`FooterView`) — например, индикатор загрузки. +- Гибкая настройка через XML-атрибуты и программно. + +--- + +## Атрибуты кастомизации + +| Атрибут | Описание | Тип | +|--------|----------|-----| +| `sd_buttonStyleOverlay` | Стиль Button внутри Select | reference | +| `sd_textFieldStyleOverlay` | Стиль TextField внутри Select | reference | +| `sd_dropdownMenuStyleOverlay` | Стиль выпадающего меню | reference | +| `sd_emptyStateStyleOverlay` | Стиль пустого состояния | reference | + +> Примечание: реальные имена стилей зависят от темы дизайн‑системы. Всегда предпочтительно использовать готовые стили `@style/{{ docs-theme-prefix }}.Components.Select`. + +--- + +## Пример использования (Kotlin) + +Пример создания Select программно, с добавлением плейсхолдера для пустого состояния: + +```kotlin +// @sample: com/sdds/uikit/fixtures/samples/select/Select_EmptyState.kt +``` + +--- + +## Пример использования в XML + +```xml + +``` + +## Можно указать свой плейсхолдер для пустого состояния +```xml + +``` +Или футер: + +```xml + +``` +--- + +## Пример обработки данных + +```kotlin +select.setItems( + listOf( + ListItem.simpleItem(1, "Иван Иванов"), + ListItem.simpleItem(2, "Пётр Петров"), + ListItem.simpleItem(3, "Анна Смирнова"), + ) +) +``` + +### Примечание + +Для удобства использования в Select уже установлена простая реализация адаптера, с необходимыми, для "быстрого +старта" функциями. Вы можете создать свою собственную реализацию и установить adapter для Select. Стоит отметить, что +в качестве adapter ожидается реализация абстрактного класса SelectAdapter, так как в нем уже реализована логика +выбора элемента списка для разных режимов работы (single и multiple выбор). Режим выбора в adapter меняется с помощью +`adapter.selectionMode` ожидаемый тип значения - enum `Select.SelectionMode`. + +## SelectItem + +Предназначен для использования в качестве элемента списка `Select`. Поддерживает состояние `checked`. +В зависимости от типа `itemType` отображает в `checked` состоянии иконку (`SELECT_ITEM_TYPE_SINGLE`) +или [CheckBox](./CheckBoxUsage.md) (`SELECT_ITEM_TYPE_MULTIPLE`). + +## Атрибуты кастомизации + +| Атрибут | Описание | Тип | +|--------|----------|-----| +| `sd_cellStyleOverlay` | стиль CellLayout внутри SelectItem | reference | +| `sd_checkBoxStyleOverlay` | стиль CheckBox внутри SelectItem | reference | +| `sd_background` | цвет фона | color, reference | +| `android:checked` | находится ли элемент в выбранном состоянии | boolean | +| `android:checkable` | может ли элемент быть выбранным | boolean | +| `sd_iconTint` | окрас иконки, отображающей состояние checked | color,reference | +| `sd_icon` | иконка, отображающая состояние checked | reference | +| `sd_controlMargin` | отступ основного контента от элемента отвечающего за checked состояние | dimension | +| `sd_controlSize` | размер области для элемента отвечающего за checked состояние | dimension | +| `sd_itemType` | тип SelectItem в Select | enum(single, multiple) | +|`layout_fileContent`|роли компонентов, размещаемых внутри SelectItem|enum(start, center, label, title, subtitle, end , disclosure)| + +Для изменения размера (ширины/высоты), паддингов применяются стандартные атрибуты android. +Для настройки и корректировки формы скругления используйте [sd_shapeAppearance](../theme/ShapeAppearance.md#sd_shapeappearance). + +> Примечание: реальные имена стилей зависят от темы дизайн‑системы. Всегда предпочтительно использовать готовые стили `@style/{{ docs-theme-prefix }}.Components.SelectItem`. + +--- + +## Пример использования в XML + +```xml + +``` diff --git a/build-system/docs-template/xml-template/docs/components/SliderUsage.md b/build-system/docs-template/xml-template/docs/components/SliderUsage.md index b829c181d4..01471b3ce5 100644 --- a/build-system/docs-template/xml-template/docs/components/SliderUsage.md +++ b/build-system/docs-template/xml-template/docs/components/SliderUsage.md @@ -12,6 +12,8 @@ title: Slider ``` + + ## Стили Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/SpinnerUsage.md b/build-system/docs-template/xml-template/docs/components/SpinnerUsage.md index dcfc228592..50cd65ed1a 100644 --- a/build-system/docs-template/xml-template/docs/components/SpinnerUsage.md +++ b/build-system/docs-template/xml-template/docs/components/SpinnerUsage.md @@ -8,6 +8,8 @@ title: Spinner ``` + + ## Стиль Spinner Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/SwitchUsage.md b/build-system/docs-template/xml-template/docs/components/SwitchUsage.md index d9e854feb6..68a4721e99 100644 --- a/build-system/docs-template/xml-template/docs/components/SwitchUsage.md +++ b/build-system/docs-template/xml-template/docs/components/SwitchUsage.md @@ -6,6 +6,8 @@ title: Switch ``` + + ## Стиль Switch Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/TabsUsage.md b/build-system/docs-template/xml-template/docs/components/TabsUsage.md index da04d35f31..9cbcafcb29 100644 --- a/build-system/docs-template/xml-template/docs/components/TabsUsage.md +++ b/build-system/docs-template/xml-template/docs/components/TabsUsage.md @@ -20,6 +20,8 @@ Tabs работает с дочерними элементами **TabItem** (т ``` + + > Внутренний `Tabs` автоматически превратит дочерние `TabItem`/`IconTabItem` в элементы вкладок. ### Код (Kotlin) diff --git a/build-system/docs-template/xml-template/docs/components/TextFieldUsage.md b/build-system/docs-template/xml-template/docs/components/TextFieldUsage.md index 20a1f5599d..0c730125cd 100644 --- a/build-system/docs-template/xml-template/docs/components/TextFieldUsage.md +++ b/build-system/docs-template/xml-template/docs/components/TextFieldUsage.md @@ -6,6 +6,8 @@ title: TextField ``` + + ## Стиль TextField Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. @@ -85,6 +87,8 @@ title: TextField ``` + + ## TextField readOnly При включении этого параметра компонент становится доступным только для чтения, изменение текстовых полей невозможно. diff --git a/build-system/docs-template/xml-template/docs/components/ToolBarUsage.md b/build-system/docs-template/xml-template/docs/components/ToolBarUsage.md index 9cf26dc269..83c304f4f4 100644 --- a/build-system/docs-template/xml-template/docs/components/ToolBarUsage.md +++ b/build-system/docs-template/xml-template/docs/components/ToolBarUsage.md @@ -17,6 +17,8 @@ Gravity.CENTER_VERTICAL для горизонтального `ToolBar`, Gravity ``` + + ## Стиль ToolBar Существует набор сгенерированных стилей. Так же можно настроить стиль самостоятельно. diff --git a/build-system/docs-template/xml-template/docs/components/WheelUsage.md b/build-system/docs-template/xml-template/docs/components/WheelUsage.md index cb6902b33b..761ea1449c 100644 --- a/build-system/docs-template/xml-template/docs/components/WheelUsage.md +++ b/build-system/docs-template/xml-template/docs/components/WheelUsage.md @@ -88,6 +88,8 @@ parentLayout.addView(wheel) ``` + + А затем настроить его в `onViewCreated` или `onCreate`: ```kotlin diff --git a/gradle.properties b/gradle.properties index 4c63c80754..63f3c6b27c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.configureondemand=false org.gradle.parallel=true org.gradle.caching=true org.gradle.daemon=true -kotlin.daemon.jvmargs=-Xmx2g +kotlin.daemon.jvmargs=-Xmx8g diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ffcc2bd431..8341059b8b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -25,6 +25,7 @@ androidX-activityKtx = "1.3.1" androidX-activity = "1.3.1" androidX-tracing = "1.0.0" androidX-collection = "1.5.0" +androidX-recyclerView = "1.1.0" test-espresso = "3.4.0" test-jUnit = "4.13.2" @@ -40,14 +41,15 @@ test-assertk = "0.28.1" kotlinSerialization = "1.4.0" kotlinKsp = "1.9.25-1.0.20" kotlinPoet = "1.12.0" +kotlinCoroutines = "1.6.1" glide = "4.16.0" koilVersion-compose = "2.2.0" -sdds-uikit = "0.37.0" -sdds-uikit-compose = "0.39.0" -sdds-theme-builder = "0.36.0" -sdds-haze = "0.3.0" +sdds-uikit = "0.38.0" +sdds-uikit-compose = "0.40.0" +sdds-theme-builder = "0.37.0" +sdds-haze = "0.4.0" uikit-input-masks-version = "7.2.6" @@ -75,6 +77,7 @@ base-androidX-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-vie base-androidX-activity = { module = "androidx.activity:activity", version.ref = "androidX-activity" } base-androidX-tracing = { module = "androidx.tracing:tracing-ktx", version.ref = "androidX-tracing" } base-androidX-collection = { module = "androidx.collection:collection", version.ref = "androidX-collection" } +base-androidX-recyclerView = { module = "androidx.recyclerview:recyclerview", version.ref = "androidX-recyclerView" } base-androidX-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "androidX-compose-bom"} base-androidX-compose-runtime = { module = "androidx.compose.runtime:runtime" } @@ -91,7 +94,9 @@ base-kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version. base-kotlin-ksp = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "kotlinKsp" } base-kotlin-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinSerialization" } base-kotlin-poet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinPoet"} +base-kotlin-poetKsp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinPoet"} base-kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "global-kotlin"} +base-kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines"} base-staticAnalysis-ktlint = { module = "com.pinterest:ktlint", version.ref = "staticAnalysis-ktlint" } base-staticAnalysis-detekt-api = { module = "io.gitlab.arturbosch.detekt:detekt-api", version.ref = "staticAnalysis-detekt" } diff --git a/integration-core/build.gradle.kts b/integration-core/build.gradle.kts new file mode 100644 index 0000000000..4c77fdaeb4 --- /dev/null +++ b/integration-core/build.gradle.kts @@ -0,0 +1,31 @@ +@file:Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("convention.root-project") + id("convention.core-dependencies") + alias(libs.plugins.android.app) apply false + alias(libs.plugins.android.lib) apply false + alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.jvm) apply false + alias(libs.plugins.android.cache.fix) apply false + alias(libs.plugins.gradlePluginPublish) apply false + alias(libs.plugins.ksp) apply false +} + +buildscript { + repositories { + google() + mavenCentral() + maven { + url = uri("https://plugins.gradle.org/m2/") + } + mavenLocal() + } + + dependencies { + classpath(libs.base.gradle.android) + classpath(libs.base.gradle.kotlin) + classpath(libs.base.gradle.detekt) + classpath(libs.base.gradle.spotless) + classpath(libs.base.gradle.cacheFix) + } +} diff --git a/integration-core/gradle.properties b/integration-core/gradle.properties new file mode 100644 index 0000000000..dd5dc93343 --- /dev/null +++ b/integration-core/gradle.properties @@ -0,0 +1,27 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx8g -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true +# Publication +nexus.snapshot=false +nexus.gitUrl=https://github.com/salute-developers/plasma.git +nexus.websiteUrl=https://github.com/salute-developers/plasma diff --git a/integration-core/sandbox-compose/build.gradle.kts b/integration-core/sandbox-compose/build.gradle.kts new file mode 100644 index 0000000000..5a019d1785 --- /dev/null +++ b/integration-core/sandbox-compose/build.gradle.kts @@ -0,0 +1,51 @@ +import com.sdds.plugin.themebuilder.OutputLocation.SRC +import com.sdds.plugin.themebuilder.ThemeBuilderMode.THEME +import utils.componentsName +import utils.componentsVersion +import utils.themeAlias +import utils.themeName +import utils.themeVersion + +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("convention.android-lib") + id("convention.maven-publish") + id("convention.compose") + id("convention.auto-bump") + id(libs.plugins.themebuilder.get().pluginId) +} + +group = "integration-core" + +android { + namespace = "com.sdds.compose.sandbox" +} + +themeBuilder { + themeSource(name = themeName, version = themeVersion, alias = themeAlias) + componentSource(name = componentsName, version = componentsVersion, alias = themeAlias) + compose() + ktPackage(ktPackage = "com.sdds.compose.sandbox") + mode(THEME) + autoGenerate(false) + outputLocation(SRC) +} + +dependencies { + + implementation(project(":sandbox-core")) + implementation(libs.sdds.uikit.compose) + implementation(icons.sdds.icons) + + implementation(libs.base.androidX.compose.foundation) + implementation(libs.base.androidX.activity.compose) + implementation(libs.base.androidX.appcompat) + implementation(libs.base.androidX.activity) + implementation(libs.base.androidX.lifecycle.compose.viewmodel) + implementation(libs.base.androidX.navigation.compose) + + + // Preview support + implementation(libs.base.androidX.compose.uiTooling.preview) + debugImplementation(libs.base.androidX.compose.uiTooling) +} diff --git a/integration-core/sandbox-compose/config-info-compose.json b/integration-core/sandbox-compose/config-info-compose.json new file mode 100644 index 0000000000..ef88bbdcee --- /dev/null +++ b/integration-core/sandbox-compose/config-info-compose.json @@ -0,0 +1,12137 @@ +{ + "name": "sdds_serv", + "packageName": "com.sdds.compose.sandbox", + "components": [ + { + "key": "avatar", + "coreName": "Avatar", + "styleName": "Avatar", + "variations": [ + { + "name": "xxl", + "composeReference": "Avatar.Xxl" + }, + { + "name": "l", + "composeReference": "Avatar.L" + }, + { + "name": "m", + "composeReference": "Avatar.M" + }, + { + "name": "s", + "composeReference": "Avatar.S" + } + ] + }, + { + "key": "avatar-group", + "coreName": "AvatarGroup", + "styleName": "AvatarGroup", + "variations": [ + { + "name": "s", + "composeReference": "AvatarGroup.S" + } + ] + }, + { + "key": "badge", + "coreName": "Badge", + "styleName": "BadgeClear", + "variations": [ + { + "name": "l.default", + "composeReference": "BadgeClear.L.Default" + }, + { + "name": "l.accent", + "composeReference": "BadgeClear.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "BadgeClear.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "BadgeClear.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "BadgeClear.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "BadgeClear.L.Dark" + }, + { + "name": "l.light", + "composeReference": "BadgeClear.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "BadgeClear.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "BadgeClear.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "BadgeClear.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "BadgeClear.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "BadgeClear.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "BadgeClear.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "BadgeClear.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "BadgeClear.M.Default" + }, + { + "name": "m.accent", + "composeReference": "BadgeClear.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "BadgeClear.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "BadgeClear.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "BadgeClear.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "BadgeClear.M.Dark" + }, + { + "name": "m.light", + "composeReference": "BadgeClear.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "BadgeClear.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "BadgeClear.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "BadgeClear.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "BadgeClear.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "BadgeClear.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "BadgeClear.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "BadgeClear.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "BadgeClear.S.Default" + }, + { + "name": "s.accent", + "composeReference": "BadgeClear.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "BadgeClear.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "BadgeClear.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "BadgeClear.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "BadgeClear.S.Dark" + }, + { + "name": "s.light", + "composeReference": "BadgeClear.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "BadgeClear.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "BadgeClear.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "BadgeClear.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "BadgeClear.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "BadgeClear.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "BadgeClear.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "BadgeClear.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "BadgeClear.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "BadgeClear.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "BadgeClear.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "BadgeClear.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "BadgeClear.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "BadgeClear.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "BadgeClear.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "BadgeClear.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "BadgeClear.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "BadgeClear.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "BadgeClear.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "BadgeClear.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "BadgeClear.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "BadgeClear.Xs.Pilled.Light" + } + ] + }, + { + "key": "badge", + "coreName": "Badge", + "styleName": "BadgeSolid", + "variations": [ + { + "name": "l.default", + "composeReference": "BadgeSolid.L.Default" + }, + { + "name": "l.accent", + "composeReference": "BadgeSolid.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "BadgeSolid.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "BadgeSolid.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "BadgeSolid.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "BadgeSolid.L.Dark" + }, + { + "name": "l.light", + "composeReference": "BadgeSolid.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "BadgeSolid.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "BadgeSolid.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "BadgeSolid.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "BadgeSolid.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "BadgeSolid.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "BadgeSolid.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "BadgeSolid.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "BadgeSolid.M.Default" + }, + { + "name": "m.accent", + "composeReference": "BadgeSolid.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "BadgeSolid.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "BadgeSolid.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "BadgeSolid.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "BadgeSolid.M.Dark" + }, + { + "name": "m.light", + "composeReference": "BadgeSolid.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "BadgeSolid.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "BadgeSolid.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "BadgeSolid.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "BadgeSolid.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "BadgeSolid.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "BadgeSolid.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "BadgeSolid.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "BadgeSolid.S.Default" + }, + { + "name": "s.accent", + "composeReference": "BadgeSolid.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "BadgeSolid.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "BadgeSolid.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "BadgeSolid.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "BadgeSolid.S.Dark" + }, + { + "name": "s.light", + "composeReference": "BadgeSolid.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "BadgeSolid.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "BadgeSolid.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "BadgeSolid.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "BadgeSolid.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "BadgeSolid.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "BadgeSolid.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "BadgeSolid.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "BadgeSolid.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "BadgeSolid.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "BadgeSolid.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "BadgeSolid.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "BadgeSolid.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "BadgeSolid.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "BadgeSolid.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "BadgeSolid.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "BadgeSolid.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "BadgeSolid.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "BadgeSolid.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "BadgeSolid.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "BadgeSolid.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "BadgeSolid.Xs.Pilled.Light" + } + ] + }, + { + "key": "badge", + "coreName": "Badge", + "styleName": "BadgeTransparent", + "variations": [ + { + "name": "l.default", + "composeReference": "BadgeTransparent.L.Default" + }, + { + "name": "l.accent", + "composeReference": "BadgeTransparent.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "BadgeTransparent.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "BadgeTransparent.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "BadgeTransparent.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "BadgeTransparent.L.Dark" + }, + { + "name": "l.light", + "composeReference": "BadgeTransparent.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "BadgeTransparent.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "BadgeTransparent.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "BadgeTransparent.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "BadgeTransparent.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "BadgeTransparent.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "BadgeTransparent.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "BadgeTransparent.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "BadgeTransparent.M.Default" + }, + { + "name": "m.accent", + "composeReference": "BadgeTransparent.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "BadgeTransparent.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "BadgeTransparent.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "BadgeTransparent.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "BadgeTransparent.M.Dark" + }, + { + "name": "m.light", + "composeReference": "BadgeTransparent.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "BadgeTransparent.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "BadgeTransparent.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "BadgeTransparent.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "BadgeTransparent.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "BadgeTransparent.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "BadgeTransparent.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "BadgeTransparent.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "BadgeTransparent.S.Default" + }, + { + "name": "s.accent", + "composeReference": "BadgeTransparent.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "BadgeTransparent.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "BadgeTransparent.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "BadgeTransparent.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "BadgeTransparent.S.Dark" + }, + { + "name": "s.light", + "composeReference": "BadgeTransparent.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "BadgeTransparent.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "BadgeTransparent.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "BadgeTransparent.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "BadgeTransparent.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "BadgeTransparent.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "BadgeTransparent.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "BadgeTransparent.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "BadgeTransparent.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "BadgeTransparent.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "BadgeTransparent.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "BadgeTransparent.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "BadgeTransparent.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "BadgeTransparent.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "BadgeTransparent.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "BadgeTransparent.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "BadgeTransparent.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "BadgeTransparent.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "BadgeTransparent.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "BadgeTransparent.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "BadgeTransparent.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "BadgeTransparent.Xs.Pilled.Light" + } + ] + }, + { + "key": "icon-badge", + "coreName": "IconBadge", + "styleName": "IconBadgeClear", + "variations": [ + { + "name": "l.default", + "composeReference": "IconBadgeClear.L.Default" + }, + { + "name": "l.accent", + "composeReference": "IconBadgeClear.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "IconBadgeClear.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "IconBadgeClear.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "IconBadgeClear.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "IconBadgeClear.L.Dark" + }, + { + "name": "l.light", + "composeReference": "IconBadgeClear.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "IconBadgeClear.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "IconBadgeClear.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "IconBadgeClear.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "IconBadgeClear.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "IconBadgeClear.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "IconBadgeClear.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "IconBadgeClear.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "IconBadgeClear.M.Default" + }, + { + "name": "m.accent", + "composeReference": "IconBadgeClear.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "IconBadgeClear.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "IconBadgeClear.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "IconBadgeClear.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "IconBadgeClear.M.Dark" + }, + { + "name": "m.light", + "composeReference": "IconBadgeClear.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "IconBadgeClear.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "IconBadgeClear.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "IconBadgeClear.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "IconBadgeClear.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "IconBadgeClear.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "IconBadgeClear.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "IconBadgeClear.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "IconBadgeClear.S.Default" + }, + { + "name": "s.accent", + "composeReference": "IconBadgeClear.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "IconBadgeClear.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "IconBadgeClear.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "IconBadgeClear.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "IconBadgeClear.S.Dark" + }, + { + "name": "s.light", + "composeReference": "IconBadgeClear.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "IconBadgeClear.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "IconBadgeClear.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "IconBadgeClear.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "IconBadgeClear.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "IconBadgeClear.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "IconBadgeClear.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "IconBadgeClear.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "IconBadgeClear.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "IconBadgeClear.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "IconBadgeClear.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "IconBadgeClear.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "IconBadgeClear.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "IconBadgeClear.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "IconBadgeClear.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "IconBadgeClear.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "IconBadgeClear.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "IconBadgeClear.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "IconBadgeClear.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "IconBadgeClear.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "IconBadgeClear.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "IconBadgeClear.Xs.Pilled.Light" + } + ] + }, + { + "key": "icon-badge", + "coreName": "IconBadge", + "styleName": "IconBadgeSolid", + "variations": [ + { + "name": "l.default", + "composeReference": "IconBadgeSolid.L.Default" + }, + { + "name": "l.accent", + "composeReference": "IconBadgeSolid.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "IconBadgeSolid.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "IconBadgeSolid.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "IconBadgeSolid.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "IconBadgeSolid.L.Dark" + }, + { + "name": "l.light", + "composeReference": "IconBadgeSolid.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "IconBadgeSolid.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "IconBadgeSolid.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "IconBadgeSolid.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "IconBadgeSolid.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "IconBadgeSolid.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "IconBadgeSolid.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "IconBadgeSolid.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "IconBadgeSolid.M.Default" + }, + { + "name": "m.accent", + "composeReference": "IconBadgeSolid.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "IconBadgeSolid.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "IconBadgeSolid.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "IconBadgeSolid.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "IconBadgeSolid.M.Dark" + }, + { + "name": "m.light", + "composeReference": "IconBadgeSolid.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "IconBadgeSolid.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "IconBadgeSolid.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "IconBadgeSolid.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "IconBadgeSolid.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "IconBadgeSolid.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "IconBadgeSolid.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "IconBadgeSolid.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "IconBadgeSolid.S.Default" + }, + { + "name": "s.accent", + "composeReference": "IconBadgeSolid.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "IconBadgeSolid.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "IconBadgeSolid.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "IconBadgeSolid.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "IconBadgeSolid.S.Dark" + }, + { + "name": "s.light", + "composeReference": "IconBadgeSolid.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "IconBadgeSolid.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "IconBadgeSolid.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "IconBadgeSolid.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "IconBadgeSolid.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "IconBadgeSolid.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "IconBadgeSolid.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "IconBadgeSolid.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "IconBadgeSolid.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "IconBadgeSolid.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "IconBadgeSolid.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "IconBadgeSolid.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "IconBadgeSolid.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "IconBadgeSolid.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "IconBadgeSolid.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "IconBadgeSolid.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "IconBadgeSolid.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "IconBadgeSolid.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "IconBadgeSolid.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "IconBadgeSolid.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "IconBadgeSolid.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "IconBadgeSolid.Xs.Pilled.Light" + } + ] + }, + { + "key": "icon-badge", + "coreName": "IconBadge", + "styleName": "IconBadgeTransparent", + "variations": [ + { + "name": "l.default", + "composeReference": "IconBadgeTransparent.L.Default" + }, + { + "name": "l.accent", + "composeReference": "IconBadgeTransparent.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "IconBadgeTransparent.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "IconBadgeTransparent.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "IconBadgeTransparent.L.Warning" + }, + { + "name": "l.dark", + "composeReference": "IconBadgeTransparent.L.Dark" + }, + { + "name": "l.light", + "composeReference": "IconBadgeTransparent.L.Light" + }, + { + "name": "l.pilled.default", + "composeReference": "IconBadgeTransparent.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "IconBadgeTransparent.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "IconBadgeTransparent.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "IconBadgeTransparent.L.Pilled.Positive" + }, + { + "name": "l.pilled.warning", + "composeReference": "IconBadgeTransparent.L.Pilled.Warning" + }, + { + "name": "l.pilled.dark", + "composeReference": "IconBadgeTransparent.L.Pilled.Dark" + }, + { + "name": "l.pilled.light", + "composeReference": "IconBadgeTransparent.L.Pilled.Light" + }, + { + "name": "m.default", + "composeReference": "IconBadgeTransparent.M.Default" + }, + { + "name": "m.accent", + "composeReference": "IconBadgeTransparent.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "IconBadgeTransparent.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "IconBadgeTransparent.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "IconBadgeTransparent.M.Warning" + }, + { + "name": "m.dark", + "composeReference": "IconBadgeTransparent.M.Dark" + }, + { + "name": "m.light", + "composeReference": "IconBadgeTransparent.M.Light" + }, + { + "name": "m.pilled.default", + "composeReference": "IconBadgeTransparent.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "IconBadgeTransparent.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "IconBadgeTransparent.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "IconBadgeTransparent.M.Pilled.Positive" + }, + { + "name": "m.pilled.warning", + "composeReference": "IconBadgeTransparent.M.Pilled.Warning" + }, + { + "name": "m.pilled.dark", + "composeReference": "IconBadgeTransparent.M.Pilled.Dark" + }, + { + "name": "m.pilled.light", + "composeReference": "IconBadgeTransparent.M.Pilled.Light" + }, + { + "name": "s.default", + "composeReference": "IconBadgeTransparent.S.Default" + }, + { + "name": "s.accent", + "composeReference": "IconBadgeTransparent.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "IconBadgeTransparent.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "IconBadgeTransparent.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "IconBadgeTransparent.S.Warning" + }, + { + "name": "s.dark", + "composeReference": "IconBadgeTransparent.S.Dark" + }, + { + "name": "s.light", + "composeReference": "IconBadgeTransparent.S.Light" + }, + { + "name": "s.pilled.default", + "composeReference": "IconBadgeTransparent.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "IconBadgeTransparent.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "IconBadgeTransparent.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "IconBadgeTransparent.S.Pilled.Positive" + }, + { + "name": "s.pilled.warning", + "composeReference": "IconBadgeTransparent.S.Pilled.Warning" + }, + { + "name": "s.pilled.dark", + "composeReference": "IconBadgeTransparent.S.Pilled.Dark" + }, + { + "name": "s.pilled.light", + "composeReference": "IconBadgeTransparent.S.Pilled.Light" + }, + { + "name": "xs.default", + "composeReference": "IconBadgeTransparent.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "IconBadgeTransparent.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "IconBadgeTransparent.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "IconBadgeTransparent.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "IconBadgeTransparent.Xs.Warning" + }, + { + "name": "xs.dark", + "composeReference": "IconBadgeTransparent.Xs.Dark" + }, + { + "name": "xs.light", + "composeReference": "IconBadgeTransparent.Xs.Light" + }, + { + "name": "xs.pilled.default", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.warning", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.dark", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.light", + "composeReference": "IconBadgeTransparent.Xs.Pilled.Light" + } + ] + }, + { + "key": "basic-button", + "coreName": "BasicButton", + "styleName": "BasicButton", + "variations": [ + { + "name": "xl.default", + "composeReference": "BasicButton.Xl.Default" + }, + { + "name": "xl.secondary", + "composeReference": "BasicButton.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "BasicButton.Xl.Accent" + }, + { + "name": "xl.positive", + "composeReference": "BasicButton.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "BasicButton.Xl.Negative" + }, + { + "name": "xl.warning", + "composeReference": "BasicButton.Xl.Warning" + }, + { + "name": "xl.clear", + "composeReference": "BasicButton.Xl.Clear" + }, + { + "name": "xl.dark", + "composeReference": "BasicButton.Xl.Dark" + }, + { + "name": "xl.black", + "composeReference": "BasicButton.Xl.Black" + }, + { + "name": "xl.white", + "composeReference": "BasicButton.Xl.White" + }, + { + "name": "l.default", + "composeReference": "BasicButton.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "BasicButton.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "BasicButton.L.Accent" + }, + { + "name": "l.positive", + "composeReference": "BasicButton.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "BasicButton.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "BasicButton.L.Warning" + }, + { + "name": "l.clear", + "composeReference": "BasicButton.L.Clear" + }, + { + "name": "l.dark", + "composeReference": "BasicButton.L.Dark" + }, + { + "name": "l.black", + "composeReference": "BasicButton.L.Black" + }, + { + "name": "l.white", + "composeReference": "BasicButton.L.White" + }, + { + "name": "m.default", + "composeReference": "BasicButton.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "BasicButton.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "BasicButton.M.Accent" + }, + { + "name": "m.positive", + "composeReference": "BasicButton.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "BasicButton.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "BasicButton.M.Warning" + }, + { + "name": "m.clear", + "composeReference": "BasicButton.M.Clear" + }, + { + "name": "m.dark", + "composeReference": "BasicButton.M.Dark" + }, + { + "name": "m.black", + "composeReference": "BasicButton.M.Black" + }, + { + "name": "m.white", + "composeReference": "BasicButton.M.White" + }, + { + "name": "s.default", + "composeReference": "BasicButton.S.Default" + }, + { + "name": "s.secondary", + "composeReference": "BasicButton.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "BasicButton.S.Accent" + }, + { + "name": "s.positive", + "composeReference": "BasicButton.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "BasicButton.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "BasicButton.S.Warning" + }, + { + "name": "s.clear", + "composeReference": "BasicButton.S.Clear" + }, + { + "name": "s.dark", + "composeReference": "BasicButton.S.Dark" + }, + { + "name": "s.black", + "composeReference": "BasicButton.S.Black" + }, + { + "name": "s.white", + "composeReference": "BasicButton.S.White" + }, + { + "name": "xs.default", + "composeReference": "BasicButton.Xs.Default" + }, + { + "name": "xs.secondary", + "composeReference": "BasicButton.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "BasicButton.Xs.Accent" + }, + { + "name": "xs.positive", + "composeReference": "BasicButton.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "BasicButton.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "BasicButton.Xs.Warning" + }, + { + "name": "xs.clear", + "composeReference": "BasicButton.Xs.Clear" + }, + { + "name": "xs.dark", + "composeReference": "BasicButton.Xs.Dark" + }, + { + "name": "xs.black", + "composeReference": "BasicButton.Xs.Black" + }, + { + "name": "xs.white", + "composeReference": "BasicButton.Xs.White" + }, + { + "name": "xxs.default", + "composeReference": "BasicButton.Xxs.Default" + }, + { + "name": "xxs.secondary", + "composeReference": "BasicButton.Xxs.Secondary" + }, + { + "name": "xxs.accent", + "composeReference": "BasicButton.Xxs.Accent" + }, + { + "name": "xxs.positive", + "composeReference": "BasicButton.Xxs.Positive" + }, + { + "name": "xxs.negative", + "composeReference": "BasicButton.Xxs.Negative" + }, + { + "name": "xxs.warning", + "composeReference": "BasicButton.Xxs.Warning" + }, + { + "name": "xxs.clear", + "composeReference": "BasicButton.Xxs.Clear" + }, + { + "name": "xxs.dark", + "composeReference": "BasicButton.Xxs.Dark" + }, + { + "name": "xxs.black", + "composeReference": "BasicButton.Xxs.Black" + }, + { + "name": "xxs.white", + "composeReference": "BasicButton.Xxs.White" + } + ] + }, + { + "key": "icon-button", + "coreName": "IconButton", + "styleName": "IconButton", + "variations": [ + { + "name": "xl.default", + "composeReference": "IconButton.Xl.Default" + }, + { + "name": "xl.secondary", + "composeReference": "IconButton.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "IconButton.Xl.Accent" + }, + { + "name": "xl.positive", + "composeReference": "IconButton.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "IconButton.Xl.Negative" + }, + { + "name": "xl.warning", + "composeReference": "IconButton.Xl.Warning" + }, + { + "name": "xl.clear", + "composeReference": "IconButton.Xl.Clear" + }, + { + "name": "xl.dark", + "composeReference": "IconButton.Xl.Dark" + }, + { + "name": "xl.black", + "composeReference": "IconButton.Xl.Black" + }, + { + "name": "xl.white", + "composeReference": "IconButton.Xl.White" + }, + { + "name": "xl.pilled.default", + "composeReference": "IconButton.Xl.Pilled.Default" + }, + { + "name": "xl.pilled.secondary", + "composeReference": "IconButton.Xl.Pilled.Secondary" + }, + { + "name": "xl.pilled.accent", + "composeReference": "IconButton.Xl.Pilled.Accent" + }, + { + "name": "xl.pilled.positive", + "composeReference": "IconButton.Xl.Pilled.Positive" + }, + { + "name": "xl.pilled.negative", + "composeReference": "IconButton.Xl.Pilled.Negative" + }, + { + "name": "xl.pilled.warning", + "composeReference": "IconButton.Xl.Pilled.Warning" + }, + { + "name": "xl.pilled.clear", + "composeReference": "IconButton.Xl.Pilled.Clear" + }, + { + "name": "xl.pilled.dark", + "composeReference": "IconButton.Xl.Pilled.Dark" + }, + { + "name": "xl.pilled.black", + "composeReference": "IconButton.Xl.Pilled.Black" + }, + { + "name": "xl.pilled.white", + "composeReference": "IconButton.Xl.Pilled.White" + }, + { + "name": "l.default", + "composeReference": "IconButton.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "IconButton.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "IconButton.L.Accent" + }, + { + "name": "l.positive", + "composeReference": "IconButton.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "IconButton.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "IconButton.L.Warning" + }, + { + "name": "l.clear", + "composeReference": "IconButton.L.Clear" + }, + { + "name": "l.dark", + "composeReference": "IconButton.L.Dark" + }, + { + "name": "l.black", + "composeReference": "IconButton.L.Black" + }, + { + "name": "l.white", + "composeReference": "IconButton.L.White" + }, + { + "name": "l.pilled.default", + "composeReference": "IconButton.L.Pilled.Default" + }, + { + "name": "l.pilled.secondary", + "composeReference": "IconButton.L.Pilled.Secondary" + }, + { + "name": "l.pilled.accent", + "composeReference": "IconButton.L.Pilled.Accent" + }, + { + "name": "l.pilled.positive", + "composeReference": "IconButton.L.Pilled.Positive" + }, + { + "name": "l.pilled.negative", + "composeReference": "IconButton.L.Pilled.Negative" + }, + { + "name": "l.pilled.warning", + "composeReference": "IconButton.L.Pilled.Warning" + }, + { + "name": "l.pilled.clear", + "composeReference": "IconButton.L.Pilled.Clear" + }, + { + "name": "l.pilled.dark", + "composeReference": "IconButton.L.Pilled.Dark" + }, + { + "name": "l.pilled.black", + "composeReference": "IconButton.L.Pilled.Black" + }, + { + "name": "l.pilled.white", + "composeReference": "IconButton.L.Pilled.White" + }, + { + "name": "m.default", + "composeReference": "IconButton.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "IconButton.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "IconButton.M.Accent" + }, + { + "name": "m.positive", + "composeReference": "IconButton.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "IconButton.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "IconButton.M.Warning" + }, + { + "name": "m.clear", + "composeReference": "IconButton.M.Clear" + }, + { + "name": "m.dark", + "composeReference": "IconButton.M.Dark" + }, + { + "name": "m.black", + "composeReference": "IconButton.M.Black" + }, + { + "name": "m.white", + "composeReference": "IconButton.M.White" + }, + { + "name": "m.pilled.default", + "composeReference": "IconButton.M.Pilled.Default" + }, + { + "name": "m.pilled.secondary", + "composeReference": "IconButton.M.Pilled.Secondary" + }, + { + "name": "m.pilled.accent", + "composeReference": "IconButton.M.Pilled.Accent" + }, + { + "name": "m.pilled.positive", + "composeReference": "IconButton.M.Pilled.Positive" + }, + { + "name": "m.pilled.negative", + "composeReference": "IconButton.M.Pilled.Negative" + }, + { + "name": "m.pilled.warning", + "composeReference": "IconButton.M.Pilled.Warning" + }, + { + "name": "m.pilled.clear", + "composeReference": "IconButton.M.Pilled.Clear" + }, + { + "name": "m.pilled.dark", + "composeReference": "IconButton.M.Pilled.Dark" + }, + { + "name": "m.pilled.black", + "composeReference": "IconButton.M.Pilled.Black" + }, + { + "name": "m.pilled.white", + "composeReference": "IconButton.M.Pilled.White" + }, + { + "name": "s.default", + "composeReference": "IconButton.S.Default" + }, + { + "name": "s.secondary", + "composeReference": "IconButton.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "IconButton.S.Accent" + }, + { + "name": "s.positive", + "composeReference": "IconButton.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "IconButton.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "IconButton.S.Warning" + }, + { + "name": "s.clear", + "composeReference": "IconButton.S.Clear" + }, + { + "name": "s.dark", + "composeReference": "IconButton.S.Dark" + }, + { + "name": "s.black", + "composeReference": "IconButton.S.Black" + }, + { + "name": "s.white", + "composeReference": "IconButton.S.White" + }, + { + "name": "s.pilled.default", + "composeReference": "IconButton.S.Pilled.Default" + }, + { + "name": "s.pilled.secondary", + "composeReference": "IconButton.S.Pilled.Secondary" + }, + { + "name": "s.pilled.accent", + "composeReference": "IconButton.S.Pilled.Accent" + }, + { + "name": "s.pilled.positive", + "composeReference": "IconButton.S.Pilled.Positive" + }, + { + "name": "s.pilled.negative", + "composeReference": "IconButton.S.Pilled.Negative" + }, + { + "name": "s.pilled.warning", + "composeReference": "IconButton.S.Pilled.Warning" + }, + { + "name": "s.pilled.clear", + "composeReference": "IconButton.S.Pilled.Clear" + }, + { + "name": "s.pilled.dark", + "composeReference": "IconButton.S.Pilled.Dark" + }, + { + "name": "s.pilled.black", + "composeReference": "IconButton.S.Pilled.Black" + }, + { + "name": "s.pilled.white", + "composeReference": "IconButton.S.Pilled.White" + }, + { + "name": "xs.default", + "composeReference": "IconButton.Xs.Default" + }, + { + "name": "xs.secondary", + "composeReference": "IconButton.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "IconButton.Xs.Accent" + }, + { + "name": "xs.positive", + "composeReference": "IconButton.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "IconButton.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "IconButton.Xs.Warning" + }, + { + "name": "xs.clear", + "composeReference": "IconButton.Xs.Clear" + }, + { + "name": "xs.dark", + "composeReference": "IconButton.Xs.Dark" + }, + { + "name": "xs.black", + "composeReference": "IconButton.Xs.Black" + }, + { + "name": "xs.white", + "composeReference": "IconButton.Xs.White" + }, + { + "name": "xs.pilled.default", + "composeReference": "IconButton.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "IconButton.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.accent", + "composeReference": "IconButton.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.positive", + "composeReference": "IconButton.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.negative", + "composeReference": "IconButton.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.warning", + "composeReference": "IconButton.Xs.Pilled.Warning" + }, + { + "name": "xs.pilled.clear", + "composeReference": "IconButton.Xs.Pilled.Clear" + }, + { + "name": "xs.pilled.dark", + "composeReference": "IconButton.Xs.Pilled.Dark" + }, + { + "name": "xs.pilled.black", + "composeReference": "IconButton.Xs.Pilled.Black" + }, + { + "name": "xs.pilled.white", + "composeReference": "IconButton.Xs.Pilled.White" + }, + { + "name": "xxs.default", + "composeReference": "IconButton.Xxs.Default" + }, + { + "name": "xxs.secondary", + "composeReference": "IconButton.Xxs.Secondary" + }, + { + "name": "xxs.accent", + "composeReference": "IconButton.Xxs.Accent" + }, + { + "name": "xxs.positive", + "composeReference": "IconButton.Xxs.Positive" + }, + { + "name": "xxs.negative", + "composeReference": "IconButton.Xxs.Negative" + }, + { + "name": "xxs.warning", + "composeReference": "IconButton.Xxs.Warning" + }, + { + "name": "xxs.clear", + "composeReference": "IconButton.Xxs.Clear" + }, + { + "name": "xxs.dark", + "composeReference": "IconButton.Xxs.Dark" + }, + { + "name": "xxs.black", + "composeReference": "IconButton.Xxs.Black" + }, + { + "name": "xxs.white", + "composeReference": "IconButton.Xxs.White" + }, + { + "name": "xxs.pilled.default", + "composeReference": "IconButton.Xxs.Pilled.Default" + }, + { + "name": "xxs.pilled.secondary", + "composeReference": "IconButton.Xxs.Pilled.Secondary" + }, + { + "name": "xxs.pilled.accent", + "composeReference": "IconButton.Xxs.Pilled.Accent" + }, + { + "name": "xxs.pilled.positive", + "composeReference": "IconButton.Xxs.Pilled.Positive" + }, + { + "name": "xxs.pilled.negative", + "composeReference": "IconButton.Xxs.Pilled.Negative" + }, + { + "name": "xxs.pilled.warning", + "composeReference": "IconButton.Xxs.Pilled.Warning" + }, + { + "name": "xxs.pilled.clear", + "composeReference": "IconButton.Xxs.Pilled.Clear" + }, + { + "name": "xxs.pilled.dark", + "composeReference": "IconButton.Xxs.Pilled.Dark" + }, + { + "name": "xxs.pilled.black", + "composeReference": "IconButton.Xxs.Pilled.Black" + }, + { + "name": "xxs.pilled.white", + "composeReference": "IconButton.Xxs.Pilled.White" + } + ] + }, + { + "key": "link-button", + "coreName": "LinkButton", + "styleName": "LinkButton", + "variations": [ + { + "name": "xl.default", + "composeReference": "LinkButton.Xl.Default" + }, + { + "name": "xl.secondary", + "composeReference": "LinkButton.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "LinkButton.Xl.Accent" + }, + { + "name": "xl.positive", + "composeReference": "LinkButton.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "LinkButton.Xl.Negative" + }, + { + "name": "xl.warning", + "composeReference": "LinkButton.Xl.Warning" + }, + { + "name": "xl.info", + "composeReference": "LinkButton.Xl.Info" + }, + { + "name": "l.default", + "composeReference": "LinkButton.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "LinkButton.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "LinkButton.L.Accent" + }, + { + "name": "l.positive", + "composeReference": "LinkButton.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "LinkButton.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "LinkButton.L.Warning" + }, + { + "name": "l.info", + "composeReference": "LinkButton.L.Info" + }, + { + "name": "m.default", + "composeReference": "LinkButton.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "LinkButton.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "LinkButton.M.Accent" + }, + { + "name": "m.positive", + "composeReference": "LinkButton.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "LinkButton.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "LinkButton.M.Warning" + }, + { + "name": "m.info", + "composeReference": "LinkButton.M.Info" + }, + { + "name": "s.default", + "composeReference": "LinkButton.S.Default" + }, + { + "name": "s.secondary", + "composeReference": "LinkButton.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "LinkButton.S.Accent" + }, + { + "name": "s.positive", + "composeReference": "LinkButton.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "LinkButton.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "LinkButton.S.Warning" + }, + { + "name": "s.info", + "composeReference": "LinkButton.S.Info" + }, + { + "name": "xs.default", + "composeReference": "LinkButton.Xs.Default" + }, + { + "name": "xs.secondary", + "composeReference": "LinkButton.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "LinkButton.Xs.Accent" + }, + { + "name": "xs.positive", + "composeReference": "LinkButton.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "LinkButton.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "LinkButton.Xs.Warning" + }, + { + "name": "xs.info", + "composeReference": "LinkButton.Xs.Info" + }, + { + "name": "xxs.default", + "composeReference": "LinkButton.Xxs.Default" + }, + { + "name": "xxs.secondary", + "composeReference": "LinkButton.Xxs.Secondary" + }, + { + "name": "xxs.accent", + "composeReference": "LinkButton.Xxs.Accent" + }, + { + "name": "xxs.positive", + "composeReference": "LinkButton.Xxs.Positive" + }, + { + "name": "xxs.negative", + "composeReference": "LinkButton.Xxs.Negative" + }, + { + "name": "xxs.warning", + "composeReference": "LinkButton.Xxs.Warning" + }, + { + "name": "xxs.info", + "composeReference": "LinkButton.Xxs.Info" + } + ] + }, + { + "key": "bottom-sheet", + "coreName": "BottomSheet", + "styleName": "ModalBottomSheet", + "variations": [ + { + "name": "Default", + "composeReference": "ModalBottomSheet.Default" + } + ] + }, + { + "key": "card", + "coreName": "Card", + "styleName": "CardSolid", + "variations": [ + { + "name": "l", + "composeReference": "CardSolid.L" + }, + { + "name": "m", + "composeReference": "CardSolid.M" + }, + { + "name": "s", + "composeReference": "CardSolid.S" + } + ] + }, + { + "key": "card", + "coreName": "Card", + "styleName": "CardClear", + "variations": [ + { + "name": "l", + "composeReference": "CardClear.L" + }, + { + "name": "m", + "composeReference": "CardClear.M" + }, + { + "name": "s", + "composeReference": "CardClear.S" + } + ] + }, + { + "key": "cell", + "coreName": "Cell", + "styleName": "Cell", + "variations": [ + { + "name": "l", + "composeReference": "Cell.L" + }, + { + "name": "m", + "composeReference": "Cell.M" + }, + { + "name": "s", + "composeReference": "Cell.S" + }, + { + "name": "xs", + "composeReference": "Cell.Xs" + } + ] + }, + { + "key": "check-box", + "coreName": "CheckBox", + "styleName": "CheckBox", + "variations": [ + { + "name": "l.default", + "composeReference": "CheckBox.L.Default" + }, + { + "name": "l.negative", + "composeReference": "CheckBox.L.Negative" + }, + { + "name": "m.default", + "composeReference": "CheckBox.M.Default" + }, + { + "name": "m.negative", + "composeReference": "CheckBox.M.Negative" + }, + { + "name": "s.default", + "composeReference": "CheckBox.S.Default" + }, + { + "name": "s.negative", + "composeReference": "CheckBox.S.Negative" + } + ] + }, + { + "key": "check-box-group", + "coreName": "CheckBoxGroup", + "styleName": "CheckBoxGroup", + "variations": [ + { + "name": "l", + "composeReference": "CheckBoxGroup.L" + }, + { + "name": "m", + "composeReference": "CheckBoxGroup.M" + }, + { + "name": "s", + "composeReference": "CheckBoxGroup.S" + } + ] + }, + { + "key": "chip", + "coreName": "Chip", + "styleName": "Chip", + "variations": [ + { + "name": "l.default", + "composeReference": "Chip.L.Default" + }, + { + "name": "l.accent", + "composeReference": "Chip.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "Chip.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "Chip.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "Chip.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "Chip.L.Warning" + }, + { + "name": "l.pilled.default", + "composeReference": "Chip.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "Chip.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "Chip.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "Chip.L.Pilled.Positive" + }, + { + "name": "l.pilled.secondary", + "composeReference": "Chip.L.Pilled.Secondary" + }, + { + "name": "l.pilled.warning", + "composeReference": "Chip.L.Pilled.Warning" + }, + { + "name": "m.default", + "composeReference": "Chip.M.Default" + }, + { + "name": "m.accent", + "composeReference": "Chip.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "Chip.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "Chip.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "Chip.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "Chip.M.Warning" + }, + { + "name": "m.pilled.default", + "composeReference": "Chip.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "Chip.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "Chip.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "Chip.M.Pilled.Positive" + }, + { + "name": "m.pilled.secondary", + "composeReference": "Chip.M.Pilled.Secondary" + }, + { + "name": "m.pilled.warning", + "composeReference": "Chip.M.Pilled.Warning" + }, + { + "name": "s.default", + "composeReference": "Chip.S.Default" + }, + { + "name": "s.accent", + "composeReference": "Chip.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "Chip.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "Chip.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "Chip.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "Chip.S.Warning" + }, + { + "name": "s.pilled.default", + "composeReference": "Chip.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "Chip.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "Chip.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "Chip.S.Pilled.Positive" + }, + { + "name": "s.pilled.secondary", + "composeReference": "Chip.S.Pilled.Secondary" + }, + { + "name": "s.pilled.warning", + "composeReference": "Chip.S.Pilled.Warning" + }, + { + "name": "xs.default", + "composeReference": "Chip.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "Chip.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "Chip.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "Chip.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "Chip.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "Chip.Xs.Warning" + }, + { + "name": "xs.pilled.default", + "composeReference": "Chip.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "Chip.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "Chip.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "Chip.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "Chip.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.warning", + "composeReference": "Chip.Xs.Pilled.Warning" + } + ] + }, + { + "key": "chip", + "coreName": "Chip", + "styleName": "EmbeddedChip", + "variations": [ + { + "name": "xl.default", + "composeReference": "EmbeddedChip.Xl.Default" + }, + { + "name": "xl.accent", + "composeReference": "EmbeddedChip.Xl.Accent" + }, + { + "name": "xl.negative", + "composeReference": "EmbeddedChip.Xl.Negative" + }, + { + "name": "xl.positive", + "composeReference": "EmbeddedChip.Xl.Positive" + }, + { + "name": "xl.secondary", + "composeReference": "EmbeddedChip.Xl.Secondary" + }, + { + "name": "xl.warning", + "composeReference": "EmbeddedChip.Xl.Warning" + }, + { + "name": "l.default", + "composeReference": "EmbeddedChip.L.Default" + }, + { + "name": "l.accent", + "composeReference": "EmbeddedChip.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "EmbeddedChip.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "EmbeddedChip.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "EmbeddedChip.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "EmbeddedChip.L.Warning" + }, + { + "name": "m.default", + "composeReference": "EmbeddedChip.M.Default" + }, + { + "name": "m.accent", + "composeReference": "EmbeddedChip.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "EmbeddedChip.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "EmbeddedChip.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "EmbeddedChip.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "EmbeddedChip.M.Warning" + }, + { + "name": "s.default", + "composeReference": "EmbeddedChip.S.Default" + }, + { + "name": "s.accent", + "composeReference": "EmbeddedChip.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "EmbeddedChip.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "EmbeddedChip.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "EmbeddedChip.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "EmbeddedChip.S.Warning" + }, + { + "name": "xs.default", + "composeReference": "EmbeddedChip.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "EmbeddedChip.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "EmbeddedChip.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "EmbeddedChip.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "EmbeddedChip.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "EmbeddedChip.Xs.Warning" + } + ] + }, + { + "key": "chip-group", + "coreName": "ChipGroup", + "styleName": "ChipGroupDense", + "variations": [ + { + "name": "l.default", + "composeReference": "ChipGroupDense.L.Default" + }, + { + "name": "l.accent", + "composeReference": "ChipGroupDense.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "ChipGroupDense.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "ChipGroupDense.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "ChipGroupDense.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "ChipGroupDense.L.Warning" + }, + { + "name": "l.pilled.default", + "composeReference": "ChipGroupDense.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "ChipGroupDense.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "ChipGroupDense.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "ChipGroupDense.L.Pilled.Positive" + }, + { + "name": "l.pilled.secondary", + "composeReference": "ChipGroupDense.L.Pilled.Secondary" + }, + { + "name": "l.pilled.warning", + "composeReference": "ChipGroupDense.L.Pilled.Warning" + }, + { + "name": "m.default", + "composeReference": "ChipGroupDense.M.Default" + }, + { + "name": "m.accent", + "composeReference": "ChipGroupDense.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "ChipGroupDense.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "ChipGroupDense.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "ChipGroupDense.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "ChipGroupDense.M.Warning" + }, + { + "name": "m.pilled.default", + "composeReference": "ChipGroupDense.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "ChipGroupDense.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "ChipGroupDense.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "ChipGroupDense.M.Pilled.Positive" + }, + { + "name": "m.pilled.secondary", + "composeReference": "ChipGroupDense.M.Pilled.Secondary" + }, + { + "name": "m.pilled.warning", + "composeReference": "ChipGroupDense.M.Pilled.Warning" + }, + { + "name": "s.default", + "composeReference": "ChipGroupDense.S.Default" + }, + { + "name": "s.accent", + "composeReference": "ChipGroupDense.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "ChipGroupDense.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "ChipGroupDense.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "ChipGroupDense.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "ChipGroupDense.S.Warning" + }, + { + "name": "s.pilled.default", + "composeReference": "ChipGroupDense.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "ChipGroupDense.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "ChipGroupDense.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "ChipGroupDense.S.Pilled.Positive" + }, + { + "name": "s.pilled.secondary", + "composeReference": "ChipGroupDense.S.Pilled.Secondary" + }, + { + "name": "s.pilled.warning", + "composeReference": "ChipGroupDense.S.Pilled.Warning" + }, + { + "name": "xs.default", + "composeReference": "ChipGroupDense.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "ChipGroupDense.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "ChipGroupDense.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "ChipGroupDense.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "ChipGroupDense.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "ChipGroupDense.Xs.Warning" + }, + { + "name": "xs.pilled.default", + "composeReference": "ChipGroupDense.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "ChipGroupDense.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "ChipGroupDense.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "ChipGroupDense.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "ChipGroupDense.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.warning", + "composeReference": "ChipGroupDense.Xs.Pilled.Warning" + } + ] + }, + { + "key": "chip-group", + "coreName": "ChipGroup", + "styleName": "ChipGroupWide", + "variations": [ + { + "name": "l.default", + "composeReference": "ChipGroupWide.L.Default" + }, + { + "name": "l.accent", + "composeReference": "ChipGroupWide.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "ChipGroupWide.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "ChipGroupWide.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "ChipGroupWide.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "ChipGroupWide.L.Warning" + }, + { + "name": "l.pilled.default", + "composeReference": "ChipGroupWide.L.Pilled.Default" + }, + { + "name": "l.pilled.accent", + "composeReference": "ChipGroupWide.L.Pilled.Accent" + }, + { + "name": "l.pilled.negative", + "composeReference": "ChipGroupWide.L.Pilled.Negative" + }, + { + "name": "l.pilled.positive", + "composeReference": "ChipGroupWide.L.Pilled.Positive" + }, + { + "name": "l.pilled.secondary", + "composeReference": "ChipGroupWide.L.Pilled.Secondary" + }, + { + "name": "l.pilled.warning", + "composeReference": "ChipGroupWide.L.Pilled.Warning" + }, + { + "name": "m.default", + "composeReference": "ChipGroupWide.M.Default" + }, + { + "name": "m.accent", + "composeReference": "ChipGroupWide.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "ChipGroupWide.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "ChipGroupWide.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "ChipGroupWide.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "ChipGroupWide.M.Warning" + }, + { + "name": "m.pilled.default", + "composeReference": "ChipGroupWide.M.Pilled.Default" + }, + { + "name": "m.pilled.accent", + "composeReference": "ChipGroupWide.M.Pilled.Accent" + }, + { + "name": "m.pilled.negative", + "composeReference": "ChipGroupWide.M.Pilled.Negative" + }, + { + "name": "m.pilled.positive", + "composeReference": "ChipGroupWide.M.Pilled.Positive" + }, + { + "name": "m.pilled.secondary", + "composeReference": "ChipGroupWide.M.Pilled.Secondary" + }, + { + "name": "m.pilled.warning", + "composeReference": "ChipGroupWide.M.Pilled.Warning" + }, + { + "name": "s.default", + "composeReference": "ChipGroupWide.S.Default" + }, + { + "name": "s.accent", + "composeReference": "ChipGroupWide.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "ChipGroupWide.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "ChipGroupWide.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "ChipGroupWide.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "ChipGroupWide.S.Warning" + }, + { + "name": "s.pilled.default", + "composeReference": "ChipGroupWide.S.Pilled.Default" + }, + { + "name": "s.pilled.accent", + "composeReference": "ChipGroupWide.S.Pilled.Accent" + }, + { + "name": "s.pilled.negative", + "composeReference": "ChipGroupWide.S.Pilled.Negative" + }, + { + "name": "s.pilled.positive", + "composeReference": "ChipGroupWide.S.Pilled.Positive" + }, + { + "name": "s.pilled.secondary", + "composeReference": "ChipGroupWide.S.Pilled.Secondary" + }, + { + "name": "s.pilled.warning", + "composeReference": "ChipGroupWide.S.Pilled.Warning" + }, + { + "name": "xs.default", + "composeReference": "ChipGroupWide.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "ChipGroupWide.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "ChipGroupWide.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "ChipGroupWide.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "ChipGroupWide.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "ChipGroupWide.Xs.Warning" + }, + { + "name": "xs.pilled.default", + "composeReference": "ChipGroupWide.Xs.Pilled.Default" + }, + { + "name": "xs.pilled.accent", + "composeReference": "ChipGroupWide.Xs.Pilled.Accent" + }, + { + "name": "xs.pilled.negative", + "composeReference": "ChipGroupWide.Xs.Pilled.Negative" + }, + { + "name": "xs.pilled.positive", + "composeReference": "ChipGroupWide.Xs.Pilled.Positive" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "ChipGroupWide.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.warning", + "composeReference": "ChipGroupWide.Xs.Pilled.Warning" + } + ] + }, + { + "key": "chip-group", + "coreName": "ChipGroup", + "styleName": "EmbeddedChipGroupDense", + "variations": [ + { + "name": "xl.default", + "composeReference": "EmbeddedChipGroupDense.Xl.Default" + }, + { + "name": "xl.accent", + "composeReference": "EmbeddedChipGroupDense.Xl.Accent" + }, + { + "name": "xl.negative", + "composeReference": "EmbeddedChipGroupDense.Xl.Negative" + }, + { + "name": "xl.positive", + "composeReference": "EmbeddedChipGroupDense.Xl.Positive" + }, + { + "name": "xl.secondary", + "composeReference": "EmbeddedChipGroupDense.Xl.Secondary" + }, + { + "name": "xl.warning", + "composeReference": "EmbeddedChipGroupDense.Xl.Warning" + }, + { + "name": "l.default", + "composeReference": "EmbeddedChipGroupDense.L.Default" + }, + { + "name": "l.accent", + "composeReference": "EmbeddedChipGroupDense.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "EmbeddedChipGroupDense.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "EmbeddedChipGroupDense.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "EmbeddedChipGroupDense.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "EmbeddedChipGroupDense.L.Warning" + }, + { + "name": "m.default", + "composeReference": "EmbeddedChipGroupDense.M.Default" + }, + { + "name": "m.accent", + "composeReference": "EmbeddedChipGroupDense.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "EmbeddedChipGroupDense.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "EmbeddedChipGroupDense.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "EmbeddedChipGroupDense.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "EmbeddedChipGroupDense.M.Warning" + }, + { + "name": "s.default", + "composeReference": "EmbeddedChipGroupDense.S.Default" + }, + { + "name": "s.accent", + "composeReference": "EmbeddedChipGroupDense.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "EmbeddedChipGroupDense.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "EmbeddedChipGroupDense.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "EmbeddedChipGroupDense.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "EmbeddedChipGroupDense.S.Warning" + }, + { + "name": "xs.default", + "composeReference": "EmbeddedChipGroupDense.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "EmbeddedChipGroupDense.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "EmbeddedChipGroupDense.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "EmbeddedChipGroupDense.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "EmbeddedChipGroupDense.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "EmbeddedChipGroupDense.Xs.Warning" + } + ] + }, + { + "key": "chip-group", + "coreName": "ChipGroup", + "styleName": "EmbeddedChipGroupWide", + "variations": [ + { + "name": "xl.default", + "composeReference": "EmbeddedChipGroupWide.Xl.Default" + }, + { + "name": "xl.accent", + "composeReference": "EmbeddedChipGroupWide.Xl.Accent" + }, + { + "name": "xl.negative", + "composeReference": "EmbeddedChipGroupWide.Xl.Negative" + }, + { + "name": "xl.positive", + "composeReference": "EmbeddedChipGroupWide.Xl.Positive" + }, + { + "name": "xl.secondary", + "composeReference": "EmbeddedChipGroupWide.Xl.Secondary" + }, + { + "name": "xl.warning", + "composeReference": "EmbeddedChipGroupWide.Xl.Warning" + }, + { + "name": "l.default", + "composeReference": "EmbeddedChipGroupWide.L.Default" + }, + { + "name": "l.accent", + "composeReference": "EmbeddedChipGroupWide.L.Accent" + }, + { + "name": "l.negative", + "composeReference": "EmbeddedChipGroupWide.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "EmbeddedChipGroupWide.L.Positive" + }, + { + "name": "l.secondary", + "composeReference": "EmbeddedChipGroupWide.L.Secondary" + }, + { + "name": "l.warning", + "composeReference": "EmbeddedChipGroupWide.L.Warning" + }, + { + "name": "m.default", + "composeReference": "EmbeddedChipGroupWide.M.Default" + }, + { + "name": "m.accent", + "composeReference": "EmbeddedChipGroupWide.M.Accent" + }, + { + "name": "m.negative", + "composeReference": "EmbeddedChipGroupWide.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "EmbeddedChipGroupWide.M.Positive" + }, + { + "name": "m.secondary", + "composeReference": "EmbeddedChipGroupWide.M.Secondary" + }, + { + "name": "m.warning", + "composeReference": "EmbeddedChipGroupWide.M.Warning" + }, + { + "name": "s.default", + "composeReference": "EmbeddedChipGroupWide.S.Default" + }, + { + "name": "s.accent", + "composeReference": "EmbeddedChipGroupWide.S.Accent" + }, + { + "name": "s.negative", + "composeReference": "EmbeddedChipGroupWide.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "EmbeddedChipGroupWide.S.Positive" + }, + { + "name": "s.secondary", + "composeReference": "EmbeddedChipGroupWide.S.Secondary" + }, + { + "name": "s.warning", + "composeReference": "EmbeddedChipGroupWide.S.Warning" + }, + { + "name": "xs.default", + "composeReference": "EmbeddedChipGroupWide.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "EmbeddedChipGroupWide.Xs.Accent" + }, + { + "name": "xs.negative", + "composeReference": "EmbeddedChipGroupWide.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "EmbeddedChipGroupWide.Xs.Positive" + }, + { + "name": "xs.secondary", + "composeReference": "EmbeddedChipGroupWide.Xs.Secondary" + }, + { + "name": "xs.warning", + "composeReference": "EmbeddedChipGroupWide.Xs.Warning" + } + ] + }, + { + "key": "counter", + "coreName": "Counter", + "styleName": "Counter", + "variations": [ + { + "name": "l.default", + "composeReference": "Counter.L.Default" + }, + { + "name": "l.accent", + "composeReference": "Counter.L.Accent" + }, + { + "name": "l.positive", + "composeReference": "Counter.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "Counter.L.Warning" + }, + { + "name": "l.negative", + "composeReference": "Counter.L.Negative" + }, + { + "name": "l.black", + "composeReference": "Counter.L.Black" + }, + { + "name": "l.white", + "composeReference": "Counter.L.White" + }, + { + "name": "m.default", + "composeReference": "Counter.M.Default" + }, + { + "name": "m.accent", + "composeReference": "Counter.M.Accent" + }, + { + "name": "m.positive", + "composeReference": "Counter.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "Counter.M.Warning" + }, + { + "name": "m.negative", + "composeReference": "Counter.M.Negative" + }, + { + "name": "m.black", + "composeReference": "Counter.M.Black" + }, + { + "name": "m.white", + "composeReference": "Counter.M.White" + }, + { + "name": "s.default", + "composeReference": "Counter.S.Default" + }, + { + "name": "s.accent", + "composeReference": "Counter.S.Accent" + }, + { + "name": "s.positive", + "composeReference": "Counter.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "Counter.S.Warning" + }, + { + "name": "s.negative", + "composeReference": "Counter.S.Negative" + }, + { + "name": "s.black", + "composeReference": "Counter.S.Black" + }, + { + "name": "s.white", + "composeReference": "Counter.S.White" + }, + { + "name": "xs.default", + "composeReference": "Counter.Xs.Default" + }, + { + "name": "xs.accent", + "composeReference": "Counter.Xs.Accent" + }, + { + "name": "xs.positive", + "composeReference": "Counter.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "Counter.Xs.Warning" + }, + { + "name": "xs.negative", + "composeReference": "Counter.Xs.Negative" + }, + { + "name": "xs.black", + "composeReference": "Counter.Xs.Black" + }, + { + "name": "xs.white", + "composeReference": "Counter.Xs.White" + }, + { + "name": "xxs.default", + "composeReference": "Counter.Xxs.Default" + }, + { + "name": "xxs.accent", + "composeReference": "Counter.Xxs.Accent" + }, + { + "name": "xxs.positive", + "composeReference": "Counter.Xxs.Positive" + }, + { + "name": "xxs.warning", + "composeReference": "Counter.Xxs.Warning" + }, + { + "name": "xxs.negative", + "composeReference": "Counter.Xxs.Negative" + }, + { + "name": "xxs.black", + "composeReference": "Counter.Xxs.Black" + }, + { + "name": "xxs.white", + "composeReference": "Counter.Xxs.White" + } + ] + }, + { + "key": "divider", + "coreName": "Divider", + "styleName": "Divider", + "variations": [ + { + "name": "Default", + "composeReference": "Divider.Default" + } + ] + }, + { + "key": "indicator", + "coreName": "Indicator", + "styleName": "Indicator", + "variations": [ + { + "name": "l.default", + "composeReference": "Indicator.L.Default" + }, + { + "name": "l.accent", + "composeReference": "Indicator.L.Accent" + }, + { + "name": "l.inactive", + "composeReference": "Indicator.L.Inactive" + }, + { + "name": "l.positive", + "composeReference": "Indicator.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "Indicator.L.Warning" + }, + { + "name": "l.negative", + "composeReference": "Indicator.L.Negative" + }, + { + "name": "l.dark", + "composeReference": "Indicator.L.Dark" + }, + { + "name": "l.black", + "composeReference": "Indicator.L.Black" + }, + { + "name": "l.white", + "composeReference": "Indicator.L.White" + }, + { + "name": "m.default", + "composeReference": "Indicator.M.Default" + }, + { + "name": "m.accent", + "composeReference": "Indicator.M.Accent" + }, + { + "name": "m.inactive", + "composeReference": "Indicator.M.Inactive" + }, + { + "name": "m.positive", + "composeReference": "Indicator.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "Indicator.M.Warning" + }, + { + "name": "m.negative", + "composeReference": "Indicator.M.Negative" + }, + { + "name": "m.dark", + "composeReference": "Indicator.M.Dark" + }, + { + "name": "m.black", + "composeReference": "Indicator.M.Black" + }, + { + "name": "m.white", + "composeReference": "Indicator.M.White" + }, + { + "name": "s.default", + "composeReference": "Indicator.S.Default" + }, + { + "name": "s.accent", + "composeReference": "Indicator.S.Accent" + }, + { + "name": "s.inactive", + "composeReference": "Indicator.S.Inactive" + }, + { + "name": "s.positive", + "composeReference": "Indicator.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "Indicator.S.Warning" + }, + { + "name": "s.negative", + "composeReference": "Indicator.S.Negative" + }, + { + "name": "s.dark", + "composeReference": "Indicator.S.Dark" + }, + { + "name": "s.black", + "composeReference": "Indicator.S.Black" + }, + { + "name": "s.white", + "composeReference": "Indicator.S.White" + } + ] + }, + { + "key": "loader", + "coreName": "Loader", + "styleName": "Loader", + "variations": [ + { + "name": "Default", + "composeReference": "Loader.Default" + } + ] + }, + { + "key": "overlay", + "coreName": "Overlay", + "styleName": "Overlay", + "variations": [ + { + "name": "Default", + "composeReference": "Overlay.Default" + } + ] + }, + { + "key": "progress-bar", + "coreName": "ProgressBar", + "styleName": "ProgressBar", + "variations": [ + { + "name": "default", + "composeReference": "ProgressBar.Default" + }, + { + "name": "secondary", + "composeReference": "ProgressBar.Secondary" + }, + { + "name": "accent", + "composeReference": "ProgressBar.Accent" + }, + { + "name": "gradient", + "composeReference": "ProgressBar.Gradient" + }, + { + "name": "info", + "composeReference": "ProgressBar.Info" + }, + { + "name": "negative", + "composeReference": "ProgressBar.Negative" + }, + { + "name": "positive", + "composeReference": "ProgressBar.Positive" + }, + { + "name": "warning", + "composeReference": "ProgressBar.Warning" + } + ] + }, + { + "key": "circular-progress-bar", + "coreName": "CircularProgressBar", + "styleName": "CircularProgressBar", + "variations": [ + { + "name": "xxl.default", + "composeReference": "CircularProgressBar.Xxl.Default" + }, + { + "name": "xxl.secondary", + "composeReference": "CircularProgressBar.Xxl.Secondary" + }, + { + "name": "xxl.accent", + "composeReference": "CircularProgressBar.Xxl.Accent" + }, + { + "name": "xxl.gradient", + "composeReference": "CircularProgressBar.Xxl.Gradient" + }, + { + "name": "xxl.info", + "composeReference": "CircularProgressBar.Xxl.Info" + }, + { + "name": "xxl.negative", + "composeReference": "CircularProgressBar.Xxl.Negative" + }, + { + "name": "xxl.positive", + "composeReference": "CircularProgressBar.Xxl.Positive" + }, + { + "name": "xxl.warning", + "composeReference": "CircularProgressBar.Xxl.Warning" + }, + { + "name": "xl.default", + "composeReference": "CircularProgressBar.Xl.Default" + }, + { + "name": "xl.secondary", + "composeReference": "CircularProgressBar.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "CircularProgressBar.Xl.Accent" + }, + { + "name": "xl.gradient", + "composeReference": "CircularProgressBar.Xl.Gradient" + }, + { + "name": "xl.info", + "composeReference": "CircularProgressBar.Xl.Info" + }, + { + "name": "xl.negative", + "composeReference": "CircularProgressBar.Xl.Negative" + }, + { + "name": "xl.positive", + "composeReference": "CircularProgressBar.Xl.Positive" + }, + { + "name": "xl.warning", + "composeReference": "CircularProgressBar.Xl.Warning" + }, + { + "name": "l.default", + "composeReference": "CircularProgressBar.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "CircularProgressBar.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "CircularProgressBar.L.Accent" + }, + { + "name": "l.gradient", + "composeReference": "CircularProgressBar.L.Gradient" + }, + { + "name": "l.info", + "composeReference": "CircularProgressBar.L.Info" + }, + { + "name": "l.negative", + "composeReference": "CircularProgressBar.L.Negative" + }, + { + "name": "l.positive", + "composeReference": "CircularProgressBar.L.Positive" + }, + { + "name": "l.warning", + "composeReference": "CircularProgressBar.L.Warning" + }, + { + "name": "m.default", + "composeReference": "CircularProgressBar.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "CircularProgressBar.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "CircularProgressBar.M.Accent" + }, + { + "name": "m.gradient", + "composeReference": "CircularProgressBar.M.Gradient" + }, + { + "name": "m.info", + "composeReference": "CircularProgressBar.M.Info" + }, + { + "name": "m.negative", + "composeReference": "CircularProgressBar.M.Negative" + }, + { + "name": "m.positive", + "composeReference": "CircularProgressBar.M.Positive" + }, + { + "name": "m.warning", + "composeReference": "CircularProgressBar.M.Warning" + }, + { + "name": "s.default", + "composeReference": "CircularProgressBar.S.Default" + }, + { + "name": "s.secondary", + "composeReference": "CircularProgressBar.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "CircularProgressBar.S.Accent" + }, + { + "name": "s.gradient", + "composeReference": "CircularProgressBar.S.Gradient" + }, + { + "name": "s.info", + "composeReference": "CircularProgressBar.S.Info" + }, + { + "name": "s.negative", + "composeReference": "CircularProgressBar.S.Negative" + }, + { + "name": "s.positive", + "composeReference": "CircularProgressBar.S.Positive" + }, + { + "name": "s.warning", + "composeReference": "CircularProgressBar.S.Warning" + }, + { + "name": "xs.default", + "composeReference": "CircularProgressBar.Xs.Default" + }, + { + "name": "xs.secondary", + "composeReference": "CircularProgressBar.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "CircularProgressBar.Xs.Accent" + }, + { + "name": "xs.gradient", + "composeReference": "CircularProgressBar.Xs.Gradient" + }, + { + "name": "xs.info", + "composeReference": "CircularProgressBar.Xs.Info" + }, + { + "name": "xs.negative", + "composeReference": "CircularProgressBar.Xs.Negative" + }, + { + "name": "xs.positive", + "composeReference": "CircularProgressBar.Xs.Positive" + }, + { + "name": "xs.warning", + "composeReference": "CircularProgressBar.Xs.Warning" + }, + { + "name": "xxs.default", + "composeReference": "CircularProgressBar.Xxs.Default" + }, + { + "name": "xxs.secondary", + "composeReference": "CircularProgressBar.Xxs.Secondary" + }, + { + "name": "xxs.accent", + "composeReference": "CircularProgressBar.Xxs.Accent" + }, + { + "name": "xxs.gradient", + "composeReference": "CircularProgressBar.Xxs.Gradient" + }, + { + "name": "xxs.info", + "composeReference": "CircularProgressBar.Xxs.Info" + }, + { + "name": "xxs.negative", + "composeReference": "CircularProgressBar.Xxs.Negative" + }, + { + "name": "xxs.positive", + "composeReference": "CircularProgressBar.Xxs.Positive" + }, + { + "name": "xxs.warning", + "composeReference": "CircularProgressBar.Xxs.Warning" + } + ] + }, + { + "key": "popover", + "coreName": "Popover", + "styleName": "Popover", + "variations": [ + { + "name": "m.default", + "composeReference": "Popover.M.Default" + }, + { + "name": "m.accent", + "composeReference": "Popover.M.Accent" + }, + { + "name": "s.default", + "composeReference": "Popover.S.Default" + }, + { + "name": "s.accent", + "composeReference": "Popover.S.Accent" + } + ] + }, + { + "key": "radio-box", + "coreName": "RadioBox", + "styleName": "RadioBox", + "variations": [ + { + "name": "l", + "composeReference": "RadioBox.L" + }, + { + "name": "m", + "composeReference": "RadioBox.M" + }, + { + "name": "s", + "composeReference": "RadioBox.S" + } + ] + }, + { + "key": "radio-box-group", + "coreName": "RadioBoxGroup", + "styleName": "RadioBoxGroup", + "variations": [ + { + "name": "m", + "composeReference": "RadioBoxGroup.M" + }, + { + "name": "s", + "composeReference": "RadioBoxGroup.S" + } + ] + }, + { + "key": "segment", + "coreName": "Segment", + "styleName": "Segment", + "variations": [ + { + "name": "xl.primary", + "composeReference": "Segment.Xl.Primary" + }, + { + "name": "xl.secondary", + "composeReference": "Segment.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "Segment.Xl.Accent" + }, + { + "name": "xl.pilled.primary", + "composeReference": "Segment.Xl.Pilled.Primary" + }, + { + "name": "xl.pilled.secondary", + "composeReference": "Segment.Xl.Pilled.Secondary" + }, + { + "name": "xl.pilled.accent", + "composeReference": "Segment.Xl.Pilled.Accent" + }, + { + "name": "l.primary", + "composeReference": "Segment.L.Primary" + }, + { + "name": "l.secondary", + "composeReference": "Segment.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "Segment.L.Accent" + }, + { + "name": "l.pilled.primary", + "composeReference": "Segment.L.Pilled.Primary" + }, + { + "name": "l.pilled.secondary", + "composeReference": "Segment.L.Pilled.Secondary" + }, + { + "name": "l.pilled.accent", + "composeReference": "Segment.L.Pilled.Accent" + }, + { + "name": "m.primary", + "composeReference": "Segment.M.Primary" + }, + { + "name": "m.secondary", + "composeReference": "Segment.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "Segment.M.Accent" + }, + { + "name": "m.pilled.primary", + "composeReference": "Segment.M.Pilled.Primary" + }, + { + "name": "m.pilled.secondary", + "composeReference": "Segment.M.Pilled.Secondary" + }, + { + "name": "m.pilled.accent", + "composeReference": "Segment.M.Pilled.Accent" + }, + { + "name": "s.primary", + "composeReference": "Segment.S.Primary" + }, + { + "name": "s.secondary", + "composeReference": "Segment.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "Segment.S.Accent" + }, + { + "name": "s.pilled.primary", + "composeReference": "Segment.S.Pilled.Primary" + }, + { + "name": "s.pilled.secondary", + "composeReference": "Segment.S.Pilled.Secondary" + }, + { + "name": "s.pilled.accent", + "composeReference": "Segment.S.Pilled.Accent" + }, + { + "name": "xs.primary", + "composeReference": "Segment.Xs.Primary" + }, + { + "name": "xs.secondary", + "composeReference": "Segment.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "Segment.Xs.Accent" + }, + { + "name": "xs.pilled.primary", + "composeReference": "Segment.Xs.Pilled.Primary" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "Segment.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.accent", + "composeReference": "Segment.Xs.Pilled.Accent" + } + ] + }, + { + "key": "segment-item", + "coreName": "SegmentItem", + "styleName": "SegmentItem", + "variations": [ + { + "name": "xl.primary", + "composeReference": "SegmentItem.Xl.Primary" + }, + { + "name": "xl.secondary", + "composeReference": "SegmentItem.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "SegmentItem.Xl.Accent" + }, + { + "name": "xl.pilled.primary", + "composeReference": "SegmentItem.Xl.Pilled.Primary" + }, + { + "name": "xl.pilled.secondary", + "composeReference": "SegmentItem.Xl.Pilled.Secondary" + }, + { + "name": "xl.pilled.accent", + "composeReference": "SegmentItem.Xl.Pilled.Accent" + }, + { + "name": "l.primary", + "composeReference": "SegmentItem.L.Primary" + }, + { + "name": "l.secondary", + "composeReference": "SegmentItem.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "SegmentItem.L.Accent" + }, + { + "name": "l.pilled.primary", + "composeReference": "SegmentItem.L.Pilled.Primary" + }, + { + "name": "l.pilled.secondary", + "composeReference": "SegmentItem.L.Pilled.Secondary" + }, + { + "name": "l.pilled.accent", + "composeReference": "SegmentItem.L.Pilled.Accent" + }, + { + "name": "m.primary", + "composeReference": "SegmentItem.M.Primary" + }, + { + "name": "m.secondary", + "composeReference": "SegmentItem.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "SegmentItem.M.Accent" + }, + { + "name": "m.pilled.primary", + "composeReference": "SegmentItem.M.Pilled.Primary" + }, + { + "name": "m.pilled.secondary", + "composeReference": "SegmentItem.M.Pilled.Secondary" + }, + { + "name": "m.pilled.accent", + "composeReference": "SegmentItem.M.Pilled.Accent" + }, + { + "name": "s.primary", + "composeReference": "SegmentItem.S.Primary" + }, + { + "name": "s.secondary", + "composeReference": "SegmentItem.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "SegmentItem.S.Accent" + }, + { + "name": "s.pilled.primary", + "composeReference": "SegmentItem.S.Pilled.Primary" + }, + { + "name": "s.pilled.secondary", + "composeReference": "SegmentItem.S.Pilled.Secondary" + }, + { + "name": "s.pilled.accent", + "composeReference": "SegmentItem.S.Pilled.Accent" + }, + { + "name": "xs.primary", + "composeReference": "SegmentItem.Xs.Primary" + }, + { + "name": "xs.secondary", + "composeReference": "SegmentItem.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "SegmentItem.Xs.Accent" + }, + { + "name": "xs.pilled.primary", + "composeReference": "SegmentItem.Xs.Pilled.Primary" + }, + { + "name": "xs.pilled.secondary", + "composeReference": "SegmentItem.Xs.Pilled.Secondary" + }, + { + "name": "xs.pilled.accent", + "composeReference": "SegmentItem.Xs.Pilled.Accent" + } + ] + }, + { + "key": "switch", + "coreName": "Switch", + "styleName": "Switch", + "variations": [ + { + "name": "l", + "composeReference": "Switch.L" + }, + { + "name": "l.toggle-s", + "composeReference": "Switch.L.ToggleS" + }, + { + "name": "m", + "composeReference": "Switch.M" + }, + { + "name": "m.toggle-s", + "composeReference": "Switch.M.ToggleS" + }, + { + "name": "s", + "composeReference": "Switch.S" + }, + { + "name": "s.toggle-s", + "composeReference": "Switch.S.ToggleS" + } + ] + }, + { + "key": "text-field", + "coreName": "TextField", + "styleName": "TextField", + "variations": [ + { + "name": "xs.default", + "composeReference": "TextField.Xs.Default" + }, + { + "name": "xs.success", + "composeReference": "TextField.Xs.Success" + }, + { + "name": "xs.warning", + "composeReference": "TextField.Xs.Warning" + }, + { + "name": "xs.error", + "composeReference": "TextField.Xs.Error" + }, + { + "name": "xs.required-start.default", + "composeReference": "TextField.Xs.RequiredStart.Default" + }, + { + "name": "xs.required-start.success", + "composeReference": "TextField.Xs.RequiredStart.Success" + }, + { + "name": "xs.required-start.warning", + "composeReference": "TextField.Xs.RequiredStart.Warning" + }, + { + "name": "xs.required-start.error", + "composeReference": "TextField.Xs.RequiredStart.Error" + }, + { + "name": "xs.required-end.default", + "composeReference": "TextField.Xs.RequiredEnd.Default" + }, + { + "name": "xs.required-end.success", + "composeReference": "TextField.Xs.RequiredEnd.Success" + }, + { + "name": "xs.required-end.warning", + "composeReference": "TextField.Xs.RequiredEnd.Warning" + }, + { + "name": "xs.required-end.error", + "composeReference": "TextField.Xs.RequiredEnd.Error" + }, + { + "name": "xs.outer-label.default", + "composeReference": "TextField.Xs.OuterLabel.Default" + }, + { + "name": "xs.outer-label.success", + "composeReference": "TextField.Xs.OuterLabel.Success" + }, + { + "name": "xs.outer-label.warning", + "composeReference": "TextField.Xs.OuterLabel.Warning" + }, + { + "name": "xs.outer-label.error", + "composeReference": "TextField.Xs.OuterLabel.Error" + }, + { + "name": "xs.outer-label.required-start.default", + "composeReference": "TextField.Xs.OuterLabel.RequiredStart.Default" + }, + { + "name": "xs.outer-label.required-start.success", + "composeReference": "TextField.Xs.OuterLabel.RequiredStart.Success" + }, + { + "name": "xs.outer-label.required-start.warning", + "composeReference": "TextField.Xs.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xs.outer-label.required-start.error", + "composeReference": "TextField.Xs.OuterLabel.RequiredStart.Error" + }, + { + "name": "xs.outer-label.required-end.default", + "composeReference": "TextField.Xs.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xs.outer-label.required-end.success", + "composeReference": "TextField.Xs.OuterLabel.RequiredEnd.Success" + }, + { + "name": "xs.outer-label.required-end.warning", + "composeReference": "TextField.Xs.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xs.outer-label.required-end.error", + "composeReference": "TextField.Xs.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.default", + "composeReference": "TextField.S.Default" + }, + { + "name": "s.success", + "composeReference": "TextField.S.Success" + }, + { + "name": "s.warning", + "composeReference": "TextField.S.Warning" + }, + { + "name": "s.error", + "composeReference": "TextField.S.Error" + }, + { + "name": "s.required-start.default", + "composeReference": "TextField.S.RequiredStart.Default" + }, + { + "name": "s.required-start.success", + "composeReference": "TextField.S.RequiredStart.Success" + }, + { + "name": "s.required-start.warning", + "composeReference": "TextField.S.RequiredStart.Warning" + }, + { + "name": "s.required-start.error", + "composeReference": "TextField.S.RequiredStart.Error" + }, + { + "name": "s.required-end.default", + "composeReference": "TextField.S.RequiredEnd.Default" + }, + { + "name": "s.required-end.success", + "composeReference": "TextField.S.RequiredEnd.Success" + }, + { + "name": "s.required-end.warning", + "composeReference": "TextField.S.RequiredEnd.Warning" + }, + { + "name": "s.required-end.error", + "composeReference": "TextField.S.RequiredEnd.Error" + }, + { + "name": "s.outer-label.default", + "composeReference": "TextField.S.OuterLabel.Default" + }, + { + "name": "s.outer-label.success", + "composeReference": "TextField.S.OuterLabel.Success" + }, + { + "name": "s.outer-label.warning", + "composeReference": "TextField.S.OuterLabel.Warning" + }, + { + "name": "s.outer-label.error", + "composeReference": "TextField.S.OuterLabel.Error" + }, + { + "name": "s.outer-label.required-start.default", + "composeReference": "TextField.S.OuterLabel.RequiredStart.Default" + }, + { + "name": "s.outer-label.required-start.success", + "composeReference": "TextField.S.OuterLabel.RequiredStart.Success" + }, + { + "name": "s.outer-label.required-start.warning", + "composeReference": "TextField.S.OuterLabel.RequiredStart.Warning" + }, + { + "name": "s.outer-label.required-start.error", + "composeReference": "TextField.S.OuterLabel.RequiredStart.Error" + }, + { + "name": "s.outer-label.required-end.default", + "composeReference": "TextField.S.OuterLabel.RequiredEnd.Default" + }, + { + "name": "s.outer-label.required-end.success", + "composeReference": "TextField.S.OuterLabel.RequiredEnd.Success" + }, + { + "name": "s.outer-label.required-end.warning", + "composeReference": "TextField.S.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "s.outer-label.required-end.error", + "composeReference": "TextField.S.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.inner-label.default", + "composeReference": "TextField.S.InnerLabel.Default" + }, + { + "name": "s.inner-label.success", + "composeReference": "TextField.S.InnerLabel.Success" + }, + { + "name": "s.inner-label.warning", + "composeReference": "TextField.S.InnerLabel.Warning" + }, + { + "name": "s.inner-label.error", + "composeReference": "TextField.S.InnerLabel.Error" + }, + { + "name": "s.inner-label.required-start.default", + "composeReference": "TextField.S.InnerLabel.RequiredStart.Default" + }, + { + "name": "s.inner-label.required-start.success", + "composeReference": "TextField.S.InnerLabel.RequiredStart.Success" + }, + { + "name": "s.inner-label.required-start.warning", + "composeReference": "TextField.S.InnerLabel.RequiredStart.Warning" + }, + { + "name": "s.inner-label.required-start.error", + "composeReference": "TextField.S.InnerLabel.RequiredStart.Error" + }, + { + "name": "s.inner-label.required-end.default", + "composeReference": "TextField.S.InnerLabel.RequiredEnd.Default" + }, + { + "name": "s.inner-label.required-end.success", + "composeReference": "TextField.S.InnerLabel.RequiredEnd.Success" + }, + { + "name": "s.inner-label.required-end.warning", + "composeReference": "TextField.S.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "s.inner-label.required-end.error", + "composeReference": "TextField.S.InnerLabel.RequiredEnd.Error" + }, + { + "name": "m.default", + "composeReference": "TextField.M.Default" + }, + { + "name": "m.success", + "composeReference": "TextField.M.Success" + }, + { + "name": "m.warning", + "composeReference": "TextField.M.Warning" + }, + { + "name": "m.error", + "composeReference": "TextField.M.Error" + }, + { + "name": "m.required-start.default", + "composeReference": "TextField.M.RequiredStart.Default" + }, + { + "name": "m.required-start.success", + "composeReference": "TextField.M.RequiredStart.Success" + }, + { + "name": "m.required-start.warning", + "composeReference": "TextField.M.RequiredStart.Warning" + }, + { + "name": "m.required-start.error", + "composeReference": "TextField.M.RequiredStart.Error" + }, + { + "name": "m.required-end.default", + "composeReference": "TextField.M.RequiredEnd.Default" + }, + { + "name": "m.required-end.success", + "composeReference": "TextField.M.RequiredEnd.Success" + }, + { + "name": "m.required-end.warning", + "composeReference": "TextField.M.RequiredEnd.Warning" + }, + { + "name": "m.required-end.error", + "composeReference": "TextField.M.RequiredEnd.Error" + }, + { + "name": "m.outer-label.default", + "composeReference": "TextField.M.OuterLabel.Default" + }, + { + "name": "m.outer-label.success", + "composeReference": "TextField.M.OuterLabel.Success" + }, + { + "name": "m.outer-label.warning", + "composeReference": "TextField.M.OuterLabel.Warning" + }, + { + "name": "m.outer-label.error", + "composeReference": "TextField.M.OuterLabel.Error" + }, + { + "name": "m.outer-label.required-start.default", + "composeReference": "TextField.M.OuterLabel.RequiredStart.Default" + }, + { + "name": "m.outer-label.required-start.success", + "composeReference": "TextField.M.OuterLabel.RequiredStart.Success" + }, + { + "name": "m.outer-label.required-start.warning", + "composeReference": "TextField.M.OuterLabel.RequiredStart.Warning" + }, + { + "name": "m.outer-label.required-start.error", + "composeReference": "TextField.M.OuterLabel.RequiredStart.Error" + }, + { + "name": "m.outer-label.required-end.default", + "composeReference": "TextField.M.OuterLabel.RequiredEnd.Default" + }, + { + "name": "m.outer-label.required-end.success", + "composeReference": "TextField.M.OuterLabel.RequiredEnd.Success" + }, + { + "name": "m.outer-label.required-end.warning", + "composeReference": "TextField.M.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "m.outer-label.required-end.error", + "composeReference": "TextField.M.OuterLabel.RequiredEnd.Error" + }, + { + "name": "m.inner-label.default", + "composeReference": "TextField.M.InnerLabel.Default" + }, + { + "name": "m.inner-label.success", + "composeReference": "TextField.M.InnerLabel.Success" + }, + { + "name": "m.inner-label.warning", + "composeReference": "TextField.M.InnerLabel.Warning" + }, + { + "name": "m.inner-label.error", + "composeReference": "TextField.M.InnerLabel.Error" + }, + { + "name": "m.inner-label.required-start.default", + "composeReference": "TextField.M.InnerLabel.RequiredStart.Default" + }, + { + "name": "m.inner-label.required-start.success", + "composeReference": "TextField.M.InnerLabel.RequiredStart.Success" + }, + { + "name": "m.inner-label.required-start.warning", + "composeReference": "TextField.M.InnerLabel.RequiredStart.Warning" + }, + { + "name": "m.inner-label.required-start.error", + "composeReference": "TextField.M.InnerLabel.RequiredStart.Error" + }, + { + "name": "m.inner-label.required-end.default", + "composeReference": "TextField.M.InnerLabel.RequiredEnd.Default" + }, + { + "name": "m.inner-label.required-end.success", + "composeReference": "TextField.M.InnerLabel.RequiredEnd.Success" + }, + { + "name": "m.inner-label.required-end.warning", + "composeReference": "TextField.M.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "m.inner-label.required-end.error", + "composeReference": "TextField.M.InnerLabel.RequiredEnd.Error" + }, + { + "name": "l.default", + "composeReference": "TextField.L.Default" + }, + { + "name": "l.success", + "composeReference": "TextField.L.Success" + }, + { + "name": "l.warning", + "composeReference": "TextField.L.Warning" + }, + { + "name": "l.error", + "composeReference": "TextField.L.Error" + }, + { + "name": "l.required-start.default", + "composeReference": "TextField.L.RequiredStart.Default" + }, + { + "name": "l.required-start.success", + "composeReference": "TextField.L.RequiredStart.Success" + }, + { + "name": "l.required-start.warning", + "composeReference": "TextField.L.RequiredStart.Warning" + }, + { + "name": "l.required-start.error", + "composeReference": "TextField.L.RequiredStart.Error" + }, + { + "name": "l.required-end.default", + "composeReference": "TextField.L.RequiredEnd.Default" + }, + { + "name": "l.required-end.success", + "composeReference": "TextField.L.RequiredEnd.Success" + }, + { + "name": "l.required-end.warning", + "composeReference": "TextField.L.RequiredEnd.Warning" + }, + { + "name": "l.required-end.error", + "composeReference": "TextField.L.RequiredEnd.Error" + }, + { + "name": "l.outer-label.default", + "composeReference": "TextField.L.OuterLabel.Default" + }, + { + "name": "l.outer-label.success", + "composeReference": "TextField.L.OuterLabel.Success" + }, + { + "name": "l.outer-label.warning", + "composeReference": "TextField.L.OuterLabel.Warning" + }, + { + "name": "l.outer-label.error", + "composeReference": "TextField.L.OuterLabel.Error" + }, + { + "name": "l.outer-label.required-start.default", + "composeReference": "TextField.L.OuterLabel.RequiredStart.Default" + }, + { + "name": "l.outer-label.required-start.success", + "composeReference": "TextField.L.OuterLabel.RequiredStart.Success" + }, + { + "name": "l.outer-label.required-start.warning", + "composeReference": "TextField.L.OuterLabel.RequiredStart.Warning" + }, + { + "name": "l.outer-label.required-start.error", + "composeReference": "TextField.L.OuterLabel.RequiredStart.Error" + }, + { + "name": "l.outer-label.required-end.default", + "composeReference": "TextField.L.OuterLabel.RequiredEnd.Default" + }, + { + "name": "l.outer-label.required-end.success", + "composeReference": "TextField.L.OuterLabel.RequiredEnd.Success" + }, + { + "name": "l.outer-label.required-end.warning", + "composeReference": "TextField.L.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "l.outer-label.required-end.error", + "composeReference": "TextField.L.OuterLabel.RequiredEnd.Error" + }, + { + "name": "l.inner-label.default", + "composeReference": "TextField.L.InnerLabel.Default" + }, + { + "name": "l.inner-label.success", + "composeReference": "TextField.L.InnerLabel.Success" + }, + { + "name": "l.inner-label.warning", + "composeReference": "TextField.L.InnerLabel.Warning" + }, + { + "name": "l.inner-label.error", + "composeReference": "TextField.L.InnerLabel.Error" + }, + { + "name": "l.inner-label.required-start.default", + "composeReference": "TextField.L.InnerLabel.RequiredStart.Default" + }, + { + "name": "l.inner-label.required-start.success", + "composeReference": "TextField.L.InnerLabel.RequiredStart.Success" + }, + { + "name": "l.inner-label.required-start.warning", + "composeReference": "TextField.L.InnerLabel.RequiredStart.Warning" + }, + { + "name": "l.inner-label.required-start.error", + "composeReference": "TextField.L.InnerLabel.RequiredStart.Error" + }, + { + "name": "l.inner-label.required-end.default", + "composeReference": "TextField.L.InnerLabel.RequiredEnd.Default" + }, + { + "name": "l.inner-label.required-end.success", + "composeReference": "TextField.L.InnerLabel.RequiredEnd.Success" + }, + { + "name": "l.inner-label.required-end.warning", + "composeReference": "TextField.L.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "l.inner-label.required-end.error", + "composeReference": "TextField.L.InnerLabel.RequiredEnd.Error" + }, + { + "name": "xl.default", + "composeReference": "TextField.Xl.Default" + }, + { + "name": "xl.success", + "composeReference": "TextField.Xl.Success" + }, + { + "name": "xl.warning", + "composeReference": "TextField.Xl.Warning" + }, + { + "name": "xl.error", + "composeReference": "TextField.Xl.Error" + }, + { + "name": "xl.required-start.default", + "composeReference": "TextField.Xl.RequiredStart.Default" + }, + { + "name": "xl.required-start.success", + "composeReference": "TextField.Xl.RequiredStart.Success" + }, + { + "name": "xl.required-start.warning", + "composeReference": "TextField.Xl.RequiredStart.Warning" + }, + { + "name": "xl.required-start.error", + "composeReference": "TextField.Xl.RequiredStart.Error" + }, + { + "name": "xl.required-end.default", + "composeReference": "TextField.Xl.RequiredEnd.Default" + }, + { + "name": "xl.required-end.success", + "composeReference": "TextField.Xl.RequiredEnd.Success" + }, + { + "name": "xl.required-end.warning", + "composeReference": "TextField.Xl.RequiredEnd.Warning" + }, + { + "name": "xl.required-end.error", + "composeReference": "TextField.Xl.RequiredEnd.Error" + }, + { + "name": "xl.outer-label.default", + "composeReference": "TextField.Xl.OuterLabel.Default" + }, + { + "name": "xl.outer-label.success", + "composeReference": "TextField.Xl.OuterLabel.Success" + }, + { + "name": "xl.outer-label.warning", + "composeReference": "TextField.Xl.OuterLabel.Warning" + }, + { + "name": "xl.outer-label.error", + "composeReference": "TextField.Xl.OuterLabel.Error" + }, + { + "name": "xl.outer-label.required-start.default", + "composeReference": "TextField.Xl.OuterLabel.RequiredStart.Default" + }, + { + "name": "xl.outer-label.required-start.success", + "composeReference": "TextField.Xl.OuterLabel.RequiredStart.Success" + }, + { + "name": "xl.outer-label.required-start.warning", + "composeReference": "TextField.Xl.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xl.outer-label.required-start.error", + "composeReference": "TextField.Xl.OuterLabel.RequiredStart.Error" + }, + { + "name": "xl.outer-label.required-end.default", + "composeReference": "TextField.Xl.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xl.outer-label.required-end.success", + "composeReference": "TextField.Xl.OuterLabel.RequiredEnd.Success" + }, + { + "name": "xl.outer-label.required-end.warning", + "composeReference": "TextField.Xl.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xl.outer-label.required-end.error", + "composeReference": "TextField.Xl.OuterLabel.RequiredEnd.Error" + }, + { + "name": "xl.inner-label.default", + "composeReference": "TextField.Xl.InnerLabel.Default" + }, + { + "name": "xl.inner-label.success", + "composeReference": "TextField.Xl.InnerLabel.Success" + }, + { + "name": "xl.inner-label.warning", + "composeReference": "TextField.Xl.InnerLabel.Warning" + }, + { + "name": "xl.inner-label.error", + "composeReference": "TextField.Xl.InnerLabel.Error" + }, + { + "name": "xl.inner-label.required-start.default", + "composeReference": "TextField.Xl.InnerLabel.RequiredStart.Default" + }, + { + "name": "xl.inner-label.required-start.success", + "composeReference": "TextField.Xl.InnerLabel.RequiredStart.Success" + }, + { + "name": "xl.inner-label.required-start.warning", + "composeReference": "TextField.Xl.InnerLabel.RequiredStart.Warning" + }, + { + "name": "xl.inner-label.required-start.error", + "composeReference": "TextField.Xl.InnerLabel.RequiredStart.Error" + }, + { + "name": "xl.inner-label.required-end.default", + "composeReference": "TextField.Xl.InnerLabel.RequiredEnd.Default" + }, + { + "name": "xl.inner-label.required-end.success", + "composeReference": "TextField.Xl.InnerLabel.RequiredEnd.Success" + }, + { + "name": "xl.inner-label.required-end.warning", + "composeReference": "TextField.Xl.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "xl.inner-label.required-end.error", + "composeReference": "TextField.Xl.InnerLabel.RequiredEnd.Error" + } + ] + }, + { + "key": "text-field", + "coreName": "TextField", + "styleName": "TextFieldClear", + "variations": [ + { + "name": "xs.default", + "composeReference": "TextFieldClear.Xs.Default" + }, + { + "name": "xs.success", + "composeReference": "TextFieldClear.Xs.Success" + }, + { + "name": "xs.warning", + "composeReference": "TextFieldClear.Xs.Warning" + }, + { + "name": "xs.error", + "composeReference": "TextFieldClear.Xs.Error" + }, + { + "name": "xs.required-start.default", + "composeReference": "TextFieldClear.Xs.RequiredStart.Default" + }, + { + "name": "xs.required-start.success", + "composeReference": "TextFieldClear.Xs.RequiredStart.Success" + }, + { + "name": "xs.required-start.warning", + "composeReference": "TextFieldClear.Xs.RequiredStart.Warning" + }, + { + "name": "xs.required-start.error", + "composeReference": "TextFieldClear.Xs.RequiredStart.Error" + }, + { + "name": "xs.required-end.default", + "composeReference": "TextFieldClear.Xs.RequiredEnd.Default" + }, + { + "name": "xs.required-end.success", + "composeReference": "TextFieldClear.Xs.RequiredEnd.Success" + }, + { + "name": "xs.required-end.warning", + "composeReference": "TextFieldClear.Xs.RequiredEnd.Warning" + }, + { + "name": "xs.required-end.error", + "composeReference": "TextFieldClear.Xs.RequiredEnd.Error" + }, + { + "name": "xs.outer-label.default", + "composeReference": "TextFieldClear.Xs.OuterLabel.Default" + }, + { + "name": "xs.outer-label.success", + "composeReference": "TextFieldClear.Xs.OuterLabel.Success" + }, + { + "name": "xs.outer-label.warning", + "composeReference": "TextFieldClear.Xs.OuterLabel.Warning" + }, + { + "name": "xs.outer-label.error", + "composeReference": "TextFieldClear.Xs.OuterLabel.Error" + }, + { + "name": "xs.outer-label.required-start.default", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredStart.Default" + }, + { + "name": "xs.outer-label.required-start.success", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredStart.Success" + }, + { + "name": "xs.outer-label.required-start.warning", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xs.outer-label.required-start.error", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredStart.Error" + }, + { + "name": "xs.outer-label.required-end.default", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xs.outer-label.required-end.success", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredEnd.Success" + }, + { + "name": "xs.outer-label.required-end.warning", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xs.outer-label.required-end.error", + "composeReference": "TextFieldClear.Xs.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.default", + "composeReference": "TextFieldClear.S.Default" + }, + { + "name": "s.success", + "composeReference": "TextFieldClear.S.Success" + }, + { + "name": "s.warning", + "composeReference": "TextFieldClear.S.Warning" + }, + { + "name": "s.error", + "composeReference": "TextFieldClear.S.Error" + }, + { + "name": "s.required-start.default", + "composeReference": "TextFieldClear.S.RequiredStart.Default" + }, + { + "name": "s.required-start.success", + "composeReference": "TextFieldClear.S.RequiredStart.Success" + }, + { + "name": "s.required-start.warning", + "composeReference": "TextFieldClear.S.RequiredStart.Warning" + }, + { + "name": "s.required-start.error", + "composeReference": "TextFieldClear.S.RequiredStart.Error" + }, + { + "name": "s.required-end.default", + "composeReference": "TextFieldClear.S.RequiredEnd.Default" + }, + { + "name": "s.required-end.success", + "composeReference": "TextFieldClear.S.RequiredEnd.Success" + }, + { + "name": "s.required-end.warning", + "composeReference": "TextFieldClear.S.RequiredEnd.Warning" + }, + { + "name": "s.required-end.error", + "composeReference": "TextFieldClear.S.RequiredEnd.Error" + }, + { + "name": "s.outer-label.default", + "composeReference": "TextFieldClear.S.OuterLabel.Default" + }, + { + "name": "s.outer-label.success", + "composeReference": "TextFieldClear.S.OuterLabel.Success" + }, + { + "name": "s.outer-label.warning", + "composeReference": "TextFieldClear.S.OuterLabel.Warning" + }, + { + "name": "s.outer-label.error", + "composeReference": "TextFieldClear.S.OuterLabel.Error" + }, + { + "name": "s.outer-label.required-start.default", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredStart.Default" + }, + { + "name": "s.outer-label.required-start.success", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredStart.Success" + }, + { + "name": "s.outer-label.required-start.warning", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredStart.Warning" + }, + { + "name": "s.outer-label.required-start.error", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredStart.Error" + }, + { + "name": "s.outer-label.required-end.default", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredEnd.Default" + }, + { + "name": "s.outer-label.required-end.success", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredEnd.Success" + }, + { + "name": "s.outer-label.required-end.warning", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "s.outer-label.required-end.error", + "composeReference": "TextFieldClear.S.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.inner-label.default", + "composeReference": "TextFieldClear.S.InnerLabel.Default" + }, + { + "name": "s.inner-label.success", + "composeReference": "TextFieldClear.S.InnerLabel.Success" + }, + { + "name": "s.inner-label.warning", + "composeReference": "TextFieldClear.S.InnerLabel.Warning" + }, + { + "name": "s.inner-label.error", + "composeReference": "TextFieldClear.S.InnerLabel.Error" + }, + { + "name": "s.inner-label.required-start.default", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredStart.Default" + }, + { + "name": "s.inner-label.required-start.success", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredStart.Success" + }, + { + "name": "s.inner-label.required-start.warning", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredStart.Warning" + }, + { + "name": "s.inner-label.required-start.error", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredStart.Error" + }, + { + "name": "s.inner-label.required-end.default", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredEnd.Default" + }, + { + "name": "s.inner-label.required-end.success", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredEnd.Success" + }, + { + "name": "s.inner-label.required-end.warning", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "s.inner-label.required-end.error", + "composeReference": "TextFieldClear.S.InnerLabel.RequiredEnd.Error" + }, + { + "name": "m.default", + "composeReference": "TextFieldClear.M.Default" + }, + { + "name": "m.success", + "composeReference": "TextFieldClear.M.Success" + }, + { + "name": "m.warning", + "composeReference": "TextFieldClear.M.Warning" + }, + { + "name": "m.error", + "composeReference": "TextFieldClear.M.Error" + }, + { + "name": "m.required-start.default", + "composeReference": "TextFieldClear.M.RequiredStart.Default" + }, + { + "name": "m.required-start.success", + "composeReference": "TextFieldClear.M.RequiredStart.Success" + }, + { + "name": "m.required-start.warning", + "composeReference": "TextFieldClear.M.RequiredStart.Warning" + }, + { + "name": "m.required-start.error", + "composeReference": "TextFieldClear.M.RequiredStart.Error" + }, + { + "name": "m.required-end.default", + "composeReference": "TextFieldClear.M.RequiredEnd.Default" + }, + { + "name": "m.required-end.success", + "composeReference": "TextFieldClear.M.RequiredEnd.Success" + }, + { + "name": "m.required-end.warning", + "composeReference": "TextFieldClear.M.RequiredEnd.Warning" + }, + { + "name": "m.required-end.error", + "composeReference": "TextFieldClear.M.RequiredEnd.Error" + }, + { + "name": "m.outer-label.default", + "composeReference": "TextFieldClear.M.OuterLabel.Default" + }, + { + "name": "m.outer-label.success", + "composeReference": "TextFieldClear.M.OuterLabel.Success" + }, + { + "name": "m.outer-label.warning", + "composeReference": "TextFieldClear.M.OuterLabel.Warning" + }, + { + "name": "m.outer-label.error", + "composeReference": "TextFieldClear.M.OuterLabel.Error" + }, + { + "name": "m.outer-label.required-start.default", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredStart.Default" + }, + { + "name": "m.outer-label.required-start.success", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredStart.Success" + }, + { + "name": "m.outer-label.required-start.warning", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredStart.Warning" + }, + { + "name": "m.outer-label.required-start.error", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredStart.Error" + }, + { + "name": "m.outer-label.required-end.default", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredEnd.Default" + }, + { + "name": "m.outer-label.required-end.success", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredEnd.Success" + }, + { + "name": "m.outer-label.required-end.warning", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "m.outer-label.required-end.error", + "composeReference": "TextFieldClear.M.OuterLabel.RequiredEnd.Error" + }, + { + "name": "m.inner-label.default", + "composeReference": "TextFieldClear.M.InnerLabel.Default" + }, + { + "name": "m.inner-label.success", + "composeReference": "TextFieldClear.M.InnerLabel.Success" + }, + { + "name": "m.inner-label.warning", + "composeReference": "TextFieldClear.M.InnerLabel.Warning" + }, + { + "name": "m.inner-label.error", + "composeReference": "TextFieldClear.M.InnerLabel.Error" + }, + { + "name": "m.inner-label.required-start.default", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredStart.Default" + }, + { + "name": "m.inner-label.required-start.success", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredStart.Success" + }, + { + "name": "m.inner-label.required-start.warning", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredStart.Warning" + }, + { + "name": "m.inner-label.required-start.error", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredStart.Error" + }, + { + "name": "m.inner-label.required-end.default", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredEnd.Default" + }, + { + "name": "m.inner-label.required-end.success", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredEnd.Success" + }, + { + "name": "m.inner-label.required-end.warning", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "m.inner-label.required-end.error", + "composeReference": "TextFieldClear.M.InnerLabel.RequiredEnd.Error" + }, + { + "name": "l.default", + "composeReference": "TextFieldClear.L.Default" + }, + { + "name": "l.success", + "composeReference": "TextFieldClear.L.Success" + }, + { + "name": "l.warning", + "composeReference": "TextFieldClear.L.Warning" + }, + { + "name": "l.error", + "composeReference": "TextFieldClear.L.Error" + }, + { + "name": "l.required-start.default", + "composeReference": "TextFieldClear.L.RequiredStart.Default" + }, + { + "name": "l.required-start.success", + "composeReference": "TextFieldClear.L.RequiredStart.Success" + }, + { + "name": "l.required-start.warning", + "composeReference": "TextFieldClear.L.RequiredStart.Warning" + }, + { + "name": "l.required-start.error", + "composeReference": "TextFieldClear.L.RequiredStart.Error" + }, + { + "name": "l.required-end.default", + "composeReference": "TextFieldClear.L.RequiredEnd.Default" + }, + { + "name": "l.required-end.success", + "composeReference": "TextFieldClear.L.RequiredEnd.Success" + }, + { + "name": "l.required-end.warning", + "composeReference": "TextFieldClear.L.RequiredEnd.Warning" + }, + { + "name": "l.required-end.error", + "composeReference": "TextFieldClear.L.RequiredEnd.Error" + }, + { + "name": "l.outer-label.default", + "composeReference": "TextFieldClear.L.OuterLabel.Default" + }, + { + "name": "l.outer-label.success", + "composeReference": "TextFieldClear.L.OuterLabel.Success" + }, + { + "name": "l.outer-label.warning", + "composeReference": "TextFieldClear.L.OuterLabel.Warning" + }, + { + "name": "l.outer-label.error", + "composeReference": "TextFieldClear.L.OuterLabel.Error" + }, + { + "name": "l.outer-label.required-start.default", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredStart.Default" + }, + { + "name": "l.outer-label.required-start.success", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredStart.Success" + }, + { + "name": "l.outer-label.required-start.warning", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredStart.Warning" + }, + { + "name": "l.outer-label.required-start.error", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredStart.Error" + }, + { + "name": "l.outer-label.required-end.default", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredEnd.Default" + }, + { + "name": "l.outer-label.required-end.success", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredEnd.Success" + }, + { + "name": "l.outer-label.required-end.warning", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "l.outer-label.required-end.error", + "composeReference": "TextFieldClear.L.OuterLabel.RequiredEnd.Error" + }, + { + "name": "l.inner-label.default", + "composeReference": "TextFieldClear.L.InnerLabel.Default" + }, + { + "name": "l.inner-label.success", + "composeReference": "TextFieldClear.L.InnerLabel.Success" + }, + { + "name": "l.inner-label.warning", + "composeReference": "TextFieldClear.L.InnerLabel.Warning" + }, + { + "name": "l.inner-label.error", + "composeReference": "TextFieldClear.L.InnerLabel.Error" + }, + { + "name": "l.inner-label.required-start.default", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredStart.Default" + }, + { + "name": "l.inner-label.required-start.success", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredStart.Success" + }, + { + "name": "l.inner-label.required-start.warning", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredStart.Warning" + }, + { + "name": "l.inner-label.required-start.error", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredStart.Error" + }, + { + "name": "l.inner-label.required-end.default", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredEnd.Default" + }, + { + "name": "l.inner-label.required-end.success", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredEnd.Success" + }, + { + "name": "l.inner-label.required-end.warning", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "l.inner-label.required-end.error", + "composeReference": "TextFieldClear.L.InnerLabel.RequiredEnd.Error" + }, + { + "name": "xl.default", + "composeReference": "TextFieldClear.Xl.Default" + }, + { + "name": "xl.success", + "composeReference": "TextFieldClear.Xl.Success" + }, + { + "name": "xl.warning", + "composeReference": "TextFieldClear.Xl.Warning" + }, + { + "name": "xl.error", + "composeReference": "TextFieldClear.Xl.Error" + }, + { + "name": "xl.required-start.default", + "composeReference": "TextFieldClear.Xl.RequiredStart.Default" + }, + { + "name": "xl.required-start.success", + "composeReference": "TextFieldClear.Xl.RequiredStart.Success" + }, + { + "name": "xl.required-start.warning", + "composeReference": "TextFieldClear.Xl.RequiredStart.Warning" + }, + { + "name": "xl.required-start.error", + "composeReference": "TextFieldClear.Xl.RequiredStart.Error" + }, + { + "name": "xl.required-end.default", + "composeReference": "TextFieldClear.Xl.RequiredEnd.Default" + }, + { + "name": "xl.required-end.success", + "composeReference": "TextFieldClear.Xl.RequiredEnd.Success" + }, + { + "name": "xl.required-end.warning", + "composeReference": "TextFieldClear.Xl.RequiredEnd.Warning" + }, + { + "name": "xl.required-end.error", + "composeReference": "TextFieldClear.Xl.RequiredEnd.Error" + }, + { + "name": "xl.outer-label.default", + "composeReference": "TextFieldClear.Xl.OuterLabel.Default" + }, + { + "name": "xl.outer-label.success", + "composeReference": "TextFieldClear.Xl.OuterLabel.Success" + }, + { + "name": "xl.outer-label.warning", + "composeReference": "TextFieldClear.Xl.OuterLabel.Warning" + }, + { + "name": "xl.outer-label.error", + "composeReference": "TextFieldClear.Xl.OuterLabel.Error" + }, + { + "name": "xl.outer-label.required-start.default", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredStart.Default" + }, + { + "name": "xl.outer-label.required-start.success", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredStart.Success" + }, + { + "name": "xl.outer-label.required-start.warning", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xl.outer-label.required-start.error", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredStart.Error" + }, + { + "name": "xl.outer-label.required-end.default", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xl.outer-label.required-end.success", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredEnd.Success" + }, + { + "name": "xl.outer-label.required-end.warning", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xl.outer-label.required-end.error", + "composeReference": "TextFieldClear.Xl.OuterLabel.RequiredEnd.Error" + }, + { + "name": "xl.inner-label.default", + "composeReference": "TextFieldClear.Xl.InnerLabel.Default" + }, + { + "name": "xl.inner-label.success", + "composeReference": "TextFieldClear.Xl.InnerLabel.Success" + }, + { + "name": "xl.inner-label.warning", + "composeReference": "TextFieldClear.Xl.InnerLabel.Warning" + }, + { + "name": "xl.inner-label.error", + "composeReference": "TextFieldClear.Xl.InnerLabel.Error" + }, + { + "name": "xl.inner-label.required-start.default", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredStart.Default" + }, + { + "name": "xl.inner-label.required-start.success", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredStart.Success" + }, + { + "name": "xl.inner-label.required-start.warning", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredStart.Warning" + }, + { + "name": "xl.inner-label.required-start.error", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredStart.Error" + }, + { + "name": "xl.inner-label.required-end.default", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredEnd.Default" + }, + { + "name": "xl.inner-label.required-end.success", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredEnd.Success" + }, + { + "name": "xl.inner-label.required-end.warning", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "xl.inner-label.required-end.error", + "composeReference": "TextFieldClear.Xl.InnerLabel.RequiredEnd.Error" + } + ] + }, + { + "key": "text-area", + "coreName": "TextArea", + "styleName": "TextArea", + "variations": [ + { + "name": "xs.default", + "composeReference": "TextArea.Xs.Default" + }, + { + "name": "xs.warning", + "composeReference": "TextArea.Xs.Warning" + }, + { + "name": "xs.error", + "composeReference": "TextArea.Xs.Error" + }, + { + "name": "xs.required-start.default", + "composeReference": "TextArea.Xs.RequiredStart.Default" + }, + { + "name": "xs.required-start.warning", + "composeReference": "TextArea.Xs.RequiredStart.Warning" + }, + { + "name": "xs.required-start.error", + "composeReference": "TextArea.Xs.RequiredStart.Error" + }, + { + "name": "xs.required-end.default", + "composeReference": "TextArea.Xs.RequiredEnd.Default" + }, + { + "name": "xs.required-end.warning", + "composeReference": "TextArea.Xs.RequiredEnd.Warning" + }, + { + "name": "xs.required-end.error", + "composeReference": "TextArea.Xs.RequiredEnd.Error" + }, + { + "name": "xs.outer-label.default", + "composeReference": "TextArea.Xs.OuterLabel.Default" + }, + { + "name": "xs.outer-label.warning", + "composeReference": "TextArea.Xs.OuterLabel.Warning" + }, + { + "name": "xs.outer-label.error", + "composeReference": "TextArea.Xs.OuterLabel.Error" + }, + { + "name": "xs.outer-label.required-start.default", + "composeReference": "TextArea.Xs.OuterLabel.RequiredStart.Default" + }, + { + "name": "xs.outer-label.required-start.warning", + "composeReference": "TextArea.Xs.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xs.outer-label.required-start.error", + "composeReference": "TextArea.Xs.OuterLabel.RequiredStart.Error" + }, + { + "name": "xs.outer-label.required-end.default", + "composeReference": "TextArea.Xs.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xs.outer-label.required-end.warning", + "composeReference": "TextArea.Xs.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xs.outer-label.required-end.error", + "composeReference": "TextArea.Xs.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.default", + "composeReference": "TextArea.S.Default" + }, + { + "name": "s.warning", + "composeReference": "TextArea.S.Warning" + }, + { + "name": "s.error", + "composeReference": "TextArea.S.Error" + }, + { + "name": "s.required-start.default", + "composeReference": "TextArea.S.RequiredStart.Default" + }, + { + "name": "s.required-start.warning", + "composeReference": "TextArea.S.RequiredStart.Warning" + }, + { + "name": "s.required-start.error", + "composeReference": "TextArea.S.RequiredStart.Error" + }, + { + "name": "s.required-end.default", + "composeReference": "TextArea.S.RequiredEnd.Default" + }, + { + "name": "s.required-end.warning", + "composeReference": "TextArea.S.RequiredEnd.Warning" + }, + { + "name": "s.required-end.error", + "composeReference": "TextArea.S.RequiredEnd.Error" + }, + { + "name": "s.outer-label.default", + "composeReference": "TextArea.S.OuterLabel.Default" + }, + { + "name": "s.outer-label.warning", + "composeReference": "TextArea.S.OuterLabel.Warning" + }, + { + "name": "s.outer-label.error", + "composeReference": "TextArea.S.OuterLabel.Error" + }, + { + "name": "s.outer-label.required-start.default", + "composeReference": "TextArea.S.OuterLabel.RequiredStart.Default" + }, + { + "name": "s.outer-label.required-start.warning", + "composeReference": "TextArea.S.OuterLabel.RequiredStart.Warning" + }, + { + "name": "s.outer-label.required-start.error", + "composeReference": "TextArea.S.OuterLabel.RequiredStart.Error" + }, + { + "name": "s.outer-label.required-end.default", + "composeReference": "TextArea.S.OuterLabel.RequiredEnd.Default" + }, + { + "name": "s.outer-label.required-end.warning", + "composeReference": "TextArea.S.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "s.outer-label.required-end.error", + "composeReference": "TextArea.S.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.inner-label.default", + "composeReference": "TextArea.S.InnerLabel.Default" + }, + { + "name": "s.inner-label.warning", + "composeReference": "TextArea.S.InnerLabel.Warning" + }, + { + "name": "s.inner-label.error", + "composeReference": "TextArea.S.InnerLabel.Error" + }, + { + "name": "s.inner-label.required-start.default", + "composeReference": "TextArea.S.InnerLabel.RequiredStart.Default" + }, + { + "name": "s.inner-label.required-start.warning", + "composeReference": "TextArea.S.InnerLabel.RequiredStart.Warning" + }, + { + "name": "s.inner-label.required-start.error", + "composeReference": "TextArea.S.InnerLabel.RequiredStart.Error" + }, + { + "name": "s.inner-label.required-end.default", + "composeReference": "TextArea.S.InnerLabel.RequiredEnd.Default" + }, + { + "name": "s.inner-label.required-end.warning", + "composeReference": "TextArea.S.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "s.inner-label.required-end.error", + "composeReference": "TextArea.S.InnerLabel.RequiredEnd.Error" + }, + { + "name": "m.default", + "composeReference": "TextArea.M.Default" + }, + { + "name": "m.warning", + "composeReference": "TextArea.M.Warning" + }, + { + "name": "m.error", + "composeReference": "TextArea.M.Error" + }, + { + "name": "m.required-start.default", + "composeReference": "TextArea.M.RequiredStart.Default" + }, + { + "name": "m.required-start.warning", + "composeReference": "TextArea.M.RequiredStart.Warning" + }, + { + "name": "m.required-start.error", + "composeReference": "TextArea.M.RequiredStart.Error" + }, + { + "name": "m.required-end.default", + "composeReference": "TextArea.M.RequiredEnd.Default" + }, + { + "name": "m.required-end.warning", + "composeReference": "TextArea.M.RequiredEnd.Warning" + }, + { + "name": "m.required-end.error", + "composeReference": "TextArea.M.RequiredEnd.Error" + }, + { + "name": "m.outer-label.default", + "composeReference": "TextArea.M.OuterLabel.Default" + }, + { + "name": "m.outer-label.warning", + "composeReference": "TextArea.M.OuterLabel.Warning" + }, + { + "name": "m.outer-label.error", + "composeReference": "TextArea.M.OuterLabel.Error" + }, + { + "name": "m.outer-label.required-start.default", + "composeReference": "TextArea.M.OuterLabel.RequiredStart.Default" + }, + { + "name": "m.outer-label.required-start.warning", + "composeReference": "TextArea.M.OuterLabel.RequiredStart.Warning" + }, + { + "name": "m.outer-label.required-start.error", + "composeReference": "TextArea.M.OuterLabel.RequiredStart.Error" + }, + { + "name": "m.outer-label.required-end.default", + "composeReference": "TextArea.M.OuterLabel.RequiredEnd.Default" + }, + { + "name": "m.outer-label.required-end.warning", + "composeReference": "TextArea.M.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "m.outer-label.required-end.error", + "composeReference": "TextArea.M.OuterLabel.RequiredEnd.Error" + }, + { + "name": "m.inner-label.default", + "composeReference": "TextArea.M.InnerLabel.Default" + }, + { + "name": "m.inner-label.warning", + "composeReference": "TextArea.M.InnerLabel.Warning" + }, + { + "name": "m.inner-label.error", + "composeReference": "TextArea.M.InnerLabel.Error" + }, + { + "name": "m.inner-label.required-start.default", + "composeReference": "TextArea.M.InnerLabel.RequiredStart.Default" + }, + { + "name": "m.inner-label.required-start.warning", + "composeReference": "TextArea.M.InnerLabel.RequiredStart.Warning" + }, + { + "name": "m.inner-label.required-start.error", + "composeReference": "TextArea.M.InnerLabel.RequiredStart.Error" + }, + { + "name": "m.inner-label.required-end.default", + "composeReference": "TextArea.M.InnerLabel.RequiredEnd.Default" + }, + { + "name": "m.inner-label.required-end.warning", + "composeReference": "TextArea.M.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "m.inner-label.required-end.error", + "composeReference": "TextArea.M.InnerLabel.RequiredEnd.Error" + }, + { + "name": "l.default", + "composeReference": "TextArea.L.Default" + }, + { + "name": "l.warning", + "composeReference": "TextArea.L.Warning" + }, + { + "name": "l.error", + "composeReference": "TextArea.L.Error" + }, + { + "name": "l.required-start.default", + "composeReference": "TextArea.L.RequiredStart.Default" + }, + { + "name": "l.required-start.warning", + "composeReference": "TextArea.L.RequiredStart.Warning" + }, + { + "name": "l.required-start.error", + "composeReference": "TextArea.L.RequiredStart.Error" + }, + { + "name": "l.required-end.default", + "composeReference": "TextArea.L.RequiredEnd.Default" + }, + { + "name": "l.required-end.warning", + "composeReference": "TextArea.L.RequiredEnd.Warning" + }, + { + "name": "l.required-end.error", + "composeReference": "TextArea.L.RequiredEnd.Error" + }, + { + "name": "l.outer-label.default", + "composeReference": "TextArea.L.OuterLabel.Default" + }, + { + "name": "l.outer-label.warning", + "composeReference": "TextArea.L.OuterLabel.Warning" + }, + { + "name": "l.outer-label.error", + "composeReference": "TextArea.L.OuterLabel.Error" + }, + { + "name": "l.outer-label.required-start.default", + "composeReference": "TextArea.L.OuterLabel.RequiredStart.Default" + }, + { + "name": "l.outer-label.required-start.warning", + "composeReference": "TextArea.L.OuterLabel.RequiredStart.Warning" + }, + { + "name": "l.outer-label.required-start.error", + "composeReference": "TextArea.L.OuterLabel.RequiredStart.Error" + }, + { + "name": "l.outer-label.required-end.default", + "composeReference": "TextArea.L.OuterLabel.RequiredEnd.Default" + }, + { + "name": "l.outer-label.required-end.warning", + "composeReference": "TextArea.L.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "l.outer-label.required-end.error", + "composeReference": "TextArea.L.OuterLabel.RequiredEnd.Error" + }, + { + "name": "l.inner-label.default", + "composeReference": "TextArea.L.InnerLabel.Default" + }, + { + "name": "l.inner-label.warning", + "composeReference": "TextArea.L.InnerLabel.Warning" + }, + { + "name": "l.inner-label.error", + "composeReference": "TextArea.L.InnerLabel.Error" + }, + { + "name": "l.inner-label.required-start.default", + "composeReference": "TextArea.L.InnerLabel.RequiredStart.Default" + }, + { + "name": "l.inner-label.required-start.warning", + "composeReference": "TextArea.L.InnerLabel.RequiredStart.Warning" + }, + { + "name": "l.inner-label.required-start.error", + "composeReference": "TextArea.L.InnerLabel.RequiredStart.Error" + }, + { + "name": "l.inner-label.required-end.default", + "composeReference": "TextArea.L.InnerLabel.RequiredEnd.Default" + }, + { + "name": "l.inner-label.required-end.warning", + "composeReference": "TextArea.L.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "l.inner-label.required-end.error", + "composeReference": "TextArea.L.InnerLabel.RequiredEnd.Error" + }, + { + "name": "xl.default", + "composeReference": "TextArea.Xl.Default" + }, + { + "name": "xl.warning", + "composeReference": "TextArea.Xl.Warning" + }, + { + "name": "xl.error", + "composeReference": "TextArea.Xl.Error" + }, + { + "name": "xl.required-start.default", + "composeReference": "TextArea.Xl.RequiredStart.Default" + }, + { + "name": "xl.required-start.warning", + "composeReference": "TextArea.Xl.RequiredStart.Warning" + }, + { + "name": "xl.required-start.error", + "composeReference": "TextArea.Xl.RequiredStart.Error" + }, + { + "name": "xl.required-end.default", + "composeReference": "TextArea.Xl.RequiredEnd.Default" + }, + { + "name": "xl.required-end.warning", + "composeReference": "TextArea.Xl.RequiredEnd.Warning" + }, + { + "name": "xl.required-end.error", + "composeReference": "TextArea.Xl.RequiredEnd.Error" + }, + { + "name": "xl.outer-label.default", + "composeReference": "TextArea.Xl.OuterLabel.Default" + }, + { + "name": "xl.outer-label.warning", + "composeReference": "TextArea.Xl.OuterLabel.Warning" + }, + { + "name": "xl.outer-label.error", + "composeReference": "TextArea.Xl.OuterLabel.Error" + }, + { + "name": "xl.outer-label.required-start.default", + "composeReference": "TextArea.Xl.OuterLabel.RequiredStart.Default" + }, + { + "name": "xl.outer-label.required-start.warning", + "composeReference": "TextArea.Xl.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xl.outer-label.required-start.error", + "composeReference": "TextArea.Xl.OuterLabel.RequiredStart.Error" + }, + { + "name": "xl.outer-label.required-end.default", + "composeReference": "TextArea.Xl.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xl.outer-label.required-end.warning", + "composeReference": "TextArea.Xl.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xl.outer-label.required-end.error", + "composeReference": "TextArea.Xl.OuterLabel.RequiredEnd.Error" + }, + { + "name": "xl.inner-label.default", + "composeReference": "TextArea.Xl.InnerLabel.Default" + }, + { + "name": "xl.inner-label.warning", + "composeReference": "TextArea.Xl.InnerLabel.Warning" + }, + { + "name": "xl.inner-label.error", + "composeReference": "TextArea.Xl.InnerLabel.Error" + }, + { + "name": "xl.inner-label.required-start.default", + "composeReference": "TextArea.Xl.InnerLabel.RequiredStart.Default" + }, + { + "name": "xl.inner-label.required-start.warning", + "composeReference": "TextArea.Xl.InnerLabel.RequiredStart.Warning" + }, + { + "name": "xl.inner-label.required-start.error", + "composeReference": "TextArea.Xl.InnerLabel.RequiredStart.Error" + }, + { + "name": "xl.inner-label.required-end.default", + "composeReference": "TextArea.Xl.InnerLabel.RequiredEnd.Default" + }, + { + "name": "xl.inner-label.required-end.warning", + "composeReference": "TextArea.Xl.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "xl.inner-label.required-end.error", + "composeReference": "TextArea.Xl.InnerLabel.RequiredEnd.Error" + } + ] + }, + { + "key": "text-area", + "coreName": "TextArea", + "styleName": "TextAreaClear", + "variations": [ + { + "name": "xs.default", + "composeReference": "TextAreaClear.Xs.Default" + }, + { + "name": "xs.warning", + "composeReference": "TextAreaClear.Xs.Warning" + }, + { + "name": "xs.error", + "composeReference": "TextAreaClear.Xs.Error" + }, + { + "name": "xs.required-start.default", + "composeReference": "TextAreaClear.Xs.RequiredStart.Default" + }, + { + "name": "xs.required-start.warning", + "composeReference": "TextAreaClear.Xs.RequiredStart.Warning" + }, + { + "name": "xs.required-start.error", + "composeReference": "TextAreaClear.Xs.RequiredStart.Error" + }, + { + "name": "xs.required-end.default", + "composeReference": "TextAreaClear.Xs.RequiredEnd.Default" + }, + { + "name": "xs.required-end.warning", + "composeReference": "TextAreaClear.Xs.RequiredEnd.Warning" + }, + { + "name": "xs.required-end.error", + "composeReference": "TextAreaClear.Xs.RequiredEnd.Error" + }, + { + "name": "xs.outer-label.default", + "composeReference": "TextAreaClear.Xs.OuterLabel.Default" + }, + { + "name": "xs.outer-label.warning", + "composeReference": "TextAreaClear.Xs.OuterLabel.Warning" + }, + { + "name": "xs.outer-label.error", + "composeReference": "TextAreaClear.Xs.OuterLabel.Error" + }, + { + "name": "xs.outer-label.required-start.default", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredStart.Default" + }, + { + "name": "xs.outer-label.required-start.warning", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xs.outer-label.required-start.error", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredStart.Error" + }, + { + "name": "xs.outer-label.required-end.default", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xs.outer-label.required-end.warning", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xs.outer-label.required-end.error", + "composeReference": "TextAreaClear.Xs.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.default", + "composeReference": "TextAreaClear.S.Default" + }, + { + "name": "s.warning", + "composeReference": "TextAreaClear.S.Warning" + }, + { + "name": "s.error", + "composeReference": "TextAreaClear.S.Error" + }, + { + "name": "s.required-start.default", + "composeReference": "TextAreaClear.S.RequiredStart.Default" + }, + { + "name": "s.required-start.warning", + "composeReference": "TextAreaClear.S.RequiredStart.Warning" + }, + { + "name": "s.required-start.error", + "composeReference": "TextAreaClear.S.RequiredStart.Error" + }, + { + "name": "s.required-end.default", + "composeReference": "TextAreaClear.S.RequiredEnd.Default" + }, + { + "name": "s.required-end.warning", + "composeReference": "TextAreaClear.S.RequiredEnd.Warning" + }, + { + "name": "s.required-end.error", + "composeReference": "TextAreaClear.S.RequiredEnd.Error" + }, + { + "name": "s.outer-label.default", + "composeReference": "TextAreaClear.S.OuterLabel.Default" + }, + { + "name": "s.outer-label.warning", + "composeReference": "TextAreaClear.S.OuterLabel.Warning" + }, + { + "name": "s.outer-label.error", + "composeReference": "TextAreaClear.S.OuterLabel.Error" + }, + { + "name": "s.outer-label.required-start.default", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredStart.Default" + }, + { + "name": "s.outer-label.required-start.warning", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredStart.Warning" + }, + { + "name": "s.outer-label.required-start.error", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredStart.Error" + }, + { + "name": "s.outer-label.required-end.default", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredEnd.Default" + }, + { + "name": "s.outer-label.required-end.warning", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "s.outer-label.required-end.error", + "composeReference": "TextAreaClear.S.OuterLabel.RequiredEnd.Error" + }, + { + "name": "s.inner-label.default", + "composeReference": "TextAreaClear.S.InnerLabel.Default" + }, + { + "name": "s.inner-label.warning", + "composeReference": "TextAreaClear.S.InnerLabel.Warning" + }, + { + "name": "s.inner-label.error", + "composeReference": "TextAreaClear.S.InnerLabel.Error" + }, + { + "name": "s.inner-label.required-start.default", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredStart.Default" + }, + { + "name": "s.inner-label.required-start.warning", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredStart.Warning" + }, + { + "name": "s.inner-label.required-start.error", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredStart.Error" + }, + { + "name": "s.inner-label.required-end.default", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredEnd.Default" + }, + { + "name": "s.inner-label.required-end.warning", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "s.inner-label.required-end.error", + "composeReference": "TextAreaClear.S.InnerLabel.RequiredEnd.Error" + }, + { + "name": "m.default", + "composeReference": "TextAreaClear.M.Default" + }, + { + "name": "m.warning", + "composeReference": "TextAreaClear.M.Warning" + }, + { + "name": "m.error", + "composeReference": "TextAreaClear.M.Error" + }, + { + "name": "m.required-start.default", + "composeReference": "TextAreaClear.M.RequiredStart.Default" + }, + { + "name": "m.required-start.warning", + "composeReference": "TextAreaClear.M.RequiredStart.Warning" + }, + { + "name": "m.required-start.error", + "composeReference": "TextAreaClear.M.RequiredStart.Error" + }, + { + "name": "m.required-end.default", + "composeReference": "TextAreaClear.M.RequiredEnd.Default" + }, + { + "name": "m.required-end.warning", + "composeReference": "TextAreaClear.M.RequiredEnd.Warning" + }, + { + "name": "m.required-end.error", + "composeReference": "TextAreaClear.M.RequiredEnd.Error" + }, + { + "name": "m.outer-label.default", + "composeReference": "TextAreaClear.M.OuterLabel.Default" + }, + { + "name": "m.outer-label.warning", + "composeReference": "TextAreaClear.M.OuterLabel.Warning" + }, + { + "name": "m.outer-label.error", + "composeReference": "TextAreaClear.M.OuterLabel.Error" + }, + { + "name": "m.outer-label.required-start.default", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredStart.Default" + }, + { + "name": "m.outer-label.required-start.warning", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredStart.Warning" + }, + { + "name": "m.outer-label.required-start.error", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredStart.Error" + }, + { + "name": "m.outer-label.required-end.default", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredEnd.Default" + }, + { + "name": "m.outer-label.required-end.warning", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "m.outer-label.required-end.error", + "composeReference": "TextAreaClear.M.OuterLabel.RequiredEnd.Error" + }, + { + "name": "m.inner-label.default", + "composeReference": "TextAreaClear.M.InnerLabel.Default" + }, + { + "name": "m.inner-label.warning", + "composeReference": "TextAreaClear.M.InnerLabel.Warning" + }, + { + "name": "m.inner-label.error", + "composeReference": "TextAreaClear.M.InnerLabel.Error" + }, + { + "name": "m.inner-label.required-start.default", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredStart.Default" + }, + { + "name": "m.inner-label.required-start.warning", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredStart.Warning" + }, + { + "name": "m.inner-label.required-start.error", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredStart.Error" + }, + { + "name": "m.inner-label.required-end.default", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredEnd.Default" + }, + { + "name": "m.inner-label.required-end.warning", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "m.inner-label.required-end.error", + "composeReference": "TextAreaClear.M.InnerLabel.RequiredEnd.Error" + }, + { + "name": "l.default", + "composeReference": "TextAreaClear.L.Default" + }, + { + "name": "l.warning", + "composeReference": "TextAreaClear.L.Warning" + }, + { + "name": "l.error", + "composeReference": "TextAreaClear.L.Error" + }, + { + "name": "l.required-start.default", + "composeReference": "TextAreaClear.L.RequiredStart.Default" + }, + { + "name": "l.required-start.warning", + "composeReference": "TextAreaClear.L.RequiredStart.Warning" + }, + { + "name": "l.required-start.error", + "composeReference": "TextAreaClear.L.RequiredStart.Error" + }, + { + "name": "l.required-end.default", + "composeReference": "TextAreaClear.L.RequiredEnd.Default" + }, + { + "name": "l.required-end.warning", + "composeReference": "TextAreaClear.L.RequiredEnd.Warning" + }, + { + "name": "l.required-end.error", + "composeReference": "TextAreaClear.L.RequiredEnd.Error" + }, + { + "name": "l.outer-label.default", + "composeReference": "TextAreaClear.L.OuterLabel.Default" + }, + { + "name": "l.outer-label.warning", + "composeReference": "TextAreaClear.L.OuterLabel.Warning" + }, + { + "name": "l.outer-label.error", + "composeReference": "TextAreaClear.L.OuterLabel.Error" + }, + { + "name": "l.outer-label.required-start.default", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredStart.Default" + }, + { + "name": "l.outer-label.required-start.warning", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredStart.Warning" + }, + { + "name": "l.outer-label.required-start.error", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredStart.Error" + }, + { + "name": "l.outer-label.required-end.default", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredEnd.Default" + }, + { + "name": "l.outer-label.required-end.warning", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "l.outer-label.required-end.error", + "composeReference": "TextAreaClear.L.OuterLabel.RequiredEnd.Error" + }, + { + "name": "l.inner-label.default", + "composeReference": "TextAreaClear.L.InnerLabel.Default" + }, + { + "name": "l.inner-label.warning", + "composeReference": "TextAreaClear.L.InnerLabel.Warning" + }, + { + "name": "l.inner-label.error", + "composeReference": "TextAreaClear.L.InnerLabel.Error" + }, + { + "name": "l.inner-label.required-start.default", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredStart.Default" + }, + { + "name": "l.inner-label.required-start.warning", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredStart.Warning" + }, + { + "name": "l.inner-label.required-start.error", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredStart.Error" + }, + { + "name": "l.inner-label.required-end.default", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredEnd.Default" + }, + { + "name": "l.inner-label.required-end.warning", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "l.inner-label.required-end.error", + "composeReference": "TextAreaClear.L.InnerLabel.RequiredEnd.Error" + }, + { + "name": "xl.default", + "composeReference": "TextAreaClear.Xl.Default" + }, + { + "name": "xl.warning", + "composeReference": "TextAreaClear.Xl.Warning" + }, + { + "name": "xl.error", + "composeReference": "TextAreaClear.Xl.Error" + }, + { + "name": "xl.required-start.default", + "composeReference": "TextAreaClear.Xl.RequiredStart.Default" + }, + { + "name": "xl.required-start.warning", + "composeReference": "TextAreaClear.Xl.RequiredStart.Warning" + }, + { + "name": "xl.required-start.error", + "composeReference": "TextAreaClear.Xl.RequiredStart.Error" + }, + { + "name": "xl.required-end.default", + "composeReference": "TextAreaClear.Xl.RequiredEnd.Default" + }, + { + "name": "xl.required-end.warning", + "composeReference": "TextAreaClear.Xl.RequiredEnd.Warning" + }, + { + "name": "xl.required-end.error", + "composeReference": "TextAreaClear.Xl.RequiredEnd.Error" + }, + { + "name": "xl.outer-label.default", + "composeReference": "TextAreaClear.Xl.OuterLabel.Default" + }, + { + "name": "xl.outer-label.warning", + "composeReference": "TextAreaClear.Xl.OuterLabel.Warning" + }, + { + "name": "xl.outer-label.error", + "composeReference": "TextAreaClear.Xl.OuterLabel.Error" + }, + { + "name": "xl.outer-label.required-start.default", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredStart.Default" + }, + { + "name": "xl.outer-label.required-start.warning", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredStart.Warning" + }, + { + "name": "xl.outer-label.required-start.error", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredStart.Error" + }, + { + "name": "xl.outer-label.required-end.default", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredEnd.Default" + }, + { + "name": "xl.outer-label.required-end.warning", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredEnd.Warning" + }, + { + "name": "xl.outer-label.required-end.error", + "composeReference": "TextAreaClear.Xl.OuterLabel.RequiredEnd.Error" + }, + { + "name": "xl.inner-label.default", + "composeReference": "TextAreaClear.Xl.InnerLabel.Default" + }, + { + "name": "xl.inner-label.warning", + "composeReference": "TextAreaClear.Xl.InnerLabel.Warning" + }, + { + "name": "xl.inner-label.error", + "composeReference": "TextAreaClear.Xl.InnerLabel.Error" + }, + { + "name": "xl.inner-label.required-start.default", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredStart.Default" + }, + { + "name": "xl.inner-label.required-start.warning", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredStart.Warning" + }, + { + "name": "xl.inner-label.required-start.error", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredStart.Error" + }, + { + "name": "xl.inner-label.required-end.default", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredEnd.Default" + }, + { + "name": "xl.inner-label.required-end.warning", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredEnd.Warning" + }, + { + "name": "xl.inner-label.required-end.error", + "composeReference": "TextAreaClear.Xl.InnerLabel.RequiredEnd.Error" + } + ] + }, + { + "key": "tooltip", + "coreName": "Tooltip", + "styleName": "Tooltip", + "variations": [ + { + "name": "m", + "composeReference": "Tooltip.M" + }, + { + "name": "s", + "composeReference": "Tooltip.S" + } + ] + }, + { + "key": "toast", + "coreName": "Toast", + "styleName": "Toast", + "variations": [ + { + "name": "rounded.default", + "composeReference": "Toast.Rounded.Default" + }, + { + "name": "rounded.positive", + "composeReference": "Toast.Rounded.Positive" + }, + { + "name": "rounded.negative", + "composeReference": "Toast.Rounded.Negative" + }, + { + "name": "pilled.default", + "composeReference": "Toast.Pilled.Default" + }, + { + "name": "pilled.positive", + "composeReference": "Toast.Pilled.Positive" + }, + { + "name": "pilled.negative", + "composeReference": "Toast.Pilled.Negative" + } + ] + }, + { + "key": "modal", + "coreName": "Modal", + "styleName": "Modal", + "variations": [ + { + "name": "Default", + "composeReference": "Modal.Default" + } + ] + }, + { + "key": "rect-skeleton", + "coreName": "RectSkeleton", + "styleName": "RectSkeleton", + "variations": [ + { + "name": "default", + "composeReference": "RectSkeleton.Default" + }, + { + "name": "lighter", + "composeReference": "RectSkeleton.Lighter" + } + ] + }, + { + "key": "note", + "coreName": "Note", + "styleName": "Note", + "variations": [ + { + "name": "l.default", + "composeReference": "Note.L.Default" + }, + { + "name": "l.positive", + "composeReference": "Note.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "Note.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "Note.L.Warning" + }, + { + "name": "l.info", + "composeReference": "Note.L.Info" + }, + { + "name": "l.has-close.default", + "composeReference": "Note.L.HasClose.Default" + }, + { + "name": "l.has-close.positive", + "composeReference": "Note.L.HasClose.Positive" + }, + { + "name": "l.has-close.negative", + "composeReference": "Note.L.HasClose.Negative" + }, + { + "name": "l.has-close.warning", + "composeReference": "Note.L.HasClose.Warning" + }, + { + "name": "l.has-close.info", + "composeReference": "Note.L.HasClose.Info" + }, + { + "name": "l.content-scalable.default", + "composeReference": "Note.L.ContentScalable.Default" + }, + { + "name": "l.content-scalable.positive", + "composeReference": "Note.L.ContentScalable.Positive" + }, + { + "name": "l.content-scalable.negative", + "composeReference": "Note.L.ContentScalable.Negative" + }, + { + "name": "l.content-scalable.warning", + "composeReference": "Note.L.ContentScalable.Warning" + }, + { + "name": "l.content-scalable.info", + "composeReference": "Note.L.ContentScalable.Info" + }, + { + "name": "l.has-close-content-scalable.default", + "composeReference": "Note.L.HasCloseContentScalable.Default" + }, + { + "name": "l.has-close-content-scalable.positive", + "composeReference": "Note.L.HasCloseContentScalable.Positive" + }, + { + "name": "l.has-close-content-scalable.negative", + "composeReference": "Note.L.HasCloseContentScalable.Negative" + }, + { + "name": "l.has-close-content-scalable.warning", + "composeReference": "Note.L.HasCloseContentScalable.Warning" + }, + { + "name": "l.has-close-content-scalable.info", + "composeReference": "Note.L.HasCloseContentScalable.Info" + }, + { + "name": "m.default", + "composeReference": "Note.M.Default" + }, + { + "name": "m.positive", + "composeReference": "Note.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "Note.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "Note.M.Warning" + }, + { + "name": "m.info", + "composeReference": "Note.M.Info" + }, + { + "name": "m.has-close.default", + "composeReference": "Note.M.HasClose.Default" + }, + { + "name": "m.has-close.positive", + "composeReference": "Note.M.HasClose.Positive" + }, + { + "name": "m.has-close.negative", + "composeReference": "Note.M.HasClose.Negative" + }, + { + "name": "m.has-close.warning", + "composeReference": "Note.M.HasClose.Warning" + }, + { + "name": "m.has-close.info", + "composeReference": "Note.M.HasClose.Info" + }, + { + "name": "m.content-scalable.default", + "composeReference": "Note.M.ContentScalable.Default" + }, + { + "name": "m.content-scalable.positive", + "composeReference": "Note.M.ContentScalable.Positive" + }, + { + "name": "m.content-scalable.negative", + "composeReference": "Note.M.ContentScalable.Negative" + }, + { + "name": "m.content-scalable.warning", + "composeReference": "Note.M.ContentScalable.Warning" + }, + { + "name": "m.content-scalable.info", + "composeReference": "Note.M.ContentScalable.Info" + }, + { + "name": "m.has-close-content-scalable.default", + "composeReference": "Note.M.HasCloseContentScalable.Default" + }, + { + "name": "m.has-close-content-scalable.positive", + "composeReference": "Note.M.HasCloseContentScalable.Positive" + }, + { + "name": "m.has-close-content-scalable.negative", + "composeReference": "Note.M.HasCloseContentScalable.Negative" + }, + { + "name": "m.has-close-content-scalable.warning", + "composeReference": "Note.M.HasCloseContentScalable.Warning" + }, + { + "name": "m.has-close-content-scalable.info", + "composeReference": "Note.M.HasCloseContentScalable.Info" + }, + { + "name": "s.default", + "composeReference": "Note.S.Default" + }, + { + "name": "s.positive", + "composeReference": "Note.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "Note.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "Note.S.Warning" + }, + { + "name": "s.info", + "composeReference": "Note.S.Info" + }, + { + "name": "s.has-close.default", + "composeReference": "Note.S.HasClose.Default" + }, + { + "name": "s.has-close.positive", + "composeReference": "Note.S.HasClose.Positive" + }, + { + "name": "s.has-close.negative", + "composeReference": "Note.S.HasClose.Negative" + }, + { + "name": "s.has-close.warning", + "composeReference": "Note.S.HasClose.Warning" + }, + { + "name": "s.has-close.info", + "composeReference": "Note.S.HasClose.Info" + }, + { + "name": "s.content-scalable.default", + "composeReference": "Note.S.ContentScalable.Default" + }, + { + "name": "s.content-scalable.positive", + "composeReference": "Note.S.ContentScalable.Positive" + }, + { + "name": "s.content-scalable.negative", + "composeReference": "Note.S.ContentScalable.Negative" + }, + { + "name": "s.content-scalable.warning", + "composeReference": "Note.S.ContentScalable.Warning" + }, + { + "name": "s.content-scalable.info", + "composeReference": "Note.S.ContentScalable.Info" + }, + { + "name": "s.has-close-content-scalable.default", + "composeReference": "Note.S.HasCloseContentScalable.Default" + }, + { + "name": "s.has-close-content-scalable.positive", + "composeReference": "Note.S.HasCloseContentScalable.Positive" + }, + { + "name": "s.has-close-content-scalable.negative", + "composeReference": "Note.S.HasCloseContentScalable.Negative" + }, + { + "name": "s.has-close-content-scalable.warning", + "composeReference": "Note.S.HasCloseContentScalable.Warning" + }, + { + "name": "s.has-close-content-scalable.info", + "composeReference": "Note.S.HasCloseContentScalable.Info" + }, + { + "name": "xs.default", + "composeReference": "Note.Xs.Default" + }, + { + "name": "xs.positive", + "composeReference": "Note.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "Note.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "Note.Xs.Warning" + }, + { + "name": "xs.info", + "composeReference": "Note.Xs.Info" + }, + { + "name": "xs.has-close.default", + "composeReference": "Note.Xs.HasClose.Default" + }, + { + "name": "xs.has-close.positive", + "composeReference": "Note.Xs.HasClose.Positive" + }, + { + "name": "xs.has-close.negative", + "composeReference": "Note.Xs.HasClose.Negative" + }, + { + "name": "xs.has-close.warning", + "composeReference": "Note.Xs.HasClose.Warning" + }, + { + "name": "xs.has-close.info", + "composeReference": "Note.Xs.HasClose.Info" + }, + { + "name": "xs.content-scalable.default", + "composeReference": "Note.Xs.ContentScalable.Default" + }, + { + "name": "xs.content-scalable.positive", + "composeReference": "Note.Xs.ContentScalable.Positive" + }, + { + "name": "xs.content-scalable.negative", + "composeReference": "Note.Xs.ContentScalable.Negative" + }, + { + "name": "xs.content-scalable.warning", + "composeReference": "Note.Xs.ContentScalable.Warning" + }, + { + "name": "xs.content-scalable.info", + "composeReference": "Note.Xs.ContentScalable.Info" + }, + { + "name": "xs.has-close-content-scalable.default", + "composeReference": "Note.Xs.HasCloseContentScalable.Default" + }, + { + "name": "xs.has-close-content-scalable.positive", + "composeReference": "Note.Xs.HasCloseContentScalable.Positive" + }, + { + "name": "xs.has-close-content-scalable.negative", + "composeReference": "Note.Xs.HasCloseContentScalable.Negative" + }, + { + "name": "xs.has-close-content-scalable.warning", + "composeReference": "Note.Xs.HasCloseContentScalable.Warning" + }, + { + "name": "xs.has-close-content-scalable.info", + "composeReference": "Note.Xs.HasCloseContentScalable.Info" + } + ] + }, + { + "key": "note-compact", + "coreName": "NoteCompact", + "styleName": "NoteCompact", + "variations": [ + { + "name": "l.default", + "composeReference": "NoteCompact.L.Default" + }, + { + "name": "l.positive", + "composeReference": "NoteCompact.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "NoteCompact.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "NoteCompact.L.Warning" + }, + { + "name": "l.info", + "composeReference": "NoteCompact.L.Info" + }, + { + "name": "l.has-close.default", + "composeReference": "NoteCompact.L.HasClose.Default" + }, + { + "name": "l.has-close.positive", + "composeReference": "NoteCompact.L.HasClose.Positive" + }, + { + "name": "l.has-close.negative", + "composeReference": "NoteCompact.L.HasClose.Negative" + }, + { + "name": "l.has-close.warning", + "composeReference": "NoteCompact.L.HasClose.Warning" + }, + { + "name": "l.has-close.info", + "composeReference": "NoteCompact.L.HasClose.Info" + }, + { + "name": "l.content-scalable.default", + "composeReference": "NoteCompact.L.ContentScalable.Default" + }, + { + "name": "l.content-scalable.positive", + "composeReference": "NoteCompact.L.ContentScalable.Positive" + }, + { + "name": "l.content-scalable.negative", + "composeReference": "NoteCompact.L.ContentScalable.Negative" + }, + { + "name": "l.content-scalable.warning", + "composeReference": "NoteCompact.L.ContentScalable.Warning" + }, + { + "name": "l.content-scalable.info", + "composeReference": "NoteCompact.L.ContentScalable.Info" + }, + { + "name": "l.has-close-content-scalable.default", + "composeReference": "NoteCompact.L.HasCloseContentScalable.Default" + }, + { + "name": "l.has-close-content-scalable.positive", + "composeReference": "NoteCompact.L.HasCloseContentScalable.Positive" + }, + { + "name": "l.has-close-content-scalable.negative", + "composeReference": "NoteCompact.L.HasCloseContentScalable.Negative" + }, + { + "name": "l.has-close-content-scalable.warning", + "composeReference": "NoteCompact.L.HasCloseContentScalable.Warning" + }, + { + "name": "l.has-close-content-scalable.info", + "composeReference": "NoteCompact.L.HasCloseContentScalable.Info" + }, + { + "name": "m.default", + "composeReference": "NoteCompact.M.Default" + }, + { + "name": "m.positive", + "composeReference": "NoteCompact.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "NoteCompact.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "NoteCompact.M.Warning" + }, + { + "name": "m.info", + "composeReference": "NoteCompact.M.Info" + }, + { + "name": "m.has-close.default", + "composeReference": "NoteCompact.M.HasClose.Default" + }, + { + "name": "m.has-close.positive", + "composeReference": "NoteCompact.M.HasClose.Positive" + }, + { + "name": "m.has-close.negative", + "composeReference": "NoteCompact.M.HasClose.Negative" + }, + { + "name": "m.has-close.warning", + "composeReference": "NoteCompact.M.HasClose.Warning" + }, + { + "name": "m.has-close.info", + "composeReference": "NoteCompact.M.HasClose.Info" + }, + { + "name": "m.content-scalable.default", + "composeReference": "NoteCompact.M.ContentScalable.Default" + }, + { + "name": "m.content-scalable.positive", + "composeReference": "NoteCompact.M.ContentScalable.Positive" + }, + { + "name": "m.content-scalable.negative", + "composeReference": "NoteCompact.M.ContentScalable.Negative" + }, + { + "name": "m.content-scalable.warning", + "composeReference": "NoteCompact.M.ContentScalable.Warning" + }, + { + "name": "m.content-scalable.info", + "composeReference": "NoteCompact.M.ContentScalable.Info" + }, + { + "name": "m.has-close-content-scalable.default", + "composeReference": "NoteCompact.M.HasCloseContentScalable.Default" + }, + { + "name": "m.has-close-content-scalable.positive", + "composeReference": "NoteCompact.M.HasCloseContentScalable.Positive" + }, + { + "name": "m.has-close-content-scalable.negative", + "composeReference": "NoteCompact.M.HasCloseContentScalable.Negative" + }, + { + "name": "m.has-close-content-scalable.warning", + "composeReference": "NoteCompact.M.HasCloseContentScalable.Warning" + }, + { + "name": "m.has-close-content-scalable.info", + "composeReference": "NoteCompact.M.HasCloseContentScalable.Info" + }, + { + "name": "s.default", + "composeReference": "NoteCompact.S.Default" + }, + { + "name": "s.positive", + "composeReference": "NoteCompact.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "NoteCompact.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "NoteCompact.S.Warning" + }, + { + "name": "s.info", + "composeReference": "NoteCompact.S.Info" + }, + { + "name": "s.has-close.default", + "composeReference": "NoteCompact.S.HasClose.Default" + }, + { + "name": "s.has-close.positive", + "composeReference": "NoteCompact.S.HasClose.Positive" + }, + { + "name": "s.has-close.negative", + "composeReference": "NoteCompact.S.HasClose.Negative" + }, + { + "name": "s.has-close.warning", + "composeReference": "NoteCompact.S.HasClose.Warning" + }, + { + "name": "s.has-close.info", + "composeReference": "NoteCompact.S.HasClose.Info" + }, + { + "name": "s.content-scalable.default", + "composeReference": "NoteCompact.S.ContentScalable.Default" + }, + { + "name": "s.content-scalable.positive", + "composeReference": "NoteCompact.S.ContentScalable.Positive" + }, + { + "name": "s.content-scalable.negative", + "composeReference": "NoteCompact.S.ContentScalable.Negative" + }, + { + "name": "s.content-scalable.warning", + "composeReference": "NoteCompact.S.ContentScalable.Warning" + }, + { + "name": "s.content-scalable.info", + "composeReference": "NoteCompact.S.ContentScalable.Info" + }, + { + "name": "s.has-close-content-scalable.default", + "composeReference": "NoteCompact.S.HasCloseContentScalable.Default" + }, + { + "name": "s.has-close-content-scalable.positive", + "composeReference": "NoteCompact.S.HasCloseContentScalable.Positive" + }, + { + "name": "s.has-close-content-scalable.negative", + "composeReference": "NoteCompact.S.HasCloseContentScalable.Negative" + }, + { + "name": "s.has-close-content-scalable.warning", + "composeReference": "NoteCompact.S.HasCloseContentScalable.Warning" + }, + { + "name": "s.has-close-content-scalable.info", + "composeReference": "NoteCompact.S.HasCloseContentScalable.Info" + }, + { + "name": "xs.default", + "composeReference": "NoteCompact.Xs.Default" + }, + { + "name": "xs.positive", + "composeReference": "NoteCompact.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "NoteCompact.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "NoteCompact.Xs.Warning" + }, + { + "name": "xs.info", + "composeReference": "NoteCompact.Xs.Info" + }, + { + "name": "xs.has-close.default", + "composeReference": "NoteCompact.Xs.HasClose.Default" + }, + { + "name": "xs.has-close.positive", + "composeReference": "NoteCompact.Xs.HasClose.Positive" + }, + { + "name": "xs.has-close.negative", + "composeReference": "NoteCompact.Xs.HasClose.Negative" + }, + { + "name": "xs.has-close.warning", + "composeReference": "NoteCompact.Xs.HasClose.Warning" + }, + { + "name": "xs.has-close.info", + "composeReference": "NoteCompact.Xs.HasClose.Info" + }, + { + "name": "xs.content-scalable.default", + "composeReference": "NoteCompact.Xs.ContentScalable.Default" + }, + { + "name": "xs.content-scalable.positive", + "composeReference": "NoteCompact.Xs.ContentScalable.Positive" + }, + { + "name": "xs.content-scalable.negative", + "composeReference": "NoteCompact.Xs.ContentScalable.Negative" + }, + { + "name": "xs.content-scalable.warning", + "composeReference": "NoteCompact.Xs.ContentScalable.Warning" + }, + { + "name": "xs.content-scalable.info", + "composeReference": "NoteCompact.Xs.ContentScalable.Info" + }, + { + "name": "xs.has-close-content-scalable.default", + "composeReference": "NoteCompact.Xs.HasCloseContentScalable.Default" + }, + { + "name": "xs.has-close-content-scalable.positive", + "composeReference": "NoteCompact.Xs.HasCloseContentScalable.Positive" + }, + { + "name": "xs.has-close-content-scalable.negative", + "composeReference": "NoteCompact.Xs.HasCloseContentScalable.Negative" + }, + { + "name": "xs.has-close-content-scalable.warning", + "composeReference": "NoteCompact.Xs.HasCloseContentScalable.Warning" + }, + { + "name": "xs.has-close-content-scalable.info", + "composeReference": "NoteCompact.Xs.HasCloseContentScalable.Info" + } + ] + }, + { + "key": "notification", + "coreName": "Notification", + "styleName": "NotificationCompact", + "variations": [ + { + "name": "l", + "composeReference": "NotificationCompact.L" + }, + { + "name": "m", + "composeReference": "NotificationCompact.M" + }, + { + "name": "s", + "composeReference": "NotificationCompact.S" + } + ] + }, + { + "key": "notification", + "coreName": "Notification", + "styleName": "NotificationLoose", + "variations": [ + { + "name": "l", + "composeReference": "NotificationLoose.L" + }, + { + "name": "m", + "composeReference": "NotificationLoose.M" + }, + { + "name": "s", + "composeReference": "NotificationLoose.S" + } + ] + }, + { + "key": "notification-content", + "coreName": "NotificationContent", + "styleName": "NotificationContent", + "variations": [ + { + "name": "button-stretch.default", + "composeReference": "NotificationContent.ButtonStretch.Default" + }, + { + "name": "button-stretch.positive", + "composeReference": "NotificationContent.ButtonStretch.Positive" + }, + { + "name": "button-stretch.negative", + "composeReference": "NotificationContent.ButtonStretch.Negative" + }, + { + "name": "button-stretch.warning", + "composeReference": "NotificationContent.ButtonStretch.Warning" + }, + { + "name": "button-stretch.info", + "composeReference": "NotificationContent.ButtonStretch.Info" + }, + { + "name": "button-stretch.icon-top.default", + "composeReference": "NotificationContent.ButtonStretch.IconTop.Default" + }, + { + "name": "button-stretch.icon-top.positive", + "composeReference": "NotificationContent.ButtonStretch.IconTop.Positive" + }, + { + "name": "button-stretch.icon-top.negative", + "composeReference": "NotificationContent.ButtonStretch.IconTop.Negative" + }, + { + "name": "button-stretch.icon-top.warning", + "composeReference": "NotificationContent.ButtonStretch.IconTop.Warning" + }, + { + "name": "button-stretch.icon-top.info", + "composeReference": "NotificationContent.ButtonStretch.IconTop.Info" + }, + { + "name": "button-stretch.icon-start.default", + "composeReference": "NotificationContent.ButtonStretch.IconStart.Default" + }, + { + "name": "button-stretch.icon-start.positive", + "composeReference": "NotificationContent.ButtonStretch.IconStart.Positive" + }, + { + "name": "button-stretch.icon-start.negative", + "composeReference": "NotificationContent.ButtonStretch.IconStart.Negative" + }, + { + "name": "button-stretch.icon-start.warning", + "composeReference": "NotificationContent.ButtonStretch.IconStart.Warning" + }, + { + "name": "button-stretch.icon-start.info", + "composeReference": "NotificationContent.ButtonStretch.IconStart.Info" + }, + { + "name": "no-button-stretch.default", + "composeReference": "NotificationContent.NoButtonStretch.Default" + }, + { + "name": "no-button-stretch.positive", + "composeReference": "NotificationContent.NoButtonStretch.Positive" + }, + { + "name": "no-button-stretch.negative", + "composeReference": "NotificationContent.NoButtonStretch.Negative" + }, + { + "name": "no-button-stretch.warning", + "composeReference": "NotificationContent.NoButtonStretch.Warning" + }, + { + "name": "no-button-stretch.info", + "composeReference": "NotificationContent.NoButtonStretch.Info" + }, + { + "name": "no-button-stretch.icon-top.default", + "composeReference": "NotificationContent.NoButtonStretch.IconTop.Default" + }, + { + "name": "no-button-stretch.icon-top.positive", + "composeReference": "NotificationContent.NoButtonStretch.IconTop.Positive" + }, + { + "name": "no-button-stretch.icon-top.negative", + "composeReference": "NotificationContent.NoButtonStretch.IconTop.Negative" + }, + { + "name": "no-button-stretch.icon-top.warning", + "composeReference": "NotificationContent.NoButtonStretch.IconTop.Warning" + }, + { + "name": "no-button-stretch.icon-top.info", + "composeReference": "NotificationContent.NoButtonStretch.IconTop.Info" + }, + { + "name": "no-button-stretch.icon-start.default", + "composeReference": "NotificationContent.NoButtonStretch.IconStart.Default" + }, + { + "name": "no-button-stretch.icon-start.positive", + "composeReference": "NotificationContent.NoButtonStretch.IconStart.Positive" + }, + { + "name": "no-button-stretch.icon-start.negative", + "composeReference": "NotificationContent.NoButtonStretch.IconStart.Negative" + }, + { + "name": "no-button-stretch.icon-start.warning", + "composeReference": "NotificationContent.NoButtonStretch.IconStart.Warning" + }, + { + "name": "no-button-stretch.icon-start.info", + "composeReference": "NotificationContent.NoButtonStretch.IconStart.Info" + } + ] + }, + { + "key": "list", + "coreName": "List", + "styleName": "ListNormal", + "variations": [ + { + "name": "xl", + "composeReference": "ListNormal.Xl" + }, + { + "name": "l", + "composeReference": "ListNormal.L" + }, + { + "name": "m", + "composeReference": "ListNormal.M" + }, + { + "name": "s", + "composeReference": "ListNormal.S" + }, + { + "name": "xs", + "composeReference": "ListNormal.Xs" + } + ] + }, + { + "key": "list-item", + "coreName": "ListItem", + "styleName": "ListItemNormal", + "variations": [ + { + "name": "xl", + "composeReference": "ListItemNormal.Xl" + }, + { + "name": "l", + "composeReference": "ListItemNormal.L" + }, + { + "name": "m", + "composeReference": "ListItemNormal.M" + }, + { + "name": "s", + "composeReference": "ListItemNormal.S" + }, + { + "name": "xs", + "composeReference": "ListItemNormal.Xs" + } + ] + }, + { + "key": "list", + "coreName": "List", + "styleName": "ListTight", + "variations": [ + { + "name": "xl", + "composeReference": "ListTight.Xl" + }, + { + "name": "l", + "composeReference": "ListTight.L" + }, + { + "name": "m", + "composeReference": "ListTight.M" + }, + { + "name": "s", + "composeReference": "ListTight.S" + }, + { + "name": "xs", + "composeReference": "ListTight.Xs" + } + ] + }, + { + "key": "list-item", + "coreName": "ListItem", + "styleName": "ListItemTight", + "variations": [ + { + "name": "xl", + "composeReference": "ListItemTight.Xl" + }, + { + "name": "l", + "composeReference": "ListItemTight.L" + }, + { + "name": "m", + "composeReference": "ListItemTight.M" + }, + { + "name": "s", + "composeReference": "ListItemTight.S" + }, + { + "name": "xs", + "composeReference": "ListItemTight.Xs" + } + ] + }, + { + "key": "spinner", + "coreName": "Spinner", + "styleName": "Spinner", + "variations": [ + { + "name": "xxl.default", + "composeReference": "Spinner.Xxl.Default" + }, + { + "name": "xxl.secondary", + "composeReference": "Spinner.Xxl.Secondary" + }, + { + "name": "xxl.accent", + "composeReference": "Spinner.Xxl.Accent" + }, + { + "name": "xxl.positive", + "composeReference": "Spinner.Xxl.Positive" + }, + { + "name": "xxl.negative", + "composeReference": "Spinner.Xxl.Negative" + }, + { + "name": "xxl.warning", + "composeReference": "Spinner.Xxl.Warning" + }, + { + "name": "xxl.info", + "composeReference": "Spinner.Xxl.Info" + }, + { + "name": "xl.default", + "composeReference": "Spinner.Xl.Default" + }, + { + "name": "xl.secondary", + "composeReference": "Spinner.Xl.Secondary" + }, + { + "name": "xl.accent", + "composeReference": "Spinner.Xl.Accent" + }, + { + "name": "xl.positive", + "composeReference": "Spinner.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "Spinner.Xl.Negative" + }, + { + "name": "xl.warning", + "composeReference": "Spinner.Xl.Warning" + }, + { + "name": "xl.info", + "composeReference": "Spinner.Xl.Info" + }, + { + "name": "l.default", + "composeReference": "Spinner.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "Spinner.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "Spinner.L.Accent" + }, + { + "name": "l.positive", + "composeReference": "Spinner.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "Spinner.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "Spinner.L.Warning" + }, + { + "name": "l.info", + "composeReference": "Spinner.L.Info" + }, + { + "name": "m.default", + "composeReference": "Spinner.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "Spinner.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "Spinner.M.Accent" + }, + { + "name": "m.positive", + "composeReference": "Spinner.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "Spinner.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "Spinner.M.Warning" + }, + { + "name": "m.info", + "composeReference": "Spinner.M.Info" + }, + { + "name": "s.default", + "composeReference": "Spinner.S.Default" + }, + { + "name": "s.secondary", + "composeReference": "Spinner.S.Secondary" + }, + { + "name": "s.accent", + "composeReference": "Spinner.S.Accent" + }, + { + "name": "s.positive", + "composeReference": "Spinner.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "Spinner.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "Spinner.S.Warning" + }, + { + "name": "s.info", + "composeReference": "Spinner.S.Info" + }, + { + "name": "xs.default", + "composeReference": "Spinner.Xs.Default" + }, + { + "name": "xs.secondary", + "composeReference": "Spinner.Xs.Secondary" + }, + { + "name": "xs.accent", + "composeReference": "Spinner.Xs.Accent" + }, + { + "name": "xs.positive", + "composeReference": "Spinner.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "Spinner.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "Spinner.Xs.Warning" + }, + { + "name": "xs.info", + "composeReference": "Spinner.Xs.Info" + }, + { + "name": "xxs.default", + "composeReference": "Spinner.Xxs.Default" + }, + { + "name": "xxs.secondary", + "composeReference": "Spinner.Xxs.Secondary" + }, + { + "name": "xxs.accent", + "composeReference": "Spinner.Xxs.Accent" + }, + { + "name": "xxs.positive", + "composeReference": "Spinner.Xxs.Positive" + }, + { + "name": "xxs.negative", + "composeReference": "Spinner.Xxs.Negative" + }, + { + "name": "xxs.warning", + "composeReference": "Spinner.Xxs.Warning" + }, + { + "name": "xxs.info", + "composeReference": "Spinner.Xxs.Info" + }, + { + "name": "scalable.default", + "composeReference": "Spinner.Scalable.Default" + }, + { + "name": "scalable.secondary", + "composeReference": "Spinner.Scalable.Secondary" + }, + { + "name": "scalable.accent", + "composeReference": "Spinner.Scalable.Accent" + }, + { + "name": "scalable.positive", + "composeReference": "Spinner.Scalable.Positive" + }, + { + "name": "scalable.negative", + "composeReference": "Spinner.Scalable.Negative" + }, + { + "name": "scalable.warning", + "composeReference": "Spinner.Scalable.Warning" + }, + { + "name": "scalable.info", + "composeReference": "Spinner.Scalable.Info" + } + ] + }, + { + "key": "text-skeleton", + "coreName": "TextSkeleton", + "styleName": "TextSkeleton", + "variations": [ + { + "name": "default", + "composeReference": "TextSkeleton.Default" + }, + { + "name": "lighter", + "composeReference": "TextSkeleton.Lighter" + } + ] + }, + { + "key": "list", + "coreName": "List", + "styleName": "DropdownMenuListNormal", + "variations": [ + { + "name": "xl", + "composeReference": "DropdownMenuListNormal.Xl" + }, + { + "name": "l", + "composeReference": "DropdownMenuListNormal.L" + }, + { + "name": "m", + "composeReference": "DropdownMenuListNormal.M" + }, + { + "name": "s", + "composeReference": "DropdownMenuListNormal.S" + }, + { + "name": "xs", + "composeReference": "DropdownMenuListNormal.Xs" + } + ] + }, + { + "key": "list-item", + "coreName": "ListItem", + "styleName": "DropdownMenuItemNormal", + "variations": [ + { + "name": "xl.default", + "composeReference": "DropdownMenuItemNormal.Xl.Default" + }, + { + "name": "xl.positive", + "composeReference": "DropdownMenuItemNormal.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "DropdownMenuItemNormal.Xl.Negative" + }, + { + "name": "l.default", + "composeReference": "DropdownMenuItemNormal.L.Default" + }, + { + "name": "l.positive", + "composeReference": "DropdownMenuItemNormal.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "DropdownMenuItemNormal.L.Negative" + }, + { + "name": "m.default", + "composeReference": "DropdownMenuItemNormal.M.Default" + }, + { + "name": "m.positive", + "composeReference": "DropdownMenuItemNormal.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "DropdownMenuItemNormal.M.Negative" + }, + { + "name": "s.default", + "composeReference": "DropdownMenuItemNormal.S.Default" + }, + { + "name": "s.positive", + "composeReference": "DropdownMenuItemNormal.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "DropdownMenuItemNormal.S.Negative" + }, + { + "name": "xs.default", + "composeReference": "DropdownMenuItemNormal.Xs.Default" + }, + { + "name": "xs.positive", + "composeReference": "DropdownMenuItemNormal.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "DropdownMenuItemNormal.Xs.Negative" + } + ] + }, + { + "key": "list", + "coreName": "List", + "styleName": "DropdownMenuListTight", + "variations": [ + { + "name": "xl", + "composeReference": "DropdownMenuListTight.Xl" + }, + { + "name": "l", + "composeReference": "DropdownMenuListTight.L" + }, + { + "name": "m", + "composeReference": "DropdownMenuListTight.M" + }, + { + "name": "s", + "composeReference": "DropdownMenuListTight.S" + }, + { + "name": "xs", + "composeReference": "DropdownMenuListTight.Xs" + } + ] + }, + { + "key": "list-item", + "coreName": "ListItem", + "styleName": "DropdownMenuItemTight", + "variations": [ + { + "name": "xl.default", + "composeReference": "DropdownMenuItemTight.Xl.Default" + }, + { + "name": "xl.positive", + "composeReference": "DropdownMenuItemTight.Xl.Positive" + }, + { + "name": "xl.negative", + "composeReference": "DropdownMenuItemTight.Xl.Negative" + }, + { + "name": "l.default", + "composeReference": "DropdownMenuItemTight.L.Default" + }, + { + "name": "l.positive", + "composeReference": "DropdownMenuItemTight.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "DropdownMenuItemTight.L.Negative" + }, + { + "name": "m.default", + "composeReference": "DropdownMenuItemTight.M.Default" + }, + { + "name": "m.positive", + "composeReference": "DropdownMenuItemTight.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "DropdownMenuItemTight.M.Negative" + }, + { + "name": "s.default", + "composeReference": "DropdownMenuItemTight.S.Default" + }, + { + "name": "s.positive", + "composeReference": "DropdownMenuItemTight.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "DropdownMenuItemTight.S.Negative" + }, + { + "name": "xs.default", + "composeReference": "DropdownMenuItemTight.Xs.Default" + }, + { + "name": "xs.positive", + "composeReference": "DropdownMenuItemTight.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "DropdownMenuItemTight.Xs.Negative" + } + ] + }, + { + "key": "dropdown-menu", + "coreName": "DropdownMenu", + "styleName": "DropdownMenuTight", + "variations": [ + { + "name": "xl", + "composeReference": "DropdownMenuTight.Xl" + }, + { + "name": "l", + "composeReference": "DropdownMenuTight.L" + }, + { + "name": "m", + "composeReference": "DropdownMenuTight.M" + }, + { + "name": "s", + "composeReference": "DropdownMenuTight.S" + }, + { + "name": "xs", + "composeReference": "DropdownMenuTight.Xs" + } + ] + }, + { + "key": "dropdown-menu", + "coreName": "DropdownMenu", + "styleName": "DropdownMenuNormal", + "variations": [ + { + "name": "xl", + "composeReference": "DropdownMenuNormal.Xl" + }, + { + "name": "l", + "composeReference": "DropdownMenuNormal.L" + }, + { + "name": "m", + "composeReference": "DropdownMenuNormal.M" + }, + { + "name": "s", + "composeReference": "DropdownMenuNormal.S" + }, + { + "name": "xs", + "composeReference": "DropdownMenuNormal.Xs" + } + ] + }, + { + "key": "accordion-item", + "coreName": "AccordionItem", + "styleName": "AccordionItemSolidActionStart", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionItemSolidActionStart.Xs" + }, + { + "name": "s", + "composeReference": "AccordionItemSolidActionStart.S" + }, + { + "name": "m", + "composeReference": "AccordionItemSolidActionStart.M" + }, + { + "name": "l", + "composeReference": "AccordionItemSolidActionStart.L" + }, + { + "name": "h2", + "composeReference": "AccordionItemSolidActionStart.H2" + }, + { + "name": "h3", + "composeReference": "AccordionItemSolidActionStart.H3" + }, + { + "name": "h4", + "composeReference": "AccordionItemSolidActionStart.H4" + }, + { + "name": "h5", + "composeReference": "AccordionItemSolidActionStart.H5" + } + ] + }, + { + "key": "accordion-item", + "coreName": "AccordionItem", + "styleName": "AccordionItemSolidActionEnd", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionItemSolidActionEnd.Xs" + }, + { + "name": "s", + "composeReference": "AccordionItemSolidActionEnd.S" + }, + { + "name": "m", + "composeReference": "AccordionItemSolidActionEnd.M" + }, + { + "name": "l", + "composeReference": "AccordionItemSolidActionEnd.L" + }, + { + "name": "h2", + "composeReference": "AccordionItemSolidActionEnd.H2" + }, + { + "name": "h3", + "composeReference": "AccordionItemSolidActionEnd.H3" + }, + { + "name": "h4", + "composeReference": "AccordionItemSolidActionEnd.H4" + }, + { + "name": "h5", + "composeReference": "AccordionItemSolidActionEnd.H5" + } + ] + }, + { + "key": "accordion-item", + "coreName": "AccordionItem", + "styleName": "AccordionItemClearActionStart", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionItemClearActionStart.Xs" + }, + { + "name": "s", + "composeReference": "AccordionItemClearActionStart.S" + }, + { + "name": "m", + "composeReference": "AccordionItemClearActionStart.M" + }, + { + "name": "l", + "composeReference": "AccordionItemClearActionStart.L" + }, + { + "name": "h2", + "composeReference": "AccordionItemClearActionStart.H2" + }, + { + "name": "h3", + "composeReference": "AccordionItemClearActionStart.H3" + }, + { + "name": "h4", + "composeReference": "AccordionItemClearActionStart.H4" + }, + { + "name": "h5", + "composeReference": "AccordionItemClearActionStart.H5" + } + ] + }, + { + "key": "accordion-item", + "coreName": "AccordionItem", + "styleName": "AccordionItemClearActionEnd", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionItemClearActionEnd.Xs" + }, + { + "name": "s", + "composeReference": "AccordionItemClearActionEnd.S" + }, + { + "name": "m", + "composeReference": "AccordionItemClearActionEnd.M" + }, + { + "name": "l", + "composeReference": "AccordionItemClearActionEnd.L" + }, + { + "name": "h2", + "composeReference": "AccordionItemClearActionEnd.H2" + }, + { + "name": "h3", + "composeReference": "AccordionItemClearActionEnd.H3" + }, + { + "name": "h4", + "composeReference": "AccordionItemClearActionEnd.H4" + }, + { + "name": "h5", + "composeReference": "AccordionItemClearActionEnd.H5" + } + ] + }, + { + "key": "accordion", + "coreName": "Accordion", + "styleName": "AccordionSolidActionStart", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionSolidActionStart.Xs" + }, + { + "name": "s", + "composeReference": "AccordionSolidActionStart.S" + }, + { + "name": "m", + "composeReference": "AccordionSolidActionStart.M" + }, + { + "name": "l", + "composeReference": "AccordionSolidActionStart.L" + }, + { + "name": "h2", + "composeReference": "AccordionSolidActionStart.H2" + }, + { + "name": "h3", + "composeReference": "AccordionSolidActionStart.H3" + }, + { + "name": "h4", + "composeReference": "AccordionSolidActionStart.H4" + }, + { + "name": "h5", + "composeReference": "AccordionSolidActionStart.H5" + } + ] + }, + { + "key": "accordion", + "coreName": "Accordion", + "styleName": "AccordionSolidActionEnd", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionSolidActionEnd.Xs" + }, + { + "name": "s", + "composeReference": "AccordionSolidActionEnd.S" + }, + { + "name": "m", + "composeReference": "AccordionSolidActionEnd.M" + }, + { + "name": "l", + "composeReference": "AccordionSolidActionEnd.L" + }, + { + "name": "h2", + "composeReference": "AccordionSolidActionEnd.H2" + }, + { + "name": "h3", + "composeReference": "AccordionSolidActionEnd.H3" + }, + { + "name": "h4", + "composeReference": "AccordionSolidActionEnd.H4" + }, + { + "name": "h5", + "composeReference": "AccordionSolidActionEnd.H5" + } + ] + }, + { + "key": "accordion", + "coreName": "Accordion", + "styleName": "AccordionClearActionStart", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionClearActionStart.Xs" + }, + { + "name": "s", + "composeReference": "AccordionClearActionStart.S" + }, + { + "name": "m", + "composeReference": "AccordionClearActionStart.M" + }, + { + "name": "l", + "composeReference": "AccordionClearActionStart.L" + }, + { + "name": "h2", + "composeReference": "AccordionClearActionStart.H2" + }, + { + "name": "h3", + "composeReference": "AccordionClearActionStart.H3" + }, + { + "name": "h4", + "composeReference": "AccordionClearActionStart.H4" + }, + { + "name": "h5", + "composeReference": "AccordionClearActionStart.H5" + } + ] + }, + { + "key": "accordion", + "coreName": "Accordion", + "styleName": "AccordionClearActionEnd", + "variations": [ + { + "name": "xs", + "composeReference": "AccordionClearActionEnd.Xs" + }, + { + "name": "s", + "composeReference": "AccordionClearActionEnd.S" + }, + { + "name": "m", + "composeReference": "AccordionClearActionEnd.M" + }, + { + "name": "l", + "composeReference": "AccordionClearActionEnd.L" + }, + { + "name": "h2", + "composeReference": "AccordionClearActionEnd.H2" + }, + { + "name": "h3", + "composeReference": "AccordionClearActionEnd.H3" + }, + { + "name": "h4", + "composeReference": "AccordionClearActionEnd.H4" + }, + { + "name": "h5", + "composeReference": "AccordionClearActionEnd.H5" + } + ] + }, + { + "key": "scroll-bar", + "coreName": "ScrollBar", + "styleName": "ScrollBar", + "variations": [ + { + "name": "s", + "composeReference": "ScrollBar.S" + }, + { + "name": "m", + "composeReference": "ScrollBar.M" + } + ] + }, + { + "key": "slider", + "coreName": "Slider", + "styleName": "SliderHorizontalLabelInner", + "variations": [ + { + "name": "l.default", + "composeReference": "SliderHorizontalLabelInner.L.Default" + }, + { + "name": "l.accent", + "composeReference": "SliderHorizontalLabelInner.L.Accent" + }, + { + "name": "l.gradient", + "composeReference": "SliderHorizontalLabelInner.L.Gradient" + }, + { + "name": "l.limit-label-center.default", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.Default" + }, + { + "name": "l.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.Accent" + }, + { + "name": "l.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.Gradient" + }, + { + "name": "l.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "l.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "l.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.L.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "l.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.L.ThumbS.Default" + }, + { + "name": "l.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.L.ThumbS.Accent" + }, + { + "name": "l.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.L.ThumbS.Gradient" + }, + { + "name": "m.default", + "composeReference": "SliderHorizontalLabelInner.M.Default" + }, + { + "name": "m.accent", + "composeReference": "SliderHorizontalLabelInner.M.Accent" + }, + { + "name": "m.gradient", + "composeReference": "SliderHorizontalLabelInner.M.Gradient" + }, + { + "name": "m.limit-label-center.default", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.Default" + }, + { + "name": "m.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.Accent" + }, + { + "name": "m.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.Gradient" + }, + { + "name": "m.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "m.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "m.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.M.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "m.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.M.ThumbS.Default" + }, + { + "name": "m.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.M.ThumbS.Accent" + }, + { + "name": "m.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.M.ThumbS.Gradient" + }, + { + "name": "s.default", + "composeReference": "SliderHorizontalLabelInner.S.Default" + }, + { + "name": "s.accent", + "composeReference": "SliderHorizontalLabelInner.S.Accent" + }, + { + "name": "s.gradient", + "composeReference": "SliderHorizontalLabelInner.S.Gradient" + }, + { + "name": "s.limit-label-center.default", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.Default" + }, + { + "name": "s.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.Accent" + }, + { + "name": "s.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.Gradient" + }, + { + "name": "s.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "s.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "s.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.S.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "s.thumb-s.default", + "composeReference": "SliderHorizontalLabelInner.S.ThumbS.Default" + }, + { + "name": "s.thumb-s.accent", + "composeReference": "SliderHorizontalLabelInner.S.ThumbS.Accent" + }, + { + "name": "s.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelInner.S.ThumbS.Gradient" + } + ] + }, + { + "key": "slider", + "coreName": "Slider", + "styleName": "SliderHorizontalLabelOuter", + "variations": [ + { + "name": "l.default", + "composeReference": "SliderHorizontalLabelOuter.L.Default" + }, + { + "name": "l.accent", + "composeReference": "SliderHorizontalLabelOuter.L.Accent" + }, + { + "name": "l.gradient", + "composeReference": "SliderHorizontalLabelOuter.L.Gradient" + }, + { + "name": "l.limit-label-center.default", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.Default" + }, + { + "name": "l.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.Accent" + }, + { + "name": "l.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.Gradient" + }, + { + "name": "l.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "l.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "l.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.L.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "l.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.L.ThumbS.Default" + }, + { + "name": "l.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.L.ThumbS.Accent" + }, + { + "name": "l.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.L.ThumbS.Gradient" + }, + { + "name": "m.default", + "composeReference": "SliderHorizontalLabelOuter.M.Default" + }, + { + "name": "m.accent", + "composeReference": "SliderHorizontalLabelOuter.M.Accent" + }, + { + "name": "m.gradient", + "composeReference": "SliderHorizontalLabelOuter.M.Gradient" + }, + { + "name": "m.limit-label-center.default", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.Default" + }, + { + "name": "m.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.Accent" + }, + { + "name": "m.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.Gradient" + }, + { + "name": "m.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "m.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "m.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.M.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "m.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.M.ThumbS.Default" + }, + { + "name": "m.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.M.ThumbS.Accent" + }, + { + "name": "m.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.M.ThumbS.Gradient" + }, + { + "name": "s.default", + "composeReference": "SliderHorizontalLabelOuter.S.Default" + }, + { + "name": "s.accent", + "composeReference": "SliderHorizontalLabelOuter.S.Accent" + }, + { + "name": "s.gradient", + "composeReference": "SliderHorizontalLabelOuter.S.Gradient" + }, + { + "name": "s.limit-label-center.default", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.Default" + }, + { + "name": "s.limit-label-center.accent", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.Accent" + }, + { + "name": "s.limit-label-center.gradient", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.Gradient" + }, + { + "name": "s.limit-label-center.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.ThumbS.Default" + }, + { + "name": "s.limit-label-center.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.ThumbS.Accent" + }, + { + "name": "s.limit-label-center.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.S.LimitLabelCenter.ThumbS.Gradient" + }, + { + "name": "s.thumb-s.default", + "composeReference": "SliderHorizontalLabelOuter.S.ThumbS.Default" + }, + { + "name": "s.thumb-s.accent", + "composeReference": "SliderHorizontalLabelOuter.S.ThumbS.Accent" + }, + { + "name": "s.thumb-s.gradient", + "composeReference": "SliderHorizontalLabelOuter.S.ThumbS.Gradient" + } + ] + }, + { + "key": "slider", + "coreName": "Slider", + "styleName": "SliderVerticalLabelInner", + "variations": [ + { + "name": "l.default", + "composeReference": "SliderVerticalLabelInner.L.Default" + }, + { + "name": "l.accent", + "composeReference": "SliderVerticalLabelInner.L.Accent" + }, + { + "name": "l.gradient", + "composeReference": "SliderVerticalLabelInner.L.Gradient" + }, + { + "name": "l.label-end.default", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.Default" + }, + { + "name": "l.label-end.accent", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.Accent" + }, + { + "name": "l.label-end.gradient", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.Gradient" + }, + { + "name": "l.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.ThumbS.Default" + }, + { + "name": "l.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.ThumbS.Accent" + }, + { + "name": "l.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.L.LabelEnd.ThumbS.Gradient" + }, + { + "name": "l.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.L.ThumbS.Default" + }, + { + "name": "l.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.L.ThumbS.Accent" + }, + { + "name": "l.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.L.ThumbS.Gradient" + }, + { + "name": "m.default", + "composeReference": "SliderVerticalLabelInner.M.Default" + }, + { + "name": "m.accent", + "composeReference": "SliderVerticalLabelInner.M.Accent" + }, + { + "name": "m.gradient", + "composeReference": "SliderVerticalLabelInner.M.Gradient" + }, + { + "name": "m.label-end.default", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.Default" + }, + { + "name": "m.label-end.accent", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.Accent" + }, + { + "name": "m.label-end.gradient", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.Gradient" + }, + { + "name": "m.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.ThumbS.Default" + }, + { + "name": "m.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.ThumbS.Accent" + }, + { + "name": "m.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.M.LabelEnd.ThumbS.Gradient" + }, + { + "name": "m.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.M.ThumbS.Default" + }, + { + "name": "m.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.M.ThumbS.Accent" + }, + { + "name": "m.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.M.ThumbS.Gradient" + }, + { + "name": "s.default", + "composeReference": "SliderVerticalLabelInner.S.Default" + }, + { + "name": "s.accent", + "composeReference": "SliderVerticalLabelInner.S.Accent" + }, + { + "name": "s.gradient", + "composeReference": "SliderVerticalLabelInner.S.Gradient" + }, + { + "name": "s.label-end.default", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.Default" + }, + { + "name": "s.label-end.accent", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.Accent" + }, + { + "name": "s.label-end.gradient", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.Gradient" + }, + { + "name": "s.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.ThumbS.Default" + }, + { + "name": "s.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.ThumbS.Accent" + }, + { + "name": "s.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.S.LabelEnd.ThumbS.Gradient" + }, + { + "name": "s.thumb-s.default", + "composeReference": "SliderVerticalLabelInner.S.ThumbS.Default" + }, + { + "name": "s.thumb-s.accent", + "composeReference": "SliderVerticalLabelInner.S.ThumbS.Accent" + }, + { + "name": "s.thumb-s.gradient", + "composeReference": "SliderVerticalLabelInner.S.ThumbS.Gradient" + } + ] + }, + { + "key": "slider", + "coreName": "Slider", + "styleName": "SliderVerticalLabelOuter", + "variations": [ + { + "name": "l.default", + "composeReference": "SliderVerticalLabelOuter.L.Default" + }, + { + "name": "l.accent", + "composeReference": "SliderVerticalLabelOuter.L.Accent" + }, + { + "name": "l.gradient", + "composeReference": "SliderVerticalLabelOuter.L.Gradient" + }, + { + "name": "l.alignment-end.default", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.Default" + }, + { + "name": "l.alignment-end.accent", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.Accent" + }, + { + "name": "l.alignment-end.gradient", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.Gradient" + }, + { + "name": "l.alignment-end.label-end.default", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.Default" + }, + { + "name": "l.alignment-end.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.Accent" + }, + { + "name": "l.alignment-end.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.Gradient" + }, + { + "name": "l.alignment-end.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.ThumbS.Default" + }, + { + "name": "l.alignment-end.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.ThumbS.Accent" + }, + { + "name": "l.alignment-end.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.LabelEnd.ThumbS.Gradient" + }, + { + "name": "l.alignment-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.ThumbS.Default" + }, + { + "name": "l.alignment-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.ThumbS.Accent" + }, + { + "name": "l.alignment-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.L.AlignmentEnd.ThumbS.Gradient" + }, + { + "name": "l.label-end.default", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.Default" + }, + { + "name": "l.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.Accent" + }, + { + "name": "l.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.Gradient" + }, + { + "name": "l.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.ThumbS.Default" + }, + { + "name": "l.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.ThumbS.Accent" + }, + { + "name": "l.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.L.LabelEnd.ThumbS.Gradient" + }, + { + "name": "l.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.L.ThumbS.Default" + }, + { + "name": "l.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.L.ThumbS.Accent" + }, + { + "name": "l.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.L.ThumbS.Gradient" + }, + { + "name": "m.default", + "composeReference": "SliderVerticalLabelOuter.M.Default" + }, + { + "name": "m.accent", + "composeReference": "SliderVerticalLabelOuter.M.Accent" + }, + { + "name": "m.gradient", + "composeReference": "SliderVerticalLabelOuter.M.Gradient" + }, + { + "name": "m.alignment-end.default", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.Default" + }, + { + "name": "m.alignment-end.accent", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.Accent" + }, + { + "name": "m.alignment-end.gradient", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.Gradient" + }, + { + "name": "m.alignment-end.label-end.default", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.Default" + }, + { + "name": "m.alignment-end.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.Accent" + }, + { + "name": "m.alignment-end.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.Gradient" + }, + { + "name": "m.alignment-end.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.ThumbS.Default" + }, + { + "name": "m.alignment-end.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.ThumbS.Accent" + }, + { + "name": "m.alignment-end.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.LabelEnd.ThumbS.Gradient" + }, + { + "name": "m.alignment-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.ThumbS.Default" + }, + { + "name": "m.alignment-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.ThumbS.Accent" + }, + { + "name": "m.alignment-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.M.AlignmentEnd.ThumbS.Gradient" + }, + { + "name": "m.label-end.default", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.Default" + }, + { + "name": "m.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.Accent" + }, + { + "name": "m.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.Gradient" + }, + { + "name": "m.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.ThumbS.Default" + }, + { + "name": "m.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.ThumbS.Accent" + }, + { + "name": "m.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.M.LabelEnd.ThumbS.Gradient" + }, + { + "name": "m.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.M.ThumbS.Default" + }, + { + "name": "m.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.M.ThumbS.Accent" + }, + { + "name": "m.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.M.ThumbS.Gradient" + }, + { + "name": "s.default", + "composeReference": "SliderVerticalLabelOuter.S.Default" + }, + { + "name": "s.accent", + "composeReference": "SliderVerticalLabelOuter.S.Accent" + }, + { + "name": "s.gradient", + "composeReference": "SliderVerticalLabelOuter.S.Gradient" + }, + { + "name": "s.alignment-end.default", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.Default" + }, + { + "name": "s.alignment-end.accent", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.Accent" + }, + { + "name": "s.alignment-end.gradient", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.Gradient" + }, + { + "name": "s.alignment-end.label-end.default", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.Default" + }, + { + "name": "s.alignment-end.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.Accent" + }, + { + "name": "s.alignment-end.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.Gradient" + }, + { + "name": "s.alignment-end.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.ThumbS.Default" + }, + { + "name": "s.alignment-end.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.ThumbS.Accent" + }, + { + "name": "s.alignment-end.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.LabelEnd.ThumbS.Gradient" + }, + { + "name": "s.alignment-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.ThumbS.Default" + }, + { + "name": "s.alignment-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.ThumbS.Accent" + }, + { + "name": "s.alignment-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.S.AlignmentEnd.ThumbS.Gradient" + }, + { + "name": "s.label-end.default", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.Default" + }, + { + "name": "s.label-end.accent", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.Accent" + }, + { + "name": "s.label-end.gradient", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.Gradient" + }, + { + "name": "s.label-end.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.ThumbS.Default" + }, + { + "name": "s.label-end.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.ThumbS.Accent" + }, + { + "name": "s.label-end.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.S.LabelEnd.ThumbS.Gradient" + }, + { + "name": "s.thumb-s.default", + "composeReference": "SliderVerticalLabelOuter.S.ThumbS.Default" + }, + { + "name": "s.thumb-s.accent", + "composeReference": "SliderVerticalLabelOuter.S.ThumbS.Accent" + }, + { + "name": "s.thumb-s.gradient", + "composeReference": "SliderVerticalLabelOuter.S.ThumbS.Gradient" + } + ] + }, + { + "key": "image", + "coreName": "Image", + "styleName": "Image", + "variations": [ + { + "name": "ratio_1_2", + "composeReference": "Image.Ratio1x2" + }, + { + "name": "ratio_9_16", + "composeReference": "Image.Ratio9x16" + }, + { + "name": "ratio_3_4", + "composeReference": "Image.Ratio3x4" + }, + { + "name": "ratio_2_1", + "composeReference": "Image.Ratio2x1" + }, + { + "name": "ratio_16_9", + "composeReference": "Image.Ratio16x9" + }, + { + "name": "ratio_4_3", + "composeReference": "Image.Ratio4x3" + }, + { + "name": "ratio_1_1", + "composeReference": "Image.Ratio1x1" + } + ] + }, + { + "key": "button-group", + "coreName": "ButtonGroup", + "styleName": "BasicButtonGroup", + "variations": [ + { + "name": "xxs", + "composeReference": "BasicButtonGroup.Xxs" + }, + { + "name": "xxs.wide", + "composeReference": "BasicButtonGroup.Xxs.Wide" + }, + { + "name": "xxs.wide.default", + "composeReference": "BasicButtonGroup.Xxs.Wide.Default" + }, + { + "name": "xxs.wide.segmented", + "composeReference": "BasicButtonGroup.Xxs.Wide.Segmented" + }, + { + "name": "xxs.dense", + "composeReference": "BasicButtonGroup.Xxs.Dense" + }, + { + "name": "xxs.dense.default", + "composeReference": "BasicButtonGroup.Xxs.Dense.Default" + }, + { + "name": "xxs.dense.segmented", + "composeReference": "BasicButtonGroup.Xxs.Dense.Segmented" + }, + { + "name": "xxs.no-gap", + "composeReference": "BasicButtonGroup.Xxs.NoGap" + }, + { + "name": "xxs.no-gap.default", + "composeReference": "BasicButtonGroup.Xxs.NoGap.Default" + }, + { + "name": "xxs.no-gap.segmented", + "composeReference": "BasicButtonGroup.Xxs.NoGap.Segmented" + }, + { + "name": "xs", + "composeReference": "BasicButtonGroup.Xs" + }, + { + "name": "xs.wide", + "composeReference": "BasicButtonGroup.Xs.Wide" + }, + { + "name": "xs.wide.default", + "composeReference": "BasicButtonGroup.Xs.Wide.Default" + }, + { + "name": "xs.wide.segmented", + "composeReference": "BasicButtonGroup.Xs.Wide.Segmented" + }, + { + "name": "xs.dense", + "composeReference": "BasicButtonGroup.Xs.Dense" + }, + { + "name": "xs.dense.default", + "composeReference": "BasicButtonGroup.Xs.Dense.Default" + }, + { + "name": "xs.dense.segmented", + "composeReference": "BasicButtonGroup.Xs.Dense.Segmented" + }, + { + "name": "xs.no-gap", + "composeReference": "BasicButtonGroup.Xs.NoGap" + }, + { + "name": "xs.no-gap.default", + "composeReference": "BasicButtonGroup.Xs.NoGap.Default" + }, + { + "name": "xs.no-gap.segmented", + "composeReference": "BasicButtonGroup.Xs.NoGap.Segmented" + }, + { + "name": "s", + "composeReference": "BasicButtonGroup.S" + }, + { + "name": "s.wide", + "composeReference": "BasicButtonGroup.S.Wide" + }, + { + "name": "s.wide.default", + "composeReference": "BasicButtonGroup.S.Wide.Default" + }, + { + "name": "s.wide.segmented", + "composeReference": "BasicButtonGroup.S.Wide.Segmented" + }, + { + "name": "s.dense", + "composeReference": "BasicButtonGroup.S.Dense" + }, + { + "name": "s.dense.default", + "composeReference": "BasicButtonGroup.S.Dense.Default" + }, + { + "name": "s.dense.segmented", + "composeReference": "BasicButtonGroup.S.Dense.Segmented" + }, + { + "name": "s.no-gap", + "composeReference": "BasicButtonGroup.S.NoGap" + }, + { + "name": "s.no-gap.default", + "composeReference": "BasicButtonGroup.S.NoGap.Default" + }, + { + "name": "s.no-gap.segmented", + "composeReference": "BasicButtonGroup.S.NoGap.Segmented" + }, + { + "name": "m", + "composeReference": "BasicButtonGroup.M" + }, + { + "name": "m.wide", + "composeReference": "BasicButtonGroup.M.Wide" + }, + { + "name": "m.wide.default", + "composeReference": "BasicButtonGroup.M.Wide.Default" + }, + { + "name": "m.wide.segmented", + "composeReference": "BasicButtonGroup.M.Wide.Segmented" + }, + { + "name": "m.dense", + "composeReference": "BasicButtonGroup.M.Dense" + }, + { + "name": "m.dense.default", + "composeReference": "BasicButtonGroup.M.Dense.Default" + }, + { + "name": "m.dense.segmented", + "composeReference": "BasicButtonGroup.M.Dense.Segmented" + }, + { + "name": "m.no-gap", + "composeReference": "BasicButtonGroup.M.NoGap" + }, + { + "name": "m.no-gap.default", + "composeReference": "BasicButtonGroup.M.NoGap.Default" + }, + { + "name": "m.no-gap.segmented", + "composeReference": "BasicButtonGroup.M.NoGap.Segmented" + }, + { + "name": "l", + "composeReference": "BasicButtonGroup.L" + }, + { + "name": "l.wide", + "composeReference": "BasicButtonGroup.L.Wide" + }, + { + "name": "l.wide.default", + "composeReference": "BasicButtonGroup.L.Wide.Default" + }, + { + "name": "l.wide.segmented", + "composeReference": "BasicButtonGroup.L.Wide.Segmented" + }, + { + "name": "l.dense", + "composeReference": "BasicButtonGroup.L.Dense" + }, + { + "name": "l.dense.default", + "composeReference": "BasicButtonGroup.L.Dense.Default" + }, + { + "name": "l.dense.segmented", + "composeReference": "BasicButtonGroup.L.Dense.Segmented" + }, + { + "name": "l.no-gap", + "composeReference": "BasicButtonGroup.L.NoGap" + }, + { + "name": "l.no-gap.default", + "composeReference": "BasicButtonGroup.L.NoGap.Default" + }, + { + "name": "l.no-gap.segmented", + "composeReference": "BasicButtonGroup.L.NoGap.Segmented" + } + ] + }, + { + "key": "button-group", + "coreName": "ButtonGroup", + "styleName": "IconButtonGroup", + "variations": [ + { + "name": "xs", + "composeReference": "IconButtonGroup.Xs" + }, + { + "name": "xs.wide", + "composeReference": "IconButtonGroup.Xs.Wide" + }, + { + "name": "xs.wide.default", + "composeReference": "IconButtonGroup.Xs.Wide.Default" + }, + { + "name": "xs.wide.pilled", + "composeReference": "IconButtonGroup.Xs.Wide.Pilled" + }, + { + "name": "xs.wide.segmented", + "composeReference": "IconButtonGroup.Xs.Wide.Segmented" + }, + { + "name": "xs.dense", + "composeReference": "IconButtonGroup.Xs.Dense" + }, + { + "name": "xs.dense.default", + "composeReference": "IconButtonGroup.Xs.Dense.Default" + }, + { + "name": "xs.dense.pilled", + "composeReference": "IconButtonGroup.Xs.Dense.Pilled" + }, + { + "name": "xs.dense.segmented", + "composeReference": "IconButtonGroup.Xs.Dense.Segmented" + }, + { + "name": "xs.no-gap", + "composeReference": "IconButtonGroup.Xs.NoGap" + }, + { + "name": "xs.no-gap.default", + "composeReference": "IconButtonGroup.Xs.NoGap.Default" + }, + { + "name": "xs.no-gap.pilled", + "composeReference": "IconButtonGroup.Xs.NoGap.Pilled" + }, + { + "name": "xs.no-gap.segmented", + "composeReference": "IconButtonGroup.Xs.NoGap.Segmented" + }, + { + "name": "s", + "composeReference": "IconButtonGroup.S" + }, + { + "name": "s.wide", + "composeReference": "IconButtonGroup.S.Wide" + }, + { + "name": "s.wide.default", + "composeReference": "IconButtonGroup.S.Wide.Default" + }, + { + "name": "s.wide.pilled", + "composeReference": "IconButtonGroup.S.Wide.Pilled" + }, + { + "name": "s.wide.segmented", + "composeReference": "IconButtonGroup.S.Wide.Segmented" + }, + { + "name": "s.dense", + "composeReference": "IconButtonGroup.S.Dense" + }, + { + "name": "s.dense.default", + "composeReference": "IconButtonGroup.S.Dense.Default" + }, + { + "name": "s.dense.pilled", + "composeReference": "IconButtonGroup.S.Dense.Pilled" + }, + { + "name": "s.dense.segmented", + "composeReference": "IconButtonGroup.S.Dense.Segmented" + }, + { + "name": "s.no-gap", + "composeReference": "IconButtonGroup.S.NoGap" + }, + { + "name": "s.no-gap.default", + "composeReference": "IconButtonGroup.S.NoGap.Default" + }, + { + "name": "s.no-gap.pilled", + "composeReference": "IconButtonGroup.S.NoGap.Pilled" + }, + { + "name": "s.no-gap.segmented", + "composeReference": "IconButtonGroup.S.NoGap.Segmented" + }, + { + "name": "m", + "composeReference": "IconButtonGroup.M" + }, + { + "name": "m.wide", + "composeReference": "IconButtonGroup.M.Wide" + }, + { + "name": "m.wide.default", + "composeReference": "IconButtonGroup.M.Wide.Default" + }, + { + "name": "m.wide.pilled", + "composeReference": "IconButtonGroup.M.Wide.Pilled" + }, + { + "name": "m.wide.segmented", + "composeReference": "IconButtonGroup.M.Wide.Segmented" + }, + { + "name": "m.dense", + "composeReference": "IconButtonGroup.M.Dense" + }, + { + "name": "m.dense.default", + "composeReference": "IconButtonGroup.M.Dense.Default" + }, + { + "name": "m.dense.pilled", + "composeReference": "IconButtonGroup.M.Dense.Pilled" + }, + { + "name": "m.dense.segmented", + "composeReference": "IconButtonGroup.M.Dense.Segmented" + }, + { + "name": "m.no-gap", + "composeReference": "IconButtonGroup.M.NoGap" + }, + { + "name": "m.no-gap.default", + "composeReference": "IconButtonGroup.M.NoGap.Default" + }, + { + "name": "m.no-gap.pilled", + "composeReference": "IconButtonGroup.M.NoGap.Pilled" + }, + { + "name": "m.no-gap.segmented", + "composeReference": "IconButtonGroup.M.NoGap.Segmented" + }, + { + "name": "l", + "composeReference": "IconButtonGroup.L" + }, + { + "name": "l.wide", + "composeReference": "IconButtonGroup.L.Wide" + }, + { + "name": "l.wide.default", + "composeReference": "IconButtonGroup.L.Wide.Default" + }, + { + "name": "l.wide.pilled", + "composeReference": "IconButtonGroup.L.Wide.Pilled" + }, + { + "name": "l.wide.segmented", + "composeReference": "IconButtonGroup.L.Wide.Segmented" + }, + { + "name": "l.dense", + "composeReference": "IconButtonGroup.L.Dense" + }, + { + "name": "l.dense.default", + "composeReference": "IconButtonGroup.L.Dense.Default" + }, + { + "name": "l.dense.pilled", + "composeReference": "IconButtonGroup.L.Dense.Pilled" + }, + { + "name": "l.dense.segmented", + "composeReference": "IconButtonGroup.L.Dense.Segmented" + }, + { + "name": "l.no-gap", + "composeReference": "IconButtonGroup.L.NoGap" + }, + { + "name": "l.no-gap.default", + "composeReference": "IconButtonGroup.L.NoGap.Default" + }, + { + "name": "l.no-gap.pilled", + "composeReference": "IconButtonGroup.L.NoGap.Pilled" + }, + { + "name": "l.no-gap.segmented", + "composeReference": "IconButtonGroup.L.NoGap.Segmented" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarHasLabelClear", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarHasLabelClear.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarHasLabelClear.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarHasLabelClear.M.Accent" + }, + { + "name": "m.rounded.default", + "composeReference": "TabBarHasLabelClear.M.Rounded.Default" + }, + { + "name": "m.rounded.secondary", + "composeReference": "TabBarHasLabelClear.M.Rounded.Secondary" + }, + { + "name": "m.rounded.accent", + "composeReference": "TabBarHasLabelClear.M.Rounded.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarHasLabelClear.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarHasLabelClear.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarHasLabelClear.M.Shadow.Accent" + }, + { + "name": "m.shadow.rounded.default", + "composeReference": "TabBarHasLabelClear.M.Shadow.Rounded.Default" + }, + { + "name": "m.shadow.rounded.secondary", + "composeReference": "TabBarHasLabelClear.M.Shadow.Rounded.Secondary" + }, + { + "name": "m.shadow.rounded.accent", + "composeReference": "TabBarHasLabelClear.M.Shadow.Rounded.Accent" + }, + { + "name": "m.divider.default", + "composeReference": "TabBarHasLabelClear.M.Divider.Default" + }, + { + "name": "m.divider.secondary", + "composeReference": "TabBarHasLabelClear.M.Divider.Secondary" + }, + { + "name": "m.divider.accent", + "composeReference": "TabBarHasLabelClear.M.Divider.Accent" + }, + { + "name": "m.divider.rounded.default", + "composeReference": "TabBarHasLabelClear.M.Divider.Rounded.Default" + }, + { + "name": "m.divider.rounded.secondary", + "composeReference": "TabBarHasLabelClear.M.Divider.Rounded.Secondary" + }, + { + "name": "m.divider.rounded.accent", + "composeReference": "TabBarHasLabelClear.M.Divider.Rounded.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarHasLabelClear.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarHasLabelClear.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarHasLabelClear.L.Accent" + }, + { + "name": "l.rounded.default", + "composeReference": "TabBarHasLabelClear.L.Rounded.Default" + }, + { + "name": "l.rounded.secondary", + "composeReference": "TabBarHasLabelClear.L.Rounded.Secondary" + }, + { + "name": "l.rounded.accent", + "composeReference": "TabBarHasLabelClear.L.Rounded.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarHasLabelClear.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarHasLabelClear.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarHasLabelClear.L.Shadow.Accent" + }, + { + "name": "l.shadow.rounded.default", + "composeReference": "TabBarHasLabelClear.L.Shadow.Rounded.Default" + }, + { + "name": "l.shadow.rounded.secondary", + "composeReference": "TabBarHasLabelClear.L.Shadow.Rounded.Secondary" + }, + { + "name": "l.shadow.rounded.accent", + "composeReference": "TabBarHasLabelClear.L.Shadow.Rounded.Accent" + }, + { + "name": "l.divider.default", + "composeReference": "TabBarHasLabelClear.L.Divider.Default" + }, + { + "name": "l.divider.secondary", + "composeReference": "TabBarHasLabelClear.L.Divider.Secondary" + }, + { + "name": "l.divider.accent", + "composeReference": "TabBarHasLabelClear.L.Divider.Accent" + }, + { + "name": "l.divider.rounded.default", + "composeReference": "TabBarHasLabelClear.L.Divider.Rounded.Default" + }, + { + "name": "l.divider.rounded.secondary", + "composeReference": "TabBarHasLabelClear.L.Divider.Rounded.Secondary" + }, + { + "name": "l.divider.rounded.accent", + "composeReference": "TabBarHasLabelClear.L.Divider.Rounded.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarHasLabelSolid", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarHasLabelSolid.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarHasLabelSolid.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarHasLabelSolid.M.Accent" + }, + { + "name": "m.rounded.default", + "composeReference": "TabBarHasLabelSolid.M.Rounded.Default" + }, + { + "name": "m.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.M.Rounded.Secondary" + }, + { + "name": "m.rounded.accent", + "composeReference": "TabBarHasLabelSolid.M.Rounded.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Accent" + }, + { + "name": "m.shadow.rounded.default", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Rounded.Default" + }, + { + "name": "m.shadow.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Rounded.Secondary" + }, + { + "name": "m.shadow.rounded.accent", + "composeReference": "TabBarHasLabelSolid.M.Shadow.Rounded.Accent" + }, + { + "name": "m.divider.default", + "composeReference": "TabBarHasLabelSolid.M.Divider.Default" + }, + { + "name": "m.divider.secondary", + "composeReference": "TabBarHasLabelSolid.M.Divider.Secondary" + }, + { + "name": "m.divider.accent", + "composeReference": "TabBarHasLabelSolid.M.Divider.Accent" + }, + { + "name": "m.divider.rounded.default", + "composeReference": "TabBarHasLabelSolid.M.Divider.Rounded.Default" + }, + { + "name": "m.divider.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.M.Divider.Rounded.Secondary" + }, + { + "name": "m.divider.rounded.accent", + "composeReference": "TabBarHasLabelSolid.M.Divider.Rounded.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarHasLabelSolid.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarHasLabelSolid.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarHasLabelSolid.L.Accent" + }, + { + "name": "l.rounded.default", + "composeReference": "TabBarHasLabelSolid.L.Rounded.Default" + }, + { + "name": "l.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.L.Rounded.Secondary" + }, + { + "name": "l.rounded.accent", + "composeReference": "TabBarHasLabelSolid.L.Rounded.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Accent" + }, + { + "name": "l.shadow.rounded.default", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Rounded.Default" + }, + { + "name": "l.shadow.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Rounded.Secondary" + }, + { + "name": "l.shadow.rounded.accent", + "composeReference": "TabBarHasLabelSolid.L.Shadow.Rounded.Accent" + }, + { + "name": "l.divider.default", + "composeReference": "TabBarHasLabelSolid.L.Divider.Default" + }, + { + "name": "l.divider.secondary", + "composeReference": "TabBarHasLabelSolid.L.Divider.Secondary" + }, + { + "name": "l.divider.accent", + "composeReference": "TabBarHasLabelSolid.L.Divider.Accent" + }, + { + "name": "l.divider.rounded.default", + "composeReference": "TabBarHasLabelSolid.L.Divider.Rounded.Default" + }, + { + "name": "l.divider.rounded.secondary", + "composeReference": "TabBarHasLabelSolid.L.Divider.Rounded.Secondary" + }, + { + "name": "l.divider.rounded.accent", + "composeReference": "TabBarHasLabelSolid.L.Divider.Rounded.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarIslandHasLabelClear", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarIslandHasLabelClear.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarIslandHasLabelClear.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarIslandHasLabelClear.M.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarIslandHasLabelClear.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarIslandHasLabelClear.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarIslandHasLabelClear.M.Shadow.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarIslandHasLabelClear.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarIslandHasLabelClear.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarIslandHasLabelClear.L.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarIslandHasLabelClear.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarIslandHasLabelClear.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarIslandHasLabelClear.L.Shadow.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarIslandHasLabelSolid", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarIslandHasLabelSolid.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarIslandHasLabelSolid.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarIslandHasLabelSolid.M.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarIslandHasLabelSolid.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarIslandHasLabelSolid.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarIslandHasLabelSolid.M.Shadow.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarIslandHasLabelSolid.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarIslandHasLabelSolid.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarIslandHasLabelSolid.L.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarIslandHasLabelSolid.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarIslandHasLabelSolid.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarIslandHasLabelSolid.L.Shadow.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarClear", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarClear.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarClear.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarClear.M.Accent" + }, + { + "name": "m.rounded.default", + "composeReference": "TabBarClear.M.Rounded.Default" + }, + { + "name": "m.rounded.secondary", + "composeReference": "TabBarClear.M.Rounded.Secondary" + }, + { + "name": "m.rounded.accent", + "composeReference": "TabBarClear.M.Rounded.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarClear.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarClear.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarClear.M.Shadow.Accent" + }, + { + "name": "m.shadow.rounded.default", + "composeReference": "TabBarClear.M.Shadow.Rounded.Default" + }, + { + "name": "m.shadow.rounded.secondary", + "composeReference": "TabBarClear.M.Shadow.Rounded.Secondary" + }, + { + "name": "m.shadow.rounded.accent", + "composeReference": "TabBarClear.M.Shadow.Rounded.Accent" + }, + { + "name": "m.divider.default", + "composeReference": "TabBarClear.M.Divider.Default" + }, + { + "name": "m.divider.secondary", + "composeReference": "TabBarClear.M.Divider.Secondary" + }, + { + "name": "m.divider.accent", + "composeReference": "TabBarClear.M.Divider.Accent" + }, + { + "name": "m.divider.rounded.default", + "composeReference": "TabBarClear.M.Divider.Rounded.Default" + }, + { + "name": "m.divider.rounded.secondary", + "composeReference": "TabBarClear.M.Divider.Rounded.Secondary" + }, + { + "name": "m.divider.rounded.accent", + "composeReference": "TabBarClear.M.Divider.Rounded.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarClear.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarClear.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarClear.L.Accent" + }, + { + "name": "l.rounded.default", + "composeReference": "TabBarClear.L.Rounded.Default" + }, + { + "name": "l.rounded.secondary", + "composeReference": "TabBarClear.L.Rounded.Secondary" + }, + { + "name": "l.rounded.accent", + "composeReference": "TabBarClear.L.Rounded.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarClear.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarClear.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarClear.L.Shadow.Accent" + }, + { + "name": "l.shadow.rounded.default", + "composeReference": "TabBarClear.L.Shadow.Rounded.Default" + }, + { + "name": "l.shadow.rounded.secondary", + "composeReference": "TabBarClear.L.Shadow.Rounded.Secondary" + }, + { + "name": "l.shadow.rounded.accent", + "composeReference": "TabBarClear.L.Shadow.Rounded.Accent" + }, + { + "name": "l.divider.default", + "composeReference": "TabBarClear.L.Divider.Default" + }, + { + "name": "l.divider.secondary", + "composeReference": "TabBarClear.L.Divider.Secondary" + }, + { + "name": "l.divider.accent", + "composeReference": "TabBarClear.L.Divider.Accent" + }, + { + "name": "l.divider.rounded.default", + "composeReference": "TabBarClear.L.Divider.Rounded.Default" + }, + { + "name": "l.divider.rounded.secondary", + "composeReference": "TabBarClear.L.Divider.Rounded.Secondary" + }, + { + "name": "l.divider.rounded.accent", + "composeReference": "TabBarClear.L.Divider.Rounded.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarSolid", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarSolid.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarSolid.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarSolid.M.Accent" + }, + { + "name": "m.rounded.default", + "composeReference": "TabBarSolid.M.Rounded.Default" + }, + { + "name": "m.rounded.secondary", + "composeReference": "TabBarSolid.M.Rounded.Secondary" + }, + { + "name": "m.rounded.accent", + "composeReference": "TabBarSolid.M.Rounded.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarSolid.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarSolid.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarSolid.M.Shadow.Accent" + }, + { + "name": "m.shadow.rounded.default", + "composeReference": "TabBarSolid.M.Shadow.Rounded.Default" + }, + { + "name": "m.shadow.rounded.secondary", + "composeReference": "TabBarSolid.M.Shadow.Rounded.Secondary" + }, + { + "name": "m.shadow.rounded.accent", + "composeReference": "TabBarSolid.M.Shadow.Rounded.Accent" + }, + { + "name": "m.divider.default", + "composeReference": "TabBarSolid.M.Divider.Default" + }, + { + "name": "m.divider.secondary", + "composeReference": "TabBarSolid.M.Divider.Secondary" + }, + { + "name": "m.divider.accent", + "composeReference": "TabBarSolid.M.Divider.Accent" + }, + { + "name": "m.divider.rounded.default", + "composeReference": "TabBarSolid.M.Divider.Rounded.Default" + }, + { + "name": "m.divider.rounded.secondary", + "composeReference": "TabBarSolid.M.Divider.Rounded.Secondary" + }, + { + "name": "m.divider.rounded.accent", + "composeReference": "TabBarSolid.M.Divider.Rounded.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarSolid.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarSolid.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarSolid.L.Accent" + }, + { + "name": "l.rounded.default", + "composeReference": "TabBarSolid.L.Rounded.Default" + }, + { + "name": "l.rounded.secondary", + "composeReference": "TabBarSolid.L.Rounded.Secondary" + }, + { + "name": "l.rounded.accent", + "composeReference": "TabBarSolid.L.Rounded.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarSolid.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarSolid.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarSolid.L.Shadow.Accent" + }, + { + "name": "l.shadow.rounded.default", + "composeReference": "TabBarSolid.L.Shadow.Rounded.Default" + }, + { + "name": "l.shadow.rounded.secondary", + "composeReference": "TabBarSolid.L.Shadow.Rounded.Secondary" + }, + { + "name": "l.shadow.rounded.accent", + "composeReference": "TabBarSolid.L.Shadow.Rounded.Accent" + }, + { + "name": "l.divider.default", + "composeReference": "TabBarSolid.L.Divider.Default" + }, + { + "name": "l.divider.secondary", + "composeReference": "TabBarSolid.L.Divider.Secondary" + }, + { + "name": "l.divider.accent", + "composeReference": "TabBarSolid.L.Divider.Accent" + }, + { + "name": "l.divider.rounded.default", + "composeReference": "TabBarSolid.L.Divider.Rounded.Default" + }, + { + "name": "l.divider.rounded.secondary", + "composeReference": "TabBarSolid.L.Divider.Rounded.Secondary" + }, + { + "name": "l.divider.rounded.accent", + "composeReference": "TabBarSolid.L.Divider.Rounded.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarIslandClear", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarIslandClear.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarIslandClear.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarIslandClear.M.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarIslandClear.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarIslandClear.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarIslandClear.M.Shadow.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarIslandClear.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarIslandClear.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarIslandClear.L.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarIslandClear.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarIslandClear.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarIslandClear.L.Shadow.Accent" + } + ] + }, + { + "key": "tab-bar", + "coreName": "TabBar", + "styleName": "TabBarIslandSolid", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarIslandSolid.M.Default" + }, + { + "name": "m.secondary", + "composeReference": "TabBarIslandSolid.M.Secondary" + }, + { + "name": "m.accent", + "composeReference": "TabBarIslandSolid.M.Accent" + }, + { + "name": "m.shadow.default", + "composeReference": "TabBarIslandSolid.M.Shadow.Default" + }, + { + "name": "m.shadow.secondary", + "composeReference": "TabBarIslandSolid.M.Shadow.Secondary" + }, + { + "name": "m.shadow.accent", + "composeReference": "TabBarIslandSolid.M.Shadow.Accent" + }, + { + "name": "l.default", + "composeReference": "TabBarIslandSolid.L.Default" + }, + { + "name": "l.secondary", + "composeReference": "TabBarIslandSolid.L.Secondary" + }, + { + "name": "l.accent", + "composeReference": "TabBarIslandSolid.L.Accent" + }, + { + "name": "l.shadow.default", + "composeReference": "TabBarIslandSolid.L.Shadow.Default" + }, + { + "name": "l.shadow.secondary", + "composeReference": "TabBarIslandSolid.L.Shadow.Secondary" + }, + { + "name": "l.shadow.accent", + "composeReference": "TabBarIslandSolid.L.Shadow.Accent" + } + ] + }, + { + "key": "tab-bar-item", + "coreName": "TabBarItem", + "styleName": "TabBarItemClear", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarItemClear.M.Default" + }, + { + "name": "m.accent", + "composeReference": "TabBarItemClear.M.Accent" + }, + { + "name": "m.secondary", + "composeReference": "TabBarItemClear.M.Secondary" + }, + { + "name": "m.label.default", + "composeReference": "TabBarItemClear.M.Label.Default" + }, + { + "name": "m.label.accent", + "composeReference": "TabBarItemClear.M.Label.Accent" + }, + { + "name": "m.label.secondary", + "composeReference": "TabBarItemClear.M.Label.Secondary" + }, + { + "name": "l.default", + "composeReference": "TabBarItemClear.L.Default" + }, + { + "name": "l.accent", + "composeReference": "TabBarItemClear.L.Accent" + }, + { + "name": "l.secondary", + "composeReference": "TabBarItemClear.L.Secondary" + }, + { + "name": "l.label.default", + "composeReference": "TabBarItemClear.L.Label.Default" + }, + { + "name": "l.label.accent", + "composeReference": "TabBarItemClear.L.Label.Accent" + }, + { + "name": "l.label.secondary", + "composeReference": "TabBarItemClear.L.Label.Secondary" + } + ] + }, + { + "key": "tab-bar-item", + "coreName": "TabBarItem", + "styleName": "TabBarItemSolid", + "variations": [ + { + "name": "m.default", + "composeReference": "TabBarItemSolid.M.Default" + }, + { + "name": "m.accent", + "composeReference": "TabBarItemSolid.M.Accent" + }, + { + "name": "m.secondary", + "composeReference": "TabBarItemSolid.M.Secondary" + }, + { + "name": "m.label.default", + "composeReference": "TabBarItemSolid.M.Label.Default" + }, + { + "name": "m.label.accent", + "composeReference": "TabBarItemSolid.M.Label.Accent" + }, + { + "name": "m.label.secondary", + "composeReference": "TabBarItemSolid.M.Label.Secondary" + }, + { + "name": "l.default", + "composeReference": "TabBarItemSolid.L.Default" + }, + { + "name": "l.accent", + "composeReference": "TabBarItemSolid.L.Accent" + }, + { + "name": "l.secondary", + "composeReference": "TabBarItemSolid.L.Secondary" + }, + { + "name": "l.label.default", + "composeReference": "TabBarItemSolid.L.Label.Default" + }, + { + "name": "l.label.accent", + "composeReference": "TabBarItemSolid.L.Label.Accent" + }, + { + "name": "l.label.secondary", + "composeReference": "TabBarItemSolid.L.Label.Secondary" + } + ] + }, + { + "key": "code-field", + "coreName": "CodeField", + "styleName": "CodeField", + "variations": [ + { + "name": "l", + "composeReference": "CodeField.L" + }, + { + "name": "l.segmented", + "composeReference": "CodeField.L.Segmented" + }, + { + "name": "m", + "composeReference": "CodeField.M" + }, + { + "name": "m.segmented", + "composeReference": "CodeField.M.Segmented" + } + ] + }, + { + "key": "code-input", + "coreName": "CodeInput", + "styleName": "CodeInput", + "variations": [ + { + "name": "s", + "composeReference": "CodeInput.S" + }, + { + "name": "m", + "composeReference": "CodeInput.M" + }, + { + "name": "l", + "composeReference": "CodeInput.L" + } + ] + }, + { + "key": "drawer", + "coreName": "Drawer", + "styleName": "DrawerCloseNone", + "variations": [ + { + "name": "m", + "composeReference": "DrawerCloseNone.M" + }, + { + "name": "m.has-shadow", + "composeReference": "DrawerCloseNone.M.HasShadow" + } + ] + }, + { + "key": "drawer", + "coreName": "Drawer", + "styleName": "DrawerCloseInner", + "variations": [ + { + "name": "m", + "composeReference": "DrawerCloseInner.M" + }, + { + "name": "m.has-shadow", + "composeReference": "DrawerCloseInner.M.HasShadow" + } + ] + }, + { + "key": "drawer", + "coreName": "Drawer", + "styleName": "DrawerCloseOuter", + "variations": [ + { + "name": "m", + "composeReference": "DrawerCloseOuter.M" + }, + { + "name": "m.has-shadow", + "composeReference": "DrawerCloseOuter.M.HasShadow" + } + ] + }, + { + "key": "tabs", + "coreName": "Tabs", + "styleName": "TabsDefault", + "variations": [ + { + "name": "l", + "composeReference": "TabsDefault.L" + }, + { + "name": "l.vertical", + "composeReference": "TabsDefault.L.Vertical" + }, + { + "name": "l.horizontal", + "composeReference": "TabsDefault.L.Horizontal" + }, + { + "name": "m", + "composeReference": "TabsDefault.M" + }, + { + "name": "m.vertical", + "composeReference": "TabsDefault.M.Vertical" + }, + { + "name": "m.horizontal", + "composeReference": "TabsDefault.M.Horizontal" + }, + { + "name": "s", + "composeReference": "TabsDefault.S" + }, + { + "name": "s.vertical", + "composeReference": "TabsDefault.S.Vertical" + }, + { + "name": "s.horizontal", + "composeReference": "TabsDefault.S.Horizontal" + }, + { + "name": "xs", + "composeReference": "TabsDefault.Xs" + }, + { + "name": "xs.vertical", + "composeReference": "TabsDefault.Xs.Vertical" + }, + { + "name": "xs.horizontal", + "composeReference": "TabsDefault.Xs.Horizontal" + } + ] + }, + { + "key": "tabs", + "coreName": "Tabs", + "styleName": "IconTabs", + "variations": [ + { + "name": "l", + "composeReference": "IconTabs.L" + }, + { + "name": "l.vertical", + "composeReference": "IconTabs.L.Vertical" + }, + { + "name": "l.horizontal", + "composeReference": "IconTabs.L.Horizontal" + }, + { + "name": "m", + "composeReference": "IconTabs.M" + }, + { + "name": "m.vertical", + "composeReference": "IconTabs.M.Vertical" + }, + { + "name": "m.horizontal", + "composeReference": "IconTabs.M.Horizontal" + }, + { + "name": "s", + "composeReference": "IconTabs.S" + }, + { + "name": "s.vertical", + "composeReference": "IconTabs.S.Vertical" + }, + { + "name": "s.horizontal", + "composeReference": "IconTabs.S.Horizontal" + }, + { + "name": "xs", + "composeReference": "IconTabs.Xs" + }, + { + "name": "xs.vertical", + "composeReference": "IconTabs.Xs.Vertical" + }, + { + "name": "xs.horizontal", + "composeReference": "IconTabs.Xs.Horizontal" + } + ] + }, + { + "key": "tabs", + "coreName": "Tabs", + "styleName": "TabsHeader", + "variations": [ + { + "name": "h1", + "composeReference": "TabsHeader.H1" + }, + { + "name": "h2", + "composeReference": "TabsHeader.H2" + }, + { + "name": "h3", + "composeReference": "TabsHeader.H3" + }, + { + "name": "h4", + "composeReference": "TabsHeader.H4" + }, + { + "name": "h5", + "composeReference": "TabsHeader.H5" + } + ] + }, + { + "key": "tab-item", + "coreName": "TabItem", + "styleName": "TabItemDefault", + "variations": [ + { + "name": "l", + "composeReference": "TabItemDefault.L" + }, + { + "name": "l.horizontal", + "composeReference": "TabItemDefault.L.Horizontal" + }, + { + "name": "l.vertical", + "composeReference": "TabItemDefault.L.Vertical" + }, + { + "name": "m", + "composeReference": "TabItemDefault.M" + }, + { + "name": "m.horizontal", + "composeReference": "TabItemDefault.M.Horizontal" + }, + { + "name": "m.vertical", + "composeReference": "TabItemDefault.M.Vertical" + }, + { + "name": "s", + "composeReference": "TabItemDefault.S" + }, + { + "name": "s.horizontal", + "composeReference": "TabItemDefault.S.Horizontal" + }, + { + "name": "s.vertical", + "composeReference": "TabItemDefault.S.Vertical" + }, + { + "name": "xs", + "composeReference": "TabItemDefault.Xs" + }, + { + "name": "xs.horizontal", + "composeReference": "TabItemDefault.Xs.Horizontal" + }, + { + "name": "xs.vertical", + "composeReference": "TabItemDefault.Xs.Vertical" + } + ] + }, + { + "key": "icon-tab-item", + "coreName": "IconTabItem", + "styleName": "IconTabItem", + "variations": [ + { + "name": "l", + "composeReference": "IconTabItem.L" + }, + { + "name": "m", + "composeReference": "IconTabItem.M" + }, + { + "name": "s", + "composeReference": "IconTabItem.S" + }, + { + "name": "xs", + "composeReference": "IconTabItem.Xs" + } + ] + }, + { + "key": "tab-item", + "coreName": "TabItem", + "styleName": "TabItemHeader", + "variations": [ + { + "name": "h1", + "composeReference": "TabItemHeader.H1" + }, + { + "name": "h2", + "composeReference": "TabItemHeader.H2" + }, + { + "name": "h3", + "composeReference": "TabItemHeader.H3" + }, + { + "name": "h4", + "composeReference": "TabItemHeader.H4" + }, + { + "name": "h5", + "composeReference": "TabItemHeader.H5" + } + ] + }, + { + "key": "navigation-bar", + "coreName": "NavigationBar", + "styleName": "NavigationBarMainPage", + "variations": [ + { + "name": "no-background", + "composeReference": "NavigationBarMainPage.NoBackground" + }, + { + "name": "no-background.rounded", + "composeReference": "NavigationBarMainPage.NoBackground.Rounded" + }, + { + "name": "has-background", + "composeReference": "NavigationBarMainPage.HasBackground" + }, + { + "name": "has-background.rounded", + "composeReference": "NavigationBarMainPage.HasBackground.Rounded" + }, + { + "name": "has-background.shadow", + "composeReference": "NavigationBarMainPage.HasBackground.Shadow" + }, + { + "name": "has-background.shadow.rounded", + "composeReference": "NavigationBarMainPage.HasBackground.Shadow.Rounded" + } + ] + }, + { + "key": "navigation-bar", + "coreName": "NavigationBar", + "styleName": "NavigationBarInternalPage", + "variations": [ + { + "name": "no-background", + "composeReference": "NavigationBarInternalPage.NoBackground" + }, + { + "name": "no-background.rounded", + "composeReference": "NavigationBarInternalPage.NoBackground.Rounded" + }, + { + "name": "has-background", + "composeReference": "NavigationBarInternalPage.HasBackground" + }, + { + "name": "has-background.rounded", + "composeReference": "NavigationBarInternalPage.HasBackground.Rounded" + }, + { + "name": "has-background.shadow", + "composeReference": "NavigationBarInternalPage.HasBackground.Shadow" + }, + { + "name": "has-background.shadow.rounded", + "composeReference": "NavigationBarInternalPage.HasBackground.Shadow.Rounded" + } + ] + }, + { + "key": "pagination-dots", + "coreName": "PaginationDots", + "styleName": "PaginationDotsHorizontal", + "variations": [ + { + "name": "m", + "composeReference": "PaginationDotsHorizontal.M" + }, + { + "name": "m.active-type-line", + "composeReference": "PaginationDotsHorizontal.M.ActiveTypeLine" + }, + { + "name": "s", + "composeReference": "PaginationDotsHorizontal.S" + }, + { + "name": "s.active-type-line", + "composeReference": "PaginationDotsHorizontal.S.ActiveTypeLine" + } + ] + }, + { + "key": "pagination-dots", + "coreName": "PaginationDots", + "styleName": "PaginationDotsVertical", + "variations": [ + { + "name": "m", + "composeReference": "PaginationDotsVertical.M" + }, + { + "name": "m.active-type-line", + "composeReference": "PaginationDotsVertical.M.ActiveTypeLine" + }, + { + "name": "s", + "composeReference": "PaginationDotsVertical.S" + }, + { + "name": "s.active-type-line", + "composeReference": "PaginationDotsVertical.S.ActiveTypeLine" + } + ] + }, + { + "key": "autocomplete", + "coreName": "Autocomplete", + "styleName": "AutocompleteTight", + "variations": [ + { + "name": "xl", + "composeReference": "AutocompleteTight.Xl" + }, + { + "name": "l", + "composeReference": "AutocompleteTight.L" + }, + { + "name": "m", + "composeReference": "AutocompleteTight.M" + }, + { + "name": "s", + "composeReference": "AutocompleteTight.S" + }, + { + "name": "xs", + "composeReference": "AutocompleteTight.Xs" + } + ] + }, + { + "key": "autocomplete", + "coreName": "Autocomplete", + "styleName": "AutocompleteNormal", + "variations": [ + { + "name": "xl", + "composeReference": "AutocompleteNormal.Xl" + }, + { + "name": "l", + "composeReference": "AutocompleteNormal.L" + }, + { + "name": "m", + "composeReference": "AutocompleteNormal.M" + }, + { + "name": "s", + "composeReference": "AutocompleteNormal.S" + }, + { + "name": "xs", + "composeReference": "AutocompleteNormal.Xs" + } + ] + }, + { + "key": "dropdown-empty-state", + "coreName": "DropdownEmptyState", + "styleName": "DropdownEmptyState", + "variations": [ + { + "name": "xs", + "composeReference": "DropdownEmptyState.Xs" + }, + { + "name": "xs.has-button", + "composeReference": "DropdownEmptyState.Xs.HasButton" + }, + { + "name": "s", + "composeReference": "DropdownEmptyState.S" + }, + { + "name": "s.has-button", + "composeReference": "DropdownEmptyState.S.HasButton" + }, + { + "name": "m", + "composeReference": "DropdownEmptyState.M" + }, + { + "name": "m.has-button", + "composeReference": "DropdownEmptyState.M.HasButton" + }, + { + "name": "l", + "composeReference": "DropdownEmptyState.L" + }, + { + "name": "l.has-button", + "composeReference": "DropdownEmptyState.L.HasButton" + }, + { + "name": "xl", + "composeReference": "DropdownEmptyState.Xl" + }, + { + "name": "xl.has-button", + "composeReference": "DropdownEmptyState.Xl.HasButton" + } + ] + }, + { + "key": "file", + "coreName": "File", + "styleName": "FileCircularProgress", + "variations": [ + { + "name": "xs.default", + "composeReference": "FileCircularProgress.Xs.Default" + }, + { + "name": "xs.negative", + "composeReference": "FileCircularProgress.Xs.Negative" + }, + { + "name": "s.default", + "composeReference": "FileCircularProgress.S.Default" + }, + { + "name": "s.negative", + "composeReference": "FileCircularProgress.S.Negative" + }, + { + "name": "m.default", + "composeReference": "FileCircularProgress.M.Default" + }, + { + "name": "m.negative", + "composeReference": "FileCircularProgress.M.Negative" + }, + { + "name": "l.default", + "composeReference": "FileCircularProgress.L.Default" + }, + { + "name": "l.negative", + "composeReference": "FileCircularProgress.L.Negative" + } + ] + }, + { + "key": "file", + "coreName": "File", + "styleName": "FileLinearProgress", + "variations": [ + { + "name": "xs.default", + "composeReference": "FileLinearProgress.Xs.Default" + }, + { + "name": "xs.negative", + "composeReference": "FileLinearProgress.Xs.Negative" + }, + { + "name": "s.default", + "composeReference": "FileLinearProgress.S.Default" + }, + { + "name": "s.negative", + "composeReference": "FileLinearProgress.S.Negative" + }, + { + "name": "m.default", + "composeReference": "FileLinearProgress.M.Default" + }, + { + "name": "m.negative", + "composeReference": "FileLinearProgress.M.Negative" + }, + { + "name": "l.default", + "composeReference": "FileLinearProgress.L.Default" + }, + { + "name": "l.negative", + "composeReference": "FileLinearProgress.L.Negative" + } + ] + }, + { + "key": "form-item", + "coreName": "FormItem", + "styleName": "FormItem", + "variations": [ + { + "name": "xs.default", + "composeReference": "FormItem.Xs.Default" + }, + { + "name": "xs.positive", + "composeReference": "FormItem.Xs.Positive" + }, + { + "name": "xs.negative", + "composeReference": "FormItem.Xs.Negative" + }, + { + "name": "xs.warning", + "composeReference": "FormItem.Xs.Warning" + }, + { + "name": "xs.required-start.default", + "composeReference": "FormItem.Xs.RequiredStart.Default" + }, + { + "name": "xs.required-start.positive", + "composeReference": "FormItem.Xs.RequiredStart.Positive" + }, + { + "name": "xs.required-start.negative", + "composeReference": "FormItem.Xs.RequiredStart.Negative" + }, + { + "name": "xs.required-start.warning", + "composeReference": "FormItem.Xs.RequiredStart.Warning" + }, + { + "name": "xs.required-end.default", + "composeReference": "FormItem.Xs.RequiredEnd.Default" + }, + { + "name": "xs.required-end.positive", + "composeReference": "FormItem.Xs.RequiredEnd.Positive" + }, + { + "name": "xs.required-end.negative", + "composeReference": "FormItem.Xs.RequiredEnd.Negative" + }, + { + "name": "xs.required-end.warning", + "composeReference": "FormItem.Xs.RequiredEnd.Warning" + }, + { + "name": "xs.title-top.default", + "composeReference": "FormItem.Xs.TitleTop.Default" + }, + { + "name": "xs.title-top.positive", + "composeReference": "FormItem.Xs.TitleTop.Positive" + }, + { + "name": "xs.title-top.negative", + "composeReference": "FormItem.Xs.TitleTop.Negative" + }, + { + "name": "xs.title-top.warning", + "composeReference": "FormItem.Xs.TitleTop.Warning" + }, + { + "name": "xs.title-top.required-start.default", + "composeReference": "FormItem.Xs.TitleTop.RequiredStart.Default" + }, + { + "name": "xs.title-top.required-start.positive", + "composeReference": "FormItem.Xs.TitleTop.RequiredStart.Positive" + }, + { + "name": "xs.title-top.required-start.negative", + "composeReference": "FormItem.Xs.TitleTop.RequiredStart.Negative" + }, + { + "name": "xs.title-top.required-start.warning", + "composeReference": "FormItem.Xs.TitleTop.RequiredStart.Warning" + }, + { + "name": "xs.title-top.required-end.default", + "composeReference": "FormItem.Xs.TitleTop.RequiredEnd.Default" + }, + { + "name": "xs.title-top.required-end.positive", + "composeReference": "FormItem.Xs.TitleTop.RequiredEnd.Positive" + }, + { + "name": "xs.title-top.required-end.negative", + "composeReference": "FormItem.Xs.TitleTop.RequiredEnd.Negative" + }, + { + "name": "xs.title-top.required-end.warning", + "composeReference": "FormItem.Xs.TitleTop.RequiredEnd.Warning" + }, + { + "name": "xs.title-start.default", + "composeReference": "FormItem.Xs.TitleStart.Default" + }, + { + "name": "xs.title-start.positive", + "composeReference": "FormItem.Xs.TitleStart.Positive" + }, + { + "name": "xs.title-start.negative", + "composeReference": "FormItem.Xs.TitleStart.Negative" + }, + { + "name": "xs.title-start.warning", + "composeReference": "FormItem.Xs.TitleStart.Warning" + }, + { + "name": "xs.title-start.required-start.default", + "composeReference": "FormItem.Xs.TitleStart.RequiredStart.Default" + }, + { + "name": "xs.title-start.required-start.positive", + "composeReference": "FormItem.Xs.TitleStart.RequiredStart.Positive" + }, + { + "name": "xs.title-start.required-start.negative", + "composeReference": "FormItem.Xs.TitleStart.RequiredStart.Negative" + }, + { + "name": "xs.title-start.required-start.warning", + "composeReference": "FormItem.Xs.TitleStart.RequiredStart.Warning" + }, + { + "name": "xs.title-start.required-end.default", + "composeReference": "FormItem.Xs.TitleStart.RequiredEnd.Default" + }, + { + "name": "xs.title-start.required-end.positive", + "composeReference": "FormItem.Xs.TitleStart.RequiredEnd.Positive" + }, + { + "name": "xs.title-start.required-end.negative", + "composeReference": "FormItem.Xs.TitleStart.RequiredEnd.Negative" + }, + { + "name": "xs.title-start.required-end.warning", + "composeReference": "FormItem.Xs.TitleStart.RequiredEnd.Warning" + }, + { + "name": "s.default", + "composeReference": "FormItem.S.Default" + }, + { + "name": "s.positive", + "composeReference": "FormItem.S.Positive" + }, + { + "name": "s.negative", + "composeReference": "FormItem.S.Negative" + }, + { + "name": "s.warning", + "composeReference": "FormItem.S.Warning" + }, + { + "name": "s.required-start.default", + "composeReference": "FormItem.S.RequiredStart.Default" + }, + { + "name": "s.required-start.positive", + "composeReference": "FormItem.S.RequiredStart.Positive" + }, + { + "name": "s.required-start.negative", + "composeReference": "FormItem.S.RequiredStart.Negative" + }, + { + "name": "s.required-start.warning", + "composeReference": "FormItem.S.RequiredStart.Warning" + }, + { + "name": "s.required-end.default", + "composeReference": "FormItem.S.RequiredEnd.Default" + }, + { + "name": "s.required-end.positive", + "composeReference": "FormItem.S.RequiredEnd.Positive" + }, + { + "name": "s.required-end.negative", + "composeReference": "FormItem.S.RequiredEnd.Negative" + }, + { + "name": "s.required-end.warning", + "composeReference": "FormItem.S.RequiredEnd.Warning" + }, + { + "name": "s.title-top.default", + "composeReference": "FormItem.S.TitleTop.Default" + }, + { + "name": "s.title-top.positive", + "composeReference": "FormItem.S.TitleTop.Positive" + }, + { + "name": "s.title-top.negative", + "composeReference": "FormItem.S.TitleTop.Negative" + }, + { + "name": "s.title-top.warning", + "composeReference": "FormItem.S.TitleTop.Warning" + }, + { + "name": "s.title-top.required-start.default", + "composeReference": "FormItem.S.TitleTop.RequiredStart.Default" + }, + { + "name": "s.title-top.required-start.positive", + "composeReference": "FormItem.S.TitleTop.RequiredStart.Positive" + }, + { + "name": "s.title-top.required-start.negative", + "composeReference": "FormItem.S.TitleTop.RequiredStart.Negative" + }, + { + "name": "s.title-top.required-start.warning", + "composeReference": "FormItem.S.TitleTop.RequiredStart.Warning" + }, + { + "name": "s.title-top.required-end.default", + "composeReference": "FormItem.S.TitleTop.RequiredEnd.Default" + }, + { + "name": "s.title-top.required-end.positive", + "composeReference": "FormItem.S.TitleTop.RequiredEnd.Positive" + }, + { + "name": "s.title-top.required-end.negative", + "composeReference": "FormItem.S.TitleTop.RequiredEnd.Negative" + }, + { + "name": "s.title-top.required-end.warning", + "composeReference": "FormItem.S.TitleTop.RequiredEnd.Warning" + }, + { + "name": "s.title-start.default", + "composeReference": "FormItem.S.TitleStart.Default" + }, + { + "name": "s.title-start.positive", + "composeReference": "FormItem.S.TitleStart.Positive" + }, + { + "name": "s.title-start.negative", + "composeReference": "FormItem.S.TitleStart.Negative" + }, + { + "name": "s.title-start.warning", + "composeReference": "FormItem.S.TitleStart.Warning" + }, + { + "name": "s.title-start.required-start.default", + "composeReference": "FormItem.S.TitleStart.RequiredStart.Default" + }, + { + "name": "s.title-start.required-start.positive", + "composeReference": "FormItem.S.TitleStart.RequiredStart.Positive" + }, + { + "name": "s.title-start.required-start.negative", + "composeReference": "FormItem.S.TitleStart.RequiredStart.Negative" + }, + { + "name": "s.title-start.required-start.warning", + "composeReference": "FormItem.S.TitleStart.RequiredStart.Warning" + }, + { + "name": "s.title-start.required-end.default", + "composeReference": "FormItem.S.TitleStart.RequiredEnd.Default" + }, + { + "name": "s.title-start.required-end.positive", + "composeReference": "FormItem.S.TitleStart.RequiredEnd.Positive" + }, + { + "name": "s.title-start.required-end.negative", + "composeReference": "FormItem.S.TitleStart.RequiredEnd.Negative" + }, + { + "name": "s.title-start.required-end.warning", + "composeReference": "FormItem.S.TitleStart.RequiredEnd.Warning" + }, + { + "name": "m.default", + "composeReference": "FormItem.M.Default" + }, + { + "name": "m.positive", + "composeReference": "FormItem.M.Positive" + }, + { + "name": "m.negative", + "composeReference": "FormItem.M.Negative" + }, + { + "name": "m.warning", + "composeReference": "FormItem.M.Warning" + }, + { + "name": "m.required-start.default", + "composeReference": "FormItem.M.RequiredStart.Default" + }, + { + "name": "m.required-start.positive", + "composeReference": "FormItem.M.RequiredStart.Positive" + }, + { + "name": "m.required-start.negative", + "composeReference": "FormItem.M.RequiredStart.Negative" + }, + { + "name": "m.required-start.warning", + "composeReference": "FormItem.M.RequiredStart.Warning" + }, + { + "name": "m.required-end.default", + "composeReference": "FormItem.M.RequiredEnd.Default" + }, + { + "name": "m.required-end.positive", + "composeReference": "FormItem.M.RequiredEnd.Positive" + }, + { + "name": "m.required-end.negative", + "composeReference": "FormItem.M.RequiredEnd.Negative" + }, + { + "name": "m.required-end.warning", + "composeReference": "FormItem.M.RequiredEnd.Warning" + }, + { + "name": "m.title-top.default", + "composeReference": "FormItem.M.TitleTop.Default" + }, + { + "name": "m.title-top.positive", + "composeReference": "FormItem.M.TitleTop.Positive" + }, + { + "name": "m.title-top.negative", + "composeReference": "FormItem.M.TitleTop.Negative" + }, + { + "name": "m.title-top.warning", + "composeReference": "FormItem.M.TitleTop.Warning" + }, + { + "name": "m.title-top.required-start.default", + "composeReference": "FormItem.M.TitleTop.RequiredStart.Default" + }, + { + "name": "m.title-top.required-start.positive", + "composeReference": "FormItem.M.TitleTop.RequiredStart.Positive" + }, + { + "name": "m.title-top.required-start.negative", + "composeReference": "FormItem.M.TitleTop.RequiredStart.Negative" + }, + { + "name": "m.title-top.required-start.warning", + "composeReference": "FormItem.M.TitleTop.RequiredStart.Warning" + }, + { + "name": "m.title-top.required-end.default", + "composeReference": "FormItem.M.TitleTop.RequiredEnd.Default" + }, + { + "name": "m.title-top.required-end.positive", + "composeReference": "FormItem.M.TitleTop.RequiredEnd.Positive" + }, + { + "name": "m.title-top.required-end.negative", + "composeReference": "FormItem.M.TitleTop.RequiredEnd.Negative" + }, + { + "name": "m.title-top.required-end.warning", + "composeReference": "FormItem.M.TitleTop.RequiredEnd.Warning" + }, + { + "name": "m.title-start.default", + "composeReference": "FormItem.M.TitleStart.Default" + }, + { + "name": "m.title-start.positive", + "composeReference": "FormItem.M.TitleStart.Positive" + }, + { + "name": "m.title-start.negative", + "composeReference": "FormItem.M.TitleStart.Negative" + }, + { + "name": "m.title-start.warning", + "composeReference": "FormItem.M.TitleStart.Warning" + }, + { + "name": "m.title-start.required-start.default", + "composeReference": "FormItem.M.TitleStart.RequiredStart.Default" + }, + { + "name": "m.title-start.required-start.positive", + "composeReference": "FormItem.M.TitleStart.RequiredStart.Positive" + }, + { + "name": "m.title-start.required-start.negative", + "composeReference": "FormItem.M.TitleStart.RequiredStart.Negative" + }, + { + "name": "m.title-start.required-start.warning", + "composeReference": "FormItem.M.TitleStart.RequiredStart.Warning" + }, + { + "name": "m.title-start.required-end.default", + "composeReference": "FormItem.M.TitleStart.RequiredEnd.Default" + }, + { + "name": "m.title-start.required-end.positive", + "composeReference": "FormItem.M.TitleStart.RequiredEnd.Positive" + }, + { + "name": "m.title-start.required-end.negative", + "composeReference": "FormItem.M.TitleStart.RequiredEnd.Negative" + }, + { + "name": "m.title-start.required-end.warning", + "composeReference": "FormItem.M.TitleStart.RequiredEnd.Warning" + }, + { + "name": "l.default", + "composeReference": "FormItem.L.Default" + }, + { + "name": "l.positive", + "composeReference": "FormItem.L.Positive" + }, + { + "name": "l.negative", + "composeReference": "FormItem.L.Negative" + }, + { + "name": "l.warning", + "composeReference": "FormItem.L.Warning" + }, + { + "name": "l.required-start.default", + "composeReference": "FormItem.L.RequiredStart.Default" + }, + { + "name": "l.required-start.positive", + "composeReference": "FormItem.L.RequiredStart.Positive" + }, + { + "name": "l.required-start.negative", + "composeReference": "FormItem.L.RequiredStart.Negative" + }, + { + "name": "l.required-start.warning", + "composeReference": "FormItem.L.RequiredStart.Warning" + }, + { + "name": "l.required-end.default", + "composeReference": "FormItem.L.RequiredEnd.Default" + }, + { + "name": "l.required-end.positive", + "composeReference": "FormItem.L.RequiredEnd.Positive" + }, + { + "name": "l.required-end.negative", + "composeReference": "FormItem.L.RequiredEnd.Negative" + }, + { + "name": "l.required-end.warning", + "composeReference": "FormItem.L.RequiredEnd.Warning" + }, + { + "name": "l.title-top.default", + "composeReference": "FormItem.L.TitleTop.Default" + }, + { + "name": "l.title-top.positive", + "composeReference": "FormItem.L.TitleTop.Positive" + }, + { + "name": "l.title-top.negative", + "composeReference": "FormItem.L.TitleTop.Negative" + }, + { + "name": "l.title-top.warning", + "composeReference": "FormItem.L.TitleTop.Warning" + }, + { + "name": "l.title-top.required-start.default", + "composeReference": "FormItem.L.TitleTop.RequiredStart.Default" + }, + { + "name": "l.title-top.required-start.positive", + "composeReference": "FormItem.L.TitleTop.RequiredStart.Positive" + }, + { + "name": "l.title-top.required-start.negative", + "composeReference": "FormItem.L.TitleTop.RequiredStart.Negative" + }, + { + "name": "l.title-top.required-start.warning", + "composeReference": "FormItem.L.TitleTop.RequiredStart.Warning" + }, + { + "name": "l.title-top.required-end.default", + "composeReference": "FormItem.L.TitleTop.RequiredEnd.Default" + }, + { + "name": "l.title-top.required-end.positive", + "composeReference": "FormItem.L.TitleTop.RequiredEnd.Positive" + }, + { + "name": "l.title-top.required-end.negative", + "composeReference": "FormItem.L.TitleTop.RequiredEnd.Negative" + }, + { + "name": "l.title-top.required-end.warning", + "composeReference": "FormItem.L.TitleTop.RequiredEnd.Warning" + }, + { + "name": "l.title-start.default", + "composeReference": "FormItem.L.TitleStart.Default" + }, + { + "name": "l.title-start.positive", + "composeReference": "FormItem.L.TitleStart.Positive" + }, + { + "name": "l.title-start.negative", + "composeReference": "FormItem.L.TitleStart.Negative" + }, + { + "name": "l.title-start.warning", + "composeReference": "FormItem.L.TitleStart.Warning" + }, + { + "name": "l.title-start.required-start.default", + "composeReference": "FormItem.L.TitleStart.RequiredStart.Default" + }, + { + "name": "l.title-start.required-start.positive", + "composeReference": "FormItem.L.TitleStart.RequiredStart.Positive" + }, + { + "name": "l.title-start.required-start.negative", + "composeReference": "FormItem.L.TitleStart.RequiredStart.Negative" + }, + { + "name": "l.title-start.required-start.warning", + "composeReference": "FormItem.L.TitleStart.RequiredStart.Warning" + }, + { + "name": "l.title-start.required-end.default", + "composeReference": "FormItem.L.TitleStart.RequiredEnd.Default" + }, + { + "name": "l.title-start.required-end.positive", + "composeReference": "FormItem.L.TitleStart.RequiredEnd.Positive" + }, + { + "name": "l.title-start.required-end.negative", + "composeReference": "FormItem.L.TitleStart.RequiredEnd.Negative" + }, + { + "name": "l.title-start.required-end.warning", + "composeReference": "FormItem.L.TitleStart.RequiredEnd.Warning" + } + ] + }, + { + "key": "editable", + "coreName": "Editable", + "styleName": "Editable", + "variations": [ + { + "name": "h1", + "composeReference": "Editable.H1" + }, + { + "name": "h2", + "composeReference": "Editable.H2" + }, + { + "name": "h3", + "composeReference": "Editable.H3" + }, + { + "name": "h4", + "composeReference": "Editable.H4" + }, + { + "name": "h5", + "composeReference": "Editable.H5" + }, + { + "name": "body-l", + "composeReference": "Editable.BodyL" + }, + { + "name": "body-m", + "composeReference": "Editable.BodyM" + }, + { + "name": "body-s", + "composeReference": "Editable.BodyS" + }, + { + "name": "body-xs", + "composeReference": "Editable.BodyXs" + }, + { + "name": "body-xxs", + "composeReference": "Editable.BodyXxs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectSingleNormal", + "variations": [ + { + "name": "xl", + "composeReference": "SelectSingleNormal.Xl" + }, + { + "name": "l", + "composeReference": "SelectSingleNormal.L" + }, + { + "name": "m", + "composeReference": "SelectSingleNormal.M" + }, + { + "name": "s", + "composeReference": "SelectSingleNormal.S" + }, + { + "name": "xs", + "composeReference": "SelectSingleNormal.Xs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectSingleTight", + "variations": [ + { + "name": "xl", + "composeReference": "SelectSingleTight.Xl" + }, + { + "name": "l", + "composeReference": "SelectSingleTight.L" + }, + { + "name": "m", + "composeReference": "SelectSingleTight.M" + }, + { + "name": "s", + "composeReference": "SelectSingleTight.S" + }, + { + "name": "xs", + "composeReference": "SelectSingleTight.Xs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectMultipleNormal", + "variations": [ + { + "name": "xl", + "composeReference": "SelectMultipleNormal.Xl" + }, + { + "name": "l", + "composeReference": "SelectMultipleNormal.L" + }, + { + "name": "m", + "composeReference": "SelectMultipleNormal.M" + }, + { + "name": "s", + "composeReference": "SelectMultipleNormal.S" + }, + { + "name": "xs", + "composeReference": "SelectMultipleNormal.Xs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectMultipleTight", + "variations": [ + { + "name": "xl", + "composeReference": "SelectMultipleTight.Xl" + }, + { + "name": "l", + "composeReference": "SelectMultipleTight.L" + }, + { + "name": "m", + "composeReference": "SelectMultipleTight.M" + }, + { + "name": "s", + "composeReference": "SelectMultipleTight.S" + }, + { + "name": "xs", + "composeReference": "SelectMultipleTight.Xs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectItem", + "styleName": "SelectItemSingleNormal", + "variations": [ + { + "name": "xl", + "composeReference": "SelectItemSingleNormal.Xl" + }, + { + "name": "l", + "composeReference": "SelectItemSingleNormal.L" + }, + { + "name": "m", + "composeReference": "SelectItemSingleNormal.M" + }, + { + "name": "s", + "composeReference": "SelectItemSingleNormal.S" + }, + { + "name": "xs", + "composeReference": "SelectItemSingleNormal.Xs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectItem", + "styleName": "SelectItemSingleTight", + "variations": [ + { + "name": "xl", + "composeReference": "SelectItemSingleTight.Xl" + }, + { + "name": "l", + "composeReference": "SelectItemSingleTight.L" + }, + { + "name": "m", + "composeReference": "SelectItemSingleTight.M" + }, + { + "name": "s", + "composeReference": "SelectItemSingleTight.S" + }, + { + "name": "xs", + "composeReference": "SelectItemSingleTight.Xs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectItem", + "styleName": "SelectItemMultipleNormal", + "variations": [ + { + "name": "xl", + "composeReference": "SelectItemMultipleNormal.Xl" + }, + { + "name": "l", + "composeReference": "SelectItemMultipleNormal.L" + }, + { + "name": "m", + "composeReference": "SelectItemMultipleNormal.M" + }, + { + "name": "s", + "composeReference": "SelectItemMultipleNormal.S" + }, + { + "name": "xs", + "composeReference": "SelectItemMultipleNormal.Xs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectItem", + "styleName": "SelectItemMultipleTight", + "variations": [ + { + "name": "xl", + "composeReference": "SelectItemMultipleTight.Xl" + }, + { + "name": "l", + "composeReference": "SelectItemMultipleTight.L" + }, + { + "name": "m", + "composeReference": "SelectItemMultipleTight.M" + }, + { + "name": "s", + "composeReference": "SelectItemMultipleTight.S" + }, + { + "name": "xs", + "composeReference": "SelectItemMultipleTight.Xs" + } + ] + } + ] +} \ No newline at end of file diff --git a/integration-core/sandbox-compose/gradle.properties b/integration-core/sandbox-compose/gradle.properties new file mode 100644 index 0000000000..815ed4feaf --- /dev/null +++ b/integration-core/sandbox-compose/gradle.properties @@ -0,0 +1,14 @@ +nexus.artifactId=sdds-sandbox-compose +nexus.snapshot=false +nexus.description=SDDS base sandbox for Jetpack Compose +versionMajor=0 +versionMinor=1 +versionPatch=0 + +components-version=0.13.0 +theme-version=0.8.0 + +components-name=sdds_serv +theme-name=sdds_serv +theme-alias=SddsSandbox +theme-resPrefix=serv_cmp \ No newline at end of file diff --git a/integration-core/sandbox-compose/src/main/AndroidManifest.xml b/integration-core/sandbox-compose/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..568741e54f --- /dev/null +++ b/integration-core/sandbox-compose/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeBaseStory.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeBaseStory.kt new file mode 100644 index 0000000000..2486bee42c --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeBaseStory.kt @@ -0,0 +1,129 @@ +package com.sdds.compose.sandbox + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.lifecycle.viewmodel.compose.viewModel +import com.sdds.compose.sandbox.internal.ComponentScaffold +import com.sdds.compose.sandbox.internal.ComponentViewModel +import com.sdds.compose.sandbox.internal.ComponentViewModelFactory +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.BaseStory +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.PropertiesProducer +import com.sdds.sandbox.StateOwner +import com.sdds.sandbox.StateTransformer +import com.sdds.sandbox.UiState +import com.sdds.sandbox.producer +import com.sdds.sandbox.transformer +import kotlinx.coroutines.flow.StateFlow + +/** + * Абстрактный базовый класс для создания историй компонентов в Compose-сторибуке. + * + * Предоставляет инфраструктуру для управления состоянием, стилями и отображением + * компонентов в интерактивной среде разработки. Автоматически интегрируется с + * ViewModel и системой Scaffold для обеспечения работы панели управления свойствами. + * + * @param State тип состояния пользовательского интерфейса, который должен реализовывать [UiState] + * @param S тип стиля компонента, должен наследоваться от [Style] + * + * @param component уникальный ключ компонента для идентификации в сторибуке + * @param defaultState начальное состояние истории + * @param propertiesProducer провайдер свойств для генерации настраиваемых параметров + * в панели управления. По умолчанию создается из [defaultState] + * @param stateTransformer трансформер для обработки изменений состояния. + * По умолчанию создается из [defaultState] + * + * @see BaseStory + * @see ComponentScaffold + * @see ComponentViewModel + */ +abstract class ComposeBaseStory( + override val component: ComponentKey, + override val defaultState: State, + override val propertiesProducer: PropertiesProducer = defaultState.producer(), + override val stateTransformer: StateTransformer = defaultState.transformer(), +) : BaseStory, StateOwner { + + private var stateOwner: StateOwner? = null + + override val uiState: StateFlow + get() = checkNotNull(stateOwner) { + "StateOwner is not available until ${this::class.simpleName}.Story() enters composition" + }.uiState + + /** + * Composable функция для отображения содержимого истории компонента. + * + * Должна быть реализована в наследниках для определения конкретного + * отображения компонента с заданными стилем и состоянием. Вызывается внутри + * [ComponentScaffold] и получает доступ к контексту [BoxScope] для позиционирования. + * + * @param style стиль компонента, влияющий на его внешний вид + * @param state текущее состояние компонента + */ + @Composable + abstract fun BoxScope.Content( + style: S, + state: State, + ) + + /** + * Composable функция для отображения содержимого превью компонента. + * + * Должна быть реализована в наследниках для определения превью в списке навигации по компонентам. + * + * @param style стиль компонента, влияющий на его внешний вид + */ + @Composable + open fun Preview(style: S, key: ComponentKey) { + Text("empty preview, key=$key") + } + + override fun updateState(state: State) { + checkNotNull(stateOwner) { + "StateOwner is not available until ${this::class.simpleName}.Story() enters composition" + }.updateState(state) + } + + /** + * Внутренняя композируемая функция, интегрирующая историю с инфраструктурой сторибука. + * + * Создает [ComponentScaffold] с ViewModel, который обеспечивает: + * - Управление жизненным циклом истории + * - Интеграцию с панелью управления свойствами + * - Автоматическое обновление состояния при изменении свойств + * - Сохранение состояния при рекомпозиции + * + * Не предназначена для прямого вызова из клиентского кода. + */ + @Composable + internal fun Story() { + val viewModel = viewModel>( + factory = ComponentViewModelFactory( + defaultState = defaultState, + propertiesProducer = propertiesProducer, + stateTransformer = stateTransformer, + componentKey = component, + ), + key = component.toString(), + ) + DisposableEffect(viewModel) { + stateOwner = viewModel + onDispose { + if (stateOwner === viewModel) { + stateOwner = null + } + } + } + ComponentScaffold( + key = component, + viewModel = viewModel, + component = { state, style -> + Content(style, state) + }, + ) + } +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeStyleProvider.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeStyleProvider.kt new file mode 100644 index 0000000000..fec8fd5025 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeStyleProvider.kt @@ -0,0 +1,67 @@ +package com.sdds.compose.sandbox + +import androidx.compose.runtime.Composable +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.StyleProvider +import com.sdds.sandbox.StyleReference + +/** + * Ссылка на стиль в Compose-окружении, обеспечивающая ленивое создание стиля. + * + * Используется для передачи фабрики стиля между компонентами без немедленного + * вызова композируемой функции. Это позволяет отложить создание стиля до момента + * его фактического использования в композиции. + * + * @param S тип стиля, должен наследоваться от [Style] + * + * @param style композируемая функция-фабрика, создающая экземпляр стиля при вызове + * + * @see StyleReference + * @see ComposeStyleProvider + */ +class ComposeStyleReference( + private val style: @Composable () -> S, +) : StyleReference<@Composable () -> S> { + /** + * Возвращает сохраненную композируемую функцию для создания стиля. + * + * @return композируемая функция, создающая экземпляр стиля + */ + override fun get(): @Composable () -> S { + return style + } +} + +/** + * Абстрактный провайдер стилей для Compose-компонентов. + * + * Обеспечивает регистрацию и доступ к различным вариантам стилей компонента + * в сторибуке. Позволяет динамически переключаться между стилями через + * панель управления и получать актуальный экземпляр стиля в композиции. + * + * @param S тип стиля, должен наследоваться от [Style] + * + * @see StyleProvider + * @see ComposeStyleReference + */ +abstract class ComposeStyleProvider : StyleProvider>() { + + /** + * Получает экземпляр стиля по его ключу и немедленно создает его. + * + * Композируемая функция, которая: + * 1. Находит зарегистрированный стиль по указанному ключу + * 2. Вызывает его фабричную функцию для создания конкретного экземпляра + * 3. Возвращает созданный стиль для использования в UI компонента + * + * Должна вызываться только внутри композиции, так как содержит + * вызов композируемой функции стиля. + * + * @param key уникальный идентификатор стиля в провайдере + * @return экземпляр стиля указанного типа + */ + @Composable + fun style(key: String): S { + return styleReference(key).get().invoke() + } +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeTheme.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeTheme.kt new file mode 100644 index 0000000000..7b02081162 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/ComposeTheme.kt @@ -0,0 +1,182 @@ +package com.sdds.compose.sandbox + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.State +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.remember +import com.sdds.compose.uikit.interactions.ValueState +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.ComponentProvider +import com.sdds.sandbox.Theme +import com.sdds.sandbox.ThemeManager +import kotlinx.coroutines.flow.Flow + +/** + * Реализация темы для Compose-сторибука, объединяющая компоненты и их стилизацию. + * + * Определяет визуальное оформление всех компонентов в рамках одной темы, + * включая возможность оборачивать контент в общий стилевой контекст (например, + * MaterialTheme) и поддерживать подтемы для различных вариаций оформления. + * + * @param displayName отображаемое название темы + * @param components провайдер всех компонентов, доступных в данной теме + * @param themeWrapper композируемая функция-обёртка, применяемая к каждому компоненту + * для обеспечения единого стилевого контекста (темы) + * @param subthemes коллекция подтем с их собственными функциями-обёртками, + * позволяющая переопределять стилизацию для отдельных случаев + * + * @see Theme + * @see ComponentProvider + * @see SubTheme + */ +class ComposeTheme( + val displayName: String, + override val components: ComponentProvider, + val themeWrapper: @Composable (@Composable () -> Unit) -> Unit, + val subthemes: Map Unit) -> Unit> = emptyMap(), +) : Theme { + + companion object { + /** + * Тема по умолчанию, используемая когда не требуется дополнительная стилизация. + * + * Особенности: + * - Не содержит зарегистрированных компонентов (пустая коллекция) + * - Не применяет никаких обёрток к контенту (themeWrapper = { content -> content() }) + * - Не имеет подтем + * + * Подходит для базового тестирования компонентов или случаев, + * когда стилизация полностью определяется внутри самих компонентов. + */ + val Default = ComposeTheme( + displayName = "Default", + components = ComponentProvider.Empty, + themeWrapper = { it() }, + ) + } +} + +/** + * Тип подтемы, определяющий дополнительные вариации оформления в рамках основной темы. + * + * Подтемы позволяют создавать альтернативные стилевые контексты для компонентов, + * такие как инвертированные цвета, варианты для тёмного/светлого фона и другие + * модификации внешнего вида. Используются совместно с [ComposeTheme.subthemes] + * для применения специфических обёрток к компонентам. + * + * Каждая подтема имеет строковый ключ, который может использоваться для + * идентификации и выбора соответствующей стилевой обёртки. + * + * @property key уникальный строковый идентификатор подтемы + * + * @see ValueState + * @see ComposeTheme.subthemes + */ +enum class SubTheme(val key: String) : ValueState { + /** + * Подтема по умолчанию. + * + * Используется, когда не требуется специальной стилизации. + * Компоненты отображаются в базовом оформлении текущей темы. + */ + DEFAULT("Default"), + + /** + * Подтема для отображения на тёмном фоне. + * + * Применяется, когда компонент располагается на тёмном фоне + * и требует адаптации цветов для сохранения контрастности + * и читаемости. + */ + ON_DARK("OnDark"), + + /** + * Подтема для отображения на светлом фоне. + * + * Используется для адаптации компонентов при размещении + * на светлом фоне, обеспечивая правильную цветовую схему. + */ + ON_LIGHT("OnLight"), + + /** + * Инвертированная подтема. + * + * Применяет инвертирование цветовой схемы компонента, + * полезно для акцентных состояний или специальных + * визуальных эффектов. + */ + INVERSE("Inverse"), +} + +/** + * Текущая Compose-тема в виде потока данных. + * + * Предоставляет возможность наблюдать за изменениями текущей темы в сторибуке, + * автоматически фильтруя и приводя её к типу [ComposeTheme]. Удобно использовать + * в Compose-окружении для реактивного обновления UI при смене темы. + * + * @return [Flow] издающий [ComposeTheme] при каждом изменении темы, если она + * является Compose-темой. Не-Compose темы игнорируются и не эмитятся. + * + * @see ThemeManager.currentTheme + * @see ComposeTheme + */ +val ThemeManager.currentComposeThemeAsState: State + @Composable + get() { + val theme = currentTheme.collectAsState() + return remember { + derivedStateOf { + (theme.value as? ComposeTheme) ?: ComposeTheme.Default + } + } + } + +/** + * Получает провайдер стилей указанного типа для компонента и варианта оформления. + * + * Позволяет динамически получить доступ к конкретному стилевому провайдеру + * компонента в рамках текущей темы. Используется системой сторибука для + * управления переключением между различными appearance компонента. + * + * @param S тип стиля, должен наследоваться от [Style] + * @param componentKey уникальный ключ компонента, для которого запрашивается провайдер + * @param appearance идентификатор варианта оформления компонента + * @return [ComposeStyleProvider] указанного типа, если компонент и appearance существуют, + * иначе null + * + * @see ComposeTheme.components + * @see ComponentProvider.get + */ +fun ComposeTheme.getStyleProvider( + componentKey: ComponentKey, + appearance: String, +): ComposeStyleProvider? { + return components.get>(componentKey).styleProviders[appearance] +} + +/** + * Получает провайдер стиля по умолчанию для указанного компонента. + * + * Возвращает первый зарегистрированный провайдер стилей компонента, + * который обычно считается стилем по умолчанию. Используется когда + * конкретный appearance не указан или требуется базовый стиль компонента. + * + * @param S тип стиля, должен наследоваться от [Style] + * @param componentKey уникальный ключ компонента, для которого запрашивается провайдер + * @return [ComposeStyleProvider] указанного типа для стиля по умолчанию + * + * @throws NoSuchElementException если компонент не имеет зарегистрированных стилей + * @throws ClassCastException если компонент с указанным ключом существует, + * но его провайдер стилей не соответствует типу [S] + * + * @see ComposeTheme.components + * @see ComponentProvider.get + */ +fun ComposeTheme.defaultStyleProvider( + componentKey: ComponentKey, +): ComposeStyleProvider { + return components.get>(componentKey).styleProviders.values.first() +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetScaffold.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetScaffold.kt new file mode 100644 index 0000000000..72b8882801 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetScaffold.kt @@ -0,0 +1,165 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.background +import androidx.compose.foundation.gestures.AnchoredDraggableState +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.foundation.gestures.anchoredDraggable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.input.nestedscroll.NestedScrollConnection +import androidx.compose.ui.input.nestedscroll.NestedScrollSource +import androidx.compose.ui.input.nestedscroll.nestedScroll +import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.IntOffset +import androidx.compose.ui.unit.Velocity +import androidx.compose.ui.unit.dp +import com.sdds.compose.uikit.px +import kotlin.math.roundToInt + +@Suppress("LongMethod") +@Composable +internal fun BottomSheetScaffold( + bottomSheetState: BottomSheetState, + bottomSheetContent: @Composable BoxScope.() -> Unit, + modifier: Modifier = Modifier, + sheetShape: Shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), + sheetBackgroundColor: Color = Color.Transparent, + sheetPeekHeight: Dp = BottomSheetDefaults.PeekHeight, + content: @Composable BoxScope.(sheetHeight: Int) -> Unit, +) { + val peekHeight = sheetPeekHeight.px + var layoutHeight by remember { mutableIntStateOf(0) } + var sheetHeight by remember { mutableIntStateOf(0) } + val bottomSheetNestedScrollConnection = remember(bottomSheetState.draggableState) { + consumeSwipeWithinBottomSheetBoundsNestedScrollConnection( + state = bottomSheetState.draggableState, + orientation = Orientation.Vertical, + ) + } + LaunchedEffect(bottomSheetState.targetValue) { + if (bottomSheetState.isHidingInProgress()) { + bottomSheetState.onDismiss() + } + } + Box( + modifier = modifier + .fillMaxSize() + .onSizeChanged { + layoutHeight = it.height + if (layoutHeight > 0) { + bottomSheetState.updateAnchors(layoutHeight, sheetHeight, peekHeight) + } + }, + ) { + Box( + modifier = Modifier + .fillMaxSize() + .padding(bottom = sheetPeekHeight), + contentAlignment = Alignment.Center, + ) { + content(sheetHeight) + } + Box( + modifier = Modifier + .fillMaxSize() + .align(Alignment.BottomCenter) + .offset { + val yOffset = bottomSheetState + .requireOffset() + .roundToInt() + IntOffset(x = 0, y = yOffset) + } + .anchoredDraggable( + state = bottomSheetState.draggableState, + orientation = Orientation.Vertical, + ) + .nestedScroll(bottomSheetNestedScrollConnection) + .background(sheetBackgroundColor, sheetShape), + ) { + Box( + modifier = Modifier + .wrapContentSize() + .onSizeChanged { + sheetHeight = it.height + if (layoutHeight > 0 && sheetHeight > 0) { + bottomSheetState.updateAnchors(layoutHeight, sheetHeight, peekHeight) + } + }, + content = bottomSheetContent, + ) + } + } +} + +@OptIn(ExperimentalFoundationApi::class) +private fun consumeSwipeWithinBottomSheetBoundsNestedScrollConnection( + state: AnchoredDraggableState, + orientation: Orientation, +): NestedScrollConnection = object : NestedScrollConnection { + + override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset { + val delta = available.offsetToFloat() + return if (delta < 0 && source == NestedScrollSource.Drag) { + state.dispatchRawDelta(delta).toOffset() + } else { + Offset.Zero + } + } + + override fun onPostScroll( + consumed: Offset, + available: Offset, + source: NestedScrollSource, + ): Offset { + val delta = available.offsetToFloat() + return if (source == NestedScrollSource.Drag) { + state.dispatchRawDelta(delta).toOffset() + } else { + Offset.Zero + } + } + + override suspend fun onPreFling(available: Velocity): Velocity { + val toFling = available.velocityToFloat() + val currentOffset = state.requireOffset() + return if (toFling < 0 && currentOffset > state.anchors.minPosition()) { + state.settle(toFling) + available + } else { + Velocity.Zero + } + } + + override suspend fun onPostFling(consumed: Velocity, available: Velocity): Velocity { + val toFling = available.velocityToFloat() + state.settle(toFling) + return available + } + + private fun Offset.offsetToFloat(): Float = if (orientation == Orientation.Horizontal) x else y + + private fun Float.toOffset(): Offset = Offset( + x = if (orientation == Orientation.Horizontal) this else 0f, + y = if (orientation == Orientation.Vertical) this else 0f, + ) + + private fun Velocity.velocityToFloat() = if (orientation == Orientation.Horizontal) x else y +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetState.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetState.kt new file mode 100644 index 0000000000..242be26253 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/BottomSheetState.kt @@ -0,0 +1,266 @@ +package com.sdds.compose.sandbox.internal + +import android.content.res.Resources +import androidx.annotation.FloatRange +import androidx.compose.animation.core.AnimationSpec +import androidx.compose.animation.core.SpringSpec +import androidx.compose.animation.splineBasedDecay +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.gestures.AnchoredDraggableState +import androidx.compose.foundation.gestures.DraggableAnchors +import androidx.compose.foundation.gestures.animateToWithDecay +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Stable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.key +import androidx.compose.runtime.saveable.Saver +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.structuralEqualityPolicy +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import kotlin.math.abs + +@Composable +internal fun rememberBottomSheetState( + initialValue: BottomSheetValue, + animationSpec: AnimationSpec = BottomSheetDefaults.AnimationSpec, + confirmValueChange: (BottomSheetValue) -> Boolean = { true }, + onDismiss: () -> Unit = {}, +): BottomSheetState { + return key(initialValue) { + val density = LocalDensity.current + rememberSaveable( + initialValue, + animationSpec, + confirmValueChange, + saver = BottomSheetState.saver( + animationSpec = animationSpec, + confirmValueChange = confirmValueChange, + onDismiss = onDismiss, + density = density, + ), + ) { + BottomSheetState( + initialValue = initialValue, + density = density, + animationSpec = animationSpec, + confirmValueChange = confirmValueChange, + onDismiss = onDismiss, + ) + } + } +} + +@OptIn(ExperimentalFoundationApi::class) +@Stable +internal class BottomSheetState( + initialValue: BottomSheetValue, + density: Density, + val onDismiss: () -> Unit = {}, + private val animationSpec: AnimationSpec = BottomSheetDefaults.AnimationSpec, + private val confirmValueChange: (BottomSheetValue) -> Boolean = { true }, +) { + + val draggableState = AnchoredDraggableState( + initialValue = initialValue, + snapAnimationSpec = animationSpec, + decayAnimationSpec = splineBasedDecay(density), + positionalThreshold = BottomSheetDefaults.PositionalThreshold, + velocityThreshold = BottomSheetDefaults.VelocityThreshold, + confirmValueChange = confirmValueChange, + ) + + /** + * The fraction of the progress, within [0f..1f] bounds, or 1f if the [AnchoredDraggableState] + * is in a settled state. + */ + @get:FloatRange(from = 0.0, to = 1.0) + val progress: Float + get() = draggableState.progress + + /** + * The fraction of the progress, within [0.0f..1f] bounds, or 1f if the [AnchoredDraggableState] + * is in a settled state. + */ + @get:FloatRange(from = 0.0, to = 1.0) + val progressFromCollapsedToExpanded: Float by derivedStateOf(structuralEqualityPolicy()) { + val b = draggableState.anchors.positionOf(BottomSheetValue.Expanded) + val a = draggableState.anchors.positionOf(BottomSheetValue.Collapsed) + val distance = abs(b - a) + if (!distance.isNaN() && distance > 1e-6f) { + val progress = (this.requireOffset() - a) / (b - a) + // If we are very close to 0f or 1f, we round to the closest + if (progress < 1e-6f) 0f else if (progress > 1 - 1e-6f) 1f else progress + } else { + 1f + } + } + + /** + * The current value of the [BottomSheetState]. + */ + val currentValue: BottomSheetValue + get() = draggableState.currentValue + + val targetValue: BottomSheetValue + get() = draggableState.targetValue + + /** + * Whether the bottom sheet is visible. + */ + val isVisible: Boolean + get() = currentValue != BottomSheetValue.Collapsed + + /** + * Whether the bottom sheet is expanded. + */ + val isExpanded: Boolean + get() = currentValue == BottomSheetValue.Expanded + + /** + * Whether the bottom sheet is half expanded. + */ + val isHalfExpanded: Boolean + get() = currentValue == BottomSheetValue.HalfExpanded + + /** + * Whether the bottom sheet is hidden. + */ + val isHidden: Boolean + get() = currentValue == BottomSheetValue.Collapsed + + private val hasHalfExpandedState: Boolean + get() = draggableState.anchors.hasPositionFor(BottomSheetValue.HalfExpanded) + + /** + * Show the bottom sheet with animation and suspend until it's shown. + * If the sheet is taller than 50% of the parent's height, the bottom sheet will be half expanded. + * Otherwise, it will be fully expanded. + */ + suspend fun show() { + val targetValue = when { + hasHalfExpandedState -> BottomSheetValue.HalfExpanded + else -> BottomSheetValue.Expanded + } + animateTo(targetValue) + } + + /** + * Expand the bottom sheet with an animation and suspend until the animation finishes or is cancelled. + */ + suspend fun expand() { + if (draggableState.anchors.hasPositionFor(BottomSheetValue.Expanded)) { + animateTo(BottomSheetValue.Expanded) + } + } + + /** + * Half expand the bottom sheet with an animation and suspend until the animation finishes or is cancelled. + */ + suspend fun halfExpand() { + if (draggableState.anchors.hasPositionFor(BottomSheetValue.HalfExpanded)) { + animateTo(BottomSheetValue.HalfExpanded) + } + } + + /** + * Hide the bottom sheet with an animation and suspend until the animation finishes or is cancelled. + */ + suspend fun hide() { + animateTo(BottomSheetValue.Collapsed) + } + + fun requireOffset() = draggableState.requireOffset() + + fun updateAnchors(layoutHeight: Int, sheetHeight: Int, peekHeight: Int) { + val layoutHeightF = layoutHeight.toFloat() + val sheetHeightF = sheetHeight.toFloat() + val peekHeightF = peekHeight.toFloat().coerceAtMost(layoutHeightF) + val newAnchors = DraggableAnchors { + BottomSheetValue + .entries + .forEach { anchor -> + when (anchor) { + BottomSheetValue.Collapsed -> anchor at (layoutHeightF - peekHeightF).coerceAtLeast(0f) + BottomSheetValue.HalfExpanded -> { + val halfExpanded = layoutHeightF * anchor.draggableSpaceFraction + if (peekHeightF < halfExpanded) { + anchor at halfExpanded + } + } + BottomSheetValue.Expanded -> { + val expanded = (layoutHeightF - sheetHeightF).coerceAtLeast(0f) + if (sheetHeightF > 0f && + peekHeightF < layoutHeightF && + expanded < (layoutHeightF - peekHeightF) + ) { + anchor at 0f + } + } + } + } + } + draggableState.updateAnchors(newAnchors) + } + + fun isHidingInProgress() = isVisible && targetValue == BottomSheetValue.Collapsed + + private suspend fun animateTo( + targetValue: BottomSheetValue, + velocity: Float = draggableState.lastVelocity, + ) = draggableState.animateToWithDecay(targetValue, velocity) + + companion object { + /** + * The default [saver] implementation for [BottomSheetState]. + */ + fun saver( + animationSpec: AnimationSpec = BottomSheetDefaults.AnimationSpec, + confirmValueChange: (BottomSheetValue) -> Boolean = { true }, + onDismiss: () -> Unit = {}, + density: Density, + ): Saver = + Saver( + save = { it.currentValue }, + restore = { + BottomSheetState( + initialValue = it, + density = density, + animationSpec = animationSpec, + confirmValueChange = confirmValueChange, + onDismiss = onDismiss, + ) + }, + ) + } +} + +internal object BottomSheetDefaults { + val AnimationSpec = SpringSpec() + + val PositionalThreshold = { distance: Float -> distance * 0.2f } + + val VelocityThreshold = { 125.dp.toPixel } + + val PeekHeight = 56.dp +} + +internal enum class BottomSheetValue { + Collapsed, + HalfExpanded, + Expanded, + ; + + val draggableSpaceFraction: Float + get() = when (this) { + Collapsed -> 0f + HalfExpanded -> 0.5f + Expanded -> 1f + } +} + +private val Dp.toPixel: Float + get() = value * Resources.getSystem().displayMetrics.density diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentScaffold.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentScaffold.kt new file mode 100644 index 0000000000..dd0b2a1508 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentScaffold.kt @@ -0,0 +1,281 @@ +package com.sdds.compose.sandbox.internal + +import androidx.activity.compose.BackHandler +import androidx.compose.animation.AnimatedContent +import androidx.compose.animation.SizeTransform +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.slideInHorizontally +import androidx.compose.animation.slideOutHorizontally +import androidx.compose.animation.togetherWith +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.systemBarsPadding +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.layout.onGloballyPositioned +import androidx.compose.ui.layout.positionInRoot +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeTheme +import com.sdds.compose.sandbox.SubTheme +import com.sdds.compose.sandbox.currentComposeThemeAsState +import com.sdds.compose.sandbox.getStyleProvider +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Property +import com.sdds.sandbox.ThemeManager +import com.sdds.sandbox.UiState + +@Composable +internal fun ComponentScaffold( + key: ComponentKey, + viewModel: ComponentViewModel, + themeManager: ThemeManager = ThemeManager, + componentAlignment: (State) -> Alignment = { Alignment.Center }, + component: @Composable BoxScope.(State, S) -> Unit, +) { + if (isLargeDevice()) { + LargeScaffold( + key = key, + viewModel = viewModel, + themeManager = themeManager, + componentAlignment = componentAlignment, + component = component, + ) + } else { + MobileScaffold( + key = key, + viewModel = viewModel, + themeManager = themeManager, + componentAlignment = componentAlignment, + component = component, + ) + } +} + +@Composable +private fun MobileScaffold( + key: ComponentKey, + viewModel: ComponentViewModel, + themeManager: ThemeManager = ThemeManager, + componentAlignment: (State) -> Alignment = { Alignment.Center }, + component: @Composable BoxScope.(State, S) -> Unit, +) { + val sheetState = rememberBottomSheetState(initialValue = BottomSheetValue.Collapsed) + BottomSheetScaffold( + bottomSheetState = sheetState, + sheetPeekHeight = 74.dp, + bottomSheetContent = { + AnimatedMenuProperty( + title = "${key.group.displayName},${key.value}", + viewModel = viewModel, + isLargeScreen = false, + ) + }, + ) { sheetHeight -> + var top by remember { mutableFloatStateOf(0f) } + val uiState by viewModel.uiState.collectAsState() + val density = LocalDensity.current + val statusBarHeight = WindowInsets.statusBars.getTop(density).toFloat() + val currentSubTheme by viewModel.subtheme.collectAsState() + val sandboxStyle = LocalSandboxStyle.current + val componentBackground by remember { + derivedStateOf { + val stateSet = currentSubTheme?.let { setOf(it) } ?: emptySet() + sandboxStyle.componentBackgroundColor.getValue(stateSet) + } + } + Box( + modifier = Modifier + .fillMaxSize() + .background(componentBackground, shape = sandboxStyle.componentBackgroundShape) + .padding(16.dp) + .align(componentAlignment(uiState)) + .onGloballyPositioned { layoutCoordinates -> + val pos = layoutCoordinates.positionInRoot() + top = pos.y + } + .graphicsLayer { + val offset = + (sheetState.progressFromCollapsedToExpanded * sheetHeight).coerceAtMost(top - statusBarHeight) + translationY = -offset + }, + contentAlignment = Alignment.Center, + ) { + StyledComponent( + key = key, + uiState = uiState, + themeManager = themeManager, + currentSubTheme = currentSubTheme, + component = component, + ) + } + } +} + +@Composable +private fun LargeScaffold( + key: ComponentKey, + viewModel: ComponentViewModel, + themeManager: ThemeManager = ThemeManager, + componentAlignment: (State) -> Alignment = { Alignment.Center }, + component: @Composable BoxScope.(State, S) -> Unit, +) { + Row(modifier = Modifier.fillMaxSize()) { + val uiState by viewModel.uiState.collectAsState() + val currentSubTheme by viewModel.subtheme.collectAsState() + val sandboxStyle = LocalSandboxStyle.current + val componentBackground by remember { + derivedStateOf { + val stateSet = currentSubTheme?.let { setOf(it) } ?: emptySet() + sandboxStyle.componentBackgroundColor.getValue(stateSet) + } + } + + AnimatedMenuProperty( + modifier = Modifier + .fillMaxHeight() + .width(300.dp), + title = "${key.group.displayName},${key.value}", + viewModel = viewModel, + isLargeScreen = true, + ) + + Box( + modifier = Modifier + .weight(1f, fill = true) + .fillMaxHeight() + .background(componentBackground), + contentAlignment = componentAlignment(uiState), + ) { + StyledComponent( + key = key, + uiState = uiState, + themeManager = themeManager, + currentSubTheme = currentSubTheme, + component = component, + ) + } + } +} + +@Composable +private fun BoxScope.StyledComponent( + key: ComponentKey, + uiState: State, + themeManager: ThemeManager, + currentSubTheme: SubTheme?, + component: @Composable BoxScope.(State, S) -> Unit, +) { + val currentTheme by themeManager.currentComposeThemeAsState + currentTheme.themeWrapper { + val styleProvider = currentTheme.getStyleProvider(key, uiState.appearance) + val style = styleProvider?.style(uiState.variant) + if (style != null) { + SubTheme(currentTheme, currentSubTheme) { + component( + uiState, + style, + ) + } + } + } +} + +@Composable +private fun SubTheme( + currentTheme: ComposeTheme, + subThemeType: SubTheme?, + content: @Composable () -> Unit, +) { + val wrapper = currentTheme.subthemes[subThemeType] + if (wrapper != null) { + wrapper(content) + } else { + content() + } +} + +@Composable +private fun AnimatedMenuProperty( + title: String, + viewModel: ComponentViewModel, + isLargeScreen: Boolean, + modifier: Modifier = Modifier, +) { + val contentState = remember { mutableStateOf(MenuPropertyContent.PropertiesList) } + val properties by viewModel.properties.collectAsState() + BackHandler(enabled = contentState.value is MenuPropertyContent.PropertyEditor) { + contentState.value = MenuPropertyContent.PropertiesList + } + AnimatedContent( + modifier = modifier, + targetState = contentState.value, + transitionSpec = { + if (targetState is MenuPropertyContent.PropertiesList) { + slideInHorizontally { -it } + fadeIn() togetherWith + slideOutHorizontally { it } + fadeOut() + } else { + slideInHorizontally { it } + fadeIn() togetherWith + slideOutHorizontally { -it } + fadeOut() + }.using(SizeTransform(clip = false)) + }, + ) { content -> + val insetsModifier = if (isLargeScreen) Modifier.systemBarsPadding() else Modifier.navigationBarsPadding() + when (content) { + MenuPropertyContent.PropertiesList -> { + PropertiesList( + modifier = Modifier.fillMaxHeight() + .then(insetsModifier), + headerTitle = title, + properties = properties, + onSelect = { property -> + if (property is Property.BooleanProperty) { + val newValue = !property.value + viewModel.updateProperty(property.name, newValue) + } else { + contentState.value = MenuPropertyContent.PropertyEditor(property) + } + }, + onReset = { viewModel.resetToDefault() }, + ) + } + + is MenuPropertyContent.PropertyEditor -> { + PropertyEditor( + modifier = Modifier.fillMaxHeight() + .then(insetsModifier), + headerTitle = title, + property = content.property, + onConfirm = { name, value -> + viewModel.updateProperty(name, value) + }, + ) + } + } + } +} + +private sealed class MenuPropertyContent { + object PropertiesList : MenuPropertyContent() + data class PropertyEditor(val property: Property<*>) : MenuPropertyContent() +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentViewModel.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentViewModel.kt new file mode 100644 index 0000000000..b489f349a2 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/ComponentViewModel.kt @@ -0,0 +1,177 @@ +package com.sdds.compose.sandbox.internal + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.viewModelScope +import com.sdds.compose.sandbox.ComposeStyleProvider +import com.sdds.compose.sandbox.ComposeTheme +import com.sdds.compose.sandbox.SubTheme +import com.sdds.compose.sandbox.getStyleProvider +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.PropertiesOwner +import com.sdds.sandbox.PropertiesProducer +import com.sdds.sandbox.Property +import com.sdds.sandbox.StateOwner +import com.sdds.sandbox.StateTransformer +import com.sdds.sandbox.ThemeManager +import com.sdds.sandbox.UiState +import com.sdds.sandbox.getAppearances +import com.sdds.sandbox.getDefaultAppearance +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.mapNotNull +import kotlinx.coroutines.flow.stateIn + +internal class ComponentViewModel( + private val defaultState: State, + private val propertiesProducer: PropertiesProducer, + private val stateTransformer: StateTransformer, + private val componentKey: ComponentKey, + private val themeManager: ThemeManager = ThemeManager, +) : ViewModel(), PropertiesOwner, StateOwner { + + private val internalUiState = MutableStateFlow(defaultState) + private val _subtheme = MutableStateFlow(null) + + override val uiState: StateFlow + get() = internalUiState.asStateFlow() + + /** + * Подтема + */ + val theme: StateFlow + get() = themeManager.currentTheme + .mapNotNull { it as? ComposeTheme } + .stateIn(viewModelScope, SharingStarted.Lazily, ComposeTheme.Default) + + /** + * Подтема + */ + val subtheme: StateFlow + get() = _subtheme.asStateFlow() + + override val properties: StateFlow>> + get() = combine(internalUiState, theme) { state, themeState -> + if (themeState.components.components.isEmpty()) return@combine emptyList() + updateUiStateWithDefaultVariant(state, themeState) + appearanceProperties(state, themeState) + variantProperty(state, themeState) + state.toProps() + } + .stateIn(viewModelScope, SharingStarted.Lazily, emptyList()) + + @Suppress("UNCHECKED_CAST") + override fun updateProperty(name: String, value: Any?) { + val state = internalUiState.value + internalUiState.value = when (name) { + APPEARANCE_PROPERTY_NAME -> state.updateVariant(value?.toString() ?: "", state.variant) as State + VARIANT_PROPERTY_NAME -> state.updateVariant(state.appearance, value?.toString() ?: "") as State + SUBTHEME_PROPERTY_NAME -> { + val type = SubTheme.entries.firstOrNull { it.key == value } + _subtheme.value = type + state + } + else -> stateTransformer.transform(internalUiState.value, name, value ?: "") + } + } + + override fun updateState(state: State) { + internalUiState.value = state + } + + @Suppress("UNCHECKED_CAST") + private fun updateUiStateWithDefaultVariant(state: State, themeState: ComposeTheme) { + val defaultAppearance = getDefaultAppearances(themeState) + val appearance = state.appearance.ifEmpty { defaultAppearance } + val styleProvider = getStyleProvider(appearance, themeState) ?: return + if (state.variant.isNotEmpty() && + styleProvider.variants.contains(state.variant) + ) { + return + } + internalUiState.value = state.updateVariant( + appearance = appearance, + variant = styleProvider.defaultVariant, + ) as State + } + + private fun appearanceProperties(state: State, themeState: ComposeTheme): List { + return listOf( + Property.SingleChoiceProperty( + APPEARANCE_PROPERTY_NAME, + variants = getAppearances(themeState).toList(), + value = state.appearance, + ), + ) + } + + private fun variantProperty(state: State, themeState: ComposeTheme): List { + val styleProvider = getStyleProvider(state.appearance, themeState) ?: return emptyList() + val subthemes = getSubThemes(themeState) + val variantProperties = mutableListOf() + if (styleProvider.variants.isNotEmpty()) { + variantProperties.add( + Property.SingleChoiceProperty( + VARIANT_PROPERTY_NAME, + variants = styleProvider.variants, + value = state.variant, + ), + ) + } + if (subthemes.isNotEmpty()) { + variantProperties.add( + Property.SingleChoiceProperty( + SUBTHEME_PROPERTY_NAME, + variants = subthemes.map { it.key }, + value = _subtheme.value?.key ?: subthemes.first().key, + ), + ) + } + return variantProperties + } + + private fun getStyleProvider(appearance: String, themeState: ComposeTheme): ComposeStyleProvider? { + return runCatching { + themeState.getStyleProvider(componentKey, appearance) + }.getOrNull() + } + + private fun getAppearances(themeState: ComposeTheme): Set { + return themeState.getAppearances(componentKey) + } + + private fun getDefaultAppearances(themeState: ComposeTheme): String { + return themeState.getDefaultAppearance(componentKey) + } + + private fun getSubThemes(themeState: ComposeTheme): Set { + return themeState.subthemes.keys + } + + private fun State.toProps(): List> = propertiesProducer.getProperties(this) + + final override fun resetToDefault() { + internalUiState.value = defaultState + } + + private companion object { + const val VARIANT_PROPERTY_NAME = "variant" + const val SUBTHEME_PROPERTY_NAME = "subtheme" + const val APPEARANCE_PROPERTY_NAME = "appearance" + } +} + +internal class ComponentViewModelFactory( + private val defaultState: State, + private val propertiesProducer: PropertiesProducer, + private val stateTransformer: StateTransformer, + private val componentKey: ComponentKey, +) : ViewModelProvider.Factory { + + @Suppress("UNCHECKED_CAST") + override fun create(modelClass: Class): T { + return ComponentViewModel(defaultState, propertiesProducer, stateTransformer, componentKey) as T + } +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/Editors.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/Editors.kt new file mode 100644 index 0000000000..40c01dcd80 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/Editors.kt @@ -0,0 +1,339 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.focusGroup +import androidx.compose.foundation.focusable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.compositionLocalOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape +import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.sdds.compose.uikit.ButtonStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TextField +import com.sdds.compose.uikit.TextFieldStyle +import com.sdds.compose.uikit.basicButtonBuilder +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.interactions.InteractiveColor +import com.sdds.compose.uikit.interactions.asInteractive +import com.sdds.compose.uikit.interactions.selection +import com.sdds.sandbox.Property + +internal val LocalPropertyEditorStyle = compositionLocalOf { PropertyEditorStyle.create() } + +@Immutable +internal interface PropertyEditorStyle { + + val shape: Shape + val labelTextStyle: TextStyle + val labelTextColor: Color + val editorItemBackground: InteractiveColor + val editorItemShape: Shape + val editorItemPadding: Dp + val editorItemHeight: Dp + val editorItemTextStyle: TextStyle + val editorItemTextColor: InteractiveColor + val choiceEditorTextColor: Color + val backgroundColor: Color + val spacing: Dp + + val headerHeight: Dp + val confirmButtonStyle: ButtonStyle + val textEditorStyle: TextFieldStyle + + companion object { + + fun create( + shape: Shape = RectangleShape, + labelTextStyle: TextStyle = TextStyle.Default, + labelTextColor: Color = Color.Black, + editorItemBackground: InteractiveColor = Color.LightGray.asInteractive(), + spacing: Dp = 16.dp, + confirmButtonStyle: ButtonStyle = ButtonStyle.basicButtonBuilder().style(), + textEditorStyle: TextFieldStyle = TextFieldStyle.builder().style(), + backgroundColor: Color = Color.Transparent, + editorItemShape: Shape = RoundedCornerShape(6.dp), + editorItemTextStyle: TextStyle = TextStyle.Default, + editorItemTextColor: InteractiveColor = Color.Black.asInteractive(), + headerHeight: Dp = 54.dp, + editorItemPadding: Dp = 6.dp, + editorItemHeight: Dp = 6.dp, + choiceEditorTextColor: Color = Color.Black, + ): PropertyEditorStyle = + PropertyEditorStyleImpl( + shape = shape, + labelTextStyle = labelTextStyle, + labelTextColor = labelTextColor, + editorItemBackground = editorItemBackground, + spacing = spacing, + confirmButtonStyle = confirmButtonStyle, + textEditorStyle = textEditorStyle, + backgroundColor = backgroundColor, + editorItemShape = editorItemShape, + editorItemTextStyle = editorItemTextStyle, + editorItemTextColor = editorItemTextColor, + editorItemHeight = editorItemHeight, + headerHeight = headerHeight, + editorItemPadding = editorItemPadding, + choiceEditorTextColor = choiceEditorTextColor, + ) + } +} + +/** + * Редактор свойств. + * Изменяет свое содержимое согласно подтипу [Property]. + * @param property редактируемое свойство + * @param onConfirm колбэк завершения редактирования + * @param modifier модификатор + */ +@Composable +internal fun PropertyEditor( + property: Property<*>?, + onConfirm: (String, String) -> Unit, + headerTitle: String, + modifier: Modifier = Modifier, + style: PropertyEditorStyle = LocalPropertyEditorStyle.current, +) { + Column( + modifier = Modifier + .clip(style.shape) + .background(style.backgroundColor) + .then(modifier) + .padding(start = 4.dp, end = 4.dp, bottom = 24.dp), + ) { + EditorHeader( + title = headerTitle, + style = style, + ) + + when (property) { + is Property.SingleChoiceProperty -> ChoiceEditor( + onConfirm = { onConfirm(property.name, it) }, + choices = property.variants, + currentValue = property.value, + style = style, + propertyName = property.name, + ) + + is Property.IntProperty, is Property.FloatProperty -> TextPropertyEditor( + onConfirm = { onConfirm(property.name, it) }, + propertyName = property.name, + currentValue = property.value.toString(), + style = style, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Decimal, imeAction = ImeAction.Done), + ) + + is Property.StringProperty -> TextPropertyEditor( + onConfirm = { onConfirm(property.name, it) }, + propertyName = property.name, + currentValue = property.value, + style = style, + ) + + else -> Unit + } + } +} + +@Composable +private fun TextPropertyEditor( + onConfirm: (String) -> Unit, + propertyName: String, + currentValue: String, + style: PropertyEditorStyle, + keyboardOptions: KeyboardOptions = KeyboardOptions.Default.copy( + keyboardType = KeyboardType.Text, + imeAction = ImeAction.Done, + ), +) { + var textFieldValue by remember { mutableStateOf(currentValue) } + val keyboardController = LocalSoftwareKeyboardController.current + val focusRequester = remember { FocusRequester() } + + TextField( + style = style.textEditorStyle, + labelText = propertyName, + value = textFieldValue, + modifier = Modifier + .fillMaxWidth() + .focusRequester(focusRequester), + keyboardOptions = keyboardOptions, + keyboardActions = KeyboardActions( + onDone = { + onConfirm(textFieldValue) + keyboardController?.hide() + }, + ), + onValueChange = { textFieldValue = it }, + placeholderText = "", + focusSelectorSettings = FocusSelectorSettings.None, + ) + Spacer(modifier = Modifier.height(style.spacing)) + LaunchedEffect(Unit) { + focusRequester.requestFocus() + keyboardController?.show() + } +} + +@Composable +private fun ChoiceEditor( + onConfirm: (T) -> Unit, + propertyName: String, + currentValue: T, + choices: List, + style: PropertyEditorStyle, +) { + var selected by remember { mutableStateOf(currentValue) } + val selectedIndex = choices.indexOf(selected).coerceAtLeast(0) + val focusRequester = remember { List(choices.size) { FocusRequester() } } + val listState = rememberLazyListState() + Column( + modifier = Modifier + .fillMaxHeight() + .focusGroup(), + verticalArrangement = Arrangement.spacedBy(style.spacing), + ) { + ChoiceEditorHeader( + modifier = Modifier + .onFocusChanged { + if (it.isFocused) focusRequester[selectedIndex].requestFocus() + } + .focusable(), + propertyName = propertyName, + style = style, + ) + + LazyColumn( + state = listState, + verticalArrangement = Arrangement.spacedBy(style.editorItemPadding), + ) { + items(choices.size) { + val interactionSource = remember { MutableInteractionSource() } + val background = style.editorItemBackground.colorForInteraction(interactionSource) + val choice = choices[it] + val isSelected = choice == selected + Row( + modifier = Modifier + .fillMaxWidth() + .height(style.editorItemHeight) + .focusRequester(focusRequester[it]) + .selection(isSelected, interactionSource) + .background(color = background, shape = style.editorItemShape) + .clickable( + onClick = { + selected = choice + onConfirm(choice) + }, + indication = null, + interactionSource = interactionSource, + ) + .padding(horizontal = style.editorItemPadding), + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + text = choice.toString(), + style = style.editorItemTextStyle + .copy(style.editorItemTextColor.colorForInteraction(interactionSource)), + ) + } + } + } + } +} + +@Composable +private fun ChoiceEditorHeader( + propertyName: String, + style: PropertyEditorStyle, + modifier: Modifier = Modifier, +) { + Text( + modifier = modifier.padding(horizontal = style.editorItemPadding), + text = propertyName, + style = style.editorItemTextStyle.copy(style.choiceEditorTextColor), + ) +} + +@Composable +private fun EditorHeader( + title: String, + style: PropertyEditorStyle, + modifier: Modifier = Modifier, +) { + Row( + modifier = modifier + .fillMaxWidth() + .height(style.headerHeight) + .padding(style.editorItemPadding), + verticalAlignment = Alignment.CenterVertically, + ) { + Column( + Modifier + .weight(1f) + .wrapContentWidth(Alignment.Start), + ) { + Text( + text = title.substringBefore(","), + style = style.labelTextStyle.copy(style.choiceEditorTextColor), + ) + Text( + text = title.substringAfter(","), + style = style.labelTextStyle.copy(style.labelTextColor), + ) + } + } +} + +@Immutable +private data class PropertyEditorStyleImpl( + override val shape: Shape, + override val labelTextStyle: TextStyle, + override val labelTextColor: Color, + override val spacing: Dp, + override val confirmButtonStyle: ButtonStyle, + override val editorItemBackground: InteractiveColor, + override val textEditorStyle: TextFieldStyle, + override val backgroundColor: Color, + override val editorItemShape: Shape, + override val editorItemTextStyle: TextStyle, + override val editorItemTextColor: InteractiveColor, + override val headerHeight: Dp, + override val editorItemPadding: Dp, + override val choiceEditorTextColor: Color, + override val editorItemHeight: Dp, +) : PropertyEditorStyle diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/FocusableItem.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/FocusableItem.kt new file mode 100644 index 0000000000..4b013f8b8c --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/FocusableItem.kt @@ -0,0 +1,30 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.foundation.focusable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.FocusState +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.focus.onFocusChanged + +/** + * + * @author Малышев Александр on 26.11.2024 + */ +@Composable +fun Modifier.focusableItem( + focusRequester: FocusRequester? = remember { FocusRequester() }, + enabled: Boolean = true, + interactionSource: MutableInteractionSource? = null, + onFocusChanged: (FocusState) -> Unit = {}, +): Modifier = this + .onFocusChanged { + onFocusChanged(it) + } + .let { modifier -> + focusRequester?.let { modifier.focusRequester(it) } ?: modifier + } + .focusable(enabled, interactionSource) diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MainContent.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MainContent.kt new file mode 100644 index 0000000000..80239ced2e --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MainContent.kt @@ -0,0 +1,201 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.animation.EnterTransition +import androidx.compose.animation.ExitTransition +import androidx.compose.animation.core.tween +import androidx.compose.animation.slideInHorizontally +import androidx.compose.animation.slideOutHorizontally +import androidx.compose.foundation.clickable +import androidx.compose.foundation.focusable +import androidx.compose.foundation.indication +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController +import com.sdds.compose.sandbox.ComposeTheme +import com.sdds.compose.sandbox.currentComposeThemeAsState +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.WindowSizeClass +import com.sdds.compose.uikit.collectWindowSizeInfoAsState +import com.sdds.icons.R +import com.sdds.sandbox.ThemeManager +import kotlinx.coroutines.launch + +@Suppress("LongMethod") +@Composable +internal fun MainContent(themeManager: ThemeManager = ThemeManager) { + val currentTheme by themeManager.currentComposeThemeAsState + val isLarge = isLargeDevice() + val menuItems = remember(currentTheme) { currentTheme.components.getMenuItems() } + val scope = rememberCoroutineScope() + val navController = rememberNavController() + val currentBackStackEntry by navController.currentBackStackEntryFlow.collectAsState(initial = null) + val showTopBar = currentBackStackEntry?.destination?.route == START_DESTINATION + val navigationContent: @Composable () -> Unit = { + NavigationGraph( + navController = navController, + menuItems = menuItems, + themeInfo = currentTheme, + isTv = isLarge, + ) + } + + if (isLarge) { + TvLayout( + menuItems = { + NavigationViewTv( + items = menuItems, + title = currentTheme.displayName, + focusable = true, + onSelect = { + scope.launch { + navController.navigate(it.route) { + popUpTo(navController.graph.startDestinationId) { + saveState = true + } + launchSingleTop = true + restoreState = true + } + } + }, + ) + }, + ) { + navigationContent() + } + } else { + MobileLayout( + hasMultipleThemes = false, + showTopBar = showTopBar, + topBar = { + TopBar( + title = "Theme", + onNavigationClick = { }, + ) + }, + ) { + navigationContent() + } + } +} + +@Composable +internal fun NavigationGraph( + navController: NavHostController, + menuItems: List, + themeInfo: ComposeTheme, + isTv: Boolean, +) { + val transitions = remember(isTv) { + NavigationTransition( + enter = if (isTv) { + EnterTransition.None + } else { + slideInHorizontally(initialOffsetX = { it }, animationSpec = tween(300)) + }, + exit = if (isTv) { + ExitTransition.None + } else { + slideOutHorizontally(targetOffsetX = { -it }, animationSpec = tween(300)) + }, + popEnter = if (isTv) { + EnterTransition.None + } else { + slideInHorizontally(initialOffsetX = { -it }, animationSpec = tween(300)) + }, + popExit = if (isTv) { + ExitTransition.None + } else { + slideOutHorizontally(targetOffsetX = { it }, animationSpec = tween(300)) + }, + ) + } + + NavHost( + navController = navController, + startDestination = START_DESTINATION, + enterTransition = { transitions.enter }, + exitTransition = { transitions.exit }, + popEnterTransition = { transitions.popEnter }, + popExitTransition = { transitions.popExit }, + ) { + menuItems.forEach { item -> + composable(item.route) { + item.destination.composeScreen(item.componentKey) + } + } + composable(START_DESTINATION) { + if (isTv) { + menuItems.first().let { it.destination.composeScreen(it.componentKey) } + } else { + NavigationViewMobile( + items = menuItems, + themeInfo = themeInfo, + ) { + navController.navigate(it.route) + } + } + } + } +} + +@Composable +internal fun TopBar( + title: String, + onNavigationClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + Box( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 8.dp), + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .fillMaxWidth() + .focusable() + .indication(interactionSource, null) + .clickable { onNavigationClick() }, + ) { + Text( + text = title, + modifier = Modifier.padding(horizontal = 8.dp), + ) + Icon( + painter = painterResource(R.drawable.ic_disclosure_down_outline_16), + contentDescription = null, + ) + } + } +} + +private data class NavigationTransition( + val enter: EnterTransition, + val exit: ExitTransition, + val popEnter: EnterTransition, + val popExit: ExitTransition, +) + +@Composable +internal fun isLargeDevice(): Boolean { + val sizeInfo by collectWindowSizeInfoAsState() + return sizeInfo.widthClass == WindowSizeClass.Expanded +} + +private const val START_DESTINATION = "menuItems" diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MenuItem.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MenuItem.kt new file mode 100644 index 0000000000..96520c198f --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MenuItem.kt @@ -0,0 +1,45 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.style.Style +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.ComponentProvider +import com.sdds.sandbox.StoryRegistry +import com.sdds.sandbox.UiState + +internal class MenuItem( + val title: String, + val componentKey: ComponentKey, + val destination: ComponentScreen, +) { + val route: String = componentKey.value +} + +internal fun ComponentProvider.getMenuItems(): List { + return components.mapNotNull { (key, value) -> + val screen = key.screen().takeIf { it !== EmptyScreen } ?: return@mapNotNull null + MenuItem(value.name, key, screen) + }.sortedWith( + compareBy( + { it.componentKey.group.ordinal }, + { it.title }, + ), + ) +} + +private val EmptyScreen = ComponentScreen({}) + +internal class ComponentScreen( + val composeScreen: @Composable (ComponentKey) -> Unit, + val preview: (@Composable (Style, ComponentKey) -> Unit)? = null, +) + +@Suppress("CyclomaticComplexMethod", "LongMethod") +private fun ComponentKey.screen(): ComponentScreen { + val story = StoryRegistry.get(this) as? ComposeBaseStory ?: return EmptyScreen + return ComponentScreen( + composeScreen = { story.Story() }, + preview = { style, key -> story.Preview(style, key) }, + ) +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MobileLayout.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MobileLayout.kt new file mode 100644 index 0000000000..b3f65500ac --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/MobileLayout.kt @@ -0,0 +1,26 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.statusBarsPadding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier + +@Composable +internal fun MobileLayout( + hasMultipleThemes: Boolean, + showTopBar: Boolean, + topBar: @Composable (() -> Unit), + content: @Composable () -> Unit, +) { + Column( + modifier = Modifier + .fillMaxSize() + .statusBarsPadding(), + ) { + if (hasMultipleThemes && showTopBar) { + topBar() + } + content() + } +} diff --git a/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/NavigationViewMobile.kt b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/NavigationViewMobile.kt new file mode 100644 index 0000000000..3495d3fe72 --- /dev/null +++ b/integration-core/sandbox-compose/src/main/kotlin/com/sdds/compose/sandbox/internal/NavigationViewMobile.kt @@ -0,0 +1,140 @@ +package com.sdds.compose.sandbox.internal + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.itemsIndexed +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeTheme +import com.sdds.compose.sandbox.defaultStyleProvider +import com.sdds.compose.uikit.Card +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.style.Style +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey + +@Composable +internal fun NavigationItemMobile( + title: String, + icon: Painter, + preview: @Composable () -> Unit, + onClick: () -> Unit, +) { + val style = LocalNavigationViewStyle.current + val interactionSource = remember { MutableInteractionSource() } + + Card( + style = style.itemCard, + onClick = onClick, + interactionSource = interactionSource, + focusSelectorSettings = LocalFocusSelectorSettings.current, + ) { + Column( + modifier = Modifier + .fillMaxWidth(), + + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + ) { + Icon( + painter = icon, + contentDescription = "", + ) + Spacer(modifier = Modifier.width(8.dp)) + Text( + text = title, + style = style.headerTextStyle.copy(style.headerTextColor), + ) + } + Spacer(Modifier.height(12.dp)) + Box( + modifier = Modifier + .fillMaxWidth() + .heightIn(min = 92.dp, max = 400.dp), + contentAlignment = Alignment.Center, + ) { + preview() + } + } + } +} + +@Composable +internal fun NavigationViewMobile( + modifier: Modifier = Modifier, + items: List, + themeInfo: ComposeTheme, + onSelect: (MenuItem) -> Unit, +) { + var currentIndex by remember { mutableIntStateOf(0) } + val style = LocalNavigationViewStyle.current + themeInfo.themeWrapper { + LazyColumn( + modifier + .fillMaxWidth() + .padding(6.dp), + verticalArrangement = Arrangement.spacedBy(4.dp), + ) { + itemsIndexed(items) { index, menuItem -> + val isFirstOfGroup = + index == 0 || items[index - 1].componentKey.group != menuItem.componentKey.group + if (isFirstOfGroup) { + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = menuItem.componentKey.group.displayName, + style = style.headerTextStyle.copy(color = style.headerTextColor), + ) + Spacer(modifier = Modifier.height(8.dp)) + } + NavigationItemMobile( + title = menuItem.title, + icon = painterResource(id = R.drawable.ic_romb_outline_16), + onClick = { + currentIndex = index + onSelect(menuItem) + }, + preview = { + ComponentPreview( + key = menuItem.componentKey, + themeInfo = themeInfo, + ) { style, key -> + menuItem.destination.preview?.invoke(style, key) + } + }, + ) + } + } + } +} + +@Composable +internal fun ComponentPreview( + key: ComponentKey, + themeInfo: ComposeTheme, + component: @Composable (Style, ComponentKey) -> Unit, +) { + val styleProvider = themeInfo.defaultStyleProvider + \ No newline at end of file diff --git a/integration-core/settings.gradle.kts b/integration-core/settings.gradle.kts new file mode 100644 index 0000000000..428b003a9b --- /dev/null +++ b/integration-core/settings.gradle.kts @@ -0,0 +1,28 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + mavenLocal() + } +} + +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + create("icons") { + from(files("../gradle/icons.version.toml")) + } + } +} +rootProject.name = "integration-core" + +includeBuild("../build-system") +include( + ":sandbox-core", + ":sandbox-compose", + ":sandbox-view", + ":sandbox-ksp", +) diff --git a/playground/sandbox-compose/build.gradle.kts b/playground/sandbox-compose/build.gradle.kts index 1b5f14c72d..7fb79830fb 100644 --- a/playground/sandbox-compose/build.gradle.kts +++ b/playground/sandbox-compose/build.gradle.kts @@ -126,6 +126,8 @@ tasks.register("generateVersionDescription") { } dependencies { + implementation("sdds-core:uikit-fixtures") + implementation("sdds-core:uikit-compose-fixtures") implementation(icons.sdds.icons) implementation("tokens:sdds.serv.view") implementation("tokens:sdds.serv.compose") @@ -156,9 +158,8 @@ dependencies { implementation(project(":sandbox-sdds-sbcom-integration")) implementation(project(":sandbox-core-integration")) - implementation("sdds-core:testing") { - exclude("org.robolectric", "robolectric") - } + + implementation("integration-core:sandbox-core") implementation(libs.sdds.uikit.compose) implementation(libs.sdds.uikit) diff --git a/playground/sandbox-compose/gradle.properties b/playground/sandbox-compose/gradle.properties index 07ce79233b..83e2dbf8de 100644 --- a/playground/sandbox-compose/gradle.properties +++ b/playground/sandbox-compose/gradle.properties @@ -1,3 +1,3 @@ versionMajor=0 -versionMinor=32 +versionMinor=33 versionPatch=0 diff --git a/playground/sandbox-compose/src/main/AndroidManifest.xml b/playground/sandbox-compose/src/main/AndroidManifest.xml index ec40b40d80..a2f43491e7 100644 --- a/playground/sandbox-compose/src/main/AndroidManifest.xml +++ b/playground/sandbox-compose/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ + () { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/accordion/view/AccordionViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/accordion/view/AccordionViewModel.kt index f99dffa6d5..cfc0610534 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/accordion/view/AccordionViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/accordion/view/AccordionViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.accordion.AccordionUiState +import com.sdds.uikit.fixtures.stories.accordion.AccordionUiState internal class AccordionViewModel( defaultState: AccordionUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteFragment.kt index 864487c838..357474f687 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteFragment.kt @@ -4,12 +4,11 @@ import android.view.ContextThemeWrapper import android.view.Gravity import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.autocomplete.AutocompleteUiState -import com.sdds.testing.vs.autocomplete.applyState -import com.sdds.testing.vs.autocomplete.autocomplete -import com.sdds.testing.vs.overlay.applyState -import com.sdds.testing.vs.popover.toGravity import com.sdds.uikit.Autocomplete +import com.sdds.uikit.fixtures.stories.autocomplete.AutocompleteUiState +import com.sdds.uikit.fixtures.stories.autocomplete.applyState +import com.sdds.uikit.fixtures.stories.autocomplete.autocomplete +import com.sdds.uikit.fixtures.stories.popover.toGravity internal class AutocompleteFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteViewModel.kt index e15f5f2ee4..52697bad27 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/autocomplete/view/AutocompleteViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.autocomplete.AutocompleteUiState -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.autocomplete.AutocompleteUiState +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment internal class AutocompleteViewModel( defaultState: AutocompleteUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarFragment.kt index 3f7e5b6fb9..b29ba77435 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.avatar.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.avatar.AvatarUiState -import com.sdds.testing.vs.avatar.applyState -import com.sdds.testing.vs.avatar.avatar import com.sdds.uikit.Avatar +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.applyState +import com.sdds.uikit.fixtures.stories.avatar.avatar /** * Фрагмент с компонентом Avatar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupFragment.kt index a114f6f0c5..8dea0b07b8 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.avatar.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.avatar.AvatarUiState -import com.sdds.testing.vs.avatar.applyState -import com.sdds.testing.vs.avatar.avatarGroup import com.sdds.uikit.AvatarGroup +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.applyState +import com.sdds.uikit.fixtures.stories.avatar.avatarGroup /** * Фрагмент с компонентом AvatarGroup diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupViewModel.kt index 32112b15f2..ba913b1022 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarGroupViewModel.kt @@ -6,9 +6,9 @@ import androidx.lifecycle.viewmodel.CreationExtras import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.avatar.AvatarUiState -import com.sdds.testing.vs.avatar.ExampleMode import com.sdds.uikit.Avatar +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.ExampleMode /** * ViewModel для экранов с компонентом [AvatarGroup] diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarViewModel.kt index aca8575416..2f6da5d547 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/avatar/vs/AvatarViewModel.kt @@ -6,11 +6,11 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.avatar.AvatarExtra -import com.sdds.testing.vs.avatar.AvatarExtraPlacement -import com.sdds.testing.vs.avatar.AvatarUiState -import com.sdds.testing.vs.avatar.ExampleMode import com.sdds.uikit.Avatar +import com.sdds.uikit.fixtures.stories.avatar.AvatarExtra +import com.sdds.uikit.fixtures.stories.avatar.AvatarExtraPlacement +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.ExampleMode /** * ViewModel для экранов с компонентом [Avatar] diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeFragment.kt index c0ea9d90dd..5d88bed06b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.badge.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.badge.BadgeUiState -import com.sdds.testing.vs.badge.applyState -import com.sdds.testing.vs.badge.badge import com.sdds.uikit.Badge +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.applyState +import com.sdds.uikit.fixtures.stories.badge.badge /** * Фрагмент с компонентом Badge diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeParametersViewModel.kt index 57215016a6..03e1192299 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/BadgeParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState /** * ViewModel для экранов с компонентом Badge и IconBadge diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeFragment.kt index 9c9deebf35..a24c7319aa 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeFragment.kt @@ -3,9 +3,9 @@ package com.sdds.playground.sandbox.badge.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.badge.BadgeUiState -import com.sdds.testing.vs.badge.iconBadge import com.sdds.uikit.IconBadge +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.iconBadge /** * Фрагмент с компонентом IconBadge diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeParametersViewModel.kt index 51dd32cd42..3e0caa727d 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/badge/vs/IconBadgeParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState /** * ViewModel для экранов с компонентом Badge и IconBadge diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupFragment.kt index f10ecbe8e3..22bb4e9a47 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupFragment.kt @@ -3,11 +3,11 @@ package com.sdds.playground.sandbox.buttongroup.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.GroupOrientation -import com.sdds.testing.vs.button.applyState -import com.sdds.testing.vs.button.buttonGroup import com.sdds.uikit.ButtonGroup +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.GroupOrientation +import com.sdds.uikit.fixtures.stories.button.applyState +import com.sdds.uikit.fixtures.stories.button.buttonGroup /** * Фрагмент с компонентом ButtonGroup diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupParametersViewModel.kt index dd8c01a8e3..f535c14991 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttongroup/vs/ButtonGroupParametersViewModel.kt @@ -6,10 +6,10 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.button.ButtonIcon -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.GroupOrientation import com.sdds.uikit.Button +import com.sdds.uikit.fixtures.stories.button.ButtonIcon +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.GroupOrientation /** * ViewModel для экранов с компонентом ButtonGroup diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonFragment.kt index e9a3a6058a..3487e04ec6 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonFragment.kt @@ -4,12 +4,11 @@ import android.view.ContextThemeWrapper import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider -import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.applyState -import com.sdds.testing.vs.button.basicButton import com.sdds.uikit.Button +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.applyState +import com.sdds.uikit.fixtures.stories.button.basicButton /** * Фрагмент с компонентом BasicButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonViewModel.kt index 346d7ee999..c4b8ee86c4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/BasicButtonViewModel.kt @@ -7,9 +7,9 @@ import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.PropertiesOwner import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.button.ButtonIcon -import com.sdds.testing.vs.button.ButtonUiState import com.sdds.uikit.Button +import com.sdds.uikit.fixtures.stories.button.ButtonIcon +import com.sdds.uikit.fixtures.stories.button.ButtonUiState /** * ViewModel для экранов с компонентом BasicButton и IconButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonFragment.kt index f2663f6463..fed20e6d10 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.buttons.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.applyState -import com.sdds.testing.vs.button.iconButton import com.sdds.uikit.IconButton +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.applyState +import com.sdds.uikit.fixtures.stories.button.iconButton /** * Фрагмент с компонентом IconButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonViewModel.kt index 00b7bc68a9..7d1afedd38 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/IconButtonViewModel.kt @@ -6,7 +6,7 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.PropertiesOwner import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.ButtonUiState /** * ViewModel для экрана с компонентом IconButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonFragment.kt index d1730fdf08..f48b1fc179 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.buttons.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.applyState -import com.sdds.testing.vs.button.linkButton import com.sdds.uikit.LinkButton +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.applyState +import com.sdds.uikit.fixtures.stories.button.linkButton /** * Фрагмент с компонентом LinkButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonViewModel.kt index efa9b15413..732968d046 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/buttons/vs/LinkButtonViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.PropertiesOwner import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.button.ButtonIcon -import com.sdds.testing.vs.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.ButtonIcon +import com.sdds.uikit.fixtures.stories.button.ButtonUiState /** * ViewModel для экранов с компонентом LinkButton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardFragment.kt index 75debf36db..7c81ae6708 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardFragment.kt @@ -5,10 +5,10 @@ import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.card.CardUiState -import com.sdds.testing.vs.card.applyState -import com.sdds.testing.vs.card.card import com.sdds.uikit.Card +import com.sdds.uikit.fixtures.stories.card.CardUiState +import com.sdds.uikit.fixtures.stories.card.applyState +import com.sdds.uikit.fixtures.stories.card.card /** * Фрагмент с компонентом Card diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardViewModel.kt index 3fc2e382b7..55a83e4a10 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/card/vs/CardViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.card.CardOrientation -import com.sdds.testing.vs.card.CardUiState +import com.sdds.uikit.fixtures.stories.card.CardOrientation +import com.sdds.uikit.fixtures.stories.card.CardUiState /** * ViewModel компонента Card diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselFragment.kt index 0b993012f6..3686bc0327 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselFragment.kt @@ -5,11 +5,11 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.carousel.CarouselUiState -import com.sdds.testing.vs.carousel.applyState -import com.sdds.testing.vs.carousel.carousel import com.sdds.uikit.Carousel import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.carousel.CarouselUiState +import com.sdds.uikit.fixtures.stories.carousel.applyState +import com.sdds.uikit.fixtures.stories.carousel.carousel internal class CarouselFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselViewModel.kt index 8717d80bf0..1752890f1f 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/carousel/vs/CarouselViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.carousel.CarouselContentAlignment -import com.sdds.testing.vs.carousel.CarouselUiState +import com.sdds.uikit.fixtures.stories.carousel.CarouselContentAlignment +import com.sdds.uikit.fixtures.stories.carousel.CarouselUiState internal class CarouselViewModel( defaultState: CarouselUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellFragment.kt index 0be28343d0..a5cb474bf9 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellFragment.kt @@ -6,11 +6,11 @@ import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.databinding.LayoutComponentCellBinding -import com.sdds.testing.vs.cell.CellUiState -import com.sdds.testing.vs.cell.applyState -import com.sdds.testing.vs.cell.cellLayoutBinding import com.sdds.uikit.CellLayout +import com.sdds.uikit.fixtures.databinding.LayoutComponentCellBinding +import com.sdds.uikit.fixtures.stories.cell.CellUiState +import com.sdds.uikit.fixtures.stories.cell.applyState +import com.sdds.uikit.fixtures.stories.cell.cellLayoutBinding /** * Фрагмент с компонентом CellLayout diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellParametersViewModel.kt index e0b9e25d48..beba12d475 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/cell/vs/CellParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.cell.CellContent -import com.sdds.testing.vs.cell.CellUiState +import com.sdds.uikit.fixtures.stories.cell.CellContent +import com.sdds.uikit.fixtures.stories.cell.CellUiState /** * ViewModel компонента Cell diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxFragment.kt index b57a33a1b5..c9d6c79a9e 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.checkbox.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.checkbox.CheckBoxUiState -import com.sdds.testing.vs.checkbox.applyState -import com.sdds.testing.vs.checkbox.checkBox import com.sdds.uikit.CheckBox +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState +import com.sdds.uikit.fixtures.stories.checkbox.applyState +import com.sdds.uikit.fixtures.stories.checkbox.checkBox /** * Фрагмент с компонентом CheckBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxParametersViewModel.kt index 381e1ce2c7..ffee6daaec 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/CheckBoxParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.checkbox.CheckBoxUiState import com.sdds.uikit.CheckBox +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState /** * ViewModel для экранов с компонентом CheckBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupFragment.kt index 1b32e07fd4..d930ccc2f1 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupFragment.kt @@ -5,10 +5,10 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.checkbox.CheckBoxUiState -import com.sdds.testing.vs.checkbox.applyState -import com.sdds.testing.vs.checkbox.checkBoxGroup import com.sdds.uikit.CheckBoxGroup +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState +import com.sdds.uikit.fixtures.stories.checkbox.applyState +import com.sdds.uikit.fixtures.stories.checkbox.checkBoxGroup /** * Фрагмент с компонентом CheckBoxGroup diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupViewModel.kt index 435c487bcb..d4eac610a0 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/checkbox/vs/group/CheckBoxGroupViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.checkbox.CheckBoxUiState +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState /** * ViewModel для экранов с компонентом CheckBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipFragment.kt index 46d9903605..468c1a882b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.chip.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.chip.ChipUiState -import com.sdds.testing.vs.chip.applyState -import com.sdds.testing.vs.chip.chip import com.sdds.uikit.Chip +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.applyState +import com.sdds.uikit.fixtures.stories.chip.chip /** * Фрагмент с компонентом Chip diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipParametersViewModel.kt index 45ea9efdf0..0b7070ec88 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/ChipParametersViewModel.kt @@ -5,9 +5,9 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.chip.ChipUiState -import com.sdds.testing.vs.chip.GravityMode import com.sdds.uikit.ChipGroup +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.GravityMode /** * ViewModel для экранов с компонентом Chip diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupFragment.kt index 45aad63a43..cd2ce89506 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupFragment.kt @@ -5,10 +5,10 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.chip.ChipUiState -import com.sdds.testing.vs.chip.applyState -import com.sdds.testing.vs.chip.chipGroup import com.sdds.uikit.ChipGroup +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.applyState +import com.sdds.uikit.fixtures.stories.chip.chipGroup /** * Фрагмент с компонентом [ChipGroup] diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupParametersViewModel.kt index 1e3bcd5788..fe7ea2a9a8 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/chip/vs/group/ChipGroupParametersViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.chip.ChipUiState -import com.sdds.testing.vs.chip.GravityMode import com.sdds.uikit.ChipGroup +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.GravityMode /** * ViewModel для экранов с компонентом Chip diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldFragment.kt index 7255907a6b..6fecb0e51e 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldFragment.kt @@ -5,11 +5,10 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.codefield.CodeFieldUiState -import com.sdds.testing.vs.codefield.applyState -import com.sdds.testing.vs.codefield.codeField -import com.sdds.testing.vs.counter.applyState import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.stories.codefield.CodeFieldUiState +import com.sdds.uikit.fixtures.stories.codefield.applyState +import com.sdds.uikit.fixtures.stories.codefield.codeField /** * Фрагмент с компонентом CodeField diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldParametersViewModel.kt index 11aca2d17a..7f864d74ac 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codefield/vs/CodeFieldParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.codefield.CodeFieldUiState import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.stories.codefield.CodeFieldUiState /** * ViewModel для экрана с компонентом CodeField diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputFragment.kt index 6261813746..98f03960f5 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputFragment.kt @@ -5,10 +5,10 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.codeinput.CodeInputUiState -import com.sdds.testing.vs.codeinput.applyState -import com.sdds.testing.vs.codeinput.codeInput import com.sdds.uikit.CodeInput +import com.sdds.uikit.fixtures.stories.codeinput.CodeInputUiState +import com.sdds.uikit.fixtures.stories.codeinput.applyState +import com.sdds.uikit.fixtures.stories.codeinput.codeInput /** * Фрагмент с компонентом CodeInput diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputParametersViewModel.kt index 4d37ed9893..af9c9b4989 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/codeinput/vs/CodeInputParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.codeinput.CodeInputUiState import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.stories.codeinput.CodeInputUiState /** * ViewModel для экрана с компонентом CodeInput diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/compose/MenuItem.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/compose/MenuItem.kt index c9aebb029e..3a27723a97 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/compose/MenuItem.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/compose/MenuItem.kt @@ -59,6 +59,42 @@ import com.sdds.compose.uikit.ToastStyle import com.sdds.compose.uikit.ToolBarStyle import com.sdds.compose.uikit.TooltipStyle import com.sdds.compose.uikit.WheelStyle +import com.sdds.compose.uikit.fixtures.testcases.AvatarGroupSizeS +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeM +import com.sdds.compose.uikit.fixtures.testcases.BadgeSizeLDefaultContentLeft +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetForSandbox +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLSecondary +import com.sdds.compose.uikit.fixtures.testcases.CardVertical +import com.sdds.compose.uikit.fixtures.testcases.CellMAvatarIcon +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxGroupSizeM +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeM +import com.sdds.compose.uikit.fixtures.testcases.ChipGroupSizeLDense +import com.sdds.compose.uikit.fixtures.testcases.ChipSizeLDefault +import com.sdds.compose.uikit.fixtures.testcases.CircularProgress +import com.sdds.compose.uikit.fixtures.testcases.CounterCommon +import com.sdds.compose.uikit.fixtures.testcases.DividerDefault +import com.sdds.compose.uikit.fixtures.testcases.IconBadgeCommon +import com.sdds.compose.uikit.fixtures.testcases.IconButtonLDefault +import com.sdds.compose.uikit.fixtures.testcases.IndicatorCommon +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeLDefault +import com.sdds.compose.uikit.fixtures.testcases.ListForSandbox +import com.sdds.compose.uikit.fixtures.testcases.LoaderForSandbox +import com.sdds.compose.uikit.fixtures.testcases.ModalForSandboxCompose +import com.sdds.compose.uikit.fixtures.testcases.NotificationForSandbox +import com.sdds.compose.uikit.fixtures.testcases.OverlayForSandbox +import com.sdds.compose.uikit.fixtures.testcases.PopoverForSandbox +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarDefault +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxGroupSizeM +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxSizeM +import com.sdds.compose.uikit.fixtures.testcases.RectSkeletonForSandbox +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemSizeS +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeXs +import com.sdds.compose.uikit.fixtures.testcases.SpinnerTest +import com.sdds.compose.uikit.fixtures.testcases.SwitchLOn +import com.sdds.compose.uikit.fixtures.testcases.TextAreaLDefaultTBTA +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLDefaultInnerLeft +import com.sdds.compose.uikit.fixtures.testcases.ToastForSandbox +import com.sdds.compose.uikit.fixtures.testcases.TooltipForSandbox import com.sdds.compose.uikit.style.Style import com.sdds.compose.uikit.style.style import com.sdds.playground.sandbox.accordion.AccordionPreview @@ -132,8 +168,8 @@ import com.sdds.playground.sandbox.scrollbar.compose.ScrollBarPreview import com.sdds.playground.sandbox.scrollbar.compose.ScrollBarScreen import com.sdds.playground.sandbox.segment.compose.SegmentItemScreen import com.sdds.playground.sandbox.segment.compose.SegmentScreen -import com.sdds.playground.sandbox.select.SelectPreview -import com.sdds.playground.sandbox.select.SelectScreen +import com.sdds.playground.sandbox.select.compose.SelectPreview +import com.sdds.playground.sandbox.select.compose.SelectScreen import com.sdds.playground.sandbox.slider.compose.SliderPreview import com.sdds.playground.sandbox.slider.compose.SliderScreen import com.sdds.playground.sandbox.spinner.compose.SpinnerScreen @@ -160,42 +196,6 @@ import com.sdds.serv.styles.basicbutton.Default import com.sdds.serv.styles.basicbutton.S import com.sdds.serv.styles.iconbutton.IconButton import com.sdds.serv.styles.iconbutton.S -import com.sdds.testing.compose.avatar.AvatarGroupSizeS -import com.sdds.testing.compose.avatar.AvatarSizeM -import com.sdds.testing.compose.badge.BadgeSizeLDefaultContentLeft -import com.sdds.testing.compose.badge.IconBadgeCommon -import com.sdds.testing.compose.bottomsheet.BottomSheetForSandbox -import com.sdds.testing.compose.button.ButtonSizeLSecondary -import com.sdds.testing.compose.button.IconButtonLDefault -import com.sdds.testing.compose.button.LinkButtonSizeLDefault -import com.sdds.testing.compose.card.CardVertical -import com.sdds.testing.compose.cell.CellMAvatarIcon -import com.sdds.testing.compose.checkbox.CheckBoxGroupSizeM -import com.sdds.testing.compose.checkbox.CheckBoxSizeM -import com.sdds.testing.compose.chip.ChipGroupSizeLDense -import com.sdds.testing.compose.chip.ChipSizeLDefault -import com.sdds.testing.compose.counter.CounterCommon -import com.sdds.testing.compose.divider.DividerDefault -import com.sdds.testing.compose.indicator.IndicatorCommon -import com.sdds.testing.compose.list.ListForSandbox -import com.sdds.testing.compose.loader.LoaderForSandbox -import com.sdds.testing.compose.modal.ModalForSandboxCompose -import com.sdds.testing.compose.notification.NotificationForSandbox -import com.sdds.testing.compose.overlay.OverlayForSandbox -import com.sdds.testing.compose.popover.PopoverForSandbox -import com.sdds.testing.compose.progress.CircularProgress -import com.sdds.testing.compose.progress.ProgressBarDefault -import com.sdds.testing.compose.radiobox.RadioBoxGroupSizeM -import com.sdds.testing.compose.radiobox.RadioBoxSizeM -import com.sdds.testing.compose.rectskeleton.RectSkeletonForSandbox -import com.sdds.testing.compose.segment.SegmentItemSizeS -import com.sdds.testing.compose.segment.SegmentSizeXs -import com.sdds.testing.compose.spinner.SpinnerTest -import com.sdds.testing.compose.switcher.SwitchLOn -import com.sdds.testing.compose.textarea.TextAreaLDefaultTBTA -import com.sdds.testing.compose.textfield.TextFieldLDefaultInnerLeft -import com.sdds.testing.compose.toast.ToastForSandbox -import com.sdds.testing.compose.tooltip.TooltipForSandbox /** * diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentFragment.kt index 656b9bf1fd..6b6469c601 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentFragment.kt @@ -33,10 +33,10 @@ import com.sdds.playground.sandbox.Theme import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.databinding.FragmentComponentScaffoldBinding import com.sdds.playground.sandbox.viewTheme -import com.sdds.testing.vs.UiState -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.FrameLayout import com.sdds.uikit.colorFromAttr +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.styleWrapper import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentViewModel.kt index 4370705059..07e703598f 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/ComponentViewModel.kt @@ -11,7 +11,7 @@ import com.sdds.playground.sandbox.core.integration.ViewStyleProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.integration.component.CoreComponent import com.sdds.playground.sandbox.viewTheme -import com.sdds.testing.vs.UiState +import com.sdds.uikit.fixtures.UiState import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow @@ -64,10 +64,10 @@ internal abstract class ComponentViewModel( @CallSuper override fun updateProperty(name: String, value: Any?) { val valueString = value?.toString() ?: return - + val currentState = internalUiState.value if (name == APPEARANCE_PROPERTY_NAME) { internalUiState.value = - internalUiState.value.updateVariant(appearance = valueString) as State + currentState.updateVariant(appearance = valueString, variant = currentState.variant) as State } if (name == SUBTHEME_PROPERTY_NAME) { @@ -77,7 +77,7 @@ internal abstract class ComponentViewModel( if (name == VARIANT_PROPERTY_NAME) { internalUiState.value = - internalUiState.value.updateVariant(variant = valueString) as State + currentState.updateVariant(appearance = currentState.appearance, variant = valueString) as State } if (name == colorVariantPropertyName) { internalUiState.value = diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/MenuItem.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/MenuItem.kt index bb27c7750b..110a699c49 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/MenuItem.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/core/vs/MenuItem.kt @@ -60,6 +60,7 @@ import com.sdds.playground.sandbox.rectskeleton.vs.RectSkeletonFragment import com.sdds.playground.sandbox.scrollbar.vs.ScrollBarFragment import com.sdds.playground.sandbox.segment.vs.SegmentItemFragment import com.sdds.playground.sandbox.segment.vs.group.SegmentFragment +import com.sdds.playground.sandbox.select.vs.SelectFragment import com.sdds.playground.sandbox.slider.vs.SliderFragment import com.sdds.playground.sandbox.spinner.vs.SpinnerFragment import com.sdds.playground.sandbox.switcher.vs.SwitchFragment @@ -73,84 +74,85 @@ import com.sdds.playground.sandbox.toast.vs.ToastFragment import com.sdds.playground.sandbox.toolbar.vs.ToolBarFragment import com.sdds.playground.sandbox.tooltip.vs.TooltipFragment import com.sdds.playground.sandbox.wheel.vs.WheelFragment -import com.sdds.testing.vs.accordion.accordion -import com.sdds.testing.vs.autocomplete.autocomplete -import com.sdds.testing.vs.avatar.AvatarUiState -import com.sdds.testing.vs.avatar.avatar -import com.sdds.testing.vs.avatar.avatarGroup -import com.sdds.testing.vs.badge.BadgeUiState -import com.sdds.testing.vs.badge.badge -import com.sdds.testing.vs.badge.iconBadge -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.button.buttonGroup -import com.sdds.testing.vs.button.iconButton -import com.sdds.testing.vs.button.linkButton -import com.sdds.testing.vs.card.CardUiState -import com.sdds.testing.vs.card.card -import com.sdds.testing.vs.carousel.carousel -import com.sdds.testing.vs.cell.CellUiState -import com.sdds.testing.vs.cell.cellLayout -import com.sdds.testing.vs.checkbox.CheckBoxUiState -import com.sdds.testing.vs.checkbox.checkBox -import com.sdds.testing.vs.checkbox.checkBoxGroup -import com.sdds.testing.vs.chip.ChipUiState -import com.sdds.testing.vs.chip.chip -import com.sdds.testing.vs.chip.chipGroup -import com.sdds.testing.vs.codefield.codeField -import com.sdds.testing.vs.codeinput.codeInput -import com.sdds.testing.vs.counter.CounterUiState -import com.sdds.testing.vs.counter.counter -import com.sdds.testing.vs.divider.divider -import com.sdds.testing.vs.drawer.drawer -import com.sdds.testing.vs.dropdownmenu.dropdownMenuTrigger -import com.sdds.testing.vs.editable.editable -import com.sdds.testing.vs.file.file -import com.sdds.testing.vs.flow.FlowUiState -import com.sdds.testing.vs.flow.flowLayout -import com.sdds.testing.vs.image.image -import com.sdds.testing.vs.indicator.indicator -import com.sdds.testing.vs.list.listView -import com.sdds.testing.vs.loader.loader -import com.sdds.testing.vs.mask.maskedTextField -import com.sdds.testing.vs.modal.modalTrigger -import com.sdds.testing.vs.navigationbar.navigationBar -import com.sdds.testing.vs.navigationdrawer.NavigationDrawerUiState -import com.sdds.testing.vs.navigationdrawer.navigationDrawer -import com.sdds.testing.vs.note.note -import com.sdds.testing.vs.note.noteCompact -import com.sdds.testing.vs.notification.notificationTrigger -import com.sdds.testing.vs.notificationcontent.notificationContent -import com.sdds.testing.vs.overlay.overlayWithTrigger -import com.sdds.testing.vs.paginationdots.paginationDots -import com.sdds.testing.vs.popover.popoverWithTrigger -import com.sdds.testing.vs.progress.CircularProgressUiState -import com.sdds.testing.vs.progress.ProgressUiState -import com.sdds.testing.vs.progress.circularProgressBar -import com.sdds.testing.vs.progress.progressBar -import com.sdds.testing.vs.radiobox.RadioBoxUiState -import com.sdds.testing.vs.radiobox.radioBox -import com.sdds.testing.vs.radiobox.radioBoxGroup -import com.sdds.testing.vs.scrollbar.scrollBar -import com.sdds.testing.vs.segement.SegmentUiState -import com.sdds.testing.vs.segement.segment -import com.sdds.testing.vs.segement.segmentItem -import com.sdds.testing.vs.skeleton.rectSkeleton -import com.sdds.testing.vs.skeleton.textSkeleton -import com.sdds.testing.vs.slider.slider -import com.sdds.testing.vs.spinner.spinner -import com.sdds.testing.vs.switcher.SwitchUiState -import com.sdds.testing.vs.switcher.switch -import com.sdds.testing.vs.tabs.iconTabs -import com.sdds.testing.vs.tabs.tabs -import com.sdds.testing.vs.textfield.TextFieldUiState -import com.sdds.testing.vs.textfield.textArea -import com.sdds.testing.vs.textfield.textField -import com.sdds.testing.vs.toast.toastTrigger -import com.sdds.testing.vs.toolbar.toolBar -import com.sdds.testing.vs.tooltip.tooltipWithTrigger -import com.sdds.testing.vs.wheel.wheel import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.stories.accordion.accordion +import com.sdds.uikit.fixtures.stories.autocomplete.autocomplete +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.avatar +import com.sdds.uikit.fixtures.stories.avatar.avatarGroup +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.badge +import com.sdds.uikit.fixtures.stories.badge.iconBadge +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.button.buttonGroup +import com.sdds.uikit.fixtures.stories.button.iconButton +import com.sdds.uikit.fixtures.stories.button.linkButton +import com.sdds.uikit.fixtures.stories.card.CardUiState +import com.sdds.uikit.fixtures.stories.card.card +import com.sdds.uikit.fixtures.stories.carousel.carousel +import com.sdds.uikit.fixtures.stories.cell.CellUiState +import com.sdds.uikit.fixtures.stories.cell.cellLayout +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState +import com.sdds.uikit.fixtures.stories.checkbox.checkBox +import com.sdds.uikit.fixtures.stories.checkbox.checkBoxGroup +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.chip +import com.sdds.uikit.fixtures.stories.chip.chipGroup +import com.sdds.uikit.fixtures.stories.codefield.codeField +import com.sdds.uikit.fixtures.stories.codeinput.codeInput +import com.sdds.uikit.fixtures.stories.counter.CounterUiState +import com.sdds.uikit.fixtures.stories.counter.counter +import com.sdds.uikit.fixtures.stories.divider.divider +import com.sdds.uikit.fixtures.stories.drawer.drawer +import com.sdds.uikit.fixtures.stories.dropdownmenu.dropdownMenuTrigger +import com.sdds.uikit.fixtures.stories.editable.editable +import com.sdds.uikit.fixtures.stories.file.file +import com.sdds.uikit.fixtures.stories.flow.FlowUiState +import com.sdds.uikit.fixtures.stories.flow.flowLayout +import com.sdds.uikit.fixtures.stories.image.image +import com.sdds.uikit.fixtures.stories.indicator.indicator +import com.sdds.uikit.fixtures.stories.list.listView +import com.sdds.uikit.fixtures.stories.loader.loader +import com.sdds.uikit.fixtures.stories.mask.maskedTextField +import com.sdds.uikit.fixtures.stories.modal.modalTrigger +import com.sdds.uikit.fixtures.stories.navigationbar.navigationBar +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerUiState +import com.sdds.uikit.fixtures.stories.navigationdrawer.navigationDrawer +import com.sdds.uikit.fixtures.stories.note.note +import com.sdds.uikit.fixtures.stories.note.noteCompact +import com.sdds.uikit.fixtures.stories.notification.notificationTrigger +import com.sdds.uikit.fixtures.stories.notificationcontent.notificationContent +import com.sdds.uikit.fixtures.stories.overlay.overlayWithTrigger +import com.sdds.uikit.fixtures.stories.paginationdots.paginationDots +import com.sdds.uikit.fixtures.stories.popover.popoverWithTrigger +import com.sdds.uikit.fixtures.stories.progress.CircularProgressUiState +import com.sdds.uikit.fixtures.stories.progress.ProgressUiState +import com.sdds.uikit.fixtures.stories.progress.circularProgressBar +import com.sdds.uikit.fixtures.stories.progress.progressBar +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.radioBox +import com.sdds.uikit.fixtures.stories.radiobox.radioBoxGroup +import com.sdds.uikit.fixtures.stories.scrollbar.scrollBar +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.segment +import com.sdds.uikit.fixtures.stories.segment.segmentItem +import com.sdds.uikit.fixtures.stories.select.select +import com.sdds.uikit.fixtures.stories.skeleton.rectSkeleton +import com.sdds.uikit.fixtures.stories.skeleton.textSkeleton +import com.sdds.uikit.fixtures.stories.slider.slider +import com.sdds.uikit.fixtures.stories.spinner.spinner +import com.sdds.uikit.fixtures.stories.switcher.SwitchUiState +import com.sdds.uikit.fixtures.stories.switcher.switch +import com.sdds.uikit.fixtures.stories.tabs.iconTabs +import com.sdds.uikit.fixtures.stories.tabs.tabs +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.textArea +import com.sdds.uikit.fixtures.stories.textfield.textField +import com.sdds.uikit.fixtures.stories.toast.toastTrigger +import com.sdds.uikit.fixtures.stories.toolbar.toolBar +import com.sdds.uikit.fixtures.stories.tooltip.tooltipWithTrigger +import com.sdds.uikit.fixtures.stories.wheel.wheel internal class MenuItem( val id: Int, @@ -441,6 +443,10 @@ internal sealed class ComponentScreen( object Editable : ComponentScreen( { item -> fragment(item.route, item.defaultBuilder) }, ) + + object Select : ComponentScreen( + { item -> fragment(item.route, item.defaultBuilder) }, + ) } @Suppress("CyclomaticComplexMethod", "LongMethod") @@ -507,6 +513,7 @@ private fun CoreComponent.screen(): ComponentScreen { CoreComponent.FILE -> ComponentScreen.File CoreComponent.NAVIGATION_BAR -> ComponentScreen.NavigationBar CoreComponent.EDITABLE -> ComponentScreen.Editable + CoreComponent.SELECT -> ComponentScreen.Select else -> throw NoSuchElementException("Component not implemented") } } @@ -575,6 +582,7 @@ private fun ComponentKey.routeId(): Int? { CoreComponent.FILE -> R.id.nav_file CoreComponent.NAVIGATION_BAR -> R.id.nav_navigation_bar CoreComponent.EDITABLE -> R.id.nav_editable + CoreComponent.SELECT -> R.id.nav_select else -> null }?.let { it + hashCode() } } @@ -689,6 +697,7 @@ internal fun MenuItem.preview(context: Context, style: Int): View { CoreComponent.FILE -> file(context, style) CoreComponent.NAVIGATION_BAR -> navigationBar(context, style) CoreComponent.EDITABLE -> editable(context, style) + CoreComponent.SELECT -> select(context, style) else -> throw NoSuchElementException("Component not implemented") } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterFragment.kt index 6f57aa5c7d..07aaad1020 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.counter.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.counter.CounterUiState -import com.sdds.testing.vs.counter.applyState -import com.sdds.testing.vs.counter.counter import com.sdds.uikit.Counter +import com.sdds.uikit.fixtures.stories.counter.CounterUiState +import com.sdds.uikit.fixtures.stories.counter.applyState +import com.sdds.uikit.fixtures.stories.counter.counter /** * Фрагмент с компонентом Counter diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterParametersViewModel.kt index 3dd9b02a99..b3dc70bc89 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/counter/vs/CounterParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.counter.CounterUiState +import com.sdds.uikit.fixtures.stories.counter.CounterUiState /** * ViewModel для экрана с компонентом Counter diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerFragment.kt index 87f69443c6..34495b3f9b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerFragment.kt @@ -4,9 +4,9 @@ import android.view.ContextThemeWrapper import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.divider.DividerUiState -import com.sdds.testing.vs.divider.divider import com.sdds.uikit.Divider +import com.sdds.uikit.fixtures.stories.divider.DividerUiState +import com.sdds.uikit.fixtures.stories.divider.divider /** * Фрагмент с компонентом Divider diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerViewModel.kt index d96804ffd7..5d6d2bbaa3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/divider/vs/DividerViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.divider.DividerUiState +import com.sdds.uikit.fixtures.stories.divider.DividerUiState /** * ViewModel компонента Divider diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerFragment.kt index a6c36b43e2..9f23b9dfa4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerFragment.kt @@ -6,10 +6,11 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.drawer.DrawerUiState -import com.sdds.testing.vs.drawer.applyState -import com.sdds.testing.vs.drawer.drawer import com.sdds.uikit.DrawerLayout +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.drawer.DrawerUiState +import com.sdds.uikit.fixtures.stories.drawer.applyState +import com.sdds.uikit.fixtures.stories.drawer.drawer /** * Фрагмент с компонентом Drawer @@ -33,6 +34,6 @@ internal class DrawerFragment : ComponentFragment(com.sdds.testing.R.id.drawer_layout)?.applyState(state) + component?.findViewById(R.id.drawer_layout)?.applyState(state) } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerViewModel.kt index e2b7e57e25..57d3ea46b5 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/drawer/vs/DrawerViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.drawer.CloseAlignment -import com.sdds.testing.vs.drawer.DrawerUiState import com.sdds.uikit.DrawerLayout +import com.sdds.uikit.fixtures.stories.drawer.CloseAlignment +import com.sdds.uikit.fixtures.stories.drawer.DrawerUiState /** * ViewModel компонента Drawer diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuFragment.kt index 4c50fef4c5..b64906135d 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuFragment.kt @@ -7,10 +7,10 @@ import android.widget.FrameLayout import androidx.core.view.updateMargins import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.dropdownmenu.DropdownMenuUiState -import com.sdds.testing.vs.dropdownmenu.dropdownMenuTrigger -import com.sdds.testing.vs.dropdownmenu.showWithState -import com.sdds.testing.vs.popover.toGravity +import com.sdds.uikit.fixtures.stories.dropdownmenu.DropdownMenuUiState +import com.sdds.uikit.fixtures.stories.dropdownmenu.dropdownMenuTrigger +import com.sdds.uikit.fixtures.stories.dropdownmenu.showWithState +import com.sdds.uikit.fixtures.stories.popover.toGravity internal class DropdownMenuFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuViewModel.kt index ad3ca13392..cac85242b3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/dropdownmenu/vs/DropdownMenuViewModel.kt @@ -6,11 +6,11 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.dropdownmenu.DropdownMenuUiState -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.dropdownmenu.DropdownMenuUiState +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment internal class DropdownMenuViewModel( defaultState: DropdownMenuUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableFragment.kt index 4497907843..30d9f64cac 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.editable.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.editable.EditableUiState -import com.sdds.testing.vs.editable.applyState -import com.sdds.testing.vs.editable.editable import com.sdds.uikit.Editable +import com.sdds.uikit.fixtures.stories.editable.EditableUiState +import com.sdds.uikit.fixtures.stories.editable.applyState +import com.sdds.uikit.fixtures.stories.editable.editable /** * Фрагмент с компонентом Editable diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableParametersViewModel.kt index b39b85631a..6c15bd8d0f 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/editable/vs/EditableParametersViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.editable.EditableUiState -import com.sdds.testing.vs.editable.IconPlacement -import com.sdds.testing.vs.editable.TextAlign +import com.sdds.uikit.fixtures.stories.editable.EditableUiState +import com.sdds.uikit.fixtures.stories.editable.IconPlacement +import com.sdds.uikit.fixtures.stories.editable.TextAlign /** * ViewModel для экранов с компонентом Editable diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileFragment.kt index f809c5cb44..4f2b2ab3d8 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileFragment.kt @@ -6,11 +6,11 @@ import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.databinding.LayoutComponentFileBinding -import com.sdds.testing.vs.file.FileUiState -import com.sdds.testing.vs.file.applyState -import com.sdds.testing.vs.file.fileLayoutBinding import com.sdds.uikit.File +import com.sdds.uikit.fixtures.databinding.LayoutComponentFileBinding +import com.sdds.uikit.fixtures.stories.file.FileUiState +import com.sdds.uikit.fixtures.stories.file.applyState +import com.sdds.uikit.fixtures.stories.file.fileLayoutBinding /** * Фрагмент с компонентом File diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileParametersViewModel.kt index 698fc3f600..ef3c4a97b4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/file/vs/FileParametersViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.file.ActionPlacement -import com.sdds.testing.vs.file.FileContentType -import com.sdds.testing.vs.file.FileUiState +import com.sdds.uikit.fixtures.stories.file.ActionPlacement +import com.sdds.uikit.fixtures.stories.file.FileContentType +import com.sdds.uikit.fixtures.stories.file.FileUiState /** * ViewModel для экранов с компонентом File diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowFragment.kt index 53c09a26c3..0e6d78d2dd 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowFragment.kt @@ -5,10 +5,10 @@ import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.flow.FlowUiState -import com.sdds.testing.vs.flow.applyState -import com.sdds.testing.vs.flow.flowLayout import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.stories.flow.FlowUiState +import com.sdds.uikit.fixtures.stories.flow.applyState +import com.sdds.uikit.fixtures.stories.flow.flowLayout /** * Фрагмент с компонентом FlowLayout diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowViewModel.kt index 41ae4495db..ad55a082d0 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/flow/vs/FlowViewModel.kt @@ -6,10 +6,10 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.flow.FlowAlignment -import com.sdds.testing.vs.flow.FlowArrangement -import com.sdds.testing.vs.flow.FlowOrientation -import com.sdds.testing.vs.flow.FlowUiState +import com.sdds.uikit.fixtures.stories.flow.FlowAlignment +import com.sdds.uikit.fixtures.stories.flow.FlowArrangement +import com.sdds.uikit.fixtures.stories.flow.FlowOrientation +import com.sdds.uikit.fixtures.stories.flow.FlowUiState /** * ViewModel компонента Flow diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageFragment.kt index 1ddcbb4177..5bff82345a 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageFragment.kt @@ -4,9 +4,9 @@ import android.view.ContextThemeWrapper import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.image.ImageUiState -import com.sdds.testing.vs.image.image import com.sdds.uikit.ImageView +import com.sdds.uikit.fixtures.stories.image.ImageUiState +import com.sdds.uikit.fixtures.stories.image.image /** * Фрагмент с компонентом ImageView diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageParametersViewModel.kt index 2766aa7654..172c5bf31a 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/image/vs/ImageParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.image.ImageUiState +import com.sdds.uikit.fixtures.stories.image.ImageUiState /** * ViewModel компонента ImageView diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorFragment.kt index db05ac7c6a..b6e5829dc4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorFragment.kt @@ -3,9 +3,9 @@ package com.sdds.playground.sandbox.indicator.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.indicator.IndicatorUiState -import com.sdds.testing.vs.indicator.indicator import com.sdds.uikit.Indicator +import com.sdds.uikit.fixtures.stories.indicator.IndicatorUiState +import com.sdds.uikit.fixtures.stories.indicator.indicator /** * Фрагмент с компонентом Indicator diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorParametersViewModel.kt index 543c1d9e43..5a0bf8b1db 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/indicator/vs/IndicatorParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.indicator.IndicatorUiState +import com.sdds.uikit.fixtures.stories.indicator.IndicatorUiState /** * ViewModel компонента ProgressBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListFragment.kt index 522ab4a2e7..88384a9067 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListFragment.kt @@ -4,10 +4,10 @@ import android.view.ContextThemeWrapper import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.list.ListUiState -import com.sdds.testing.vs.list.applyState -import com.sdds.testing.vs.list.listView import com.sdds.uikit.ListView +import com.sdds.uikit.fixtures.stories.list.ListUiState +import com.sdds.uikit.fixtures.stories.list.applyState +import com.sdds.uikit.fixtures.stories.list.listView internal class ListFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListViewModel.kt index 79eee79dc2..7fae8aa859 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/list/vs/ListViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.list.ListUiState +import com.sdds.uikit.fixtures.stories.list.ListUiState internal class ListViewModel( defaultState: ListUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderFragment.kt index 7e86c4f902..1ff45f71a3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderFragment.kt @@ -4,10 +4,10 @@ import android.view.ContextThemeWrapper import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.loader.LoaderUiState -import com.sdds.testing.vs.loader.applyState -import com.sdds.testing.vs.loader.loader import com.sdds.uikit.Loader +import com.sdds.uikit.fixtures.stories.loader.LoaderUiState +import com.sdds.uikit.fixtures.stories.loader.applyState +import com.sdds.uikit.fixtures.stories.loader.loader internal class LoaderFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderViewModel.kt index 270ed53156..8b5e2af908 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/loader/vs/LoaderViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.loader.LoaderType -import com.sdds.testing.vs.loader.LoaderUiState +import com.sdds.uikit.fixtures.stories.loader.LoaderType +import com.sdds.uikit.fixtures.stories.loader.LoaderUiState internal class LoaderViewModel( defaultState: LoaderUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalFragment.kt index 8a2ff660e1..451925e91b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalFragment.kt @@ -5,8 +5,8 @@ import android.view.View import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.modal.ModalUiState -import com.sdds.testing.vs.modal.modalTrigger +import com.sdds.uikit.fixtures.stories.modal.ModalUiState +import com.sdds.uikit.fixtures.stories.modal.modalTrigger /** * Фрагмент с компонентом Modal diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalViewModel.kt index 45362ec666..723a6d98c0 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/modal/vs/ModalViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.modal.ModalGravity -import com.sdds.testing.vs.modal.ModalUiState +import com.sdds.uikit.fixtures.stories.modal.ModalGravity +import com.sdds.uikit.fixtures.stories.modal.ModalUiState /** * ViewModel компонента Modal diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarFragment.kt index 00bd36898c..d41771c8a2 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarFragment.kt @@ -8,10 +8,10 @@ import android.widget.FrameLayout.LayoutParams import androidx.core.view.setMargins import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.navigationbar.NavigationBarUiState -import com.sdds.testing.vs.navigationbar.applyState -import com.sdds.testing.vs.navigationbar.navigationBar import com.sdds.uikit.NavigationBar +import com.sdds.uikit.fixtures.stories.navigationbar.NavigationBarUiState +import com.sdds.uikit.fixtures.stories.navigationbar.applyState +import com.sdds.uikit.fixtures.stories.navigationbar.navigationBar /** * Фрагмент с компонентом NavigationBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarParametersViewModel.kt index f8d984686c..fa647096e5 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationbar/vs/NavigationBarParametersViewModel.kt @@ -6,12 +6,12 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.navigationbar.AlignmentStrategy -import com.sdds.testing.vs.navigationbar.ContentBetweenActionsAlignment -import com.sdds.testing.vs.navigationbar.ContentPlacement -import com.sdds.testing.vs.navigationbar.NavigationBarUiState -import com.sdds.testing.vs.navigationbar.TextAlignment -import com.sdds.testing.vs.navigationbar.TextPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.AlignmentStrategy +import com.sdds.uikit.fixtures.stories.navigationbar.ContentBetweenActionsAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.ContentPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.NavigationBarUiState +import com.sdds.uikit.fixtures.stories.navigationbar.TextAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.TextPlacement /** * ViewModel для экранов с компонентом NavigationBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerFragment.kt index bbc7b49a00..97513ba6fa 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerFragment.kt @@ -7,10 +7,10 @@ import android.widget.FrameLayout import androidx.core.view.setMargins import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.navigationdrawer.NavigationDrawerUiState -import com.sdds.testing.vs.navigationdrawer.applyState -import com.sdds.testing.vs.navigationdrawer.navigationDrawer import com.sdds.uikit.NavigationDrawer +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerUiState +import com.sdds.uikit.fixtures.stories.navigationdrawer.applyState +import com.sdds.uikit.fixtures.stories.navigationdrawer.navigationDrawer internal class NavigationDrawerFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerViewModel.kt index 806bf720e5..678fb4b647 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/navigationdrawer/NavigationDrawerViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.navigationdrawer.NavigationDrawerMode -import com.sdds.testing.vs.navigationdrawer.NavigationDrawerUiState +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerMode +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerUiState internal class NavigationDrawerViewModel( defaultState: NavigationDrawerUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactFragment.kt index b83a124f91..2fab8d6fce 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.note.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.note.NoteUiState -import com.sdds.testing.vs.note.applyState -import com.sdds.testing.vs.note.noteCompact import com.sdds.uikit.NoteCompact +import com.sdds.uikit.fixtures.stories.note.NoteUiState +import com.sdds.uikit.fixtures.stories.note.applyState +import com.sdds.uikit.fixtures.stories.note.noteCompact /** * Фрагмент с компонентом NoteCompact diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactParametersViewModel.kt index ed53e9c915..58414948fc 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteCompactParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.note.NoteUiState +import com.sdds.uikit.fixtures.stories.note.NoteUiState /** * ViewModel для экранов с компонентом NoteCompact diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteFragment.kt index 01300a03be..4cdb58c47b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.note.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.note.NoteUiState -import com.sdds.testing.vs.note.applyState -import com.sdds.testing.vs.note.note import com.sdds.uikit.Note +import com.sdds.uikit.fixtures.stories.note.NoteUiState +import com.sdds.uikit.fixtures.stories.note.applyState +import com.sdds.uikit.fixtures.stories.note.note /** * Фрагмент с компонентом Note diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteParametersViewModel.kt index 7d007b1018..d465e816a4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/note/vs/NoteParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.note.NoteUiState +import com.sdds.uikit.fixtures.stories.note.NoteUiState /** * ViewModel для экранов с компонентом Note diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationFragment.kt index a074ed789a..a6cef7afd3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationFragment.kt @@ -5,9 +5,9 @@ import android.view.ContextThemeWrapper import android.view.View import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.notification.NotificationUiState -import com.sdds.testing.vs.notification.notification -import com.sdds.testing.vs.notification.notificationTrigger +import com.sdds.uikit.fixtures.stories.notification.NotificationUiState +import com.sdds.uikit.fixtures.stories.notification.notification +import com.sdds.uikit.fixtures.stories.notification.notificationTrigger internal class NotificationFragment : ComponentFragment() { private var notificationContext: Context? = null diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationViewModel.kt index 9501c4d8ba..26c8d458eb 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notification/vs/NotificationViewModel.kt @@ -6,7 +6,7 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.notification.NotificationUiState +import com.sdds.uikit.fixtures.stories.notification.NotificationUiState import com.sdds.uikit.overlays.OverlayPosition internal class NotificationViewModel( diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentFragment.kt index d88e292fec..d269990591 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.notificationcontent.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.notificationcontent.NotificationContentUiState -import com.sdds.testing.vs.notificationcontent.applyState -import com.sdds.testing.vs.notificationcontent.notificationContent import com.sdds.uikit.NotificationContent +import com.sdds.uikit.fixtures.stories.notificationcontent.NotificationContentUiState +import com.sdds.uikit.fixtures.stories.notificationcontent.applyState +import com.sdds.uikit.fixtures.stories.notificationcontent.notificationContent internal class NotificationContentFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentParametersViewModel.kt index 027c3abcf7..f852aaf390 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/notificationcontent/vs/NotificationContentParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.notificationcontent.NotificationContentUiState +import com.sdds.uikit.fixtures.stories.notificationcontent.NotificationContentUiState /** * ViewModel для экранов с компонентом NotificationContent diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayFragment.kt index cddba6ae6b..cc24de158c 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayFragment.kt @@ -5,10 +5,11 @@ import android.view.View import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.overlay.OverlayUiState -import com.sdds.testing.vs.overlay.applyState -import com.sdds.testing.vs.overlay.overlayWithTrigger import com.sdds.uikit.OverlayView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.overlay.OverlayUiState +import com.sdds.uikit.fixtures.stories.overlay.applyState +import com.sdds.uikit.fixtures.stories.overlay.overlayWithTrigger internal class OverlayFragment : ComponentFragment() { @@ -27,6 +28,6 @@ internal class OverlayFragment : ComponentFragment(com.sdds.testing.R.id.overlay)?.applyState(state) + component?.findViewById(R.id.overlay)?.applyState(state) } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayViewModel.kt index 693380a559..5ec0e66b65 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/overlay/vs/OverlayViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.overlay.OverlayUiState +import com.sdds.uikit.fixtures.stories.overlay.OverlayUiState internal class OverlayViewModel( defaultState: OverlayUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsFragment.kt index 420bfbad1a..ef07c55d83 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsFragment.kt @@ -4,10 +4,11 @@ import android.view.ContextThemeWrapper import android.view.View import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.paginationdots.PaginationDotsUiState -import com.sdds.testing.vs.paginationdots.applyState -import com.sdds.testing.vs.paginationdots.paginationDotsWithControls import com.sdds.uikit.PaginationDots +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.paginationdots.PaginationDotsUiState +import com.sdds.uikit.fixtures.stories.paginationdots.applyState +import com.sdds.uikit.fixtures.stories.paginationdots.paginationDotsWithControls internal class PaginationDotsFragment : ComponentFragment() { @@ -33,6 +34,6 @@ internal class PaginationDotsFragment : ComponentFragment(com.sdds.testing.R.id.pagination_dots)?.applyState(state) + component?.findViewById(R.id.pagination_dots)?.applyState(state) } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsViewModel.kt index d03219ec10..0a462a9010 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/paginationdots/vs/PaginationDotsViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.paginationdots.PaginationDotsUiState +import com.sdds.uikit.fixtures.stories.paginationdots.PaginationDotsUiState internal class PaginationDotsViewModel( defaultState: PaginationDotsUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverFragment.kt index c0d27eeeb6..a7d5c9f2cd 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverFragment.kt @@ -6,11 +6,11 @@ import android.view.View import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.popover.PopoverUiState -import com.sdds.testing.vs.popover.popoverWithTrigger -import com.sdds.testing.vs.popover.showWithState -import com.sdds.testing.vs.popover.toGravity import com.sdds.uikit.Popover +import com.sdds.uikit.fixtures.stories.popover.PopoverUiState +import com.sdds.uikit.fixtures.stories.popover.popoverWithTrigger +import com.sdds.uikit.fixtures.stories.popover.showWithState +import com.sdds.uikit.fixtures.stories.popover.toGravity /** * Фрагмент с компонентом Popover diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverViewModel.kt index bd5c13434d..878723f3fc 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/popover/vs/PopoverViewModel.kt @@ -6,11 +6,11 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment -import com.sdds.testing.vs.popover.PopoverUiState +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverUiState /** * ViewModel компонента Popover diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarFragment.kt index 294e058e91..79112a9e05 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.progress.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.progress.CircularProgressUiState -import com.sdds.testing.vs.progress.applyState -import com.sdds.testing.vs.progress.circularProgressBar import com.sdds.uikit.CircularProgressBar +import com.sdds.uikit.fixtures.stories.progress.CircularProgressUiState +import com.sdds.uikit.fixtures.stories.progress.applyState +import com.sdds.uikit.fixtures.stories.progress.circularProgressBar /** * Фрагмент с компонентом CircularProgressBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarViewModel.kt index 6de51d712d..df9ca3aeea 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/CircularProgressBarViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.progress.CircularProgressUiState +import com.sdds.uikit.fixtures.stories.progress.CircularProgressUiState import kotlin.math.roundToInt /** diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarFragment.kt index 6a17c22ccb..1a195ace48 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarFragment.kt @@ -4,12 +4,11 @@ import android.view.ContextThemeWrapper import android.view.ViewGroup.LayoutParams import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider -import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.progress.ProgressUiState -import com.sdds.testing.vs.progress.applyState -import com.sdds.testing.vs.progress.progressBar import com.sdds.uikit.ProgressBar +import com.sdds.uikit.fixtures.stories.progress.ProgressUiState +import com.sdds.uikit.fixtures.stories.progress.applyState +import com.sdds.uikit.fixtures.stories.progress.progressBar /** * Фрагмент с компонентом ProgressBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarViewModel.kt index f39c46f9ab..fecf4846bd 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/progress/vs/ProgressBarViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.progress.ProgressUiState +import com.sdds.uikit.fixtures.stories.progress.ProgressUiState import kotlin.math.roundToInt /** diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxFragment.kt index 760c36d662..aa29613ecf 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.radiobox.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.radiobox.RadioBoxUiState -import com.sdds.testing.vs.radiobox.applyState -import com.sdds.testing.vs.radiobox.radioBox import com.sdds.uikit.RadioBox +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.applyState +import com.sdds.uikit.fixtures.stories.radiobox.radioBox /** * Фрагмент с компонентом RadioBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxViewModel.kt index c81add0980..7a62064223 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/RadioBoxViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState /** * ViewModel для экранов с компонентом RadioBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupFragment.kt index fa974e3851..91eb056767 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupFragment.kt @@ -4,12 +4,11 @@ import android.view.ContextThemeWrapper import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider -import com.sdds.playground.sandbox.R import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.radiobox.RadioBoxUiState -import com.sdds.testing.vs.radiobox.applyState -import com.sdds.testing.vs.radiobox.radioBoxGroup import com.sdds.uikit.RadioBoxGroup +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.applyState +import com.sdds.uikit.fixtures.stories.radiobox.radioBoxGroup /** * Фрагмент с компонентом RadioBoxGroup diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupViewModel.kt index f931c4e09d..c08ae92f79 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/radiobox/vs/group/RadioBoxGroupViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState /** * ViewModel для экранов с компонентом RadioBox diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonFragment.kt index 51e5a2449f..9704aac32a 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonFragment.kt @@ -4,9 +4,9 @@ import android.view.ContextThemeWrapper import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.skeleton.RectSkeletonUiState -import com.sdds.testing.vs.skeleton.rectSkeleton import com.sdds.uikit.RectSkeleton +import com.sdds.uikit.fixtures.stories.skeleton.RectSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.rectSkeleton /** * Фрагмент с компонентом RectSkeleton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonParametersViewModel.kt index fd3510a456..6f18d375a2 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/rectskeleton/vs/RectSkeletonParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.skeleton.RectSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.RectSkeletonUiState /** * ViewModel компонента ProgressBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarFragment.kt index d66101131f..d8d524f185 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarFragment.kt @@ -5,11 +5,12 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.scrollbar.ScrollBarContainer -import com.sdds.testing.vs.scrollbar.ScrollBarUiState -import com.sdds.testing.vs.scrollbar.ScrollOrientation -import com.sdds.testing.vs.scrollbar.applyState -import com.sdds.testing.vs.scrollbar.scrollBar +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarContainer +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarUiState +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollOrientation +import com.sdds.uikit.fixtures.stories.scrollbar.applyState +import com.sdds.uikit.fixtures.stories.scrollbar.scrollBar /** * Фрагмент с компонентом ScrollBar @@ -48,6 +49,6 @@ internal class ScrollBarFragment : ComponentFragment(com.sdds.testing.R.id.scroll_container)?.applyState(state) + component?.findViewById(R.id.scroll_container)?.applyState(state) } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarParametersViewModel.kt index 6a9205fa73..9ee85c6ff5 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/scrollbar/vs/ScrollBarParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.scrollbar.ScrollBarUiState -import com.sdds.testing.vs.scrollbar.ScrollOrientation +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarUiState +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollOrientation /** * ViewModel компонента ScrollBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentItemFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentItemFragment.kt index 7be71e3599..8d63b048e4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentItemFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentItemFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.segment.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.segement.SegmentUiState -import com.sdds.testing.vs.segement.applyState -import com.sdds.testing.vs.segement.segmentItem import com.sdds.uikit.SegmentItem +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.applyState +import com.sdds.uikit.fixtures.stories.segment.segmentItem internal class SegmentItemFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentParametersViewModel.kt index dabb508d3f..61a8f986e8 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/SegmentParametersViewModel.kt @@ -5,9 +5,9 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.segement.SegmentItemIcon -import com.sdds.testing.vs.segement.SegmentOrientation -import com.sdds.testing.vs.segement.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.SegmentItemIcon +import com.sdds.uikit.fixtures.stories.segment.SegmentOrientation +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState internal class SegmentItemViewModel( defaultState: SegmentUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentFragment.kt index ee82096449..cb860fd3b3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentFragment.kt @@ -6,11 +6,11 @@ import android.view.ViewGroup.LayoutParams.WRAP_CONTENT import android.widget.FrameLayout.LayoutParams import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.segement.SegmentOrientation -import com.sdds.testing.vs.segement.SegmentUiState -import com.sdds.testing.vs.segement.applyState -import com.sdds.testing.vs.segement.segment import com.sdds.uikit.Segment +import com.sdds.uikit.fixtures.stories.segment.SegmentOrientation +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.applyState +import com.sdds.uikit.fixtures.stories.segment.segment internal class SegmentFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentViewModel.kt index 31c33248a5..22c27517eb 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/segment/vs/group/SegmentViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.segement.SegmentItemIcon -import com.sdds.testing.vs.segement.SegmentOrientation -import com.sdds.testing.vs.segement.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.SegmentItemIcon +import com.sdds.uikit.fixtures.stories.segment.SegmentOrientation +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState internal class SegmentViewModel( defaultState: SegmentUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectScreen.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectScreen.kt similarity index 94% rename from playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectScreen.kt rename to playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectScreen.kt index e14118dccf..648965e5b4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectScreen.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectScreen.kt @@ -1,4 +1,4 @@ -package com.sdds.playground.sandbox.select +package com.sdds.playground.sandbox.select.compose import android.util.Log import androidx.compose.foundation.layout.Arrangement @@ -81,8 +81,8 @@ internal fun SelectScreen(componentKey: ComponentKey = ComponentKey.Select) { enabled = selectUiState.enabled, placeholderText = if (value.isEmpty()) "Сотрудник" else null, captionText = "Выберите имя", - iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, - iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + iconOpened = R.drawable.ic_chevron_up_24, + iconClosed = R.drawable.ic_chevron_down_24, chipsContent = getChipsContent(itemType, checkedStateManager.selectedItems), startContent = { Icon( @@ -99,8 +99,8 @@ internal fun SelectScreen(componentKey: ComponentKey = ComponentKey.Select) { label = value, readonly = selectUiState.readOnly, enabled = selectUiState.enabled, - iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, - iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + iconOpened = R.drawable.ic_chevron_up_24, + iconClosed = R.drawable.ic_chevron_down_24, ) } } @@ -152,8 +152,8 @@ internal fun SelectPreview(style: SelectStyle) { SelectButton( modifier = Modifier.width(260.dp), label = getButtonValue(SelectItemType.Single, stateManager.selectedItems), - iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, - iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + iconOpened = R.drawable.ic_chevron_up_24, + iconClosed = R.drawable.ic_chevron_down_24, ) }, listContent = { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectUiState.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectUiState.kt similarity index 96% rename from playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectUiState.kt rename to playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectUiState.kt index 2a7e8af0b1..86f285443b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectUiState.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectUiState.kt @@ -1,4 +1,4 @@ -package com.sdds.playground.sandbox.select +package com.sdds.playground.sandbox.select.compose import androidx.compose.ui.Alignment import androidx.compose.ui.window.PopupProperties diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectViewModel.kt similarity index 98% rename from playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectViewModel.kt rename to playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectViewModel.kt index 3e47c52e13..a294a5e2d9 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/SelectViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/compose/SelectViewModel.kt @@ -1,4 +1,4 @@ -package com.sdds.playground.sandbox.select +package com.sdds.playground.sandbox.select.compose import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectFragment.kt new file mode 100644 index 0000000000..7669965554 --- /dev/null +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectFragment.kt @@ -0,0 +1,48 @@ +package com.sdds.playground.sandbox.select.vs + +import android.view.ContextThemeWrapper +import android.view.Gravity +import androidx.lifecycle.ViewModelProvider +import com.sdds.playground.sandbox.core.vs.ComponentFragment +import com.sdds.uikit.Select +import com.sdds.uikit.fixtures.stories.popover.toGravity +import com.sdds.uikit.fixtures.stories.select.SelectUiState +import com.sdds.uikit.fixtures.stories.select.applyState +import com.sdds.uikit.fixtures.stories.select.select + +internal class SelectFragment : ComponentFragment() { + + private var currentTriggerGravity: Int = Gravity.CENTER + + override val viewModelFactory: ViewModelProvider.Factory by lazy { + SelectViewModelFactory( + defaultState = getState { SelectUiState() }, + componentKey = componentKey, + ) + } + + override val defaultGravity: Int + get() = currentTriggerGravity + + override fun shouldRecreateComponentOnStateUpdate(state: SelectUiState): Boolean { + val newGravity = state.triggerAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + override fun getComponent(contextWrapper: ContextThemeWrapper): Select { + return select(contextWrapper) + } + + override fun onComponentUpdate(component: Select?, state: SelectUiState) { + component?.applyState(state) + } + + override fun onComponentOffsetChanged(component: Select, offset: Float) { + super.onComponentOffsetChanged(component, offset) + component.updateDropdownLocation() + } +} diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectParametersViewModel.kt new file mode 100644 index 0000000000..6e6c3f779e --- /dev/null +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/select/vs/SelectParametersViewModel.kt @@ -0,0 +1,109 @@ +package com.sdds.playground.sandbox.select.vs + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.sdds.playground.sandbox.core.integration.component.ComponentKey +import com.sdds.playground.sandbox.core.vs.ComponentViewModel +import com.sdds.playground.sandbox.core.vs.Property +import com.sdds.playground.sandbox.core.vs.enumProperty +import com.sdds.uikit.Select +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.select.SelectUiState +import com.sdds.uikit.fixtures.stories.select.TriggerType + +internal class SelectParametersViewModel( + defaultState: SelectUiState, + componentKey: ComponentKey, +) : ComponentViewModel(defaultState, componentKey) { + + override fun updateProperty(name: String, value: Any?) { + super.updateProperty(name, value) + val valueString = value?.toString() ?: return + val propertyName = SelectProperties.values().find { it.value == name } ?: return + val currentState = internalUiState.value + internalUiState.value = when (propertyName) { + SelectProperties.ShowLoading -> currentState.copy(showLoading = valueString.toBoolean()) + SelectProperties.EmptyState -> currentState.copy(withEmptyState = valueString.toBoolean()) + SelectProperties.TriggerType -> currentState.copy(triggerType = TriggerType.valueOf(valueString)) + SelectProperties.TriggerAlignment -> currentState.copy( + triggerAlignment = PopoverTriggerAlignment.valueOf( + valueString, + ), + ) + + SelectProperties.DropdownPlacementMode -> currentState.copy( + dropdownPlacementMode = PopoverPlacementMode.valueOf( + valueString, + ), + ) + SelectProperties.SelectionMode -> currentState.copy( + selectionMode = Select.SelectionMode.valueOf( + valueString, + ), + ) + SelectProperties.Enabled -> currentState.copy(enabled = valueString.toBoolean()) + SelectProperties.ReadOnly -> currentState.copy(readOnly = valueString.toBoolean()) + } + } + + override fun SelectUiState.toProps(): List> { + return listOf( + Property.BooleanProperty( + name = SelectProperties.ShowLoading.value, + value = showLoading, + ), + + Property.BooleanProperty( + name = SelectProperties.EmptyState.value, + value = withEmptyState, + ), + enumProperty( + name = SelectProperties.TriggerType.value, + value = triggerType, + ), + enumProperty( + name = SelectProperties.TriggerAlignment.value, + value = triggerAlignment, + ), + enumProperty( + name = SelectProperties.DropdownPlacementMode.value, + value = dropdownPlacementMode, + ), + enumProperty( + name = SelectProperties.SelectionMode.value, + value = selectionMode, + ), + Property.BooleanProperty( + name = SelectProperties.Enabled.value, + value = enabled, + ), + Property.BooleanProperty( + name = SelectProperties.ReadOnly.value, + value = readOnly, + ), + ) + } + + private enum class SelectProperties(val value: String) { + ShowLoading("loading"), + EmptyState("emptyState"), + TriggerType("triggerType"), + TriggerAlignment("triggerAlignment"), + DropdownPlacementMode("dropdownPlacementMode"), + SelectionMode("selectionMode"), + Enabled("enabled"), + ReadOnly("readOnly"), + } +} + +internal class SelectViewModelFactory( + private val defaultState: SelectUiState, + private val componentKey: ComponentKey, +) : ViewModelProvider.Factory { + + @Suppress("UNCHECKED_CAST") + override fun create(modelClass: Class): T { + return SelectParametersViewModel(defaultState, componentKey) as T + } +} diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderFragment.kt index 4f9c116fd9..8e7e2079e2 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderFragment.kt @@ -5,10 +5,10 @@ import android.widget.FrameLayout import androidx.core.view.setMargins import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.slider.SliderUiState -import com.sdds.testing.vs.slider.applyState -import com.sdds.testing.vs.slider.slider import com.sdds.uikit.Slider +import com.sdds.uikit.fixtures.stories.slider.SliderUiState +import com.sdds.uikit.fixtures.stories.slider.applyState +import com.sdds.uikit.fixtures.stories.slider.slider /** * Фрагмент с компонентом Slider diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderParametersViewModel.kt index f4542f13fa..aa27c10969 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/slider/vs/SliderParametersViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.slider.Alignment -import com.sdds.testing.vs.slider.SlideDirection -import com.sdds.testing.vs.slider.SliderUiState +import com.sdds.uikit.fixtures.stories.slider.Alignment +import com.sdds.uikit.fixtures.stories.slider.SlideDirection +import com.sdds.uikit.fixtures.stories.slider.SliderUiState /** * ViewModel компонента Slider diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerFragment.kt index 43da0be2ce..37d12a69de 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerFragment.kt @@ -4,9 +4,9 @@ import android.view.ContextThemeWrapper import android.view.View import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.spinner.SpinnerUiState -import com.sdds.testing.vs.spinner.spinner import com.sdds.uikit.Spinner +import com.sdds.uikit.fixtures.stories.spinner.SpinnerUiState +import com.sdds.uikit.fixtures.stories.spinner.spinner /** * Фрагмент с компонентом Spinner diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerParametersViewModel.kt index 0f6a9ad963..247478bd0b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/spinner/vs/SpinnerParametersViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.spinner.SpinnerUiState +import com.sdds.uikit.fixtures.stories.spinner.SpinnerUiState /** * ViewModel компонента Spinner diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchFragment.kt index 5690abad77..feede00d9c 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchFragment.kt @@ -4,10 +4,10 @@ import android.view.ContextThemeWrapper import android.view.ViewGroup.LayoutParams import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.switcher.SwitchUiState -import com.sdds.testing.vs.switcher.applyState -import com.sdds.testing.vs.switcher.switch import com.sdds.uikit.Switch +import com.sdds.uikit.fixtures.stories.switcher.SwitchUiState +import com.sdds.uikit.fixtures.stories.switcher.applyState +import com.sdds.uikit.fixtures.stories.switcher.switch /** * Фрагмент с компонентом Switch diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchViewModel.kt index 8c57545658..ea27098cf4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/switcher/vs/SwitchViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.switcher.SwitchUiState +import com.sdds.uikit.fixtures.stories.switcher.SwitchUiState /** * ViewModel для экранов с компонентом Switch diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsFragment.kt index 78e8e52739..1b9569822b 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsFragment.kt @@ -3,11 +3,10 @@ package com.sdds.playground.sandbox.tabs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.tabs.TabsUiState -import com.sdds.testing.vs.tabs.applyIconsState -import com.sdds.testing.vs.tabs.iconTabs -import com.sdds.testing.vs.tabs.tabs import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.applyIconsState +import com.sdds.uikit.fixtures.stories.tabs.iconTabs internal class IconTabsFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsViewModel.kt index 937444081f..712e3ad851 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/IconTabsViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.tabs.DisplayMode -import com.sdds.testing.vs.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.DisplayMode +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState internal class IconTabsViewModel( defaultState: TabsUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsFragment.kt index 31411095c9..86d141eded 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.tabs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.tabs.TabsUiState -import com.sdds.testing.vs.tabs.applyState -import com.sdds.testing.vs.tabs.tabs import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.applyState +import com.sdds.uikit.fixtures.stories.tabs.tabs internal class TabsFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsViewModel.kt index 47f084b5af..10b35f8be7 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tabs/TabsViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.tabs.DisplayMode -import com.sdds.testing.vs.tabs.TabItemIcon -import com.sdds.testing.vs.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.DisplayMode +import com.sdds.uikit.fixtures.stories.tabs.TabItemIcon +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState internal class TabsViewModel( defaultState: TabsUiState, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskFragment.kt index 39b0c59317..cf5f341bdb 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.textfield.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.mask.MaskUiState -import com.sdds.testing.vs.mask.applyState -import com.sdds.testing.vs.mask.maskedTextField import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.mask.MaskUiState +import com.sdds.uikit.fixtures.stories.mask.applyState +import com.sdds.uikit.fixtures.stories.mask.maskedTextField /** * Фрагмент с масками в TextField diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskViewModel.kt index c1128b27bd..2b190306f4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/MaskViewModel.kt @@ -6,10 +6,10 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.mask.MaskUiState -import com.sdds.testing.vs.mask.TextFieldMask -import com.sdds.testing.vs.mask.TextFieldMaskDisplayMode import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.mask.MaskUiState +import com.sdds.uikit.fixtures.stories.mask.TextFieldMask +import com.sdds.uikit.fixtures.stories.mask.TextFieldMaskDisplayMode /** * [ViewModel] компонента [TextField] с маской diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaFragment.kt index fb1b037e67..dc4f0b40b8 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaFragment.kt @@ -5,10 +5,10 @@ import android.view.KeyEvent import androidx.core.widget.doAfterTextChanged import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.textfield.TextFieldUiState -import com.sdds.testing.vs.textfield.applyState -import com.sdds.testing.vs.textfield.textArea import com.sdds.uikit.TextArea +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.applyState +import com.sdds.uikit.fixtures.stories.textfield.textArea /** * Фрагмент с компонентом TextField diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaViewModel.kt index f0de0e735e..b4778978ae 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextAreaViewModel.kt @@ -5,8 +5,8 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.textfield.ExampleChipData -import com.sdds.testing.vs.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.ExampleChipData +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState /** * [ViewModel] компонента [TextArea] diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldFragment.kt index b1b790fbef..fc07fb4c5a 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldFragment.kt @@ -5,10 +5,10 @@ import android.view.KeyEvent import androidx.core.widget.doAfterTextChanged import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.textfield.TextFieldUiState -import com.sdds.testing.vs.textfield.applyState -import com.sdds.testing.vs.textfield.textField import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.applyState +import com.sdds.uikit.fixtures.stories.textfield.textField /** * Фрагмент с компонентом TextField diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldViewModel.kt index ef5d1077ec..bdfeb2eab3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textfield/vs/TextFieldViewModel.kt @@ -5,9 +5,9 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.textfield.ExampleChipData -import com.sdds.testing.vs.textfield.TextFieldUiState import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.textfield.ExampleChipData +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState /** * [ViewModel] компонента [TextField] diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonFragment.kt index f10f15b10c..75835caf32 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonFragment.kt @@ -7,11 +7,12 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.skeleton.TextSkeletonUiState -import com.sdds.testing.vs.skeleton.applyState -import com.sdds.testing.vs.skeleton.textSkeleton import com.sdds.uikit.TextSkeleton import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.skeleton.TextSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.applyState +import com.sdds.uikit.fixtures.stories.skeleton.textSkeleton /** * Фрагмент с компонентом TextSkeleton @@ -39,7 +40,7 @@ internal class TextSkeletonFragment : } override fun onComponentUpdate(component: View?, state: TextSkeletonUiState) { - component?.findViewById(com.sdds.testing.R.id.text_skeleton)?.applyState(state) - component?.findViewById(com.sdds.testing.R.id.text_over_skeleton)?.applyState(state) + component?.findViewById(R.id.text_skeleton)?.applyState(state) + component?.findViewById(R.id.text_over_skeleton)?.applyState(state) } } diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonParametersViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonParametersViewModel.kt index ad26b3ada1..f0d55d9795 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonParametersViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/textskeleton/vs/TextSkeletonParametersViewModel.kt @@ -6,8 +6,8 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.skeleton.TextSkeletonUiState -import com.sdds.testing.vs.skeleton.TextSkeletonWidth +import com.sdds.uikit.fixtures.stories.skeleton.TextSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.TextSkeletonWidth /** * ViewModel компонента TextSkeleton diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastFragment.kt index 4913bba4bd..4f881e604e 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastFragment.kt @@ -5,9 +5,9 @@ import android.view.ContextThemeWrapper import android.view.View import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.toast.ToastUiState -import com.sdds.testing.vs.toast.toast -import com.sdds.testing.vs.toast.toastTrigger +import com.sdds.uikit.fixtures.stories.toast.ToastUiState +import com.sdds.uikit.fixtures.stories.toast.toast +import com.sdds.uikit.fixtures.stories.toast.toastTrigger internal class ToastFragment : ComponentFragment() { private var toastContext: Context? = null diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastViewModel.kt index 437fbb4202..46ce12a167 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toast/vs/ToastViewModel.kt @@ -6,7 +6,7 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.toast.ToastUiState +import com.sdds.uikit.fixtures.stories.toast.ToastUiState import com.sdds.uikit.overlays.OverlayPosition internal class ToastViewModel( diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarFragment.kt index fb9ac4fe52..61a3b3ac42 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarFragment.kt @@ -4,10 +4,10 @@ import android.view.ContextThemeWrapper import android.widget.LinearLayout.HORIZONTAL import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.toolbar.ToolBarUiState -import com.sdds.testing.vs.toolbar.applyState -import com.sdds.testing.vs.toolbar.toolBar import com.sdds.uikit.ToolBar +import com.sdds.uikit.fixtures.stories.toolbar.ToolBarUiState +import com.sdds.uikit.fixtures.stories.toolbar.applyState +import com.sdds.uikit.fixtures.stories.toolbar.toolBar /** * Фрагмент с компонентом ToolBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarViewModel.kt index 436bf642d8..3e7a716ad3 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/toolbar/vs/ToolBarViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property -import com.sdds.testing.vs.toolbar.ToolBarUiState +import com.sdds.uikit.fixtures.stories.toolbar.ToolBarUiState /** * ViewModel компонента ToolBar diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/compose/TooltipScreen.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/compose/TooltipScreen.kt index 323fb69562..1ad1f2616a 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/compose/TooltipScreen.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/compose/TooltipScreen.kt @@ -1,5 +1,6 @@ package com.sdds.playground.sandbox.tooltip.compose +import android.util.Log import androidx.compose.foundation.layout.widthIn import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf @@ -45,7 +46,10 @@ internal fun TooltipScreen(componentKey: ComponentKey = ComponentKey.Tooltip) { .align(tooltipUiState.triggerPlacement.toAlignment()) .popoverTrigger(triggerInfo), label = "show", - onClick = { showTooltip.value = true }, + onClick = { + Log.d("Tooltip", "trigger button clicked") + showTooltip.value = true + }, ) Tooltip( show = showTooltip.value, diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipFragment.kt index 1c93697ce0..feccf62cf4 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipFragment.kt @@ -6,11 +6,11 @@ import android.view.View import android.widget.FrameLayout import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.popover.toGravity -import com.sdds.testing.vs.tooltip.TooltipUiState -import com.sdds.testing.vs.tooltip.showWithState -import com.sdds.testing.vs.tooltip.tooltipWithTrigger import com.sdds.uikit.Tooltip +import com.sdds.uikit.fixtures.stories.popover.toGravity +import com.sdds.uikit.fixtures.stories.tooltip.TooltipUiState +import com.sdds.uikit.fixtures.stories.tooltip.showWithState +import com.sdds.uikit.fixtures.stories.tooltip.tooltipWithTrigger /** * Фрагмент с компонентом Tooltip diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipViewModel.kt index c7d3a55580..0eaf5b60a6 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/tooltip/vs/TooltipViewModel.kt @@ -6,11 +6,11 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment -import com.sdds.testing.vs.tooltip.TooltipUiState +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.tooltip.TooltipUiState /** * ViewModel компонента Tooltip diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelFragment.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelFragment.kt index 392009862e..56bad77c97 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelFragment.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelFragment.kt @@ -3,10 +3,10 @@ package com.sdds.playground.sandbox.wheel.vs import android.view.ContextThemeWrapper import androidx.lifecycle.ViewModelProvider import com.sdds.playground.sandbox.core.vs.ComponentFragment -import com.sdds.testing.vs.wheel.WheelUiState -import com.sdds.testing.vs.wheel.applyState -import com.sdds.testing.vs.wheel.wheel import com.sdds.uikit.Wheel +import com.sdds.uikit.fixtures.stories.wheel.WheelUiState +import com.sdds.uikit.fixtures.stories.wheel.applyState +import com.sdds.uikit.fixtures.stories.wheel.wheel internal class WheelFragment : ComponentFragment() { diff --git a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelViewModel.kt b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelViewModel.kt index eb87cffef9..f8f80cb3c7 100644 --- a/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelViewModel.kt +++ b/playground/sandbox-compose/src/main/kotlin/com/sdds/playground/sandbox/wheel/vs/WheelViewModel.kt @@ -6,9 +6,9 @@ import com.sdds.playground.sandbox.core.integration.component.ComponentKey import com.sdds.playground.sandbox.core.vs.ComponentViewModel import com.sdds.playground.sandbox.core.vs.Property import com.sdds.playground.sandbox.core.vs.enumProperty -import com.sdds.testing.vs.wheel.WheelControlsDisplayMode -import com.sdds.testing.vs.wheel.WheelSeparatorType -import com.sdds.testing.vs.wheel.WheelUiState +import com.sdds.uikit.fixtures.stories.wheel.WheelControlsDisplayMode +import com.sdds.uikit.fixtures.stories.wheel.WheelSeparatorType +import com.sdds.uikit.fixtures.stories.wheel.WheelUiState internal class WheelViewModel( defaultState: WheelUiState, diff --git a/playground/sandbox-compose/src/main/res/values/routes.xml b/playground/sandbox-compose/src/main/res/values/routes.xml index 3e68f26035..9184bc5eda 100644 --- a/playground/sandbox-compose/src/main/res/values/routes.xml +++ b/playground/sandbox-compose/src/main/res/values/routes.xml @@ -63,4 +63,5 @@ + \ No newline at end of file diff --git a/playground/sandbox-plasma-sd-service-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/sd/service/integration/compose/PlasmaB2cComposeComponents.kt b/playground/sandbox-plasma-sd-service-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/sd/service/integration/compose/PlasmaB2cComposeComponents.kt index 8702cfba9b..674c8d7e9e 100644 --- a/playground/sandbox-plasma-sd-service-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/sd/service/integration/compose/PlasmaB2cComposeComponents.kt +++ b/playground/sandbox-plasma-sd-service-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/sd/service/integration/compose/PlasmaB2cComposeComponents.kt @@ -197,6 +197,13 @@ object PlasmaB2cComposeComponents : ComponentsProviderCompose() { "Tooltip" to PlasmaB2cTooltipVariationsCompose, ), ), + ComposeComponent( + ComponentKey.ToolBar, + mapOf( + "ToolBarHorizontal" to PlasmaB2cToolBarHorizontalVariationsCompose, + "ToolBarVertical" to PlasmaB2cToolBarVerticalVariationsCompose, + ), + ), ComposeComponent( ComponentKey.Toast, mapOf( diff --git a/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectItemVariationsView.kt b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectItemVariationsView.kt new file mode 100644 index 0000000000..842839a738 --- /dev/null +++ b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectItemVariationsView.kt @@ -0,0 +1,14 @@ +package com.sdds.playground.sandbox.plasma.stards.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSelectItemVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemL, + "M" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemM, + "S" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemS, + "Xs" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemXs, + ) +} diff --git a/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectVariationsView.kt b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectVariationsView.kt new file mode 100644 index 0000000000..c633444727 --- /dev/null +++ b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsSelectVariationsView.kt @@ -0,0 +1,14 @@ +package com.sdds.playground.sandbox.plasma.stards.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSelectVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectL, + "M" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectM, + "S" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectS, + "Xs" to DsR.style.Sdkit_StarDs_ComponentOverlays_SelectXs, + ) +} diff --git a/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsViewComponents.kt b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsViewComponents.kt index ed498ac4d1..1cb09f1a22 100644 --- a/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsViewComponents.kt +++ b/playground/sandbox-plasma-stards-integration/src/main/kotlin/com/sdds/playground/sandbox/plasma/stards/integration/view/PlasmaStardsViewComponents.kt @@ -104,6 +104,18 @@ object PlasmaStardsViewComponents : ComponentsProviderView() { "OverlayView" to PlasmaStardsOverlayViewVariationsView, ), ), + ViewComponent( + ComponentKey.Select, + mapOf( + "Select" to PlasmaStardsSelectVariationsView, + ), + ), + ViewComponent( + ComponentKey.SelectItem, + mapOf( + "SelectItem" to PlasmaStardsSelectItemVariationsView, + ), + ), ViewComponent( ComponentKey.ProgressBar, mapOf( diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/compose/SddsServComposeComponents.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/compose/SddsServComposeComponents.kt index f5f10e899e..027f2096e7 100644 --- a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/compose/SddsServComposeComponents.kt +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/compose/SddsServComposeComponents.kt @@ -203,6 +203,13 @@ object SddsServComposeComponents : ComponentsProviderCompose() { "Tooltip" to SddsServTooltipVariationsCompose, ), ), + ComposeComponent( + ComponentKey.ToolBar, + mapOf( + "ToolBarHorizontal" to SddsServToolBarHorizontalVariationsCompose, + "ToolBarVertical" to SddsServToolBarVerticalVariationsCompose, + ), + ), ComposeComponent( ComponentKey.Toast, mapOf( diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupDenseVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupDenseVariationsView.kt index 49ae478e30..c1f813c177 100644 --- a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupDenseVariationsView.kt +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupDenseVariationsView.kt @@ -6,6 +6,13 @@ import com.sdds.serv.R as DsR internal object SddsServEmbeddedChipGroupDenseVariationsView : ViewStyleProvider() { override val variations: Map = mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXl, + "Xl.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlDefault, + "Xl.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlAccent, + "Xl.Negative" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlNegative, + "Xl.Positive" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlPositive, + "Xl.Secondary" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlSecondary, + "Xl.Warning" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlWarning, "L" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseL, "L.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLDefault, "L.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLAccent, diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupWideVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupWideVariationsView.kt index 75a6890cf2..49977768cf 100644 --- a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupWideVariationsView.kt +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipGroupWideVariationsView.kt @@ -6,6 +6,13 @@ import com.sdds.serv.R as DsR internal object SddsServEmbeddedChipGroupWideVariationsView : ViewStyleProvider() { override val variations: Map = mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXl, + "Xl.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlDefault, + "Xl.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlAccent, + "Xl.Negative" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlNegative, + "Xl.Positive" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlPositive, + "Xl.Secondary" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlSecondary, + "Xl.Warning" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlWarning, "L" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideL, "L.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLDefault, "L.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLAccent, diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipVariationsView.kt index f5847eb872..bf46800dc2 100644 --- a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipVariationsView.kt +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServEmbeddedChipVariationsView.kt @@ -6,6 +6,13 @@ import com.sdds.serv.R as DsR internal object SddsServEmbeddedChipVariationsView : ViewStyleProvider() { override val variations: Map = mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXl, + "Xl.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlDefault, + "Xl.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlAccent, + "Xl.Negative" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlNegative, + "Xl.Positive" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlPositive, + "Xl.Secondary" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlSecondary, + "Xl.Warning" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlWarning, "L" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipL, "L.Default" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLDefault, "L.Accent" to DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLAccent, diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleNormalVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleNormalVariationsView.kt new file mode 100644 index 0000000000..dc7dee17d6 --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleNormalVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemMultipleNormalVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleTightVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleTightVariationsView.kt new file mode 100644 index 0000000000..36991be086 --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemMultipleTightVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemMultipleTightVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleNormalVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleNormalVariationsView.kt new file mode 100644 index 0000000000..d5f2b92181 --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleNormalVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemSingleNormalVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleTightVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleTightVariationsView.kt new file mode 100644 index 0000000000..251147a5b2 --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectItemSingleTightVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemSingleTightVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleNormalVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleNormalVariationsView.kt new file mode 100644 index 0000000000..32610d6eb3 --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleNormalVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectMultipleNormalVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleTightVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleTightVariationsView.kt new file mode 100644 index 0000000000..bc3163279c --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectMultipleTightVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectMultipleTightVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleNormalVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleNormalVariationsView.kt new file mode 100644 index 0000000000..19b2e23e5e --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleNormalVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectSingleNormalVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleTightVariationsView.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleTightVariationsView.kt new file mode 100644 index 0000000000..14e792e9ae --- /dev/null +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServSelectSingleTightVariationsView.kt @@ -0,0 +1,15 @@ +package com.sdds.playground.sandbox.sdds.serv.integration.view + +import com.sdds.playground.sandbox.core.integration.ViewStyleProvider +import com.sdds.serv.R as DsR + +internal object SddsServSelectSingleTightVariationsView : ViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightXl, + "L" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightL, + "M" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightM, + "S" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightS, + "Xs" to DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightXs, + ) +} diff --git a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServViewComponents.kt b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServViewComponents.kt index 84ce887b85..d61e3185d9 100644 --- a/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServViewComponents.kt +++ b/playground/sandbox-sdds-serv-integration/src/main/kotlin/com/sdds/playground/sandbox/sdds/serv/integration/view/SddsServViewComponents.kt @@ -194,13 +194,6 @@ object SddsServViewComponents : ComponentsProviderView() { "Tooltip" to SddsServTooltipVariationsView, ), ), - ViewComponent( - ComponentKey.ToolBar, - mapOf( - "ToolBarHorizontal" to SddsServToolBarHorizontalVariationsView, - "ToolBarVertical" to SddsServToolBarVerticalVariationsView, - ), - ), ViewComponent( ComponentKey.Toast, mapOf( @@ -419,5 +412,23 @@ object SddsServViewComponents : ComponentsProviderView() { "Editable" to SddsServEditableVariationsView, ), ), + ViewComponent( + ComponentKey.Select, + mapOf( + "SelectSingleNormal" to SddsServSelectSingleNormalVariationsView, + "SelectSingleTight" to SddsServSelectSingleTightVariationsView, + "SelectMultipleNormal" to SddsServSelectMultipleNormalVariationsView, + "SelectMultipleTight" to SddsServSelectMultipleTightVariationsView, + ), + ), + ViewComponent( + ComponentKey.SelectItem, + mapOf( + "SelectItemSingleNormal" to SddsServSelectItemSingleNormalVariationsView, + "SelectItemSingleTight" to SddsServSelectItemSingleTightVariationsView, + "SelectItemMultipleNormal" to SddsServSelectItemMultipleNormalVariationsView, + "SelectItemMultipleTight" to SddsServSelectItemMultipleTightVariationsView, + ), + ), ).associateBy { it.key } } diff --git a/sdds-core/docs-ksp/src/main/kotlin/com/sdds/docs/ksp/DocSamplesProcessor.kt b/sdds-core/docs-ksp/src/main/kotlin/com/sdds/docs/ksp/DocSamplesProcessor.kt index 593bf1c16d..66b42fe22d 100644 --- a/sdds-core/docs-ksp/src/main/kotlin/com/sdds/docs/ksp/DocSamplesProcessor.kt +++ b/sdds-core/docs-ksp/src/main/kotlin/com/sdds/docs/ksp/DocSamplesProcessor.kt @@ -8,6 +8,7 @@ import com.google.devtools.ksp.processing.SymbolProcessor import com.google.devtools.ksp.processing.SymbolProcessorEnvironment import com.google.devtools.ksp.processing.SymbolProcessorProvider import com.google.devtools.ksp.symbol.KSAnnotated +import com.google.devtools.ksp.symbol.KSFile import com.google.devtools.ksp.symbol.KSFunctionDeclaration import com.google.devtools.ksp.validate import java.io.OutputStreamWriter @@ -41,9 +42,9 @@ class DocSamplesProcessor( private val composableAnn = "androidx.compose.runtime.Composable" private val packageName: String = options["packageName"] ?: "com.sdds.docs" - private val kotlinEntries: LinkedHashMap = linkedMapOf() - private val viewEntries: LinkedHashMap = linkedMapOf() - private val composableEntries: LinkedHashMap = linkedMapOf() + private val kotlinEntries: HashMap = linkedMapOf() + private val viewEntries: HashMap = linkedMapOf() + private val composableEntries: HashMap = linkedMapOf() private var registryGenerated: Boolean = false /** @@ -85,7 +86,11 @@ class DocSamplesProcessor( continue } - val entry = Entry(key = key, reference = CallableReference(needScreenshot, ref)) + val entry = Entry( + key = key, + reference = CallableReference(needScreenshot, ref), + sourceFile = fn.containingFile, + ) val target = referenceType.getReferenceTarget() val existing = target.putIfAbsent(key, entry) if (existing != null) { @@ -121,7 +126,7 @@ class DocSamplesProcessor( } } - private fun ReferenceType.getReferenceTarget(): LinkedHashMap { + private fun ReferenceType.getReferenceTarget(): HashMap { return when (this) { ReferenceType.Composable -> composableEntries ReferenceType.View -> viewEntries @@ -177,14 +182,14 @@ class DocSamplesProcessor( composable: List, ) { val pkg = packageName - val fileName = "DocSampleRegistry" if (regular.isEmpty() && composable.isEmpty() && view.isEmpty()) return + val sources = (regular + view + composable).mapNotNull { it.sourceFile }.toTypedArray() val file = codeGenerator.createNewFile( - dependencies = Dependencies(aggregating = true), + dependencies = Dependencies(aggregating = true, sources = sources), packageName = pkg, - fileName = fileName, + fileName = "DocSampleRegistry", ) OutputStreamWriter(file, Charsets.UTF_8).use { out -> @@ -203,7 +208,7 @@ class DocSamplesProcessor( if (view.isNotEmpty()) { out.appendLine("import android.content.Context") out.appendLine("import android.view.View") - out.appendLine("import com.sdds.docs.views.ViewSample") + out.appendLine("import com.sdds.docs.ViewSample") out.appendLine() } @@ -252,6 +257,7 @@ class DocSamplesProcessor( private data class Entry( val key: String, val reference: CallableReference, + val sourceFile: KSFile?, ) private data class CallableReference( diff --git a/sdds-core/docs-views/src/main/kotlin/com/sdds/docs/views/ViewSample.kt b/sdds-core/docs-views/src/main/kotlin/com/sdds/docs/ViewSample.kt similarity index 86% rename from sdds-core/docs-views/src/main/kotlin/com/sdds/docs/views/ViewSample.kt rename to sdds-core/docs-views/src/main/kotlin/com/sdds/docs/ViewSample.kt index c95a38a713..a4ccfa740e 100644 --- a/sdds-core/docs-views/src/main/kotlin/com/sdds/docs/views/ViewSample.kt +++ b/sdds-core/docs-views/src/main/kotlin/com/sdds/docs/ViewSample.kt @@ -1,10 +1,7 @@ -package com.sdds.docs.views +package com.sdds.docs import android.content.Context import android.view.View -import com.sdds.docs.Sample -import com.sdds.docs.SampleId -import com.sdds.docs.SampleRegistry /** * Обертка для View кода - примера в документацию diff --git a/sdds-core/plugin_theme_builder/gradle.properties b/sdds-core/plugin_theme_builder/gradle.properties index 7a72f3bb54..3e157482a8 100644 --- a/sdds-core/plugin_theme_builder/gradle.properties +++ b/sdds-core/plugin_theme_builder/gradle.properties @@ -1,4 +1,4 @@ versionMajor=0 -versionMinor=36 +versionMinor=37 versionPatch=0 nexus.artifactId=sdds-theme-builder \ No newline at end of file diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/CellConfigDelegate.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/CellConfigDelegate.kt index 66a3004af0..497d42dafa 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/CellConfigDelegate.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/CellConfigDelegate.kt @@ -10,6 +10,7 @@ import com.sdds.plugin.themebuilder.internal.components.cell.compose.CellCompose import com.sdds.plugin.themebuilder.internal.components.cell.view.CellStyleGeneratorView import com.sdds.plugin.themebuilder.internal.serializer.Serializer import com.sdds.plugin.themebuilder.internal.utils.decode +import com.sdds.plugin.themebuilder.internal.utils.techToCamelCase import com.sdds.plugin.themebuilder.internal.utils.techToSnakeCase import java.io.File @@ -29,6 +30,7 @@ internal class CellConfigDelegate : ComponentConfigDelegate() { resourcePrefix = deps.resourcePrefixConfig.resourcePrefix, viewColorStateGeneratorFactory = deps.viewColorStateGeneratorFactory, colorStateListGeneratorFactory = deps.colorStateListGeneratorFactory, + styleComponentName = component.styleName.techToCamelCase(), ) override fun createComposeGenerator( diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/view/CellStyleGeneratorView.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/view/CellStyleGeneratorView.kt index 03db29608f..49431a3200 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/view/CellStyleGeneratorView.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/cell/view/CellStyleGeneratorView.kt @@ -30,6 +30,7 @@ internal class CellStyleGeneratorView( viewColorStateGeneratorFactory: ViewColorStateGeneratorFactory, colorStateListGeneratorFactory: ColorStateListGeneratorFactory, defStyleAttr: String = DEF_STYLE_ATTR, + styleComponentName: String, ) : ViewVariationGenerator( xmlBuilderFactory = xmlBuilderFactory, resourceReferenceProvider = resourceReferenceProvider, @@ -41,6 +42,7 @@ internal class CellStyleGeneratorView( viewColorStateGeneratorFactory = viewColorStateGeneratorFactory, colorStateListGeneratorFactory = colorStateListGeneratorFactory, defStyleAttr = defStyleAttr, + styleComponentName = styleComponentName, ) { override fun onCreateStyle( diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectConfigDelegate.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectConfigDelegate.kt index 6ff3710bcc..cded3e5006 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectConfigDelegate.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectConfigDelegate.kt @@ -3,9 +3,11 @@ package com.sdds.plugin.themebuilder.internal.components.select import com.sdds.plugin.themebuilder.internal.TargetPackage import com.sdds.plugin.themebuilder.internal.builder.KtFileBuilder import com.sdds.plugin.themebuilder.internal.components.ComponentConfigDelegate +import com.sdds.plugin.themebuilder.internal.components.ComponentStyleGenerator import com.sdds.plugin.themebuilder.internal.components.StyleGeneratorDependencies import com.sdds.plugin.themebuilder.internal.components.base.Component import com.sdds.plugin.themebuilder.internal.components.select.compose.SelectComposeVariationGenerator +import com.sdds.plugin.themebuilder.internal.components.select.view.SelectStyleGeneratorView import com.sdds.plugin.themebuilder.internal.serializer.Serializer import com.sdds.plugin.themebuilder.internal.utils.decode import com.sdds.plugin.themebuilder.internal.utils.techToCamelCase @@ -20,7 +22,18 @@ internal class SelectConfigDelegate : ComponentConfigDelegate() { override fun createViewGenerator( deps: StyleGeneratorDependencies, component: Component, - ) = null + ): ComponentStyleGenerator? { + return SelectStyleGeneratorView( + xmlBuilderFactory = deps.xmlBuilderFactory, + resourceReferenceProvider = deps.resourceReferenceProvider, + dimensAggregator = deps.dimensAggregator, + outputResDir = deps.outputResDir, + resourcePrefix = deps.resourcePrefixConfig.resourcePrefix, + viewColorStateGeneratorFactory = deps.viewColorStateGeneratorFactory, + colorStateListGeneratorFactory = deps.colorStateListGeneratorFactory, + styleComponentName = component.styleName.techToCamelCase(), + ) + } override fun createComposeGenerator( deps: StyleGeneratorDependencies, diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectItemConfigDelegate.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectItemConfigDelegate.kt index 1075c67ba5..e46ef750a9 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectItemConfigDelegate.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/SelectItemConfigDelegate.kt @@ -3,9 +3,11 @@ package com.sdds.plugin.themebuilder.internal.components.select import com.sdds.plugin.themebuilder.internal.TargetPackage import com.sdds.plugin.themebuilder.internal.builder.KtFileBuilder import com.sdds.plugin.themebuilder.internal.components.ComponentConfigDelegate +import com.sdds.plugin.themebuilder.internal.components.ComponentStyleGenerator import com.sdds.plugin.themebuilder.internal.components.StyleGeneratorDependencies import com.sdds.plugin.themebuilder.internal.components.base.Component import com.sdds.plugin.themebuilder.internal.components.select.compose.SelectItemComposeVariationGenerator +import com.sdds.plugin.themebuilder.internal.components.select.view.SelectItemStyleGeneratorView import com.sdds.plugin.themebuilder.internal.serializer.Serializer import com.sdds.plugin.themebuilder.internal.utils.decode import com.sdds.plugin.themebuilder.internal.utils.techToCamelCase @@ -20,7 +22,18 @@ internal class SelectItemConfigDelegate : ComponentConfigDelegate? { + return SelectItemStyleGeneratorView( + xmlBuilderFactory = deps.xmlBuilderFactory, + resourceReferenceProvider = deps.resourceReferenceProvider, + dimensAggregator = deps.dimensAggregator, + outputResDir = deps.outputResDir, + resourcePrefix = deps.resourcePrefixConfig.resourcePrefix, + viewColorStateGeneratorFactory = deps.viewColorStateGeneratorFactory, + colorStateListGeneratorFactory = deps.colorStateListGeneratorFactory, + styleComponentName = component.styleName.techToCamelCase(), + ) + } override fun createComposeGenerator( deps: StyleGeneratorDependencies, diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectItemStyleGeneratorView.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectItemStyleGeneratorView.kt new file mode 100644 index 0000000000..3eea53b901 --- /dev/null +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectItemStyleGeneratorView.kt @@ -0,0 +1,125 @@ +package com.sdds.plugin.themebuilder.internal.components.select.view + +import com.sdds.plugin.themebuilder.internal.builder.XmlResourcesDocumentBuilder +import com.sdds.plugin.themebuilder.internal.components.base.Color +import com.sdds.plugin.themebuilder.internal.components.base.Dimension +import com.sdds.plugin.themebuilder.internal.components.base.VariationNode +import com.sdds.plugin.themebuilder.internal.components.base.view.ProvidableColorProperty +import com.sdds.plugin.themebuilder.internal.components.base.view.ProvidableProperty +import com.sdds.plugin.themebuilder.internal.components.base.view.ViewVariationGenerator +import com.sdds.plugin.themebuilder.internal.components.base.view.camelCaseValue +import com.sdds.plugin.themebuilder.internal.components.select.SelectItemProperties +import com.sdds.plugin.themebuilder.internal.dimens.DimensAggregator +import com.sdds.plugin.themebuilder.internal.factory.ColorStateListGeneratorFactory +import com.sdds.plugin.themebuilder.internal.factory.ViewColorStateGeneratorFactory +import com.sdds.plugin.themebuilder.internal.factory.XmlResourcesDocumentBuilderFactory +import com.sdds.plugin.themebuilder.internal.utils.ResourceReferenceProvider +import org.w3c.dom.Element +import java.io.File + +internal class SelectItemStyleGeneratorView( + xmlBuilderFactory: XmlResourcesDocumentBuilderFactory, + resourceReferenceProvider: ResourceReferenceProvider, + dimensAggregator: DimensAggregator, + outputResDir: File, + resourcePrefix: String, + styleComponentName: String, + coreComponentName: String = CORE_COMPONENT_NAME, + componentParent: String = COMPONENT_PARENT, + viewColorStateGeneratorFactory: ViewColorStateGeneratorFactory, + colorStateListGeneratorFactory: ColorStateListGeneratorFactory, + defStyleAttr: String = DEF_STYLE_ATTR, +) : ViewVariationGenerator( + xmlBuilderFactory = xmlBuilderFactory, + resourceReferenceProvider = resourceReferenceProvider, + dimensAggregator = dimensAggregator, + outputResDir = outputResDir, + resourcePrefix = resourcePrefix, + styleComponentName = styleComponentName, + coreComponentName = coreComponentName, + componentParent = componentParent, + viewColorStateGeneratorFactory = viewColorStateGeneratorFactory, + colorStateListGeneratorFactory = colorStateListGeneratorFactory, + defStyleAttr = defStyleAttr, +) { + + override fun onCreateStyle( + variation: String, + rootDocument: XmlResourcesDocumentBuilder, + styleElement: Element, + variationNode: VariationNode, + ) = with(styleElement) { + SelectItemDimensionsProperty.values().forEach { + addDimensionProperty(it, variation, variationNode) + } + SelectItemColorProperty.values().forEach { + addColorProperty(it, variation, variationNode) + } + addProps(variation, variationNode) + } + + private fun Element.addProps(variation: String, variationNode: VariationNode) { + val props = variationNode.value.props + props.disableAlpha?.let { valueAttribute("sd_disabledAlpha", it.value.toString()) } + props.shape?.let { shapeAttribute(variation, it.value) } + props.cellStyle?.let { componentOverlayAttribute("sd_cellStyleOverlay", it.camelCaseValue("")) } + props.checkboxStyle?.let { componentOverlayAttribute("sd_checkBoxStyleOverlay", it.camelCaseValue("")) } + props.icon?.let { iconAttribute("sd_icon", it.value) } + props.itemType?.let { valueAttribute("sd_itemType", it.value.asIconType()) } + } + + private enum class SelectItemDimensionsProperty( + override val attribute: String, + override val fileSuffix: String, + ) : ProvidableProperty { + MIN_HEIGHT("android:minHeight", "min_height"), + CONTROL_SIZE("sd_controlSize", "control_size"), + CONTROL_MARGIN("sd_controlMargin", "control_margin"), + PADDING_START("android:paddingStart", "padding_start"), + PADDING_END("android:paddingEnd", "padding_end"), + PADDING_TOP("android:paddingTop", "padding_top"), + PADDING_BOTTOM("android:paddingBottom", "padding_bottom"), + ; + + override fun provide(owner: SelectItemProperties): Dimension? { + return when (this) { + MIN_HEIGHT -> owner.height + CONTROL_SIZE -> owner.controlSize + CONTROL_MARGIN -> owner.controlMargin + PADDING_START -> owner.paddingStart + PADDING_END -> owner.paddingEnd + PADDING_TOP -> owner.paddingTop + PADDING_BOTTOM -> owner.paddingBottom + } + } + } + + private enum class SelectItemColorProperty( + override val attribute: String, + override val colorFileSuffix: String, + ) : ProvidableColorProperty { + BACKGROUND("sd_background", "background"), + ICON_COLOR("sd_iconTint", "icon_tint"), + ; + + override fun provide(owner: SelectItemProperties): Color? { + return when (this) { + BACKGROUND -> owner.backgroundColor + ICON_COLOR -> owner.iconColor + } + } + } + + private companion object { + const val CORE_COMPONENT_NAME = "SelectIem" + const val DEF_STYLE_ATTR = "sd_selectItemStyle" + const val COMPONENT_PARENT = "Sdds.Components.SelectItem" + + fun String.asIconType(): String { + return when (this) { + "single" -> "single" + else -> "multiple" + } + } + } +} diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectStyleGeneratorView.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectStyleGeneratorView.kt new file mode 100644 index 0000000000..ea87724dd8 --- /dev/null +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/select/view/SelectStyleGeneratorView.kt @@ -0,0 +1,72 @@ +package com.sdds.plugin.themebuilder.internal.components.select.view + +import com.sdds.plugin.themebuilder.internal.builder.XmlResourcesDocumentBuilder +import com.sdds.plugin.themebuilder.internal.components.base.VariationNode +import com.sdds.plugin.themebuilder.internal.components.base.view.ViewVariationGenerator +import com.sdds.plugin.themebuilder.internal.components.base.view.camelCaseValue +import com.sdds.plugin.themebuilder.internal.components.select.SelectProperties +import com.sdds.plugin.themebuilder.internal.dimens.DimensAggregator +import com.sdds.plugin.themebuilder.internal.factory.ColorStateListGeneratorFactory +import com.sdds.plugin.themebuilder.internal.factory.ViewColorStateGeneratorFactory +import com.sdds.plugin.themebuilder.internal.factory.XmlResourcesDocumentBuilderFactory +import com.sdds.plugin.themebuilder.internal.utils.ResourceReferenceProvider +import org.w3c.dom.Element +import java.io.File + +internal class SelectStyleGeneratorView( + xmlBuilderFactory: XmlResourcesDocumentBuilderFactory, + resourceReferenceProvider: ResourceReferenceProvider, + dimensAggregator: DimensAggregator, + outputResDir: File, + resourcePrefix: String, + styleComponentName: String, + coreComponentName: String = CORE_COMPONENT_NAME, + componentParent: String = COMPONENT_PARENT, + viewColorStateGeneratorFactory: ViewColorStateGeneratorFactory, + colorStateListGeneratorFactory: ColorStateListGeneratorFactory, + defStyleAttr: String = DEF_STYLE_ATTR, +) : ViewVariationGenerator( + xmlBuilderFactory = xmlBuilderFactory, + resourceReferenceProvider = resourceReferenceProvider, + dimensAggregator = dimensAggregator, + outputResDir = outputResDir, + resourcePrefix = resourcePrefix, + styleComponentName = styleComponentName, + coreComponentName = coreComponentName, + componentParent = componentParent, + viewColorStateGeneratorFactory = viewColorStateGeneratorFactory, + colorStateListGeneratorFactory = colorStateListGeneratorFactory, + defStyleAttr = defStyleAttr, +) { + + override fun onCreateStyle( + variation: String, + rootDocument: XmlResourcesDocumentBuilder, + styleElement: Element, + variationNode: VariationNode, + props: SelectProperties, + ) = with(styleElement) { + addProps(variation, props) + } + + private fun Element.addProps(variation: String, props: SelectProperties) { + props.buttonStyle?.let { + componentOverlayAttribute("sd_buttonStyleOverlay", it.camelCaseValue("")) + } + props.dropdownStyle?.let { + componentOverlayAttribute("sd_dropdownMenuStyleOverlay", it.camelCaseValue("")) + } + props.textFieldStyle?.let { + componentOverlayAttribute("sd_textFieldStyleOverlay", it.camelCaseValue("")) + } + props.selectItemStyle?.let { + componentOverlayAttribute("sd_selectItemStyleOverlay", it.camelCaseValue("")) + } + } + + private companion object { + const val CORE_COMPONENT_NAME = "Select" + const val DEF_STYLE_ATTR = "sd_selectStyle" + const val COMPONENT_PARENT = "Sdds.Components.Select" + } +} diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/WheelConfig.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/WheelConfig.kt index 1faf550076..ed8960a825 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/WheelConfig.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/WheelConfig.kt @@ -7,6 +7,7 @@ import com.sdds.plugin.themebuilder.internal.components.base.Color import com.sdds.plugin.themebuilder.internal.components.base.ComponentStyle import com.sdds.plugin.themebuilder.internal.components.base.Config import com.sdds.plugin.themebuilder.internal.components.base.Dimension +import com.sdds.plugin.themebuilder.internal.components.base.FloatValue import com.sdds.plugin.themebuilder.internal.components.base.Icon import com.sdds.plugin.themebuilder.internal.components.base.PropertyOwner import com.sdds.plugin.themebuilder.internal.components.base.Shape @@ -25,6 +26,8 @@ internal data class WheelProperties( val descriptionPadding: Dimension? = null, val separatorSpacing: Dimension? = null, val itemMinSpacing: Dimension? = null, + val itemMinAlpha: FloatValue? = null, + val itemMinScale: FloatValue? = null, val itemAlignment: Value? = null, val wheelCount: Value? = null, val visibleItemsCount: Value? = null, @@ -40,6 +43,10 @@ internal data class WheelProperties( val itemSelectorEnabled: BooleanValue? = null, val itemSelectorShape: Shape? = null, val itemSelectorColor: Color? = null, + val itemSelectorPaddingTop: Dimension? = null, + val itemSelectorPaddingBottom: Dimension? = null, + val itemSelectorPaddingStart: Dimension? = null, + val itemSelectorPaddingEnd: Dimension? = null, ) : PropertyOwner { @Suppress("CyclomaticComplexMethod") @@ -53,6 +60,8 @@ internal data class WheelProperties( descriptionPadding = descriptionPadding ?: otherProps.descriptionPadding, separatorSpacing = separatorSpacing ?: otherProps.separatorSpacing, itemMinSpacing = itemMinSpacing ?: otherProps.itemMinSpacing, + itemMinAlpha = itemMinAlpha ?: otherProps.itemMinAlpha, + itemMinScale = itemMinScale ?: otherProps.itemMinScale, itemAlignment = itemAlignment ?: otherProps.itemAlignment, wheelCount = wheelCount ?: otherProps.wheelCount, visibleItemsCount = visibleItemsCount ?: otherProps.visibleItemsCount, @@ -67,6 +76,11 @@ internal data class WheelProperties( itemSelectorEnabled = itemSelectorEnabled ?: otherProps.itemSelectorEnabled, itemSelectorColor = itemSelectorColor ?: otherProps.itemSelectorColor, itemSelectorShape = itemSelectorShape ?: otherProps.itemSelectorShape, + itemSelectorPaddingStart = itemSelectorPaddingStart ?: otherProps.itemSelectorPaddingStart, + itemSelectorPaddingTop = itemSelectorPaddingTop ?: otherProps.itemSelectorPaddingTop, + itemSelectorPaddingEnd = itemSelectorPaddingEnd ?: otherProps.itemSelectorPaddingEnd, + itemSelectorPaddingBottom = itemSelectorPaddingBottom ?: otherProps.itemSelectorPaddingBottom, + ) } } diff --git a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/view/WheelViewStyleGenerator.kt b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/view/WheelViewStyleGenerator.kt index 8028f12e0e..abff5c815c 100644 --- a/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/view/WheelViewStyleGenerator.kt +++ b/sdds-core/plugin_theme_builder/src/main/kotlin/com/sdds/plugin/themebuilder/internal/components/wheel/view/WheelViewStyleGenerator.kt @@ -75,6 +75,8 @@ internal open class WheelViewStyleGenerator( props.itemSelectorEnabled?.let { booleanAttribute("sd_itemSelectorEnabled", it.value) } props.itemSelectorShape?.let { shapeAttribute(variation, it.value, it.adjustment, "itemSelector") } + props.itemMinScale?.let { valueAttribute("sd_wheelEntryMinScale", it.value.toString()) } + props.itemMinAlpha?.let { valueAttribute("sd_wheelEntryMinAlpha", it.value.toString()) } } internal enum class WheelDimensionsProperty( @@ -85,6 +87,10 @@ internal open class WheelViewStyleGenerator( DESCRIPTION_PADDING("sd_descriptionPadding", "description_padding"), SEPARATOR_SPACING("sd_separatorSpacing", "separator_spacing"), ITEM_MIN_SPACING("sd_itemMinSpacing", "item_min_spacing"), + ITEM_SELECTOR_PADDING_TOP("sd_itemSelectorPaddingTop", "item_selector_padding_top"), + ITEM_SELECTOR_PADDING_START("sd_itemSelectorPaddingStart", "item_selector_padding_start"), + ITEM_SELECTOR_PADDING_END("sd_itemSelectorPaddingEnd", "item_selector_padding_end"), + ITEM_SELECTOR_PADDING_BOTTOM("sd_itemSelectorPaddingBottom", "item_selector_padding_bottom"), ; override fun provide(owner: WheelProperties): Dimension? { @@ -93,6 +99,10 @@ internal open class WheelViewStyleGenerator( DESCRIPTION_PADDING -> owner.descriptionPadding SEPARATOR_SPACING -> owner.separatorSpacing ITEM_MIN_SPACING -> owner.itemMinSpacing + ITEM_SELECTOR_PADDING_TOP -> owner.itemSelectorPaddingTop + ITEM_SELECTOR_PADDING_START -> owner.itemSelectorPaddingStart + ITEM_SELECTOR_PADDING_END -> owner.itemSelectorPaddingEnd + ITEM_SELECTOR_PADDING_BOTTOM -> owner.itemSelectorPaddingBottom } } } diff --git a/sdds-core/settings.gradle.kts b/sdds-core/settings.gradle.kts index c2e4324f6e..07e23a3cb1 100644 --- a/sdds-core/settings.gradle.kts +++ b/sdds-core/settings.gradle.kts @@ -26,7 +26,6 @@ include( ":plugin_theme_builder", ":uikit", ":uikit-compose", - ":testing", ":uikit-fixtures", ":uikit-compose-fixtures", ":docs", diff --git a/sdds-core/testing/build.gradle.kts b/sdds-core/testing/build.gradle.kts index 78857e1e88..e69de29bb2 100644 --- a/sdds-core/testing/build.gradle.kts +++ b/sdds-core/testing/build.gradle.kts @@ -1,38 +0,0 @@ -plugins { - id("convention.android-lib") - id("kotlin-parcelize") - id("convention.compose") -} - -group = "sdds-core" - -android { - namespace = "com.sdds.testing" - buildFeatures { - viewBinding = true - } - testOptions { - unitTests { - isIncludeAndroidResources = true - } - } -} - -dependencies { - implementation(project(":uikit")) - implementation(project(":icons")) - implementation(project(":uikit-compose")) - implementation(libs.base.glide) - implementation(libs.base.androidX.core) - implementation(libs.base.androidX.appcompat) - implementation(libs.base.androidX.constraintLayout) - implementation(libs.base.android.material) - implementation(libs.base.test.unit.jUnit) - implementation(libs.test.roborazzi) - implementation(libs.test.roborazzi.rule) - implementation(libs.base.test.unit.robolectric) - implementation(libs.base.test.ui.compose.jUnit4) - implementation(libs.test.roborazzi.compose) - implementation(libs.base.androidX.compose.uiTooling.preview) - implementation(libs.base.androidX.compose.foundation) -} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/UiState.kt b/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/UiState.kt deleted file mode 100644 index 3620163628..0000000000 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/UiState.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.sdds.testing.vs - -/** - * Состояние компонента с [variant] и [colorVariant] - */ -interface UiState { - - /** - * Внешний вид компонента - */ - val appearance: String - get() = "" - - /** - * Вариация компонента - */ - val variant: String - get() = "" - - /** - * Создает копию текущего состояния с новым [variant] - */ - fun updateVariant(appearance: String = this.appearance, variant: String = this.variant): UiState - - /** - * Опциональная цветовая вариация компонента - */ - val colorVariant: String get() = "" - - /** - * Создает копию текущего состояния с новым [colorVariant] - */ - fun updateColorVariant(colorVariant: String): UiState = this -} diff --git a/sdds-core/uikit-compose-fixtures/build.gradle.kts b/sdds-core/uikit-compose-fixtures/build.gradle.kts index a62d588d6c..ddae52c269 100644 --- a/sdds-core/uikit-compose-fixtures/build.gradle.kts +++ b/sdds-core/uikit-compose-fixtures/build.gradle.kts @@ -21,15 +21,25 @@ android { } } +ksp { + arg("packageName", "com.sdds.compose.docs") + arg("sandbox.packageName", "com.sdds.compose.uikit.fixtures.stories") +} + dependencies { implementation(project(":uikit-compose")) implementation(project(":icons")) implementation(project(":docs")) implementation(project(":docs-compose")) + implementation("integration-core:sandbox-core") + implementation("integration-core:sandbox-compose") ksp(project(":docs-ksp")) + ksp("integration-core:sandbox-ksp") + implementation(libs.base.androidX.appcompat) implementation(libs.base.androidX.compose.foundation) implementation(libs.test.roborazzi) implementation(libs.test.roborazzi.rule) + implementation(libs.base.koil.compose) implementation(libs.base.test.unit.robolectric) implementation(libs.base.test.ui.compose.jUnit4) implementation(libs.test.roborazzi.compose) diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/Constant.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/Constant.kt new file mode 100644 index 0000000000..3b508bf7de --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/Constant.kt @@ -0,0 +1,6 @@ +package com.sdds.compose.uikit.fixtures + +/** + * Версия sdk для тестов + */ +const val SDK_NUMBER: Int = 33 diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/RoborazziConfigCompose.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/RoborazziConfigCompose.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/RoborazziConfigCompose.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/RoborazziConfigCompose.kt index 2f3ee3dbe5..7f604262cb 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/RoborazziConfigCompose.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/RoborazziConfigCompose.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose +package com.sdds.compose.uikit.fixtures import android.app.Application import android.content.pm.ActivityInfo diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/samples/RoborazziConfigDocs.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/samples/RoborazziConfigDocs.kt index edaf96515d..c89863d7d3 100644 --- a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/samples/RoborazziConfigDocs.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/samples/RoborazziConfigDocs.kt @@ -9,7 +9,7 @@ import androidx.test.core.app.ApplicationProvider import com.github.takahirom.roborazzi.RoborazziOptions import com.github.takahirom.roborazzi.RoborazziRule import com.sdds.compose.docs.ComposableSample -import com.sdds.docs.ComposableSamples +import com.sdds.compose.docs.ComposableSamples import org.junit.Rule import org.junit.rules.TestWatcher import org.junit.runner.Description diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/Utils.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/Utils.kt new file mode 100644 index 0000000000..11e7b78c98 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/Utils.kt @@ -0,0 +1,31 @@ +package com.sdds.compose.uikit.fixtures.stories + +import com.sdds.compose.sandbox.ui.SandboxActivity + +/** + * Регистрирует все основные (core) истории компонентов в текущей SandboxActivity. + * + * Функция-расширение для [SandboxActivity], которая вызывает [registerStories] + * для инициализации и регистрации всех стандартных историй компонентов + * в глобальном реестре [StoryRegistry]. + * + * Должна вызываться на этапе инициализации активности, обычно в [onCreate], + * чтобы все истории были доступны для отображения в сторибуке. + * + * Пример использования: + * ``` + * class MainActivity : SandboxActivity() { + * override fun onCreate(savedInstanceState: Bundle?) { + * super.onCreate(savedInstanceState) + * registerCoreStories() // Регистрируем все стандартные истории + * } + * } + * ``` + * + * @see SandboxActivity + * @see StoryRegistry + * @see BaseStory.register + */ +fun SandboxActivity.registerCoreStories() { + registerStories() +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/accordion/AccordionStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/accordion/AccordionStory.kt new file mode 100644 index 0000000000..af0cbb0eff --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/accordion/AccordionStory.kt @@ -0,0 +1,106 @@ +package com.sdds.compose.uikit.fixtures.stories.accordion + +import androidx.compose.animation.EnterTransition +import androidx.compose.animation.ExitTransition +import androidx.compose.animation.core.AnimationSpec +import androidx.compose.animation.core.spring +import androidx.compose.animation.expandVertically +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.shrinkVertically +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +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 com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Accordion +import com.sdds.compose.uikit.AccordionItem +import com.sdds.compose.uikit.AccordionStyle +import com.sdds.compose.uikit.Divider +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.AccordionUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.AccordionUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class AccordionUiState( + override val variant: String = "", + override val appearance: String = "", + val amount: Int = 9, + val title: String = "Title", + val contentText: String = "Content text", + val animation: Boolean = true, + val hasDivider: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object AccordionStory : ComposeBaseStory( + ComponentKey.Accordion, + AccordionUiState(), + AccordionUiStatePropertiesProducer, + AccordionUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: AccordionStyle, + state: AccordionUiState, + ) { + Accordion( + style = style, + modifier = Modifier.verticalScroll(rememberScrollState()), + ) { + repeat(state.amount) { + var opened by remember { mutableStateOf(false) } + AccordionItem( + opened = opened, + onClick = { opened = !opened }, + title = state.title, + iconAnimationSpec = iconAnimationSpec(state.animation), + openTransition = openTransition(state.animation), + closeTransition = closeTransition(state.animation), + ) { Text(text = state.contentText) } + if (state.hasDivider && it != state.amount - 1) { + Divider() + } + } + } + } + + @Composable + override fun Preview(style: AccordionStyle, key: ComponentKey) { + Accordion(style = style) { + var opened by remember { mutableStateOf(false) } + AccordionItem( + opened = opened, + onClick = { opened = !opened }, + title = "Title", + content = { Text("Content text") }, + ) + } + } +} + +@Composable +private fun iconAnimationSpec(animationEnabled: Boolean): AnimationSpec? = + if (animationEnabled) remember { spring() } else null + +@Composable +private fun openTransition(animationEnabled: Boolean): EnterTransition = + if (animationEnabled) remember { fadeIn() + expandVertically() } else EnterTransition.None + +@Composable +private fun closeTransition(animationEnabled: Boolean): ExitTransition = + if (animationEnabled) remember { fadeOut() + shrinkVertically() } else ExitTransition.None diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt new file mode 100644 index 0000000000..c31eb422fe --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt @@ -0,0 +1,292 @@ +package com.sdds.compose.uikit.fixtures.stories.autocomplete + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.ime +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyListScope +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.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.TextRange +import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Autocomplete +import com.sdds.compose.uikit.AutocompleteStyle +import com.sdds.compose.uikit.DropdownProperties +import com.sdds.compose.uikit.EmptyState +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.ListItem +import com.sdds.compose.uikit.PopoverPlacement +import com.sdds.compose.uikit.PopoverPlacementMode +import com.sdds.compose.uikit.Spinner +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TextField +import com.sdds.compose.uikit.fixtures.stories.AutocompleteUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.AutocompleteUiStateTransformer +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class AutocompleteUiState( + override val variant: String = "", + override val appearance: String = "", + val showLoading: Boolean = false, + val withEmptyState: Boolean = true, + val fieldAlignment: AutocompleteFieldAlignment = AutocompleteFieldAlignment.TopCenter, + val placement: PopoverPlacement = PopoverPlacement.Bottom, + val placementMode: PopoverPlacementMode = PopoverPlacementMode.Strict, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class AutocompleteFieldAlignment(val alignment: Alignment) { + TopStart(Alignment.TopStart), + TopEnd(Alignment.TopEnd), + TopCenter(Alignment.TopCenter), + Center(Alignment.Center), + CenterStart(Alignment.CenterStart), + CenterEnd(Alignment.CenterEnd), + BottomStart(Alignment.BottomStart), + BottomEnd(Alignment.BottomEnd), + BottomCenter(Alignment.BottomCenter), +} + +@Story +object AutocompleteStory : ComposeBaseStory( + ComponentKey.Autocomplete, + AutocompleteUiState(), + AutocompleteUiStatePropertiesProducer, + AutocompleteUiStateTransformer, +) { + @Composable + @Suppress("LongMethod") + override fun BoxScope.Content( + style: AutocompleteStyle, + state: AutocompleteUiState, + ) { + Box( + modifier = Modifier + .offset(y = -keyboardHeight / 2) + .fillMaxWidth() + .height(screenHeight), + ) { + var showDropdown by remember { mutableStateOf(false) } + var text by remember { mutableStateOf(TextFieldValue()) } + val filteredList = + remember { + mutableListOf().apply { + addAll( + AutocompleteSuggestions.filterSuggestions(text.text), + ) + } + } + val showEmptyState = state.withEmptyState && filteredList.isEmpty() + val dropdownProperties = remember(state.placement, state.placementMode) { + DropdownProperties().copy( + placement = state.placement, + placementMode = state.placementMode, + ) + } + Autocomplete( + modifier = Modifier.align(state.fieldAlignment.alignment), + showDropdown = showDropdown, + onDismissRequest = { showDropdown = false }, + style = style, + dropdownProperties = dropdownProperties, + field = { + TextField( + modifier = Modifier.width(240.dp), + value = text, + placeholderText = "Сотрудник", + captionText = "Введите имя Алексей", + onValueChange = { + text = it + filteredList.clear() + filteredList.addAll(AutocompleteSuggestions.filterSuggestions(text.text)) + showDropdown = filteredList.isNotEmpty() || state.withEmptyState + }, + endContent = { + Icon( + painterResource(com.sdds.icons.R.drawable.ic_search_24), + "", + ) + }, + focusSelectorSettings = FocusSelectorSettings.None, + ) + }, + showEmptyState = showEmptyState, + emptyState = { + EmptyState( + iconRes = com.sdds.icons.R.drawable.ic_plasma_36, + description = "Empty State", + buttonLabel = "Action", + ) + }, + footer = if (state.showLoading) { { Loading() } } else null, + listContent = { + listContent( + filteredList = filteredList, + onClick = { + text = text.copy(it, TextRange(it.length)) + showDropdown = false + }, + ) + }, + ) + } + } + + @Composable + override fun Preview( + style: AutocompleteStyle, + key: ComponentKey, + ) { + var text by remember { mutableStateOf(TextFieldValue()) } + var showDropdown by remember { mutableStateOf(false) } + val textFieldInteractionSource = remember { MutableInteractionSource() } + val filteredList = AutocompleteSuggestions.filterSuggestions(text.text) + val showEmptyState = filteredList.isEmpty() + + Autocomplete( + showDropdown = showDropdown, + onDismissRequest = { showDropdown = false }, + style = style, + field = { + TextField( + modifier = Modifier.width(240.dp), + value = text, + placeholderText = "Сотрудник", + captionText = "Введите имя Алексей", + onValueChange = { + text = it + showDropdown = true + }, + endContent = { + Icon(painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), "") + }, + focusSelectorSettings = FocusSelectorSettings.None, + interactionSource = textFieldInteractionSource, + ) + }, + showEmptyState = showEmptyState, + emptyState = { + EmptyState( + iconRes = com.sdds.icons.R.drawable.ic_plasma_36, + description = "Empty State", + buttonLabel = "Action", + ) + }, + footer = { Loading() }, + ) { + items(filteredList.size) { index -> + ListItem( + modifier = Modifier + .fillMaxWidth() + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + text = TextFieldValue( + text = filteredList[index], + selection = TextRange(filteredList[index].length), + ) + showDropdown = false + }, + text = filteredList[index], + ) + } + } + } +} + +private val keyboardHeight: Dp + @Composable get() { + val windowInsets = WindowInsets.ime + val density = LocalDensity.current + return with(density) { windowInsets.getBottom(density).toDp() } + } + +private val screenHeight: Dp + @Composable get() { + val componentScreenPaddings = 32.dp + val screenSize = LocalConfiguration.current.screenHeightDp.dp + return screenSize - keyboardHeight - componentScreenPaddings + } + +private fun LazyListScope.listContent( + filteredList: List, + onClick: (String) -> Unit, +) { + items(filteredList.size) { index -> + ListItem( + modifier = Modifier + .fillMaxWidth() + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + onClick.invoke(filteredList[index]) + }, + text = filteredList[index], + ) + } +} + +private val AutocompleteSuggestions = setOf( + "Иван Иванов", + "Пётр Петров", + "Сергей Сергеев", + "Алексей Алексеев", + "Анна Смирнова", + "Мария Кузнецова", + "Дмитрий Попов", + "Елена Соколова", + "Ольга Морозова", + "Николай Волков", +) + +private fun Set.filterSuggestions(text: String): List { + return this.filter { suggestion -> suggestion.contains(text, ignoreCase = true) } +} + +@Composable +private fun Loading( + label: String = "Загрузка", +) { + Row( + modifier = Modifier.height(40.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center, + ) { + Spinner() + Text( + modifier = Modifier.padding(start = 4.dp), + text = label, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/avatar/AvatarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/avatar/AvatarStory.kt new file mode 100644 index 0000000000..ae00dbbec9 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/avatar/AvatarStory.kt @@ -0,0 +1,294 @@ +package com.sdds.compose.uikit.fixtures.stories.avatar + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import coil.compose.AsyncImage +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Avatar +import com.sdds.compose.uikit.AvatarCounter +import com.sdds.compose.uikit.AvatarGroup +import com.sdds.compose.uikit.AvatarGroupStyle +import com.sdds.compose.uikit.AvatarPlaceholder +import com.sdds.compose.uikit.AvatarStatus +import com.sdds.compose.uikit.AvatarStyle +import com.sdds.compose.uikit.Badge +import com.sdds.compose.uikit.Counter +import com.sdds.compose.uikit.Image +import com.sdds.compose.uikit.fixtures.R +import com.sdds.compose.uikit.fixtures.stories.AvatarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.AvatarUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.badge.badgeContent +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Property +import com.sdds.sandbox.PropertyProducer +import com.sdds.sandbox.StateValueTransformer +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryProperty +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние [Avatar] + * + * @property status статус [AvatarStatus] + * @property exampleMode режим отображения аватара + * @property placeholder текст-заглушка + * @property threshold максимальное кол-во отображаемых [Avatar] + * @property extra обвесы (badge, counter) + * @property extraPlacement расположение обвесов + * @property badgeText текст badge + * @property badgeContentStart иконка badge вначале + * @property badgeContentEnd иконка badge вконце + * @property counterText текст счетчика + */ +@StoryUiState +data class AvatarUiState( + override val variant: String = "", + override val appearance: String = "", + val status: AvatarStatus = AvatarStatus.Active, + val exampleMode: ExampleMode = ExampleMode.Local, + @StoryProperty( + producedBy = AvatarPlaceholderPropertyProducer::class, + transformedBy = AvatarPlaceholderPropertyTransformer::class, + ) + val placeholder: AvatarPlaceholder? = AvatarPlaceholder.Name("Michael Scott"), + val threshold: Int = DEFAULT_THRESHOLD, + val extra: AvatarExtra = AvatarExtra.None, + val extraPlacement: AvatarExtraPlacement = AvatarExtraPlacement.TopStart, + val badgeText: String = "Label", + val badgeContentStart: Boolean = false, + val badgeContentEnd: Boolean = false, + val counterText: String = "1", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +object AvatarPlaceholderPropertyTransformer : StateValueTransformer { + override fun transform(input: String): AvatarPlaceholder? = + if (input.isNotEmpty()) { + AvatarPlaceholder.Name(input) + } else { + null + } +} + +object AvatarPlaceholderPropertyProducer : PropertyProducer { + + override fun produce(state: AvatarUiState): Property<*> { + return Property.StringProperty( + "placeholder", + state.placeholder?.name.orEmpty(), + ) + } + + private val AvatarPlaceholder.name get() = (this as? AvatarPlaceholder.Name)?.fullName +} + +/** + * Режим отображения аватара. + * Нужен только для песочницы, чтобы показать, что аватар может работать в нескольких режимах. + */ +enum class ExampleMode { + /** + * Аватар будет отображать локальное изображение + */ + Local, + + /** + * Аватар будет отображать изображение, загруженное из интернета + */ + Remote, + + /** + * Аватар будет отображать заглушку + */ + Placeholder, +} + +/** + * Обвесы аватара + */ +enum class AvatarExtra { + /** + * Без обвеса + */ + None, + + /** + * Бейдж + */ + Badge, + + /** + * Счетчик + */ + Counter, +} + +/** + * Расположение обвесов [Avatar] + * @property alignment значение расположения + */ +enum class AvatarExtraPlacement(val alignment: Alignment) { + TopStart(Alignment.TopStart), + TopEnd(Alignment.TopEnd), + BottomEnd(Alignment.BottomEnd), + BottomStart(Alignment.BottomStart), +} + +@Story +object AvatarStory : ComposeBaseStory( + ComponentKey.Avatar, + AvatarUiState(), + AvatarUiStatePropertiesProducer, + AvatarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: AvatarStyle, + state: AvatarUiState, + ) { + Avatar( + style = style, + status = state.status, + placeholder = state.placeholder, + extra = { AvatarExtra(state, style) }, + ) { + AvatarContent(state) + } + } + + @Composable + override fun Preview(style: AvatarStyle, key: ComponentKey) { + Avatar( + style = style, + status = AvatarStatus.Active, + actionEnabled = false, + placeholder = AvatarPlaceholder.Name("Michael Scott"), + ) + } +} + +@Story +object AvatarGroupStory : ComposeBaseStory( + ComponentKey.AvatarGroup, + AvatarUiState(), + AvatarUiStatePropertiesProducer, + AvatarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: AvatarGroupStyle, + state: AvatarUiState, + ) { + AvatarGroup( + style = style, + threshold = state.threshold, + ) { + avatars(3) { index -> + if (index % 2 == 0) { + Avatar(placeholder = state.placeholder) + } else { + Avatar { + AsyncImage( + modifier = Modifier.matchParentSize(), + contentScale = ContentScale.Crop, + model = "https://cdn.costumewall.com/wp-content/uploads/2018/09/michael-scott.jpg", + contentDescription = "AsyncAvatar", + ) + } + } + } + + avatar { + Avatar { + Image( + modifier = Modifier.matchParentSize(), + contentScale = ContentScale.Crop, + painter = painterResource(id = R.drawable.il_avatar_test), + contentDescription = "Avatar", + ) + } + } + counter { + AvatarCounter(displayCount = it) + } + } + } + + @Composable + override fun Preview( + style: AvatarGroupStyle, + key: ComponentKey, + ) { + AvatarGroup( + style = style, + threshold = 1, + ) { + avatar { + Avatar( + status = AvatarStatus.Active, + actionEnabled = false, + placeholder = AvatarPlaceholder.Name("Michael Scott"), + painter = painterResource(id = R.drawable.il_avatar_test), + contentScale = ContentScale.Fit, + ) + } + avatar { + Avatar( + status = AvatarStatus.Active, + actionEnabled = false, + placeholder = AvatarPlaceholder.Name("Michael Scott"), + ) + } + counter { + AvatarCounter(3) + } + } + } +} + +@Composable +private fun BoxScope.AvatarExtra(state: AvatarUiState, style: AvatarStyle) { + if (state.extra == AvatarExtra.Badge && style.badgeStyle != null) { + Badge( + modifier = Modifier.align(state.extraPlacement.alignment), + label = state.badgeText, + startContent = badgeContent(state.badgeContentStart), + endContent = badgeContent(state.badgeContentEnd), + ) + } else if (state.extra == AvatarExtra.Counter && style.counterStyle != null) { + Counter( + modifier = Modifier.align(state.extraPlacement.alignment), + count = state.counterText, + ) + } +} + +@Composable +private fun BoxScope.AvatarContent(avatarUiState: AvatarUiState) { + when (avatarUiState.exampleMode) { + ExampleMode.Local -> Image( + modifier = Modifier.matchParentSize(), + contentScale = ContentScale.Crop, + painter = painterResource(id = com.sdds.compose.uikit.fixtures.R.drawable.il_avatar_test), + contentDescription = "Avatar", + ) + + ExampleMode.Remote -> AsyncImage( + modifier = Modifier.matchParentSize(), + contentScale = ContentScale.Crop, + model = "https://cdn.costumewall.com/wp-content/uploads/2018/09/michael-scott.jpg", + contentDescription = "AsyncAvatar", + ) + ExampleMode.Placeholder -> {} + } +} + +private const val DEFAULT_THRESHOLD = 3 diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/badge/BadgeStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/badge/BadgeStory.kt new file mode 100644 index 0000000000..bb25e3ca23 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/badge/BadgeStory.kt @@ -0,0 +1,88 @@ +package com.sdds.compose.uikit.fixtures.stories.badge + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Badge +import com.sdds.compose.uikit.BadgeStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.fixtures.stories.BadgeUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.BadgeUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние Badge + * @property type вариации стилией + * @see [BadgeType] + * @property label текст + * @property contentLeft контент слева + * @property contentRight контент справа + */ +@StoryUiState +data class BadgeUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val contentLeft: Boolean = true, + val contentRight: Boolean = false, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object BadgeStory : ComposeBaseStory( + ComponentKey.Badge, + BadgeUiState(), + BadgeUiStatePropertiesProducer, + BadgeUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: BadgeStyle, + state: BadgeUiState, + ) { + Badge( + style = style, + label = state.label, + startContent = badgeContent(state.contentLeft), + endContent = badgeContent(state.contentRight), + ) + } + + @Composable + override fun Preview( + style: BadgeStyle, + key: ComponentKey, + ) { + Badge( + style = style, + label = "Label", + startContent = { + Icon( + painter = painterResource(id = R.drawable.ic_plasma_16), + contentDescription = "", + ) + }, + ) + } +} + +internal fun badgeContent(hasContent: Boolean): (@Composable () -> Unit)? { + return if (hasContent) { + { + Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_plasma_16), + contentDescription = "", + ) + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/bottomsheet/BottomSheetStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/bottomsheet/BottomSheetStory.kt new file mode 100644 index 0000000000..ee88e76880 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/bottomsheet/BottomSheetStory.kt @@ -0,0 +1,257 @@ +package com.sdds.compose.uikit.fixtures.stories.bottomsheet + +import android.util.Log +import androidx.compose.foundation.background +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.imePadding +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.statusBarsPadding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.BottomSheetHandlePlacement +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.ModalBottomSheet +import com.sdds.compose.uikit.ModalBottomSheetStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TextField +import com.sdds.compose.uikit.fixtures.stories.BottomSheetUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.BottomSheetUiStateTransformer +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.internal.modal.BottomSheetValue +import com.sdds.compose.uikit.internal.modal.rememberModalBottomSheetState +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import kotlinx.coroutines.launch + +/** + * Состояние BottomSheet + */ +@StoryUiState +data class BottomSheetUiState( + override val variant: String = "", + override val appearance: String = "", + val header: Boolean = false, + val footer: Boolean = false, + val fixedHeader: Boolean = false, + val fixedFooter: Boolean = false, + val handlePlacement: BottomSheetHandlePlacement = BottomSheetHandlePlacement.Auto, + val fitContent: Boolean = false, + val skipHalfExpanded: Boolean = false, + val edgeToEdge: Boolean = true, + val littleContent: Boolean = false, + val dimBackground: Boolean = true, + val useNativeBlackout: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object BottomSheetStory : ComposeBaseStory( + ComponentKey.BottomSheet, + BottomSheetUiState(), + BottomSheetUiStatePropertiesProducer, + BottomSheetUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ModalBottomSheetStyle, + state: BottomSheetUiState, + ) { + val sheetState = rememberModalBottomSheetState( + initialValue = BottomSheetValue.Hidden, + skipHalfExpanded = state.skipHalfExpanded, + ) + val interactionSource = remember { MutableInteractionSource() } + val backgroundColor = style.colors.backgroundColor.colorForInteraction(interactionSource) + val scope = rememberCoroutineScope() + val scrollState = rememberScrollState() + Button( + label = "показать BottomSheet", + onClick = { + scope.launch { + sheetState.show() + } + }, + ) + val bottomInsetsModifier = Modifier + .navigationBarsPadding() + .imePadding() + ModalBottomSheet( + modifier = Modifier.statusBarsPadding(), + style = style, + sheetState = sheetState, + onDismiss = { Log.d("BottomSheetScreen", "OnDismiss") }, + dimBackground = state.dimBackground, + useNativeBlackout = state.useNativeBlackout, + handlePlacement = state.handlePlacement, + fitContent = state.fitContent, + edgeToEdge = state.edgeToEdge, + header = { if (state.header && state.fixedHeader) Header(backgroundColor) }, + footer = { + if (state.footer && state.fixedFooter) { + Footer(backgroundColor = backgroundColor, modifier = bottomInsetsModifier) + } + }, + ) { + Column( + modifier = Modifier + .then(if (!state.footer && !state.fixedFooter) bottomInsetsModifier else Modifier) + .verticalScroll(scrollState), + ) { + if (state.header && !state.fixedHeader) { + Header(backgroundColor) + } + if (state.littleContent) { + SmallBody() + } else { + LargeBody() + } + if (state.footer && !state.fixedFooter) { + Footer(backgroundColor) + } + } + } + } + + @Composable + override fun Preview( + style: ModalBottomSheetStyle, + key: ComponentKey, + ) { + val sheetState = rememberModalBottomSheetState( + initialValue = BottomSheetValue.Hidden, + ) + val scope = rememberCoroutineScope() + Button( + label = "show ModalBottomSheet", + onClick = { + scope.launch { + sheetState.show() + } + }, + ) + ModalBottomSheet( + style = style, + modifier = Modifier.statusBarsPadding(), + sheetState = sheetState, + handlePlacement = BottomSheetHandlePlacement.Auto, + fitContent = false, + header = {}, + footer = {}, + ) { + Column( + Modifier.fillMaxWidth() + .navigationBarsPadding(), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(32.dp)) + Text( + "Android operating system is the largest" + + "installed base among various mobile platforms" + + "across the globe. Hundreds of millions of mobile devices" + + "are powered by Android in more than 190 countries of the world.", + ) + } + } + } +} + +@Composable +private fun LargeBody() { + Text( + "Android operating system is the largest" + + "installed base among various mobile platforms" + + "across the globe. Hundreds of millions of mobile devices" + + "are powered by Android in more than 190 countries of the world." + + " It conquered around 71% of the global market share by the end of 2021," + + "and this trend is growing bigger every other day." + + "The company named Open Handset Alliance developed Android" + + " for the first time that is based on the modified version " + + "of the Linux kernel and other open-source software. " + + "Google sponsored the project at initial stages and in the year 2005" + + " it acquired the whole company. In September 2008, the first Android-powered device" + + " was launched in the market. Android dominates the mobile OS industry" + + " because of the long list of features it provides. It’s user-friendly," + + " has huge community support, provides a greater extent of customization," + + " and a large number of companies build Android-compatible smartphones." + + " As a result, the market observes a sharp increase in the demand" + + " for developing Android mobile applications, and with that companies" + + " need smart developers with the right skill set. At first, the purpose" + + " of Android was thought of as a mobile operating system. However, " + + "with the advancement of code libraries and its popularity among developers" + + " of the divergent domain, Android becomes an absolute set of software" + + " for all devices like tablets, wearables, set-top boxes, smart TVs, notebooks, etc." + + "It is stated that “If you give me six hours to chop down a tree then" + + " I will spend the first four hours in sharpening the axe”. " + + "So in the Android Development World if we consider Android Development " + + "as the tree then Android Studio should be the axe. Yes, if you are starting" + + " Android Development then you must be familiar with Android Studio i.e. the tool" + + " that is used for developing Android applications. Android Studio is the official " + + "IDE (Integrated Development Environment) for Android app development, and it is based o" + + "n JetBrains’ IntelliJ IDEA software.", + ) +} + +@Composable +private fun SmallBody() { + Text( + "Android operating system is the largest" + + "installed base among various mobile platforms" + + "across the globe. Hundreds of millions of mobile devices" + + "are powered by Android in more than 190 countries of the world.", + ) +} + +@Composable +private fun Header(backgroundColor: Color) { + Box( + Modifier + .fillMaxWidth() + .heightIn(min = 60.dp) + .background(backgroundColor), + contentAlignment = Alignment.Center, + ) { + Text("Introduction to Android Development") + } +} + +@Composable +private fun Footer( + backgroundColor: Color, + modifier: Modifier = Modifier, +) { + Box( + modifier = Modifier + .background(backgroundColor) + .then(modifier) + .fillMaxWidth(), + ) { + TextField( + modifier = Modifier + .fillMaxWidth(), + value = "", + placeholderText = "Для проверки клавиатуры", + onValueChange = {}, + focusSelectorSettings = FocusSelectorSettings.None, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonGroupStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonGroupStory.kt new file mode 100644 index 0000000000..5be38959bb --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonGroupStory.kt @@ -0,0 +1,199 @@ +package com.sdds.compose.uikit.fixtures.stories.button + +import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.ButtonGroup +import com.sdds.compose.uikit.ButtonGroupOrientation +import com.sdds.compose.uikit.ButtonGroupScope +import com.sdds.compose.uikit.ButtonGroupStyle +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.fixtures.stories.ButtonGroupUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ButtonGroupUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Property +import com.sdds.sandbox.PropertyProducer +import com.sdds.sandbox.StateValueTransformer +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryProperty +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import com.sdds.sandbox.enumProperty + +/** + * Состояние пользовательского интерфейса для группы кнопок в сторибуке. + * + * Определяет настраиваемые параметры группы кнопок, которые будут доступны + * для изменения в панели управления. Демонстрирует использование кастомных + * провайдеров свойств и трансформеров значений. + * + * @param variant вариация группы кнопок + * @param appearance внешний вид кнопок внутри группы + * @param orientation ориентация группы (горизонтальная/вертикальная). + * Использует кастомный провайдер [ButtonGroupOrientationProperty] + * для генерации свойства с отображаемым именем "orient" + * @param amount количество кнопок в группе. + * Использует кастомный трансформер [ButtonGroupAmountTransformer] + * для валидации значения (неотрицательное число) + * + * @see StoryUiState + * @see StoryProperty + * @see ButtonGroupOrientation + */ +@StoryUiState +data class ButtonGroupUiState( + override val variant: String = "", + override val appearance: String = "", + @StoryProperty("orient", producedBy = ButtonGroupOrientationProperty::class) + val orientation: ButtonGroupOrientation = ButtonGroupOrientation.Horizontal, + @StoryProperty(transformedBy = ButtonGroupAmountTransformer::class) + val amount: Int = 3, +) : UiState { + /** + * Создает копию состояния с обновленными значениями внешнего вида и вариации. + * + * @param appearance новое значение внешнего вида + * @param variant новое значение вариации + * @return обновленная копия [ButtonGroupUiState] + */ + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +/** + * История компонента ButtonGroup для сторибука. + * + * @see Story + * @see ComposeBaseStory + * @see ComponentKey.ButtonGroup + * @see ButtonGroupStyle + */ +@Story +object ButtonGroupStory : ComposeBaseStory( + ComponentKey.ButtonGroup, + ButtonGroupUiState(), + ButtonGroupUiStatePropertiesProducer, + ButtonGroupUiStateTransformer, +) { + /** + * Композируемая функция для отображения группы кнопок. + * + * Автоматически добавляет прокрутку в зависимости от ориентации группы + * и отступы для лучшей визуализации. + * + * @param style стиль группы кнопок + * @param state текущее состояние с параметрами настройки + */ + @Composable + override fun BoxScope.Content(style: ButtonGroupStyle, state: ButtonGroupUiState) { + val scrollModifier = when (state.orientation) { + ButtonGroupOrientation.Vertical -> Modifier.verticalScroll(rememberScrollState()) + ButtonGroupOrientation.Horizontal -> Modifier.horizontalScroll(rememberScrollState()) + } + Box(modifier = scrollModifier) { + ButtonGroup( + style = style, + modifier = Modifier.padding(12.dp), + orientation = state.orientation, + ) { + repeat(state.amount) { + buttonContent(state.appearance) + } + } + } + } + + @Composable + override fun Preview( + style: ButtonGroupStyle, + key: ComponentKey, + ) { + ButtonGroup( + style = style, + orientation = ButtonGroupOrientation.Horizontal, + ) { + repeat(3) { + buttonContent() + } + } + } + + /** + * Вспомогательная функция для создания содержимого кнопки в группе. + * + * @param appearance внешний вид, определяющий тип кнопки: + * - содержит "Icon" -> отображается иконка + * - иначе -> отображается текстовая кнопка + */ + private fun ButtonGroupScope.buttonContent(appearance: String = "") { + if (appearance.contains("Icon")) { + button { IconButton(painterResource(R.drawable.ic_plasma_24), {}) } + } else { + button { + Button( + label = "label", + value = "value", + onClick = {}, + ) + } + } + } +} + +/** + * Провайдер свойства для ориентации группы кнопок. + * + * Генерирует свойство с выбором из предопределенных значений перечисления + * [ButtonGroupOrientation]. Используется вместе с аннотацией [StoryProperty] + * для кастомизации отображения в панели управления. + * + * @see PropertyProducer + * @see enumProperty + */ +object ButtonGroupOrientationProperty : PropertyProducer { + + /** + * Создает свойство выбора ориентации на основе текущего состояния. + * + * @param state текущее состояние группы кнопок + * @return [Property.SingleChoiceProperty] с вариантами ориентации + */ + override fun produce(state: ButtonGroupUiState): Property<*> { + return enumProperty( + name = "orientation", + value = state.orientation, + ) + } +} + +/** + * Трансформер значения для количества кнопок в группе. + * + * Обеспечивает валидацию вводимого значения: гарантирует, что количество + * кнопок не может быть отрицательным. Применяется автоматически при изменении + * свойства amount в панели управления. + * + * @see StateValueTransformer + */ +object ButtonGroupAmountTransformer : StateValueTransformer { + /** + * Преобразует входное значение, обеспечивая его неотрицательность. + * + * @param input исходное значение (может быть любым целым числом) + * @return значение, приведенное к диапазону [0, +∞) + */ + override fun transform(input: Int): Int { + return input.coerceAtLeast(0) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonStory.kt new file mode 100644 index 0000000000..782009f87e --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/button/ButtonStory.kt @@ -0,0 +1,97 @@ +package com.sdds.compose.uikit.fixtures.stories.button + +import android.util.Log +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.ButtonIcons +import com.sdds.compose.uikit.ButtonSpacing +import com.sdds.compose.uikit.ButtonStyle +import com.sdds.compose.uikit.fixtures.stories.ButtonUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ButtonUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ButtonUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "label", + val value: String? = null, + val icon: ButtonIcon = ButtonIcon.Start, + val spacing: ButtonSpacing = ButtonSpacing.Packed, + val hasFixedWidth: Boolean = false, + val enabled: Boolean = true, + val loading: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class ButtonIcon { + Start, + End, + No, +} + +@Story +object BasicButtonStory : ComposeBaseStory( + ComponentKey.BasicButton, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer, +) { + + @Composable + override fun BoxScope.Content(style: ButtonStyle, state: ButtonUiState) { + val widthModifier = if (state.hasFixedWidth) { + Modifier.width(260.dp) + } else { + Modifier + } + Button( + modifier = widthModifier, + label = state.label, + value = state.value, + style = style, + enabled = state.enabled, + loading = state.loading, + spacing = state.spacing, + icons = when (state.icon) { + ButtonIcon.End -> ButtonIcons(endRes = com.sdds.icons.R.drawable.ic_plasma_24) + ButtonIcon.No -> null + ButtonIcon.Start -> ButtonIcons(startRes = com.sdds.icons.R.drawable.ic_plasma_24) + }, + onClickLabel = "Протестировать текст для Accessibility", + onClick = { + Log.d("BasicButton", "onClick") + }, + ) + } + + @Composable + override fun Preview( + style: ButtonStyle, + key: ComponentKey, + ) { + Button( + style = style, + icons = ButtonIcons(start = painterResource(id = R.drawable.ic_plasma_24)), + spacing = ButtonSpacing.Packed, + label = "Label", + enabled = true, + loading = false, + onClick = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/card/CardStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/card/CardStory.kt new file mode 100644 index 0000000000..e9757ee4bb --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/card/CardStory.kt @@ -0,0 +1,135 @@ +package com.sdds.compose.uikit.fixtures.stories.card + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Card +import com.sdds.compose.uikit.CardContent +import com.sdds.compose.uikit.CardOrientation +import com.sdds.compose.uikit.CardStyle +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.Image +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.R +import com.sdds.compose.uikit.fixtures.stories.CardUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CardUiStateTransformer +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import com.sdds.icons.R.drawable as Icons + +/** + * Состояние компонента Card + * @property variant состояние компонента + */ +@StoryUiState +data class CardUiState( + override val variant: String = "", + override val appearance: String = "", + val orientation: CardOrientation = CardOrientation.Vertical, + val label: String = "Title", + val hasExtra: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CardStory : ComposeBaseStory( + ComponentKey.Card, + CardUiState(), + CardUiStatePropertiesProducer, + CardUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CardStyle, + state: CardUiState, + ) { + Card( + style = style, + orientation = state.orientation, + label = { Text(state.label) }, + extra = if (state.hasExtra) getExtra() else null, + ) { + Box( + modifier = Modifier + .width(250.dp) + .height(250.dp), + ) { + Image( + modifier = Modifier.fillMaxSize(), + contentScale = ContentScale.Crop, + painter = painterResource(id = R.drawable.il_avatar_test), + contentDescription = "Android", + ) + } + } + } + + @Composable + override fun Preview( + style: CardStyle, + key: ComponentKey, + ) { + Card( + modifier = Modifier + .width(100.dp) + .height(150.dp), + style = style, + focusSelectorSettings = LocalFocusSelectorSettings.current, + ) { + Column { + Box( + modifier = Modifier + .fillMaxSize() + .weight(1f), + ) { + Text( + "Card text", + modifier = Modifier + .align(Alignment.Center), + ) + } + CardContent( + modifier = Modifier + .weight(2f) + .align(Alignment.CenterHorizontally), + style = style, + focusSelectorSettings = FocusSelectorSettings.None, + ) { + Image( + contentScale = ContentScale.Crop, + painter = painterResource(id = R.drawable.il_avatar_test), + contentDescription = "Android", + ) + Text( + text = "Content", + ) + } + } + } + } +} + +private fun getExtra(): (@Composable BoxScope.() -> Unit) = { + IconButton( + iconRes = Icons.ic_plasma_24, + modifier = Modifier.align(Alignment.BottomEnd), + onClick = {}, + ) +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/carousel/CarouselStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/carousel/CarouselStory.kt new file mode 100644 index 0000000000..264097b7cb --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/carousel/CarouselStory.kt @@ -0,0 +1,136 @@ +package com.sdds.compose.uikit.fixtures.stories.carousel + +import androidx.compose.foundation.gestures.snapping.SnapPosition +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.pager.PageSize +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Carousel +import com.sdds.compose.uikit.CarouselStyle +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.CarouselUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CarouselUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import com.sdds.icons.R.drawable as Icons + +@StoryUiState +data class CarouselUiState( + override val variant: String = "", + override val appearance: String = "", + val itemCount: Int = 10, + val alignment: CarouselPageAlignment = CarouselPageAlignment.Center, + val controlsEnabled: Boolean = true, + val indicatorEnabled: Boolean = true, + val indicatorVisibleItemCount: Int = 5, + val withGap: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class CarouselPageAlignment(val snapPosition: SnapPosition) { + Start(SnapPosition.Start), + Center(SnapPosition.Center), + End(SnapPosition.End), +} + +@Story +object CarouselStory : ComposeBaseStory( + ComponentKey.Carousel, + CarouselUiState(), + CarouselUiStatePropertiesProducer, + CarouselUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CarouselStyle, + state: CarouselUiState, + ) { + val carouselState = rememberPagerState { state.itemCount } + Carousel( + style = style, + state = carouselState, + pageSize = PageSize.Fixed(230.dp), + hasControls = state.controlsEnabled, + hasIndicator = state.indicatorEnabled, + snapPosition = state.alignment.snapPosition, + gap = if (state.withGap) { + style.dimensions.gap + } else { + 0.dp + }, + indicatorVisibleCount = state.indicatorVisibleItemCount, + ) { + Box( + modifier = Modifier + .fillMaxWidth() + .height(250.dp), + contentAlignment = Alignment.Center, + ) { + Text( + text = it.toString(), + ) + } + } + } + + @Composable + override fun Preview( + style: CarouselStyle, + key: ComponentKey, + ) { + val previewData = listOf( + "Слайд 1", + "Слайд 2", + "Слайд 3", + "Слайд 4", + "Слайд 5", + "Слайд 6", + "Слайд 7", + "Слайд 8", + "Слайд 9", + "Слайд 10", + "Слайд 11", + "Слайд 12", + ) + val state = rememberPagerState { previewData.size } + Carousel( + style = style, + state = state, + pageSize = PageSize.Fixed(250.dp), + hasControls = true, + hasIndicator = true, + ) { + Box( + modifier = Modifier + .fillMaxWidth() + .height(250.dp), + contentAlignment = Alignment.Center, + ) { + Text( + text = it.toString(), + ) + } + } + } +} + +private fun getExtra(): (@Composable BoxScope.() -> Unit) = { + IconButton( + iconRes = Icons.ic_plasma_24, + modifier = Modifier.align(Alignment.BottomEnd), + onClick = {}, + ) +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/cell/CellStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/cell/CellStory.kt new file mode 100644 index 0000000000..18bf69df16 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/cell/CellStory.kt @@ -0,0 +1,157 @@ +package com.sdds.compose.uikit.fixtures.stories.cell + +import androidx.compose.foundation.focusable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsFocusedAsState +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.RowScope +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.res.painterResource +import androidx.compose.ui.text.AnnotatedString +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Avatar +import com.sdds.compose.uikit.Cell +import com.sdds.compose.uikit.CellStyle +import com.sdds.compose.uikit.CheckBox +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.RadioBox +import com.sdds.compose.uikit.Switch +import com.sdds.compose.uikit.fixtures.stories.CellUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CellUiStateTransformer +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.fs.focusSelector +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class CellUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val title: String = "Title", + val subtitle: String = "Subtitle", + val hasDisclosure: Boolean = true, + val disclosureText: String = "", + val startContent: CellContent = CellContent.AVATAR, + val endContent: CellContent = CellContent.NONE, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class CellContent { + NONE, + AVATAR, + ICON, + SWITCH, + CHECKBOX, + RADIOBOX, +} + +@Story +object CellStory : ComposeBaseStory( + ComponentKey.Cell, + CellUiState(), + CellUiStatePropertiesProducer, + CellUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CellStyle, + state: CellUiState, + ) { + val interactionSource = remember { MutableInteractionSource() } + val isFocused = interactionSource.collectIsFocusedAsState() + + Cell( + modifier = Modifier + .fillMaxWidth(0.8f) + .focusable(interactionSource = interactionSource) + .focusSelector( + settings = LocalFocusSelectorSettings.current, + ) { isFocused.value }, + style = style, + title = AnnotatedString(state.title), + subtitle = AnnotatedString(state.subtitle), + label = AnnotatedString(state.label), + disclosureContentEnabled = state.hasDisclosure, + disclosureText = AnnotatedString(state.disclosureText), + startContent = cellContent(contentType = state.startContent), + endContent = cellContent(contentType = state.endContent), + interactionSource = interactionSource, + ) + } + + @Composable + override fun Preview( + style: CellStyle, + key: ComponentKey, + ) { + Cell( + modifier = Modifier.fillMaxWidth(), + style = style, + title = AnnotatedString("Title"), + subtitle = AnnotatedString(""), + label = AnnotatedString("Label"), + disclosureContentEnabled = false, + startContent = { + Avatar( + painter = painterResource(id = R.drawable.ic_scribble_diagonal_24), + ) + }, + endContent = { + Icon( + painter = painterResource(id = R.drawable.ic_scribble_diagonal_24), + contentDescription = "", + ) + }, + ) + } +} + +@Composable +private fun cellContent(contentType: CellContent): (@Composable RowScope.() -> Unit)? { + return if (contentType != CellContent.NONE) { + { + when (contentType) { + CellContent.AVATAR -> Avatar( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_scribble_diagonal_24), + ) + + CellContent.ICON -> Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_scribble_diagonal_24), + contentDescription = "", + ) + + CellContent.SWITCH -> @Composable { + var active by remember { mutableStateOf(false) } + Switch(active = active, onActiveChanged = { active = it }) + } + + CellContent.CHECKBOX -> @Composable { + var checked by remember { mutableStateOf(false) } + CheckBox(checked = checked, onCheckedChange = { checked = it }) + } + + CellContent.RADIOBOX -> @Composable { + var checked by remember { mutableStateOf(false) } + RadioBox(checked = checked, onClick = { checked = true }) + } + + CellContent.NONE -> {} + } + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkbox/CheckBoxStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkbox/CheckBoxStory.kt new file mode 100644 index 0000000000..2d117c62fe --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkbox/CheckBoxStory.kt @@ -0,0 +1,75 @@ +package com.sdds.compose.uikit.fixtures.stories.checkbox + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.state.ToggleableState +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CheckBox +import com.sdds.compose.uikit.CheckBoxStyle +import com.sdds.compose.uikit.fixtures.stories.CheckBoxUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CheckBoxUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние checkbox + * + * @property state состояние checkbox + * @property label текст лэйбла + * @property description текст описания + * @property enabled включен ли checkbox + */ +@StoryUiState +data class CheckBoxUiState( + override val variant: String = "", + override val appearance: String = "", + val state: ToggleableState = ToggleableState.Indeterminate, + val label: String = "Label", + val description: String = "Description", + val enabled: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CheckBoxStory : ComposeBaseStory( + ComponentKey.CheckBox, + CheckBoxUiState(), + CheckBoxUiStatePropertiesProducer, + CheckBoxUiStateTransformer, +) { + + @Composable + override fun BoxScope.Content( + style: CheckBoxStyle, + state: CheckBoxUiState, + ) { + CheckBox( + style = style, + state = state.state, + label = state.label, + description = state.description, + enabled = state.enabled, + ) + } + + @Composable + override fun Preview( + style: CheckBoxStyle, + key: ComponentKey, + ) { + CheckBox( + style = style, + state = ToggleableState.On, + enabled = true, + label = "Label", + description = "Description", + onClick = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkboxgroup/CheckBoxGroupStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkboxgroup/CheckBoxGroupStory.kt new file mode 100644 index 0000000000..7a59af99e2 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/checkboxgroup/CheckBoxGroupStory.kt @@ -0,0 +1,156 @@ +package com.sdds.compose.uikit.fixtures.stories.checkboxgroup + +import androidx.compose.foundation.layout.BoxScope +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.state.ToggleableState +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CheckBox +import com.sdds.compose.uikit.CheckBoxGroup +import com.sdds.compose.uikit.CheckBoxGroupStyle +import com.sdds.compose.uikit.fixtures.stories.CheckBoxGroupUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CheckBoxGroupUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class CheckBoxGroupUiState( + override val variant: String = "", + override val appearance: String = "", + val hasRoot: Boolean = true, + val enabled: Boolean = true, + val label: String = "label", + val description: String = "description", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CheckBoxGroupStory : ComposeBaseStory( + ComponentKey.CheckBoxGroup, + CheckBoxGroupUiState(), + CheckBoxGroupUiStatePropertiesProducer, + CheckBoxGroupUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CheckBoxGroupStyle, + state: CheckBoxGroupUiState, + ) { + var items by remember { + mutableStateOf( + listOf( + CheckBoxGroupItem( + label = state.label, + description = state.description, + state = ToggleableState.Off, + ), + CheckBoxGroupItem( + label = state.label, + description = state.description, + state = ToggleableState.Off, + ), + ), + ) + } + var rootCheckBoxState by remember { mutableStateOf(ToggleableState.Off) } + + CheckBoxGroup(style = style) { + if (state.hasRoot) { + rootCheckbox { + CheckBox( + state = rootCheckBoxState, + enabled = state.enabled, + label = state.label, + description = state.description, + onClick = { + val newState = rootCheckBoxState.toggle() + rootCheckBoxState = newState + items = items.map { + it.copy(state = newState) + } + }, + ) + } + } + + items.forEachIndexed { index, item -> + checkbox { + CheckBox( + state = item.state, + enabled = state.enabled, + label = item.label, + description = item.description, + onClick = { + val newItems = items.mapIndexed { mapIndex, mapItem -> + if (mapIndex == index) mapItem.copy(state = mapItem.state.toggle()) else mapItem + } + items = newItems + rootCheckBoxState = newItems.getParentState() + }, + ) + } + } + } + } + + @Composable + override fun Preview( + style: CheckBoxGroupStyle, + key: ComponentKey, + ) { + CheckBoxGroup( + style = style, + ) { + rootCheckbox { + CheckBox( + state = ToggleableState.On, + label = "Label", + description = "Description", + ) + } + checkbox { + CheckBox( + state = ToggleableState.On, + label = "Label", + description = "Description", + ) + } + checkbox { + CheckBox( + state = ToggleableState.On, + label = "Label", + description = "Description", + ) + } + } + } +} + +private fun List.getParentState(): ToggleableState = + when { + this.all { it.state == ToggleableState.On } -> ToggleableState.On + this.all { it.state == ToggleableState.Off } -> ToggleableState.Off + else -> ToggleableState.Indeterminate + } + +private data class CheckBoxGroupItem( + val label: String?, + val description: String?, + val state: ToggleableState = ToggleableState.Off, +) + +private fun ToggleableState.toggle(): ToggleableState { + return if (this == ToggleableState.Off || this == ToggleableState.Indeterminate) { + ToggleableState.On + } else { + ToggleableState.Off + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chip/ChipStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chip/ChipStory.kt new file mode 100644 index 0000000000..f8e91dab7d --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chip/ChipStory.kt @@ -0,0 +1,107 @@ +package com.sdds.compose.uikit.fixtures.stories.chip + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Chip +import com.sdds.compose.uikit.ChipStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.fixtures.stories.ChipUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ChipUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ChipUiState( + override val variant: String = "", + override val appearance: String = "", + val isClickable: Boolean = true, + val label: String = "Label", + val hasStartIcon: Boolean = true, + val hasEndIcon: Boolean = true, + val enabled: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ChipStory : ComposeBaseStory( + ComponentKey.Chip, + ChipUiState(), + ChipUiStatePropertiesProducer, + ChipUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ChipStyle, + state: ChipUiState, + ) { + Chip( + onClick = getOnClick(state.isClickable), + style = style, + label = state.label, + enabled = state.enabled, + startContent = startContent(state.hasStartIcon), + endContent = endContent(state.hasEndIcon), + ) + } + + @Composable + override fun Preview( + style: ChipStyle, + key: ComponentKey, + ) { + Chip( + style = style, + label = "Label", + onClick = {}, + endContent = { + Icon( + painter = painterResource(id = R.drawable.ic_close_24), + contentDescription = null, + ) + }, + enabled = true, + ) + } +} + +private fun getOnClick(isClickable: Boolean): (() -> Unit)? { + return if (isClickable) { + {} + } else { + null + } +} + +private fun startContent(hasContent: Boolean): (@Composable () -> Unit)? { + return if (hasContent) { + { + Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_add_fill_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun endContent(hasContent: Boolean): (@Composable () -> Unit)? { + return if (hasContent) { + { + Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_close_24), + contentDescription = "", + ) + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chipgroup/ChipGroupStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chipgroup/ChipGroupStory.kt new file mode 100644 index 0000000000..6c5f3ed6f7 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/chipgroup/ChipGroupStory.kt @@ -0,0 +1,101 @@ +package com.sdds.compose.uikit.fixtures.stories.chipgroup + +import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.rememberScrollState +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.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Chip +import com.sdds.compose.uikit.ChipGroup +import com.sdds.compose.uikit.ChipGroupStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.fixtures.stories.ChipGroupUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ChipGroupUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ChipGroupUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "label", + val quantity: Int = 3, + val shouldWrap: Boolean = true, + val enabled: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ChipGroupStory : ComposeBaseStory( + ComponentKey.ChipGroup, + ChipGroupUiState(), + ChipGroupUiStatePropertiesProducer, + ChipGroupUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ChipGroupStyle, + state: ChipGroupUiState, + ) { + ChipGroup( + modifier = if (state.shouldWrap) { + Modifier + } else { + Modifier.horizontalScroll(rememberScrollState()) + }, + style = style, + ) { + repeat(state.quantity) { + var isSelected by remember { mutableStateOf(false) } + // TODO: https://github.com/salute-developers/plasma-android/issues/306 + Chip( + isSelected = isSelected, + onSelectedChange = { value -> isSelected = value }, + label = state.label, + endContent = if (isSelected) { + { + Icon( + painter = painterResource(id = R.drawable.ic_close_24), + contentDescription = "", + ) + } + } else { + null + }, + enabled = state.enabled, + ) + } + } + } + + @Composable + override fun Preview( + style: ChipGroupStyle, + key: ComponentKey, + ) { + ChipGroup( + style = style, + content = { + repeat(3) { + Chip( + label = "Label", + onClick = {}, + enabled = true, + ) + } + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/circularprogress/CircularProgressStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/circularprogress/CircularProgressStory.kt new file mode 100644 index 0000000000..dd120853da --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/circularprogress/CircularProgressStory.kt @@ -0,0 +1,62 @@ +package com.sdds.compose.uikit.fixtures.stories.circularprogress + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CircularProgressBar +import com.sdds.compose.uikit.CircularProgressBarStyle +import com.sdds.compose.uikit.fixtures.stories.CircularProgressUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CircularProgressUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Progress + * @property variant стиль компонента + * @property progress текущий прогресс + */ +@StoryUiState +data class CircularProgressUiState( + override val variant: String = "", + override val appearance: String = "", + val progress: Float = 0.5f, + val trackEnabled: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CircularProgressStory : ComposeBaseStory( + ComponentKey.CircularProgressBar, + CircularProgressUiState(), + CircularProgressUiStatePropertiesProducer, + CircularProgressUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CircularProgressBarStyle, + state: CircularProgressUiState, + ) { + CircularProgressBar( + progress = state.progress, + style = style, + trackEnabled = state.trackEnabled, + ) + } + + @Composable + override fun Preview( + style: CircularProgressBarStyle, + key: ComponentKey, + ) { + CircularProgressBar( + progress = 0.5f, + style = style, + trackEnabled = true, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codefield/CodeFieldStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codefield/CodeFieldStory.kt new file mode 100644 index 0000000000..a82180a89b --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codefield/CodeFieldStory.kt @@ -0,0 +1,77 @@ +package com.sdds.compose.uikit.fixtures.stories.codefield + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CodeField +import com.sdds.compose.uikit.CodeFieldCaptionAlignment +import com.sdds.compose.uikit.CodeFieldStyle +import com.sdds.compose.uikit.fixtures.stories.CodeFieldUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CodeFieldUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class CodeFieldUiState( + override val variant: String = "", + override val appearance: String = "", + val errorItem: String = "q", + val codeLength: Int = 4, + val hidden: Boolean = false, + val caption: String = "Caption", + val captionAlignment: CodeFieldCaptionAlignment = CodeFieldCaptionAlignment.Center, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CodeFieldStory : ComposeBaseStory( + ComponentKey.CodeField, + CodeFieldUiState(), + CodeFieldUiStatePropertiesProducer, + CodeFieldUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CodeFieldStyle, + state: CodeFieldUiState, + ) { + val focusRequester = remember { FocusRequester() } + val validCode = buildString { repeat(state.codeLength) { append(it + 1) } } + CodeField( + modifier = Modifier.focusRequester(focusRequester), + style = style, + codeLength = state.codeLength, + hidden = state.hidden, + onCodeComplete = { it == validCode }, + isItemValid = { it != state.errorItem }, + caption = state.caption, + captionAlignment = state.captionAlignment, + ) + + LaunchedEffect(Unit) { focusRequester.requestFocus() } + } + + @Composable + override fun Preview( + style: CodeFieldStyle, + key: ComponentKey, + ) { + CodeField( + style = style, + codeLength = 6, + hidden = false, + caption = "Caption", + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codeinput/CodeInputStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codeinput/CodeInputStory.kt new file mode 100644 index 0000000000..df81e3526d --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/codeinput/CodeInputStory.kt @@ -0,0 +1,121 @@ +package com.sdds.compose.uikit.fixtures.stories.codeinput + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.focus.focusTarget +import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.sandbox.internal.FIELD_FOCUS_SELECTOR_MODE_SWITCH +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.CodeInput +import com.sdds.compose.uikit.CodeInputCaptionAlignment +import com.sdds.compose.uikit.CodeInputStyle +import com.sdds.compose.uikit.Switch +import com.sdds.compose.uikit.fixtures.R +import com.sdds.compose.uikit.fixtures.stories.CodeInputUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CodeInputUiStateTransformer +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.fs.isEnabled +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class CodeInputUiState( + override val variant: String = "", + override val appearance: String = "", + val errorItem: String = "q", + val codeLength: Int = 4, + val hidden: Boolean = false, + val caption: String = "Caption", + val captionAlignment: CodeInputCaptionAlignment = CodeInputCaptionAlignment.Center, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CodeInputStory : ComposeBaseStory( + ComponentKey.CodeInput, + CodeInputUiState(), + CodeInputUiStatePropertiesProducer, + CodeInputUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CodeInputStyle, + state: CodeInputUiState, + ) { + val focusRequester = remember { FocusRequester() } + val focusManager = LocalFocusManager.current + var isFocusSelectorOn by remember { mutableStateOf(!FIELD_FOCUS_SELECTOR_MODE_SWITCH) } + Column { + val validCode = + buildString { repeat(state.codeLength) { append(it + 1) } } + CodeInput( + modifier = Modifier + .align(Alignment.CenterHorizontally) + .focusRequester(focusRequester) + .focusTarget(), + style = style, + codeLength = state.codeLength, + hidden = state.hidden, + onCodeComplete = { it == validCode }, + isItemValid = { it != state.errorItem }, + caption = state.caption, + hasItemFocusSelector = if (isFocusSelectorOn) { + LocalFocusSelectorSettings.current.isEnabled() + } else { + false + }, + captionAlignment = state.captionAlignment, + ) + + if (FIELD_FOCUS_SELECTOR_MODE_SWITCH) { + Spacer(Modifier.size(64.dp)) + Switch( + active = isFocusSelectorOn, + label = stringResource(R.string.sandbox_enable_focus_selector), + onActiveChanged = { isFocusSelectorOn = it }, + ) + Button( + label = stringResource(R.string.sandbox_clear_focus), + onClick = { focusManager.clearFocus(true) }, + ) + } + LaunchedEffect(Unit) { + focusRequester.requestFocus() + } + } + } + + @Composable + override fun Preview( + style: CodeInputStyle, + key: ComponentKey, + ) { + CodeInput( + style = style, + codeLength = 6, + hidden = true, + caption = "Caption", + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/collapsingnavigationbar/CollapsingNavigationBarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/collapsingnavigationbar/CollapsingNavigationBarStory.kt new file mode 100644 index 0000000000..470c562516 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/collapsingnavigationbar/CollapsingNavigationBarStory.kt @@ -0,0 +1,168 @@ +package com.sdds.compose.uikit.fixtures.stories.collapsingnavigationbar + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CollapsingNavigationBar +import com.sdds.compose.uikit.CollapsingNavigationBarDefaults +import com.sdds.compose.uikit.CollapsingNavigationBarStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.NavBarCenterAlignmentStrategy +import com.sdds.compose.uikit.NavigationBarTextAlign +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.CollapsingNavigationBarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CollapsingNavigationBarUiStateTransformer +import com.sdds.compose.uikit.rememberCollapsingNavigationBarState +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class CollapsingNavigationBarUiState( + override val variant: String = "", + override val appearance: String = "", + val collapsedTitle: String = "Title", + val expandedTitle: String = "Title", + val collapsedDescription: String = "Description", + val expandedDescription: String = "Description", + val contentText: String = "Content", + val hasActionStart: Boolean = true, + val hasActionEnd: Boolean = true, + val collapsedTextAlign: NavigationBarTextAlign = NavigationBarTextAlign.Center, + val expandedTextAlign: NavigationBarTextAlign = NavigationBarTextAlign.Start, + val centerAlignmentStrategy: NavBarCenterAlignmentStrategy = NavBarCenterAlignmentStrategy.Absolute, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CollapsingNavigationBarStory : + ComposeBaseStory( + ComponentKey.CollapsingNavigationBar, + CollapsingNavigationBarUiState(), + CollapsingNavigationBarUiStatePropertiesProducer, + CollapsingNavigationBarUiStateTransformer, + ) { + @Composable + override fun BoxScope.Content( + style: CollapsingNavigationBarStyle, + state: CollapsingNavigationBarUiState, + ) { + val scrollBehavior = + CollapsingNavigationBarDefaults.exitUntilCollapsedScrollBehavior( + rememberCollapsingNavigationBarState(), + ) + Column( + modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), + ) { + CollapsingNavigationBar( + style = style, + scrollBehavior = scrollBehavior, + collapsedTextAlign = state.collapsedTextAlign, + expandedTextAlign = state.expandedTextAlign, + collapsedTitle = textContent(state.collapsedTitle), + expandedTitle = textContent(state.expandedTitle), + collapsedDescription = textContent(state.collapsedDescription), + expandedDescription = textContent(state.expandedDescription), + content = content(state.contentText), + actionStart = actionStart(state.hasActionStart), + actionEnd = actionEnd(state.hasActionEnd), + centerAlignmentStrategy = state.centerAlignmentStrategy, + onBackPressed = { + println("Back button was pressed") + }, + ) + LazyColumn { + items(100) { + Text(modifier = Modifier.padding(32.dp), text = "Label text $it") + } + } + } + } + + @Composable + override fun Preview( + style: CollapsingNavigationBarStyle, + key: ComponentKey, + ) { + CollapsingNavigationBar( + style = style, + collapsedTitle = textContent("Title"), + content = content("Content"), + actionStart = actionStart(true), + actionEnd = actionEnd(true), + expandedTitle = textContent("Title"), + expandedDescription = textContent("Description"), + collapsedDescription = textContent( + "Description", + ), + ) + } +} + +private fun actionStart(hasAction: Boolean): (@Composable RowScope.() -> Unit)? { + return if (hasAction) { + @Composable { + Icon( + painter = painterResource(R.drawable.ic_search_24), + contentDescription = "", + ) + Icon( + painter = painterResource(R.drawable.ic_plus_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun actionEnd(hasAction: Boolean): (@Composable RowScope.() -> Unit)? { + return if (hasAction) { + @Composable { + Icon( + painter = painterResource(R.drawable.ic_menu_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun content(text: String): (@Composable () -> Unit)? { + return if (text.isEmpty()) { + null + } else { + @Composable { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.Center, + ) { Text(text) } + } + } +} + +private fun textContent(text: String): (@Composable () -> Unit)? { + return if (text.isEmpty()) { + null + } else { + @Composable { Text(text) } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/counter/CounterStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/counter/CounterStory.kt new file mode 100644 index 0000000000..93a88bbbca --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/counter/CounterStory.kt @@ -0,0 +1,58 @@ +package com.sdds.compose.uikit.fixtures.stories.counter + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Counter +import com.sdds.compose.uikit.CounterStyle +import com.sdds.compose.uikit.fixtures.stories.CounterUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.CounterUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние Counter + * @property count текст + */ +@StoryUiState +data class CounterUiState( + override val variant: String = "", + override val appearance: String = "", + val count: String = "1", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object CounterStory : ComposeBaseStory( + ComponentKey.Counter, + CounterUiState(), + CounterUiStatePropertiesProducer, + CounterUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: CounterStyle, + state: CounterUiState, + ) { + Counter( + style = style, + count = state.count, + ) + } + + @Composable + override fun Preview( + style: CounterStyle, + key: ComponentKey, + ) { + Counter( + style = style, + count = "123", + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/divider/DividerStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/divider/DividerStory.kt new file mode 100644 index 0000000000..f251003357 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/divider/DividerStory.kt @@ -0,0 +1,51 @@ +package com.sdds.compose.uikit.fixtures.stories.divider + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Divider +import com.sdds.compose.uikit.DividerStyle +import com.sdds.compose.uikit.fixtures.stories.DividerUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.DividerUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Divider + * @property variant вариант компонента + */ +@StoryUiState +data class DividerUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object DividerStory : ComposeBaseStory( + ComponentKey.Divider, + DividerUiState(), + DividerUiStatePropertiesProducer, + DividerUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: DividerStyle, + state: DividerUiState, + ) { + Divider(style = style) + } + + @Composable + override fun Preview( + style: DividerStyle, + key: ComponentKey, + ) { + Divider(style = style) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/drawer/DrawerStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/drawer/DrawerStory.kt new file mode 100644 index 0000000000..6f610fc677 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/drawer/DrawerStory.kt @@ -0,0 +1,210 @@ +package com.sdds.compose.uikit.fixtures.stories.drawer + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.heightIn +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.sandbox.internal.focusableItem +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.CloseIconAlignment +import com.sdds.compose.uikit.Drawer +import com.sdds.compose.uikit.DrawerAlignment +import com.sdds.compose.uikit.DrawerStyle +import com.sdds.compose.uikit.DrawerValue +import com.sdds.compose.uikit.List +import com.sdds.compose.uikit.ListItem +import com.sdds.compose.uikit.ListItemStyle +import com.sdds.compose.uikit.LocalListItemStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.DrawerUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.DrawerUiStateTransformer +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.fs.focusSelector +import com.sdds.compose.uikit.rememberDrawerState +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import kotlinx.coroutines.launch + +/** + * Состояние BottomSheet + */ +@StoryUiState +data class DrawerUiState( + override val variant: String = "", + override val appearance: String = "", + val alignment: DrawerAlignment = DrawerAlignment.Bottom, + val closeIconAlignment: CloseIconAlignment = CloseIconAlignment.End, + val closeIconAbsolute: Boolean = false, + val header: Boolean = false, + val footer: Boolean = false, + val hasOverlay: Boolean = true, + val hasPeekOffset: Boolean = false, + val gesturesEnabled: Boolean = true, + val moveContentEnabled: Boolean = false, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object DrawerStory : ComposeBaseStory( + ComponentKey.Drawer, + DrawerUiState(), + DrawerUiStatePropertiesProducer, + DrawerUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: DrawerStyle, + state: DrawerUiState, + ) { + val drawerState = rememberDrawerState( + initialValue = DrawerValue.Closed, + alignment = state.alignment, + ) + val scope = rememberCoroutineScope() + + Drawer( + drawerState = drawerState, + style = style, + closeIconAlignment = state.closeIconAlignment, + closeIconAbsolute = state.closeIconAbsolute, + peekOffset = (56.dp).takeIf { state.hasPeekOffset } ?: 0.dp, + overlayEnabled = state.hasOverlay, + gesturesEnabled = state.gesturesEnabled, + moveContentEnabled = state.moveContentEnabled, + drawerHeader = if (state.header) { + { Header() } + } else { + null + }, + drawerFooter = if (state.footer) { + { Footer() } + } else { + null + }, + drawerContent = { Body() }, + ) { + Button( + label = "Показать Drawer", + modifier = Modifier.align(Alignment.Center), + onClick = { + scope.launch { + drawerState.open() + } + }, + ) + } + } + + @Composable + override fun Preview( + style: DrawerStyle, + key: ComponentKey, + ) { + val drawerState = rememberDrawerState( + initialValue = DrawerValue.Closed, + ) + val scope = rememberCoroutineScope() + + Drawer( + drawerState = drawerState, + style = style, + drawerContent = { + List { + items(3) { + ListItem(text = "item $it") + } + } + }, + ) { + Button( + label = "Показать Drawer", + modifier = Modifier.align(Alignment.Center), + onClick = { + scope.launch { + drawerState.open() + } + }, + ) + } + } +} + +@Composable +private fun Header() { + Box( + Modifier + .fillMaxWidth() + .heightIn(min = 30.dp), + ) { + Text("Header", modifier = Modifier.align(Alignment.CenterStart)) + } +} + +@Composable +private fun Footer() { + Box( + Modifier + .fillMaxWidth() + .heightIn(min = 30.dp), + ) { + Text("Footer", modifier = Modifier.align(Alignment.CenterStart)) + } +} + +@Composable +private fun Body() { + List { + items(20) { + var isFocused by remember { mutableStateOf(false) } + ListItem( + text = "item $it", + style = DrawerListItemStyle, + modifier = Modifier + .fillMaxWidth() + .focusableItem { focus -> isFocused = focus.isFocused } + .focusSelector( + settings = LocalFocusSelectorSettings.current, + isFocused = { isFocused }, + ), + ) + } + } +} + +private val DrawerListItemStyle: ListItemStyle + @Composable + get() { + val current = LocalListItemStyle.current + return ListItemStyle.builder() + .titleStyle(current.titleStyle) + .shape(current.shape) + .apply { current.disclosureIconRes?.let { disclosureIcon(it) } } + .dimensions { + paddingStart(0.dp) + paddingEnd(0.dp) + paddingTop(current.dimensions.paddingTop) + paddingBottom(current.dimensions.paddingBottom) + contentPaddingEnd(current.dimensions.contentPaddingEnd) + height(current.dimensions.height) + } + .colors { + titleColor(current.colors.titleColor) + backgroundColor(current.colors.backgroundColor) + } + .style() + } diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt new file mode 100644 index 0000000000..69a05c1318 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt @@ -0,0 +1,154 @@ +package com.sdds.compose.uikit.fixtures.stories.dropdownmenu + +import android.util.Log +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.widthIn +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Divider +import com.sdds.compose.uikit.DropdownMenu +import com.sdds.compose.uikit.DropdownMenuStyle +import com.sdds.compose.uikit.List +import com.sdds.compose.uikit.ListItem +import com.sdds.compose.uikit.PopoverAlignment +import com.sdds.compose.uikit.PopoverPlacement +import com.sdds.compose.uikit.PopoverPlacementMode +import com.sdds.compose.uikit.TriggerInfo +import com.sdds.compose.uikit.fixtures.stories.DropdownMenuUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.DropdownMenuUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.popover.TriggerPlacement +import com.sdds.compose.uikit.fixtures.stories.popover.toAlignment +import com.sdds.compose.uikit.popoverTrigger +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class DropdownMenuUiState( + override val variant: String = "", + override val appearance: String = "", + val amount: Int = 3, + val itemTitle: String = "Item Title", + val hasDisclosure: Boolean = true, + val itemDividerEnabled: Boolean = false, + val placementMode: PopoverPlacementMode = PopoverPlacementMode.Loose, + val placement: PopoverPlacement = PopoverPlacement.Bottom, + val alignment: PopoverAlignment = PopoverAlignment.Center, + val triggerPlacement: TriggerPlacement = TriggerPlacement.Center, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object DropdownMenuStory : ComposeBaseStory( + ComponentKey.DropdownMenu, + DropdownMenuUiState(), + DropdownMenuUiStatePropertiesProducer, + DropdownMenuUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: DropdownMenuStyle, + state: DropdownMenuUiState, + ) { + Box( + Modifier.fillMaxSize(), + contentAlignment = state.triggerPlacement.toAlignment(), + ) { + val showDropdownMenu = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + Button( + modifier = Modifier.popoverTrigger(triggerInfo), + label = "show", + onClick = { showDropdownMenu.value = true }, + ) + DropdownMenu( + opened = showDropdownMenu.value, + onDismissRequest = { + showDropdownMenu.value = false + }, + triggerInfo = triggerInfo.value, + placement = state.placement, + placementMode = state.placementMode, + alignment = state.alignment, + style = style, + clipHeight = true, + clipWidth = true, + ) { + List(modifier = Modifier.widthIn(0.dp, 200.dp)) { + items(state.amount) { + val interactionSource = remember { MutableInteractionSource() } + ListItem( + modifier = Modifier + .clickable( + indication = null, + interactionSource = interactionSource, + ) { + Log.d( + "DropdownMenu", + "${state.itemTitle} $it pressed", + ) + } + .fillMaxWidth(), + title = "${state.itemTitle} $it", + disclosureEnabled = state.hasDisclosure, + interactionSource = interactionSource, + ) + if (state.itemDividerEnabled && it != state.amount - 1) { + Divider() + } + } + } + } + } + } + + @Composable + override fun Preview( + style: DropdownMenuStyle, + key: ComponentKey, + ) { + val showDropdownMenu = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + Button( + modifier = Modifier.popoverTrigger(triggerInfo), + label = "Show Dropdown", + onClick = { showDropdownMenu.value = true }, + ) + DropdownMenu( + opened = showDropdownMenu.value, + onDismissRequest = { + showDropdownMenu.value = false + }, + placement = PopoverPlacement.Bottom, + placementMode = PopoverPlacementMode.Strict, + alignment = PopoverAlignment.Center, + triggerInfo = triggerInfo.value, + style = style, + ) { + List(modifier = Modifier.width(200.dp)) { + items(3) { + ListItem( + text = "Item Title $it", + disclosureEnabled = true, + ) + } + } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/editable/EditableStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/editable/EditableStory.kt new file mode 100644 index 0000000000..ec9ad7163d --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/editable/EditableStory.kt @@ -0,0 +1,113 @@ +package com.sdds.compose.uikit.fixtures.stories.editable + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.BoxScope +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.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.TextRange +import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.text.style.TextAlign +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Editable +import com.sdds.compose.uikit.EditableIconPlacement +import com.sdds.compose.uikit.EditableStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.fixtures.stories.EditableUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.EditableUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class EditableUiState( + override val variant: String = "", + override val appearance: String = "", + val enabled: Boolean = true, + val singleLine: Boolean = true, + val readonly: Boolean = false, + val iconPlacement: EditableIconPlacement = EditableIconPlacement.Relative, + val textAlign: EditableTextAlign = EditableTextAlign.Start, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class EditableTextAlign(val align: TextAlign) { + Center(TextAlign.Center), + Start(TextAlign.Start), + End(TextAlign.End), +} + +@Story +object EditableStory : ComposeBaseStory( + ComponentKey.Editable, + EditableUiState(), + EditableUiStatePropertiesProducer, + EditableUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: EditableStyle, + state: EditableUiState, + ) { + var text by remember { mutableStateOf(TextFieldValue("Value")) } + val focusRequester = remember { FocusRequester() } + Editable( + modifier = Modifier + .focusRequester(focusRequester), + style = style, + value = text, + onValueChange = { text = it }, + icon = { + Icon( + modifier = Modifier + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + focusRequester.requestFocus() + text = text.copy(selection = TextRange(text.text.length)) + }, + painter = painterResource(R.drawable.ic_edit_fill_36), + contentDescription = null, + ) + }, + iconPlacement = state.iconPlacement, + textAlign = state.textAlign.align, + singleLine = state.singleLine, + enabled = state.enabled, + readOnly = state.readonly, + ) + } + + @Composable + override fun Preview( + style: EditableStyle, + key: ComponentKey, + ) { + Editable( + style = style, + value = TextFieldValue("Value"), + onValueChange = {}, + singleLine = true, + icon = { + Icon( + painter = painterResource(R.drawable.ic_edit_fill_36), + contentDescription = null, + ) + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/file/FileStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/file/FileStory.kt new file mode 100644 index 0000000000..ef22f8889d --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/file/FileStory.kt @@ -0,0 +1,159 @@ +package com.sdds.compose.uikit.fixtures.stories.file + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import coil.compose.AsyncImage +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.CircularProgressBar +import com.sdds.compose.uikit.File +import com.sdds.compose.uikit.FileActionPlacement +import com.sdds.compose.uikit.FileProgressPlacement +import com.sdds.compose.uikit.FileStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.ProgressBar +import com.sdds.compose.uikit.fixtures.stories.FileUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.FileUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class FileUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val description: String = "Description", + val isLoading: Boolean = false, + val hasContentStart: Boolean = true, + val contentType: FileContentType = FileContentType.Icon, + val actionPlacement: FileActionPlacement = FileActionPlacement.End, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class FileContentType { + Icon, Image +} + +@Story +object FileStory : ComposeBaseStory( + ComponentKey.File, + FileUiState(), + FileUiStatePropertiesProducer, + FileUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: FileStyle, + state: FileUiState, + ) { + File( + modifier = Modifier.width(240.dp), + style = style, + label = state.label, + description = state.description, + isLoading = state.isLoading, + image = getImageContent(state), + progress = when (style.progressPlacement) { + FileProgressPlacement.Inner -> { + { + CircularProgressBar( + progress = 0.4f, + valueContent = { + Icon( + painter = painterResource(id = R.drawable.ic_close_16), + contentDescription = "", + ) + }, + ) + } + } + + FileProgressPlacement.Outer -> { + { ProgressBar(0.4f) } + } + }, + action = { + IconButton( + iconRes = R.drawable.ic_close_24, + onClick = {}, + ) + }, + actionPlacement = state.actionPlacement, + ) + } + + @Composable + override fun Preview( + style: FileStyle, + key: ComponentKey, + ) { + File( + style = style, + label = "image.png", + description = "226 КБ", + isLoading = true, + image = { + Icon( + painterResource(R.drawable.ic_file_check_fill_36), + contentDescription = "", + ) + }, + progress = { + CircularProgressBar( + progress = 0.4f, + valueContent = { + Icon( + painter = painterResource(id = R.drawable.ic_close_16), + contentDescription = "", + ) + }, + ) + }, + action = { + IconButton( + iconRes = R.drawable.ic_close_36, + onClick = {}, + ) + }, + ) + } +} + +@Composable +private fun getImageContent(fileUiState: FileUiState): @Composable (() -> Unit)? = + if (fileUiState.hasContentStart) { + { + when (fileUiState.contentType) { + FileContentType.Icon -> Icon( + painterResource(R.drawable.ic_file_check_fill_36), + contentDescription = "", + ) + + FileContentType.Image -> AsyncImage( + modifier = Modifier + .size(36.dp) + .clip(RoundedCornerShape(6.dp)), + contentScale = ContentScale.Crop, + model = "https://cdn.costumewall.com/wp-content/uploads/2018/09/michael-scott.jpg", + contentDescription = "FileImage", + ) + } + } + } else { + null + } diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/form/FormItemStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/form/FormItemStory.kt new file mode 100644 index 0000000000..158db00a15 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/form/FormItemStory.kt @@ -0,0 +1,154 @@ +package com.sdds.compose.uikit.fixtures.stories.form + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +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.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.FormItem +import com.sdds.compose.uikit.FormItemStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.PopoverAlignment +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.Tooltip +import com.sdds.compose.uikit.TriggerInfo +import com.sdds.compose.uikit.fixtures.stories.FormItemUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.FormItemUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class FormItemUiState( + override val variant: String = "", + override val appearance: String = "", + val content: String = "Form item text content.\nSecond line text.", + val title: String = "Title", + val titleCaption: String = "", + val caption: String = "Caption", + val counter: String = "", + val optional: String = "Optional", + val hasHint: Boolean = false, + val hasCaptionIcon: Boolean = true, + val enabled: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object FormItemStory : ComposeBaseStory( + ComponentKey.FormItem, + FormItemUiState(), + FormItemUiStatePropertiesProducer, + FormItemUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: FormItemStyle, + state: FormItemUiState, + ) { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center, + ) { + val hintTriggerInfo = remember { mutableStateOf(TriggerInfo()) } + var showTooltip by remember { mutableStateOf(false) } + FormItem( + modifier = Modifier, + style = style, + content = getContent(state.content), + title = getContentOrNull(state.title), + optional = getContentOrNull(state.optional), + titleCaption = getContentOrNull(state.titleCaption), + caption = getIconTextOrNull( + state.caption, + state.hasCaptionIcon, + ), + counter = getContentOrNull(state.counter), + hasHint = state.hasHint, + + onHintPressed = { showTooltip = true }, + hintTriggerInfo = hintTriggerInfo, + enabled = state.enabled, + ) + + Tooltip( + show = showTooltip, + onDismissRequest = { showTooltip = false }, + triggerInfo = { hintTriggerInfo.value }, + text = AnnotatedString("Tooltip text"), + alignment = PopoverAlignment.Center, + ) + } + } + + @Composable + override fun Preview( + style: FormItemStyle, + key: ComponentKey, + ) { + FormItem( + style = style, + content = getContent("Form Item Content"), + title = getContentOrNull("Title"), + titleCaption = getContentOrNull("TitleCaption"), + caption = getIconTextOrNull("Caption", true), + counter = getContentOrNull("Counter"), + ) + } +} + +@Composable +private fun getContentOrNull(content: String): (@Composable () -> Unit)? { + return if (content.isNotEmpty()) { + getContent(content) + } else { + null + } +} + +@Composable +private fun getContent(text: String): (@Composable () -> Unit) { + return { Text(text = text) } +} + +@Composable +private fun getIconTextOrNull(text: String, hasIcon: Boolean): (@Composable () -> Unit)? { + return if (text.isNotEmpty() || hasIcon) { + { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(4.dp), + ) { + if (hasIcon) { + Icon( + modifier = Modifier.height(14.dp), + contentScale = ContentScale.Crop, + painter = painterResource(com.sdds.icons.R.drawable.ic_shazam_16), + contentDescription = "", + ) + } + Text(text = text) + } + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbadge/IconBadgeStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbadge/IconBadgeStory.kt new file mode 100644 index 0000000000..905440bfdc --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbadge/IconBadgeStory.kt @@ -0,0 +1,62 @@ +package com.sdds.compose.uikit.fixtures.stories.iconbadge + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.BadgeStyle +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.IconBadge +import com.sdds.compose.uikit.fixtures.stories.IconBadgeUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.IconBadgeUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.badge.badgeContent +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class IconBadgeUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object IconBadgeStory : ComposeBaseStory( + ComponentKey.IconBadge, + IconBadgeUiState(), + IconBadgeUiStatePropertiesProducer, + IconBadgeUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: BadgeStyle, + state: IconBadgeUiState, + ) { + IconBadge( + style = style, + content = badgeContent(true), + ) + } + + @Composable + override fun Preview( + style: BadgeStyle, + key: ComponentKey, + ) { + IconBadge( + style = style, + content = { + Icon( + painter = painterResource(id = R.drawable.ic_plasma_16), + contentDescription = "", + ) + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbutton/IconButtonStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbutton/IconButtonStory.kt new file mode 100644 index 0000000000..7ce6059995 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/iconbutton/IconButtonStory.kt @@ -0,0 +1,71 @@ +package com.sdds.compose.uikit.fixtures.stories.iconbutton + +import android.util.Log +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.ButtonStyle +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.fixtures.stories.IconButtonUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.IconButtonUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class IconButtonUiState( + override val variant: String = "", + override val appearance: String = "", + val enabled: Boolean = true, + val loading: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class ButtonIcon { + Start, + End, + No, +} + +@Story +object IconBasicButtonStory : ComposeBaseStory( + ComponentKey.IconButton, + IconButtonUiState(), + IconButtonUiStatePropertiesProducer, + IconButtonUiStateTransformer, +) { + + @Composable + override fun BoxScope.Content(style: ButtonStyle, state: IconButtonUiState) { + IconButton( + iconRes = R.drawable.ic_plasma_24, + style = style, + enabled = state.enabled, + loading = state.loading, + onClickLabel = "Протестировать текст для Accessibility", + onClick = { + Log.d("BasicButton", "onClick") + }, + ) + } + + @Composable + override fun Preview( + style: ButtonStyle, + key: ComponentKey, + ) { + IconButton( + iconRes = R.drawable.ic_plasma_24, + style = style, + enabled = true, + loading = false, + onClick = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/image/ImageStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/image/ImageStory.kt new file mode 100644 index 0000000000..c0e79ea9c5 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/image/ImageStory.kt @@ -0,0 +1,73 @@ +package com.sdds.compose.uikit.fixtures.stories.image + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Image +import com.sdds.compose.uikit.ImageStyle +import com.sdds.compose.uikit.fixtures.stories.ImageUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ImageUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Image + * @property variant стиль компонента + */ +@StoryUiState +data class ImageUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ImageStory : ComposeBaseStory( + ComponentKey.Image, + ImageUiState(), + ImageUiStatePropertiesProducer, + ImageUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ImageStyle, + state: ImageUiState, + ) { + Image( + painter = painterResource(R.drawable.ic_alarm_done_fill_36), + contentDescription = null, + modifier = Modifier + .width(100.dp) + .background(Color.Gray), + style = style, + ) + } + + @Composable + override fun Preview( + style: ImageStyle, + key: ComponentKey, + ) { + Image( + painter = painterResource(R.drawable.ic_alarm_done_fill_36), + contentDescription = null, + modifier = Modifier + .height(100.dp) + .background(Color.Gray), + style = style, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/indicator/IndicatorStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/indicator/IndicatorStory.kt new file mode 100644 index 0000000000..f64dc04a84 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/indicator/IndicatorStory.kt @@ -0,0 +1,53 @@ +package com.sdds.compose.uikit.fixtures.stories.indicator + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Indicator +import com.sdds.compose.uikit.IndicatorStyle +import com.sdds.compose.uikit.fixtures.stories.IndicatorUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.IndicatorUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Indicator + * @property variant состояние компонента + */ +@StoryUiState +data class IndicatorUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object IndicatorStory : ComposeBaseStory( + ComponentKey.Indicator, + IndicatorUiState(), + IndicatorUiStatePropertiesProducer, + IndicatorUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: IndicatorStyle, + state: IndicatorUiState, + ) { + Indicator(style = style) + } + + @Composable + override fun Preview( + style: IndicatorStyle, + key: ComponentKey, + ) { + Indicator( + style = style, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/linkbutton/LinkButtonStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/linkbutton/LinkButtonStory.kt new file mode 100644 index 0000000000..7cd91981fe --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/linkbutton/LinkButtonStory.kt @@ -0,0 +1,83 @@ +package com.sdds.compose.uikit.fixtures.stories.linkbutton + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.ButtonIcons +import com.sdds.compose.uikit.ButtonSpacing +import com.sdds.compose.uikit.ButtonStyle +import com.sdds.compose.uikit.fixtures.stories.LinkButtonUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.LinkButtonUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.button.ButtonIcon +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class LinkButtonUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val icon: ButtonIcon = ButtonIcon.Start, + val spacing: ButtonSpacing = ButtonSpacing.Packed, + val hasFixedWidth: Boolean = false, + val enabled: Boolean = true, + val loading: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class ButtonIcon { + Start, + End, + No, +} + +@Story +object IconBasicButtonStory : ComposeBaseStory( + ComponentKey.LinkButton, + LinkButtonUiState(), + LinkButtonUiStatePropertiesProducer, + LinkButtonUiStateTransformer, +) { + + @Composable + override fun BoxScope.Content(style: ButtonStyle, state: LinkButtonUiState) { + Button( + style = style, + label = state.label, + enabled = state.enabled, + loading = state.loading, + spacing = state.spacing, + icons = when (state.icon) { + ButtonIcon.End -> ButtonIcons(endRes = R.drawable.ic_plasma_24) + ButtonIcon.No -> null + ButtonIcon.Start -> ButtonIcons(startRes = R.drawable.ic_plasma_24) + }, + onClick = {}, + ) + } + + @Composable + override fun Preview( + style: ButtonStyle, + key: ComponentKey, + ) { + Button( + style = style, + icons = ButtonIcons(start = painterResource(id = R.drawable.ic_plasma_24)), + spacing = ButtonSpacing.Packed, + label = "Label", + enabled = true, + loading = false, + onClick = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/list/ListStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/list/ListStory.kt new file mode 100644 index 0000000000..eea990e5a6 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/list/ListStory.kt @@ -0,0 +1,137 @@ +package com.sdds.compose.uikit.fixtures.stories.list + +import androidx.compose.foundation.focusable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsFocusedAsState +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Counter +import com.sdds.compose.uikit.Divider +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.List +import com.sdds.compose.uikit.ListItem +import com.sdds.compose.uikit.ListStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.ListUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ListUiStateTransformer +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.fs.focusSelector +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ListUiState( + override val variant: String = "", + override val appearance: String = "", + val title: String = "Title", + val hasDisclosure: Boolean = true, + val amount: Int = 3, + val hasDivider: Boolean = false, + val startContent: ListItemStartContent = ListItemStartContent.IconSize24, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class ListItemStartContent { + IconSize24, + IconSize36, + Counter, +} + +@Story +object ListStory : ComposeBaseStory( + ComponentKey.List, + ListUiState(), + ListUiStatePropertiesProducer, + ListUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ListStyle, + state: ListUiState, + ) { + List( + style = style, + ) { + items(state.amount) { + val interactionSource = remember { MutableInteractionSource() } + + /* Обертка в Box нужна для удобства проверки размеров элементов */ + Box { + ListItem( + modifier = Modifier + .fillMaxWidth() + .focusable(interactionSource = interactionSource), + startContent = getStartContent(it, state.startContent), + titleContent = { Text("${state.title} $it") }, + disclosureEnabled = state.hasDisclosure, + interactionSource = interactionSource, + ) + } + if (state.hasDivider) { + Divider() + } + } + } + } + + @Composable + override fun Preview( + style: ListStyle, + key: ComponentKey, + ) { + List( + modifier = Modifier.fillMaxWidth(), + style = style, + ) { + items(3) { + val interactionSource = remember { MutableInteractionSource() } + val isFocused = interactionSource.collectIsFocusedAsState() + ListItem( + modifier = Modifier + .fillMaxWidth() + .focusable(interactionSource = interactionSource) + .focusSelector( + settings = LocalFocusSelectorSettings.current, + ) { isFocused.value }, + text = "Title $it", + disclosureEnabled = true, + interactionSource = interactionSource, + ) + } + } + } +} + +private fun getStartContent( + itemIndex: Int, + startContent: ListItemStartContent, +): (@Composable RowScope.() -> Unit) { + return { + when (startContent) { + ListItemStartContent.IconSize24 -> Icon( + painter = painterResource(com.sdds.icons.R.drawable.ic_plasma_24), + contentDescription = "", + ) + + ListItemStartContent.IconSize36 -> Icon( + painter = painterResource(com.sdds.icons.R.drawable.ic_plasma_36), + contentDescription = "", + ) + + ListItemStartContent.Counter -> Counter(count = itemIndex.toString()) + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/loader/LoaderStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/loader/LoaderStory.kt new file mode 100644 index 0000000000..292516a46c --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/loader/LoaderStory.kt @@ -0,0 +1,70 @@ +package com.sdds.compose.uikit.fixtures.stories.loader + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Loader +import com.sdds.compose.uikit.LoaderStyle +import com.sdds.compose.uikit.LoaderType +import com.sdds.compose.uikit.fixtures.stories.LoaderUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.LoaderUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class LoaderUiState( + override val variant: String = "", + override val appearance: String = "", + val progress: Float = 0.5f, + val trackEnabled: Boolean = true, + val loaderType: LoaderType = LoaderType.Progress, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object LoaderStory : ComposeBaseStory( + ComponentKey.Loader, + LoaderUiState(), + LoaderUiStatePropertiesProducer, + LoaderUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: LoaderStyle, + state: LoaderUiState, + ) { + Loader( + style = style, + progress = state.progress, + trackEnabled = state.trackEnabled, + valueContent = { + Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_close_16), + contentDescription = "", + ) + }, + loaderType = state.loaderType, + ) + } + + @Composable + override fun Preview( + style: LoaderStyle, + key: ComponentKey, + ) { + Loader( + style = style, + progress = 0.5f, + trackEnabled = true, + loaderType = LoaderType.Spinner, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/maskedtextfield/MaskedTextFieldStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/maskedtextfield/MaskedTextFieldStory.kt new file mode 100644 index 0000000000..943efe58ce --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/maskedtextfield/MaskedTextFieldStory.kt @@ -0,0 +1,172 @@ +package com.sdds.compose.uikit.fixtures.stories.maskedtextfield + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.size +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.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.sandbox.internal.FIELD_FOCUS_SELECTOR_MODE_SWITCH +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Switch +import com.sdds.compose.uikit.TextFieldStyle +import com.sdds.compose.uikit.fixtures.R +import com.sdds.compose.uikit.fixtures.stories.MaskedTextFieldUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.MaskedTextFieldUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.textfield.TextFieldIcon +import com.sdds.compose.uikit.fixtures.stories.textfield.getTextFieldExampleIcon +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.compose.uikit.mask.DateMask +import com.sdds.compose.uikit.mask.MaskedTextField +import com.sdds.compose.uikit.mask.NumberMask +import com.sdds.compose.uikit.mask.PhoneMask +import com.sdds.compose.uikit.mask.TextFieldMask +import com.sdds.compose.uikit.mask.TextFieldMaskMode +import com.sdds.compose.uikit.mask.TimeMask +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class MaskedTextFieldUiState( + override val variant: String = "", + override val appearance: String = "", + val mask: TextMask = TextMask.Phone, + val maskDisplayMode: MaskDisplayMode = MaskDisplayMode.Always, + val labelText: String = "Label", + val placeholderText: String = "", + val hasStartIcon: Boolean = true, + val hasEndIcon: Boolean = true, + val enabled: Boolean = true, + val readOnly: Boolean = false, + val suffix: String = "", + val prefix: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class TextMask { + Phone, + DateShort, + DateLong, + Time, + Number, +} + +enum class MaskDisplayMode(val mode: TextFieldMaskMode) { + Always(TextFieldMaskMode.Always), + OnInput(TextFieldMaskMode.OnInput), +} + +@Story +object MaskedTextFieldStory : ComposeBaseStory( + ComponentKey.Mask, + MaskedTextFieldUiState(), + MaskedTextFieldUiStatePropertiesProducer, + MaskedTextFieldUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TextFieldStyle, + state: MaskedTextFieldUiState, + ) { + val focusManager = LocalFocusManager.current + var isFocusSelectorOn by remember { mutableStateOf(!FIELD_FOCUS_SELECTOR_MODE_SWITCH) } + var textFieldValue by remember { mutableStateOf("") } + Column { + MaskedTextField( + value = textFieldValue, + mask = remember( + state.mask, + state.maskDisplayMode, + ) { + mask(state.mask, state.maskDisplayMode) + }, + onValueChange = { + textFieldValue = it + }, + style = style, + enabled = state.enabled, + readOnly = state.readOnly, + placeholderText = state.placeholderText.ifEmpty { + when (state.mask) { + TextMask.Phone -> "+7 (000) 000-00-00" + TextMask.DateShort -> "ДД.ММ.ГГ" + TextMask.DateLong -> "ДД.ММ.ГГГГ" + TextMask.Time -> "ЧЧ:ММ" + TextMask.Number -> "0,00" + } + }, + prefix = state.prefix, + suffix = state.suffix, + labelText = state.labelText, + startContent = state.hasStartIcon.getTextFieldExampleIcon( + TextFieldIcon.Start, + ), + endContent = state.hasEndIcon.getTextFieldExampleIcon(TextFieldIcon.End), + focusSelectorSettings = FocusSelectorSettings.None, + ) + + if (FIELD_FOCUS_SELECTOR_MODE_SWITCH) { + Spacer(Modifier.size(64.dp)) + Switch( + active = isFocusSelectorOn, + label = stringResource(R.string.sandbox_enable_focus_selector), + onActiveChanged = { isFocusSelectorOn = it }, + ) + Button( + label = stringResource(R.string.sandbox_clear_focus), + onClick = { focusManager.clearFocus(true) }, + ) + } + } + } + + @Composable + override fun Preview( + style: TextFieldStyle, + key: ComponentKey, + ) { + MaskedTextField( + value = "0000000000", + mask = remember { PhoneMask() }, + onValueChange = {}, + style = style, + placeholderText = "placeholder", + labelText = "label", + startContent = true.getTextFieldExampleIcon(TextFieldIcon.Start), + endContent = true.getTextFieldExampleIcon(TextFieldIcon.End), + focusSelectorSettings = LocalFocusSelectorSettings.current, + ) + } +} + +private fun mask(mask: TextMask, displayMode: MaskDisplayMode): TextFieldMask { + return when (mask) { + TextMask.Phone -> PhoneMask(maskMode = displayMode.mode) + TextMask.DateShort -> DateMask( + maskMode = displayMode.mode, + pattern = listOf("ДД", "ММ", "ГГ"), + ) + + TextMask.DateLong -> DateMask( + maskMode = displayMode.mode, + pattern = listOf("ДД", "ММ", "ГГГГ"), + ) + + TextMask.Time -> TimeMask(maskMode = displayMode.mode) + TextMask.Number -> NumberMask() + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/modal/ModalStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/modal/ModalStory.kt new file mode 100644 index 0000000000..aa58951963 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/modal/ModalStory.kt @@ -0,0 +1,100 @@ +package com.sdds.compose.uikit.fixtures.stories.modal + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Modal +import com.sdds.compose.uikit.ModalGravity +import com.sdds.compose.uikit.ModalStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.ModalUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ModalUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ModalUiState( + override val variant: String = "", + override val appearance: String = "", + val useNativeBlackout: Boolean = true, + val hasClose: Boolean = false, + val hasDimBackground: Boolean = true, + val gravity: ModalGravity = ModalGravity.Center, + val edgeToEdge: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ModalStory : ComposeBaseStory( + ComponentKey.Modal, + ModalUiState(), + ModalUiStatePropertiesProducer, + ModalUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ModalStyle, + state: ModalUiState, + ) { + val showModal = remember { mutableStateOf(false) } + Button( + modifier = Modifier.align(Alignment.Center), + label = "show", + onClick = { showModal.value = true }, + ) + Modal( + show = showModal.value, + style = style, + onDismissRequest = { showModal.value = false }, + modifier = Modifier.width(300.dp), + hasClose = state.hasClose, + edgeToEdge = state.edgeToEdge, + gravity = state.gravity, + dimBackground = state.hasDimBackground, + useNativeBlackout = state.useNativeBlackout, + closeIcon = painterResource(R.drawable.ic_close_24), + ) { + Text("Modal", modifier = Modifier.wrapContentSize()) + } + } + + @Composable + override fun Preview( + style: ModalStyle, + key: ComponentKey, + ) { + val showModal = remember { mutableStateOf(false) } + Button( + label = "Show Modal", + onClick = { showModal.value = true }, + ) + Modal( + show = showModal.value, + style = style, + onDismissRequest = { showModal.value = false }, + modifier = Modifier.width(300.dp), + hasClose = true, + dimBackground = true, + useNativeBlackout = true, + closeIcon = painterResource(R.drawable.ic_close_24), + ) { + Text("Modal", modifier = Modifier.wrapContentSize()) + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt new file mode 100644 index 0000000000..1a7958b61b --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt @@ -0,0 +1,157 @@ +package com.sdds.compose.uikit.fixtures.stories.navigationbar + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.NavBarCenterAlignmentStrategy +import com.sdds.compose.uikit.NavigationBar +import com.sdds.compose.uikit.NavigationBarContentPlacement +import com.sdds.compose.uikit.NavigationBarStyle +import com.sdds.compose.uikit.NavigationBarTextAlign +import com.sdds.compose.uikit.NavigationBarTextPlacement +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.NavigationBarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.NavigationBarUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class NavigationBarUiState( + override val variant: String = "", + override val appearance: String = "", + val title: String = "Title", + val description: String = "Description", + val contentText: String = "Content", + val hasActionStart: Boolean = true, + val hasActionEnd: Boolean = true, + val textPlacement: NavigationBarTextPlacement = NavigationBarTextPlacement.Bottom, + val contentPlacement: NavigationBarContentPlacement = NavigationBarContentPlacement.Bottom, + val textAlign: NavigationBarTextAlign = NavigationBarTextAlign.Center, + val centerAlignmentStrategy: NavBarCenterAlignmentStrategy = NavBarCenterAlignmentStrategy.Absolute, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object NavigationBarStory : ComposeBaseStory( + ComponentKey.NavigationBar, + NavigationBarUiState(), + NavigationBarUiStatePropertiesProducer, + NavigationBarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: NavigationBarStyle, + state: NavigationBarUiState, + ) { + NavigationBar( + style = style, + textPlacement = state.textPlacement, + textAlign = state.textAlign, + contentPlacement = state.contentPlacement, + centerAlignmentStrategy = state.centerAlignmentStrategy, + titleContent = textContent(state.title), + descriptionContent = descriptionContent(state.description), + content = content(state.contentText), + actionStart = actionStart(state.hasActionStart), + actionEnd = actionEnd(state.hasActionEnd), + onBackPressed = { + println("Back button was pressed") + }, + ) + } + + @Composable + override fun Preview( + style: NavigationBarStyle, + key: ComponentKey, + ) { + NavigationBar( + style = style, + textPlacement = NavigationBarTextPlacement.Inline, + contentPlacement = NavigationBarContentPlacement.Inline, + textAlign = NavigationBarTextAlign.Start, + titleContent = textContent("Text"), + content = content("Content"), + actionStart = actionStart(true), + actionEnd = actionEnd(true), + ) + } +} + +private fun actionStart(hasAction: Boolean): (@Composable RowScope.() -> Unit)? { + return if (hasAction) { + @Composable { + Icon( + painter = painterResource(R.drawable.ic_search_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun actionEnd(hasAction: Boolean): (@Composable RowScope.() -> Unit)? { + return if (hasAction) { + @Composable { + Icon( + painter = painterResource(R.drawable.ic_menu_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun content(text: String): (@Composable () -> Unit)? { + return if (text.isEmpty()) { + null + } else { + @Composable { Text(text) } + } +} + +private fun textContent(text: String): (@Composable () -> Unit)? { + return if (text.isEmpty()) { + null + } else { + @Composable { + Row(verticalAlignment = Alignment.CenterVertically) { + Text(text) + Spacer(Modifier.width(4.dp)) + Icon( + modifier = Modifier, + painter = painterResource(R.drawable.ic_clip_24), + contentDescription = "", + ) + } + } + } +} + +private fun descriptionContent(description: String): (@Composable () -> Unit)? { + return if (description.isEmpty()) { + null + } else { + @Composable { + Text(description) + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/note/NoteStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/note/NoteStory.kt new file mode 100644 index 0000000000..8012911c3f --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/note/NoteStory.kt @@ -0,0 +1,163 @@ +package com.sdds.compose.uikit.fixtures.stories.note + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.sizeIn +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.LinkButton +import com.sdds.compose.uikit.Note +import com.sdds.compose.uikit.NoteCompact +import com.sdds.compose.uikit.NoteCompactStyle +import com.sdds.compose.uikit.NoteStyle +import com.sdds.compose.uikit.fixtures.stories.NoteUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.NoteUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние Note и NoteCompact + * @property title заголовок + * @property text текст + * @property hasAction наличие actions + */ +@StoryUiState +data class NoteUiState( + override val variant: String = "", + override val appearance: String = "", + val title: String = "Title", + val text: String = "Text", + val hasAction: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object NoteStory : ComposeBaseStory( + ComponentKey.Note, + NoteUiState(), + NoteUiStatePropertiesProducer, + NoteUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: NoteStyle, + state: NoteUiState, + ) { + Note( + modifier = Modifier.sizeIn(maxWidth = 300.dp, maxHeight = 200.dp), + style = style, + text = state.text, + title = state.title, + contentBefore = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_36), + contentDescription = null, + ) + }, + action = if (state.hasAction) { + { + LinkButton( + label = "Label", + onClick = {}, + ) + } + } else { + null + }, + ) + } + + @Composable + override fun Preview( + style: NoteStyle, + key: ComponentKey, + ) { + Note( + style = style, + text = "Text", + title = "Title", + contentBefore = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_24), + contentDescription = null, + ) + }, + action = { + LinkButton( + label = "Label", + onClick = {}, + ) + }, + ) + } +} + +@Story +object NoteCompactStory : ComposeBaseStory( + ComponentKey.NoteCompact, + NoteUiState(), + NoteUiStatePropertiesProducer, + NoteUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: NoteCompactStyle, + state: NoteUiState, + ) { + NoteCompact( + modifier = Modifier.sizeIn(maxWidth = 400.dp, maxHeight = 300.dp), + style = style, + text = state.text, + title = state.title, + contentBefore = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_36), + contentDescription = null, + ) + }, + action = if (state.hasAction) { + { + LinkButton( + label = "Label", + onClick = {}, + ) + } + } else { + null + }, + ) + } + + @Composable + override fun Preview( + style: NoteCompactStyle, + key: ComponentKey, + ) { + NoteCompact( + style = style, + text = "Text", + title = "Title", + contentBefore = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_24), + contentDescription = null, + ) + }, + action = { + LinkButton( + label = "Label", + onClick = {}, + ) + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notification/NotificationStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notification/NotificationStory.kt new file mode 100644 index 0000000000..bdc69a585a --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notification/NotificationStory.kt @@ -0,0 +1,130 @@ +package com.sdds.compose.uikit.fixtures.stories.notification + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Notification +import com.sdds.compose.uikit.NotificationContent +import com.sdds.compose.uikit.NotificationStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.NotificationUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.NotificationUiStateTransformer +import com.sdds.compose.uikit.overlay.LocalOverlayManager +import com.sdds.compose.uikit.overlay.OverlayPosition +import com.sdds.compose.uikit.overlay.showNotification +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class NotificationUiState( + override val variant: String = "", + override val appearance: String = "", + val title: String = "Title", + val text: String = "Notification Text", + val hasClose: Boolean = true, + val focusable: Boolean = false, + val autoDismiss: Boolean = true, + val showId: Boolean = true, + val position: OverlayPosition = OverlayPosition.BottomCenter, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object NotificationStory : ComposeBaseStory( + ComponentKey.Notification, + NotificationUiState(), + NotificationUiStatePropertiesProducer, + NotificationUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: NotificationStyle, + state: NotificationUiState, + ) { + val overlayManager = LocalOverlayManager.current + Button( + modifier = Modifier.align(Alignment.Center), + label = "show", + onClick = { + overlayManager.showNotification( + durationMillis = if (state.autoDismiss) 3000 else null, + position = state.position, + isFocusable = state.focusable, + ) { + Notification( + style = style, + hasClose = state.hasClose, + closeIcon = painterResource(R.drawable.ic_close_24), + onClose = { overlayManager.remove(it) }, + ) { + val idText = if (state.showId) " $it" else "" + NotificationContent( + modifier = Modifier.fillMaxWidth(0.8f), + title = state.title, + text = "${state.text}$idText", + buttons = { + button { Button(label = "Ok", onClick = {}) } + button { Button(label = "Cancel", onClick = {}) } + }, + ) + } + } + }, + ) + } + + @Composable + override fun Preview( + style: NotificationStyle, + key: ComponentKey, + ) { + val overlayManager = LocalOverlayManager.current + Button( + label = "Show Notification", + onClick = { + overlayManager.showNotification( + durationMillis = 3000, + position = OverlayPosition.CenterStart, + isFocusable = true, + ) { + Notification( + style = style, + hasClose = true, + closeIcon = painterResource(R.drawable.ic_close_24), + onClose = { overlayManager.remove(it) }, + ) { + val idText = "$it" + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.padding(end = 32.dp), + ) { + Text(text = "Notification $idText") + Spacer(Modifier.size(8.dp)) + Button( + label = "Action", + onClick = {}, + ) + } + } + } + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt new file mode 100644 index 0000000000..742339d10c --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt @@ -0,0 +1,77 @@ +package com.sdds.compose.uikit.fixtures.stories.notificationcontent + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.NotificationContent +import com.sdds.compose.uikit.NotificationContentStyle +import com.sdds.compose.uikit.fixtures.stories.NotificationContentUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.NotificationContentUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class NotificationContentUiState( + override val variant: String = "", + override val appearance: String = "", + val title: String = "Title", + val text: String = "Text", + val hasActions: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object NotificationContentStory : + ComposeBaseStory( + ComponentKey.NotificationContent, + NotificationContentUiState(), + NotificationContentUiStatePropertiesProducer, + NotificationContentUiStateTransformer, + ) { + @Composable + override fun BoxScope.Content( + style: NotificationContentStyle, + state: NotificationContentUiState, + ) { + NotificationContent( + modifier = Modifier.fillMaxWidth(0.7f), + style = style, + title = state.title, + text = state.text, + buttons = if (state.hasActions) { + { + button { Button("Ok", {}) } + button { Button("Cancel", {}) } + } + } else { + null + }, + ) + } + + @Composable + override fun Preview( + style: NotificationContentStyle, + key: ComponentKey, + ) { + NotificationContent( + modifier = Modifier.fillMaxWidth(0.6f), + style = style, + title = "Title", + text = "Text", + buttons = { + button { Button("Ok", {}) } + button { Button("Cancel", {}) } + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/overlay/OverlayStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/overlay/OverlayStory.kt new file mode 100644 index 0000000000..33dccbb651 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/overlay/OverlayStory.kt @@ -0,0 +1,107 @@ +package com.sdds.compose.uikit.fixtures.stories.overlay + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.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.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.Overlay +import com.sdds.compose.uikit.OverlayStyle +import com.sdds.compose.uikit.fixtures.stories.OverlayUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.OverlayUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Overlay + * @property variant вариант компонента + */ +@StoryUiState +data class OverlayUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object OverlayStory : ComposeBaseStory( + ComponentKey.Overlay, + OverlayUiState(), + OverlayUiStatePropertiesProducer, + OverlayUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: OverlayStyle, + state: OverlayUiState, + ) { + var showOverlay by remember { mutableStateOf(false) } + Button( + label = "Show overlay", + onClick = { + showOverlay = true + }, + ) + if (showOverlay) { + Overlay( + modifier = Modifier.fillMaxSize(), + style = style, + ) { + IconButton( + modifier = Modifier + .align(Alignment.TopEnd) + .padding(end = 8.dp, top = 8.dp), + icon = painterResource(id = R.drawable.ic_close_24), + onClick = { showOverlay = false }, + ) + } + } + } + + @Composable + override fun Preview( + style: OverlayStyle, + key: ComponentKey, + ) { + var showOverlay by remember { mutableStateOf(false) } + Button( + label = "Show Overlay", + onClick = { + showOverlay = true + }, + ) + if (showOverlay) { + Overlay( + modifier = Modifier + .height(60.dp) + .fillMaxWidth(), + style = style, + ) { + IconButton( + modifier = Modifier + .align(Alignment.CenterEnd), + icon = painterResource(id = R.drawable.ic_close_24), + onClick = { showOverlay = false }, + ) + } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt new file mode 100644 index 0000000000..9c2c4df3ac --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt @@ -0,0 +1,102 @@ +package com.sdds.compose.uikit.fixtures.stories.paginationdots + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.PaginationDots +import com.sdds.compose.uikit.PaginationDotsStyle +import com.sdds.compose.uikit.fixtures.stories.PaginationDotsUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.PaginationDotsUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class PaginationDotsUiState( + override val variant: String = "", + override val appearance: String = "", + val itemCount: Int = 20, + val visibleItemCount: Int = 9, + val step: Int = 1, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object PaginationDotsStory : ComposeBaseStory( + ComponentKey.PaginationDots, + PaginationDotsUiState(), + PaginationDotsUiStatePropertiesProducer, + PaginationDotsUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: PaginationDotsStyle, + state: PaginationDotsUiState, + ) { + Column( + modifier = Modifier.fillMaxSize(), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + var selectedIndex by remember { mutableIntStateOf(0) } + val totalCount = state.itemCount + PaginationDots( + style = style, + selectedIndex = selectedIndex, + totalCount = totalCount, + visibleCount = state.visibleItemCount, + ) + Spacer(Modifier.size(16.dp)) + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + IconButton( + iconRes = R.drawable.ic_arrow_left_24, + onClick = { + selectedIndex = selectedIndex + .minus(state.step) + .coerceIn(0 until totalCount) + }, + ) + IconButton( + iconRes = R.drawable.ic_arrow_right_24, + onClick = { + selectedIndex = selectedIndex + .plus(state.step) + .coerceIn(0 until totalCount) + }, + ) + } + } + } + + @Composable + override fun Preview( + style: PaginationDotsStyle, + key: ComponentKey, + ) { + PaginationDots( + style = style, + selectedIndex = 0, + visibleCount = 5, + totalCount = 13, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/popover/PopoverStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/popover/PopoverStory.kt new file mode 100644 index 0000000000..5e5d231a76 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/popover/PopoverStory.kt @@ -0,0 +1,183 @@ +package com.sdds.compose.uikit.fixtures.stories.popover + +import android.util.Log +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Popover +import com.sdds.compose.uikit.PopoverAlignment +import com.sdds.compose.uikit.PopoverPlacement +import com.sdds.compose.uikit.PopoverPlacementMode +import com.sdds.compose.uikit.PopoverStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TriggerInfo +import com.sdds.compose.uikit.fixtures.stories.PopoverUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.PopoverUiStateTransformer +import com.sdds.compose.uikit.popoverTrigger +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class PopoverUiState( + override val variant: String = "", + override val appearance: String = "", + val triggerPlacement: TriggerPlacement = TriggerPlacement.Center, + val alignment: PopoverAlignment = PopoverAlignment.Start, + val placement: PopoverPlacement = PopoverPlacement.Top, + val placementMode: PopoverPlacementMode = PopoverPlacementMode.Loose, + val triggerCentered: Boolean = false, + val tailEnabled: Boolean = true, + val autoHide: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class TriggerPlacement { + TopStart, + TopCenter, + TopEnd, + CenterStart, + Center, + CenterEnd, + BottomStart, + BottomCenter, + BottomEnd, +} + +internal fun TriggerPlacement.toAlignment(): Alignment { + return when (this) { + TriggerPlacement.TopStart -> Alignment.TopStart + TriggerPlacement.TopCenter -> Alignment.TopCenter + TriggerPlacement.TopEnd -> Alignment.TopEnd + TriggerPlacement.CenterStart -> Alignment.CenterStart + TriggerPlacement.Center -> Alignment.Center + TriggerPlacement.CenterEnd -> Alignment.CenterEnd + TriggerPlacement.BottomStart -> Alignment.BottomStart + TriggerPlacement.BottomCenter -> Alignment.BottomCenter + TriggerPlacement.BottomEnd -> Alignment.BottomEnd + } +} + +internal enum class HideMode { + AutoHide, OnTapOnly +} + +internal fun Boolean.autoHideToMs(): Long? = if (this) 3000L else null + +@Story +object PopoverStory : ComposeBaseStory( + ComponentKey.Popover, + PopoverUiState(), + PopoverUiStatePropertiesProducer, + PopoverUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: PopoverStyle, + state: PopoverUiState, + ) { + val showPopover = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + Button( + modifier = Modifier + .align(state.triggerPlacement.toAlignment()) + .popoverTrigger(triggerInfo), + label = "show", + onClick = { showPopover.value = true }, + ) + Popover( + show = showPopover.value, + triggerInfo = triggerInfo.value, + placement = state.placement, + placementMode = state.placementMode, + triggerCentered = state.triggerCentered, + alignment = state.alignment, + style = style, + tailEnabled = state.tailEnabled, + onDismissRequest = { + showPopover.value = false + }, + duration = state.autoHide.autoHideToMs(), + ) { + Column( + modifier = Modifier + .padding(top = 12.dp, bottom = 8.dp, start = 8.dp, end = 8.dp), + ) { + Text("Title") + Spacer(Modifier.height(4.dp)) + Text("Text") + Spacer(Modifier.height(12.dp)) + Button( + modifier = Modifier.width(166.dp), + label = "Ok", + onClick = { Log.d("Popover", "Popover button was pressed") }, + ) + } + } + } + + @Composable + override fun Preview( + style: PopoverStyle, + key: ComponentKey, + ) { + val showPopover = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + Button( + modifier = Modifier + .popoverTrigger(triggerInfo), + label = "Show Popover", + onClick = { showPopover.value = true }, + ) + Popover( + show = showPopover.value, + triggerInfo = triggerInfo.value, + placement = PopoverPlacement.Top, + placementMode = PopoverPlacementMode.Loose, + triggerCentered = false, + alignment = PopoverAlignment.Start, + style = style, + tailEnabled = true, + onDismissRequest = { + showPopover.value = false + }, + duration = 3000L, + ) { + Column( + modifier = Modifier + .padding( + top = 12.dp, + bottom = 8.dp, + start = 8.dp, + end = 8.dp, + ), + ) { + Text("Title") + Spacer(Modifier.height(4.dp)) + Text("Text") + Spacer(Modifier.height(12.dp)) + Button( + modifier = Modifier.width(166.dp), + label = "Ok", + onClick = {}, + ) + } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/progress/ProgressStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/progress/ProgressStory.kt new file mode 100644 index 0000000000..ee92e4e90f --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/progress/ProgressStory.kt @@ -0,0 +1,64 @@ +package com.sdds.compose.uikit.fixtures.stories.progress + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.ProgressBar +import com.sdds.compose.uikit.ProgressBarStyle +import com.sdds.compose.uikit.fixtures.stories.ProgressUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ProgressUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента Progress + * @property variant стиль компонента + * @property progress текущий прогресс + */ +@StoryUiState +data class ProgressUiState( + override val variant: String = "", + override val appearance: String = "", + val progress: Float = 0.5f, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ProgressStory : ComposeBaseStory( + ComponentKey.ProgressBar, + ProgressUiState(), + ProgressUiStatePropertiesProducer, + ProgressUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ProgressBarStyle, + state: ProgressUiState, + ) { + ProgressBar( + progress = state.progress, + modifier = Modifier.width(240.dp), + style = style, + ) + } + + @Composable + override fun Preview( + style: ProgressBarStyle, + key: ComponentKey, + ) { + ProgressBar( + progress = 0.25f, + modifier = Modifier.width(240.dp), + style = style, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radiobox/RadioBoxStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radiobox/RadioBoxStory.kt new file mode 100644 index 0000000000..4005089ad8 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radiobox/RadioBoxStory.kt @@ -0,0 +1,73 @@ +package com.sdds.compose.uikit.fixtures.stories.radiobox + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.RadioBox +import com.sdds.compose.uikit.RadioBoxStyle +import com.sdds.compose.uikit.fixtures.stories.RadioBoxUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.RadioBoxUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние radiobox + * + * @property checked состояние radiobox + * @property label текст лэйбла + * @property description текст описания + * @property enabled включен ли radiobox + */ +@StoryUiState +data class RadioBoxUiState( + override val variant: String = "", + override val appearance: String = "", + val checked: Boolean = false, + val label: String = "Label", + val description: String = "Description", + val enabled: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object RadioBoxStory : ComposeBaseStory( + ComponentKey.RadioBox, + RadioBoxUiState(), + RadioBoxUiStatePropertiesProducer, + RadioBoxUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: RadioBoxStyle, + state: RadioBoxUiState, + ) { + RadioBox( + style = style, + checked = state.checked, + onClick = {}, + label = state.label, + description = state.description, + enabled = state.enabled, + ) + } + + @Composable + override fun Preview( + style: RadioBoxStyle, + key: ComponentKey, + ) { + RadioBox( + style = style, + checked = true, + enabled = true, + label = "Label", + description = "Description", + onClick = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radioboxgroup/RadioBoxGroupStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radioboxgroup/RadioBoxGroupStory.kt new file mode 100644 index 0000000000..e698bfb272 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/radioboxgroup/RadioBoxGroupStory.kt @@ -0,0 +1,99 @@ +package com.sdds.compose.uikit.fixtures.stories.radioboxgroup + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.RadioBox +import com.sdds.compose.uikit.RadioBoxGroup +import com.sdds.compose.uikit.RadioBoxGroupStyle +import com.sdds.compose.uikit.fixtures.stories.RadioBoxGroupUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.RadioBoxGroupUiStateTransformer +import com.sdds.compose.uikit.isChecked +import com.sdds.compose.uikit.updateSelection +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояния компонента RadioBoxGroup + */ +@StoryUiState +data class RadioBoxGroupUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val description: String = "Description", + val amount: Int = 2, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object RadioBoxGroupStory : ComposeBaseStory( + ComponentKey.RadioBoxGroup, + RadioBoxGroupUiState(), + RadioBoxGroupUiStatePropertiesProducer, + RadioBoxGroupUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: RadioBoxGroupStyle, + state: RadioBoxGroupUiState, + ) { + var currentItem by remember { mutableIntStateOf(0) } + RadioBoxGroup(style = style) { + repeat(state.amount) { + RadioBox( + checked = it == currentItem, + label = state.label, + description = state.description, + onClick = { currentItem = it }, + ) + } + } + } + + @Composable + override fun Preview( + style: RadioBoxGroupStyle, + key: ComponentKey, + ) { + RadioBoxGroup( + style = style, + default = 1, + ) { selection -> + radioBoxItem(key = 1) { key -> + RadioBox( + checked = isChecked(selection, key), + label = "Label", + description = "Description", + onClick = { updateSelection(selection, key) }, + ) + } + radioBoxItem(key = 2) { key -> + RadioBox( + checked = isChecked(selection, key), + label = "Label", + description = "Description", + onClick = { updateSelection(selection, key) }, + ) + } + radioBoxItem(key = 3) { key -> + RadioBox( + checked = isChecked(selection, key), + label = "Label", + description = "Description", + onClick = { updateSelection(selection, key) }, + ) + } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/rectskeleton/RectSkeletonStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/rectskeleton/RectSkeletonStory.kt new file mode 100644 index 0000000000..b8c323c1e5 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/rectskeleton/RectSkeletonStory.kt @@ -0,0 +1,89 @@ +package com.sdds.compose.uikit.fixtures.stories.rectskeleton + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.RectSkeleton +import com.sdds.compose.uikit.RectSkeletonStyle +import com.sdds.compose.uikit.fixtures.stories.RectSkeletonUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.RectSkeletonUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class RectSkeletonUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object RectSkeletonStory : ComposeBaseStory( + ComponentKey.RectSkeleton, + RectSkeletonUiState(), + RectSkeletonUiStatePropertiesProducer, + RectSkeletonUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: RectSkeletonStyle, + state: RectSkeletonUiState, + ) { + Column( + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + RectSkeleton( + modifier = Modifier.size(60.dp), + style = style, + shape = CircleShape, + ) + RectSkeleton( + modifier = Modifier + .fillMaxWidth() + .height(30.dp), + style = style, + ) + Row( + horizontalArrangement = Arrangement.spacedBy(16.dp), + ) { + RectSkeleton( + modifier = Modifier.size(60.dp), + style = style, + ) + RectSkeleton( + modifier = Modifier.size(60.dp), + style = style, + ) + } + } + } + + @Composable + override fun Preview( + style: RectSkeletonStyle, + key: ComponentKey, + ) { + RectSkeleton( + modifier = Modifier + .width(200.dp) + .height(60.dp), + style = style, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt new file mode 100644 index 0000000000..84034b8814 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt @@ -0,0 +1,143 @@ +package com.sdds.compose.uikit.fixtures.stories.scrollbar + +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.ScrollBar +import com.sdds.compose.uikit.ScrollBarStyle +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.ScrollBarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ScrollBarUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента ScrollBar + */ +@StoryUiState +data class ScrollBarUiState( + override val variant: String = "", + override val appearance: String = "", + val lazy: Boolean = true, + val itemCount: Int = 30, + val hoverExpand: Boolean = true, + val hasTrack: Boolean = true, + val alwaysShowScrollbar: Boolean = true, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ScrollBarStory : ComposeBaseStory( + ComponentKey.ScrollBar, + ScrollBarUiState(), + ScrollBarUiStatePropertiesProducer, + ScrollBarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ScrollBarStyle, + state: ScrollBarUiState, + ) { + Box( + modifier = Modifier + .fillMaxSize() + .padding(8.dp), + ) { + if (state.lazy) { + val lazyState = rememberLazyListState() + LazyColumn( + modifier = Modifier.fillMaxSize(), + state = lazyState, + ) { + items(state.itemCount) { + Text(text = "Item $it", modifier = Modifier.height(48.dp)) + } + } + ScrollBar( + modifier = Modifier.align(Alignment.CenterEnd), + style = style, + scrollState = lazyState, + alwaysShowScrollbar = state.alwaysShowScrollbar, + hasTrack = state.hasTrack, + hoverExpand = state.hoverExpand, + ) + } else { + val scrollState = rememberScrollState() + Column( + modifier = Modifier + .fillMaxSize() + .verticalScroll(scrollState), + ) { + repeat(state.itemCount) { + Text(text = "Item $it", modifier = Modifier.height(48.dp)) + } + } + ScrollBar( + modifier = Modifier.align(Alignment.CenterEnd), + style = style, + scrollState = scrollState, + alwaysShowScrollbar = state.alwaysShowScrollbar, + hasTrack = state.hasTrack, + hoverExpand = state.hoverExpand, + ) + } + } + } + + @Composable + override fun Preview( + style: ScrollBarStyle, + key: ComponentKey, + ) { + Box( + modifier = Modifier.height(40.dp), + ) { + val scrollState = rememberScrollState() + Row( + horizontalArrangement = Arrangement.spacedBy(2.dp), + modifier = Modifier + .horizontalScroll(scrollState), + ) { + repeat(20) { + Icon( + painter = painterResource(R.drawable.ic_clown_24), + contentDescription = "", + ) + } + } + ScrollBar( + scrollState = scrollState, + modifier = Modifier.align(Alignment.BottomCenter), + style = style, + orientation = Orientation.Horizontal, + hasTrack = true, + hoverExpand = false, + alwaysShowScrollbar = true, + ) + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segment/SegmentStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segment/SegmentStory.kt new file mode 100644 index 0000000000..a9f900c76f --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segment/SegmentStory.kt @@ -0,0 +1,196 @@ +package com.sdds.compose.uikit.fixtures.stories.segment + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Counter +import com.sdds.compose.uikit.Divider +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.SegmentHorizontal +import com.sdds.compose.uikit.SegmentItem +import com.sdds.compose.uikit.SegmentScope +import com.sdds.compose.uikit.SegmentStyle +import com.sdds.compose.uikit.SegmentVertical +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.SegmentUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SegmentUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.segmentitem.SegmentItemContent +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class SegmentUiState( + override val variant: String = "", + override val appearance: String = "", + val enabled: Boolean = true, + val amount: Int = 2, + val stretch: Boolean = false, + val hasBackground: Boolean = true, + val orientation: SegmentOrientation = SegmentOrientation.Horizontal, + val label: String = "Label", + val value: String = "", + val startIcon: Boolean = false, + val endContent: SegmentItemContent = SegmentItemContent.COUNTER, + val count: String = "1", + val hasDivider: Boolean = false, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +/** + * Ориентация компонента Segment + */ +enum class SegmentOrientation { + Horizontal, + Vertical, +} + +@Story +object SegmentStory : ComposeBaseStory( + ComponentKey.Segment, + SegmentUiState(), + SegmentUiStatePropertiesProducer, + SegmentUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: SegmentStyle, + state: SegmentUiState, + ) { + var currentId by remember { mutableIntStateOf(0) } + when (state.orientation) { + SegmentOrientation.Horizontal -> SegmentHorizontal( + stretch = state.stretch, + hasBackground = state.hasBackground, + style = style, + ) { + SegmentItems( + onClick = { currentId = it }, + isChecked = { currentId == it }, + uiState = state, + ) + } + + SegmentOrientation.Vertical -> SegmentVertical( + hasBackground = state.hasBackground, + style = style, + ) { + SegmentItems( + onClick = { currentId = it }, + isChecked = { currentId == it }, + uiState = state, + ) + } + } + } + + @Composable + override fun Preview( + style: SegmentStyle, + key: ComponentKey, + ) { + SegmentHorizontal( + style = style, + stretch = false, + hasBackground = true, + ) { + repeat(3) { index -> + segmentItem { + SegmentItem( + isSelected = index == 0, + label = "Label", + enabled = true, + startContent = { + Icon( + painter = painterResource(id = R.drawable.ic_plasma_24), + contentDescription = "", + ) + }, + endContent = { + Counter( + count = "123", + ) + }, + ) + } + } + } + } +} + +@Composable +private fun SegmentScope.SegmentItems( + onClick: (Int) -> Unit, + isChecked: (Int) -> Boolean, + uiState: SegmentUiState, +) { + repeat(uiState.amount) { id -> + segmentItem { + val interactionSource = remember { MutableInteractionSource() } + SegmentItem( + labelContent = { Text(uiState.label) }, + modifier = Modifier + .clickable( + enabled = uiState.enabled, + indication = null, + interactionSource = interactionSource, + ) { + onClick(id) + }, + isSelected = isChecked(id), + valueContent = { Text(uiState.value) }, + startContent = startIcon(uiState.startIcon), + endContent = endContent(uiState), + enabled = uiState.enabled, + interactionSource = interactionSource, + ) + } + + if (uiState.hasDivider && id < uiState.amount - 1) { + divider { Divider() } + } + } +} + +@Composable +private fun startIcon(hasStartIcon: Boolean): (@Composable () -> Unit)? { + return if (hasStartIcon) { + { + Icon(painterResource(id = R.drawable.ic_scribble_diagonal_24), "") + } + } else { + null + } +} + +@Composable +private fun endContent(state: SegmentUiState): (@Composable () -> Unit)? { + return when (state.endContent) { + SegmentItemContent.NONE -> null + SegmentItemContent.ICON -> { + { + Icon(painterResource(id = R.drawable.ic_scribble_diagonal_36), "") + } + } + + SegmentItemContent.COUNTER -> { + { + Counter(count = state.count) + } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segmentitem/SegmentItemStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segmentitem/SegmentItemStory.kt new file mode 100644 index 0000000000..40b53fee7f --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/segmentitem/SegmentItemStory.kt @@ -0,0 +1,117 @@ +package com.sdds.compose.uikit.fixtures.stories.segmentitem + +import androidx.compose.foundation.focusable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.SegmentItem +import com.sdds.compose.uikit.SegmentItemStyle +import com.sdds.compose.uikit.fixtures.stories.SegmentItemUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SegmentItemUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class SegmentItemUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val value: String = "", + val selected: Boolean = true, + val startIcon: Boolean = false, + val endContent: SegmentItemContent = SegmentItemContent.COUNTER, + val enabled: Boolean = true, + val count: String = "1", +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class SegmentItemContent { + NONE, + ICON, + COUNTER, +} + +@Story +object SegmentItemStory : ComposeBaseStory( + ComponentKey.SegmentItem, + SegmentItemUiState(), + SegmentItemUiStatePropertiesProducer, + SegmentItemUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: SegmentItemStyle, + state: SegmentItemUiState, + ) { + val interactionSource = remember { MutableInteractionSource() } + SegmentItem( + modifier = Modifier.focusable(state.enabled, interactionSource), + isSelected = state.selected, + style = style, + label = state.label, + value = state.value, + startIcon = startIcon(state.startIcon), + endIcon = endIcon(state.endContent), + counter = counter(state.count, state.endContent), + enabled = state.enabled, + interactionSource = interactionSource, + ) + } + + @Composable + override fun Preview( + style: SegmentItemStyle, + key: ComponentKey, + ) { + SegmentItem( + style = style, + isSelected = true, + label = "Label", + value = "Value", + enabled = true, + startContent = { + Icon( + painter = painterResource(id = R.drawable.ic_plasma_24), + contentDescription = "", + ) + }, + endContent = null, + ) + } +} + +@Composable +private fun startIcon(hasStartIcon: Boolean): Painter? { + return if (hasStartIcon) { + painterResource(id = R.drawable.ic_scribble_diagonal_24) + } else { + null + } +} + +@Composable +private fun endIcon(contentType: SegmentItemContent): Painter? { + return if (contentType == SegmentItemContent.ICON) { + painterResource(id = R.drawable.ic_scribble_diagonal_36) + } else { + null + } +} + +@Composable +private fun counter(count: String, contentType: SegmentItemContent): String? { + return if (contentType == SegmentItemContent.COUNTER) count else null +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/select/SelectStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/select/SelectStory.kt new file mode 100644 index 0000000000..f109219e0e --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/select/SelectStory.kt @@ -0,0 +1,308 @@ +package com.sdds.compose.uikit.fixtures.stories.select + +import android.util.Log +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.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.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.PopupProperties +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Cell +import com.sdds.compose.uikit.Chip +import com.sdds.compose.uikit.DropdownProperties +import com.sdds.compose.uikit.EmptyState +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.PopoverPlacement +import com.sdds.compose.uikit.PopoverPlacementMode +import com.sdds.compose.uikit.Select +import com.sdds.compose.uikit.SelectButton +import com.sdds.compose.uikit.SelectItem +import com.sdds.compose.uikit.SelectItemType +import com.sdds.compose.uikit.SelectState +import com.sdds.compose.uikit.SelectStyle +import com.sdds.compose.uikit.SelectTextField +import com.sdds.compose.uikit.Spinner +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.stories.SelectUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SelectUiStateTransformer +import com.sdds.compose.uikit.rememberSelectMultipleDataStateManager +import com.sdds.compose.uikit.rememberSelectSingleDataStateManager +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class SelectUiState( + override val variant: String = "", + override val appearance: String = "", + val showLoading: Boolean = false, + val showEmptyState: Boolean = false, + val readOnly: Boolean = false, + val enabled: Boolean = true, + val triggerType: TriggerType = TriggerType.TextField, + val triggerAlignment: SelectTriggerAlignment = SelectTriggerAlignment.TopCenter, + val placement: PopoverPlacement = PopoverPlacement.Bottom, + val placementMode: PopoverPlacementMode = PopoverPlacementMode.Strict, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class TriggerType { + TextField, Button +} + +enum class SelectTriggerAlignment(val alignment: Alignment) { + TopStart(Alignment.TopStart), + TopEnd(Alignment.TopEnd), + TopCenter(Alignment.TopCenter), + Center(Alignment.Center), + CenterStart(Alignment.CenterStart), + CenterEnd(Alignment.CenterEnd), + BottomStart(Alignment.BottomStart), + BottomEnd(Alignment.BottomEnd), + BottomCenter(Alignment.BottomCenter), +} + +@Story +object SelectStory : ComposeBaseStory( + ComponentKey.Select, + SelectUiState(), + SelectUiStatePropertiesProducer, + SelectUiStateTransformer, +) { + @Composable + @Suppress("LongMethod") + override fun BoxScope.Content( + style: SelectStyle, + state: SelectUiState, + ) { + Box( + modifier = Modifier.fillMaxSize(), + ) { + val selectState = remember { SelectState() } + val itemType = style.selectItemStyle.itemType + val checkedStateManager = if (itemType == SelectItemType.Multiple) { + rememberSelectMultipleDataStateManager(SelectList) + } else { + rememberSelectSingleDataStateManager(SelectList) + } + val dropdownProperties = remember(state.placement, state.placementMode) { + DropdownProperties( + popupProperties = PopupProperties( + clippingEnabled = false, + focusable = true, + usePlatformDefaultWidth = true, + ), + ).copy( + placement = state.placement, + placementMode = state.placementMode, + ) + } + + Select( + modifier = Modifier.align(state.triggerAlignment.alignment), + state = selectState, + style = style, + enabled = state.enabled, + readOnly = state.readOnly, + dropdownProperties = dropdownProperties, + trigger = { + when (state.triggerType) { + TriggerType.TextField -> { + val value = + getTextFieldValue(itemType, checkedStateManager.selectedItems) + SelectTextField( + modifier = Modifier.width(260.dp), + value = value, + readOnly = state.readOnly, + enabled = state.enabled, + placeholderText = if (value.isEmpty()) "Сотрудник" else null, + captionText = "Выберите имя", + iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, + iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + chipsContent = getChipsContent( + itemType, + checkedStateManager.selectedItems, + ), + startContent = { + Icon( + painterResource(R.drawable.ic_search_24), + "", + ) + }, + ) + } + + TriggerType.Button -> { + val value = getButtonValue(itemType, checkedStateManager.selectedItems) + SelectButton( + modifier = Modifier.width(260.dp), + label = value, + readonly = state.readOnly, + enabled = state.enabled, + iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, + iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + ) + } + } + }, + showEmptyState = state.showEmptyState, + emptyState = { + EmptyState( + iconRes = R.drawable.ic_plasma_36, + description = "Empty State", + buttonLabel = "Action", + ) + }, + footer = if (state.showLoading) { + { Loading() } + } else { + null + }, + listContent = { + items(SelectList.size) { + SelectItem( + modifier = Modifier.fillMaxWidth(), + checked = checkedStateManager.isSelected(SelectList[it]), + onClick = { + Log.d("Select", "Item $it was selected") + checkedStateManager.onItemPressed(SelectList[it]) + }, + ) { + Cell( + title = AnnotatedString(SelectList[it]), + disclosureIconRes = null, + ) + } + } + }, + ) + } + } + + @Composable + override fun Preview( + style: SelectStyle, + key: ComponentKey, + ) { + var state by remember { mutableStateOf(SelectState()) } + val stateManager = rememberSelectSingleDataStateManager(SelectList, SelectList[1]) + Select( + style = style, + state = state, + trigger = { + SelectButton( + modifier = Modifier.width(260.dp), + label = getButtonValue( + SelectItemType.Single, + stateManager.selectedItems, + ), + iconOpened = com.sdds.icons.R.drawable.ic_chevron_up_24, + iconClosed = com.sdds.icons.R.drawable.ic_chevron_down_24, + ) + }, + listContent = { + items(SelectList.size) { + SelectItem( + modifier = Modifier.fillMaxWidth(), + checked = stateManager.isSelected(SelectList[it]), + onClick = { + Log.d("Select", "Item $it was selected") + stateManager.onItemPressed(SelectList[it]) + }, + ) { + Cell( + title = AnnotatedString(SelectList[it]), + disclosureIconRes = null, + ) + } + } + }, + ) + } +} + +private fun getChipsContent( + selectItemType: SelectItemType, + selectedItems: List, +): (@Composable () -> Unit)? { + return if (selectItemType == SelectItemType.Multiple && selectedItems.isNotEmpty()) { + { + selectedItems.forEach { Chip(label = it) } + } + } else { + null + } +} + +private fun getTextFieldValue( + selectItemType: SelectItemType, + selectedItems: List, +): String { + return if (selectItemType == SelectItemType.Multiple) { + "" + } else { + selectedItems.firstOrNull().orEmpty() + } +} + +private fun getButtonValue( + selectItemType: SelectItemType, + selectedItems: List, +): String { + return if (selectItemType == SelectItemType.Multiple) { + selectedItems.joinToString(", ").ifEmpty { "Value" } + } else { + selectedItems.firstOrNull() ?: "Value" + } +} + +@Composable +private fun Loading( + label: String = "Загрузка", +) { + Row( + modifier = Modifier.height(40.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center, + ) { + Spinner() + Text( + modifier = Modifier.padding(start = 4.dp), + text = label, + ) + } +} + +private val SelectList = listOf( + "Иван Иванов", + "Пётр Петров", + "Сергей Сергеев", + "Алексей Алексеев", + "Анна Смирнова", + "Мария Кузнецова", + "Дмитрий Попов", + "Елена Соколова", + "Ольга Морозова", + "Николай Волков", +) diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/slider/SliderStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/slider/SliderStory.kt new file mode 100644 index 0000000000..19531ee6e8 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/slider/SliderStory.kt @@ -0,0 +1,99 @@ +package com.sdds.compose.uikit.fixtures.stories.slider + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.SlideDirection +import com.sdds.compose.uikit.Slider +import com.sdds.compose.uikit.SliderAlignment +import com.sdds.compose.uikit.SliderStyle +import com.sdds.compose.uikit.fixtures.stories.SliderUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SliderUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState +import kotlin.math.roundToInt + +@StoryUiState +data class SliderUiState( + override val variant: String = "", + override val appearance: String = "", + val limitLabelEnabled: Boolean = true, + val labelEnabled: Boolean = true, + val minLabel: String = "0", + val maxLabel: String = "100", + val title: String = "Title", + val thumbEnabled: Boolean = true, + val slideDirection: SlideDirection = SlideDirection.Normal, + val alignment: SliderAlignment = SliderAlignment.Start, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object SliderStory : ComposeBaseStory( + ComponentKey.Slider, + SliderUiState(), + SliderUiStatePropertiesProducer, + SliderUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: SliderStyle, + state: SliderUiState, + ) { + val horizontal = state.appearance.contains("Horizontal", true) + Slider( + modifier = Modifier, + value = 0f, + title = state.title, + labelContent = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_36), + contentDescription = null, + ) + }, + style = style, + onValueChange = {}, + labelEnabled = state.labelEnabled, + thumbEnabled = state.thumbEnabled, + limitLabelEnabled = state.limitLabelEnabled, + slideDirection = state.slideDirection, + valueRange = + (state.minLabel.toFloatOrNull() ?: 0f)..(state.maxLabel.toFloatOrNull() ?: 1f), + valueFormatTransformer = { progress -> + progress.roundToInt().toString() + }, + alignment = if (horizontal) state.alignment else style.alignment, + ) + } + + @Composable + override fun Preview( + style: SliderStyle, + key: ComponentKey, + ) { + Slider( + style = style, + title = "Title", + labelContent = { + Icon( + painter = painterResource(R.drawable.ic_salute_outline_36), + contentDescription = null, + ) + }, + value = 0.5f, + valueFormatTransformer = { progress -> + "%.2f".format(progress) + }, + onValueChange = {}, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/spinner/SpinnerStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/spinner/SpinnerStory.kt new file mode 100644 index 0000000000..3fe5bebdc3 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/spinner/SpinnerStory.kt @@ -0,0 +1,50 @@ +package com.sdds.compose.uikit.fixtures.stories.spinner + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Spinner +import com.sdds.compose.uikit.SpinnerStyle +import com.sdds.compose.uikit.fixtures.stories.SpinnerUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SpinnerUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class SpinnerUiState( + override val variant: String = "", + override val appearance: String = "", +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object SpinnerStory : ComposeBaseStory( + ComponentKey.Spinner, + SpinnerUiState(), + SpinnerUiStatePropertiesProducer, + SpinnerUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: SpinnerStyle, + state: SpinnerUiState, + ) { + Spinner(style = style) + } + + @Composable + override fun Preview( + style: SpinnerStyle, + key: ComponentKey, + ) { + Spinner( + style = style, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/switcher/SwitchStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/switcher/SwitchStory.kt new file mode 100644 index 0000000000..70acdc6f18 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/switcher/SwitchStory.kt @@ -0,0 +1,79 @@ +package com.sdds.compose.uikit.fixtures.stories.switcher + +import androidx.compose.foundation.layout.BoxScope +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 com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Switch +import com.sdds.compose.uikit.SwitchStyle +import com.sdds.compose.uikit.fixtures.stories.SwitchUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.SwitchUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние switch + * + * @property label текст лэйбла + * @property description текст описания + * @property enabled включен ли switch + * @property toggleable может ли switch переключаться по нажатию + */ +@StoryUiState +data class SwitchUiState( + override val variant: String = "", + override val appearance: String = "", + val label: String = "Label", + val description: String = "Description", + val enabled: Boolean = true, + val toggleable: Boolean = false, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object SwitchStory : ComposeBaseStory( + ComponentKey.Switch, + SwitchUiState(), + SwitchUiStatePropertiesProducer, + SwitchUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: SwitchStyle, + state: SwitchUiState, + ) { + var activeState by remember { mutableStateOf(false) } + Switch( + active = activeState, + label = state.label, + style = style, + description = state.description, + enabled = state.enabled, + onActiveChanged = { + if (state.toggleable) activeState = it + }, + ) + } + + @Composable + override fun Preview( + style: SwitchStyle, + key: ComponentKey, + ) { + Switch( + style = style, + active = true, + label = "Label", + description = "Description", + enabled = true, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabbar/TabBarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabbar/TabBarStory.kt new file mode 100644 index 0000000000..d830827c36 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabbar/TabBarStory.kt @@ -0,0 +1,121 @@ +package com.sdds.compose.uikit.fixtures.stories.tabbar + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Counter +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Indicator +import com.sdds.compose.uikit.TabBar +import com.sdds.compose.uikit.TabBarItem +import com.sdds.compose.uikit.TabBarStyle +import com.sdds.compose.uikit.fixtures.stories.TabBarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.TabBarUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class TabBarUiState( + override val variant: String = "", + override val appearance: String = "", + val customWeight: Boolean = false, + val label: String = "Label", + val extraType: TabBarExtraType = TabBarExtraType.Counter, + val amount: Int = 2, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class TabBarExtraType { + None, + Counter, + Indicator, +} + +@Story +object TabBarStory : ComposeBaseStory( + ComponentKey.TabBar, + TabBarUiState(), + TabBarUiStatePropertiesProducer, + TabBarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TabBarStyle, + state: TabBarUiState, + ) { + var selectedItem by remember { mutableIntStateOf(0) } + TabBar(style = style) { + repeat(state.amount) { + tabItem { + TabBarItem( + isSelected = it == selectedItem, + defaultIcon = R.drawable.ic_smile_outline_36, + selectedIcon = R.drawable.ic_smile_fill_36, + label = state.label, + extra = getExtra(state.extraType), + onClick = { + selectedItem = it + }, + ) + } + if (state.customWeight && it == (state.amount / 2) - 1) { + tabItem(weight = null) { + Icon( + modifier = Modifier.width(44.dp), + painter = painterResource(R.drawable.ic_home_alt_fill_36), + contentDescription = null, + ) + } + } + } + } + } + + @Composable + override fun Preview( + style: TabBarStyle, + key: ComponentKey, + ) { + TabBar(style = style) { + repeat(3) { + tabItem { + TabBarItem( + isSelected = it == 0, + defaultIcon = R.drawable.ic_smile_outline_36, + selectedIcon = R.drawable.ic_smile_fill_36, + label = "Label", + extra = { Counter(count = "12") }, + ) + } + } + } + } +} + +private fun getExtra(extraType: TabBarExtraType): (@Composable () -> Unit)? { + return when (extraType) { + TabBarExtraType.None -> null + TabBarExtraType.Counter -> { + { Counter(count = "12") } + } + + TabBarExtraType.Indicator -> { + { Indicator() } + } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabs/TabsStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabs/TabsStory.kt new file mode 100644 index 0000000000..3fc3a4862a --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tabs/TabsStory.kt @@ -0,0 +1,209 @@ +package com.sdds.compose.uikit.fixtures.stories.tabs + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.IconTabItem +import com.sdds.compose.uikit.TabItem +import com.sdds.compose.uikit.Tabs +import com.sdds.compose.uikit.TabsClip +import com.sdds.compose.uikit.TabsStyle +import com.sdds.compose.uikit.fixtures.stories.TabsUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.TabsUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class TabsUiState( + override val variant: String = "", + override val appearance: String = "", + val amount: Int = 5, + val icon: TabItemIcon = TabItemIcon.None, + val tabItemLabel: String = "Tab", + val tabItemValue: String = "", + val enabled: Boolean = true, + val stretch: Boolean = false, + val clip: TabsClip = TabsClip.Scroll, + val counter: Boolean = false, + val count: String = "1", + val actionEnabled: Boolean = false, + val dividerEnabled: Boolean = true, + val indicatorEnabled: Boolean = true, +) : UiState { + + override fun updateVariant( + appearance: String, + variant: String, + ): UiState { + return copy(variant = variant, appearance = appearance) + } +} + +enum class TabItemIcon { + Start, End, None, +} + +@Story +object TabsStory : ComposeBaseStory( + ComponentKey.Tabs, + TabsUiState(), + TabsUiStatePropertiesProducer, + TabsUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TabsStyle, + state: TabsUiState, + ) { + var selectedTab by remember { mutableIntStateOf(0) } + Tabs( + style = style, + enabled = state.enabled, + selectedTabIndex = selectedTab, + onTabClicked = { + selectedTab = it + }, + clip = state.clip, + stretch = state.stretch, + indicatorEnabled = state.indicatorEnabled, + dividerEnabled = state.dividerEnabled, + ) { + repeat(state.amount) { index -> + val label = "${state.tabItemLabel}$index" + tab(dropdownAlias = label) { selected -> + TabItem( + isSelected = selected, + label = label, + helpText = state.tabItemValue, + count = if (state.counter) state.count else null, + startContent = startIcon(state), + endContent = endIcon(state), + actionIcon = actionIcon(state, style), + onActionClicked = {}, + ) + } + } + } + } +} + +@Story +object IconTabsStory : ComposeBaseStory( + ComponentKey.IconTabs, + TabsUiState(), + TabsUiStatePropertiesProducer, + TabsUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TabsStyle, + state: TabsUiState, + ) { + var selectedTab by remember { mutableIntStateOf(0) } + Tabs( + style = style, + enabled = state.enabled, + selectedTabIndex = selectedTab, + onTabClicked = { + selectedTab = it + }, + clip = state.clip, + stretch = state.stretch, + indicatorEnabled = state.indicatorEnabled, + dividerEnabled = state.dividerEnabled, + ) { + repeat(state.amount) { index -> + val label = "${state.tabItemLabel}$index" + tab(dropdownAlias = label) { selected -> + IconTabItem( + isSelected = selected, + count = if (state.counter) state.count else null, + icon = R.drawable.ic_plasma_24, + actionIcon = actionIcon(state, style), + onActionClicked = {}, + ) + } + } + } + } + + @Composable + override fun Preview( + style: TabsStyle, + key: ComponentKey, + ) { + var selectedTab by remember { mutableIntStateOf(0) } + Tabs( + modifier = Modifier, + style = style, + selectedTabIndex = selectedTab, + onTabClicked = { + selectedTab = it + }, + ) { + repeat(3) { index -> + val label = "Tab$index" + tab(dropdownAlias = label) { selected -> + TabItem( + isSelected = selected, + label = label, + startContent = { + Icon( + painter = painterResource(com.sdds.icons.R.drawable.ic_plasma_24), + contentDescription = "", + ) + }, + actionIcon = com.sdds.icons.R.drawable.ic_close_24, + onActionClicked = {}, + ) + } + } + } + } +} + +@DrawableRes +private fun actionIcon(state: TabsUiState, style: TabsStyle): Int? { + return if (state.actionEnabled) { + style.tabItemStyle.actionIcon + } else { + null + } +} + +private fun endIcon(state: TabsUiState): (@Composable () -> Unit)? { + return if (state.icon == TabItemIcon.End) { + { + Icon( + painter = painterResource(R.drawable.ic_plasma_24), + contentDescription = "", + ) + } + } else { + null + } +} + +private fun startIcon(state: TabsUiState): (@Composable () -> Unit)? { + return if (state.icon == TabItemIcon.Start) { + { + Icon( + painter = painterResource(R.drawable.ic_plasma_24), + contentDescription = "", + ) + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textfield/TextFieldStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textfield/TextFieldStory.kt new file mode 100644 index 0000000000..8dd63fc808 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textfield/TextFieldStory.kt @@ -0,0 +1,210 @@ +package com.sdds.compose.uikit.fixtures.stories.textfield + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +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.platform.LocalFocusManager +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.sandbox.internal.FIELD_FOCUS_SELECTOR_MODE_SWITCH +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Chip +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Switch +import com.sdds.compose.uikit.TextField +import com.sdds.compose.uikit.TextFieldStyle +import com.sdds.compose.uikit.fixtures.stories.TextFieldUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.TextFieldUiStateTransformer +import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class TextFieldUiState( + override val variant: String = "", + override val appearance: String = "", + val labelText: String = "Label", + val optionalText: String = "Optional", + val placeholderText: String = "Placeholder", + val captionText: String = "Caption", + val counterText: String = "Counter", + val hasStartIcon: Boolean = true, + val hasEndIcon: Boolean = true, + val hasChips: Boolean = false, + val enabled: Boolean = true, + val readOnly: Boolean = false, + val suffix: String = "", + val prefix: String = "", +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object TextFieldStory : ComposeBaseStory( + ComponentKey.TextField, + TextFieldUiState(), + TextFieldUiStatePropertiesProducer, + TextFieldUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TextFieldStyle, + state: TextFieldUiState, + ) { + val focusManager = LocalFocusManager.current + var isFocusSelectorOn by remember { mutableStateOf(!FIELD_FOCUS_SELECTOR_MODE_SWITCH) } + Column { + var text by remember { mutableStateOf("Value") } + TextField( + value = text, + onValueChange = { + text = it + }, + modifier = Modifier.padding(start = 20.dp), + style = style, + enabled = state.enabled, + readOnly = state.readOnly, + placeholderText = state.placeholderText, + prefix = state.prefix, + suffix = state.suffix, + labelText = state.labelText, + optionalText = state.optionalText, + captionText = state.captionText, + counterText = state.counterText, + startContent = state.hasStartIcon.getTextFieldExampleIcon(TextFieldIcon.Start), + endContent = state.hasEndIcon.getTextFieldExampleIcon(TextFieldIcon.End), + chipsContent = if (state.hasChips) { + chips.toChipContent() + } else { + null + }, + focusSelectorSettings = if (isFocusSelectorOn) { + LocalFocusSelectorSettings.current + } else { + FocusSelectorSettings.None + }, + ) + + if (FIELD_FOCUS_SELECTOR_MODE_SWITCH) { + Spacer(Modifier.size(64.dp)) + Switch( + active = isFocusSelectorOn, + label = stringResource(com.sdds.compose.uikit.fixtures.R.string.sandbox_enable_focus_selector), + onActiveChanged = { isFocusSelectorOn = it }, + ) + Button( + label = stringResource(com.sdds.compose.uikit.fixtures.R.string.sandbox_clear_focus), + onClick = { focusManager.clearFocus(true) }, + ) + } + } + } + + @Composable + override fun Preview( + style: TextFieldStyle, + key: ComponentKey, + ) { + var value by remember { mutableStateOf(TextFieldValue("Value")) } + TextField( + value = value, + style = style, + labelText = "Label", + placeholderText = "", + captionText = "Caption", + onValueChange = { value = it }, + enabled = true, + readOnly = false, + focusSelectorSettings = FocusSelectorSettings.None, + startContent = { + Icon( + painter = painterResource(id = R.drawable.ic_scribble_diagonal_24), + contentDescription = "", + ) + }, + endContent = { + Icon( + painter = painterResource(id = R.drawable.ic_shazam_24), + contentDescription = "", + ) + }, + ) + } +} + +internal enum class TextFieldIcon(val res: Int) { + Start(com.sdds.icons.R.drawable.ic_scribble_diagonal_24), + End(com.sdds.icons.R.drawable.ic_shazam_24), +} + +internal fun Boolean.getTextFieldExampleIcon(icon: TextFieldIcon): (@Composable () -> Unit)? { + return if (this) { + { + Icon( + modifier = Modifier.clickable( + role = Role.Button, + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { }, + painter = painterResource(id = icon.res), + contentDescription = "", + ) + } + } else { + null + } +} + +private val chips = listOf( + "Chip 1", + "Chip 2", + "Chip 3", + "Chip 4", +) + +private fun List.toChipContent(): (@Composable () -> Unit)? { + return if (isEmpty()) { + null + } else { + { + ChipsContent(chips = this) + } + } +} + +@Composable +private fun ChipsContent( + chips: List?, +) { + chips?.forEach { chip -> + Chip( + label = chip, + endContent = { + Icon( + painter = painterResource(id = com.sdds.icons.R.drawable.ic_close_24), + contentDescription = "", + ) + }, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textskeleton/TextSkeletonStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textskeleton/TextSkeletonStory.kt new file mode 100644 index 0000000000..3f9dc9667b --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/textskeleton/TextSkeletonStory.kt @@ -0,0 +1,89 @@ +package com.sdds.compose.uikit.fixtures.stories.textskeleton + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.TextStyle +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.LocalTextStyle +import com.sdds.compose.uikit.SkeletonLineWidthProvider +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.TextSkeleton +import com.sdds.compose.uikit.TextSkeletonStyle +import com.sdds.compose.uikit.fixtures.stories.TextSkeletonUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.TextSkeletonUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class TextSkeletonUiState( + override val variant: String = "", + override val appearance: String = "", + val lineCount: Int = 3, + val text: String = "", + val width: TextSkeletonWidth = TextSkeletonWidth.Random, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +enum class TextSkeletonWidth { + Random, + FullWidth, +} + +@Story +object TextSkeletonStory : ComposeBaseStory( + ComponentKey.TextSkeleton, + TextSkeletonUiState(), + TextSkeletonUiStatePropertiesProducer, + TextSkeletonUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TextSkeletonStyle, + state: TextSkeletonUiState, + ) { + Box(contentAlignment = Alignment.TopStart) { + val defaultTextStyle = if (style.textStyle == TextStyle.Default) { + LocalTextStyle.current + } else { + style.textStyle.copy(color = LocalTextStyle.current.color) + } + Text( + text = state.text, + style = defaultTextStyle, + maxLines = state.lineCount, + modifier = Modifier.fillMaxWidth(), + ) + TextSkeleton( + lineCount = state.lineCount, + textStyle = defaultTextStyle, + lineWidthProvider = when (state.width) { + TextSkeletonWidth.Random -> SkeletonLineWidthProvider.RandomDeviation() + TextSkeletonWidth.FullWidth -> SkeletonLineWidthProvider.FillMaxWidth + }, + modifier = Modifier.fillMaxWidth(), + style = style, + ) + } + } + + @Composable + override fun Preview( + style: TextSkeletonStyle, + key: ComponentKey, + ) { + TextSkeleton( + style = style, + lineCount = 3, + ) + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toast/ToastStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toast/ToastStory.kt new file mode 100644 index 0000000000..0c05b7ca3b --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toast/ToastStory.kt @@ -0,0 +1,141 @@ +package com.sdds.compose.uikit.fixtures.stories.toast + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.Toast +import com.sdds.compose.uikit.ToastStyle +import com.sdds.compose.uikit.fixtures.stories.ToastUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ToastUiStateTransformer +import com.sdds.compose.uikit.overlay.LocalOverlayManager +import com.sdds.compose.uikit.overlay.OverlayManager +import com.sdds.compose.uikit.overlay.OverlayPosition +import com.sdds.compose.uikit.overlay.showToast +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ToastUiState( + override val variant: String = "", + override val appearance: String = "", + val text: String = "Toast Text", + val hasContentStart: Boolean = true, + val hasContentEnd: Boolean = true, + val position: OverlayPosition = OverlayPosition.BottomCenter, + val autoDismiss: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ToastStory : ComposeBaseStory( + ComponentKey.Toast, + ToastUiState(), + ToastUiStatePropertiesProducer, + ToastUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ToastStyle, + state: ToastUiState, + ) { + val overlayManager = LocalOverlayManager.current + Button( + modifier = Modifier.align(Alignment.Center), + label = "show", + onClick = { + overlayManager.showToast( + position = state.position, + durationMillis = OverlayManager.OVERLAY_DURATION_SLOW_MILLIS + .takeIf { state.autoDismiss }, + ) { + Toast( + style = style, + contentStart = getContentStart(state.hasContentStart), + contentEnd = getContentEnd(state.hasContentEnd) { + overlayManager.remove(it) + }, + ) { + Text(state.text) + } + } + }, + ) + } + + @Composable + override fun Preview( + style: ToastStyle, + key: ComponentKey, + ) { + val overlayManager = LocalOverlayManager.current + Button( + label = "Show Toast", + onClick = { + overlayManager.showToast( + position = OverlayPosition.BottomCenter, + ) { + Toast( + style = style, + text = "Toast Text", + contentStart = { Icon(painter = painterResource(R.drawable.ic_shazam_16), "") }, + contentEnd = { + Icon( + modifier = Modifier.clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + overlayManager.remove(it) + }, + painter = painterResource(R.drawable.ic_close_16), + contentDescription = "", + ) + }, + ) + } + }, + ) + } +} + +private fun getContentStart(hasContentStart: Boolean): @Composable (() -> Unit)? { + return if (hasContentStart) { + @Composable { Icon(painter = painterResource(R.drawable.ic_shazam_16), "") } + } else { + null + } +} + +private fun getContentEnd(hasContentEnd: Boolean, onClick: () -> Unit): @Composable (() -> Unit)? { + return if (hasContentEnd) { + @Composable { + Icon( + modifier = Modifier.clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + onClick.invoke() + }, + painter = painterResource(R.drawable.ic_close_16), + contentDescription = "", + ) + } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toolbar/ToolBarStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toolbar/ToolBarStory.kt new file mode 100644 index 0000000000..7e513e1e86 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/toolbar/ToolBarStory.kt @@ -0,0 +1,117 @@ +package com.sdds.compose.uikit.fixtures.stories.toolbar + +import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.IconButton +import com.sdds.compose.uikit.ToolBar +import com.sdds.compose.uikit.ToolBarOrientation +import com.sdds.compose.uikit.ToolBarStyle +import com.sdds.compose.uikit.fixtures.stories.ToolBarUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.ToolBarUiStateTransformer +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class ToolBarUiState( + override val variant: String = "", + override val appearance: String = "", + val hasDivider: Boolean = true, + val sections: Int = 3, +) : UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object ToolBarStory : ComposeBaseStory( + ComponentKey.ToolBar, + ToolBarUiState(), + ToolBarUiStatePropertiesProducer, + ToolBarUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: ToolBarStyle, + state: ToolBarUiState, + ) { + val scrollModifier = when (style.orientation) { + ToolBarOrientation.Vertical -> Modifier.verticalScroll(rememberScrollState()) + ToolBarOrientation.Horizontal -> Modifier.horizontalScroll(rememberScrollState()) + } + Box(modifier = scrollModifier) { + ToolBar( + hasDivider = state.hasDivider, + style = style, + ) { + for (section in 0 until state.sections) { + if (section % 2 == 0) { + section { + ContainerAccordingOrientation(style.orientation) { + IconButton(R.drawable.ic_plasma_24) { } + Spacer(modifier = Modifier.size(4.dp)) + IconButton(R.drawable.ic_salute_outline_24) { } + } + } + } else { + section { Button("Label", {}) } + } + } + } + } + } + + @Composable + override fun Preview( + style: ToolBarStyle, + key: ComponentKey, + ) { + ToolBar( + hasDivider = true, + style = style, + ) { + for (item in 0..2) { + if (item % 2 == 0) { + section { + Row { + IconButton(R.drawable.ic_plasma_24) { } + Spacer(modifier = Modifier.size(4.dp)) + IconButton(R.drawable.ic_salute_outline_24) { } + } + } + } else { + section { + Button("Label", {}) + } + } + } + } + } +} + +@Composable +private fun ContainerAccordingOrientation( + orientation: ToolBarOrientation, + content: @Composable () -> Unit, +) { + if (orientation == ToolBarOrientation.Horizontal) { + Row { content() } + } else { + Column { content() } + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tooltip/TooltipStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tooltip/TooltipStory.kt new file mode 100644 index 0000000000..b36be300a4 --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/tooltip/TooltipStory.kt @@ -0,0 +1,133 @@ +package com.sdds.compose.uikit.fixtures.stories.tooltip + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.widthIn +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.unit.dp +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Button +import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.PopoverAlignment +import com.sdds.compose.uikit.PopoverPlacement +import com.sdds.compose.uikit.PopoverPlacementMode +import com.sdds.compose.uikit.Tooltip +import com.sdds.compose.uikit.TooltipStyle +import com.sdds.compose.uikit.TriggerInfo +import com.sdds.compose.uikit.fixtures.stories.TooltipUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.TooltipUiStateTransformer +import com.sdds.compose.uikit.fixtures.stories.popover.TriggerPlacement +import com.sdds.compose.uikit.fixtures.stories.popover.autoHideToMs +import com.sdds.compose.uikit.fixtures.stories.popover.toAlignment +import com.sdds.compose.uikit.popoverTrigger +import com.sdds.icons.R +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +@StoryUiState +data class TooltipUiState( + override val variant: String = "", + override val appearance: String = "", + val triggerPlacement: TriggerPlacement = TriggerPlacement.Center, + val alignment: PopoverAlignment = PopoverAlignment.Start, + val placement: PopoverPlacement = PopoverPlacement.Top, + val placementMode: PopoverPlacementMode = PopoverPlacementMode.Loose, + val triggerCentered: Boolean = false, + val tailEnabled: Boolean = true, + val autoHide: Boolean = false, + val text: String = "Tooltip text you can replace", + val hasContentStart: Boolean = true, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object TooltipStory : ComposeBaseStory( + ComponentKey.Tooltip, + TooltipUiState(), + TooltipUiStatePropertiesProducer, + TooltipUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: TooltipStyle, + state: TooltipUiState, + ) { + val showTooltip = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + Button( + modifier = Modifier + .align(state.triggerPlacement.toAlignment()) + .popoverTrigger(triggerInfo), + label = "show", + onClick = { showTooltip.value = true }, + ) + Tooltip( + show = showTooltip.value, + modifier = Modifier.widthIn(0.dp, 160.dp), + triggerInfo = { triggerInfo.value }, + placement = state.placement, + placementMode = state.placementMode, + triggerCentered = state.triggerCentered, + alignment = state.alignment, + style = style, + tailEnabled = state.tailEnabled, + onDismissRequest = { + showTooltip.value = false + }, + duration = state.autoHide.autoHideToMs(), + contentStart = getContentStart(state.hasContentStart), + text = AnnotatedString(state.text), + ) + } + + @Composable + override fun Preview( + style: TooltipStyle, + key: ComponentKey, + ) { + val showTooltip = remember { mutableStateOf(false) } + val triggerInfo = remember { mutableStateOf(TriggerInfo()) } + + Button( + modifier = Modifier + .popoverTrigger(triggerInfo), + label = "Show Tooltip", + onClick = { showTooltip.value = true }, + ) + Tooltip( + show = showTooltip.value, + modifier = Modifier.widthIn(0.dp, 160.dp), + triggerInfo = { triggerInfo.value }, + placement = PopoverPlacement.Top, + placementMode = PopoverPlacementMode.Loose, + triggerCentered = false, + alignment = PopoverAlignment.Start, + style = style, + tailEnabled = true, + onDismissRequest = { + showTooltip.value = false + }, + duration = 3000, + contentStart = { Icon(painter = painterResource(R.drawable.ic_shazam_16), "") }, + text = AnnotatedString("Tooltip text you can replace"), + ) + } +} + +private fun getContentStart(hasContentStart: Boolean): @Composable (() -> Unit)? { + return if (hasContentStart) { + @Composable { Icon(painter = painterResource(R.drawable.ic_shazam_16), "") } + } else { + null + } +} diff --git a/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/wheel/WheelStory.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/wheel/WheelStory.kt new file mode 100644 index 0000000000..3cc64a019f --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/stories/wheel/WheelStory.kt @@ -0,0 +1,106 @@ +package com.sdds.compose.uikit.fixtures.stories.wheel + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.sdds.compose.sandbox.ComposeBaseStory +import com.sdds.compose.uikit.Wheel +import com.sdds.compose.uikit.WheelDataSet +import com.sdds.compose.uikit.WheelItemData +import com.sdds.compose.uikit.WheelSeparator +import com.sdds.compose.uikit.WheelStyle +import com.sdds.compose.uikit.fixtures.stories.WheelUiStatePropertiesProducer +import com.sdds.compose.uikit.fixtures.stories.WheelUiStateTransformer +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.UiState + +/** + * Состояние компонента [Wheel]. + * + * @property variant Вариант отображения. + * @property itemLabel Заголовок элемента. + * @property itemTextAfter Текст после значения. + * @property description Описание колеса. + * @property hasControls Флаг отображения кнопок управления. + * @property wheelCount Количество колес. + * @property visibleItemsCount Количество видимых элементов. + * @property separatorType Тип разделителя между элементами. + */ +@StoryUiState +data class WheelUiState( + override val variant: String = "", + override val appearance: String = "", + val itemLabel: String = "Label", + val itemTextAfter: String = "", + val description: String = "", + val hasControls: Boolean = true, + val wheelCount: Int = 2, + val visibleItemsCount: Int = 3, + val separatorType: WheelSeparator = WheelSeparator.Dots, +) : UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +@Story +object WheelStory : ComposeBaseStory( + ComponentKey.Wheel, + WheelUiState(), + WheelUiStatePropertiesProducer, + WheelUiStateTransformer, +) { + @Composable + override fun BoxScope.Content( + style: WheelStyle, + state: WheelUiState, + ) { + Wheel( + modifier = Modifier, + style = style, + hasControls = state.hasControls, + wheelCount = state.wheelCount, + visibleItemsCount = state.visibleItemsCount, + wheelSeparator = state.separatorType, + onItemSelected = { wheelIndex, itemIndex -> + println("item selected: $itemIndex in wheel $wheelIndex") + }, + ) { wheelIndex -> + WheelDataSet( + dataSet = List(30) { + WheelItemData( + text = state.itemLabel, + textAfter = state.itemTextAfter, + ) + }, + description = state.description, + ) + } + } + + @Composable + override fun Preview( + style: WheelStyle, + key: ComponentKey, + ) { + Wheel( + style = style, + hasControls = true, + wheelCount = 1, + visibleItemsCount = 3, + wheelSeparator = WheelSeparator.None, + ) { wheelIndex -> + WheelDataSet( + List(20) { + WheelItemData( + "Label", + "TA", + ) + }, + ) + } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/accordion/AccordionTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AccordionTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/accordion/AccordionTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AccordionTestCases.kt index 11ec816fc1..5200949483 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/accordion/AccordionTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AccordionTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.accordion +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.expandVertically diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/autocomplete/AutocompleteTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AutocompleteTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/autocomplete/AutocompleteTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AutocompleteTestCases.kt index 8853c1cb36..38a7fe3098 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/autocomplete/AutocompleteTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AutocompleteTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.autocomplete +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource @@ -35,6 +35,7 @@ import com.sdds.compose.uikit.SpinnerStyle import com.sdds.compose.uikit.Text import com.sdds.compose.uikit.TextField import com.sdds.compose.uikit.fs.FocusSelectorSettings +import com.sdds.icons.R /** * Тест-кейсы для компонента [Autocomplete] @@ -65,7 +66,7 @@ fun AutoCompleteEmptyStateCenterStart(style: AutocompleteStyle) { style = style, emptyState = { EmptyState( - iconRes = com.sdds.icons.R.drawable.ic_plasma_36, + iconRes = R.drawable.ic_plasma_36, description = "Empty State", buttonLabel = "Action", ) @@ -231,7 +232,7 @@ private fun TextFieldForTest( captionText = "Введите имя Алексей", onValueChange = onValueChange, endContent = { - Icon(painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), "") + Icon(painter = painterResource(R.drawable.ic_search_24), "") }, focusSelectorSettings = FocusSelectorSettings.None, interactionSource = interactionSource, diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/avatar/AvatarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AvatarTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/avatar/AvatarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AvatarTestCases.kt index 0c8ffe10b1..d169ac1261 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/avatar/AvatarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/AvatarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.avatar +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -16,7 +16,7 @@ import com.sdds.compose.uikit.Badge import com.sdds.compose.uikit.Counter import com.sdds.compose.uikit.Icon import com.sdds.compose.uikit.Image -import com.sdds.testing.R +import com.sdds.compose.uikit.fixtures.R /** * Тест кейсы для Avatar diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/badge/BadgeTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BadgeTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/badge/BadgeTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BadgeTestCases.kt index a684cf04f2..0c0de2f459 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/badge/BadgeTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BadgeTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.badge +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/bottomsheet/BottomSheetTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BottomSheetTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/bottomsheet/BottomSheetTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BottomSheetTestCases.kt index 5f5ae07fa3..f0fcc88e21 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/bottomsheet/BottomSheetTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/BottomSheetTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.bottomsheet +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/buttongroup/ButtonGroupTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonGroupTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/buttongroup/ButtonGroupTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonGroupTestCases.kt index 4205cbac41..f74fa8cabd 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/buttongroup/ButtonGroupTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonGroupTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.buttongroup +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/button/ButtonTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/button/ButtonTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonTestCases.kt index 93599969d0..f8c6023fb9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/button/ButtonTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ButtonTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.button +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/card/CardTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CardTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/card/CardTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CardTestCases.kt index 7996d429b3..0fdd728618 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/card/CardTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CardTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.card +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -18,9 +18,9 @@ import com.sdds.compose.uikit.CardStyle import com.sdds.compose.uikit.IconButton import com.sdds.compose.uikit.Image import com.sdds.compose.uikit.Text +import com.sdds.compose.uikit.fixtures.R import com.sdds.compose.uikit.fs.FocusSelectorSettings import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings -import com.sdds.testing.R /** * Vertical [Card] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/carousel/CarouselTestCase.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CarouselTestCase.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/carousel/CarouselTestCase.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CarouselTestCase.kt index f7a33e7ac4..1e9f9e0920 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/carousel/CarouselTestCase.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CarouselTestCase.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.carousel +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.background import androidx.compose.foundation.gestures.snapping.SnapPosition diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/cell/CellTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CellTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/cell/CellTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CellTestCases.kt index ca560805e5..8223779442 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/cell/CellTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CellTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.cell +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/checkbox/CheckBoxTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CheckBoxTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/checkbox/CheckBoxTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CheckBoxTestCases.kt index ad9bd67af2..1e65429696 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/checkbox/CheckBoxTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CheckBoxTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.checkbox +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.state.ToggleableState diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/chip/ChipTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ChipTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/chip/ChipTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ChipTestCases.kt index 680289bf21..c5f464abdf 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/chip/ChipTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ChipTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.chip +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/CircularProgressTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CircularProgressTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/CircularProgressTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CircularProgressTestCases.kt index a191a4f0b6..6078fbc413 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/CircularProgressTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CircularProgressTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.progress +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.CircularProgressBar diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codefield/CodeFieldTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeFieldTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codefield/CodeFieldTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeFieldTestCases.kt index c377e10f64..d4907a4b24 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codefield/CodeFieldTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeFieldTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.codefield +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codeinput/CodeInputTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeInputTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codeinput/CodeInputTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeInputTestCases.kt index affca6790f..4ea25dff37 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/codeinput/CodeInputTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CodeInputTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.codeinput +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/collapsing/CollapsingNavigationBarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CollapsingNavigationBarTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/collapsing/CollapsingNavigationBarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CollapsingNavigationBarTestCases.kt index 360ded5150..c334c56c4e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/collapsing/CollapsingNavigationBarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CollapsingNavigationBarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.navigationbar.collapsing +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/counter/CounterTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CounterTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/counter/CounterTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CounterTestCases.kt index bbb40f59d8..8c76bcafb4 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/counter/CounterTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/CounterTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.counter +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Counter diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/divider/DividerTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DividerTestCases.kt similarity index 83% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/divider/DividerTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DividerTestCases.kt index ab86d1f753..e2e91e28e7 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/divider/DividerTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DividerTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.divider +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Divider diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/drawer/DrawerTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DrawerTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/drawer/DrawerTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DrawerTestCases.kt index cb9f3cedd4..fd7008205c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/drawer/DrawerTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DrawerTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.drawer +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -24,6 +24,7 @@ import com.sdds.compose.uikit.DrawerAlignment import com.sdds.compose.uikit.DrawerStyle import com.sdds.compose.uikit.DrawerValue import com.sdds.compose.uikit.Icon +import com.sdds.compose.uikit.List import com.sdds.compose.uikit.ListItem import com.sdds.compose.uikit.ListItemStyle import com.sdds.compose.uikit.Text @@ -364,7 +365,7 @@ private fun Footer() { @Composable private fun Body(style: ListItemStyle) { - com.sdds.compose.uikit.List { + List { items(20) { var isFocused by remember { mutableStateOf(false) } ListItem( diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/dropdownmenu/DropDownMenuTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DropDownMenuTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/dropdownmenu/DropDownMenuTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DropDownMenuTestCases.kt index 738c9c7e3a..9fa5858ad3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/dropdownmenu/DropDownMenuTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/DropDownMenuTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.dropdownmenu +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition @@ -17,6 +17,7 @@ import com.sdds.compose.uikit.ButtonStyle import com.sdds.compose.uikit.Divider import com.sdds.compose.uikit.DropdownMenu import com.sdds.compose.uikit.DropdownMenuStyle +import com.sdds.compose.uikit.List import com.sdds.compose.uikit.ListItem import com.sdds.compose.uikit.PopoverAlignment import com.sdds.compose.uikit.PopoverPlacement @@ -159,7 +160,7 @@ fun DropDownMenuSStrictTopCenter(style: DropdownMenuStyle, buttonStyle: ButtonSt enterTransition = EnterTransition.None, exitTransition = ExitTransition.None, ) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.width(200.dp), ) { val items = listOf("Item 1", "Item 2", "Item 3") @@ -207,7 +208,7 @@ fun DropDownMenuXsStrictCenter(style: DropdownMenuStyle, buttonStyle: ButtonStyl enterTransition = EnterTransition.None, exitTransition = ExitTransition.None, ) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.width(200.dp), ) { items(3) { @@ -288,7 +289,7 @@ fun DropDownMenuXlLooseTopEndDivider(style: DropdownMenuStyle, buttonStyle: Butt enterTransition = EnterTransition.None, exitTransition = ExitTransition.None, ) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.width(200.dp), ) { val items = listOf("Item 1", "Item 2", "Item 3") @@ -417,7 +418,7 @@ fun DropDownMenuTightXsStrictCenter(style: DropdownMenuStyle, buttonStyle: Butto */ @Composable fun ListForDropDownMenu() { - com.sdds.compose.uikit.List( + List( modifier = Modifier.width(200.dp), ) { items(3) { @@ -435,7 +436,7 @@ fun ListForDropDownMenu() { */ @Composable fun ListForDropDownMenuAmountTen() { - com.sdds.compose.uikit.List( + List( modifier = Modifier.width(200.dp), ) { items(10) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/editable/EditableTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/EditableTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/editable/EditableTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/EditableTestCases.kt index 4cfe144f36..412a38995d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/editable/EditableTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/EditableTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.editable +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/file/FileTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FileTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/file/FileTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FileTestCases.kt index 50a1ffad1c..c252cf4845 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/file/FileTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FileTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.file +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/form/FormItemTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FormItemTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/form/FormItemTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FormItemTestCases.kt index b094a44f61..279c60f3ea 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/form/FormItemTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/FormItemTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.form +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -25,6 +25,7 @@ import com.sdds.compose.uikit.PopoverAlignment import com.sdds.compose.uikit.Text import com.sdds.compose.uikit.Tooltip import com.sdds.compose.uikit.TriggerInfo +import com.sdds.icons.R /** * Тест-кейсы для [FormItem] @@ -203,7 +204,7 @@ private fun captionContent(text: String?, hasIcon: Boolean = true): (@Composable Icon( modifier = Modifier.height(14.dp), contentScale = ContentScale.Crop, - painter = painterResource(com.sdds.icons.R.drawable.ic_shazam_16), + painter = painterResource(R.drawable.ic_shazam_16), contentDescription = "", ) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/image/ImageTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ImageTestCases.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/image/ImageTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ImageTestCases.kt index 82539da992..fa64421a82 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/image/ImageTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ImageTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.image +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.background import androidx.compose.foundation.layout.height diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/indicator/IndicatorTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/IndicatorTestCases.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/indicator/IndicatorTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/IndicatorTestCases.kt index 6b67c58a34..a55b3fd326 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/indicator/IndicatorTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/IndicatorTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.indicator +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Indicator diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/list/ListTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ListTestCases.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/list/ListTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ListTestCases.kt index 2931a726ed..5908e51001 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/list/ListTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ListTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.list +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.focusable import androidx.compose.foundation.interaction.MutableInteractionSource @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import com.sdds.compose.uikit.List import com.sdds.compose.uikit.ListItem import com.sdds.compose.uikit.ListStyle import com.sdds.compose.uikit.fs.LocalFocusSelectorSettings @@ -21,7 +22,7 @@ import com.sdds.compose.uikit.fs.focusSelector */ @Composable fun ListAmountThreeHasDisclosure(style: ListStyle) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.fillMaxWidth(), style = style, ) { @@ -48,7 +49,7 @@ fun ListAmountThreeHasDisclosure(style: ListStyle) { */ @Composable fun ListAmountThreeNoDisclosure(style: ListStyle) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.fillMaxWidth(), style = style, ) { @@ -74,7 +75,7 @@ fun ListAmountThreeNoDisclosure(style: ListStyle) { */ @Composable fun ListAmountTwenty(style: ListStyle) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.fillMaxWidth(), style = style, ) { @@ -100,7 +101,7 @@ fun ListAmountTwenty(style: ListStyle) { */ @Composable fun ListForSandbox(style: ListStyle) { - com.sdds.compose.uikit.List( + List( modifier = Modifier.fillMaxWidth(), style = style, ) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/loader/LoaderTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/LoaderTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/loader/LoaderTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/LoaderTestCases.kt index 0f777acab4..851741be1f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/loader/LoaderTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/LoaderTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.loader +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Loader diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/mask/MaskTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/MaskTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/mask/MaskTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/MaskTestCases.kt index 67d3814ae1..25fa4a6862 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/mask/MaskTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/MaskTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.mask +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/modal/ModalTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ModalTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/modal/ModalTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ModalTestCases.kt index 6639ca96ed..1d9a78965b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/modal/ModalTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ModalTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.modal +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/NavigationBarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NavigationBarTestCases.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/NavigationBarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NavigationBarTestCases.kt index b24a54712c..497fde3d07 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/navigationbar/NavigationBarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NavigationBarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.navigationbar +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Row import androidx.compose.runtime.Composable @@ -11,6 +11,7 @@ import com.sdds.compose.uikit.NavigationBarStyle import com.sdds.compose.uikit.NavigationBarTextAlign import com.sdds.compose.uikit.NavigationBarTextPlacement import com.sdds.compose.uikit.Text +import com.sdds.icons.R /** * Тест-кейсы для компонента [NavigationBar] @@ -30,13 +31,13 @@ fun NavigationBarTextContentInlineCenter(style: NavigationBarStyle) { content = { Text(text = "Content") }, actionStart = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), + painter = painterResource(R.drawable.ic_search_24), contentDescription = "", ) }, actionEnd = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) }, @@ -57,13 +58,13 @@ fun NavigationBarContentBottomStart(style: NavigationBarStyle) { content = { Text(text = "Content") }, actionStart = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), + painter = painterResource(R.drawable.ic_search_24), contentDescription = "", ) }, actionEnd = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) }, @@ -84,7 +85,7 @@ fun NavigationBarLongTextContentInlineCenterBottom(style: NavigationBarStyle) { content = { Text(text = LONG_CONTENT) }, actionStart = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), + painter = painterResource(R.drawable.ic_search_24), contentDescription = "", ) }, @@ -106,7 +107,7 @@ fun NavigationBarTextHasActionEndInlineEndBottom(style: NavigationBarStyle) { content = null, actionStart = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) }, @@ -128,11 +129,11 @@ fun NavigationBarLongTextBottomStartInline(style: NavigationBarStyle) { actionEnd = { Row { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), + painter = painterResource(R.drawable.ic_search_24), contentDescription = "", ) Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) } @@ -154,13 +155,13 @@ fun NavigationBarTextContentBottomCenterBottom(style: NavigationBarStyle) { content = { Text(text = "Content") }, actionStart = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_search_24), + painter = painterResource(R.drawable.ic_search_24), contentDescription = "", ) }, actionEnd = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) }, @@ -183,7 +184,7 @@ fun NavigationBarInlineRelative(style: NavigationBarStyle) { actionStart = {}, actionEnd = { Icon( - painter = painterResource(com.sdds.icons.R.drawable.ic_menu_24), + painter = painterResource(R.drawable.ic_menu_24), contentDescription = "", ) }, diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/note/NoteTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NoteTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/note/NoteTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NoteTestCases.kt index 1dcb853144..b18266ff4f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/note/NoteTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NoteTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.note +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notificationcontent/NotificationContentTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationContentTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notificationcontent/NotificationContentTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationContentTestCases.kt index 9e5aada716..d33c8848aa 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notificationcontent/NotificationContentTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationContentTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.notificationcontent +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notification/NotificationTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notification/NotificationTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationTestCases.kt index dca6972b61..5e5e966bae 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/notification/NotificationTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/NotificationTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.notification +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/overlay/OverlayTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/OverlayTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/overlay/OverlayTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/OverlayTestCases.kt index 760aadbf62..c5b50e6623 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/overlay/OverlayTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/OverlayTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.overlay +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/paginationdots/PaginationDotsTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PaginationDotsTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/paginationdots/PaginationDotsTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PaginationDotsTestCases.kt index 0f9d9c53c5..e946c64ab9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/paginationdots/PaginationDotsTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PaginationDotsTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.paginationdots +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -17,6 +17,7 @@ import com.sdds.compose.uikit.ButtonStyle import com.sdds.compose.uikit.IconButton import com.sdds.compose.uikit.PaginationDots import com.sdds.compose.uikit.PaginationDotsStyle +import com.sdds.icons.R /** * Тест-кейсы для компонента [PaginationDots] @@ -156,7 +157,7 @@ fun PaginationDotsIconButtons( IconButton( modifier = Modifier.testTag("iconButtonLeft"), style = iconButtonStyle, - iconRes = com.sdds.icons.R.drawable.ic_arrow_left_24, + iconRes = R.drawable.ic_arrow_left_24, onClick = { onChange((selectedIndex - 1).coerceIn(0 until totalCount)) }, @@ -164,7 +165,7 @@ fun PaginationDotsIconButtons( IconButton( modifier = Modifier.testTag("iconButtonRight"), style = iconButtonStyle, - iconRes = com.sdds.icons.R.drawable.ic_arrow_right_24, + iconRes = R.drawable.ic_arrow_right_24, onClick = { onChange((selectedIndex + 1).coerceIn(0 until totalCount)) }, diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/popover/PopoverTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PopoverTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/popover/PopoverTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PopoverTestCases.kt index 757ec5237b..ca3754ce5b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/popover/PopoverTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/PopoverTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.popover +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/ProgressTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ProgressTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/ProgressTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ProgressTestCases.kt index 7de128204c..11e4d109ef 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/progress/ProgressTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ProgressTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.progress +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/radiobox/RadiboxTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RadiboxTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/radiobox/RadiboxTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RadiboxTestCases.kt index 2a20a26a9b..b53fbfcb54 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/radiobox/RadiboxTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RadiboxTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.radiobox +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.RadioBox diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSceletonTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSceletonTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSceletonTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSceletonTestCases.kt index 518ec1517d..abfe17df16 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSceletonTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSceletonTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.rectskeleton +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.width diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSkeletonTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSkeletonTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSkeletonTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSkeletonTestCases.kt index 1ecca58588..5b759ff5a8 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/rectskeleton/RectSkeletonTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/RectSkeletonTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.rectskeleton +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/scrollbar/ScrollBarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ScrollBarTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/scrollbar/ScrollBarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ScrollBarTestCases.kt index 13d4a16d37..8ca2dc1299 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/scrollbar/ScrollBarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ScrollBarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.scrollbar +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.layout.Box diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/segment/SegmentTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SegmentTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/segment/SegmentTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SegmentTestCases.kt index 471537bdc0..de03b6e331 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/segment/SegmentTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SegmentTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.segment +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/select/SelectTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SelectTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/select/SelectTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SelectTestCases.kt index f9d5e3af40..a96f1513bf 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/select/SelectTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SelectTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.select +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/slider/SliderTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SliderTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/slider/SliderTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SliderTestCases.kt index 4b5c21cd63..b75cd91a65 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/slider/SliderTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SliderTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.slider +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/spinner/SpinnerTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SpinnerTestCases.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/spinner/SpinnerTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SpinnerTestCases.kt index 7def2f8098..73b7921c7d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/spinner/SpinnerTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SpinnerTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.spinner +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Spinner diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/switcher/SwitcherTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SwitcherTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/switcher/SwitcherTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SwitcherTestCases.kt index 6ea2b58b54..c7d59f705e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/switcher/SwitcherTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/SwitcherTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.switcher +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import com.sdds.compose.uikit.Switch diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabbar/TabBarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabBarTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabbar/TabBarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabBarTestCases.kt index aae85729e4..d7cc7bf9d5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabbar/TabBarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabBarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.tabbar +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabs/TabsTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabsTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabs/TabsTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabsTestCases.kt index 5503aa5c96..9a36795e8b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tabs/TabsTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TabsTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.tabs +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textarea/TextAreaTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextAreaTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textarea/TextAreaTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextAreaTestCases.kt index 8b48e4abe7..766d0131e3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textarea/TextAreaTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextAreaTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.textarea +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth @@ -308,7 +308,7 @@ fun TextAreaSWarningInnerRightFocused(style: TextFieldStyle) { enabled = true, endContent = { Icon( - painter = painterResource(id = com.sdds.icons.R.drawable.ic_shazam_24), + painter = painterResource(id = R.drawable.ic_shazam_24), contentDescription = "", ) }, diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textfield/TextFieldTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextFieldTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textfield/TextFieldTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextFieldTestCases.kt index 450850af6b..d3f0eaa8a1 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textfield/TextFieldTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextFieldTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.textfield +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textskeleton/TextSkeletonTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextSkeletonTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textskeleton/TextSkeletonTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextSkeletonTestCases.kt index abbca3b586..e93a91509a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/textskeleton/TextSkeletonTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TextSkeletonTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.textskeleton +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toast/ToastTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToastTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toast/ToastTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToastTestCases.kt index ead65d799e..2101a0aa14 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toast/ToastTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToastTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.toast +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toolbar/ToolbarTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToolbarTestCases.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toolbar/ToolbarTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToolbarTestCases.kt index 7dd90549b9..f10cd3af2e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/toolbar/ToolbarTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/ToolbarTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.toolbar +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tooltip/TooltipTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TooltipTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tooltip/TooltipTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TooltipTestCases.kt index 608c314e36..cea926303f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/tooltip/TooltipTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/TooltipTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.tooltip +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/wheel/WheelTestCases.kt b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/WheelTestCases.kt similarity index 99% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/wheel/WheelTestCases.kt rename to sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/WheelTestCases.kt index aec41382fa..d876f615d8 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/compose/wheel/WheelTestCases.kt +++ b/sdds-core/uikit-compose-fixtures/src/main/kotlin/com/sdds/compose/uikit/fixtures/testcases/WheelTestCases.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.compose.wheel +package com.sdds.compose.uikit.fixtures.testcases import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize diff --git a/sdds-core/testing/src/main/res/drawable/il_avatar_for_test.xml b/sdds-core/uikit-compose-fixtures/src/main/res/drawable/il_avatar_for_test.xml similarity index 100% rename from sdds-core/testing/src/main/res/drawable/il_avatar_for_test.xml rename to sdds-core/uikit-compose-fixtures/src/main/res/drawable/il_avatar_for_test.xml diff --git a/sdds-core/uikit-compose-fixtures/src/main/res/drawable/il_avatar_test.xml b/sdds-core/uikit-compose-fixtures/src/main/res/drawable/il_avatar_test.xml new file mode 100644 index 0000000000..ca968df27a --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/res/drawable/il_avatar_test.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit-compose-fixtures/src/main/res/values/strings.xml b/sdds-core/uikit-compose-fixtures/src/main/res/values/strings.xml new file mode 100644 index 0000000000..5c2183c18a --- /dev/null +++ b/sdds-core/uikit-compose-fixtures/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ + + + Убрать фокус + Cелектор фокуса + \ No newline at end of file diff --git a/sdds-core/uikit-compose/gradle.properties b/sdds-core/uikit-compose/gradle.properties index b37b4b5758..7a5ac12254 100644 --- a/sdds-core/uikit-compose/gradle.properties +++ b/sdds-core/uikit-compose/gradle.properties @@ -2,5 +2,5 @@ nexus.artifactId=sdds-uikit-compose nexus.snapshot=false nexus.description=SDDS UIKit library with base components for android jetpack compose versionMajor=0 -versionMinor=39 +versionMinor=40 versionPatch=0 diff --git a/sdds-core/uikit-compose/src/main/kotlin/com/sdds/compose/uikit/internal/popover/BasePopover.kt b/sdds-core/uikit-compose/src/main/kotlin/com/sdds/compose/uikit/internal/popover/BasePopover.kt index 7399f689be..e92fda8dec 100644 --- a/sdds-core/uikit-compose/src/main/kotlin/com/sdds/compose/uikit/internal/popover/BasePopover.kt +++ b/sdds-core/uikit-compose/src/main/kotlin/com/sdds/compose/uikit/internal/popover/BasePopover.kt @@ -1,5 +1,7 @@ package com.sdds.compose.uikit.internal.popover +import android.view.MotionEvent +import android.view.View import android.view.ViewGroup import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.EnterTransition @@ -94,6 +96,7 @@ internal fun BasePopover( interactionSource: MutableInteractionSource, content: @Composable () -> Unit, ) { + val rootView = LocalView.current.rootView val tailHeight = dimensions.tailHeight val tailWidth = dimensions.tailWidth val tailPadding = dimensions.tailPadding @@ -150,23 +153,33 @@ internal fun BasePopover( } else { Modifier } - val clickableForShadowZoneModifier = Modifier - .pointerInput(Unit) { - detectTapGestures( - onTap = { onDismissRequest.invoke() }, - ) - } val ignoreContentTapModifier = Modifier .pointerInput(Unit) { detectTapGestures( onTap = {}, ) } + val clickableForShadowZoneModifier = + if (popupProperties.dismissOnClickOutside && popupProperties.focusable) { + Modifier.pointerInput(Unit) { + detectTapGestures( + onTap = { onDismissRequest.invoke() }, + ) + } + } else { + Modifier + } Popup( popupPositionProvider = positionProvider, properties = popupProperties, onDismissRequest = onDismissRequest, ) { + val dialogView = LocalView.current.rootView + if (!popupProperties.focusable) { + LaunchedEffect(dialogView, rootView) { + dialogView.enablePassthroughTouch(rootView) + } + } AnimatedVisibility( modifier = clickableForShadowZoneModifier, visibleState = visibleState, @@ -198,7 +211,9 @@ internal fun BasePopover( if (popupProperties.usePlatformDefaultWidth) { val contentView = LocalView.current.rootView SideEffect { - contentView.updateLayoutParams { width = ViewGroup.LayoutParams.MATCH_PARENT } + contentView.updateLayoutParams { + width = ViewGroup.LayoutParams.MATCH_PARENT + } } } } @@ -207,6 +222,34 @@ internal fun BasePopover( } } +@Suppress("ClickableViewAccessibility") +private fun View.enablePassthroughTouch(decorView: View) { + setOnTouchListener { v, event -> + val anchorRect = decorView.getScreenRect() + val popupRect = v.getScreenRect() + val offsetX = (popupRect.left - anchorRect.left).toFloat() + val offsetY = (popupRect.top - anchorRect.top).toFloat() + + val transformedEvent = MotionEvent.obtain(event) + transformedEvent.offsetLocation(offsetX, offsetY) + val result = decorView.dispatchTouchEvent(transformedEvent) + transformedEvent.recycle() + + result + } +} + +private fun View.getScreenRect(): android.graphics.Rect { + val location = IntArray(2) + getLocationOnScreen(location) + return android.graphics.Rect( + location[0], + location[1], + (location[0] + width * scaleX).toInt(), + (location[1] + height * scaleY).toInt(), + ) +} + @Composable private fun getKeyboardHeightPx(): Int { val windowInsets = WindowInsets.ime diff --git a/sdds-core/uikit-fixtures/build.gradle.kts b/sdds-core/uikit-fixtures/build.gradle.kts index 9ebb02776b..04a5a7aae3 100644 --- a/sdds-core/uikit-fixtures/build.gradle.kts +++ b/sdds-core/uikit-fixtures/build.gradle.kts @@ -1,8 +1,8 @@ plugins { id("convention.android-lib") - id("convention.testing") id("convention.maven-publish") id("convention.core-fixtures") + id("kotlin-parcelize") alias(libs.plugins.ksp) } @@ -20,14 +20,32 @@ android { } } +ksp { + arg("packageName", "com.sdds.docs") + arg("sandbox.packageName", "com.sdds.uikit.fixtures.stories") +} + dependencies { implementation(project(":uikit")) - implementation(project(":testing")) + implementation(project(":uikit-compose")) implementation(project(":icons")) implementation(project(":docs")) implementation(project(":docs-views")) ksp(project(":docs-ksp")) + implementation("integration-core:sandbox-core") + implementation("integration-core:sandbox-compose") + implementation("integration-core:sandbox-view") + ksp("integration-core:sandbox-ksp") + implementation(libs.base.glide) implementation(libs.base.androidX.appcompat) + implementation(libs.base.androidX.recyclerView) implementation(libs.base.androidX.core) + implementation(libs.base.androidX.constraintLayout) + implementation(libs.base.android.material) + implementation(libs.base.test.unit.jUnit) + implementation(libs.test.roborazzi) + implementation(libs.test.roborazzi.rule) + implementation(libs.base.test.unit.robolectric) + implementation(libs.base.androidX.compose.foundation) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/ComponentScope.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/ComponentScope.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/ComponentScope.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/ComponentScope.kt index 0155b50bfe..31b8ee0b18 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/ComponentScope.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/ComponentScope.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs +package com.sdds.uikit.fixtures import android.content.Context import android.view.ContextThemeWrapper @@ -13,7 +13,6 @@ import androidx.fragment.app.FragmentActivity import androidx.test.espresso.Espresso.onView import androidx.test.espresso.matcher.ViewMatchers import com.github.takahirom.roborazzi.captureRoboImage -import com.sdds.testing.R import com.sdds.uikit.FrameLayout import com.sdds.uikit.colorFromAttr import org.hamcrest.Matcher @@ -92,6 +91,8 @@ fun component( clipToPadding = false } var view = componentScope.factory() + val parent = view.parent + if (parent is ViewGroup) parent.removeView(view) if (componentScope.hasHorizontalScroll) { view = view.horizontalScrollable() } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Constant.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Constant.kt similarity index 71% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Constant.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Constant.kt index 7ccba1fa79..33a8ef2afc 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Constant.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Constant.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs +package com.sdds.uikit.fixtures /** * Версия sdk для тестов diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/RoborazziConfig.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/RoborazziConfig.kt similarity index 98% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/RoborazziConfig.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/RoborazziConfig.kt index beb0c61b4d..5695ace9c7 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/RoborazziConfig.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/RoborazziConfig.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs +package com.sdds.uikit.fixtures import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RoborazziOptions diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/UiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/UiState.kt new file mode 100644 index 0000000000..081f71eaca --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/UiState.kt @@ -0,0 +1,16 @@ +package com.sdds.uikit.fixtures + +/** + * Состояние компонента с [variant] и [colorVariant] + */ +interface UiState : com.sdds.sandbox.UiState { + /** + * Опциональная цветовая вариация компонента + */ + val colorVariant: String get() = "" + + /** + * Создает копию текущего состояния с новым [colorVariant] + */ + fun updateColorVariant(colorVariant: String): UiState = this +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Utils.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Utils.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Utils.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Utils.kt index 096269ce09..c342c6b9e1 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/Utils.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/Utils.kt @@ -1,9 +1,8 @@ -package com.sdds.testing.vs +package com.sdds.uikit.fixtures import android.app.Activity import android.content.Context import android.content.ContextWrapper -import com.sdds.testing.R import com.sdds.uikit.colorFromAttr internal fun Context.getTextColorPrimary(): Int { diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/RoborazziConfigDocsXml.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/RoborazziConfigDocsXml.kt new file mode 100644 index 0000000000..e41bfc60e2 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/RoborazziConfigDocsXml.kt @@ -0,0 +1,70 @@ +package com.sdds.uikit.fixtures.samples + +import com.github.takahirom.roborazzi.ExperimentalRoborazziApi +import com.github.takahirom.roborazzi.RoborazziOptions +import com.github.takahirom.roborazzi.RoborazziRule +import com.sdds.docs.ViewSample +import com.sdds.docs.ViewSamples +import com.sdds.uikit.utils.TextAppearanceConfig +import org.junit.Before +import org.junit.Rule +import org.robolectric.ParameterizedRobolectricTestRunner +import java.io.File + +/** + * Базовая конфигурация Roborazzi для тестов + */ +open class RoborazziConfigDocsXml( + val viewSample: ViewSampleInfo, +) { + + @Before + fun setUpTheme() { + TextAppearanceConfig.shouldLoadFontSynchronously = true + } + + /** + * Roborazzi rule + */ + @OptIn(ExperimentalRoborazziApi::class) + @get:Rule + val roborazziRule = RoborazziRule( + options = RoborazziRule.Options( + outputDirectoryPath = screenshotsDir.toString(), + outputFileProvider = { description, outputDirectory, fileExtension -> + File( + outputDirectory, + viewSample.id.replace(".", "_") + ".$fileExtension", + ) + }, + roborazziOptions = RoborazziOptions( + compareOptions = RoborazziOptions.CompareOptions( + changeThreshold = 0.005f, + ), + ), + ), + ) + + @Suppress("UndocumentedPublicClass") + data class ViewSampleInfo(val id: String, val sample: ViewSample) + + companion object { + /** + * Папка для сохранения скриншотов + */ + private val screenshotsDir = File( + System.getProperty("rootDir"), + "override-docs/static/screenshots-docusaurus", + ) + + /** + * Параметризированные тесты + */ + @JvmStatic + @ParameterizedRobolectricTestRunner.Parameters(name = "") + fun samples(): List = + ViewSamples + .filterValues { it is ViewSample && it.needScreenshot } + .map { (id, sample) -> ViewSampleInfo(id, sample as ViewSample) } + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/accordion/AccordionSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/accordion/AccordionSamples.kt index 509904edea..b4d594a6bf 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/accordion/AccordionSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/accordion/AccordionSamples.kt @@ -1,13 +1,14 @@ package com.sdds.uikit.fixtures.samples.accordion import android.content.Context -import android.view.LayoutInflater +import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.Accordion -import com.sdds.uikit.fixtures.databinding.SamplesAccordionBinding +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.accordion.accordion @DocSample -fun Accordion_Simple(context: Context): Accordion { - val binding = SamplesAccordionBinding.inflate(LayoutInflater.from(context)) - return binding.accordionSimple +fun Accordion_Simple(context: Context): View { + return accordion( + context, + ).apply { id = R.id.accordion } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/autocomplete/AutocompleteSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/autocomplete/AutocompleteSamples.kt new file mode 100644 index 0000000000..de701d6cd3 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/autocomplete/AutocompleteSamples.kt @@ -0,0 +1,14 @@ +package com.sdds.uikit.fixtures.samples.autocomplete + +import android.content.Context +import android.view.View +import com.sdds.docs.DocSample +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.autocomplete.autocomplete + +@DocSample +fun Autocomplete_Simple(context: Context): View { + return autocomplete(context).apply { + id = R.id.autocomplete + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/button/LinkButtonSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/button/LinkButtonSamples.kt index 69c5fece04..0fe3cd50dc 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/button/LinkButtonSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/button/LinkButtonSamples.kt @@ -14,7 +14,7 @@ fun LinkButton_Simple(context: Context): View { return binding.linkButtonSimple } -@DocSample +@DocSample(needScreenshot = false) fun LinkButton_LabelValue_Packed(context: Context): View { val binding = SamplesButtonBinding.inflate(LayoutInflater.from(context)) return binding.linkButtonLabelValuePacked.also { button -> @@ -26,7 +26,7 @@ fun LinkButton_LabelValue_Packed(context: Context): View { } } -@DocSample +@DocSample(needScreenshot = false) fun LinkButton_LabelValue_SpaceBetween(context: Context): View { val binding = SamplesButtonBinding.inflate(LayoutInflater.from(context)) return binding.linkButtonLabelValueSpaceBetween.also { button -> diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/carousel/CarouselSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/carousel/CarouselSamples.kt index 0913ac3a0d..02091ec30e 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/carousel/CarouselSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/carousel/CarouselSamples.kt @@ -1,13 +1,26 @@ package com.sdds.uikit.fixtures.samples.carousel import android.content.Context -import android.view.LayoutInflater import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.fixtures.databinding.SamplesCarouselBinding +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.carousel.CarouselContentAlignment +import com.sdds.uikit.fixtures.stories.carousel.CarouselUiState +import com.sdds.uikit.fixtures.stories.carousel.carousel @DocSample fun Carousel_Simple(context: Context): View { - val binding = SamplesCarouselBinding.inflate(LayoutInflater.from(context)) - return binding.carouselSimple + return carousel( + context, + state = CarouselUiState( + variant = "", + appearance = "", + itemCount = 10, + alignment = CarouselContentAlignment.START, + controlsEnabled = true, + indicatorEnabled = true, + indicatorVisibleItemCount = 5, + withGap = true, + ), + ).apply { setOffscreenOffset(10f.dp) } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/draver/DrawerSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/draver/DrawerSamples.kt index b0875554a5..6583ff8dba 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/draver/DrawerSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/draver/DrawerSamples.kt @@ -7,13 +7,13 @@ import com.sdds.docs.DocSample import com.sdds.uikit.fixtures.databinding.SamplesDrawerBinding import com.sdds.uikit.fixtures.databinding.SamplesDrawerLayoutBinding -@DocSample +@DocSample(needScreenshot = false) fun DrawerLayout_Simple(context: Context): View { val binding = SamplesDrawerLayoutBinding.inflate(LayoutInflater.from(context)) return binding.drawerLayoutSimple } -@DocSample +@DocSample(needScreenshot = false) fun DrawerLayout_WithDrawer(context: Context): View { val binding = SamplesDrawerBinding.inflate(LayoutInflater.from(context)) return binding.drawerLayoutWithDrawer diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/list/ListSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/list/ListSamples.kt index 0962f473cd..70acf3704b 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/list/ListSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/list/ListSamples.kt @@ -1,13 +1,23 @@ package com.sdds.uikit.fixtures.samples.list import android.content.Context -import android.view.LayoutInflater +import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.ListView -import com.sdds.uikit.fixtures.databinding.SamplesListBinding +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.list.ListUiState +import com.sdds.uikit.fixtures.stories.list.listView @DocSample -fun List_Simple(context: Context): ListView { - val binding = SamplesListBinding.inflate(LayoutInflater.from(context)) - return binding.listSimple +fun List_Simple(context: Context): View { + return listView( + context, + state = ListUiState( + variant = "", + amount = 5, + itemTitle = "Title", + hasDisclosure = true, + ), + ).apply { + id = R.id.list_view + } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/navigationbar/NavigationBarSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/navigationbar/NavigationBarSamples.kt index f7e67aeaea..7672b8464a 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/navigationbar/NavigationBarSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/navigationbar/NavigationBarSamples.kt @@ -1,13 +1,34 @@ package com.sdds.uikit.fixtures.samples.navigationbar import android.content.Context -import android.view.LayoutInflater import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.fixtures.databinding.SamplesNavigationbarBinding +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.navigationbar.AlignmentStrategy +import com.sdds.uikit.fixtures.stories.navigationbar.ContentBetweenActionsAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.ContentPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.NavigationBarUiState +import com.sdds.uikit.fixtures.stories.navigationbar.TextAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.TextPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.navigationBar @DocSample fun NavigationBar_Simple(context: Context): View { - val binding = SamplesNavigationbarBinding.inflate(LayoutInflater.from(context)) - return binding.navigationBarSimple + return navigationBar( + context, + state = NavigationBarUiState( + title = "Title", + description = "", + contentText = "Content", + hasActionStart = true, + hasActionEnd = true, + textPlacement = TextPlacement.Inner, + contentPlacement = ContentPlacement.Inner, + textAlign = TextAlignment.Center, + contentBetweenActionsAlignment = ContentBetweenActionsAlignment.Center, + centerAlignmentStrategy = AlignmentStrategy.Absolute, + ), + ).apply { + id = R.id.navigation_bar + } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/overlay/OverlaySamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/overlay/OverlaySamples.kt index 7410f4c5a0..5c3e9cd4fc 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/overlay/OverlaySamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/overlay/OverlaySamples.kt @@ -6,7 +6,7 @@ import android.view.View import com.sdds.docs.DocSample import com.sdds.uikit.fixtures.databinding.SamplesOverlayBinding -@DocSample +@DocSample(needScreenshot = false) fun Overlay_Simple(context: Context): View { val binding = SamplesOverlayBinding.inflate(LayoutInflater.from(context)) return binding.overlaySimple diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/scrollbar/ScrollBarSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/scrollbar/ScrollBarSamples.kt index 97c13b3a03..5c9ac731e9 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/scrollbar/ScrollBarSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/scrollbar/ScrollBarSamples.kt @@ -6,7 +6,7 @@ import android.view.View import com.sdds.docs.DocSample import com.sdds.uikit.fixtures.databinding.SamplesScrollbarBinding -@DocSample +@DocSample(needScreenshot = false) fun ScrollBar_Simple(context: Context): View { val binding = SamplesScrollbarBinding.inflate(LayoutInflater.from(context)) return binding.scrollBarSimple diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/SelectSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/SelectSamples.kt new file mode 100644 index 0000000000..06464b6807 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/SelectSamples.kt @@ -0,0 +1,29 @@ +package com.sdds.uikit.fixtures.samples.select + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import com.sdds.docs.DocSample +import com.sdds.docs.codeSnippet +import com.sdds.uikit.dropdown.DropdownEmptyStateView +import com.sdds.uikit.fixtures.databinding.SamplesSelectBinding + +@DocSample +fun Select_Trigger_Button(context: Context): View { + val binding = SamplesSelectBinding.inflate(LayoutInflater.from(context)) + return binding.selectTriggerButton +} + +@DocSample +fun Select_EmptyState(context: Context): View { + val binding = SamplesSelectBinding.inflate(LayoutInflater.from(context)) + return binding.selectTriggerButton.also { select -> + codeSnippet { + select.setDropdownEmptyStateView( + DropdownEmptyStateView(context).apply { + setDescription("Список пуст") + }, + ) + } + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/item/SelectItemSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/item/SelectItemSamples.kt new file mode 100644 index 0000000000..a118072f06 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/select/item/SelectItemSamples.kt @@ -0,0 +1,13 @@ +package com.sdds.uikit.fixtures.samples.select.item + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import com.sdds.docs.DocSample +import com.sdds.uikit.fixtures.databinding.SamplesSelectItemBinding + +@DocSample +fun SelectItem_Simple(context: Context): View { + val binding = SamplesSelectItemBinding.inflate(LayoutInflater.from(context)) + return binding.selectItemSimple +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/tabs/TabsSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/tabs/TabsSamples.kt index 98a065db92..7f358bd933 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/tabs/TabsSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/tabs/TabsSamples.kt @@ -1,13 +1,33 @@ package com.sdds.uikit.fixtures.samples.tabs import android.content.Context -import android.view.LayoutInflater import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.fixtures.databinding.SamplesTabsBinding +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.tabs.DisplayMode +import com.sdds.uikit.fixtures.stories.tabs.TabItemIcon +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.tabs @DocSample fun Tabs_Simple(context: Context): View { - val binding = SamplesTabsBinding.inflate(LayoutInflater.from(context)) - return binding.tabsSimple + return tabs( + context = context, + state = TabsUiState( + variant = "", + amount = 3, + icon = TabItemIcon.End, + tabItemLabel = "Label", + tabItemValue = "", + enabled = true, + displayMode = DisplayMode.SCROLL, + counter = false, + count = "123", + actionEnabled = true, + dividerEnabled = true, + indicatorEnabled = true, + ), + ).apply { + id = R.id.tabs + } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/textskeleton/TextSkeletonSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/textskeleton/TextSkeletonSamples.kt index 0322bd72af..7ca958f939 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/textskeleton/TextSkeletonSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/textskeleton/TextSkeletonSamples.kt @@ -6,7 +6,7 @@ import android.view.View import com.sdds.docs.DocSample import com.sdds.uikit.fixtures.databinding.SamplesTextSkeletonBinding -@DocSample +@DocSample(needScreenshot = false) fun TextSkeleton_Simple(context: Context): View { val binding = SamplesTextSkeletonBinding.inflate(LayoutInflater.from(context)) return binding.textSkeletonSimple diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/wheel/WheelSamples.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/wheel/WheelSamples.kt index 3dc6a0eea7..acfad55bc7 100644 --- a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/wheel/WheelSamples.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/samples/wheel/WheelSamples.kt @@ -1,13 +1,27 @@ package com.sdds.uikit.fixtures.samples.wheel import android.content.Context -import android.view.LayoutInflater import android.view.View import com.sdds.docs.DocSample -import com.sdds.uikit.fixtures.databinding.SamplesWheelBinding +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.wheel.WheelSeparatorType +import com.sdds.uikit.fixtures.stories.wheel.WheelUiState +import com.sdds.uikit.fixtures.stories.wheel.wheel @DocSample fun Wheel_Simple(context: Context): View { - val binding = SamplesWheelBinding.inflate(LayoutInflater.from(context)) - return binding.wheelSimple + return wheel( + context, + state = WheelUiState( + variant = "", + itemLabel = "Label", + itemTextAfter = "", + description = "description", + hasControls = true, + wheelCount = 3, + visibleItemsCount = 5, + separatorType = WheelSeparatorType.DOTS, + hasInfiniteScroll = false, + ), + ).apply { id = R.id.wheel } } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/Utils.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/Utils.kt new file mode 100644 index 0000000000..6d5b88044a --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/Utils.kt @@ -0,0 +1,56 @@ +package com.sdds.uikit.fixtures.stories + +import androidx.annotation.StyleRes +import com.sdds.compose.sandbox.SubTheme +import com.sdds.compose.sandbox.ui.SandboxActivity +import com.sdds.sandbox.ComponentProvider +import com.sdds.sandbox.ThemeManager +import com.sdds.sandbox.ViewTheme + +/** + * Регистрирует все основные (core) истории компонентов в текущей SandboxActivity. + * + * Функция-расширение для [SandboxActivity], которая вызывает [registerStories] + * для инициализации и регистрации всех стандартных историй компонентов + * в глобальном реестре [StoryRegistry]. + * + * Должна вызываться на этапе инициализации активности, обычно в [onCreate], + * чтобы все истории были доступны для отображения в сторибуке. + * + * Пример использования: + * ``` + * class MainActivity : SandboxActivity() { + * override fun onCreate(savedInstanceState: Bundle?) { + * super.onCreate(savedInstanceState) + * registerCoreStories() // Регистрируем все стандартные истории + * } + * } + * ``` + * + * @see SandboxActivity + * @see StoryRegistry + * @see BaseStory.register + */ +fun SandboxActivity.registerCoreStories() { + registerStories() +} + +/** + * Регистрирует тему [themeRes] и компоненты [ComponentProvider] + */ +fun SandboxActivity.registerCoreTheme( + @StyleRes themeRes: Int, + components: ComponentProvider, + displayName: String = "Theme", + subThemeRes: Map = emptyMap(), +) { + setTheme(themeRes) + theme.applyStyle(com.sdds.uikit.fixtures.R.style.SddsSandboxTheme, true) + val theme = ViewTheme( + displayName = displayName, + themeRes = themeRes, + components = components, + subThemeResources = subThemeRes, + ) + ThemeManager.updateTheme(theme) +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionFactory.kt index c78015398f..643ce65ad0 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.accordion +package com.sdds.uikit.fixtures.stories.accordion import android.content.Context import android.view.ViewGroup import androidx.annotation.StyleRes -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Accordion import com.sdds.uikit.AccordionItem import com.sdds.uikit.SimpleAccordionAdapter +import com.sdds.uikit.fixtures.styleWrapper /** * Создаёт и настраивает компонент [Accordion] с заданным стилем и UI-состоянием. diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionStory.kt new file mode 100644 index 0000000000..ddf7cea116 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionStory.kt @@ -0,0 +1,47 @@ +package com.sdds.uikit.fixtures.stories.accordion + +import android.content.Context +import android.view.Gravity +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Accordion +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.AccordionUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.AccordionUiStateTransformer + +/** + * История компонента Accordion для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Accordion. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Accordion + */ +@Story +object AccordionStory : ViewBaseStory( + ComponentKey.Accordion, + AccordionUiState(), + AccordionUiStatePropertiesProducer, + AccordionUiStateTransformer, +) { + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 320.dp + height = FrameLayout.LayoutParams.MATCH_PARENT + topMargin = 40.dp + gravity = Gravity.TOP or Gravity.CENTER_HORIZONTAL + } + } + + override fun getComponent(context: Context): Accordion { + return accordion(context) + } + + override fun onComponentUpdate(component: Accordion, state: AccordionUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionUiState.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionUiState.kt index fb0e821b9f..c2e383b421 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/accordion/AccordionUiState.kt @@ -1,6 +1,9 @@ -package com.sdds.testing.vs.accordion +package com.sdds.uikit.fixtures.stories.accordion -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * UI-состояние для компонента аккордеона. @@ -12,6 +15,8 @@ import com.sdds.testing.vs.UiState * @property animation Указывает, должна ли использоваться анимация. * @property hasDivider Показывать ли разделитель под элементом. */ +@Parcelize +@StoryUiState data class AccordionUiState( override val variant: String = "", override val appearance: String = "", @@ -20,7 +25,7 @@ data class AccordionUiState( val contentText: String = "Content text", val animation: Boolean = true, val hasDivider: Boolean = false, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteFactory.kt similarity index 89% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteFactory.kt index 33f9ba2e44..841d1c24fd 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteFactory.kt @@ -1,14 +1,14 @@ -package com.sdds.testing.vs.autocomplete +package com.sdds.uikit.fixtures.stories.autocomplete import android.content.Context import android.view.LayoutInflater import androidx.annotation.StyleRes import androidx.core.view.isVisible -import com.sdds.testing.databinding.LayoutComponentAutocompleteBinding -import com.sdds.testing.vs.popover.toPlacementMode -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Autocomplete import com.sdds.uikit.ListItem +import com.sdds.uikit.fixtures.databinding.LayoutComponentAutocompleteBinding +import com.sdds.uikit.fixtures.stories.popover.toPlacementMode +import com.sdds.uikit.fixtures.styleWrapper private val AutocompleteSuggestions = listOf( ListItem.simpleItem(0, "Иван Иванов", hasDisclosure = false), diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt new file mode 100644 index 0000000000..ff9c653f1d --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteStory.kt @@ -0,0 +1,54 @@ +package com.sdds.uikit.fixtures.stories.autocomplete + +import android.content.Context +import android.view.Gravity +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Autocomplete +import com.sdds.uikit.fixtures.stories.AutocompleteUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.AutocompleteUiStateTransformer +import com.sdds.uikit.fixtures.stories.popover.toGravity + +/** + * История компонента Autocomplete для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Autocomplete. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Autocomplete + */ +@Story +object AutocompleteStory : ViewBaseStory( + ComponentKey.Autocomplete, + AutocompleteUiState(), + AutocompleteUiStatePropertiesProducer, + AutocompleteUiStateTransformer, +) { + private var currentTriggerGravity: Int = Gravity.CENTER + + override fun getComponent(context: Context): Autocomplete { + return autocomplete(context) + } + + override fun onComponentUpdate(component: Autocomplete, state: AutocompleteUiState) { + component.applyState(state) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + gravity = currentTriggerGravity + } + } + + override fun shouldRecreateComponentOnStateUpdate(state: AutocompleteUiState): Boolean { + val newGravity = state.fieldAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteUiState.kt similarity index 79% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteUiState.kt index 7251de9c3f..95c016708d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/autocomplete/AutocompleteUiState.kt @@ -1,8 +1,11 @@ -package com.sdds.testing.vs.autocomplete +package com.sdds.uikit.fixtures.stories.autocomplete -import com.sdds.testing.vs.UiState -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import kotlinx.parcelize.Parcelize /** * UI-состояние компонента Autocomplete для тестовых стендов. @@ -16,6 +19,8 @@ import com.sdds.testing.vs.popover.PopoverTriggerAlignment * @property fieldAlignment Выравнивание поля Autocomplete относительно экрана. * @property dropdownPlacementMode Режим расположения Dropdown */ +@Parcelize +@StoryUiState data class AutocompleteUiState( override val variant: String = "", override val appearance: String = "", @@ -23,7 +28,7 @@ data class AutocompleteUiState( val withEmptyState: Boolean = true, val fieldAlignment: PopoverTriggerAlignment = PopoverTriggerAlignment.CENTER, val dropdownPlacementMode: PopoverPlacementMode = PopoverPlacementMode.LOOSE, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarFactory.kt index b891fdb46e..108ef7dbde 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarFactory.kt @@ -1,11 +1,11 @@ -package com.sdds.testing.vs.avatar +package com.sdds.uikit.fixtures.stories.avatar import android.content.Context import com.bumptech.glide.Glide -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Avatar import com.sdds.uikit.AvatarGroup +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Avatar] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarStory.kt new file mode 100644 index 0000000000..1121f6ba48 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.avatar + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Avatar +import com.sdds.uikit.fixtures.stories.AvatarUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.AvatarUiStateTransformer + +/** + * История компонента Avatar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Avatar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Avatar + */ +@Story +object AvatarStory : ViewBaseStory( + ComponentKey.Avatar, + AvatarUiState(), + AvatarUiStatePropertiesProducer, + AvatarUiStateTransformer, +) { + override fun getComponent(context: Context): Avatar { + return avatar(context) + } + + override fun onComponentUpdate(component: Avatar, state: AvatarUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarUiState.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarUiState.kt index 887a041314..14cba6e5fe 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/avatar/AvatarUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.avatar +package com.sdds.uikit.fixtures.stories.avatar import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Avatar +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -26,6 +27,7 @@ const val AVATAR_REMOTE_URL = "https://cdn.costumewall.com/wp-content/uploads/20 * @property counterText текст счетчика */ @Parcelize +@StoryUiState data class AvatarUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeFactory.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeFactory.kt index ee24fe20c2..f0a9c5b9e1 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeFactory.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.badge +package com.sdds.uikit.fixtures.stories.badge import android.content.Context import androidx.appcompat.view.ContextThemeWrapper -import com.sdds.testing.R import com.sdds.uikit.Badge import com.sdds.uikit.IconBadge +import com.sdds.uikit.fixtures.R /** * Фабрика для [Badge] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeStory.kt new file mode 100644 index 0000000000..f9d4e93a62 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.badge + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Badge +import com.sdds.uikit.fixtures.stories.BadgeUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.BadgeUiStateTransformer + +/** + * История компонента Badge для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Badge. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Badge + */ +@Story +object BadgeStory : ViewBaseStory( + ComponentKey.Badge, + BadgeUiState(), + BadgeUiStatePropertiesProducer, + BadgeUiStateTransformer, +) { + override fun getComponent(context: Context): Badge { + return badge(context) + } + + override fun onComponentUpdate(component: Badge, state: BadgeUiState) { + component?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeUiState.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeUiState.kt index 189f4913e1..fe7b163436 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/BadgeUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.badge +package com.sdds.uikit.fixtures.stories.badge import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -12,6 +13,7 @@ import kotlinx.parcelize.Parcelize * @property contentRight контент справа */ @Parcelize +@StoryUiState data class BadgeUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/IconBadgeStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/IconBadgeStory.kt new file mode 100644 index 0000000000..f1c1a37798 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/badge/IconBadgeStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.badge + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.IconBadge +import com.sdds.uikit.fixtures.stories.BadgeUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.BadgeUiStateTransformer + +/** + * История компонента IconBadge для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации IconBadge. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.IconBadge + */ +@Story +object IconBadgeStory : ViewBaseStory( + ComponentKey.IconBadge, + BadgeUiState(), + BadgeUiStatePropertiesProducer, + BadgeUiStateTransformer, +) { + override fun getComponent(context: Context): IconBadge { + return iconBadge(context) + } + + override fun onComponentUpdate(component: IconBadge, state: BadgeUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/BasicButtonStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/BasicButtonStory.kt new file mode 100644 index 0000000000..b76dec5898 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/BasicButtonStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.button + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Button +import com.sdds.uikit.fixtures.stories.ButtonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ButtonUiStateTransformer + +/** + * История компонента BasicButton для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации базовой кнопки. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.BasicButton + */ +@Story +object BasicButtonStory : ViewBaseStory( + ComponentKey.BasicButton, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer, +) { + override fun getComponent(context: Context): Button { + return basicButton(context) + } + + override fun onComponentUpdate(component: Button, state: ButtonUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonFactory.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonFactory.kt index 983c2dbc45..7a928790a0 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonFactory.kt @@ -1,13 +1,13 @@ -package com.sdds.testing.vs.button +package com.sdds.uikit.fixtures.stories.button import android.content.Context import android.view.ViewGroup -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Button import com.sdds.uikit.ButtonGroup import com.sdds.uikit.IconButton import com.sdds.uikit.LinkButton +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика [Button] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonGroupStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonGroupStory.kt new file mode 100644 index 0000000000..a7d120e369 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonGroupStory.kt @@ -0,0 +1,33 @@ +package com.sdds.uikit.fixtures.stories.button + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ButtonGroup +import com.sdds.uikit.fixtures.stories.ButtonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ButtonUiStateTransformer + +/** + * История компонента ButtonGroup для сторибука. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.ButtonGroup + */ +@Story +object ButtonGroupStory : ViewBaseStory( + ComponentKey.ButtonGroup, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer, +) { + + override fun getComponent(context: Context): ButtonGroup { + return buttonGroup(context) + } + + override fun onComponentUpdate(component: ButtonGroup, state: ButtonUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonUiState.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonUiState.kt index 2df151ea6b..309fb2d1d6 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/ButtonUiState.kt @@ -1,10 +1,11 @@ -package com.sdds.testing.vs.button +package com.sdds.uikit.fixtures.stories.button import android.os.Parcelable import android.widget.LinearLayout.HORIZONTAL import android.widget.LinearLayout.VERTICAL -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Button +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize import com.sdds.icons.R.drawable as Icons @@ -22,6 +23,7 @@ import com.sdds.icons.R.drawable as Icons * @property amount количество кнопок в группе */ @Parcelize +@StoryUiState data class ButtonUiState( override val variant: String = "", override val appearance: String = "", @@ -45,22 +47,22 @@ data class ButtonUiState( * @property iconId идентификатор ресурса кнопки */ @Parcelize -sealed class ButtonIcon(val iconId: Int = Icons.ic_plasma_24) : Parcelable { +enum class ButtonIcon(val iconId: Int = Icons.ic_plasma_24) : Parcelable { /** * Иконка вначале кнопки */ - object Start : ButtonIcon() + Start, /** * Иконка вконце кнопки */ - object End : ButtonIcon() + End, /** * Отсутствие иконки */ - object No : ButtonIcon(0) + No(0), } /** diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/IconButtonStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/IconButtonStory.kt new file mode 100644 index 0000000000..903dccc32c --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/IconButtonStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.button + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.IconButton +import com.sdds.uikit.fixtures.stories.ButtonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ButtonUiStateTransformer + +/** + * История компонента IconButton для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации кнопки c иконкой. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.IconButton + */ +@Story +object IconButtonStory : ViewBaseStory( + ComponentKey.IconButton, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer, +) { + override fun getComponent(context: Context): IconButton { + return iconButton(context) + } + + override fun onComponentUpdate(component: IconButton, state: ButtonUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/LinkButtonStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/LinkButtonStory.kt new file mode 100644 index 0000000000..c22345a790 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/button/LinkButtonStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.button + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.LinkButton +import com.sdds.uikit.fixtures.stories.ButtonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ButtonUiStateTransformer + +/** + * История компонента LinkButton для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации кнопки. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.LinkButton + */ +@Story +object LinkButtonStory : ViewBaseStory( + ComponentKey.LinkButton, + ButtonUiState(), + ButtonUiStatePropertiesProducer, + ButtonUiStateTransformer, +) { + override fun getComponent(context: Context): LinkButton { + return linkButton(context) + } + + override fun onComponentUpdate(component: LinkButton, state: ButtonUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardFactory.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardFactory.kt index 388fcfe60f..e97d56feab 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardFactory.kt @@ -1,13 +1,13 @@ -package com.sdds.testing.vs.card +package com.sdds.uikit.fixtures.stories.card import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import com.sdds.testing.R -import com.sdds.testing.databinding.LayoutComponentCardBinding -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Card import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.databinding.LayoutComponentCardBinding +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Card] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardStory.kt new file mode 100644 index 0000000000..1730f6effe --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardStory.kt @@ -0,0 +1,35 @@ +package com.sdds.uikit.fixtures.stories.card + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Card +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.CardUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CardUiStateTransformer + +/** + * История компонента Card для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Card. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Card + */ +@Story +object CardStory : ViewBaseStory( + ComponentKey.Card, + CardUiState(), + CardUiStatePropertiesProducer, + CardUiStateTransformer, +) { + override fun getComponent(context: Context): Card { + return card(context).apply { id = R.id.card } + } + + override fun onComponentUpdate(component: Card, state: CardUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardUiState.kt similarity index 88% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardUiState.kt index 809265b753..719419ee8b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/card/CardUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.card +package com.sdds.uikit.fixtures.stories.card import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -11,6 +12,7 @@ import kotlinx.parcelize.Parcelize * @author Малышев Александр on 14.08.2025 */ @Parcelize +@StoryUiState data class CardUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselFactory.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselFactory.kt index e2c3ddb462..5952a0f144 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselFactory.kt @@ -1,15 +1,15 @@ -package com.sdds.testing.vs.carousel +package com.sdds.uikit.fixtures.stories.carousel import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.sdds.testing.R -import com.sdds.testing.databinding.LayoutComponentCarouselItemBinding -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Carousel import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.databinding.LayoutComponentCarouselItemBinding +import com.sdds.uikit.fixtures.styleWrapper /** * Создает компонент [Carousel] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselStory.kt new file mode 100644 index 0000000000..857faa7cb4 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselStory.kt @@ -0,0 +1,44 @@ +package com.sdds.uikit.fixtures.stories.carousel + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Carousel +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.CarouselUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CarouselUiStateTransformer + +/** + * История компонента Carousel для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Carousel. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Carousel + */ +@Story +object CarouselStory : ViewBaseStory( + ComponentKey.Carousel, + CarouselUiState(), + CarouselUiStatePropertiesProducer, + CarouselUiStateTransformer, +) { + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = FrameLayout.LayoutParams.MATCH_PARENT + height = 300.dp + } + } + + override fun getComponent(context: Context): Carousel { + return carousel(context) + } + + override fun onComponentUpdate(component: Carousel, state: CarouselUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselUiState.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselUiState.kt index e1ab9d57b6..9de185c7c5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/carousel/CarouselUiState.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.carousel +package com.sdds.uikit.fixtures.stories.carousel -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Carousel +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * Состояние компонент Carousel @@ -14,6 +17,8 @@ import com.sdds.uikit.Carousel * @property indicatorVisibleItemCount кол-во видимых точек индикатора * @property withGap включен ли отступ между элементами */ +@Parcelize +@StoryUiState data class CarouselUiState( override val variant: String = "", override val appearance: String = "", @@ -23,7 +28,7 @@ data class CarouselUiState( val indicatorEnabled: Boolean = true, val indicatorVisibleItemCount: Int = 5, val withGap: Boolean = true, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellFactory.kt index b5161a9ebc..b96bf898cb 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.cell +package com.sdds.uikit.fixtures.stories.cell import android.content.Context import android.view.ContextThemeWrapper import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.view.isVisible -import com.sdds.testing.databinding.LayoutComponentCellBinding import com.sdds.uikit.CellLayout +import com.sdds.uikit.fixtures.databinding.LayoutComponentCellBinding /** * Фабрика для создания [CellLayout] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellStory.kt new file mode 100644 index 0000000000..a0f40dfa01 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellStory.kt @@ -0,0 +1,51 @@ +package com.sdds.uikit.fixtures.stories.cell + +import android.content.Context +import android.widget.FrameLayout +import androidx.core.view.setMargins +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CellLayout +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.databinding.LayoutComponentCellBinding +import com.sdds.uikit.fixtures.stories.CellUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CellUiStateTransformer + +/** + * История компонента Cell для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Cell. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Cell + */ +@Story +object CellStory : ViewBaseStory( + ComponentKey.Cell, + CellUiState(), + CellUiStatePropertiesProducer, + CellUiStateTransformer, +) { + private var cellLayout: LayoutComponentCellBinding? = null + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = FrameLayout.LayoutParams.MATCH_PARENT + height = 320.dp + setMargins(50.dp) + } + } + + override fun getComponent(context: Context): CellLayout { + return cellLayoutBinding(context) + .also { cellLayout = it }.root + .apply { id = R.id.cell } + } + + override fun onComponentUpdate(component: CellLayout, state: CellUiState) { + cellLayout?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellUiState.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellUiState.kt index c378fc9138..fadf5a8546 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/cell/CellUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.cell +package com.sdds.uikit.fixtures.stories.cell import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -17,6 +18,7 @@ import kotlinx.parcelize.Parcelize * @author Малышев Александр on 14.10.2024 */ @Parcelize +@StoryUiState data class CellUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxFactory.kt index e873046e8b..8d8edef5a0 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.checkbox +package com.sdds.uikit.fixtures.stories.checkbox import android.content.Context import android.view.ViewGroup import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.CheckBox import com.sdds.uikit.CheckBoxGroup +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [CheckBox] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxGroupStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxGroupStory.kt new file mode 100644 index 0000000000..4f3a998aeb --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxGroupStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.checkbox + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CheckBoxGroup +import com.sdds.uikit.fixtures.stories.CheckBoxUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CheckBoxUiStateTransformer + +/** + * История компонента CheckBoxGroup для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации CheckBoxGroup. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.CheckBoxGroup + */ +@Story +object CheckBoxGroupStory : ViewBaseStory( + ComponentKey.CheckBoxGroup, + CheckBoxUiState(), + CheckBoxUiStatePropertiesProducer, + CheckBoxUiStateTransformer, +) { + override fun getComponent(context: Context): CheckBoxGroup { + return checkBoxGroup(context) + } + + override fun onComponentUpdate(component: CheckBoxGroup, state: CheckBoxUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxStory.kt new file mode 100644 index 0000000000..df332ee7e2 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.checkbox + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CheckBox +import com.sdds.uikit.fixtures.stories.CheckBoxUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CheckBoxUiStateTransformer + +/** + * История компонента CheckBox для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации CheckBox. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.CheckBox + */ +@Story +object CheckBoxStory : ViewBaseStory( + ComponentKey.CheckBox, + CheckBoxUiState(), + CheckBoxUiStatePropertiesProducer, + CheckBoxUiStateTransformer, +) { + override fun getComponent(context: Context): CheckBox { + return checkBox(context) + } + + override fun onComponentUpdate(component: CheckBox, state: CheckBoxUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxUiState.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxUiState.kt index 715730fde9..aa7fe76c46 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/checkbox/CheckBoxUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.checkbox +package com.sdds.uikit.fixtures.stories.checkbox import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.CheckBox +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -14,6 +15,7 @@ import kotlinx.parcelize.Parcelize * @property enabled включен ли checkbox */ @Parcelize +@StoryUiState data class CheckBoxUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipFactory.kt index 83bcc59b4a..e8838e2ecf 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipFactory.kt @@ -1,11 +1,11 @@ -package com.sdds.testing.vs.chip +package com.sdds.uikit.fixtures.stories.chip import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Chip import com.sdds.uikit.ChipGroup import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Chip] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipGroupStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipGroupStory.kt new file mode 100644 index 0000000000..0e2eeedf98 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipGroupStory.kt @@ -0,0 +1,57 @@ +package com.sdds.uikit.fixtures.stories.chip + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ChipGroup +import com.sdds.uikit.fixtures.stories.ChipUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ChipUiStateTransformer + +/** + * История компонента ChipGroup для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации ChipGroup. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.ChipGroup + */ +@Story +object ChipGroupStory : ViewBaseStory( + ComponentKey.Chip, + ChipUiState(), + ChipUiStatePropertiesProducer, + ChipUiStateTransformer, +) { + + private var isWrapped: Boolean = false + + override val scrollMode: ScrollMode + get() = if (isWrapped) ScrollMode.VERTICAL else ScrollMode.HORIZONTAL + + override fun shouldRecreateComponentOnStateUpdate(state: ChipUiState): Boolean { + return if (isWrapped != state.isWrapped) { + isWrapped = state.isWrapped + true + } else { + false + } + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = FrameLayout.LayoutParams.MATCH_PARENT + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun getComponent(context: Context): ChipGroup { + return chipGroup(context) + } + + override fun onComponentUpdate(component: ChipGroup, state: ChipUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipStory.kt new file mode 100644 index 0000000000..ed5767de07 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.chip + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Chip +import com.sdds.uikit.fixtures.stories.ChipUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ChipUiStateTransformer + +/** + * История компонента Chip для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Chip. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Chip + */ +@Story +object ChipStory : ViewBaseStory( + ComponentKey.Chip, + ChipUiState(), + ChipUiStatePropertiesProducer, + ChipUiStateTransformer, +) { + override fun getComponent(context: Context): Chip { + return chip(context) + } + + override fun onComponentUpdate(component: Chip, state: ChipUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipUiState.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipUiState.kt index 4884ed540d..ddc744f7af 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/chip/ChipUiState.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.chip +package com.sdds.uikit.fixtures.stories.chip import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.ChipGroup import com.sdds.uikit.FlowLayout -import com.sdds.uikit.viewstate.ViewState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -17,10 +17,10 @@ import kotlinx.parcelize.Parcelize * @property isWrapped включен ли перенос строки * @property quantity количество Chip в группе * @property gravityMode горизонтальное выравнивание в группе - * @property checkedState [ViewState] для Chip в состоянии isChecked == true * @property selectionMode режим выбора Chip в группе */ @Parcelize +@StoryUiState data class ChipUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldFactory.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldFactory.kt index 3868677fdb..4058ce2adc 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldFactory.kt @@ -1,8 +1,8 @@ -package com.sdds.testing.vs.codefield +package com.sdds.uikit.fixtures.stories.codefield import android.content.Context -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [CodeField] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldStory.kt new file mode 100644 index 0000000000..f3add08485 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.codefield + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.stories.CodeFieldUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CodeFieldUiStateTransformer + +/** + * История компонента CodeField для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации CodeField. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.CodeField + */ +@Story +object CodeFieldStory : ViewBaseStory( + ComponentKey.CodeField, + CodeFieldUiState(), + CodeFieldUiStatePropertiesProducer, + CodeFieldUiStateTransformer, +) { + override fun getComponent(context: Context): CodeField { + return codeField(context) + } + + override fun onComponentUpdate(component: CodeField, state: CodeFieldUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldUiState.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldUiState.kt index 6e6d2e921c..e4f40ebf4c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codefield/CodeFieldUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.codefield +package com.sdds.uikit.fixtures.stories.codefield import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -19,6 +20,7 @@ import kotlinx.parcelize.Parcelize * @property codeValidateBehavior сценарий обработки некорректного кода */ @Parcelize +@StoryUiState data class CodeFieldUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputFactory.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputFactory.kt index ecec09915b..3f48645f1b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputFactory.kt @@ -1,8 +1,8 @@ -package com.sdds.testing.vs.codeinput +package com.sdds.uikit.fixtures.stories.codeinput import android.content.Context -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.CodeInput +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [CodeInput] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputStory.kt new file mode 100644 index 0000000000..f5651a6bfe --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.codeinput + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CodeInput +import com.sdds.uikit.fixtures.stories.CodeInputUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CodeInputUiStateTransformer + +/** + * История компонента CodeField для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации CodeField. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.CodeField + */ +@Story +object CodeInputStory : ViewBaseStory( + ComponentKey.CodeInput, + CodeInputUiState(), + CodeInputUiStatePropertiesProducer, + CodeInputUiStateTransformer, +) { + override fun getComponent(context: Context): CodeInput { + return codeInput(context) + } + + override fun onComponentUpdate(component: CodeInput, state: CodeInputUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputUiState.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputUiState.kt index c2c7934990..6c1d43c292 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/codeinput/CodeInputUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.codeinput +package com.sdds.uikit.fixtures.stories.codeinput import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -20,6 +21,7 @@ import kotlinx.parcelize.Parcelize * @property codeValidateBehavior сценарий обработки некорректного кода */ @Parcelize +@StoryUiState data class CodeInputUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterFactory.kt similarity index 81% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterFactory.kt index fe2ab94f70..bf9d4cf5a2 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.counter +package com.sdds.uikit.fixtures.stories.counter import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Counter +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Counter] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterStory.kt new file mode 100644 index 0000000000..eff870e78d --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.counter + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Counter +import com.sdds.uikit.fixtures.stories.CounterUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CounterUiStateTransformer + +/** + * История компонента Counter для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Counter. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Counter + */ +@Story +object CounterStory : ViewBaseStory( + ComponentKey.Counter, + CounterUiState(), + CounterUiStatePropertiesProducer, + CounterUiStateTransformer, +) { + override fun getComponent(context: Context): Counter { + return counter(context) + } + + override fun onComponentUpdate(component: Counter, state: CounterUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterUiState.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterUiState.kt index dd64beb2f1..15bc36713d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/counter/CounterUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.counter +package com.sdds.uikit.fixtures.stories.counter import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -11,6 +12,7 @@ import kotlinx.parcelize.Parcelize * @property enabled включен ли Counter */ @Parcelize +@StoryUiState data class CounterUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerFactory.kt similarity index 69% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerFactory.kt index 6ddc2adb61..ce33749014 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.divider +package com.sdds.uikit.fixtures.stories.divider import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Divider +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Divider] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerStory.kt new file mode 100644 index 0000000000..149a26e016 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerStory.kt @@ -0,0 +1,42 @@ +package com.sdds.uikit.fixtures.stories.divider + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Divider +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.DividerUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.DividerUiStateTransformer + +/** + * История компонента Divider для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Divider. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Divider + */ +@Story +object DividerStory : ViewBaseStory( + ComponentKey.Divider, + DividerUiState(), + DividerUiStatePropertiesProducer, + DividerUiStateTransformer, +) { + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 216.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun getComponent(context: Context): Divider { + return Divider(context) + } + + override fun onComponentUpdate(component: Divider, state: DividerUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerUiState.kt similarity index 77% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerUiState.kt index 03e3b57f55..f00f891897 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/divider/DividerUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.divider +package com.sdds.uikit.fixtures.stories.divider import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -9,6 +10,7 @@ import kotlinx.parcelize.Parcelize * @property variant вариация компонента */ @Parcelize +@StoryUiState data class DividerUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerFactory.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerFactory.kt index 63c3e15e59..2df79c0501 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerFactory.kt @@ -1,20 +1,20 @@ -package com.sdds.testing.vs.drawer +package com.sdds.uikit.fixtures.stories.drawer import android.content.Context import android.view.Gravity import android.widget.FrameLayout.LayoutParams import androidx.annotation.StyleRes -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.scrollbar.ScrollBarUiState -import com.sdds.testing.vs.scrollbar.ScrollOrientation -import com.sdds.testing.vs.scrollbar.scrollBar -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Drawer import com.sdds.uikit.DrawerLayout import com.sdds.uikit.TextView import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarUiState +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollOrientation +import com.sdds.uikit.fixtures.stories.scrollbar.scrollBar +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [DrawerLayout] c [Drawer] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerStory.kt new file mode 100644 index 0000000000..f0b1d538de --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerStory.kt @@ -0,0 +1,45 @@ +package com.sdds.uikit.fixtures.stories.drawer + +import android.content.Context +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.DrawerLayout +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.DrawerUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.DrawerUiStateTransformer + +/** + * История компонента Drawer для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Drawer. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Drawer + */ +@Story +object DrawerStory : ViewBaseStory( + ComponentKey.Drawer, + DrawerUiState(), + DrawerUiStatePropertiesProducer, + DrawerUiStateTransformer, +) { + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.MATCH_PARENT, + ) + } + + override fun getComponent(context: Context): View { + return drawer(context) + } + + override fun onComponentUpdate(component: View, state: DrawerUiState) { + component.findViewById(R.id.drawer_layout)?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerUiState.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerUiState.kt index 8dd0e2da31..028f75ea3f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/drawer/DrawerUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.drawer +package com.sdds.uikit.fixtures.stories.drawer import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.DrawerLayout +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -20,6 +21,7 @@ import kotlinx.parcelize.Parcelize * если header отсутствует */ @Parcelize +@StoryUiState data class DrawerUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuFactory.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuFactory.kt index 8e6e45d773..879ceefa23 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuFactory.kt @@ -1,19 +1,19 @@ -package com.sdds.testing.vs.dropdownmenu +package com.sdds.uikit.fixtures.stories.dropdownmenu import android.content.Context import android.view.View import androidx.annotation.StyleRes -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.popover.PopoverTrigger -import com.sdds.testing.vs.popover.toAlignment -import com.sdds.testing.vs.popover.toPlacement -import com.sdds.testing.vs.popover.toPlacementMode -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.DropdownMenu import com.sdds.uikit.ListItem import com.sdds.uikit.SimpleListViewAdapter import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.popover.PopoverTrigger +import com.sdds.uikit.fixtures.stories.popover.toAlignment +import com.sdds.uikit.fixtures.stories.popover.toPlacement +import com.sdds.uikit.fixtures.stories.popover.toPlacementMode +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [DropdownMenu] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt new file mode 100644 index 0000000000..a2d38fb626 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuStory.kt @@ -0,0 +1,64 @@ +package com.sdds.uikit.fixtures.stories.dropdownmenu + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.widget.FrameLayout +import androidx.core.view.updateMargins +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.DropdownMenuUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.DropdownMenuUiStateTransformer +import com.sdds.uikit.fixtures.stories.popover.toGravity + +/** + * История компонента DropdownMenu для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации DropdownMenu. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.DropdownMenu + */ +@Story +object DropdownMenuStory : ViewBaseStory( + ComponentKey.DropdownMenu, + DropdownMenuUiState(), + DropdownMenuUiStatePropertiesProducer, + DropdownMenuUiStateTransformer, +) { + private var dropdownMenuState: DropdownMenuUiState = DropdownMenuUiState() + private var currentTriggerGravity: Int = Gravity.CENTER + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + gravity = currentTriggerGravity + val margin = 6.dp + updateMargins(margin, margin, margin, margin) + } + } + + override fun getComponent(context: Context): View { + return dropdownMenuTrigger(context, state = dropdownMenuState) + .also { popoverTrigger -> + popoverTrigger.trigger.setOnClickListener { + popoverTrigger.popover.showWithState(it, dropdownMenuState) + } + }.trigger + } + + override fun shouldRecreateComponentOnStateUpdate(state: DropdownMenuUiState): Boolean { + val newGravity = state.triggerAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + override fun onComponentUpdate(component: View, state: DropdownMenuUiState) { + dropdownMenuState = state + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuUiState.kt similarity index 76% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuUiState.kt index d9aae188d2..17cff58264 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropdownMenuUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/dropdownmenu/DropdownMenuUiState.kt @@ -1,10 +1,13 @@ -package com.sdds.testing.vs.dropdownmenu +package com.sdds.uikit.fixtures.stories.dropdownmenu -import com.sdds.testing.vs.UiState -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import kotlinx.parcelize.Parcelize /** * Состояние компонента DropdownMenu @@ -19,6 +22,8 @@ import com.sdds.testing.vs.popover.PopoverTriggerAlignment * @property alignment выравнивание * @property triggerAlignment выравнивание тригера */ +@Parcelize +@StoryUiState data class DropdownMenuUiState( override val variant: String = "", override val appearance: String = "", @@ -31,7 +36,7 @@ data class DropdownMenuUiState( val placementMode: PopoverPlacementMode = PopoverPlacementMode.LOOSE, val alignment: PopoverAlignment = PopoverAlignment.CENTER, val triggerAlignment: PopoverTriggerAlignment = PopoverTriggerAlignment.CENTER, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableFactory.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableFactory.kt index 0f4deeba64..47f74a28d3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableFactory.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.editable +package com.sdds.uikit.fixtures.stories.editable import android.content.Context import androidx.appcompat.content.res.AppCompatResources import com.sdds.icons.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Editable +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Editable] @@ -15,7 +15,7 @@ fun editable( state: EditableUiState = EditableUiState(), ): Editable { return Editable(context.styleWrapper(style)) - .apply { id = com.sdds.testing.R.id.editable } + .apply { id = com.sdds.uikit.fixtures.R.id.editable } .applyState(state) } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableStory.kt new file mode 100644 index 0000000000..a486c8d4be --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.editable + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Editable +import com.sdds.uikit.fixtures.stories.EditableUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.EditableUiStateTransformer + +/** + * История компонента Editable для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Editable. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Editable + */ +@Story +object EditableStory : ViewBaseStory( + ComponentKey.Editable, + EditableUiState(), + EditableUiStatePropertiesProducer, + EditableUiStateTransformer, +) { + override fun getComponent(context: Context): Editable { + return editable(context) + } + + override fun onComponentUpdate(component: Editable, state: EditableUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableUiState.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableUiState.kt index fc743edf7d..c28dfac8f8 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/editable/EditableUiState.kt @@ -1,9 +1,10 @@ -package com.sdds.testing.vs.editable +package com.sdds.uikit.fixtures.stories.editable import android.os.Parcelable import android.view.Gravity -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Editable +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -17,6 +18,7 @@ import kotlinx.parcelize.Parcelize * @property textAlignment выравнивание текста */ @Parcelize +@StoryUiState data class EditableUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileFactory.kt index c7e36d5ef5..3c387ab905 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileFactory.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs.file +package com.sdds.uikit.fixtures.stories.file import android.content.Context import android.content.res.ColorStateList @@ -12,15 +12,15 @@ import androidx.core.content.withStyledAttributes import androidx.core.view.isVisible import com.bumptech.glide.Glide import com.bumptech.glide.load.resource.bitmap.RoundedCorners -import com.sdds.testing.databinding.LayoutComponentFileBinding -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.CircularProgressBar import com.sdds.uikit.File import com.sdds.uikit.ImageView import com.sdds.uikit.ProgressBar import com.sdds.uikit.R import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.databinding.LayoutComponentFileBinding +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [File] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileStory.kt new file mode 100644 index 0000000000..2c55ed4425 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileStory.kt @@ -0,0 +1,49 @@ +package com.sdds.uikit.fixtures.stories.file + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.File +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.databinding.LayoutComponentFileBinding +import com.sdds.uikit.fixtures.stories.FileUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.FileUiStateTransformer + +/** + * История компонента File для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации File. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.File + */ +@Story +object FileStory : ViewBaseStory( + ComponentKey.File, + FileUiState(), + FileUiStatePropertiesProducer, + FileUiStateTransformer, +) { + private var fileLayout: LayoutComponentFileBinding? = null + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 216.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun getComponent(context: Context): File { + return fileLayoutBinding(context) + .also { fileLayout = it }.root + .apply { id = R.id.file } + } + + override fun onComponentUpdate(component: File, state: FileUiState) { + fileLayout?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileUiState.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileUiState.kt index cd1fa16bef..9910df9d65 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/file/FileUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.file +package com.sdds.uikit.fixtures.stories.file import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.File +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -17,6 +18,7 @@ import kotlinx.parcelize.Parcelize * @property contentType тип контента (иконка или изображение) */ @Parcelize +@StoryUiState data class FileUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowFactory.kt similarity index 89% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowFactory.kt index fc1b49531e..609a8f90a7 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.flow +package com.sdds.uikit.fixtures.stories.flow import android.content.Context import android.view.ContextThemeWrapper import android.view.LayoutInflater import android.view.ViewGroup -import com.sdds.testing.R -import com.sdds.testing.databinding.LayoutComponentFlowBinding import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.databinding.LayoutComponentFlowBinding /** * Фабрика для создания [FlowLayout] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowStory.kt new file mode 100644 index 0000000000..f8fcba7965 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowStory.kt @@ -0,0 +1,36 @@ +package com.sdds.uikit.fixtures.stories.flow + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.FlowUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.FlowUiStateTransformer + +/** + * История компонента Flow для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Flow. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Flow + */ +@Story +object FlowStory : ViewBaseStory( + ComponentKey.Flow, + FlowUiState(), + FlowUiStatePropertiesProducer, + FlowUiStateTransformer, +) { + + override fun getComponent(context: Context): FlowLayout { + return flowLayout(context).apply { id = R.id.flow } + } + + override fun onComponentUpdate(component: FlowLayout, state: FlowUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowUiState.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowUiState.kt index 6dc5038247..3761438c5c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/flow/FlowUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.flow +package com.sdds.uikit.fixtures.stories.flow import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -15,6 +16,7 @@ import kotlinx.parcelize.Parcelize * @author Малышев Александр on 13.08.2025 */ @Parcelize +@StoryUiState data class FlowUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageFactory.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageFactory.kt index 73746c4c04..93a823dbdc 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageFactory.kt @@ -1,11 +1,11 @@ -package com.sdds.testing.vs.image +package com.sdds.uikit.fixtures.stories.image import android.content.Context import android.graphics.Color import android.view.ViewGroup -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.ImageView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [ImageView] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageStory.kt new file mode 100644 index 0000000000..1e064cf590 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageStory.kt @@ -0,0 +1,41 @@ +package com.sdds.uikit.fixtures.stories.image + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ImageView +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.ImageUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ImageUiStateTransformer + +/** + * История компонента ImageView для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации ImageView. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Image + */ +@Story +object ImageStory : ViewBaseStory( + ComponentKey.Image, + ImageUiState(), + ImageUiStatePropertiesProducer, + ImageUiStateTransformer, +) { + override fun getComponent(context: Context): ImageView { + return image(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 104.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun onComponentUpdate(component: ImageView, state: ImageUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageUiState.kt similarity index 77% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageUiState.kt index 98353b74f3..b6a118e3c7 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/image/ImageUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.image +package com.sdds.uikit.fixtures.stories.image import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -9,6 +10,7 @@ import kotlinx.parcelize.Parcelize * @property variant вариация компонента */ @Parcelize +@StoryUiState data class ImageUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorFactory.kt similarity index 69% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorFactory.kt index 7187b2c100..52f6964326 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.indicator +package com.sdds.uikit.fixtures.stories.indicator import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Indicator +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Indicator] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorStory.kt new file mode 100644 index 0000000000..aac8debb5c --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorStory.kt @@ -0,0 +1,32 @@ +package com.sdds.uikit.fixtures.stories.indicator + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Indicator +import com.sdds.uikit.fixtures.stories.IndicatorUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.IndicatorUiStateTransformer + +/** + * История компонента Indicator для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Indicator. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Indicator + */ +@Story +object IndicatorStory : ViewBaseStory( + ComponentKey.Indicator, + IndicatorUiState(), + IndicatorUiStatePropertiesProducer, + IndicatorUiStateTransformer, +) { + override fun getComponent(context: Context): Indicator { + return Indicator(context) + } + + override fun onComponentUpdate(component: Indicator, state: IndicatorUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorUiState.kt similarity index 77% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorUiState.kt index cf70e1b61b..0dcc8050eb 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/indicator/IndicatorUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.indicator +package com.sdds.uikit.fixtures.stories.indicator import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -9,6 +10,7 @@ import kotlinx.parcelize.Parcelize * @property variant вариация компонента */ @Parcelize +@StoryUiState data class IndicatorUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListFactory.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListFactory.kt index 007232782b..1984d6e8b3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.list +package com.sdds.uikit.fixtures.stories.list import android.content.Context import androidx.annotation.StyleRes -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.ListItem import com.sdds.uikit.ListView import com.sdds.uikit.SimpleListViewAdapter +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [ListView] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListStory.kt new file mode 100644 index 0000000000..88edd38e68 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListStory.kt @@ -0,0 +1,43 @@ +package com.sdds.uikit.fixtures.stories.list + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ListView +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.ListUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ListUiStateTransformer + +/** + * История компонента List для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации List. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.List + */ +@Story +object ListStory : ViewBaseStory( + ComponentKey.List, + ListUiState(), + ListUiStatePropertiesProducer, + ListUiStateTransformer, +) { + override fun getComponent(context: Context): ListView { + return listView(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 216.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun onComponentUpdate(component: ListView, state: ListUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListUiState.kt similarity index 73% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListUiState.kt index c15d4f82aa..33a7dc5dbe 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/list/ListUiState.kt @@ -1,6 +1,9 @@ -package com.sdds.testing.vs.list +package com.sdds.uikit.fixtures.stories.list -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * Состояние компонента ListView @@ -9,13 +12,15 @@ import com.sdds.testing.vs.UiState * @property itemTitle заголовок элемента * @property hasDisclosure наличие индикатора доп. информации */ +@Parcelize +@StoryUiState data class ListUiState( override val variant: String = "", override val appearance: String = "", val amount: Int = 3, val itemTitle: String = "Title", val hasDisclosure: Boolean = true, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderFactory.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderFactory.kt index 63da432e76..31be4c12e9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.loader +package com.sdds.uikit.fixtures.stories.loader import android.content.Context import androidx.annotation.StyleRes -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Loader +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [Loader] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderStory.kt new file mode 100644 index 0000000000..843a3ef257 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.loader + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Loader +import com.sdds.uikit.fixtures.stories.LoaderUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.LoaderUiStateTransformer + +/** + * История компонента Loader для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Loader. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Loader + */ +@Story +object LoaderStory : ViewBaseStory( + ComponentKey.Loader, + LoaderUiState(), + LoaderUiStatePropertiesProducer, + LoaderUiStateTransformer, +) { + override fun getComponent(context: Context): Loader { + return loader(context) + } + + override fun onComponentUpdate(component: Loader, state: LoaderUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderUiState.kt similarity index 75% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderUiState.kt index 39f90ff3bd..b2ae2d611f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/loader/LoaderUiState.kt @@ -1,10 +1,11 @@ -package com.sdds.testing.vs.loader +package com.sdds.uikit.fixtures.stories.loader import android.os.Parcelable -import com.sdds.testing.vs.UiState -import com.sdds.testing.vs.loader.LoaderType.Progress -import com.sdds.testing.vs.loader.LoaderType.Spinner +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Loader +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.loader.LoaderType.Progress +import com.sdds.uikit.fixtures.stories.loader.LoaderType.Spinner import kotlinx.parcelize.Parcelize /** @@ -12,11 +13,13 @@ import kotlinx.parcelize.Parcelize * @property variant вариация * @property loaderType тип прогресса загрузки */ +@Parcelize +@StoryUiState data class LoaderUiState( override val variant: String = "", override val appearance: String = "", val loaderType: LoaderType = Spinner, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskFactory.kt index bca7315f62..630e83ae74 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskFactory.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.mask +package com.sdds.uikit.fixtures.stories.mask import android.content.Context import android.widget.Toast -import com.sdds.testing.vs.textfield.textField import com.sdds.uikit.TextField import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.stories.textfield.textField /** * Фабрика для создания [TextField] с масками diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskStory.kt new file mode 100644 index 0000000000..3091f858ee --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.mask + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.MaskUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.MaskUiStateTransformer + +/** + * История компонента TextField с применением Mask для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации TextField с применением Mask. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Mask + */ +@Story +object MaskStory : ViewBaseStory( + ComponentKey.Mask, + MaskUiState(), + MaskUiStatePropertiesProducer, + MaskUiStateTransformer, +) { + override fun getComponent(context: Context): TextField { + return maskedTextField(context) + } + + override fun onComponentUpdate(component: TextField, state: MaskUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskUiState.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskUiState.kt index 49fce194b7..b2f0c34887 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/mask/MaskUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.mask +package com.sdds.uikit.fixtures.stories.mask import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -24,6 +25,7 @@ import kotlinx.parcelize.Parcelize * @property maskDisplayMode режим отображения маски (всегда или только при вводе) */ @Parcelize +@StoryUiState data class MaskUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalFactory.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalFactory.kt index 444efd026b..3d3e8ec4a2 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalFactory.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs.modal +package com.sdds.uikit.fixtures.stories.modal import android.content.Context import android.os.Build @@ -10,12 +10,12 @@ import android.view.ViewGroup import androidx.annotation.StyleRes import androidx.core.os.bundleOf import androidx.fragment.app.FragmentActivity -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.findActivity -import com.sdds.testing.vs.getTextColorPrimary import com.sdds.uikit.TextView import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.findActivity +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.stories.button.basicButton import com.sdds.uikit.overlays.ModalFragment import com.sdds.uikit.overlays.ModalOptions diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalStory.kt new file mode 100644 index 0000000000..5c5c097327 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalStory.kt @@ -0,0 +1,39 @@ +package com.sdds.uikit.fixtures.stories.modal + +import android.content.Context +import android.view.View +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.fixtures.stories.ModalUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ModalUiStateTransformer + +/** + * История компонента Modal для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Modal. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Modal + */ +@Story +object ModalStory : ViewBaseStory( + ComponentKey.Modal, + ModalUiState(), + ModalUiStatePropertiesProducer, + ModalUiStateTransformer, +) { + private var state: ModalUiState = ModalUiState() + + override fun getComponent(context: Context): View { + return modalTrigger(context, state = state, style = currentStyle.res) + } + + override fun shouldRecreateComponentOnStateUpdate(state: ModalUiState): Boolean { + this.state = state + return true + } + + override fun onComponentUpdate(component: View, state: ModalUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalUiState.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalUiState.kt index d87ae4dcb5..abb4e061dd 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/modal/ModalUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.modal +package com.sdds.uikit.fixtures.stories.modal import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -14,6 +15,7 @@ import kotlinx.parcelize.Parcelize * @property hasClose включить ли кнопку закрытия */ @Parcelize +@StoryUiState data class ModalUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarFactory.kt similarity index 89% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarFactory.kt index 33027ef885..4a7521c677 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarFactory.kt @@ -1,14 +1,15 @@ -package com.sdds.testing.vs.navigationbar +package com.sdds.uikit.fixtures.stories.navigationbar import android.content.Context import android.view.Gravity import android.widget.LinearLayout import androidx.core.view.isVisible -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.styleWrapper +import com.sdds.icons.R import com.sdds.uikit.ImageView import com.sdds.uikit.NavigationBar import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [NavigationBar] @@ -43,7 +44,7 @@ fun NavigationBar.applyState(state: NavigationBarUiState) = apply { if (state.hasActionStart) { setActionStart( ImageView(context).apply { - setImageResource(com.sdds.icons.R.drawable.ic_search_24) + setImageResource(R.drawable.ic_search_24) }, ) } else { @@ -52,7 +53,7 @@ fun NavigationBar.applyState(state: NavigationBarUiState) = apply { if (state.hasActionEnd) { setActionEnd( ImageView(context).apply { - setImageResource(com.sdds.icons.R.drawable.ic_menu_24) + setImageResource(R.drawable.ic_menu_24) }, ) } else { diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt new file mode 100644 index 0000000000..0efa42b89b --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarStory.kt @@ -0,0 +1,45 @@ +package com.sdds.uikit.fixtures.stories.navigationbar + +import android.content.Context +import android.widget.FrameLayout +import androidx.core.view.setMargins +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.NavigationBar +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.NavigationBarUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.NavigationBarUiStateTransformer + +/** + * История компонента NavigationBar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации NavigationBar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.NavigationBar + */ +@Story +object NavigationBarStory : ViewBaseStory( + ComponentKey.NavigationBar, + NavigationBarUiState(), + NavigationBarUiStatePropertiesProducer, + NavigationBarUiStateTransformer, +) { + override fun getComponent(context: Context): NavigationBar { + return navigationBar(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = FrameLayout.LayoutParams.MATCH_PARENT + height = FrameLayout.LayoutParams.MATCH_PARENT + setMargins(50.dp) + } + } + + override fun onComponentUpdate(component: NavigationBar, state: NavigationBarUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarUiState.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarUiState.kt index 92cb60804b..1e16a01fa0 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationbar/NavigationBarUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.navigationbar +package com.sdds.uikit.fixtures.stories.navigationbar import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.NavigationBar +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -21,6 +22,7 @@ import kotlinx.parcelize.Parcelize * @property centerAlignmentStrategy стратегия выравнивание контента, находящегося в блоке с actions */ @Parcelize +@StoryUiState data class NavigationBarUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerFactory.kt index 9ad652901a..087daaddd4 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerFactory.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.navigationdrawer +package com.sdds.uikit.fixtures.stories.navigationdrawer import android.content.Context import androidx.annotation.StyleRes -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.NavigationDrawer +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [NavigationDrawer] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerStory.kt new file mode 100644 index 0000000000..c6df1c7895 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerStory.kt @@ -0,0 +1,46 @@ +package com.sdds.uikit.fixtures.stories.navigationdrawer + +import android.content.Context +import android.view.Gravity +import android.widget.FrameLayout +import androidx.core.view.setMargins +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.NavigationDrawer +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.NavigationDrawerUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.NavigationDrawerUiStateTransformer + +/** + * История компонента NavigationDrawer для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации NavigationDrawer. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.NavigationDrawer + */ +@Story +object NavigationDrawerStory : ViewBaseStory( + ComponentKey.NavigationDrawer, + NavigationDrawerUiState(), + NavigationDrawerUiStatePropertiesProducer, + NavigationDrawerUiStateTransformer, +) { + override fun getComponent(context: Context): NavigationDrawer { + return navigationDrawer(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + height = FrameLayout.LayoutParams.MATCH_PARENT + setMargins(20.dp) + gravity = Gravity.CENTER_VERTICAL or Gravity.START + } + } + + override fun onComponentUpdate(component: NavigationDrawer, state: NavigationDrawerUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerUiState.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerUiState.kt index 3b1c5a44c3..636e5b2db4 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/navigationdrawer/NavigationDrawerUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.navigationdrawer +package com.sdds.uikit.fixtures.stories.navigationdrawer import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.NavigationDrawer +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -17,6 +18,7 @@ import kotlinx.parcelize.Parcelize * @property hasFooter включен ли footer */ @Parcelize +@StoryUiState data class NavigationDrawerUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteFactory.kt index 875fe29a17..235ea53060 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteFactory.kt @@ -1,13 +1,13 @@ -package com.sdds.testing.vs.note +package com.sdds.uikit.fixtures.stories.note import android.content.Context import androidx.annotation.StyleRes import com.sdds.icons.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.ImageView import com.sdds.uikit.LinkButton import com.sdds.uikit.Note import com.sdds.uikit.NoteCompact +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [Note] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteStory.kt new file mode 100644 index 0000000000..9e36a0762a --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.note + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Note +import com.sdds.uikit.fixtures.stories.NoteUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.NoteUiStateTransformer + +/** + * История компонента Note для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Note. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Note + */ +@Story +object NoteStory : ViewBaseStory( + ComponentKey.Note, + NoteUiState(), + NoteUiStatePropertiesProducer, + NoteUiStateTransformer, +) { + override fun getComponent(context: Context): Note { + return note(context) + } + + override fun onComponentUpdate(component: Note, state: NoteUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteUiState.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteUiState.kt index 7c92d5a11a..7f77b82678 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/note/NoteUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.note +package com.sdds.uikit.fixtures.stories.note import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -12,6 +13,7 @@ import kotlinx.parcelize.Parcelize * @property hasAction наличие кнопок */ @Parcelize +@StoryUiState data class NoteUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationFactory.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationFactory.kt index 33e3594843..771713e92c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.notification +package com.sdds.uikit.fixtures.stories.notification import android.content.Context import android.view.View -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.notificationcontent.NotificationContentUiState -import com.sdds.testing.vs.notificationcontent.notificationContent -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Notification +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.notificationcontent.NotificationContentUiState +import com.sdds.uikit.fixtures.stories.notificationcontent.notificationContent +import com.sdds.uikit.fixtures.styleWrapper import com.sdds.uikit.overlays.OverlayManager import com.sdds.uikit.overlays.getAnimationSpec diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationStory.kt new file mode 100644 index 0000000000..12fe345647 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.notification + +import android.content.Context +import android.view.View +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.fixtures.stories.NotificationUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.NotificationUiStateTransformer + +/** + * История компонента Notification для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Notification. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Notification + */ +@Story +object NotificationStory : ViewBaseStory( + ComponentKey.Notification, + NotificationUiState(), + NotificationUiStatePropertiesProducer, + NotificationUiStateTransformer, +) { + override fun getComponent(context: Context): View { + return notificationTrigger(context) + } + + override fun onComponentUpdate(component: View, state: NotificationUiState) { + component.setOnClickListener { notification(component.context, state).show() } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationUiState.kt similarity index 81% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationUiState.kt index e9b48054f6..3a44416c12 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notification/NotificationUiState.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.notification +package com.sdds.uikit.fixtures.stories.notification -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import com.sdds.uikit.overlays.OverlayPosition +import kotlinx.parcelize.Parcelize /** * Состояние компонента Notification @@ -13,6 +16,8 @@ import com.sdds.uikit.overlays.OverlayPosition * @property hasClose отображается ли кнопка закрытия * @property hasAnimation включает/выключает анимацию */ +@Parcelize +@StoryUiState data class NotificationUiState( override val variant: String = "", override val appearance: String = "", @@ -22,7 +27,7 @@ data class NotificationUiState( val focusable: Boolean = false, val hasClose: Boolean = true, val hasAnimation: Boolean = true, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentFactory.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentFactory.kt index a20ca761d3..a164692647 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.notificationcontent +package com.sdds.uikit.fixtures.stories.notificationcontent import android.content.Context import android.widget.LinearLayout import androidx.annotation.StyleRes -import com.sdds.testing.vs.button.ButtonUiState -import com.sdds.testing.vs.button.buttonGroup -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.NotificationContent +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.buttonGroup +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [NotificationContent] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt new file mode 100644 index 0000000000..f3ac45f65e --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.notificationcontent + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.NotificationContent +import com.sdds.uikit.fixtures.stories.NotificationContentUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.NotificationContentUiStateTransformer + +/** + * История компонента NotificationContent для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации NotificationContent. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.NotificationContent + */ +@Story +object NotificationContentStory : ViewBaseStory( + ComponentKey.NotificationContent, + NotificationContentUiState(), + NotificationContentUiStatePropertiesProducer, + NotificationContentUiStateTransformer, +) { + override fun getComponent(context: Context): NotificationContent { + return notificationContent(context) + } + + override fun onComponentUpdate(component: NotificationContent, state: NotificationContentUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentUiState.kt similarity index 83% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentUiState.kt index ce6f6bc572..737abc1b6a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/notificationcontent/NotificationContentUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.notificationcontent +package com.sdds.uikit.fixtures.stories.notificationcontent import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -12,6 +13,7 @@ import kotlinx.parcelize.Parcelize * @property hasActions наличие кнопок */ @Parcelize +@StoryUiState data class NotificationContentUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayFactory.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayFactory.kt index 56f3446912..7eeebef078 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayFactory.kt @@ -1,15 +1,15 @@ -package com.sdds.testing.vs.overlay +package com.sdds.uikit.fixtures.stories.overlay import android.content.Context import android.view.Gravity import android.view.ViewGroup import android.widget.FrameLayout import androidx.core.view.isVisible -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.button.iconButton -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.OverlayView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.button.iconButton +import com.sdds.uikit.fixtures.styleWrapper /** * Создает компонент [OverlayView] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayStory.kt new file mode 100644 index 0000000000..d760f94b02 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayStory.kt @@ -0,0 +1,45 @@ +package com.sdds.uikit.fixtures.stories.overlay + +import android.content.Context +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.OverlayView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.OverlayUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.OverlayUiStateTransformer + +/** + * История компонента Overlay для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Overlay. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Overlay + */ +@Story +object OverlayStory : ViewBaseStory( + ComponentKey.Overlay, + OverlayUiState(), + OverlayUiStatePropertiesProducer, + OverlayUiStateTransformer, +) { + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.MATCH_PARENT, + ) + } + + override fun getComponent(context: Context): View { + return overlayWithTrigger(context) + } + + override fun onComponentUpdate(component: View, state: OverlayUiState) { + component.findViewById(R.id.overlay)?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayUiState.kt similarity index 59% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayUiState.kt index 5ac4713461..d38d1a0a33 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/overlay/OverlayUiState.kt @@ -1,15 +1,20 @@ -package com.sdds.testing.vs.overlay +package com.sdds.uikit.fixtures.stories.overlay -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * Состояние компонент Overlay * @property variant вариация */ +@Parcelize +@StoryUiState data class OverlayUiState( override val variant: String = "", override val appearance: String = "", -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsFactory.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsFactory.kt index f52578fba6..6a7cbf1cc5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsFactory.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs.paginationdots +package com.sdds.uikit.fixtures.stories.paginationdots import android.content.Context import android.view.Gravity @@ -7,11 +7,11 @@ import android.view.ViewGroup import android.view.ViewGroup.MarginLayoutParams import androidx.core.view.setPadding import androidx.core.view.updatePadding -import com.sdds.testing.R -import com.sdds.testing.vs.button.iconButton -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.LinearLayout import com.sdds.uikit.PaginationDots +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.button.iconButton +import com.sdds.uikit.fixtures.styleWrapper /** * Создает компонент [PaginationDots] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt new file mode 100644 index 0000000000..de41b73467 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsStory.kt @@ -0,0 +1,46 @@ +package com.sdds.uikit.fixtures.stories.paginationdots + +import android.content.Context +import android.view.View +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.PaginationDots +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.PaginationDotsUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.PaginationDotsUiStateTransformer + +/** + * История компонента PaginationDots для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации PaginationDots. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.PaginationDots + */ +@Story +object PaginationDotsStory : ViewBaseStory( + ComponentKey.PaginationDots, + PaginationDotsUiState(), + PaginationDotsUiStatePropertiesProducer, + PaginationDotsUiStateTransformer, +) { + private var currentState = PaginationDotsUiState() + + override fun getComponent(context: Context): View { + return paginationDotsWithControls(context, state = currentState) + } + + override fun shouldRecreateComponentOnStateUpdate(state: PaginationDotsUiState): Boolean { + if (currentState.step != state.step) { + currentState = state + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + override fun onComponentUpdate(component: View, state: PaginationDotsUiState) { + component.findViewById(R.id.pagination_dots)?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsUiState.kt similarity index 74% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsUiState.kt index ff86ed19c4..57d99a9643 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/paginationdots/PaginationDotsUiState.kt @@ -1,6 +1,9 @@ -package com.sdds.testing.vs.paginationdots +package com.sdds.uikit.fixtures.stories.paginationdots -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * Состояние компонент PaginationDots @@ -10,13 +13,15 @@ import com.sdds.testing.vs.UiState * @property visibleItemCount кол-во видимых индикаторов * @property step шаг изменения индекса */ +@Parcelize +@StoryUiState data class PaginationDotsUiState( override val variant: String = "", override val appearance: String = "", val itemCount: Int = 20, val visibleItemCount: Int = 9, val step: Int = 1, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverFactory.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverFactory.kt index 08ba8778b8..ec80111984 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverFactory.kt @@ -1,18 +1,18 @@ @file:Suppress("MatchingDeclarationName") -package com.sdds.testing.vs.popover +package com.sdds.uikit.fixtures.stories.popover import android.content.Context import android.view.View import android.view.ViewGroup.MarginLayoutParams import android.widget.LinearLayout import androidx.core.view.setPadding -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Popover import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.styleWrapper /** * [Popover] со своим тригером [View] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverStory.kt new file mode 100644 index 0000000000..de3451480e --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverStory.kt @@ -0,0 +1,71 @@ +package com.sdds.uikit.fixtures.stories.popover + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Popover +import com.sdds.uikit.fixtures.stories.PopoverUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.PopoverUiStateTransformer + +/** + * История компонента Popover для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Popover. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Popover + */ +@Story +object PopoverStory : ViewBaseStory( + ComponentKey.Popover, + PopoverUiState(), + PopoverUiStatePropertiesProducer, + PopoverUiStateTransformer, +) { + private var currentTriggerGravity: Int = Gravity.CENTER + private var popover: Popover? = null + private var popoverState: PopoverUiState = PopoverUiState() + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + gravity = currentTriggerGravity + } + } + + override fun getComponent(context: Context): View { + return popoverWithTrigger(context) + .also { popover = it.popover } + .also { popoverTrigger -> + popoverTrigger.trigger.setOnClickListener { + popoverTrigger.popover.showWithState(it, popoverState) + } + }.trigger + } + + override fun onComponentUpdate(component: View, state: PopoverUiState) { + popoverState = state + updatePopover(component) + } + + override fun shouldRecreateComponentOnStateUpdate(state: PopoverUiState): Boolean { + val newGravity = state.triggerAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + private fun updatePopover(trigger: View?) = popover?.run { + trigger ?: return@run + if (isShowing) { + dismiss() + showWithState(trigger, popoverState) + } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverUiState.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverUiState.kt index 25c2c476e2..114521b0ed 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/popover/PopoverUiState.kt @@ -1,9 +1,10 @@ -package com.sdds.testing.vs.popover +package com.sdds.uikit.fixtures.stories.popover import android.os.Parcelable import android.view.Gravity -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Popover +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -19,6 +20,7 @@ import kotlinx.parcelize.Parcelize * @author Малышев Александр on 19.05.2025 */ @Parcelize +@StoryUiState data class PopoverUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressBarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressBarStory.kt new file mode 100644 index 0000000000..fa3dcca79d --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressBarStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.progress + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.CircularProgressBar +import com.sdds.uikit.fixtures.stories.CircularProgressUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.CircularProgressUiStateTransformer + +/** + * История компонента CircularProgressBar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации CircularProgressBar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.CircularProgressBar + */ +@Story +object CircularProgressBarStory : ViewBaseStory( + ComponentKey.CircularProgressBar, + CircularProgressUiState(), + CircularProgressUiStatePropertiesProducer, + CircularProgressUiStateTransformer, +) { + override fun getComponent(context: Context): CircularProgressBar { + return circularProgressBar(context) + } + + override fun onComponentUpdate(component: CircularProgressBar, state: CircularProgressUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressUiState.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressUiState.kt index 08072ee349..e548c17d9a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/CircularProgressUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.progress +package com.sdds.uikit.fixtures.stories.progress import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -12,6 +13,7 @@ import kotlinx.parcelize.Parcelize * @property trackEnabled включает/выключает отображение фоновой линии прогресса */ @Parcelize +@StoryUiState data class CircularProgressUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressBarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressBarStory.kt new file mode 100644 index 0000000000..cf7f29f714 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressBarStory.kt @@ -0,0 +1,43 @@ +package com.sdds.uikit.fixtures.stories.progress + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ProgressBar +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.ProgressUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ProgressUiStateTransformer + +/** + * История компонента ProgressBar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации ProgressBar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.ProgressBar + */ +@Story +object ProgressBarStory : ViewBaseStory( + ComponentKey.ProgressBar, + ProgressUiState(), + ProgressUiStatePropertiesProducer, + ProgressUiStateTransformer, +) { + override fun getComponent(context: Context): ProgressBar { + return progressBar(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 216.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun onComponentUpdate(component: ProgressBar, state: ProgressUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressFactory.kt index 2ea76c6803..27783f5dca 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.progress +package com.sdds.uikit.fixtures.stories.progress import android.content.Context import android.view.ViewGroup.LayoutParams import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.CircularProgressBar import com.sdds.uikit.ProgressBar +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [ProgressBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressUiState.kt similarity index 83% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressUiState.kt index 3f7f305cfb..db8cad3d9a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/progress/ProgressUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.progress +package com.sdds.uikit.fixtures.stories.progress import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -11,6 +12,7 @@ import kotlinx.parcelize.Parcelize * @property animateProgress включает анимацию изменения прогресса */ @Parcelize +@StoryUiState data class ProgressUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxFactory.kt index de899cfee6..2d6228c834 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxFactory.kt @@ -1,12 +1,12 @@ -package com.sdds.testing.vs.radiobox +package com.sdds.uikit.fixtures.stories.radiobox import android.content.Context import android.view.ViewGroup import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.RadioBox import com.sdds.uikit.RadioBoxGroup +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [RadioBox] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxGroupStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxGroupStory.kt new file mode 100644 index 0000000000..01cf9b333a --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxGroupStory.kt @@ -0,0 +1,43 @@ +package com.sdds.uikit.fixtures.stories.radiobox + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.RadioBoxGroup +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.RadioBoxUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.RadioBoxUiStateTransformer + +/** + * История компонента RadioBoxGroup для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации RadioBoxGroup. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.RadioBoxGroup + */ +@Story +object RadioBoxGroupStory : ViewBaseStory( + ComponentKey.RadioBoxGroup, + RadioBoxUiState(), + RadioBoxUiStatePropertiesProducer, + RadioBoxUiStateTransformer, +) { + override fun getComponent(context: Context): RadioBoxGroup { + return radioBoxGroup(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 160.dp + height = FrameLayout.LayoutParams.WRAP_CONTENT + } + } + + override fun onComponentUpdate(component: RadioBoxGroup, state: RadioBoxUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxStory.kt new file mode 100644 index 0000000000..870ccdc3e0 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.radiobox + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.RadioBox +import com.sdds.uikit.fixtures.stories.RadioBoxUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.RadioBoxUiStateTransformer + +/** + * История компонента RadioBox для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации RadioBox. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.RadioBox + */ +@Story +object RadioBoxStory : ViewBaseStory( + ComponentKey.RadioBox, + RadioBoxUiState(), + RadioBoxUiStatePropertiesProducer, + RadioBoxUiStateTransformer, +) { + override fun getComponent(context: Context): RadioBox { + return radioBox(context) + } + + override fun onComponentUpdate(component: RadioBox, state: RadioBoxUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxUiState.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxUiState.kt index c6c64e9425..47e1cec82b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/radiobox/RadioBoxUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.radiobox +package com.sdds.uikit.fixtures.stories.radiobox import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -13,6 +14,7 @@ import kotlinx.parcelize.Parcelize * @property enabled включен ли RadioBox */ @Parcelize +@StoryUiState data class RadioBoxUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarFactory.kt index 2457949d4e..d0f2c8f199 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarFactory.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs.scrollbar +package com.sdds.uikit.fixtures.stories.scrollbar import android.content.Context import android.view.Gravity @@ -10,11 +10,11 @@ import androidx.annotation.StyleRes import androidx.core.view.setPadding import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.sdds.testing.R -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.ScrollBar import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [ScrollBar] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt new file mode 100644 index 0000000000..89b6c0e361 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarStory.kt @@ -0,0 +1,64 @@ +package com.sdds.uikit.fixtures.stories.scrollbar + +import android.content.Context +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.ScrollBarUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ScrollBarUiStateTransformer + +/** + * История компонента ScrollBar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации ScrollBar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.ScrollBar + */ +@Story +object ScrollBarStory : ViewBaseStory( + ComponentKey.ScrollBar, + ScrollBarUiState(), + ScrollBarUiStatePropertiesProducer, + ScrollBarUiStateTransformer, +) { + + private var scrollOrientation: ScrollOrientation = ScrollOrientation.HORIZONTAL + private var scrollBarState: ScrollBarUiState = ScrollBarUiState() + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return when (scrollOrientation) { + ScrollOrientation.HORIZONTAL -> FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT, + ) + ScrollOrientation.VERTICAL -> FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.MATCH_PARENT, + ) + } + } + + override fun shouldRecreateComponentOnStateUpdate(state: ScrollBarUiState): Boolean { + val newOrientation = state.orientation + if (newOrientation != scrollOrientation) { + scrollOrientation = newOrientation + scrollBarState = scrollBarState.copy(orientation = newOrientation) + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + override fun getComponent(context: Context): View { + return scrollBar(context, state = scrollBarState) + } + + override fun onComponentUpdate(component: View, state: ScrollBarUiState) { + scrollBarState = state + component.findViewById(R.id.scroll_container)?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarUiState.kt similarity index 89% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarUiState.kt index 1388f68d4d..95ef4eda37 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/scrollbar/ScrollBarUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.scrollbar +package com.sdds.uikit.fixtures.stories.scrollbar import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -14,6 +15,7 @@ import kotlinx.parcelize.Parcelize * @property autoHideScrollBar скрывать ScrollBar при бездействии */ @Parcelize +@StoryUiState data class ScrollBarUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentFactory.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentFactory.kt index 1305c933fc..f8fdadd9de 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentFactory.kt @@ -1,13 +1,13 @@ -package com.sdds.testing.vs.segement +package com.sdds.uikit.fixtures.stories.segment import android.content.Context import android.view.ViewGroup.LayoutParams import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Button import com.sdds.uikit.Segment import com.sdds.uikit.SegmentItem +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [SegmentItem] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentItemStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentItemStory.kt new file mode 100644 index 0000000000..41bba910a0 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentItemStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.segment + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.SegmentItem +import com.sdds.uikit.fixtures.stories.SegmentUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SegmentUiStateTransformer + +/** + * История компонента SegmentItem для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации SegmentItem. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.SegmentItem + */ +@Story +object SegmentItemStory : ViewBaseStory( + ComponentKey.SegmentItem, + SegmentUiState(), + SegmentUiStatePropertiesProducer, + SegmentUiStateTransformer, +) { + override fun getComponent(context: Context): SegmentItem { + return segmentItem(context) + } + + override fun onComponentUpdate(component: SegmentItem, state: SegmentUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentStory.kt new file mode 100644 index 0000000000..59748813ec --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentStory.kt @@ -0,0 +1,67 @@ +package com.sdds.uikit.fixtures.stories.segment + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Segment +import com.sdds.uikit.fixtures.stories.SegmentUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SegmentUiStateTransformer + +/** + * История компонента Segment для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Segment. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Segment + */ +@Story +object SegmentStory : ViewBaseStory( + ComponentKey.Segment, + SegmentUiState(), + SegmentUiStatePropertiesProducer, + SegmentUiStateTransformer, +) { + + private var _currentOrientation: SegmentOrientation = SegmentOrientation.HORIZONTAL + private var _currentStretch: Boolean = false + + override val scrollMode: ScrollMode + get() = when { + _currentStretch && _currentOrientation == SegmentOrientation.HORIZONTAL -> ScrollMode.NONE + _currentOrientation == SegmentOrientation.HORIZONTAL -> ScrollMode.HORIZONTAL + else -> ScrollMode.VERTICAL + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + if (_currentStretch) { + width = FrameLayout.LayoutParams.MATCH_PARENT + } + } + } + + override fun shouldRecreateComponentOnStateUpdate(state: SegmentUiState): Boolean { + var isChanged = false + if (_currentStretch != state.stretch) { + _currentStretch = state.stretch + isChanged = true + } + if (_currentOrientation != state.orientation) { + _currentOrientation = state.orientation + isChanged = true + } + return isChanged + } + + override fun getComponent(context: Context): Segment { + return segment(context) + } + + override fun onComponentUpdate(component: Segment, state: SegmentUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentUiState.kt similarity index 87% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentUiState.kt index e92be25af9..6e07a4691d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/segment/SegmentUiState.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.segement +package com.sdds.uikit.fixtures.stories.segment import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.icons.R +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Segment +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -20,6 +22,7 @@ import kotlinx.parcelize.Parcelize * @property count текст счетчика */ @Parcelize +@StoryUiState data class SegmentUiState( override val variant: String = "", override val appearance: String = "", @@ -44,23 +47,22 @@ data class SegmentUiState( * @property iconId идентификатор ресурса кнопки */ @Parcelize -sealed class SegmentItemIcon(val iconId: Int = com.sdds.icons.R.drawable.ic_plasma_24) : - Parcelable { +enum class SegmentItemIcon(val iconId: Int = R.drawable.ic_plasma_24) : Parcelable { /** * Иконка вначале */ - object Start : SegmentItemIcon() + Start, /** * Иконка вконце */ - object End : SegmentItemIcon() + End, /** * Отсутствие иконки */ - object No : SegmentItemIcon(0) + No(0), } /** diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectFactory.kt new file mode 100644 index 0000000000..f6a5efccdd --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectFactory.kt @@ -0,0 +1,158 @@ +package com.sdds.uikit.fixtures.stories.select + +import android.content.Context +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.annotation.StyleRes +import androidx.core.view.isVisible +import com.sdds.icons.R +import com.sdds.uikit.Button +import com.sdds.uikit.Chip +import com.sdds.uikit.ChipGroup +import com.sdds.uikit.ListItem +import com.sdds.uikit.Select +import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.databinding.LayoutComponentSelectBinding +import com.sdds.uikit.fixtures.stories.popover.toPlacementMode +import com.sdds.uikit.fixtures.styleWrapper + +private val SelectSuggestions = listOf( + ListItem.simpleItem(0, "Иван Иванов", hasDisclosure = false), + ListItem.simpleItem(1, "Пётр Петров", hasDisclosure = false), + ListItem.simpleItem(2, "Сергей Сергеев", hasDisclosure = false), + ListItem.simpleItem(3, "Алексей Алексеев", hasDisclosure = false), + ListItem.simpleItem(4, "Анна Смирнова", hasDisclosure = false), + ListItem.simpleItem(5, "Мария Кузнецова", hasDisclosure = false), + ListItem.simpleItem(6, "Дмитрий Попов", hasDisclosure = false), + ListItem.simpleItem(7, "Елена Соколова", hasDisclosure = false), + ListItem.simpleItem(8, "Ольга Морозова", hasDisclosure = false), + ListItem.simpleItem(9, "Николай Волков", hasDisclosure = false), +) + +/** + * Создает [Select] + */ +fun select( + context: Context, + @StyleRes style: Int? = null, + state: SelectUiState = SelectUiState(), +): Select { + return LayoutComponentSelectBinding.inflate(LayoutInflater.from(context.styleWrapper(style))) + .root + .apply { + setTriggerOpenStateIcon(R.drawable.ic_chevron_up_24) + setTriggerClosedStateIcon(R.drawable.ic_chevron_down_24) + } + .applyState(state) +} + +/** + * Применяет [SelectUiState] к [Select] + */ +fun Select.applyState(state: SelectUiState): Select = apply { + emptyStateEnabled = state.withEmptyState + if (!state.showLoading && !state.withEmptyState) { + setItems(SelectSuggestions) + } else { + clearItems() + } + adapter?.selectionMode = state.selectionMode + checkAndConfigureTriggerIfNeed(state) + dropdownPlacementMode = state.dropdownPlacementMode.toPlacementMode() + isReadOnly = state.readOnly + isEnabled = state.enabled + getFooterView()?.isVisible = state.showLoading +} + +private fun Select.checkAndConfigureTriggerIfNeed(state: SelectUiState) { + val existingTrigger = when (getTrigger()) { + is TextField -> TriggerType.TextField + is Button -> TriggerType.Button + else -> null + } + if (existingTrigger != state.triggerType) { + val trigger = when (state.triggerType) { + TriggerType.TextField -> getTextFieldTrigger(this.context) + else -> { + getButtonTrigger(this.context) + } + } + setTrigger(trigger) + setOnItemSelectedListener { item -> + val selected = getSelectedItems() + val list = selected?.toStringList() + when (trigger) { + is Button -> { + if (adapter?.selectionMode == Select.SelectionMode.SINGLE) { + trigger.text = selected?.firstOrNull()?.title ?: "Сотрудник" + } else { + trigger.text = list?.joinToString(",")?.ifEmpty { "Сотрудник" } + } + } + is TextField -> { + if (adapter?.selectionMode == Select.SelectionMode.SINGLE) { + trigger.value = selected?.firstOrNull()?.title + } else { + trigger.placeholder = if (list.isNullOrEmpty()) "Сотрудник" else null + (trigger.chipAdapter as? ChipAdapter)?.updateState(list) + } + } + } + } + } +} + +private fun List.toStringList(): List { + return map { it.title } +} + +private fun getTextFieldTrigger(context: Context) = + TextField(context).apply { + val lp = getLayoutParamsForTrigger(context) + placeholder = "Сотрудник" + caption = "Выберете имя" + setIcon(R.drawable.ic_search_24) + layoutParams = lp + chipAdapter = ChipAdapter() + } + +private fun getButtonTrigger(context: Context) = + Button(context).apply { + val lp = getLayoutParamsForTrigger(context) + iconPosition = Button.IconPosition.TextEnd + spacing = Button.Spacing.SpaceBetween + text = "Сотрудник" + layoutParams = lp + } + +private fun getLayoutParamsForTrigger(context: Context) = ViewGroup.LayoutParams( + context.resources.getDimensionPixelSize(com.sdds.uikit.R.dimen.sdds_spacer_130x), + ViewGroup.LayoutParams.WRAP_CONTENT, +) + +/** + * Пример адаптера для чипов в TextField + */ +private class ChipAdapter : ChipGroup.Adapter() { + + private val chips: MutableList = mutableListOf() + + fun updateState(newChips: List?) { + chips.clear() + if (newChips != null) chips.addAll(newChips) + notifyChipGroupChanged() + } + + override fun getCount(): Int = chips.size + + override fun onBindChip(chipView: Chip, position: Int) { + chipView.apply { + text = chips[position] + } + } + + override fun onUnbindChip(chipView: Chip) { + super.onUnbindChip(chipView) + chipView.setOnClickListener(null) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectStory.kt new file mode 100644 index 0000000000..a9bebe572d --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectStory.kt @@ -0,0 +1,54 @@ +package com.sdds.uikit.fixtures.stories.select + +import android.content.Context +import android.view.Gravity +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Select +import com.sdds.uikit.fixtures.stories.SelectUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SelectUiStateTransformer +import com.sdds.uikit.fixtures.stories.popover.toGravity + +/** + * История компонента Select для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Select. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Select + */ +@Story +object SelectStory : ViewBaseStory( + ComponentKey.Select, + SelectUiState(), + SelectUiStatePropertiesProducer, + SelectUiStateTransformer, +) { + private var currentTriggerGravity: Int = Gravity.CENTER + + override fun getComponent(context: Context): Select { + return select(context) + } + + override fun onComponentUpdate(component: Select, state: SelectUiState) { + component.applyState(state) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + gravity = currentTriggerGravity + } + } + + override fun shouldRecreateComponentOnStateUpdate(state: SelectUiState): Boolean { + val newGravity = state.triggerAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectUiState.kt new file mode 100644 index 0000000000..9a32413415 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/select/SelectUiState.kt @@ -0,0 +1,53 @@ +package com.sdds.uikit.fixtures.stories.select + +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.Select +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import kotlinx.parcelize.Parcelize + +/** + * UI-состояние компонента Select для тестовых стендов. + * + * Описывает внешний вид, выравнивание и дополнительные опции отображения, + * такие как индикатор загрузки и экран пустого состояния. + * @property variant Название варианта компонента, влияющее на стилизацию. + * @property appearance Внешний вид компонента. + * @property showLoading Показывать ли индикатор загрузки. + * @property withEmptyState Отображать ли секцию пустого состояния при отсутствии списка + * @property triggerType Тип триггера Button или TextField + * @property triggerAlignment Выравнивание поля Select относительно экрана. + * @property dropdownPlacementMode Режим расположения Dropdown. + * @property selectionMode Режим выбора элеиента в выпадающем меню. + * @property readOnly Режим только для чтения. + * @property enabled Разарешает / запрещает взаимодействие с комопнентом. + */ +@Parcelize +@StoryUiState +data class SelectUiState( + override val variant: String = "", + override val appearance: String = "", + val showLoading: Boolean = false, + val withEmptyState: Boolean = false, + val triggerType: TriggerType = TriggerType.TextField, + val triggerAlignment: PopoverTriggerAlignment = PopoverTriggerAlignment.CENTER, + val dropdownPlacementMode: PopoverPlacementMode = PopoverPlacementMode.LOOSE, + val selectionMode: Select.SelectionMode = Select.SelectionMode.SINGLE, + val readOnly: Boolean = false, + val enabled: Boolean = true, +) : Parcelable, UiState { + + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +/** + * Тип триггера в [Select] + */ +@Parcelize +enum class TriggerType : Parcelable { + TextField, Button +} diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonStory.kt new file mode 100644 index 0000000000..5e13c7bc6d --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonStory.kt @@ -0,0 +1,41 @@ +package com.sdds.uikit.fixtures.stories.skeleton + +import android.content.Context +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.RectSkeleton +import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.stories.RectSkeletonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.RectSkeletonUiStateTransformer + +/** + * История компонента RectSkeleton для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации RectSkeleton. + * + * @see Story + * @see com.sdds.sandbox.ViewBaseStory + * @see com.sdds.sandbox.ComponentKey.Companion.RectSkeleton + */ +@Story +object RectSkeletonStory : ViewBaseStory( + ComponentKey.Companion.RectSkeleton, + RectSkeletonUiState(), + RectSkeletonUiStatePropertiesProducer, + RectSkeletonUiStateTransformer, +) { + override fun getComponent(context: Context): RectSkeleton { + return rectSkeleton(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + width = 216.dp + height = 100.dp + } + } + + override fun onComponentUpdate(component: RectSkeleton, state: RectSkeletonUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonUiState.kt similarity index 77% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonUiState.kt index 6207eb21fb..674d83e23b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/RectSkeletonUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.skeleton +package com.sdds.uikit.fixtures.stories.skeleton import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -9,6 +10,7 @@ import kotlinx.parcelize.Parcelize * @property variant вариация */ @Parcelize +@StoryUiState data class RectSkeletonUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/SkeletonFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/SkeletonFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/SkeletonFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/SkeletonFactory.kt index b65eb288fc..c096493abe 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/SkeletonFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/SkeletonFactory.kt @@ -1,4 +1,4 @@ -package com.sdds.testing.vs.skeleton +package com.sdds.uikit.fixtures.stories.skeleton import android.content.Context import android.util.TypedValue @@ -6,13 +6,13 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.annotation.StyleRes import androidx.core.content.withStyledAttributes -import com.sdds.testing.R -import com.sdds.testing.vs.getTextColorPrimary -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.RectSkeleton import com.sdds.uikit.SkeletonLineWidthProvider import com.sdds.uikit.TextSkeleton import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.getTextColorPrimary +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [RectSkeleton] @@ -48,7 +48,6 @@ fun textSkeleton( val contextWithAppearance = context.styleWrapper(appearanceOverlay) val contextWithSkeleton = contextWithAppearance.styleWrapper(style) val appearanceRes = resolveTextAppearance(contextWithSkeleton) - val skeletonView = skeletonShimmer(contextWithSkeleton, state, appearanceRes) val textView = text(contextWithSkeleton, state, appearanceRes) return FrameLayout(context).apply { diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonStory.kt new file mode 100644 index 0000000000..675b6d8f12 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonStory.kt @@ -0,0 +1,49 @@ +package com.sdds.uikit.fixtures.stories.skeleton + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.TextSkeleton +import com.sdds.uikit.TextView +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.TextSkeletonUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.TextSkeletonUiStateTransformer + +/** + * История компонента TextSkeleton для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации TextSkeleton. + * + * @see Story + * @see com.sdds.sandbox.ViewBaseStory + * @see com.sdds.sandbox.ComponentKey.Companion.TextSkeleton + */ +@Story +object TextSkeletonStory : ViewBaseStory( + ComponentKey.Companion.TextSkeleton, + TextSkeletonUiState(), + TextSkeletonUiStatePropertiesProducer, + TextSkeletonUiStateTransformer, +) { + override fun getComponent(context: Context): View { + return textSkeleton(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT, + ).apply { + gravity = Gravity.CENTER + } + } + + override fun onComponentUpdate(component: View, state: TextSkeletonUiState) { + component.findViewById(R.id.text_skeleton)?.applyState(state) + component.findViewById(R.id.text_over_skeleton)?.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonUiState.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonUiState.kt index 1475624eec..3a933418ec 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/skeleton/TextSkeletonUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.skeleton +package com.sdds.uikit.fixtures.stories.skeleton import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -13,6 +14,7 @@ import kotlinx.parcelize.Parcelize * @see TextSkeletonWidth */ @Parcelize +@StoryUiState data class TextSkeletonUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderFactory.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderFactory.kt index 11431f8f7e..2e490a92f5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.slider +package com.sdds.uikit.fixtures.stories.slider import android.content.Context import com.sdds.icons.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Slider +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Slider] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderStory.kt new file mode 100644 index 0000000000..bcb6da5824 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderStory.kt @@ -0,0 +1,42 @@ +package com.sdds.uikit.fixtures.stories.slider + +import android.content.Context +import android.widget.FrameLayout +import androidx.core.view.setMargins +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Slider +import com.sdds.uikit.fixtures.stories.SliderUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SliderUiStateTransformer + +/** + * История компонента Slider для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Slider. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Slider + */ +@Story +object SliderStory : ViewBaseStory( + ComponentKey.Slider, + SliderUiState(), + SliderUiStatePropertiesProducer, + SliderUiStateTransformer, +) { + override fun getComponent(context: Context): Slider { + return slider(context) + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + setMargins(50) + } + } + + override fun onComponentUpdate(component: Slider, state: SliderUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderUiState.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderUiState.kt index 00b44251df..f08db34d85 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/slider/SliderUiState.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.slider +package com.sdds.uikit.fixtures.stories.slider import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Slider +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -19,6 +20,7 @@ import kotlinx.parcelize.Parcelize * @property alignment выравнивание контента внутри компонента */ @Parcelize +@StoryUiState data class SliderUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerFactory.kt similarity index 69% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerFactory.kt index 67eeda399f..5acb45ab46 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.spinner +package com.sdds.uikit.fixtures.stories.spinner import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Spinner +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Spinner] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerStory.kt new file mode 100644 index 0000000000..251b1e5501 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerStory.kt @@ -0,0 +1,32 @@ +package com.sdds.uikit.fixtures.stories.spinner + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Spinner +import com.sdds.uikit.fixtures.stories.SpinnerUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SpinnerUiStateTransformer + +/** + * История компонента Spinner для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Spinner. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Spinner + */ +@Story +object SpinnerStory : ViewBaseStory( + ComponentKey.Spinner, + SpinnerUiState(), + SpinnerUiStatePropertiesProducer, + SpinnerUiStateTransformer, +) { + override fun getComponent(context: Context): Spinner { + return spinner(context) + } + + override fun onComponentUpdate(component: Spinner, state: SpinnerUiState) = Unit +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerUiState.kt similarity index 77% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerUiState.kt index f586549041..985cf45ce9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/spinner/SpinnerUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.spinner +package com.sdds.uikit.fixtures.stories.spinner import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -9,6 +10,7 @@ import kotlinx.parcelize.Parcelize * @property variant вариация компонента */ @Parcelize +@StoryUiState data class SpinnerUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchFactory.kt similarity index 88% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchFactory.kt index ee266e8258..b98d93023a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchFactory.kt @@ -1,11 +1,11 @@ -package com.sdds.testing.vs.switcher +package com.sdds.uikit.fixtures.stories.switcher import android.content.Context import android.view.ViewGroup import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Switch +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Switch] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchStory.kt new file mode 100644 index 0000000000..450a314a4b --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchStory.kt @@ -0,0 +1,46 @@ +package com.sdds.uikit.fixtures.stories.switcher + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Switch +import com.sdds.uikit.fixtures.stories.SwitchUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.SwitchUiStateTransformer + +/** + * История компонента Switch для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Switch. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Switch + */ +@Story +object SwitchStory : ViewBaseStory( + ComponentKey.Switch, + SwitchUiState(), + SwitchUiStatePropertiesProducer, + SwitchUiStateTransformer, +) { + override fun getComponent(context: Context): Switch { + return switch(context).apply { + resetMinimumWidth(true) + } + } + + override fun onComponentUpdate(component: Switch, state: SwitchUiState) { + val isTextEmpty = state.label.isNullOrBlank() && state.description.isNullOrBlank() + component.resetMinimumWidth(!isTextEmpty) + component.applyState(state) + } + + private fun Switch.resetMinimumWidth(enabled: Boolean) { + minimumWidth = if (enabled) { + resources.getDimensionPixelSize(com.sdds.uikit.R.dimen.sdds_spacer_90x) + } else { + 0 + } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchUiState.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchUiState.kt index c4778c5266..7a6b019d19 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/switcher/SwitchUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.switcher +package com.sdds.uikit.fixtures.stories.switcher import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -15,6 +16,7 @@ import kotlinx.parcelize.Parcelize * @property enabled включен ли switch */ @Parcelize +@StoryUiState data class SwitchUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/IconTabsStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/IconTabsStory.kt new file mode 100644 index 0000000000..a290303632 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/IconTabsStory.kt @@ -0,0 +1,71 @@ +package com.sdds.uikit.fixtures.stories.tabs + +import android.content.Context +import android.os.Parcelable +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.StoryUiState +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.IconTabsUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.IconTabsUiStateTransformer +import kotlinx.parcelize.Parcelize + +/** + * Состояние IconTabs + * @property variant вариация компонента + * @property amount количество вкладок + * @property enabled включен ли компонент + * @property displayMode режим отображения вкладок + * @property counter включена ли счетчик + * @property count текст счетчика + * @property actionEnabled включена ли иконка действия + * @property dividerEnabled включен ли разделитель + * @property indicatorEnabled включен ли индикатор + * @property disclosureText текст элементов в Dropdown + */ +@Parcelize +@StoryUiState +data class IconTabsUiState( + override val variant: String = "", + override val appearance: String = "", + val amount: Int = 5, + val enabled: Boolean = true, + val displayMode: DisplayMode = DisplayMode.SCROLL, + val counter: Boolean = false, + val count: String = "1", + val actionEnabled: Boolean = false, + val dividerEnabled: Boolean = true, + val indicatorEnabled: Boolean = true, + val disclosureText: String = "Item", +) : Parcelable, UiState { + override fun updateVariant(appearance: String, variant: String): UiState { + return copy(appearance = appearance, variant = variant) + } +} + +/** + * История компонента IconTabs для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации IconTabs. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.IconTabs + */ +@Story +object IconTabsStory : ViewBaseStory( + ComponentKey.IconTabs, + IconTabsUiState(), + IconTabsUiStatePropertiesProducer, + IconTabsUiStateTransformer, +) { + override fun getComponent(context: Context): Tabs { + return iconTabs(context) + } + + override fun onComponentUpdate(component: Tabs, state: IconTabsUiState) { + component.applyIconsState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsFactory.kt similarity index 69% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsFactory.kt index 8ff6a78172..8220bf9f77 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsFactory.kt @@ -1,10 +1,10 @@ -package com.sdds.testing.vs.tabs +package com.sdds.uikit.fixtures.stories.tabs import android.content.Context -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Button import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [Tabs] @@ -43,7 +43,30 @@ fun Tabs.applyIconsState(state: TabsUiState): Tabs = apply { displayMode = state.displayMode.mode dividerEnabled = state.dividerEnabled indicatorEnabled = state.indicatorEnabled - addIconTabsWith(state) + addIconTabsWith( + state.amount, + state.count, + state.tabItemLabel, + state.counter, + state.actionEnabled, + ) + isEnabled = state.enabled +} + +/** + * Применяет [TabsUiState] к [Tabs] + */ +fun Tabs.applyIconsState(state: IconTabsUiState): Tabs = apply { + displayMode = state.displayMode.mode + dividerEnabled = state.dividerEnabled + indicatorEnabled = state.indicatorEnabled + addIconTabsWith( + state.amount, + state.count, + state.disclosureText, + state.counter, + state.actionEnabled, + ) isEnabled = state.enabled } @@ -87,17 +110,23 @@ private fun Tabs.addTabsWith(state: TabsUiState) = apply { } } -private fun Tabs.addIconTabsWith(state: TabsUiState) = apply { +private fun Tabs.addIconTabsWith( + amount: Int, + count: String, + disclosureText: String, + counterEnabled: Boolean, + actionEnabled: Boolean, +) = apply { clearTabs() - repeat(state.amount) { + repeat(amount) { addTab( Tabs.IconTab.builder(context) .setId(it) .setIcon(TabItemIcon.Start.iconId) - .setCounterText(state.count) - .setDisclosureText(state.tabItemLabel) - .setCounterEnabled(state.counter) - .setActionEnabled(state.actionEnabled) + .setCounterText(count) + .setDisclosureText(disclosureText) + .setCounterEnabled(counterEnabled) + .setActionEnabled(actionEnabled) .build(), ) } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsStory.kt new file mode 100644 index 0000000000..d185f2bca0 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.tabs + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.stories.TabsUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.TabsUiStateTransformer + +/** + * История компонента Tabs для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Tabs. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Tabs + */ +@Story +object TabsStory : ViewBaseStory( + ComponentKey.Tabs, + TabsUiState(), + TabsUiStatePropertiesProducer, + TabsUiStateTransformer, +) { + override fun getComponent(context: Context): Tabs { + return tabs(context) + } + + override fun onComponentUpdate(component: Tabs, state: TabsUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsUiState.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsUiState.kt index 2d39f78363..1031c2405e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tabs/TabsUiState.kt @@ -1,9 +1,11 @@ -package com.sdds.testing.vs.tabs +package com.sdds.uikit.fixtures.stories.tabs import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize +import com.sdds.icons.R.drawable as Icons /** * Состояние Tabs @@ -21,6 +23,7 @@ import kotlinx.parcelize.Parcelize * @property indicatorEnabled включен ли индикатор */ @Parcelize +@StoryUiState data class TabsUiState( override val variant: String = "", override val appearance: String = "", @@ -62,21 +65,20 @@ enum class DisplayMode(val mode: Int) : Parcelable { * @property iconId идентификатор ресурса кнопки */ @Parcelize -sealed class TabItemIcon(val iconId: Int = com.sdds.icons.R.drawable.ic_plasma_24) : - Parcelable { +enum class TabItemIcon(val iconId: Int = Icons.ic_plasma_24) : Parcelable { /** * Иконка вначале */ - object Start : TabItemIcon() + Start, /** * Иконка вконце */ - object End : TabItemIcon() + End, /** * Отсутствие иконки */ - object No : TabItemIcon(0) + No(0), } diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextAreaStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextAreaStory.kt new file mode 100644 index 0000000000..420edbb043 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextAreaStory.kt @@ -0,0 +1,87 @@ +package com.sdds.uikit.fixtures.stories.textfield + +import android.content.Context +import android.view.KeyEvent +import androidx.core.widget.doAfterTextChanged +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.TextArea +import com.sdds.uikit.fixtures.stories.TextFieldUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.TextFieldUiStateTransformer +import kotlin.text.isWhitespace + +/** + * История компонента TextArea для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации TextArea. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.TextArea + */ +@Story +object TextAreaStory : ViewBaseStory( + ComponentKey.TextArea, + TextFieldUiState(), + TextFieldUiStatePropertiesProducer, + TextFieldUiStateTransformer, +) { + private var shouldDeleteChip: Boolean = false + + override fun getComponent(context: Context): TextArea { + return textArea(context) { deleteChip(it) } + .apply { + addChipsHandler() + } + } + + override fun onComponentUpdate(component: TextArea, state: TextFieldUiState) { + component.applyState(state) + } + + private fun TextArea.addChipsHandler() { + editText.doAfterTextChanged { + val editable = it ?: return@doAfterTextChanged + shouldDeleteChip = + if (editable.isNotBlank() && editable[editable.length - 1].isWhitespace()) { + val currentValue = editable.toString().trim() + addChip(currentValue) + true + } else { + editable.isEmpty() + } + } + editText.setOnKeyListener { _, keyCode, _ -> + when (keyCode) { + KeyEvent.KEYCODE_DEL -> { + val chipsCount = chipAdapter?.getCount() ?: 0 + if (!value.isNullOrEmpty() || chipsCount == 0 || !shouldDeleteChip) return@setOnKeyListener false + val chipToDelete = deleteChip(chipsCount - 1) + editText.append(chipToDelete) + chipToDelete != null + } + + else -> false + } + } + } + + private fun addChip(text: String): Boolean { + if (text.isEmpty() || !uiState.value.hasChips) return false + val chipsList = uiState.value.chipData.toMutableList() + chipsList.add(ExampleChipData(text)) + updateState(uiState.value.copy(chipData = chipsList)) + return true + } + + private fun deleteChip(index: Int): String? { + val chips = uiState.value.chipData + if (index < 0 || index >= chips.size) return null + val chipsList = chips.toMutableList() + val chip = chipsList[index] + chipsList.removeAt(index) + updateState(uiState.value.copy(chipData = chipsList)) + return chip.text + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldFactory.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldFactory.kt index b648f7a557..90fca488d7 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldFactory.kt @@ -1,14 +1,14 @@ -package com.sdds.testing.vs.textfield +package com.sdds.uikit.fixtures.stories.textfield import android.content.Context import android.widget.Toast -import com.sdds.testing.R -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Chip import com.sdds.uikit.ChipGroup import com.sdds.uikit.TextArea import com.sdds.uikit.TextField import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.styleWrapper /** * Фабрика для создания [TextField] @@ -113,9 +113,11 @@ private class ChipAdapter : ChipGroup.Adapter() { } fun updateState(newChips: List) { - chips.clear() - chips.addAll(newChips) - notifyChipGroupChanged() + if (chips != newChips) { + chips.clear() + chips.addAll(newChips) + notifyChipGroupChanged() + } } fun onDeleteChip(delegate: ChipDeleteDelegate) { diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldStory.kt new file mode 100644 index 0000000000..87cefefdad --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldStory.kt @@ -0,0 +1,87 @@ +package com.sdds.uikit.fixtures.stories.textfield + +import android.content.Context +import android.view.KeyEvent +import androidx.core.widget.doAfterTextChanged +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.stories.TextFieldUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.TextFieldUiStateTransformer +import kotlin.text.isWhitespace + +/** + * История компонента TextField для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации TextField. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.TextField + */ +@Story +object TextFieldStory : ViewBaseStory( + ComponentKey.TextField, + TextFieldUiState(), + TextFieldUiStatePropertiesProducer, + TextFieldUiStateTransformer, +) { + private var shouldDeleteChip: Boolean = false + + override fun getComponent(context: Context): TextField { + return textField(context, onDeleteChip = { deleteChip(it) }) + .apply { + addChipsHandler() + } + } + + override fun onComponentUpdate(component: TextField, state: TextFieldUiState) { + component.applyState(state) + } + + private fun TextField.addChipsHandler() { + editText.doAfterTextChanged { + val editable = it ?: return@doAfterTextChanged + shouldDeleteChip = + if (editable.isNotBlank() && editable[editable.length - 1].isWhitespace()) { + val currentValue = editable.toString().trim() + addChip(currentValue) + true + } else { + editable.isEmpty() + } + } + editText.setOnKeyListener { _, keyCode, _ -> + when (keyCode) { + KeyEvent.KEYCODE_DEL -> { + val chipsCount = chipAdapter?.getCount() ?: 0 + if (!value.isNullOrEmpty() || chipsCount == 0 || !shouldDeleteChip) return@setOnKeyListener false + val chipToDelete = deleteChip(chipsCount - 1) + editText.append(chipToDelete) + chipToDelete != null + } + + else -> false + } + } + } + + private fun addChip(text: String): Boolean { + if (text.isEmpty() || !uiState.value.hasChips) return false + val chipsList = uiState.value.chipData.toMutableList() + chipsList.add(ExampleChipData(text)) + updateState(uiState.value.copy(chipData = chipsList)) + return true + } + + private fun deleteChip(index: Int): String? { + val chips = uiState.value.chipData + if (index < 0 || index >= chips.size) return null + val chipsList = chips.toMutableList() + val chip = chipsList[index] + chipsList.removeAt(index) + updateState(uiState.value.copy(chipData = chipsList)) + return chip.text + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldUiState.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldUiState.kt index 430f5597ae..b310f10aff 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/textfield/TextFieldUiState.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.textfield +package com.sdds.uikit.fixtures.stories.textfield import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.IgnoreProperty +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.TextField +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -24,6 +26,7 @@ import kotlinx.parcelize.Parcelize * @property suffix суффикс */ @Parcelize +@StoryUiState data class TextFieldUiState( override val variant: String = "", override val appearance: String = "", @@ -38,6 +41,7 @@ data class TextFieldUiState( val enabled: Boolean = true, val readOnly: Boolean = false, val hasChips: Boolean = false, + @IgnoreProperty val chipData: List = emptyList(), val prefix: String? = "TB", val suffix: String? = "TA", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastFactory.kt similarity index 85% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastFactory.kt index fffdb2d10c..cea306ecb5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastFactory.kt @@ -1,11 +1,12 @@ -package com.sdds.testing.vs.toast +package com.sdds.uikit.fixtures.stories.toast import android.content.Context import android.view.View import androidx.core.content.ContextCompat -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.styleWrapper +import com.sdds.icons.R import com.sdds.uikit.Toast +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.styleWrapper import com.sdds.uikit.overlays.OverlayManager import com.sdds.uikit.overlays.getAnimationSpec @@ -45,7 +46,7 @@ fun toast( contentStart = if (state.hasContentStart) { ContextCompat.getDrawable( context, - com.sdds.icons.R.drawable.ic_plasma_24, + R.drawable.ic_plasma_24, ) } else { null @@ -53,7 +54,7 @@ fun toast( contentEnd = if (state.hasContentEnd) { ContextCompat.getDrawable( context, - com.sdds.icons.R.drawable.ic_close_24, + R.drawable.ic_close_24, ) } else { null diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastStory.kt new file mode 100644 index 0000000000..72198d9dcc --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastStory.kt @@ -0,0 +1,35 @@ +package com.sdds.uikit.fixtures.stories.toast + +import android.content.Context +import android.view.View +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.fixtures.stories.ToastUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ToastUiStateTransformer + +/** + * История компонента Toast для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Toast. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Toast + */ +@Story +object ToastStory : ViewBaseStory( + ComponentKey.Toast, + ToastUiState(), + ToastUiStatePropertiesProducer, + ToastUiStateTransformer, +) { + override fun getComponent(context: Context): View { + return toastTrigger(context) + } + + override fun onComponentUpdate(component: View, state: ToastUiState) { + val context = component.context + component.setOnClickListener { toast(context, state).show() } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastUiState.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastUiState.kt index dc56070087..a9be90cf53 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toast/ToastUiState.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.toast +package com.sdds.uikit.fixtures.stories.toast -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import com.sdds.uikit.overlays.OverlayPosition +import kotlinx.parcelize.Parcelize /** * Состояние компонента Toast @@ -13,6 +16,8 @@ import com.sdds.uikit.overlays.OverlayPosition * @property autoDismiss автоматическое скрытие Toast * @property hasAnimation включает/выключает анимацию */ +@Parcelize +@StoryUiState data class ToastUiState( override val variant: String = "", override val appearance: String = "", @@ -22,7 +27,7 @@ data class ToastUiState( val position: OverlayPosition = OverlayPosition.BottomCenter, val autoDismiss: Boolean = true, val hasAnimation: Boolean = true, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarFactory.kt similarity index 79% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarFactory.kt index dcc40d9139..8867e4b93c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarFactory.kt @@ -1,10 +1,11 @@ -package com.sdds.testing.vs.toolbar +package com.sdds.uikit.fixtures.stories.toolbar import android.content.Context -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.button.iconButton -import com.sdds.testing.vs.styleWrapper +import com.sdds.icons.R import com.sdds.uikit.ToolBar +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.button.iconButton +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [ToolBar] @@ -38,8 +39,8 @@ private fun ToolBar.createContent(slotsAmount: Int) { addViewsToSlot( index, listOf( - iconButton(context).apply { setIconResource(com.sdds.icons.R.drawable.ic_plasma_24) }, - iconButton(context).apply { setIconResource(com.sdds.icons.R.drawable.ic_salute_outline_24) }, + iconButton(context).apply { setIconResource(R.drawable.ic_plasma_24) }, + iconButton(context).apply { setIconResource(R.drawable.ic_salute_outline_24) }, ), ) } else { diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarStory.kt new file mode 100644 index 0000000000..54da93896e --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarStory.kt @@ -0,0 +1,46 @@ +package com.sdds.uikit.fixtures.stories.toolbar + +import android.content.Context +import android.widget.LinearLayout.HORIZONTAL +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.ToolBar +import com.sdds.uikit.fixtures.stories.ToolBarUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.ToolBarUiStateTransformer + +/** + * История компонента Toolbar для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Toolbar. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.ToolBar + */ +@Story +object ToolBarStory : ViewBaseStory( + ComponentKey.ToolBar, + ToolBarUiState(), + ToolBarUiStatePropertiesProducer, + ToolBarUiStateTransformer, +) { + + private var state: ToolBarUiState = ToolBarUiState() + private var orientation: Int = HORIZONTAL + + override val scrollMode: ScrollMode + get() = when (orientation) { + HORIZONTAL -> ScrollMode.HORIZONTAL + else -> ScrollMode.VERTICAL + } + + override fun getComponent(context: Context): ToolBar { + return toolBar(context, state = state) + } + + override fun onComponentUpdate(component: ToolBar, state: ToolBarUiState) { + component.applyState(state) + orientation = (component.orientation) ?: HORIZONTAL + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarUiState.kt similarity index 83% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarUiState.kt index 09d5bdc8b8..a8e1303a0e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/toolbar/ToolBarUiState.kt @@ -1,7 +1,8 @@ -package com.sdds.testing.vs.toolbar +package com.sdds.uikit.fixtures.stories.toolbar import android.os.Parcelable -import com.sdds.testing.vs.UiState +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState import kotlinx.parcelize.Parcelize /** @@ -11,6 +12,7 @@ import kotlinx.parcelize.Parcelize * @property slotsAmount количество слотов в ToolBar */ @Parcelize +@StoryUiState data class ToolBarUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipFactory.kt similarity index 80% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipFactory.kt index 27d3c85c92..b08b6dd1fa 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipFactory.kt @@ -1,17 +1,17 @@ @file:Suppress("MatchingDeclarationName") -package com.sdds.testing.vs.tooltip +package com.sdds.uikit.fixtures.stories.tooltip import android.content.Context import android.view.View -import com.sdds.testing.R -import com.sdds.testing.vs.button.basicButton -import com.sdds.testing.vs.popover.PopoverTrigger -import com.sdds.testing.vs.popover.toAlignment -import com.sdds.testing.vs.popover.toPlacement -import com.sdds.testing.vs.popover.toPlacementMode -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Tooltip +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.popover.PopoverTrigger +import com.sdds.uikit.fixtures.stories.popover.toAlignment +import com.sdds.uikit.fixtures.stories.popover.toPlacement +import com.sdds.uikit.fixtures.stories.popover.toPlacementMode +import com.sdds.uikit.fixtures.styleWrapper /** * Создает [Tooltip] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipStory.kt new file mode 100644 index 0000000000..c00219a8a1 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipStory.kt @@ -0,0 +1,72 @@ +package com.sdds.uikit.fixtures.stories.tooltip + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.widget.FrameLayout +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Tooltip +import com.sdds.uikit.fixtures.stories.TooltipUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.TooltipUiStateTransformer +import com.sdds.uikit.fixtures.stories.popover.toGravity + +/** + * История компонента Tooltip для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Tooltip. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Tooltip + */ +@Story +object TooltipStory : ViewBaseStory( + ComponentKey.Tooltip, + TooltipUiState(), + TooltipUiStatePropertiesProducer, + TooltipUiStateTransformer, +) { + private var tooltip: Tooltip? = null + private var tooltipUiState: TooltipUiState = TooltipUiState() + private var currentTriggerGravity: Int = Gravity.CENTER + + override fun getComponent(context: Context): View { + return tooltipWithTrigger(context) + .also { tooltip = it.popover } + .also { popoverTrigger -> + popoverTrigger.trigger.setOnClickListener { + popoverTrigger.popover.showWithState(it, tooltipUiState) + } + }.trigger + } + + override fun provideLayoutParams(): FrameLayout.LayoutParams { + return super.provideLayoutParams().apply { + gravity = currentTriggerGravity + } + } + + override fun shouldRecreateComponentOnStateUpdate(state: TooltipUiState): Boolean { + val newGravity = state.triggerAlignment.toGravity() + if (newGravity != currentTriggerGravity) { + currentTriggerGravity = newGravity + return true + } + return super.shouldRecreateComponentOnStateUpdate(state) + } + + override fun onComponentUpdate(component: View, state: TooltipUiState) { + tooltipUiState = state + updatePopover(component) + } + + private fun updatePopover(trigger: View?) = tooltip?.run { + trigger ?: return@run + if (isShowing) { + dismiss() + showWithState(trigger, tooltipUiState) + } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipUiState.kt similarity index 80% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipUiState.kt index 35f747fde6..cfe3acd93a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/tooltip/TooltipUiState.kt @@ -1,11 +1,12 @@ -package com.sdds.testing.vs.tooltip +package com.sdds.uikit.fixtures.stories.tooltip import android.os.Parcelable -import com.sdds.testing.vs.UiState -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment +import com.sdds.sandbox.StoryUiState +import com.sdds.uikit.fixtures.UiState +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment import kotlinx.parcelize.Parcelize /** @@ -23,6 +24,7 @@ import kotlinx.parcelize.Parcelize * @author Малышев Александр on 19.05.2025 */ @Parcelize +@StoryUiState data class TooltipUiState( override val variant: String = "", override val appearance: String = "", diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelFactory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelFactory.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelFactory.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelFactory.kt index 4d5cefe895..d725efb07b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelFactory.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelFactory.kt @@ -1,9 +1,9 @@ -package com.sdds.testing.vs.wheel +package com.sdds.uikit.fixtures.stories.wheel import android.content.Context import androidx.core.view.doOnPreDraw -import com.sdds.testing.vs.styleWrapper import com.sdds.uikit.Wheel +import com.sdds.uikit.fixtures.styleWrapper /** * Создаёт [Wheel] с заданным контекстом, стилем и состоянием. diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelStory.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelStory.kt new file mode 100644 index 0000000000..b3b73c8c21 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelStory.kt @@ -0,0 +1,34 @@ +package com.sdds.uikit.fixtures.stories.wheel + +import android.content.Context +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.Story +import com.sdds.sandbox.ViewBaseStory +import com.sdds.uikit.Wheel +import com.sdds.uikit.fixtures.stories.WheelUiStatePropertiesProducer +import com.sdds.uikit.fixtures.stories.WheelUiStateTransformer + +/** + * История компонента Wheel для сторибука. + * + * Демонстрирует все возможные состояния и конфигурации Wheel. + * + * @see Story + * @see ViewBaseStory + * @see ComponentKey.Wheel + */ +@Story +object WheelStory : ViewBaseStory( + ComponentKey.Wheel, + WheelUiState(), + WheelUiStatePropertiesProducer, + WheelUiStateTransformer, +) { + override fun getComponent(context: Context): Wheel { + return wheel(context) + } + + override fun onComponentUpdate(component: Wheel, state: WheelUiState) { + component.applyState(state) + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelUiState.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelUiState.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelUiState.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelUiState.kt index 9ffbe75f4b..a47956a275 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelUiState.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/stories/wheel/WheelUiState.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.wheel +package com.sdds.uikit.fixtures.stories.wheel -import com.sdds.testing.vs.UiState +import android.os.Parcelable +import com.sdds.sandbox.StoryUiState import com.sdds.uikit.Wheel +import com.sdds.uikit.fixtures.UiState +import kotlinx.parcelize.Parcelize /** * Состояние компонента [Wheel]. @@ -18,6 +21,8 @@ import com.sdds.uikit.Wheel * @property hasInfiniteScroll Флаг бесконечной прокрутки. * @property controlsDisplayMode Режим отображения кнопок управления */ +@Parcelize +@StoryUiState data class WheelUiState( override val variant: String = "", override val appearance: String = "", @@ -31,7 +36,7 @@ data class WheelUiState( val separatorType: WheelSeparatorType = WheelSeparatorType.DOTS, val hasInfiniteScroll: Boolean = true, val controlsDisplayMode: WheelControlsDisplayMode = WheelControlsDisplayMode.ALWAYS, -) : UiState { +) : Parcelable, UiState { override fun updateVariant(appearance: String, variant: String): UiState { return copy(appearance = appearance, variant = variant) } diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AccordionTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AccordionTestCases.kt index 53259283b9..924f17843a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/accordion/AccordionTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AccordionTestCases.kt @@ -1,14 +1,15 @@ -package com.sdds.testing.vs.accordion +package com.sdds.uikit.fixtures.testcases import android.view.View import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig -import com.sdds.uikit.Accordion +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.accordion.AccordionUiState +import com.sdds.uikit.fixtures.stories.accordion.accordion /** - * Тест-кейсы для [Accordion] + * Тест-кейсы для [com.sdds.uikit.Accordion] */ @Suppress("UndocumentedPublicFunction") abstract class AccordionTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AutocompleteTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AutocompleteTestCases.kt index 067ffc1a71..d0a3372aa2 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/autocomplete/AutocompleteTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AutocompleteTestCases.kt @@ -1,16 +1,18 @@ -package com.sdds.testing.vs.autocomplete +package com.sdds.uikit.fixtures.testcases import android.widget.FrameLayout -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment -import com.sdds.testing.vs.popover.toGravity import com.sdds.uikit.Autocomplete +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.autocomplete.AutocompleteUiState +import com.sdds.uikit.fixtures.stories.autocomplete.autocomplete +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.toGravity /** - * Тест-кейсы для компонента [Autocomplete] + * Тест-кейсы для компонента [com.sdds.uikit.Autocomplete] */ @Suppress("UndocumentedPublicFunction") abstract class AutocompleteTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AvatarTestCases.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AvatarTestCases.kt index 17411f873f..21bb854408 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/avatar/AvatarTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/AvatarTestCases.kt @@ -1,12 +1,18 @@ -package com.sdds.testing.vs.avatar +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Avatar import com.sdds.uikit.AvatarGroup +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.avatar.AvatarExtra +import com.sdds.uikit.fixtures.stories.avatar.AvatarExtraPlacement +import com.sdds.uikit.fixtures.stories.avatar.AvatarUiState +import com.sdds.uikit.fixtures.stories.avatar.ExampleMode +import com.sdds.uikit.fixtures.stories.avatar.avatar +import com.sdds.uikit.fixtures.stories.avatar.avatarGroup /** - * Тест-кейсы для [Avatar] и [AvatarGroup] + * Тест-кейсы для [com.sdds.uikit.Avatar] и [com.sdds.uikit.AvatarGroup] * @author Малышев Александр on 13.02.2025 */ @Suppress("UndocumentedPublicFunction") diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/BadgeTestCases.kt similarity index 87% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/BadgeTestCases.kt index 92bbcf514f..9f68a4f504 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/badge/BadgeTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/BadgeTestCases.kt @@ -1,12 +1,15 @@ -package com.sdds.testing.vs.badge +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Badge import com.sdds.uikit.IconBadge +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.badge.BadgeUiState +import com.sdds.uikit.fixtures.stories.badge.badge +import com.sdds.uikit.fixtures.stories.badge.iconBadge /** - * Тест-кейсы для [Badge], [IconBadge] + * Тест-кейсы для [com.sdds.uikit.Badge], [com.sdds.uikit.IconBadge] */ @Suppress("UndocumentedPublicFunction") abstract class BadgeTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ButtonTestCases.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ButtonTestCases.kt index f0cbc43ea0..0f983cd2da 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/button/ButtonTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ButtonTestCases.kt @@ -1,14 +1,20 @@ -package com.sdds.testing.vs.button +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Button import com.sdds.uikit.ButtonGroup import com.sdds.uikit.IconButton import com.sdds.uikit.LinkButton +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.button.ButtonIcon +import com.sdds.uikit.fixtures.stories.button.ButtonUiState +import com.sdds.uikit.fixtures.stories.button.GroupOrientation +import com.sdds.uikit.fixtures.stories.button.basicButton +import com.sdds.uikit.fixtures.stories.button.iconButton +import com.sdds.uikit.fixtures.stories.button.linkButton /** - * Тест-кейсы для [Button], [IconButton] и [LinkButton] + * Тест-кейсы для [com.sdds.uikit.Button], [com.sdds.uikit.IconButton] и [com.sdds.uikit.LinkButton] * @author Малышев Александр on 13.02.2025 */ @Suppress("UndocumentedPublicFunction") @@ -439,7 +445,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.buttonGroup(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context, style, ButtonUiState( @@ -454,7 +460,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.buttonGroupVertical(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context, style, ButtonUiState( @@ -469,7 +475,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.buttonGroupAmountTen(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context, style, ButtonUiState( @@ -484,7 +490,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.iconButtonGroupHorizontal(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context = context, style = style, ButtonUiState( @@ -497,7 +503,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.iconButtonGroupVertical(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context = context, style = style, ButtonUiState( @@ -510,7 +516,7 @@ abstract class ButtonTestCases(mode: String) : RoborazziConfig(mode) { ) fun ComponentScope.iconButtonGroupHorizontalAmountTen(style: Int): ButtonGroup = - buttonGroup( + com.sdds.uikit.fixtures.stories.button.buttonGroup( context = context, style = style, ButtonUiState( diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CardTestCases.kt similarity index 75% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CardTestCases.kt index 4692e93975..abb6767c3c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/card/CardTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CardTestCases.kt @@ -1,11 +1,14 @@ -package com.sdds.testing.vs.card +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Card +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.card.CardOrientation +import com.sdds.uikit.fixtures.stories.card.CardUiState +import com.sdds.uikit.fixtures.stories.card.card /** - * Тест-кейсы для [Card] + * Тест-кейсы для [com.sdds.uikit.Card] */ @Suppress("UndocumentedPublicFunction") abstract class CardTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CarouselTestCases.kt similarity index 88% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CarouselTestCases.kt index 88317d0910..7ed4763be6 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/carousel/CarouselTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CarouselTestCases.kt @@ -1,12 +1,15 @@ -package com.sdds.testing.vs.carousel +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Carousel import com.sdds.uikit.dp +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.carousel.CarouselContentAlignment +import com.sdds.uikit.fixtures.stories.carousel.CarouselUiState +import com.sdds.uikit.fixtures.stories.carousel.carousel /** - * Тест-кейсы для [Carousel] + * Тест-кейсы для [com.sdds.uikit.Carousel] */ @Suppress("UndocumentedPublicFunction") abstract class CarouselTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CellTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CellTestCases.kt index f4f80ce067..1a37e254c9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/cell/CellTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CellTestCases.kt @@ -1,11 +1,14 @@ -package com.sdds.testing.vs.cell +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.CellLayout +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.cell.CellContent +import com.sdds.uikit.fixtures.stories.cell.CellUiState +import com.sdds.uikit.fixtures.stories.cell.cellLayout /** - * Тест-кейсы для [CellLayout] + * Тест-кейсы для [com.sdds.uikit.CellLayout] * @author Малышев Александр on 13.02.2025 */ @Suppress("UndocumentedPublicFunction") diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CheckBoxTestCases.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CheckBoxTestCases.kt index 7b0a22a9d5..08355ed1eb 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/checkbox/CheckBoxTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CheckBoxTestCases.kt @@ -1,12 +1,15 @@ -package com.sdds.testing.vs.checkbox +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.CheckBox import com.sdds.uikit.CheckBoxGroup +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.checkbox.CheckBoxUiState +import com.sdds.uikit.fixtures.stories.checkbox.checkBox +import com.sdds.uikit.fixtures.stories.checkbox.checkBoxGroup /** - * Тест-кейсы для [CheckBox] и [CheckBoxGroup] + * Тест-кейсы для [com.sdds.uikit.CheckBox] и [com.sdds.uikit.CheckBoxGroup] * @author Малышев Александр on 13.02.2025 */ @Suppress("UndocumentedPublicFunction") diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ChipTestCases.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ChipTestCases.kt index bad7d3120b..159e65aa8b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/chip/ChipTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ChipTestCases.kt @@ -1,13 +1,17 @@ -package com.sdds.testing.vs.chip +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Chip import com.sdds.uikit.ChipGroup import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.chip.ChipUiState +import com.sdds.uikit.fixtures.stories.chip.GravityMode +import com.sdds.uikit.fixtures.stories.chip.chip +import com.sdds.uikit.fixtures.stories.chip.chipGroup /** - * Тест-кейсы для [Chip] и [ChipGroup] + * Тест-кейсы для [com.sdds.uikit.Chip] и [com.sdds.uikit.ChipGroup] * @author Малышев Александр on 13.02.2025 */ @Suppress("UndocumentedPublicFunction") diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CircularProgressTestCases.kt similarity index 87% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CircularProgressTestCases.kt index 4a910a9189..4484696100 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/CircularProgressTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CircularProgressTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.progress +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.CircularProgressBar +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.progress.CircularProgressUiState +import com.sdds.uikit.fixtures.stories.progress.circularProgressBar /** * Тест-кейсы [CircularProgressBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeFieldTestCases.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeFieldTestCases.kt index 6e0f5de527..2e6053ba08 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codefield/CodeFieldTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeFieldTestCases.kt @@ -1,12 +1,14 @@ -package com.sdds.testing.vs.codefield +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.CodeField +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.codefield.CodeFieldUiState +import com.sdds.uikit.fixtures.stories.codefield.codeField /** - * Тест-кейсы для [CodeField] + * Тест-кейсы для [com.sdds.uikit.CodeField] */ @Suppress("UndocumentedPublicFunction") abstract class CodeFieldTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeInputTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeInputTestCases.kt index 3301e5c809..ce1f55b756 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/codeinput/CodeInputTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CodeInputTestCases.kt @@ -1,13 +1,15 @@ -package com.sdds.testing.vs.codeinput +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.CodeField import com.sdds.uikit.CodeInput +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.codeinput.CodeInputUiState +import com.sdds.uikit.fixtures.stories.codeinput.codeInput /** - * Тест-кейсы для [CodeInput] + * Тест-кейсы для [com.sdds.uikit.CodeInput] */ @Suppress("UndocumentedPublicFunction") abstract class CodeInputTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CounterTestCases.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CounterTestCases.kt index c8ea0474c2..5b95e64f54 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/counter/CounterTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/CounterTestCases.kt @@ -1,11 +1,13 @@ -package com.sdds.testing.vs.counter +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Counter +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.counter.CounterUiState +import com.sdds.uikit.fixtures.stories.counter.counter /** - * Тест-кейсы для [Counter] + * Тест-кейсы для [com.sdds.uikit.Counter] */ @Suppress("UndocumentedPublicFunction") abstract class CounterTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DividerTestCases.kt similarity index 60% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DividerTestCases.kt index c5616a6845..ccbc23dc13 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/divider/DividerTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DividerTestCases.kt @@ -1,11 +1,12 @@ -package com.sdds.testing.vs.divider +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Divider +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.divider.divider /** - * Тест-кейсы для [Divider] + * Тест-кейсы для [com.sdds.uikit.Divider] */ @Suppress("UndocumentedPublicFunction") abstract class DividerTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DrawerTestCases.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DrawerTestCases.kt index 5fb39d1d84..3948f84573 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/drawer/DrawerTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DrawerTestCases.kt @@ -1,15 +1,17 @@ -package com.sdds.testing.vs.drawer +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig -import com.sdds.testing.vs.scrollbar.ScrollBarUiState -import com.sdds.testing.vs.scrollbar.ScrollOrientation -import com.sdds.testing.vs.scrollbar.scrollBar -import com.sdds.uikit.Drawer import com.sdds.uikit.DrawerLayout +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.drawer.CloseAlignment +import com.sdds.uikit.fixtures.stories.drawer.DrawerUiState +import com.sdds.uikit.fixtures.stories.drawer.drawer +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarUiState +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollOrientation +import com.sdds.uikit.fixtures.stories.scrollbar.scrollBar /** - * Тест-кейсы для [Drawer] + * Тест-кейсы для [com.sdds.uikit.Drawer] */ @Suppress("UndocumentedPublicFunction") abstract class DrawerTestCases(mode: String) : RoborazziConfig(mode) { diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropDownMenuTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DropDownMenuTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropDownMenuTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DropDownMenuTestCases.kt index 896788fa7b..1de649663d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/dropdownmenu/DropDownMenuTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/DropDownMenuTestCases.kt @@ -1,15 +1,17 @@ -package com.sdds.testing.vs.dropdownmenu +package com.sdds.uikit.fixtures.testcases import android.view.View import android.widget.FrameLayout -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment -import com.sdds.testing.vs.popover.toGravity import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.dropdownmenu.DropdownMenuUiState +import com.sdds.uikit.fixtures.stories.dropdownmenu.dropdownMenuTrigger +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.toGravity /** * Тест-кейсы для [DropDownMenu] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/EditableTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/EditableTestCases.kt index 92634521e7..55a9013eb8 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/editable/EditableTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/EditableTestCases.kt @@ -1,9 +1,13 @@ -package com.sdds.testing.vs.editable +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Editable +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.editable.EditableUiState +import com.sdds.uikit.fixtures.stories.editable.IconPlacement +import com.sdds.uikit.fixtures.stories.editable.TextAlign +import com.sdds.uikit.fixtures.stories.editable.editable /** * Тест-кейсы для [Editable] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FileTestCases.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FileTestCases.kt index 9fc7aa4613..fa2f4cd85a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/file/FileTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FileTestCases.kt @@ -1,8 +1,12 @@ -package com.sdds.testing.vs.file +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.File +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.file.ActionPlacement +import com.sdds.uikit.fixtures.stories.file.FileContentType +import com.sdds.uikit.fixtures.stories.file.FileUiState +import com.sdds.uikit.fixtures.stories.file.file /** * Тест-кейсы для [File] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FlowTestCases.kt similarity index 87% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FlowTestCases.kt index e3db4169b3..2581b86847 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/flow/FlowTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/FlowTestCases.kt @@ -1,8 +1,13 @@ -package com.sdds.testing.vs.flow +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.FlowLayout +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.flow.FlowAlignment +import com.sdds.uikit.fixtures.stories.flow.FlowArrangement +import com.sdds.uikit.fixtures.stories.flow.FlowOrientation +import com.sdds.uikit.fixtures.stories.flow.FlowUiState +import com.sdds.uikit.fixtures.stories.flow.flowLayout import java.util.concurrent.Flow /** diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ImageTestCases.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ImageTestCases.kt index 998731e0ae..f55c2251cf 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/image/ImageTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ImageTestCases.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.image +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.ImageView +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.image.image /** * Тест-кейсы для [Image] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/IndicatorTestCases.kt similarity index 80% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/IndicatorTestCases.kt index 30df579efb..e859040527 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/indicator/IndicatorTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/IndicatorTestCases.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.indicator +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Indicator +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.indicator.indicator /** * Тест-кейсы для [Indicator] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ListTestCases.kt similarity index 76% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ListTestCases.kt index 3ce54ae5f7..76d35910bd 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/list/ListTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ListTestCases.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.list +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import android.view.View +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.list.ListUiState +import com.sdds.uikit.fixtures.stories.list.listView /** * Тест-кейс для [List] @@ -21,7 +24,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { abstract fun testListTightXsHasDisclosure() - fun ComponentScope.listNormalXlHasDisclosure(style: Int): android.view.View = + fun ComponentScope.listNormalXlHasDisclosure(style: Int): View = listView( context = context, style = style, @@ -33,7 +36,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { ), ) - fun ComponentScope.listNormalL(style: Int): android.view.View = + fun ComponentScope.listNormalL(style: Int): View = listView( context = context, style = style, @@ -45,7 +48,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { ), ) - fun ComponentScope.listNormalM(style: Int): android.view.View = + fun ComponentScope.listNormalM(style: Int): View = listView( context = context, style = style, @@ -57,7 +60,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { ), ) - fun ComponentScope.listNormalS(style: Int): android.view.View = + fun ComponentScope.listNormalS(style: Int): View = listView( context = context, style = style, @@ -69,7 +72,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { ), ) - fun ComponentScope.listNormalXs(style: Int): android.view.View = + fun ComponentScope.listNormalXs(style: Int): View = listView( context = context, style = style, @@ -81,7 +84,7 @@ abstract class ListTestCases(mode: String) : RoborazziConfig(mode) { ), ) - fun ComponentScope.listTightXsHasDisclosure(style: Int): android.view.View = + fun ComponentScope.listTightXsHasDisclosure(style: Int): View = listView( context = context, style = style, diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/LoaderTestCases.kt similarity index 83% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/LoaderTestCases.kt index e1aeb77122..fb220aa09b 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/loader/LoaderTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/LoaderTestCases.kt @@ -1,10 +1,13 @@ -package com.sdds.testing.vs.loader +package com.sdds.uikit.fixtures.testcases import android.view.Gravity import android.widget.FrameLayout -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Loader +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.loader.LoaderType +import com.sdds.uikit.fixtures.stories.loader.LoaderUiState +import com.sdds.uikit.fixtures.stories.loader.loader /** * Тест-кейсы для [Loader] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/MaskTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/MaskTestCases.kt index c7bb634728..286403b8ad 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/mask/MaskTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/MaskTestCases.kt @@ -1,9 +1,13 @@ -package com.sdds.testing.vs.mask +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.mask.MaskUiState +import com.sdds.uikit.fixtures.stories.mask.TextFieldMask +import com.sdds.uikit.fixtures.stories.mask.TextFieldMaskDisplayMode +import com.sdds.uikit.fixtures.stories.mask.maskedTextField /** * Тест-кейсы для компонента [Mask] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ModalTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ModalTestCases.kt index c05e4faed9..1d81e6817a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/modal/ModalTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ModalTestCases.kt @@ -1,7 +1,10 @@ -package com.sdds.testing.vs.modal +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.modal.ModalGravity +import com.sdds.uikit.fixtures.stories.modal.ModalUiState +import com.sdds.uikit.fixtures.stories.modal.modalTrigger /** * Тест-кейсы для компонента [Modal] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationBarTestCases.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationBarTestCases.kt index ccab43398f..3adb703858 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationbar/NavigationBarTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationBarTestCases.kt @@ -1,9 +1,16 @@ -package com.sdds.testing.vs.navigationbar +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.NavigationBar +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.navigationbar.AlignmentStrategy +import com.sdds.uikit.fixtures.stories.navigationbar.ContentBetweenActionsAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.ContentPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.NavigationBarUiState +import com.sdds.uikit.fixtures.stories.navigationbar.TextAlignment +import com.sdds.uikit.fixtures.stories.navigationbar.TextPlacement +import com.sdds.uikit.fixtures.stories.navigationbar.navigationBar /** * Тест-кейсы для [NavigationBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationDrawerTestCases.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationDrawerTestCases.kt index a76d789ad4..b9f812b4f6 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/navigationdrawer/NavigationDrawerTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NavigationDrawerTestCases.kt @@ -1,8 +1,11 @@ -package com.sdds.testing.vs.navigationdrawer +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.NavigationDrawer +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerMode +import com.sdds.uikit.fixtures.stories.navigationdrawer.NavigationDrawerUiState +import com.sdds.uikit.fixtures.stories.navigationdrawer.navigationDrawer /** * Тест-кейсы для [NavigationDrawer] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NoteTestCases.kt similarity index 94% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NoteTestCases.kt index 2f8019c632..6fdfb327c8 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/note/NoteTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NoteTestCases.kt @@ -1,8 +1,11 @@ -package com.sdds.testing.vs.note - -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +package com.sdds.uikit.fixtures.testcases + +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.note.NoteUiState +import com.sdds.uikit.fixtures.stories.note.note +import com.sdds.uikit.fixtures.stories.note.noteCompact /** * Тест-кейсы для компонента [Note] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationContentTestCases.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationContentTestCases.kt index 599883b653..31ed504c2d 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notificationcontent/NotificationContentTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationContentTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.notificationcontent +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.notificationcontent.NotificationContentUiState +import com.sdds.uikit.fixtures.stories.notificationcontent.notificationContent /** * Тест-кейсы для компонента [NotificationContent] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationTestCases.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationTestCases.kt index b5e4411916..3dc582790a 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/notification/NotificationTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/NotificationTestCases.kt @@ -1,7 +1,9 @@ -package com.sdds.testing.vs.notification +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.notification.NotificationUiState +import com.sdds.uikit.fixtures.stories.notification.notificationTrigger import com.sdds.uikit.overlays.OverlayPosition /** diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/OverlayTestCases.kt similarity index 74% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/OverlayTestCases.kt index eb11ecf523..e216dd7e06 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/overlay/OverlayTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/OverlayTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.overlay +package com.sdds.uikit.fixtures.testcases import android.widget.FrameLayout -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.overlay.OverlayUiState +import com.sdds.uikit.fixtures.stories.overlay.overlayWithTrigger /** * Тест-кейсы для компонента [Overlay] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PaginationDotsTestCases.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PaginationDotsTestCases.kt index 8c38ec720d..c3fbc14cde 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/paginationdots/PaginationDotsTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PaginationDotsTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.paginationdots +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.paginationdots.PaginationDotsUiState +import com.sdds.uikit.fixtures.stories.paginationdots.paginationDots /** * Тест-кейсы для компонента [PaginationDots] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PopoverTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PopoverTestCases.kt index fd26e4db90..04e50dfb03 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/popover/PopoverTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/PopoverTestCases.kt @@ -1,8 +1,15 @@ -package com.sdds.testing.vs.popover +package com.sdds.uikit.fixtures.testcases import android.widget.FrameLayout -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverUiState +import com.sdds.uikit.fixtures.stories.popover.popoverWithTrigger +import com.sdds.uikit.fixtures.stories.popover.toGravity /** * Тест-кейсы для компонента [Popover] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressBarTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ProgressBarTestCases.kt similarity index 90% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressBarTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ProgressBarTestCases.kt index eb2c8409da..489b4d9876 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/progress/ProgressBarTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ProgressBarTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.progress +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.ProgressBar +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.progress.ProgressUiState +import com.sdds.uikit.fixtures.stories.progress.progressBar /** * Тест-кейсы [ProgressBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RadioBoxTestCases.kt similarity index 91% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RadioBoxTestCases.kt index 348e2ea4dd..1f1721591f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/radiobox/RadioBoxTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RadioBoxTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.radiobox +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.RadioBox import com.sdds.uikit.RadioBoxGroup +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.radiobox.RadioBoxUiState +import com.sdds.uikit.fixtures.stories.radiobox.radioBox +import com.sdds.uikit.fixtures.stories.radiobox.radioBoxGroup /** * Тест-кейсы для [RadioBox] и [RadioBoxGroup] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RectSkeletonTestCases.kt similarity index 66% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RectSkeletonTestCases.kt index c93d4d89e2..67a32b6fe9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/RectSkeletonTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/RectSkeletonTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.skeleton +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.RectSkeleton +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.skeleton.RectSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.rectSkeleton /** * Тест-кейс для [RectSkeleton] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ScrollBarTestCases.kt similarity index 84% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ScrollBarTestCases.kt index c37cafe88d..6b0f66528c 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/scrollbar/ScrollBarTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ScrollBarTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.scrollbar +package com.sdds.uikit.fixtures.testcases import android.view.ViewGroup -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.ScrollBar +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollBarUiState +import com.sdds.uikit.fixtures.stories.scrollbar.ScrollOrientation +import com.sdds.uikit.fixtures.stories.scrollbar.scrollBar /** * Тест-кейсы для [ScrollBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SegmentTestCases.kt similarity index 93% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SegmentTestCases.kt index 2be6480057..1ae14ae373 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/segement/SegmentTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SegmentTestCases.kt @@ -1,9 +1,14 @@ -package com.sdds.testing.vs.segement +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Segment import com.sdds.uikit.SegmentItem +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.segment.SegmentItemIcon +import com.sdds.uikit.fixtures.stories.segment.SegmentOrientation +import com.sdds.uikit.fixtures.stories.segment.SegmentUiState +import com.sdds.uikit.fixtures.stories.segment.segment +import com.sdds.uikit.fixtures.stories.segment.segmentItem /** * Тест-кейсы для [Segment] и [SegmentItem] diff --git a/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SelectTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SelectTestCases.kt new file mode 100644 index 0000000000..048d28e5d2 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SelectTestCases.kt @@ -0,0 +1,297 @@ +package com.sdds.uikit.fixtures.testcases + +import android.view.ViewGroup.LayoutParams.WRAP_CONTENT +import android.widget.FrameLayout +import com.sdds.uikit.Select +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.toGravity +import com.sdds.uikit.fixtures.stories.select.SelectUiState +import com.sdds.uikit.fixtures.stories.select.TriggerType +import com.sdds.uikit.fixtures.stories.select.select + +/** + * Тест-кейс для [Select] + */ +@Suppress("UndocumentedPublicFunction") +abstract class SelectTestCases(mode: String) : RoborazziConfig(mode) { + + /** + * PLASMA-T2578 + */ + abstract fun testSelectSingleNormalXlTextFieldTopStartSingle() + + /** + * PLASMA-T2579 + */ + abstract fun testSelectSingleTightLButtonTopEnd() + + /** + * PLASMA-T2580 + */ + abstract fun testSelectMultipleNormalMTextFieldTopCenterEmptyState() + + /** + * PLASMA-T2581 + */ + abstract fun testSelectMultipleTightSButtonCenterTopStrict() + + /** + * PLASMA-T2582 + */ + abstract fun testSelectSingleNormalXsTextFieldCenterStartStrict() + + /** + * PLASMA-T2583 + */ + abstract fun testSelectSingleTightLButtonCenterEndEmptyState() + + /** + * PLASMA-T2584 + */ + abstract fun testSelectMultipleNormalLTextFieldLoadingBottomStart() + + /** + * PLASMA-T2585 + */ + abstract fun testSelectMultipleTightLTextFieldBottomEnd() + + /** + * PLASMA-T2586 + */ + abstract fun testSelectMultipleNormalCenterDisabled() + + /** + * PLASMA-T2592 + */ + abstract fun testSelectMultipleNormalCenterReadOnly() + + private fun ComponentScope.baseSelect( + style: Int, + state: SelectUiState, + ): Select = select( + context = context, + style = style, + state, + ).apply { + layoutParams = FrameLayout.LayoutParams( + WRAP_CONTENT, + WRAP_CONTENT, + ).apply { + gravity = state.triggerAlignment.toGravity() + } + } + + fun ComponentScope.selectTextFieldTopStartSingle(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.START_TOP, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.SINGLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectButtonTopEnd(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.Button, + triggerAlignment = PopoverTriggerAlignment.END_TOP, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.SINGLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectTextFieldTopCenterEmptyState(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = true, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.CENTER_TOP, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectMultipleTightButtonCenterStrict(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.Button, + triggerAlignment = PopoverTriggerAlignment.CENTER, + dropdownPlacementMode = PopoverPlacementMode.STRICT, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectSingleNormalTextFieldCenterStartStrict(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.START_CENTER, + dropdownPlacementMode = PopoverPlacementMode.STRICT, + selectionMode = Select.SelectionMode.SINGLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectSingleTightButtonCenterEndEmptyState(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = true, + triggerType = TriggerType.Button, + triggerAlignment = PopoverTriggerAlignment.END_CENTER, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.SINGLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectMultipleNormalTextFieldLoadingBottomStart(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = true, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.START_BOTTOM, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectMultipleTightTextFieldBottomEnd(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.END_BOTTOM, + dropdownPlacementMode = PopoverPlacementMode.LOOSE, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = false, + enabled = true, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectMultipleNormalCenterDisabled(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.CENTER, + dropdownPlacementMode = PopoverPlacementMode.STRICT, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = false, + enabled = false, + ), + ).apply { + id = R.id.select + } + } + + fun ComponentScope.selectMultipleNormalCenterReadOnly(style: Int): Select = + fillSize { + baseSelect( + style = style, + SelectUiState( + variant = "", + appearance = "", + showLoading = false, + withEmptyState = false, + triggerType = TriggerType.TextField, + triggerAlignment = PopoverTriggerAlignment.CENTER, + dropdownPlacementMode = PopoverPlacementMode.STRICT, + selectionMode = Select.SelectionMode.MULTIPLE, + readOnly = true, + enabled = true, + ), + ).apply { + id = R.id.select + } + } +} diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SliderTestCases.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SliderTestCases.kt index 581e33c878..9371d12452 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/slider/SliderTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SliderTestCases.kt @@ -1,8 +1,12 @@ -package com.sdds.testing.vs.slider +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.slider.Alignment +import com.sdds.uikit.fixtures.stories.slider.SlideDirection +import com.sdds.uikit.fixtures.stories.slider.SliderUiState +import com.sdds.uikit.fixtures.stories.slider.slider /** * Тест-кейсы для [Slider] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SpinnerTestCases.kt similarity index 64% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SpinnerTestCases.kt index 90b6874e16..f9e45cac92 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/spinner/SpinnerTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SpinnerTestCases.kt @@ -1,8 +1,9 @@ -package com.sdds.testing.vs.spinner +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Spinner +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.spinner.spinner /** * Тест-кейсы для [Spinner] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SwitchTestCases.kt similarity index 88% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SwitchTestCases.kt index c0c0760f90..f01b2534d3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/switcher/SwitchTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/SwitchTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.switcher +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Switch +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.switcher.SwitchUiState +import com.sdds.uikit.fixtures.stories.switcher.switch /** * Тест-кейсы для [Switch] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TabsTestCases.kt similarity index 96% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TabsTestCases.kt index 07808bc77c..cfc4b0de7e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tabs/TabsTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TabsTestCases.kt @@ -1,11 +1,16 @@ -package com.sdds.testing.vs.tabs +package com.sdds.uikit.fixtures.testcases import android.view.ViewGroup import androidx.core.view.descendants -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Tabs +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.tabs.DisplayMode +import com.sdds.uikit.fixtures.stories.tabs.TabItemIcon +import com.sdds.uikit.fixtures.stories.tabs.TabsUiState +import com.sdds.uikit.fixtures.stories.tabs.iconTabs +import com.sdds.uikit.fixtures.stories.tabs.tabs /** * Тест кейсы для [Tabs] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextAreaTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextAreaTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextAreaTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextAreaTestCases.kt index 3b3fa41798..355b6309f9 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextAreaTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextAreaTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.textfield +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.TextArea import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.textfield.ExampleChipData +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.textArea /** * Тест-кейсы для [TextArea] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextFieldTestCases.kt similarity index 97% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextFieldTestCases.kt index 54e54b24ce..fe22837e2f 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/textfield/TextFieldTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextFieldTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.textfield +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.TextField import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.textfield.ExampleChipData +import com.sdds.uikit.fixtures.stories.textfield.TextFieldUiState +import com.sdds.uikit.fixtures.stories.textfield.textField /** * Тест-кейсы для [TextField] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextSkeletonTestCases.kt similarity index 86% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextSkeletonTestCases.kt index 71de95b594..d34c66658e 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/skeleton/TextSkeletonTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TextSkeletonTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.skeleton +package com.sdds.uikit.fixtures.testcases import android.view.View -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.TextSkeleton +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.skeleton.TextSkeletonUiState +import com.sdds.uikit.fixtures.stories.skeleton.TextSkeletonWidth +import com.sdds.uikit.fixtures.stories.skeleton.textSkeleton /** * Тест-кейс для [TextSkeleton] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToastTestCases.kt similarity index 95% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToastTestCases.kt index 70493cbe56..dd711a16ff 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toast/ToastTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToastTestCases.kt @@ -1,7 +1,9 @@ -package com.sdds.testing.vs.toast +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.toast.ToastUiState +import com.sdds.uikit.fixtures.stories.toast.toastTrigger import com.sdds.uikit.overlays.OverlayPosition /** diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToolBarTestCases.kt similarity index 82% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToolBarTestCases.kt index b06c97c0d0..188d2adfc3 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/toolbar/ToolBarTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/ToolBarTestCases.kt @@ -1,8 +1,10 @@ -package com.sdds.testing.vs.toolbar +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.toolbar.ToolBarUiState +import com.sdds.uikit.fixtures.stories.toolbar.toolBar /** * Тест-кейсы для компонента [ToolBar] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TooltipTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TooltipTestCases.kt index 73800ef999..5ce5cb9b51 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/tooltip/TooltipTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/TooltipTestCases.kt @@ -1,13 +1,15 @@ -package com.sdds.testing.vs.tooltip +package com.sdds.uikit.fixtures.testcases import android.widget.FrameLayout -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig -import com.sdds.testing.vs.popover.PopoverAlignment -import com.sdds.testing.vs.popover.PopoverPlacement -import com.sdds.testing.vs.popover.PopoverPlacementMode -import com.sdds.testing.vs.popover.PopoverTriggerAlignment -import com.sdds.testing.vs.popover.toGravity +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.popover.PopoverAlignment +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacement +import com.sdds.uikit.fixtures.stories.popover.PopoverPlacementMode +import com.sdds.uikit.fixtures.stories.popover.PopoverTriggerAlignment +import com.sdds.uikit.fixtures.stories.popover.toGravity +import com.sdds.uikit.fixtures.stories.tooltip.TooltipUiState +import com.sdds.uikit.fixtures.stories.tooltip.tooltipWithTrigger /** * Тест-кейсы для компонента [Popover] diff --git a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelTestCases.kt b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/WheelTestCases.kt similarity index 92% rename from sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelTestCases.kt rename to sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/WheelTestCases.kt index df6b666568..8faab689b5 100644 --- a/sdds-core/testing/src/main/kotlin/com/sdds/testing/vs/wheel/WheelTestCases.kt +++ b/sdds-core/uikit-fixtures/src/main/kotlin/com/sdds/uikit/fixtures/testcases/WheelTestCases.kt @@ -1,9 +1,12 @@ -package com.sdds.testing.vs.wheel +package com.sdds.uikit.fixtures.testcases -import com.sdds.testing.R -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.RoborazziConfig import com.sdds.uikit.Wheel +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.R +import com.sdds.uikit.fixtures.RoborazziConfig +import com.sdds.uikit.fixtures.stories.wheel.WheelSeparatorType +import com.sdds.uikit.fixtures.stories.wheel.WheelUiState +import com.sdds.uikit.fixtures.stories.wheel.wheel /** * Тест-кейсы для компонента [Wheel] diff --git a/sdds-core/uikit-fixtures/src/main/res/drawable/il_avatar_for_test.xml b/sdds-core/uikit-fixtures/src/main/res/drawable/il_avatar_for_test.xml new file mode 100644 index 0000000000..ca968df27a --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/drawable/il_avatar_for_test.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/testing/src/main/res/layout/layout_component_autocomplete.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_autocomplete.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_autocomplete.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_autocomplete.xml diff --git a/sdds-core/testing/src/main/res/layout/layout_component_card.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_card.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_card.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_card.xml diff --git a/sdds-core/testing/src/main/res/layout/layout_component_carousel_item.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_carousel_item.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_carousel_item.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_carousel_item.xml diff --git a/sdds-core/testing/src/main/res/layout/layout_component_cell.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_cell.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_cell.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_cell.xml diff --git a/sdds-core/testing/src/main/res/layout/layout_component_file.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_file.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_file.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_file.xml diff --git a/sdds-core/testing/src/main/res/layout/layout_component_flow.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_flow.xml similarity index 100% rename from sdds-core/testing/src/main/res/layout/layout_component_flow.xml rename to sdds-core/uikit-fixtures/src/main/res/layout/layout_component_flow.xml diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_select.xml b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_select.xml new file mode 100644 index 0000000000..56c78f5ec2 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/layout/layout_component_select.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_avatar_group.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_avatar_group.xml index d6d8202cb6..c3fedb8b19 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_avatar_group.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_avatar_group.xml @@ -9,26 +9,21 @@ + android:layout_width="wrap_content"> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_button.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_button.xml index 8d76f4b927..2642f6f5f1 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_button.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_button.xml @@ -66,7 +66,6 @@ android:layout_height="wrap_content" android:text="Label" app:sd_spacing="packed" - app:sd_value="Value" /> @@ -77,7 +76,7 @@ android:layout_height="wrap_content" android:text="Label" app:sd_spacing="spaceBetween" - app:sd_value="Value" + app:sd_icon="@drawable/ic_plasma_24" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_button_group.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_button_group.xml index a7f93adc64..6fff67b7c7 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_button_group.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_button_group.xml @@ -14,16 +14,19 @@ android:layout_height="wrap_content" > @@ -43,21 +46,18 @@ diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_card.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_card.xml index c30386b6c6..f46e622aba 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_card.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_card.xml @@ -1,9 +1,9 @@ + android:layout_height="match_parent" + android:orientation="vertical"> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox.xml index 1546acb96a..6dce9a561b 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox.xml @@ -10,7 +10,6 @@ android:id="@+id/checkbox_simple" android:text="Label" app:sd_description="Description" - app:sd_descriptionTextColor="#f1f1" app:sd_descriptionPadding="5dp" android:drawablePadding="10dp" app:sd_buttonPadding="2dp" diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox_group.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox_group.xml index 3f7d9afa4e..ec08dbc298 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox_group.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_checkbox_group.xml @@ -17,7 +17,6 @@ diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_drawer.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_drawer.xml index 65882fddc9..d24c566f83 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_drawer.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_drawer.xml @@ -11,10 +11,6 @@ app:sd_shiftContent="true" app:sd_drawerMargin="2dp" > - - - - @@ -34,7 +33,6 @@ android:singleLine="true" app:sd_editableIconPlacement="relative" app:sd_icon="@drawable/ic_file_check_fill_16" - app:sd_iconTint="#111" app:sd_iconSize="16dp" app:sd_iconMargin="8dp" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_note.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_note.xml index 7c17cd77fa..4a2f8b36e5 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_note.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_note.xml @@ -10,7 +10,6 @@ android:id="@+id/note_simple" app:sd_title="Title" app:sd_text="Text" - app:sd_background="#2301" android:layout_width="wrap_content" android:layout_height="wrap_content" > @@ -36,7 +35,6 @@ android:id="@+id/note_compact_simple" app:sd_title="Title" app:sd_text="Text" - app:sd_background="#5401" android:layout_width="wrap_content" android:layout_height="wrap_content" > diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_pagination_dots.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_pagination_dots.xml index 69bc3a6525..a583e880f6 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_pagination_dots.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_pagination_dots.xml @@ -14,7 +14,6 @@ android:layout_height="wrap_content" app:sd_gap="5dp" app:sd_itemCount="10" - app:sd_dotBackground="#111" app:sd_dotWidth="25dp" app:sd_dotHeight="25dp" app:sd_visibleItemCount="7" @@ -34,7 +33,6 @@ android:orientation="vertical" app:sd_gap="5dp" app:sd_itemCount="10" - app:sd_dotBackground="#111" app:sd_dotWidth="25dp" app:sd_dotHeight="25dp" app:sd_visibleItemCount="7" diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_progress.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_progress.xml index cb0130f738..0bca3ca902 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_progress.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_progress.xml @@ -11,10 +11,9 @@ android:id="@+id/progressbar_simple" android:maxHeight="10dp" app:sd_progress="0.5" - app:sd_trackHeight="4dp" + app:sd_trackHeight="6dp" android:layout_width="200dp" android:layout_height="wrap_content" - app:sd_progressColor="#155" app:backgroundTint="#2222" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_radiobox.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_radiobox.xml index 6cb1047497..1d7d83f738 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_radiobox.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_radiobox.xml @@ -10,9 +10,6 @@ android:id="@+id/radio_box_simple" android:text="Label" app:sd_description="Description" - app:sd_descriptionTextColor="#522" - app:sd_buttonBoxColor="#7777" - app:sd_buttonMarkColor="#111" android:layout_width="wrap_content" android:layout_height="wrap_content"/> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment.xml index 019bed6c71..fec0386106 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment.xml @@ -16,9 +16,7 @@ diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment_item.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment_item.xml index bf7307a231..93aba4dd28 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment_item.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_segment_item.xml @@ -10,11 +10,9 @@ android:id="@+id/segment_item_simple" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="#2121" android:checked="true" android:text="Label" app:sd_icon="@drawable/ic_arrow_down_16" - app:sd_iconTint="#111" app:sd_value="Value" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_select.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_select.xml new file mode 100644 index 0000000000..f0642c6b83 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_select.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_select_item.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_select_item.xml new file mode 100644 index 0000000000..613871f522 --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_select_item.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_slider.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_slider.xml index 055516a526..0fa220a397 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_slider.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_slider.xml @@ -18,11 +18,9 @@ app:sd_indicatorThickness="4dp" app:sd_trackThickness="2dp" app:sd_thumbSize="10dp" - app:sd_thumbColor="#111" app:sd_progress="0.5" app:sd_title="Title" app:sd_titleAlignment="start" - app:sd_iconTint="#111" app:sd_icon="@drawable/ic_plasma_24"/> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_spinner.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_spinner.xml index 64b79be696..9dd08a88bd 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_spinner.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_spinner.xml @@ -10,8 +10,6 @@ android:id="@+id/spinner_simple" android:layout_width="100dp" android:layout_height="100dp" - app:sd_startColor="#22E02D5A" - app:sd_endColor="#AA075207" app:sd_sweepAngle="320" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_switch.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_switch.xml index 03532ca8f2..8aa7b132f3 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_switch.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_switch.xml @@ -10,11 +10,8 @@ android:id="@+id/switch_simple" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:sd_buttonTrackColor="#C3DBCD" - app:sd_buttonThumbColor="#0978CC" android:text="Label" - app:sd_description="Description" - app:sd_descriptionTextColor="#316F33" /> + app:sd_description="Description" /> @@ -22,13 +19,9 @@ + app:sd_description="Description" /> @@ -39,7 +32,6 @@ android:layout_height="wrap_content" android:text="Label" app:sd_description="Description" - app:sd_background="@color/bg_switch_sample" app:sd_shapeAppearance="@style/Sdds.Shape.Round.Circle" /> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_tabs.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_tabs.xml index 6e572e3850..e0a6d953d9 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_tabs.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_tabs.xml @@ -14,7 +14,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - app:sd_tabIndicatorColor="#FF0000" app:sd_tabIndicatorThickness="2dp" app:sd_tabsMinSpacing="8dp" app:sd_dividerEnabled="true" diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_text_skeleton.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_text_skeleton.xml index e84cfc7642..d9f383fe5a 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_text_skeleton.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_text_skeleton.xml @@ -12,7 +12,6 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="@style/TextAppearance.AppCompat.Body1" - app:sd_shimmer="#55111111" app:sd_autoStart="true" app:sd_lineCount="4"/> diff --git a/sdds-core/uikit-fixtures/src/main/res/layout/samples_toolbar.xml b/sdds-core/uikit-fixtures/src/main/res/layout/samples_toolbar.xml index fb92701a6a..b1c2b934d9 100644 --- a/sdds-core/uikit-fixtures/src/main/res/layout/samples_toolbar.xml +++ b/sdds-core/uikit-fixtures/src/main/res/layout/samples_toolbar.xml @@ -19,7 +19,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" app:sd_icon="@drawable/ic_plasma_36" - app:sd_iconTint="#111" app:sd_slotIndex="2"/> diff --git a/sdds-core/testing/src/main/res/values-night/test_theme.xml b/sdds-core/uikit-fixtures/src/main/res/values-night/test_theme.xml similarity index 100% rename from sdds-core/testing/src/main/res/values-night/test_theme.xml rename to sdds-core/uikit-fixtures/src/main/res/values-night/test_theme.xml diff --git a/sdds-core/uikit-fixtures/src/main/res/values-night/theme.xml b/sdds-core/uikit-fixtures/src/main/res/values-night/theme.xml new file mode 100644 index 0000000000..0a095b410c --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/values-night/theme.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/sdds-core/testing/src/main/res/values/components_id.xml b/sdds-core/uikit-fixtures/src/main/res/values/components_id.xml similarity index 98% rename from sdds-core/testing/src/main/res/values/components_id.xml rename to sdds-core/uikit-fixtures/src/main/res/values/components_id.xml index b87ce64239..19b722a375 100644 --- a/sdds-core/testing/src/main/res/values/components_id.xml +++ b/sdds-core/uikit-fixtures/src/main/res/values/components_id.xml @@ -62,4 +62,5 @@ + \ No newline at end of file diff --git a/sdds-core/testing/src/main/res/values/test_attrs.xml b/sdds-core/uikit-fixtures/src/main/res/values/test_attrs.xml similarity index 100% rename from sdds-core/testing/src/main/res/values/test_attrs.xml rename to sdds-core/uikit-fixtures/src/main/res/values/test_attrs.xml diff --git a/sdds-core/testing/src/main/res/values/test_shapes.xml b/sdds-core/uikit-fixtures/src/main/res/values/test_shapes.xml similarity index 100% rename from sdds-core/testing/src/main/res/values/test_shapes.xml rename to sdds-core/uikit-fixtures/src/main/res/values/test_shapes.xml diff --git a/sdds-core/testing/src/main/res/values/test_string.xml b/sdds-core/uikit-fixtures/src/main/res/values/test_string.xml similarity index 100% rename from sdds-core/testing/src/main/res/values/test_string.xml rename to sdds-core/uikit-fixtures/src/main/res/values/test_string.xml diff --git a/sdds-core/testing/src/main/res/values/test_text_appearance.xml b/sdds-core/uikit-fixtures/src/main/res/values/test_text_appearance.xml similarity index 100% rename from sdds-core/testing/src/main/res/values/test_text_appearance.xml rename to sdds-core/uikit-fixtures/src/main/res/values/test_text_appearance.xml diff --git a/sdds-core/testing/src/main/res/values/test_theme.xml b/sdds-core/uikit-fixtures/src/main/res/values/test_theme.xml similarity index 100% rename from sdds-core/testing/src/main/res/values/test_theme.xml rename to sdds-core/uikit-fixtures/src/main/res/values/test_theme.xml diff --git a/sdds-core/uikit-fixtures/src/main/res/values/theme.xml b/sdds-core/uikit-fixtures/src/main/res/values/theme.xml new file mode 100644 index 0000000000..dd521f47ba --- /dev/null +++ b/sdds-core/uikit-fixtures/src/main/res/values/theme.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/sdds-core/uikit/gradle.properties b/sdds-core/uikit/gradle.properties index 3fc624a3c5..9ff4d1e983 100644 --- a/sdds-core/uikit/gradle.properties +++ b/sdds-core/uikit/gradle.properties @@ -2,5 +2,5 @@ nexus.artifactId=sdds-uikit nexus.snapshot=false nexus.description=SDDS UIKit library with base components for android view system versionMajor=0 -versionMinor=37 +versionMinor=38 versionPatch=0 diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/CellLayout.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/CellLayout.kt index 38beb06236..7837aa515d 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/CellLayout.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/CellLayout.kt @@ -12,6 +12,7 @@ import android.view.Gravity import android.view.View import android.view.ViewGroup import androidx.annotation.StyleRes +import androidx.core.view.children import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.core.widget.TextViewCompat @@ -29,8 +30,12 @@ import com.sdds.uikit.internal.focusselector.HasFocusSelector import com.sdds.uikit.shape.ShapeModel import com.sdds.uikit.shape.Shapeable import com.sdds.uikit.shape.shapeable +import com.sdds.uikit.statelist.AnimatedStateManagerHolder +import com.sdds.uikit.statelist.AnimationConfig import com.sdds.uikit.statelist.ColorValueStateList +import com.sdds.uikit.statelist.StateManager import com.sdds.uikit.statelist.StyleStateList +import com.sdds.uikit.statelist.getColorAnimationConfig import com.sdds.uikit.statelist.getColorValueStateList import com.sdds.uikit.statelist.getStyleStateList import com.sdds.uikit.statelist.setBackgroundValueList @@ -54,8 +59,12 @@ open class CellLayout @JvmOverloads constructor( defStyleRes: Int = R.style.Sdds_Components_Cell, ) : ViewGroup(context, attrs, defStyleAttr, defStyleRes), Shapeable, - HasFocusSelector by FocusSelectorDelegate(context, attrs, defStyleAttr, defStyleRes) { + HasFocusSelector by FocusSelectorDelegate(context, attrs, defStyleAttr, defStyleRes), + AnimatedStateManagerHolder { + private var _bgAnimationConfig: AnimationConfig? = null + private var _textAnimationConfig: AnimationConfig? = null + private var _imageAnimationConfig: AnimationConfig? = null private val _shaper = shapeable(attrs, defStyleAttr, defStyleRes) private val _startContentBounds: Rect = Rect() private val _endContentBounds: Rect = Rect() @@ -87,6 +96,8 @@ open class CellLayout @JvmOverloads constructor( private var _disclosurePaddingEnabled = false private var _backgroundList: ColorValueStateList? = null + override val manager: StateManager = StateManager() + /** * Выравнивание дочерних элементов относительно строки, в которой они находятся. * @see Gravity @@ -197,12 +208,40 @@ open class CellLayout @JvmOverloads constructor( _forceDuplicateParentState = typedArray.getBoolean(R.styleable.CellLayout_sd_forceDuplicateParentState, false) _backgroundList = typedArray.getColorValueStateList(context, R.styleable.CellLayout_sd_background) + _bgAnimationConfig = typedArray.getColorAnimationConfig( + R.styleable.CellLayout_sd_backgroundAnimationDuration, + R.styleable.CellLayout_sd_backgroundAnimationInterpolator, + context, + ) + _textAnimationConfig = typedArray.getColorAnimationConfig( + R.styleable.CellLayout_sd_textAnimationDuration, + R.styleable.CellLayout_sd_textAnimationInterpolator, + context, + ) + _imageAnimationConfig = typedArray.getColorAnimationConfig( + R.styleable.CellLayout_sd_imageAnimationDuration, + R.styleable.CellLayout_sd_imageAnimationInterpolator, + context, + ) typedArray.recycle() clipToOutline = context.isClippedToOutline(attrs, defStyleAttr, defStyleRes) resetDisclosure() applySelector(this) } + /** + * Контролирует установку параметра forceDuplicateParentState на уровне [CellLayout] + */ + fun setForceDuplicateParentState(forceDuplicate: Boolean) { + if (_forceDuplicateParentState != forceDuplicate) { + _forceDuplicateParentState = forceDuplicate + children.forEach { child -> + val childForceDuplicate = (child.layoutParams as? LayoutParams)?.forceDuplicateParentState ?: false + child.isDuplicateParentStateEnabled = childForceDuplicate && _forceDuplicateParentState + } + } + } + override fun setPressed(pressed: Boolean) { if (isPressed != pressed) { handlePressedChange(this, pressed) @@ -446,7 +485,7 @@ open class CellLayout @JvmOverloads constructor( override fun drawableStateChanged() { super.drawableStateChanged() - setBackgroundValueList(_backgroundList) + setBackgroundValueList(_backgroundList, _bgAnimationConfig) } override fun generateDefaultLayoutParams(): LayoutParams { @@ -535,31 +574,43 @@ open class CellLayout @JvmOverloads constructor( private fun TextView.applyLabelRole() { _labelAppearance?.let { setTextAppearancesList(_labelAppearance) } - _labelColor?.let(::setTextColor) + val colorValueStateList = _labelColor?.let { ColorValueStateList.valueOf(it) } + setTextAnimationConfig(_textAnimationConfig) + colorValueStateList?.let(::setTextColor) TextViewCompat.setCompoundDrawableTintList(this, _labelColor) state = if (colorState == null) ViewState.PRIMARY else null } private fun TextView.applyTitleRole() { _titleAppearance?.let { setTextAppearancesList(it) } - _titleColor?.let(::setTextColor) + val colorValueStateList = _titleColor?.let { ColorValueStateList.valueOf(it) } + setTextAnimationConfig(_textAnimationConfig) + colorValueStateList?.let(::setTextColor) TextViewCompat.setCompoundDrawableTintList(this, _titleColor) state = if (colorState == null) ViewState.PRIMARY else null } private fun TextView.applySubtitleRole() { _subtitleAppearance?.let { setTextAppearancesList(it) } - _subtitleColor?.let(::setTextColor) + val colorValueStateList = _subtitleColor?.let { ColorValueStateList.valueOf(it) } + setTextAnimationConfig(_textAnimationConfig) + colorValueStateList?.let(::setTextColor) TextViewCompat.setCompoundDrawableTintList(this, _subtitleColor) state = if (colorState == null) ViewState.PRIMARY else null } private fun View.applyDisclosureRole() { when (this) { - is ImageView -> imageTintList = _disclosureColor + is ImageView -> { + val colorValueStateList = _disclosureColor?.let { ColorValueStateList.valueOf(it) } + setImageAnimationConfig(_imageAnimationConfig) + colorValueStateList?.let(::setImageTintValueList) + } is TextView -> { setTextAppearance(_disclosureTextAppearance) - _disclosureTextColor?.let(::setTextColor) + val colorValueStateList = _disclosureTextColor?.let { ColorValueStateList.valueOf(it) } + setTextAnimationConfig(_textAnimationConfig) + colorValueStateList?.let(::setTextColor) if (compoundDrawablesRelative.all { it == null }) { setCompoundDrawablesRelativeWithIntrinsicBounds( null, @@ -568,7 +619,6 @@ open class CellLayout @JvmOverloads constructor( null, ) } - TextViewCompat.setCompoundDrawableTintList(this, _disclosureColor) state = ViewState.SECONDARY } @@ -579,6 +629,8 @@ open class CellLayout @JvmOverloads constructor( } is DisclosureView -> { + setTextAnimationConfig(_textAnimationConfig) + setImageAnimationConfig(_imageAnimationConfig) setTextAppearance(_disclosureTextAppearance) if (_disclosureTextColor != null) { setColor(_disclosureTextColor, _disclosureColor) @@ -645,6 +697,14 @@ open class CellLayout @JvmOverloads constructor( addView(disclosureIcon) } + fun setTextAnimationConfig(animationConfig: AnimationConfig?) { + disclosureText.setTextAnimationConfig(animationConfig) + } + + fun setImageAnimationConfig(animationConfig: AnimationConfig?) { + disclosureIcon.setImageAnimationConfig(animationConfig) + } + fun setDisclosure(text: CharSequence?, icon: Drawable?) { disclosureText.text = text disclosureText.isVisible = !text.isNullOrBlank() @@ -657,13 +717,16 @@ open class CellLayout @JvmOverloads constructor( } fun setColor(color: ColorStateList?) { - color?.let { disclosureText.setTextColor(it) } - disclosureIcon.imageTintList = color + val colorValueStateList = color?.let { ColorValueStateList.valueOf(it) } + colorValueStateList?.let { disclosureText.setTextColor(it) } + colorValueStateList?.let { disclosureIcon.setImageTintValueList(it) } } fun setColor(textColor: ColorStateList?, iconColor: ColorStateList?) { - textColor?.let { disclosureText.setTextColor(it) } - disclosureIcon.imageTintList = iconColor + val textColorValueStateList = textColor?.let { ColorValueStateList.valueOf(it) } + val iconColorValueStateList = iconColor?.let { ColorValueStateList.valueOf(it) } + textColor?.let { disclosureText.setTextColor(textColorValueStateList) } + iconColor?.let { disclosureIcon.setImageTintValueList(iconColorValueStateList) } } } diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Editable.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Editable.kt index f3bd041912..02012743ec 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Editable.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Editable.kt @@ -239,8 +239,8 @@ open class Editable @JvmOverloads constructor( /** * Запрашивает фокус и клавиатуру */ - fun forceFocus() { - if (requestFocus() && !isReadOnly) { + fun forceFocus(showIme: Boolean = true) { + if (requestFocus() && !isReadOnly && showIme) { showImeImplicit() } setSelection(text?.length ?: 0) diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/ImageView.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/ImageView.kt index a11230c7e6..24c9daa73f 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/ImageView.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/ImageView.kt @@ -19,10 +19,14 @@ import com.sdds.uikit.internal.focusselector.FocusSelectorDelegate import com.sdds.uikit.internal.focusselector.HasFocusSelector import com.sdds.uikit.shape.ShapeModel import com.sdds.uikit.shape.Shapeable -import com.sdds.uikit.statelist.ColorValueHolder +import com.sdds.uikit.statelist.AnimatedStateManagerHolder +import com.sdds.uikit.statelist.AnimationConfig import com.sdds.uikit.statelist.ColorValueStateList +import com.sdds.uikit.statelist.StateManager +import com.sdds.uikit.statelist.getColorAnimationConfig import com.sdds.uikit.statelist.getColorValueStateList import com.sdds.uikit.statelist.setBackgroundValueList +import com.sdds.uikit.statelist.setImageColorValueList import com.sdds.uikit.viewstate.ViewState import com.sdds.uikit.viewstate.ViewState.Companion.isDefined import com.sdds.uikit.viewstate.ViewStateHolder @@ -46,8 +50,10 @@ open class ImageView @JvmOverloads constructor( ViewStateHolder, ColorStateHolder, Shapeable, - HasFocusSelector by FocusSelectorDelegate() { + HasFocusSelector by FocusSelectorDelegate(), + AnimatedStateManagerHolder { + private var _imageAnimationConfig: AnimationConfig? = null private var hasAdjustedPaddingAfterLayoutDirectionResolved = false private var _shapeableImageDelegate: ShapeableImageDelegate? = null @@ -69,6 +75,8 @@ open class ImageView @JvmOverloads constructor( clipToOutline = false } + override val manager: StateManager = StateManager() + /** * Внутренний отступ контента в начале. */ @@ -267,7 +275,7 @@ open class ImageView @JvmOverloads constructor( fun setImageTintValueList(valueList: ColorValueStateList?) { if (_imageTintStateList != valueList) { _imageTintStateList = valueList - resetImageTintList(valueList) + setImageColorValueList(valueList, _imageAnimationConfig) } } @@ -487,8 +495,8 @@ open class ImageView @JvmOverloads constructor( override fun drawableStateChanged() { super.drawableStateChanged() - setBackgroundValueList(_backgroundStateList) - setImageTintValueList(_imageTintStateList) + setBackgroundValueList(_backgroundStateList, _imageAnimationConfig) + setImageColorValueList(_imageTintStateList, _imageAnimationConfig) } internal fun getShapePath(): Path = _shapeableImageDelegate?.getShapePath() ?: boundsPath @@ -535,6 +543,11 @@ open class ImageView @JvmOverloads constructor( } _backgroundStateList = typedArray.getColorValueStateList(context, R.styleable.ImageView_sd_background) _aspectRatio = typedArray.getFloat(R.styleable.ImageView_sd_aspectRatio, 0f) + _imageAnimationConfig = typedArray.getColorAnimationConfig( + R.styleable.ImageView_sd_imageAnimationDuration, + R.styleable.ImageView_sd_imageAnimationInterpolator, + context, + ) typedArray.recycle() } @@ -546,18 +559,12 @@ open class ImageView @JvmOverloads constructor( return layoutDirection == LAYOUT_DIRECTION_RTL } - private fun resetImageTintList(colorValueStateList: ColorValueStateList?) { - if (colorValueStateList == null) return - val imageTintValue = if (colorValueStateList.isStateful()) { - colorValueStateList.getValueForState(drawableState) - } else { - colorValueStateList.getDefaultValue() - } - when (imageTintValue) { - is ColorValueHolder.ColorValue -> imageTintList = ColorStateList.valueOf(imageTintValue.value) - is ColorValueHolder.ColorListValue -> imageTintList = imageTintValue.value - else -> Unit - } + /** + * Устанавливает конфиг анимации [AnimationConfig] + */ + fun setImageAnimationConfig(animationConfig: AnimationConfig?) { + _imageAnimationConfig = animationConfig + refreshDrawableState() } companion object { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Select.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Select.kt new file mode 100644 index 0000000000..be3e5b66db --- /dev/null +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Select.kt @@ -0,0 +1,710 @@ +package com.sdds.uikit + +import android.content.Context +import android.util.AttributeSet +import android.util.TypedValue +import android.view.ContextThemeWrapper +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.annotation.DrawableRes +import androidx.core.content.withStyledAttributes +import androidx.core.view.doOnLayout +import androidx.recyclerview.widget.DiffUtil.ItemCallback +import androidx.recyclerview.widget.ListAdapter +import com.sdds.uikit.Select.SelectionMode +import com.sdds.uikit.SimpleSelectAdapterSingle.SimpleSelectHolder +import com.sdds.uikit.dropdown.DropdownEmptyStateView +import com.sdds.uikit.dropdown.DropdownFooterView +import com.sdds.uikit.internal.base.unsafeLazy + +/** + * Компонент Select представляет триггер, при нажатии на который, появляется + * всплывающее окно — выпадающий список элементов поверх контента. + * Если в качестве триггера устанавливается [Button] или [TextField] - они будут + * автоматически стилизованы (при использовании готовых стилей дизайн системы или + * при верно настроенном стиле Select). В качестве выпадающего списка используется + * компонент [DropdownMenu], который так же автоматически стилизуется. + * @param context контекст + * @param attrs аттрибуты view + * @param defStyleAttr аттрибут стиля по умолчанию + * @param defStyleRes стиль по умолчанию + */ +open class Select @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = R.attr.sd_selectStyle, + defStyleRes: Int = R.style.Sdds_Components_Select, +) : FrameLayout(wrapper(context, attrs, defStyleAttr, defStyleRes), attrs) { + + @DrawableRes + private var triggerOpenStateIcon: Int = 0 + + @DrawableRes + private var triggerClosedStateIcon: Int = 0 + + private var trigger: View? = null + + private val controller = SelectController() + + private var stateChangeListener: OnStateChangeListener? = null + private var itemSelectedListener: OnItemSelectedListener? = null + + private val _dropdown: DropdownMenu by unsafeLazy { + DropdownMenu(this.context).apply { + itemAdapter = SimpleSelectAdapterSingle().apply { + onItemClick = { item -> + itemSelectedListener?.onItemSelected(item) + } + } + isFocusable = true + clipHeight = true + itemListView.itemAnimator = null + offset = 0 + } + } + private var _dropdownPlacementMode = Popover.PLACEMENT_MODE_LOOSE + + init { + clipChildren = false + clipToPadding = false + context.withStyledAttributes(attrs, R.styleable.Select, defStyleAttr, defStyleRes) { + } + _dropdown.setOnDismissListener { + controller.close() + notifyStateChanged() + } + } + + /** + * Режим расположения [DropdownMenu]. + * @see Popover.PLACEMENT_MODE_STRICT + * @see Popover.PLACEMENT_MODE_LOOSE + */ + var dropdownPlacementMode: Int + get() = _dropdownPlacementMode + set(value) { + if (_dropdownPlacementMode != value) { + _dropdownPlacementMode = value + } + } + + /** + * Адаптер для [ListView]. + */ + var adapter: SelectAdapter<*, *>? + get() = _dropdown.itemAdapter as? SelectAdapter + set(value) { + _dropdown.itemAdapter = value + } + + /** + * Включает/выключает отображение пустого состояния + */ + var emptyStateEnabled: Boolean + get() = _dropdown.emptyStateEnabled + set(value) { + _dropdown.emptyStateEnabled = value + } + + /** + * Состояние выпадающего меню в [Select]. + */ + enum class SelectMenuState { + /** + * Выпадающее меню отображается. + */ + OPENED, + + /** + * Выпадающее меню скрыто. + */ + CLOSED, + } + + /** + * Устанавливает [Select] в режим "Только для чтения" + */ + open var isReadOnly: Boolean = false + set(value) { + if (field != value) { + field = value + updateReadOnlyState() + } + } + + /** + * Режим работы адаптера выпадающего меню. + */ + enum class SelectionMode { + /** + * Максимум один элемент может быть выбран из списка выпадающего меню. + */ + SINGLE, + + /** + * Количество выбранных элементов списка выпадающего меню не ограничено. + */ + MULTIPLE, + } + + /** + * Слушатель изменения состояния выпадающего меню в [Select] - + * отображается или скрыто. + */ + fun interface OnStateChangeListener { + + /** + * Колбэк изменения состояния. + * @param state текущее состояние. + */ + fun onStateChange(state: SelectMenuState) + } + + /** + * Устанавливает слушателя изменения состояния выпадающего меню в [Select]. + * @param listener - слушатель. + */ + fun setOnStateChangeListener(listener: OnStateChangeListener?) { + stateChangeListener = listener + } + + /** + * Слушатель выбора элемента списка выпадающего меню. + */ + fun interface OnItemSelectedListener { + + /** + * Колбэк выбора элемента списка выпадающего меню. + * @param item элемент списка. + */ + fun onItemSelected(item: ListItem) + } + + /** + * Устанавливает слушателя выбора элемента в выпадающем меню. + * @param listener - слушатель. + */ + fun setOnItemSelectedListener(listener: OnItemSelectedListener?) { + itemSelectedListener = listener + } + + /** + * Устанавливает нижний колонтитул (footer) для выпадающего меню. + * + * @param footer виджет, отображаемый внизу выпадающего меню; null удаляет его. + */ + open fun setDropdownFooterView(footer: View?) { + _dropdown.setFooter(footer) + } + + /** + * Устанавливает пользовательский экран пустого состояния для выпадающего меню. + * + * @param emptyStateView виджет, который будет отображаться, когда список подсказок пуст; null удаляет его. + */ + open fun setDropdownEmptyStateView(emptyStateView: View?) { + _dropdown.setEmptyStateView(emptyStateView) + } + + /** + * Возвращает текущий экран пустого состояния выпадающего меню. + * + * @return виджет пустого состояния или null, если он не установлен. + */ + open fun getEmptyStateView(): View? = _dropdown.getEmptyStateView() + + /** + * Возвращает текущий footer выпадающего меню. + * + * @return footer или null, если он не установлен. + */ + open fun getFooterView(): View? = _dropdown.getFooterView() + + /** + * Обновляет позицию выпадающего меню, если оно отображается. + * + * Полезно при изменениях компоновки, когда меню должно оставаться выровненным + * относительно текстового поля. + */ + open fun updateDropdownLocation() { + if (_dropdown.isShowing) { + _dropdown.updateLocationPoint() + } + } + + /** + * Устанавливает новый триггер для выпадающего меню. + */ + open fun setTrigger(view: View) { + removeTrigger() + trigger = view + super.addView(trigger) + tryToConfigureTrigger() + } + + /** + * Возвращает [View], установленную как триггер для выпадающего меню. + */ + open fun getTrigger(): View? { + return trigger + } + + /** + * Удаляет триггер для [DropdownMenu] + */ + open fun removeTrigger() { + if (trigger != null && trigger?.parent == this) removeView(trigger) + trigger = null + } + + /** + * Устанавливает список элементов, которые должны отображаться в выпадающем меню. + * @param items список элементов. + */ + open fun setItems(items: List) { + _dropdown.setItems>(items) + if (_dropdown.isShowing) _dropdown.updateLocationPoint() + } + + /** + * Очищает список элементов выпадающем меню. + */ + open fun clearItems() { + _dropdown.setItems>(listOf()) + } + + /** + * Устанавливает иконку отображающую состояние "Открыто" выпадающего меню. + * @param openStateIcon идентификатор ресурса иконки. + */ + open fun setTriggerOpenStateIcon(@DrawableRes openStateIcon: Int) { + if (triggerOpenStateIcon != openStateIcon) { + triggerOpenStateIcon = openStateIcon + trigger?.let { tryToConfigureTriggerUi(it) } + } + } + + /** + * Устанавливает иконку отображающую состояние "Скрыто" выпадающего меню. + * @param closedStateIcon идентификатор ресурса иконки. + */ + open fun setTriggerClosedStateIcon(@DrawableRes closedStateIcon: Int) { + if (triggerClosedStateIcon != closedStateIcon) { + triggerClosedStateIcon = closedStateIcon + trigger?.let { tryToConfigureTriggerUi(it) } + } + } + + /** + * Возвращает список выбранных элементов [ListItem] выпадающего меню. + */ + fun getSelectedItems() = adapter?.getSelectedItems() + + override fun setEnabled(enabled: Boolean) { + super.setEnabled(enabled) + trigger?.let { + it.isEnabled = enabled + } + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + hideDropdown() + } + + override fun addView(child: View?, index: Int, params: ViewGroup.LayoutParams?) { + when (child) { + is DropdownFooterView -> setDropdownFooterView(child.setLayoutParamsIfNeed(params)) + is DropdownEmptyStateView -> setDropdownEmptyStateView(child.setLayoutParamsIfNeed(params)) + else -> { + if (trigger == null && (child is TextField || child is Button)) { + trigger = child + tryToConfigureTrigger() + } + super.addView(child, index, params) + } + } + } + + private fun hideDropdown() { + if (_dropdown.isShowing) { + _dropdown.dismiss() + } + } + + private fun showDropdown(trigger: View) { + if (!checkIsShowingAndCanShow()) return + if (shouldShowDropdown()) { + trigger.doOnLayout { + _dropdown.setFixedWidth(trigger.measuredWidth) + _dropdown.showWithTrigger( + if (trigger is TextField) { + trigger.findViewById(R.id.sd_textFieldDecorationBox) ?: trigger + } else { + trigger + }, + placement = Popover.PLACEMENT_BOTTOM, + placementMode = _dropdownPlacementMode, + tailEnabled = false, + ) + } + notifyStateChanged() + } + } + + private fun checkIsShowingAndCanShow(): Boolean { + var canShow = false + if (_dropdown.isShowing) { + if (isEnabled && !isReadOnly) { + updateDropdownLocation() + } else { + _dropdown.dismiss() + } + } else { + canShow = true + } + return canShow + } + + private fun updateReadOnlyState() { + checkIsShowingAndCanShow() + tryToConfigureTrigger() + } + + private fun tryToConfigureTrigger() { + trigger?.let { popoverTrigger -> + val clickListener = if (!isReadOnly) { + { + controller.toggle() + when (controller.state) { + SelectMenuState.OPENED -> showDropdown(popoverTrigger) + SelectMenuState.CLOSED -> hideDropdown() + } + } + } else { + null + } + popoverTrigger.setOnClickListener { + clickListener?.invoke() + } + configureIfTriggerIsTextField(popoverTrigger, clickListener) + tryToConfigureTriggerUi(popoverTrigger) + } + } + + private fun configureIfTriggerIsTextField(popoverTrigger: View, clickListener: (() -> Unit)?) { + val textField = (popoverTrigger as? TextField) ?: return + textField.isReadOnly = this.isReadOnly + textField.setInteractiveNoEditable( + !isReadOnly, + clickListener, + ) + } + + private fun tryToConfigureTriggerUi(trigger: View) { + when (trigger) { + is Button -> configureButtonTrigger(trigger) + is TextField -> configureTextFieldTrigger(trigger) + else -> {} + } + } + + private fun configureButtonTrigger(trigger: View) { + (trigger as? Button)?.let { button -> + if (controller.state == SelectMenuState.CLOSED && triggerClosedStateIcon != 0) { + button.setIconResource(triggerClosedStateIcon) + } + if (controller.state == SelectMenuState.OPENED && triggerOpenStateIcon != 0) { + button.setIconResource(triggerOpenStateIcon) + } + } + } + + private fun configureTextFieldTrigger(trigger: View) { + (trigger as? TextField)?.let { textField -> + if (controller.state == SelectMenuState.CLOSED && triggerClosedStateIcon != 0) { + textField.setAction(triggerClosedStateIcon) + textField.editText.clearFocus() + } + if (controller.state == SelectMenuState.OPENED && triggerOpenStateIcon != 0) { + textField.setAction(triggerOpenStateIcon) + } + } + } + + private fun notifyStateChanged() { + stateChangeListener?.onStateChange(controller.state) + trigger?.let { tryToConfigureTriggerUi(it) } + } + + private fun shouldShowDropdown(): Boolean { + val itemCount = _dropdown.itemAdapter?.itemCount ?: 0 + val strict = isReadOnly || !isEnabled + val existingUi = + itemCount > 0 || (getEmptyStateView() != null && emptyStateEnabled) || (getFooterView() != null) + return !strict && existingUi + } + + private class SelectController { + var state: SelectMenuState = SelectMenuState.CLOSED + private set + + fun open() { + state = SelectMenuState.OPENED + } + + fun close() { + state = SelectMenuState.CLOSED + } + + fun toggle() { + state = if (state == SelectMenuState.OPENED) { + SelectMenuState.CLOSED + } else { + SelectMenuState.OPENED + } + } + } + + private companion object { + + fun View.setLayoutParamsIfNeed(lp: ViewGroup.LayoutParams?): View = apply { + if (layoutParams == null) { + layoutParams = lp + } + } + + fun wrapper( + context: Context, + attrs: AttributeSet?, + defStyleAttr: Int, + defStyleRes: Int, + ): Context { + var buttonStyleOverlay = 0 + var textFieldStyleOverlay = 0 + var dropdownStyleOverlay = 0 + var selectItemStyleOverlay = 0 + context.withStyledAttributes(attrs, R.styleable.Select, defStyleAttr, defStyleRes) { + buttonStyleOverlay = getResourceId(R.styleable.Select_sd_buttonStyleOverlay, 0) + textFieldStyleOverlay = getResourceId(R.styleable.Select_sd_textFieldStyleOverlay, 0) + dropdownStyleOverlay = getResourceId(R.styleable.Select_sd_dropdownMenuStyleOverlay, 0) + selectItemStyleOverlay = getResourceId(R.styleable.Select_sd_selectItemStyleOverlay, 0) + } + val themeOverlay = createMergedOverlayContext( + context, + buttonStyleOverlay, + textFieldStyleOverlay, + dropdownStyleOverlay, + selectItemStyleOverlay, + ) + return emptyStateWrapper(themeOverlay) + } + + fun emptyStateWrapper( + context: Context, + ): Context { + var themeOverlay = context + val dropdownStyle = themeOverlay.resolveStyle(R.attr.sd_dropdownMenuStyle) + themeOverlay.withStyledAttributes(dropdownStyle, R.styleable.DropdownMenu) { + val emptyStateStyleOverlay = getResourceId(R.styleable.DropdownMenu_sd_emptyStateStyleOverlay, 0) + if (emptyStateStyleOverlay != 0) { + themeOverlay = ContextThemeWrapper(themeOverlay, emptyStateStyleOverlay) + } + } + return themeOverlay + } + + fun Context.resolveStyle(attr: Int): Int { + return TypedValue().run { + theme.resolveAttribute(attr, this, true) + data + } + } + + fun createMergedOverlayContext(base: Context, vararg overlays: Int): Context { + val validOverlays = overlays.filter { it != 0 } + if (validOverlays.isEmpty()) return base + val newTheme = base.resources.newTheme() + newTheme.setTo(base.theme) + validOverlays.forEach { newTheme.applyStyle(it, true) } + return ContextThemeWrapper(base, newTheme) + } + } +} + +/** + * Базовый адаптер для [Select] + * @param diffCallback для вычисления разницы между двумя не null элементами в списке [ItemCallback] + * @param selectionMode режим работы адаптера + * @see SelectionMode + */ +abstract class SelectAdapter( + diffCallback: ItemCallback = DefaultSelectItemDiffCallback(), + var selectionMode: SelectionMode = SelectionMode.SINGLE, +) : ListViewAdapter(diffCallback) { + + private val selectedItems = mutableSetOf() + + /** + * Проверяет выбран ли указанный элемент списка + */ + fun isSelected(item: T): Boolean = selectedItems.contains(item.id) + + /** + * Возвращает все выбранные элементы списка + */ + fun getSelectedItems(): List { + return currentList.filter { isSelected(it) } + } + + /** + * Коллбэк при выборе элемента списка + */ + var onItemClick: ((item: T) -> Unit)? = null + + /** + * Устанавливает или снимает выбор с элемента при повторном нажатии, + * учитывая режим работы адаптера [selectionMode] + */ + fun toggleSelection(item: T) { + if (isSelected(item)) { + itemWasSelected(item) + onItemClick?.invoke(item) + return + } + if (selectionMode == SelectionMode.SINGLE) { + notifyInSingleMode(item) + } else { + notifyInMultipleMode(item) + } + onItemClick?.invoke(item) + } + + /** + * Устанавливает выбор на всех элементах, если режим работы адаптера [SelectionMode.MULTIPLE] + */ + fun selectAll() { + if (selectionMode != SelectionMode.MULTIPLE) return + currentList.forEachIndexed { index, item -> + if (!isSelected(item)) { + selectedItems.add(item.id) + notifyItemChanged(index) + } + } + } + + /** + * Снимает выбор со всех элементов списка + */ + fun clearAllSelected() { + val oldSelected = selectedItems.toList() + selectedItems.clear() + oldSelected.forEach { id -> + val pos = currentList.indexOfFirst { it.id == id } + if (pos != -1) notifyItemChanged(pos) + } + } + + /** + * Устанавливает выбор на указанном элементе + * учитывая режим работы адаптера [selectionMode] + */ + fun selectItem(item: T) { + if (isSelected(item)) return + if (selectionMode == SelectionMode.SINGLE) { + notifyInSingleMode(item) + } else { + notifyInMultipleMode(item) + } + } + + /** + * Устанавливает выбор на указанных элементах, если режим работы адаптера [SelectionMode.MULTIPLE] + */ + fun selectItems(items: List) { + if (items.count() > 1 && selectionMode != SelectionMode.MULTIPLE) return + val changedPositions = mutableSetOf() + items.forEachIndexed { index, item -> + if (!isSelected(item)) { + selectedItems.add(item.id) + changedPositions.add(index) + } + } + changedPositions.forEach { notifyItemChanged(it) } + } + + private fun getItemPosition(item: T) = currentList.indexOfFirst { it.id == item.id } + + private fun itemWasSelected(item: T) { + selectedItems.remove(item.id) + val newPos = getItemPosition(item) + if (newPos != -1) notifyItemChanged(newPos) + } + + private fun notifyInSingleMode(item: T) { + val newSelectedPos = getItemPosition(item) + val oldSelectedId = selectedItems.firstOrNull() + oldSelectedId?.let { oldId -> + val oldPos = currentList.indexOfFirst { it.id == oldId } + if (oldPos != -1) notifyItemChanged(oldPos) + } + selectedItems.clear() + selectedItems.add(item.id) + if (newSelectedPos != -1) notifyItemChanged(newSelectedPos) + } + + private fun notifyInMultipleMode(item: T) { + selectedItems.add(item.id) + val newSelectedPos = getItemPosition(item) + if (newSelectedPos != -1) notifyItemChanged(newSelectedPos) + } + + private class DefaultSelectItemDiffCallback : ItemCallback() { + override fun areItemsTheSame(oldItem: T, newItem: T): Boolean { + return oldItem.id == newItem.id + } + + @Suppress("DiffUtilEquals") + override fun areContentsTheSame(oldItem: T, newItem: T): Boolean { + return oldItem == newItem + } + } +} + +/** + * Простая реализация адаптера [SelectAdapter] для [Select] + */ +class SimpleSelectAdapterSingle : SelectAdapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SimpleSelectHolder { + val itemView = LayoutInflater.from(parent.context) + .inflate(R.layout.sd_layout_simple_select_item, parent, false) + return SimpleSelectHolder(itemView) + } + + override fun onBindViewHolder(holder: SimpleSelectHolder, position: Int) { + holder.bind(getItem(position)) + } + + /** + * Простой [SimpleSelectHolder] + */ + inner class SimpleSelectHolder(itemView: View) : ListViewHolder(itemView) { + + private val titleView: TextView = itemView.findViewById(R.id.select_item_title) + + /** + * Связывает [item] с [itemView] + */ + fun bind(item: ListItem) = (itemView as SelectItemView).apply { + titleView.text = item.title + disclosureEnabled = item.hasDisclosure + item.colorState?.let { colorState = it } + isChecked = this@SimpleSelectAdapterSingle.isSelected(item) + setOnClickListener { + toggleSelection(item) + } + } + } +} diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/SelectItemView.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/SelectItemView.kt new file mode 100644 index 0000000000..8bc6334963 --- /dev/null +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/SelectItemView.kt @@ -0,0 +1,532 @@ +package com.sdds.uikit + +import android.content.Context +import android.content.res.ColorStateList +import android.graphics.drawable.Drawable +import android.os.Build +import android.util.AttributeSet +import android.view.ContextThemeWrapper +import android.view.Gravity +import android.view.View +import android.view.ViewGroup +import android.widget.Checkable +import androidx.annotation.DrawableRes +import androidx.appcompat.content.res.AppCompatResources +import androidx.core.content.withStyledAttributes +import androidx.core.view.children +import androidx.core.view.isNotEmpty +import androidx.core.view.isVisible +import com.sdds.uikit.CellLayout.CellContent +import com.sdds.uikit.colorstate.ColorState +import com.sdds.uikit.colorstate.ColorState.Companion.isDefined +import com.sdds.uikit.colorstate.ColorStateHolder +import com.sdds.uikit.internal.base.ViewAlphaHelper + +/** + * Компонент [SelectItemView] - обертка компонента [CellLayout] c возможностью + * отображения в начале компоннета Иконки или [CheckBox], информирующих о том, + * что [SelectItemView] выбран (находится в состоянии checked). Используется в + * качестве элемента списка в выпадающем меню компонента [Select]. + * @param context контекст + * @param attrs аттрибуты view + * @param defStyleAttr аттрибут стиля по умолчанию + * @param defStyleRes стиль по умолчанию + */ +open class SelectItemView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = R.attr.sd_selectItemStyle, + defStyleRes: Int = R.style.Sdds_Components_SelectItem, +) : LinearLayout( + wrapper(context, attrs, defStyleAttr, defStyleRes), + attrs, + defStyleAttr, + defStyleRes, +), + ColorStateHolder, + Checkable { + + @DrawableRes + private var icon: Int = 0 + private var iconTint: ColorStateList? = null + private var backgroundList: ColorStateList? = null + private var _itemType: Int = SELECT_ITEM_TYPE_SINGLE + private var _controlSize: Int = 0 + private var _controlMargin: Int = 0 + private val cell: CellLayout = CellLayout(this.context).apply { + isDuplicateParentStateEnabled = true + setForceDuplicateParentState(true) + } + private val controlBox: FrameLayout = FrameLayout(this.context).apply { + isDuplicateParentStateEnabled = true + clipChildren = false + } + + private val iconView: ImageView = ImageView(context).apply { + isDuplicateParentStateEnabled = true + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + defaultFocusHighlightEnabled = false + } + } + + private val checkBoxView: CheckBox = CheckBox(this.context).apply { + isClickable = false + clipChildren = false + } + private val viewAlphaHelper = ViewAlphaHelper(context, attrs, defStyleAttr) + + private var _isCheckable: Boolean = false + private var _onCheckedChangedListener: OnCheckedChangeListener? = null + private var _isChecked: Boolean = false + set(value) { + if (field != value) { + field = value + _onCheckedChangedListener?.onCheckedChanged(this, value) + } + } + + /** + * Тип [SelectItemView] + * [SELECT_ITEM_TYPE_SINGLE] в состоянии checked отображается иконка + * [SELECT_ITEM_TYPE_MULTIPLE] в состоянии checked отображается [CheckBox] + */ + open var itemType: Int + get() = _itemType + set(value) { + if (_itemType != value) { + _itemType = value + setControlContent() + } + } + + /** + * Фиксированный размер области, для отображения контента в состоянии checked + */ + open var controlSize: Int + get() = _controlSize + set(value) { + if (_controlSize != value) { + _controlSize = value + configureControl() + } + } + + /** + * Отступ от фиксированной области, для отображения контента в состоянии checked + */ + open var controlMargin: Int + get() = _controlMargin + set(value) { + if (_controlMargin != value) { + _controlMargin = value + setControlMargin() + } + } + + /** + * Контролирует видимость элемента с ролью [SelectItemContent.DISCLOSURE] + */ + open var disclosureEnabled: Boolean + get() = cell.disclosureEnabled + set(value) { + cell.disclosureEnabled = value + } + + /** + * Изменяет текст элемента с ролью [SelectItemContent.DISCLOSURE], если он это поддерживает + */ + open var disclosureText: CharSequence? + get() = cell.disclosureText + set(value) { + cell.disclosureText = value + } + + /** + * Устанавливает иконку для элемента с ролью [SelectItemContent.DISCLOSURE], если он это поддерживает + */ + open var disclosureIcon: Drawable? + get() = cell.disclosureIcon + set(value) { + cell.disclosureIcon = value + } + + /** + * Отступ между [SelectItemContent.START] и [SelectItemContent.CENTER] + */ + open var contentStartPadding: Int + get() = cell.contentStartPadding + set(value) { + cell.contentStartPadding = value + } + + /** + * Отступ между [SelectItemContent.END] и [SelectItemContent.CENTER] + */ + open var contentEndPadding: Int + get() = cell.contentEndPadding + set(value) { + cell.contentEndPadding = value + } + + /** + * Может ли [SelectItemView] изменять состояние [isChecked] + */ + open var isCheckable: Boolean + get() = _isCheckable + set(value) { + if (_isCheckable != value) { + _isCheckable = value + refreshDrawableState() + } + } + + /** + * @see ColorStateHolder.colorState + */ + override var colorState: ColorState? = ColorState.obtain(context, attrs, defStyleAttr, defStyleRes) + set(value) { + if (field != value) { + field = value + refreshDrawableState() + } + } + + init { + orientation = HORIZONTAL + gravity = Gravity.CENTER_VERTICAL + context.withStyledAttributes(attrs, R.styleable.SelectItem, defStyleAttr, defStyleRes) { + _controlMargin = getDimensionPixelSize(R.styleable.SelectItem_sd_controlMargin, 0) + _controlSize = getDimensionPixelSize(R.styleable.SelectItem_sd_controlSize, 0) + icon = getResourceId(R.styleable.SelectItem_sd_icon, 0) + setIconTintList(getColorStateList(R.styleable.SelectItem_sd_iconTint)) + installIconIfNeed() + _itemType = getInt(R.styleable.SelectItem_sd_itemType, 0) + backgroundList = getColorStateList(R.styleable.SelectItem_sd_background) + _isChecked = getBoolean(R.styleable.SelectItem_android_checked, false) + _isCheckable = getBoolean(R.styleable.SelectItem_android_checkable, false) + } + addView( + controlBox, + LayoutParams( + if (controlSize != 0) controlSize else LayoutParams.WRAP_CONTENT, + if (controlSize != 0) controlSize else LayoutParams.WRAP_CONTENT, + ), + ) + setControlMargin() + setControlContent() + addView(cell, SelectItemLayoutParams(0, LayoutParams.WRAP_CONTENT, 1f)) + } + + /** + * Слушатель изменений состояния [isChecked] + */ + fun interface OnCheckedChangeListener { + + /** + * Колбэк изменений состояния [isChecked] + */ + fun onCheckedChanged(selectItemView: SelectItemView, isChecked: Boolean) + } + + /** + * Устанавливает слушатель изменения состояния [isChecked] + */ + open fun setOnCheckedChangedListener(listener: OnCheckedChangeListener?) { + _onCheckedChangedListener = listener + } + + /** + * Устанавливает иконку, информирующую о состоянии checked, из ресурсов по идентификатору + * @param iconRes идентификатор ресурса иконки + */ + open fun setIconResource(@DrawableRes iconRes: Int) { + if (icon != iconRes) { + icon = iconRes + installIconIfNeed() + } + } + + /** + * Устанавливает цвета иконки, информирующей о состоянии checked + * @param newIconTint окрас иконки + */ + open fun setIconTintList(newIconTint: ColorStateList?) { + if (iconTint != newIconTint) { + iconTint = newIconTint + iconView.imageTintList = iconTint + } + } + + @Suppress("UNNECESSARY_SAFE_CALL") + override fun setEnabled(enabled: Boolean) { + children.forEach { + it.isEnabled = enabled + viewAlphaHelper?.updateAlphaByEnabledState(it) + } + super.setEnabled(enabled) + } + + override fun addView(child: View?, index: Int, params: ViewGroup.LayoutParams?) { + if (child == controlBox || child == cell) { + super.addView(child, index, params) + return + } + val selectItemParams = params as? SelectItemLayoutParams ?: return + val cellParams = convertToCellParams(selectItemParams) + cell.addView(child, cell.childCount, cellParams) + } + + override fun onCreateDrawableState(extraSpace: Int): IntArray { + val drawableState = super.onCreateDrawableState(extraSpace + 2) + if (colorState?.isDefined() == true) { + mergeDrawableStates(drawableState, colorState?.attrs) + } + if (isChecked) { + mergeDrawableStates(drawableState, intArrayOf(android.R.attr.state_checked)) + } + return drawableState + } + + override fun drawableStateChanged() { + super.drawableStateChanged() + backgroundTintList = backgroundList + updateControlCheckedState() + } + + override fun setChecked(checked: Boolean) { + if (_isChecked != checked) { + _isChecked = checked + refreshDrawableState() + } + } + + override fun isChecked(): Boolean { + return _isChecked + } + + override fun toggle() { + if (isCheckable) isChecked = !isChecked + } + + override fun generateDefaultLayoutParams(): LayoutParams { + return SelectItemLayoutParams( + LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT, + ) + } + + override fun checkLayoutParams(p: ViewGroup.LayoutParams?): Boolean { + return p is SelectItemLayoutParams + } + + override fun generateLayoutParams(attrs: AttributeSet?): LayoutParams { + return SelectItemLayoutParams(context, attrs) + } + + override fun generateLayoutParams(p: ViewGroup.LayoutParams?): LayoutParams { + return SelectItemLayoutParams(p) + } + + /** + * Параметры расположения дочерних [View] в [SelectItemView] + */ + class SelectItemLayoutParams : android.widget.LinearLayout.LayoutParams { + + /** + * Роль [View] внутри [SelectItemView] + */ + var itemContent: SelectItemContent? = null + + /** + * Выравнивание [View] внутри [SelectItemView] + */ + var gravity: Int = Gravity.NO_GRAVITY + + /** + * Контролирует установку параметра [isDuplicateParentStateEnabled] для [View] + */ + var forceDuplicateParentState: Boolean = true + + constructor(c: Context, attrs: AttributeSet?) : super(c, attrs) { + c.withStyledAttributes(attrs, R.styleable.SelectItem_Layout) { + this@SelectItemLayoutParams.itemContent = + getInt(R.styleable.SelectItem_Layout_layout_itemContent, 0) + .let { SelectItemContent.entries.toTypedArray().getOrElse(it) { null } } + } + } + + constructor(width: Int, height: Int) : super(width, height) + constructor(width: Int, height: Int, weight: Float) : super(width, height, weight) + constructor(width: Int, height: Int, itemContent: SelectItemContent) : super(width, height) { + this.itemContent = itemContent + } + + constructor(source: ViewGroup.LayoutParams?) : super(source) { + if (source is SelectItemLayoutParams) { + this.itemContent = source.itemContent + this.gravity = source.gravity + this.forceDuplicateParentState = source.forceDuplicateParentState + } + } + } + + private fun configureControl() { + val params = LayoutParams( + if (controlSize != 0) controlSize else LayoutParams.WRAP_CONTENT, + if (controlSize != 0) controlSize else LayoutParams.WRAP_CONTENT, + ) + controlBox.layoutParams = params + requestLayout() + } + + private fun setControlMargin() { + val params = (controlBox.layoutParams as? MarginLayoutParams) ?: return + params.apply { marginEnd = _controlMargin } + controlBox.layoutParams = params + requestLayout() + } + + private fun setControlContent() { + controlBox.removeAllViews() + if (itemType == SELECT_ITEM_TYPE_SINGLE) { + controlBox.addView(iconView) + } else { + controlBox.addView(checkBoxView) + } + } + + private fun convertToCellParams(params: SelectItemLayoutParams): CellLayout.LayoutParams { + return CellLayout.LayoutParams(params).apply { + cellContent = when (params.itemContent) { + SelectItemContent.CENTER -> CellContent.CENTER + SelectItemContent.END -> CellContent.END + SelectItemContent.LABEL -> CellContent.LABEL + SelectItemContent.TITLE -> CellContent.TITLE + SelectItemContent.SUBTITLE -> CellContent.SUBTITLE + SelectItemContent.DISCLOSURE -> CellContent.DISCLOSURE + else -> CellContent.START + } + forceDuplicateParentState = true + } + } + + private fun installIconIfNeed() { + if (icon != 0) { + iconView.setImageDrawable( + AppCompatResources.getDrawable(context, icon), + ) + } else { + iconView.setImageDrawable(null) + } + } + + private fun updateControlCheckedState() { + if (controlBox.isNotEmpty()) { + controlBox.children.forEach { child -> + when (child) { + is ImageView -> child.isVisible = isChecked + is CheckBox -> child.isChecked = this.isChecked + else -> {} + } + } + } + } + + /** + * Роли для дочерних элементов [View] в [SelectItemView] + */ + enum class SelectItemContent { + /** + * Позиционирует [View] в начале [SelectItemView], после [View] с ролью [CONTROL] + * Несколько [View] с этой ролью будут следовать друг за другом по горизонтали в том + * порядке, в котором они добавлялись в [SelectItemView] + */ + START, + + /** + * Позиционирует [View] в середине [SelectItemView] - между [View] с ролями [START] и [END]. + * Несколько [View] с этой ролью будут следовать друг за другом по вертикали в том + * порядке, в котором они добавлялись в [SelectItemView] + */ + CENTER, + + /** + * Позиционирует [View] в конце [SelectItemView]. + * Несколько [View] с этой ролью будут следовать друг за другом по горизонтали в том + * порядке, в котором они добавлялись в [SelectItemView] + */ + END, + + /** + * Позиционирует так же, как [CENTER]. + * Дополнительно применяет стили текста и цвета для элемента с этой ролью. + * Значение стилей берутся из [R.styleable.CellLayout_sd_labelAppearance] и + * [R.styleable.CellLayout_sd_labelColor] + */ + LABEL, + + /** + * Позиционирует так же, как [CENTER]. + * Дополнительно применяет стили текста и цвета для элемента с этой ролью. + * Значение стилей берутся из [R.styleable.CellLayout_sd_titleAppearance] и + * [R.styleable.CellLayout_sd_titleColor] + */ + TITLE, + + /** + * Позиционирует так же, как [CENTER]. + * Дополнительно применяет стили текста и цвета для элемента с этой ролью. + * Значение стилей берутся из [R.styleable.CellLayout_sd_subtitleAppearance] и + * [R.styleable.CellLayout_sd_subtitleColor] + */ + SUBTITLE, + + /** + * Позиционирует [View] в самом конце [SelectItemView], после всех [View] с ролью [END], несмотря на то, в каком + * порядке была добавлена [View] с этой ролью + */ + DISCLOSURE, + } + + companion object { + + /** + * Тип [SelectItemView] для отображения в списке элементов поддерживающим одиночный выбор. + */ + const val SELECT_ITEM_TYPE_SINGLE = 0 + + /** + * Тип [SelectItemView] для отображения в списке элементов поддерживающим множетсвенный выбор. + */ + const val SELECT_ITEM_TYPE_MULTIPLE = 1 + + internal fun wrapper( + context: Context, + attrs: AttributeSet?, + defStyleAttr: Int, + defStyleRes: Int, + ): Context { + var checkBoxStyleOverlay = 0 + var cellStyleOverlay = 0 + context.withStyledAttributes(attrs, R.styleable.SelectItem, defStyleAttr, defStyleRes) { + checkBoxStyleOverlay = getResourceId(R.styleable.SelectItem_sd_checkBoxStyleOverlay, 0) + cellStyleOverlay = getResourceId(R.styleable.SelectItem_sd_cellStyleOverlay, 0) + } + val themeOverlay = createMergedOverlayContext( + context, + checkBoxStyleOverlay, + cellStyleOverlay, + ) + return themeOverlay + } + + private fun createMergedOverlayContext(base: Context, vararg overlays: Int): Context { + val validOverlays = overlays.filter { it != 0 } + if (validOverlays.isEmpty()) return base + val newTheme = base.resources.newTheme() + newTheme.setTo(base.theme) + validOverlays.forEach { newTheme.applyStyle(it, true) } + return ContextThemeWrapper(base, newTheme) + } + } +} diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextField.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextField.kt index 4751154092..b444f5e443 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextField.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextField.kt @@ -665,6 +665,15 @@ open class TextField @JvmOverloads constructor( _decorationBox.setMask(mask, displayMode) } + /** + * Блокирует/разрешает взаимодействие с редактируемым полем + * @param noEditable включение / выключение режима + * @param onClick поведение при клике по полю в заблокированном режиме + */ + fun setInteractiveNoEditable(noEditable: Boolean, onClick: (() -> Unit)? = null) { + _decorationBox.setInteractiveNoEditable(noEditable, onClick) + } + @Suppress("UNNECESSARY_SAFE_CALL") override fun setEnabled(enabled: Boolean) { children.forEach { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextView.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextView.kt index af68003511..d3084608d9 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextView.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/TextView.kt @@ -18,12 +18,17 @@ import com.sdds.uikit.internal.base.shape.ShapeHelper import com.sdds.uikit.internal.focusselector.FocusSelectorDelegate import com.sdds.uikit.internal.focusselector.HasFocusSelector import com.sdds.uikit.shader.CachedShaderFactory +import com.sdds.uikit.statelist.AnimatedStateManagerHolder +import com.sdds.uikit.statelist.AnimationConfig import com.sdds.uikit.statelist.ColorValueStateList +import com.sdds.uikit.statelist.StateManager import com.sdds.uikit.statelist.StyleStateList +import com.sdds.uikit.statelist.getColorAnimationConfig import com.sdds.uikit.statelist.getColorValueStateList import com.sdds.uikit.statelist.getStyleForState import com.sdds.uikit.statelist.getStyleStateList import com.sdds.uikit.statelist.setTextColorValue +import com.sdds.uikit.statelist.setTextDrawableColorValue import com.sdds.uikit.viewstate.ViewState import com.sdds.uikit.viewstate.ViewState.Companion.isDefined import com.sdds.uikit.viewstate.ViewStateHolder @@ -43,12 +48,15 @@ open class TextView @JvmOverloads constructor( ) : AppCompatTextView(context, attrs, defStyleAttr), ViewStateHolder, ColorStateHolder, - HasFocusSelector by FocusSelectorDelegate(context, attrs, defStyleAttr) { + HasFocusSelector by FocusSelectorDelegate(context, attrs, defStyleAttr), + AnimatedStateManagerHolder { @Suppress("LeakingThis") private val _shapeHelper: ShapeHelper = ShapeHelper(this, attrs, defStyleAttr) + private var _textAnimationConfig: AnimationConfig? = null private var _textTint: ColorValueStateList? = null + private var _textDrawableColor: ColorValueStateList? = null private val _textBounds: Rect = Rect() private var _textShaderFactory: CachedShaderFactory = CachedShaderFactory.create() private var _respectLineHeightEnabled: Boolean = false @@ -56,6 +64,8 @@ open class TextView @JvmOverloads constructor( private var _textAppearances: StyleStateList? = null private var _currentTextAppearance: Int = 0 + override val manager: StateManager = StateManager() + /** * Флаг включает режим установки высоты [TextView] по lineHeight. * Только для однострочного текста. @@ -99,6 +109,13 @@ open class TextView @JvmOverloads constructor( context.obtainStyledAttributes(attrs, R.styleable.TextView, defStyleAttr, 0).use { setTextColor(it.getColorValueStateList(context, R.styleable.TextView_sd_textColor)) setTextAppearancesList(it.getStyleStateList(context, R.styleable.TextView_sd_textAppearance)) + _textAnimationConfig = it.getColorAnimationConfig( + R.styleable.TextView_sd_textAnimationDuration, + R.styleable.TextView_sd_textAnimationInterpolator, + context, + ) + _textDrawableColor = it.getColorValueStateList(context, R.styleable.TextView_sd_drawableColor) + ?: it.getColorValueStateList(context, R.styleable.TextView_sd_textColor) } @Suppress("LeakingThis") applySelector(this) @@ -111,6 +128,14 @@ open class TextView @JvmOverloads constructor( return super.getLineHeight() } + /** + * Устанавливает конфигурацию анимации текста [animationConfig] + */ + fun setTextAnimationConfig(animationConfig: AnimationConfig?) { + _textAnimationConfig = animationConfig + refreshDrawableState() + } + override fun setTextAppearance(resId: Int) { super.setTextAppearance(resId) _currentTextAppearance = resId @@ -207,12 +232,14 @@ open class TextView @JvmOverloads constructor( override fun drawableStateChanged() { super.drawableStateChanged() refreshTextAppearanceIfNeed() - setTextColorValue(_textTint, _textShaderFactory, _textBounds.toRectF()) + setTextColorValue(_textTint, _textShaderFactory, _textBounds.toRectF(), _textAnimationConfig) + setTextDrawableColorValue(_textTint, _textAnimationConfig) } private fun updateBounds() { paint.getTextBounds(text.toString(), 0, text.length, _textBounds) - setTextColorValue(_textTint, _textShaderFactory, _textBounds.toRectF()) + setTextColorValue(_textTint, _textShaderFactory, _textBounds.toRectF(), _textAnimationConfig) + setTextDrawableColorValue(_textTint, _textAnimationConfig) } private fun refreshTextAppearanceIfNeed() { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Wheel.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Wheel.kt index f40562fd70..6737cceb5b 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Wheel.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/Wheel.kt @@ -75,6 +75,8 @@ open class Wheel @JvmOverloads constructor( private var _itemAlignment: Int = ITEM_ALIGNMENT_CENTER private var _itemTextAfterPadding: Int = 0 private var _entryMinSpacing: Int = 0 + private var _entryMinScale: Float = 0f + private var _entryMinAlpha: Float = 0f private var _descriptionTextAppearance: Int = 0 private var _descriptionTextColor: ColorValueStateList? = null @@ -90,6 +92,10 @@ open class Wheel @JvmOverloads constructor( private var _itemSelectorEnabled: Boolean = false private var _itemSelectorTint: ColorValueStateList? = null private var _itemSelectorShapeAppearanceRes: Int = 0 + private var _itemSelectorPaddingTop: Int = 0 + private var _itemSelectorPaddingBottom: Int = 0 + private var _itemSelectorPaddingStart: Int = 0 + private var _itemSelectorPaddingEnd: Int = 0 /** * Количество видимых элементов в каждом колесе. @@ -264,6 +270,34 @@ open class Wheel @JvmOverloads constructor( } } + /** + * Минимальное расстояние между элементами. + */ + open var entryMinScale: Float + get() = _entryMinScale + set(value) { + if (_entryMinScale != value) { + _entryMinScale = value + configureWheelItems { + it.entryMinScale = value + } + } + } + + /** + * Минимальное расстояние между элементами. + */ + open var entryMinAlpha: Float + get() = _entryMinAlpha + set(value) { + if (_entryMinAlpha != value) { + _entryMinAlpha = value + configureWheelItems { + it.entryMinAlpha = value + } + } + } + init { context.withStyledAttributes(attrs, R.styleable.Wheel, defStyleAttr, defStyleRes) { controlsEnabled = getBoolean(R.styleable.Wheel_sd_controlsEnabled, false) @@ -291,6 +325,12 @@ open class Wheel @JvmOverloads constructor( _itemSelectorTint = getColorValueStateList(context, R.styleable.Wheel_sd_itemSelectorTint) _itemSelectorEnabled = getBoolean(R.styleable.Wheel_sd_itemSelectorEnabled, false) _itemSelectorShapeAppearanceRes = getResourceId(R.styleable.Wheel_sd_itemSelectorShapeAppearance, 0) + _itemSelectorPaddingTop = getDimensionPixelSize(R.styleable.Wheel_sd_itemSelectorPaddingTop, 0) + _itemSelectorPaddingBottom = getDimensionPixelSize(R.styleable.Wheel_sd_itemSelectorPaddingBottom, 0) + _itemSelectorPaddingStart = getDimensionPixelSize(R.styleable.Wheel_sd_itemSelectorPaddingStart, 0) + _itemSelectorPaddingEnd = getDimensionPixelSize(R.styleable.Wheel_sd_itemSelectorPaddingEnd, 0) + entryMinScale = getFloat(R.styleable.Wheel_sd_wheelEntryMinScale, 0f) + entryMinAlpha = getFloat(R.styleable.Wheel_sd_wheelEntryMinAlpha, 0f) } orientation = HORIZONTAL gravity = Gravity.CENTER @@ -552,7 +592,8 @@ open class Wheel @JvmOverloads constructor( if (separatorType == SEPARATOR_TYPE_DOTS && childCount > 0) { val anyWheelItem = getChildAt(0) as WheelItemView configureDotDividers { - it.translationY = (it.measuredHeight - anyWheelItem.itemHeight) / 2f + entryMinSpacing + it.translationY = + (it.measuredHeight - anyWheelItem.itemHeight + entryMinSpacing - descriptionPadding) / 2f } } } @@ -612,6 +653,8 @@ open class Wheel @JvmOverloads constructor( setItemTextAfterColor(_itemTextAfterColor) itemAlignment = alignment entryMinSpacing = this@Wheel.entryMinSpacing + entryMinScale = this@Wheel.entryMinScale + entryMinAlpha = this@Wheel.entryMinAlpha itemTextAfterPadding = this@Wheel.itemTextAfterPadding setDescriptionTextAppearance(_descriptionTextAppearance) setDescriptionTextColor(_descriptionTextColor) @@ -624,6 +667,12 @@ open class Wheel @JvmOverloads constructor( setControlIconDownColor(_controlIconDownTintList) setEntrySelectedListener(_entrySelectedListener) setItemSelectorTint(_itemSelectorTint) + setItemSelectorPaddings( + paddingStart = _itemSelectorPaddingStart, + paddingTop = _itemSelectorPaddingTop, + paddingEnd = _itemSelectorPaddingEnd, + paddingBottom = _itemSelectorPaddingBottom, + ) setItemSelectorShapeAppearance(_itemSelectorShapeAppearanceRes) itemSelectorEnabled = this@Wheel._itemSelectorEnabled setFocusSelectorSettings(focusSelectorSettings) @@ -640,6 +689,7 @@ open class Wheel @JvmOverloads constructor( orientation = Divider.ORIENTATION_VERTICAL layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT) } + SEPARATOR_TYPE_DOTS -> TextView(context).apply { isFocusable = false setTextColor(_separatorColor ?: _itemTextColor) @@ -648,6 +698,7 @@ open class Wheel @JvmOverloads constructor( setTextAppearance(_itemTextAppearance) layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) } + else -> null } return FrameLayout(context).apply { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/DecoratedFieldBox.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/DecoratedFieldBox.kt index 47e7912495..4517f24922 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/DecoratedFieldBox.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/DecoratedFieldBox.kt @@ -195,6 +195,9 @@ internal class DecoratedFieldBox( return _scrollBarEnabled && _editableContainer.measuredHeight < chipsContentHeight } + private var isInteractiveNoEditable: Boolean = false + private var onClickInNoneEditable: (() -> Unit)? = null + val editText: MaskedEditText get() = _field @@ -272,6 +275,13 @@ internal class DecoratedFieldBox( initContent() updateTextOffset() setChildrenDuplicateParentState(true) + editText.setOnTouchListener { v, event -> + if (isInteractiveNoEditable && event.action == MotionEvent.ACTION_UP) { + this@DecoratedFieldBox.performClick() + return@setOnTouchListener true + } + false + } } private fun setChildrenDuplicateParentState(enabled: Boolean) { @@ -393,6 +403,20 @@ internal class DecoratedFieldBox( fun getCompoundPaddingEnd(): Int = paddingEnd + if (actionView.isVisible) actionView.measuredWidth + _actionPadding else 0 + fun setInteractiveNoEditable(noEditable: Boolean, onClick: (() -> Unit)? = null) { + if (isInteractiveNoEditable != noEditable) { + isInteractiveNoEditable = noEditable + onClickInNoneEditable = onClick + } + if (!editText.isReadOnly && isInteractiveNoEditable) { + editText.apply { + inputType = InputType.TYPE_NULL + showSoftInputOnFocus = false + keyListener = null + } + } + } + override fun setEnabled(enabled: Boolean) { super.setEnabled(enabled) children.forEach { it.isEnabled = enabled } @@ -731,6 +755,7 @@ internal class DecoratedFieldBox( private fun handleTap() { focusEditText() updateTextState(true) + onClickInNoneEditable?.invoke() } @Suppress() @@ -920,7 +945,7 @@ internal class DecoratedFieldBox( } private fun focusEditText() { - editText.forceFocus() + editText.forceFocus(showIme = !isInteractiveNoEditable) _editableContainer.removeCallbacks(_smoothScrollRunnable) if (!isSingleLine()) { _smoothScrollRunnable = _editableContainer.postDelayed(100) { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/mask/MaskedEditText.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/mask/MaskedEditText.kt index fb3ae6120b..518018478f 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/mask/MaskedEditText.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/textfield/mask/MaskedEditText.kt @@ -58,6 +58,10 @@ internal open class MaskedEditText @JvmOverloads constructor( tailPaint.applyTextAppearance(context, resId) } + override fun performClick(): Boolean { + return super.performClick() + } + override fun onTextChanged( maskFilled: Boolean, extractedValue: String, diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelItemView.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelItemView.kt index 091114f089..f541526350 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelItemView.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelItemView.kt @@ -124,6 +124,7 @@ internal class WheelItemView(context: Context) : ViewGroup(context) { } } private val _selectorDrawable: ShapeDrawable = ShapeDrawable() + private val _selectorPaddings: Rect = Rect() val extraItemOffset: Int get() = _listView.extraItemOffset @@ -254,6 +255,22 @@ internal class WheelItemView(context: Context) : ViewGroup(context) { } } + var entryMinScale: Float + get() = _listView.minEntryScale + set(value) { + if (_listView.minEntryScale != value) { + _listView.minEntryScale = value + } + } + + var entryMinAlpha: Float + get() = _listView.minEntryAlpha + set(value) { + if (_listView.minEntryAlpha != value) { + _listView.minEntryAlpha = value + } + } + init { populate() updateControls() @@ -273,6 +290,10 @@ internal class WheelItemView(context: Context) : ViewGroup(context) { _selectorDrawable.setTintValue(tint) } + fun setItemSelectorPaddings(paddingStart: Int, paddingTop: Int, paddingEnd: Int, paddingBottom: Int) { + _selectorPaddings.set(paddingStart, paddingTop, paddingEnd, paddingBottom) + } + fun setFocusSelectorSettings(settings: FocusSelectorSettings) { if (focusSelectorSettings != settings) { focusSelectorSettings = settings @@ -451,17 +472,12 @@ internal class WheelItemView(context: Context) : ViewGroup(context) { if (estimateChild != null) { val spacing = entryMinSpacing / 2 selectorBounds.set( - estimateChild.left, - estimateChild.top + spacing, - estimateChild.right, - estimateChild.bottom - spacing, + estimateChild.left - getSelectorPaddingStart(), + estimateChild.top - _selectorPaddings.top + spacing, + estimateChild.right + getSelectorPaddingEnd(), + estimateChild.bottom + _selectorPaddings.bottom - spacing, ) } - if (_descriptionView.isVisible) { - selectorBounds.left = minOf(selectorBounds.left, _descriptionView.left) - SELECTOR_SAFE_PADDING - selectorBounds.right = maxOf(selectorBounds.right, _descriptionView.right) + SELECTOR_SAFE_PADDING - selectorBounds.bottom += SELECTOR_SAFE_PADDING - } selectorBounds.offsetTo(selectorBounds.left, (measuredHeight - selectorBounds.height()) / 2) if (_selectorDrawable.bounds != selectorBounds) { _selectorDrawable.bounds = selectorBounds @@ -469,6 +485,14 @@ internal class WheelItemView(context: Context) : ViewGroup(context) { } } + private fun getSelectorPaddingStart(): Int { + return if (layoutDirection == LAYOUT_DIRECTION_RTL) _selectorPaddings.right else _selectorPaddings.left + } + + private fun getSelectorPaddingEnd(): Int { + return if (layoutDirection == LAYOUT_DIRECTION_RTL) _selectorPaddings.left else _selectorPaddings.right + } + private fun layoutChild(child: View, top: Int): Int { if (child.isGone) return top val childLeft = if (child != _listView) { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelListView.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelListView.kt index b301f27d45..5c8fe2e486 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelListView.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/internal/wheel/WheelListView.kt @@ -131,6 +131,7 @@ internal class WheelListView(context: Context) : ListView(context) { set(value) { if (_extraItemOffset != value) { _extraItemOffset = value + itemHeightEstimated = false fakeChild = null } } @@ -140,6 +141,8 @@ internal class WheelListView(context: Context) : ListView(context) { set(value) { if (_extraItemOffsetEnabled != value) { _extraItemOffsetEnabled = value + itemHeightEstimated = false + fakeChild = null refresh() } } @@ -147,6 +150,22 @@ internal class WheelListView(context: Context) : ListView(context) { val itemHeight: Int get() = estimateChildHeight() + var minEntryScale: Float = 0f + set(value) { + if (field != value) { + field = value + updateChildTransforms() + } + } + + var minEntryAlpha: Float = 0f + set(value) { + if (field != value) { + field = value + updateChildTransforms() + } + } + private var fakeChild: View? = null private fun createMeasurementItem(): View? { @@ -330,6 +349,7 @@ internal class WheelListView(context: Context) : ListView(context) { setSelectedPosition(position, false) _initialPositionSet = true } + updateChildTransforms() pendingRefresh = false } _wheelItemAdapter.forceRefreshHolders() @@ -350,34 +370,47 @@ internal class WheelListView(context: Context) : ListView(context) { return item.title.length + (item.textAfter?.length ?: 0) } + private var itemHeightEstimated: Boolean = false + private fun estimateChildHeight( widthSpec: Int = MeasureSpec.UNSPECIFIED, heightSpec: Int = MeasureSpec.UNSPECIFIED, ): Int { val child = estimateChild ?: return 0 - val spacing = entryMinSpacing - if (child.measuredHeight > 0) { - return child.measuredHeight + spacing + if (child.measuredHeight > 0 && itemHeightEstimated) { + return child.measuredHeight } measureChild(child, widthSpec, heightSpec) - return child.measuredHeight + spacing + itemHeightEstimated = true + return child.measuredHeight } private fun estimateWheelHeight(widthSpec: Int, heightSpec: Int): Int { - val extraSpacing = if (extraItemOffsetEnabled) extraItemOffset else 0 - val itemHeight = estimateChildHeight(widthSpec, heightSpec) - extraSpacing - entryMinSpacing - val centerY = visibleCount * itemHeight / 2 - val maxDist = visibleCount * itemHeight / 2f + val itemHeight = estimateChildHeight(widthSpec, heightSpec) + var estimateHeight = 0f + val maxDist = visibleCount * itemHeight / 2f var childrenCenter = itemHeight.toFloat() / 2 - var distance = centerY - childrenCenter + var distance = maxDist - childrenCenter repeat(visibleCount) { - val heightForDistance = getItemHeightForDistance(itemHeight, distance, maxDist) + val heightForDistance = getItemHeightForDistance( + itemHeight = itemHeight, + distance = distance, + maxDist = maxDist, + ) estimateHeight += heightForDistance childrenCenter += itemHeight - distance = centerY - childrenCenter + distance = maxDist - childrenCenter } - return estimateHeight.toInt() + return estimateHeight.roundToInt() + } + + private fun getItemHeightForDistance(itemHeight: Int, distance: Float, maxDist: Float): Float { + val extraSpacing = if (extraItemOffsetEnabled) extraItemOffset else 0 + val factor = getDistanceFactor(distance, maxDist) + val scale = getScaleByDistanceFactor(factor) + val extraSpacingCompensation = if (factor == 0f) 0 else extraSpacing + return (itemHeight - extraSpacingCompensation) * scale } override fun onScrolled(dx: Int, dy: Int) { @@ -441,37 +474,29 @@ internal class WheelListView(context: Context) : ListView(context) { } private fun getMaxDistance(): Float { - return measuredHeight / 2f + return visibleCount * estimateChildHeight() / 2f } private fun getDistanceFactor(distance: Float, maxDist: Float = getMaxDistance()): Float { val absDistance = abs(distance) - return (absDistance / maxDist).coerceAtMost(1.5f) + return (absDistance / maxDist).coerceAtMost(1f) } private fun getScaleByDistanceFactor(factor: Float): Float { - return 1f - 0.3f * factor + return (1f - (1 - minEntryScale) * factor) } private fun getAlphaByDistanceFactor(factor: Float): Float { - return 1f - 0.8f * factor.coerceAtMost(1f) - } - - private fun getItemHeightForDistance(itemHeight: Int, distance: Float, maxDist: Float): Float { - val factor = getDistanceFactor(distance, maxDist) - val scale = getScaleByDistanceFactor(factor) - return (itemHeight) * scale + return (1f - (1 - minEntryAlpha) * factor.coerceAtMost(1f)) } private fun getTranslationForDistance(itemHeight: Int, distance: Float, maxDescriptionTranslation: Float): Float { val factor = getDistanceFactor(distance) val scale = getScaleByDistanceFactor(factor) val direction = sign(distance).toInt() - val descriptionCompensation = if (extraItemOffsetEnabled) { + val descriptionCompensation = run { val descriptionCompensationFactor = (abs(distance) / itemHeight).coerceIn(0f, 1f) maxDescriptionTranslation * descriptionCompensationFactor - } else { - 0f } val translateYGeneral = (itemHeight * (1 - scale) / 2) + (descriptionCompensation * scale / 2) return direction * translateYGeneral @@ -532,8 +557,7 @@ internal class WheelListView(context: Context) : ListView(context) { @Suppress("LongMethod") private fun updateChildTransforms() { if (measuredHeight == 0) return - val centerY = measuredHeight / 2f - + val centerY = measuredHeight / 2 for (i in 0 until childCount) { val child = getChildAt(i) val childHolder = getChildViewHolder(child) as WheelListView.WheelItemAdapter.WheelItemEntryHolder @@ -549,28 +573,38 @@ internal class WheelListView(context: Context) : ListView(context) { val maxDescriptionCompensation = childHolder.maxDescriptionCompensation val indexFromCenter = (abs(distance) / itemHeight).roundToInt() - val descriptionCompensation = if (extraItemOffsetEnabled) { + val descriptionCompensation = run { val descriptionCompensationFactor = (distance / itemHeight).coerceIn(0f, 1f) maxDescriptionCompensation * descriptionCompensationFactor - } else { - 0f } val translationY = if (direction != 0) { - val translateYGeneral = itemHeight * (1 - scale) / 2 + val translateYGeneral = getTranslationForDistance( + itemHeight = itemHeight, + distance = distance, + maxDescriptionTranslation = maxDescriptionCompensation, + ) var allTranslation = 0f var neighbourCenter = childCenterY + direction * itemHeight var neighbourDistance = centerY - neighbourCenter var neighbourTranslation = - getTranslationForDistance(itemHeight, neighbourDistance, maxDescriptionCompensation) + getTranslationForDistance( + itemHeight = itemHeight, + distance = neighbourDistance, + maxDescriptionTranslation = maxDescriptionCompensation, + ) while (neighbourDistance.sign == distance.sign && indexFromCenter <= visibleCount / 2 + 1) { allTranslation += neighbourTranslation neighbourCenter += direction * itemHeight neighbourDistance = centerY - neighbourCenter neighbourTranslation = - getTranslationForDistance(itemHeight, neighbourDistance, maxDescriptionCompensation) + getTranslationForDistance( + itemHeight = itemHeight, + distance = neighbourDistance, + maxDescriptionTranslation = maxDescriptionCompensation, + ) } - direction * translateYGeneral + allTranslation * 2 + translateYGeneral + allTranslation * 2 } else { 0f } @@ -716,7 +750,7 @@ internal class WheelListView(context: Context) : ListView(context) { ?: 0 val maxDescriptionCompensation: Float - get() = (itemView.measuredHeight - entryMinSpacing - wheelItem.measuredHeight).toFloat() + get() = descriptionOffset.toFloat() init { updateStyle() @@ -787,7 +821,7 @@ internal class WheelListView(context: Context) : ListView(context) { private val _tempRect: Rect = Rect() override fun calculateExtraLayoutSpace(state: State, extraLayoutSpace: IntArray) { super.calculateExtraLayoutSpace(state, extraLayoutSpace) - val extraSpace = 2 * itemHeight + val extraSpace = itemHeight extraLayoutSpace[0] = extraSpace extraLayoutSpace[1] = extraSpace } @@ -910,7 +944,11 @@ internal class WheelListView(context: Context) : ListView(context) { val textAfterWidth = entry.textAfter?.let { _itemTextAfterView.paint.measureText(it, 0, it.length) } ?: 0f - return (titleWidth + textAfterWidth).roundToInt() + // Нужно больше костылей богу костылей. + // Самый визаульно длинный элемент мы определяем по самой длинной стоке. + // Но TextView это не нравится и он все равно рисует ellipsis. Поэтому добавляем доп. паддинг + // Ничего лучше я не придумал, извините, я устал... + return (titleWidth + textAfterWidth + EXTRA_SPACE).roundToInt() } override fun onCreateDrawableState(extraSpace: Int): IntArray { @@ -929,6 +967,7 @@ internal class WheelListView(context: Context) : ListView(context) { } private companion object { + val EXTRA_SPACE = 1.dp val FocusState = intArrayOf(android.R.attr.state_focused) fun ColorValueStateList.getSelectionColor(): Int { diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/shader/GradientShader.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/shader/GradientShader.kt index ebc7b2d86b..b9edefcd3c 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/shader/GradientShader.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/shader/GradientShader.kt @@ -5,6 +5,7 @@ import android.content.res.Resources.Theme import android.content.res.TypedArray import android.graphics.ComposeShader import android.graphics.LinearGradient +import android.graphics.Matrix import android.graphics.PointF import android.graphics.PorterDuff import android.graphics.RadialGradient @@ -133,29 +134,53 @@ sealed class GradientShader : ShaderFactory { * Шейдер радиального градиента * @param colors цвета * @param positions точки остановки цветов - * @param radius относительный радиус от 0.0 до 1.0 (0-100%) + * @param radiusHorizontal относительный радиус по горизонтали (в процентах) + * @param radiusHorizontal относительный радиус по вертикали (в процентах) * @param centerX относительная координата центра по X от 0.0 до 1.0 (0-100%) * @param centerY относительная координата центра по Y от 0.0 до 1.0 (0-100%) */ class Radial( private val colors: IntArray, private val positions: FloatArray, - private val radius: Float, + private val radiusHorizontal: Float, + private val radiusVertical: Float, private val centerX: Float, private val centerY: Float, ) : GradientShader() { + /** + * Шейдер радиального градиента + * @param colors цвета + * @param positions точки остановки цветов + * @param radius относительный радиус (в процентах) + * @param centerX относительная координата центра по X от 0.0 до 1.0 (0-100%) + * @param centerY относительная координата центра по Y от 0.0 до 1.0 (0-100%) + */ + constructor( + colors: IntArray, + positions: FloatArray, + radius: Float, + centerX: Float, + centerY: Float, + ) : this(colors, positions, radius, radius, centerX, centerY) + private var tileMode: TileMode = TileMode.CLAMP + private val localMatrix = Matrix() override fun resize(width: Float, height: Float): Shader { + val pivotX = width * centerX + val pivotY = height * centerY return RadialGradient( - width * centerX, - height * centerY, - java.lang.Float.max(width, height) * radius / 2f, + pivotX, + pivotY, + java.lang.Float.max(width, height), colors, positions, tileMode, - ) + ).apply { + localMatrix.setScale(radiusHorizontal, radiusVertical, pivotX, pivotY) + setLocalMatrix(localMatrix) + } } override fun setTileMode(tileMode: TileMode) { @@ -254,7 +279,8 @@ private fun ShaderAppearance.toGradientShader(): GradientShader? { ShapeDrawable.GradientType.RADIAL -> GradientShader.Radial( colors = colors, positions = stops, - radius = radius, + radiusHorizontal = radiusHorizontal, + radiusVertical = radiusVertical, centerX = centerX, centerY = centerY, ) @@ -287,6 +313,7 @@ private fun TypedArray.obtainShaderLayers(theme: Theme): Array { } } +@Suppress("LongMethod") private fun TypedArray.obtainGradientShader(): GradientShader? { val type = ShapeDrawable.GradientType.values().getOrElse( getInt(R.styleable.SdShaderAppearance_sd_gradientType, 0), @@ -331,19 +358,24 @@ private fun TypedArray.obtainGradientShader(): GradientShader? { } else { null } + val radius = getFloat(R.styleable.SdShaderAppearance_sd_radius, 0f) + val radiusHorizontal = getFloat(R.styleable.SdShaderAppearance_sd_radiusHorizontal, radius) + val radiusVertical = getFloat(R.styleable.SdShaderAppearance_sd_radiusVertical, radius) return ShaderAppearance( type = type, colors = colors, stops = stops, centerX = getFloat(R.styleable.SdShaderAppearance_sd_centerX, 0f), centerY = getFloat(R.styleable.SdShaderAppearance_sd_centerY, 0f), - radius = getFloat(R.styleable.SdShaderAppearance_sd_radius, 0f), + radiusHorizontal = radiusHorizontal, + radiusVertical = radiusVertical, angle = getFloat(R.styleable.SdShaderAppearance_sd_angle, 0f), startPoint = startPoint, endPoint = endPoint, ).toGradientShader() } +@Suppress("LongMethod") private fun TypedArray.obtainShaderLayerAppearance(): ShaderAppearance { val type = ShapeDrawable.GradientType.values().getOrElse( getInt(R.styleable.SdShaderLayer_sd_gradientType, 0), @@ -388,13 +420,17 @@ private fun TypedArray.obtainShaderLayerAppearance(): ShaderAppearance { } else { null } + val radius = getFloat(R.styleable.SdShaderLayer_sd_radius, 0f) + val radiusHorizontal = getFloat(R.styleable.SdShaderLayer_sd_radiusHorizontal, radius) + val radiusVertical = getFloat(R.styleable.SdShaderLayer_sd_radiusVertical, radius) return ShaderAppearance( type = type, colors = colors, stops = stops, centerX = getFloat(R.styleable.SdShaderLayer_sd_centerX, 0f), centerY = getFloat(R.styleable.SdShaderLayer_sd_centerY, 0f), - radius = getFloat(R.styleable.SdShaderLayer_sd_radius, 0f), + radiusHorizontal = radiusHorizontal, + radiusVertical = radiusVertical, angle = getFloat(R.styleable.SdShaderLayer_sd_angle, 0f), startPoint = startPoint, endPoint = endPoint, @@ -407,7 +443,8 @@ private class ShaderAppearance( val stops: FloatArray, val centerX: Float, val centerY: Float, - val radius: Float, + val radiusHorizontal: Float, + val radiusVertical: Float, val angle: Float, val startPoint: PointF?, val endPoint: PointF?, diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimatedStateManager.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimatedStateManager.kt new file mode 100644 index 0000000000..4ae26ec00b --- /dev/null +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimatedStateManager.kt @@ -0,0 +1,171 @@ +package com.sdds.uikit.statelist + +import android.animation.TypeEvaluator +import android.animation.ValueAnimator +import android.util.Log + +/** + * Интерфейс, предоставляющий доступ к менеджеру состояний анимации. + * + * Используется для компонентов, которые могут управлять анимированными состояниями + * и нуждаются в доступе к [StateManager] для отслеживания изменений состояний. + */ +interface AnimatedStateManagerHolder { + + /** + * Менеджер состояний, отвечающий за отслеживание и управление + * текущим и предыдущим состояниями анимации. + */ + val manager: StateManager +} + +/** + * Снимок состояния анимации, содержащий начальное и целевое состояния. + * + * Используется для захвата пары состояний (предыдущего и текущего) в конкретный момент времени, + * что позволяет анимировать переход между ними. + * + * @property initial Начальное состояние в виде массива целых чисел (предыдущее состояние) + * @property target Целевое состояние в виде массива целых чисел (текущее состояние) + */ +data class StateSnapshot( + val initial: IntArray, + val target: IntArray, +) { + /** + * Сравнивает текущий объект с другим объектом на равенство. + * + * Два снимка состояния считаются равными, если их начальные и целевые массивы + * содержат одинаковые элементы в одинаковом порядке. + * + * @param other Объект для сравнения + * @return `true`, если объекты равны, иначе `false` + */ + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as StateSnapshot + + if (!initial.contentEquals(other.initial)) return false + if (!target.contentEquals(other.target)) return false + + return true + } + + /** + * Вычисляет хэш-код на основе содержимого массивов [initial] и [target]. + * + * @return Хэш-код объекта + */ + override fun hashCode(): Int { + var result = initial.contentHashCode() + result = 31 * result + target.contentHashCode() + return result + } +} + +/** + * Создает и запускает анимацию для значения произвольного типа. + * + * Функция создает [ValueAnimator] с указанными начальным и целевым значениями, + * использует переданный оценщик для интерполяции значений во время анимации, + * и вызывает колбэк [onValue] на каждом кадре анимации с текущим значением. + * + * @param T Тип анимируемого значения + * @param initial Начальное значение анимации + * @param target Целевое значение анимации + * @param evaluator Оценщик, определяющий, как интерполировать значения между [initial] и [target] + * @param config Конфигурация анимации, содержащая длительность и интерполятор + * @param onValue Колбэк, вызываемый на каждом кадре анимации с текущим значением + */ +fun animateValue( + initial: T, + target: T, + evaluator: TypeEvaluator, + config: AnimationConfig, + onValue: (T) -> Unit, +) { + ValueAnimator.ofObject( + evaluator, + initial, + target, + ) + .apply { + duration = config.duration + interpolator = config.interpolator + addUpdateListener { + Log.e("Animation", "animateValue: onUpdate ${it.animatedValue}") + @Suppress("UNCHECKED_CAST") + onValue(it.animatedValue as T) + } + start() + } +} + +/** + * Анимирует переход между состояниями для [ValueStateList]. + * + * Расширение для [ValueStateList], которое автоматически извлекает начальное и целевое значения + * из переданного снимка состояния и запускает анимацию между ними. + * + * @param T Тип анимируемого значения + * @param stateSnapshot Снимок состояния, содержащий начальное и целевое состояния + * @param evaluator Оценщик, определяющий, как интерполировать значения + * @param config Конфигурация анимации + * @param defaultValue Значение по умолчанию, используемое, если для указанного состояния не найдено значение + * @param onValue Колбэк, вызываемый на каждом кадре анимации с текущим значением + */ +fun ValueStateList.animateValue( + stateSnapshot: StateSnapshot, + evaluator: TypeEvaluator, + config: AnimationConfig, + defaultValue: T? = null, + onValue: (T) -> Unit, +) { + animateValue( + initial = getValueForState(stateSnapshot.initial, defaultValue), + target = getValueForState(stateSnapshot.target, defaultValue), + evaluator = evaluator, + config = config, + onValue = onValue, + ) +} + +/** + * Менеджер состояний для отслеживания изменений состояний анимации. + * + * Хранит текущее и предыдущее состояния, + * позволяя отслеживать изменения и получать снимок состояния для анимации переходов. + * + * @property stateSnapshot Снимок текущего состояния, содержащий предыдущее и текущее состояния + */ +class StateManager { + + /** + * Возвращает снимок текущего состояния, содержащий предыдущее и текущее состояния. + */ + val stateSnapshot: StateSnapshot + get() = StateSnapshot(prevState, currentState) + + private var prevState = intArrayOf() + private var currentState = intArrayOf() + + /** + * Обновляет текущее состояние, если оно отличается от переданного. + * + * При изменении состояния предыдущее состояние заменяется текущим, + * а текущее обновляется новым значением. + * + * @param drawableState Новое состояние в виде массива целых чисел + * @return `true`, если состояние было изменено, `false` - если новое состояние совпадает с текущим + */ + fun update(drawableState: IntArray): Boolean { + if (!currentState.contentEquals(drawableState)) { + prevState = currentState + currentState = drawableState + return true + } + return false + } +} diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimationConfig.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimationConfig.kt new file mode 100644 index 0000000000..3d6e85ff45 --- /dev/null +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/AnimationConfig.kt @@ -0,0 +1,63 @@ +package com.sdds.uikit.statelist + +import android.animation.TimeInterpolator +import android.content.Context +import android.content.res.Resources +import android.content.res.TypedArray +import android.view.animation.AccelerateDecelerateInterpolator +import android.view.animation.AccelerateInterpolator +import android.view.animation.AnimationUtils +import android.view.animation.DecelerateInterpolator + +/** + * Конфигурация анимации, определяющая временные параметры анимационного перехода. + * + * Используется для настройки поведения анимации, включая её продолжительность + * и временную интерполяцию (ускорение/замедление). + * + * @property duration Продолжительность анимации в миллисекундах + * @property interpolator Интерполятор времени, определяющий кривую ускорения анимации + */ +data class AnimationConfig( + val duration: Long, + val interpolator: TimeInterpolator, +) + +/** + * Извлекает конфигурацию анимации цвета из [TypedArray] по указанным атрибутам. + * + * Функция анализирует атрибуты продолжительности и интерполятора в TypedArray + * и создает соответствующую конфигурацию анимации. Если ни один из атрибутов + * не присутствует в TypedArray, возвращается `null`. + * + * Если атрибут продолжительности не указан, используется значение по умолчанию 200 мс. + * Если атрибут интерполятора не указан, используется интерполятор по умолчанию [AccelerateDecelerateInterpolator]. + * + * @receiver TypedArray Исходный массив типизированных атрибутов (обычно из XML-разметки) + * @param durationAttr Идентификатор атрибута продолжительности анимации (например, `R.attr.animationDuration`) + * @param interpolatorAttr Идентификатор атрибута интерполятора анимации (например, `R.attr.animationInterpolator`). + * По умолчанию `0`, что означает отсутствие атрибута + * @return Конфигурация анимации, если присутствует хотя бы один из атрибутов, + * иначе `null` + * + * @see AnimationConfig + * @see AccelerateInterpolator + * @see DecelerateInterpolator + * @see AccelerateDecelerateInterpolator + */ +fun TypedArray.getColorAnimationConfig( + durationAttr: Int, + interpolatorAttr: Int = 0, + context: Context, +): AnimationConfig? { + val hasDuration = hasValue(durationAttr) + val hasInterpolator = hasValue(interpolatorAttr) + if (!hasDuration && !hasInterpolator) return null + val duration = getInt(durationAttr, 200).toLong() + val interpolator = try { + AnimationUtils.loadInterpolator(context, getResourceId(interpolatorAttr, 0)) + } catch (e: Resources.NotFoundException) { + AccelerateDecelerateInterpolator() + } + return AnimationConfig(duration, interpolator) +} diff --git a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/ColorValueStateList.kt b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/ColorValueStateList.kt index 995926bdc0..316497d692 100644 --- a/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/ColorValueStateList.kt +++ b/sdds-core/uikit/src/main/kotlin/com/sdds/uikit/statelist/ColorValueStateList.kt @@ -1,8 +1,10 @@ package com.sdds.uikit.statelist +import android.animation.ArgbEvaluator import android.content.Context import android.content.res.ColorStateList import android.content.res.TypedArray +import android.graphics.Color import android.graphics.Paint import android.graphics.RectF import android.graphics.Shader @@ -17,6 +19,7 @@ import androidx.annotation.XmlRes import androidx.appcompat.content.res.AppCompatResources import androidx.core.graphics.ColorUtils import androidx.core.widget.TextViewCompat +import com.sdds.uikit.ImageView import com.sdds.uikit.R import com.sdds.uikit.TextView import com.sdds.uikit.internal.base.colorForState @@ -66,7 +69,10 @@ class ColorValueStateList( */ fun valueOf(value: Drawable?): ColorValueStateList? { if (value == null) return null - return ColorValueStateList(arrayOf(IntArray(0)), arrayOf(ColorValueHolder.DrawableValue(value))) + return ColorValueStateList( + arrayOf(IntArray(0)), + arrayOf(ColorValueHolder.DrawableValue(value)), + ) } /** @@ -76,7 +82,10 @@ class ColorValueStateList( * @return Новый [ColorValueStateList] с одним элементом. */ fun valueOf(@ColorInt value: Int): ColorValueStateList { - return ColorValueStateList(arrayOf(IntArray(0)), arrayOf(ColorValueHolder.ColorValue(value))) + return ColorValueStateList( + arrayOf(IntArray(0)), + arrayOf(ColorValueHolder.ColorValue(value)), + ) } /** @@ -87,7 +96,10 @@ class ColorValueStateList( */ fun valueOf(value: ColorStateList?): ColorValueStateList? { if (value == null) return null - return ColorValueStateList(arrayOf(IntArray(0)), arrayOf(ColorValueHolder.ColorListValue(value))) + return ColorValueStateList( + arrayOf(IntArray(0)), + arrayOf(ColorValueHolder.ColorListValue(value)), + ) } /** @@ -97,7 +109,10 @@ class ColorValueStateList( * @param values Список значений цвета. * @return Новый экземпляр [ColorValueStateList]. */ - fun fromStates(states: Array, values: List): ColorValueStateList { + fun fromStates( + states: Array, + values: List, + ): ColorValueStateList { require(states.size == values.size) { "States and values must have the same length" } return ColorValueStateList(states, values.toTypedArray()) } @@ -127,8 +142,12 @@ class ColorValueStateList( if (parser.eventType == XmlPullParser.START_TAG && parser.name == ELEMENT_TAG) { val itemAttrs = Xml.asAttributeSet(parser) - val a = context.obtainStyledAttributes(itemAttrs, R.styleable.ColorValueStateListItem) - val valueResId = a.getResourceId(R.styleable.ColorValueStateListItem_sd_color, 0) + val a = context.obtainStyledAttributes( + itemAttrs, + R.styleable.ColorValueStateListItem, + ) + val valueResId = + a.getResourceId(R.styleable.ColorValueStateListItem_sd_color, 0) val alpha = a.getFloat(R.styleable.ColorValueStateListItem_android_alpha, 1f) a.recycle() @@ -153,7 +172,10 @@ class ColorValueStateList( * @return Новый [ColorValueStateList]. */ internal fun valueOf(context: Context, @IdRes resId: Int): ColorValueStateList { - return ColorValueStateList(arrayOf(IntArray(0)), arrayOf(resolveValue(context, resId, 1f))) + return ColorValueStateList( + arrayOf(IntArray(0)), + arrayOf(resolveValue(context, resId, 1f)), + ) } /** @@ -257,10 +279,51 @@ fun TypedArray.getColorValueStateList( "xml" -> ColorValueStateListCache.get(context, stateListResId) { ctx, resId -> ColorValueStateList.inflate(ctx, resId) } + else -> ColorValueStateList.valueOf(context, stateListResId) } } +/** + * Анимирует переход цвета между состояниями для [ColorValueStateList]. + * + * Функция анализирует текущее состояние цветового списка и выполняет анимацию + * перехода между цветами, соответствующими начальному и целевому состояниям. + * + * Логика работы: + * * Если список содержит простое значение (один цвет для всех состояний), + * анимация не выполняется, а колбэк вызывается сразу с целевым значением + * * Если список имеет разные цвета для разных состояний, создается анимация + * с использованием [ArgbEvaluator] для плавного перехода между ARGB-цветами + * + * @receiver ColorValueStateList Список цветовых значений, привязанных к состояниям + * @param stateSnapshot Снимок состояния, содержащий начальное и целевое состояния + * @param config Конфигурация анимации, определяющая длительность и интерполятор + * @param onValue Колбэк, вызываемый на каждом кадре анимации с текущим цветовым значением. + * Если анимация не выполняется, колбэк вызывается один раз + * с цветом из целевого состояния + * + * @see ColorValueStateList + * @see StateSnapshot + * @see AnimationConfig + * @see ArgbEvaluator + * @see ColorValueHolder + */ +fun ColorValueStateList.animateColorValue( + stateSnapshot: StateSnapshot, + config: AnimationConfig, + onValue: (ColorValueHolder) -> Unit, +) { + if (!isSimple()) return onValue(getValueForState(stateSnapshot.target)) + animateValue( + initial = colorForState(stateSnapshot.initial, Color.TRANSPARENT), + target = colorForState(stateSnapshot.target, Color.TRANSPARENT), + evaluator = ArgbEvaluator(), + config = config, + onValue = { onValue(ColorValueHolder.ColorValue(it as? Int ?: Color.TRANSPARENT)) }, + ) +} + /** * Устанавливает фон [View] в соответствии с [ColorValueStateList]. * @@ -268,62 +331,189 @@ fun TypedArray.getColorValueStateList( * * @param colorValueStateList Список значений цвета для различных состояний. */ -fun View.setBackgroundValueList(colorValueStateList: ColorValueStateList?) { +fun View.setBackgroundValueList( + colorValueStateList: ColorValueStateList?, + colorAnimationConfig: AnimationConfig? = null, +) { if (colorValueStateList == null) return + if (this is AnimatedStateManagerHolder && colorAnimationConfig != null) { + val needUpdate = manager.update(drawableState) + if (!needUpdate) return + colorValueStateList.animateColorValue( + stateSnapshot = manager.stateSnapshot, + config = colorAnimationConfig, + ) { holder -> + setBackgroundFromHolder(holder) + } + return + } + val backgroundValue = if (colorValueStateList.isStateful()) { colorValueStateList.getValueForState(drawableState) } else { colorValueStateList.getDefaultValue() } - when (backgroundValue) { - is ColorValueHolder.ColorValue -> { - if (background != null && background !is ColorDrawable) { - backgroundTintList = ColorStateList.valueOf(backgroundValue.value) - } else { - setBackgroundColor(backgroundValue.value) - } + setBackgroundFromHolder(backgroundValue) +} + +private fun View.setBackgroundFromHolder(holder: ColorValueHolder) = when (holder) { + is ColorValueHolder.ColorValue -> { + if (background != null && background !is ColorDrawable) { + backgroundTintList = ColorStateList.valueOf(holder.value) + } else { + setBackgroundColor(holder.value) } - is ColorValueHolder.DrawableValue -> background = backgroundValue.value - is ColorValueHolder.ColorListValue -> backgroundTintList = backgroundValue.value - is ColorValueHolder.ShaderValue -> {} } + + is ColorValueHolder.DrawableValue -> background = holder.value + is ColorValueHolder.ColorListValue -> backgroundTintList = holder.value + is ColorValueHolder.ShaderValue -> {} } /** - * Устанавливает фон [View] в соответствии с [ColorValueStateList]. - * - * Применяет значение в зависимости от состояния View: цвет, drawable, tint или shader. + * Устанавливает цвет текста [TextView] в соответствии с [ColorValueStateList]. * * @param colorValueStateList Список значений цвета для различных состояний. * @param cachedShaderFactory делегат для кэширования [ShaderFactory] * @param textBounds границы текста + * @param colorAnimationConfig конфиг анимации */ fun TextView.setTextColorValue( colorValueStateList: ColorValueStateList?, cachedShaderFactory: CachedShaderFactory, textBounds: RectF = EmptyRectF, + colorAnimationConfig: AnimationConfig? = null, ) { if (colorValueStateList == null) return + + if (colorAnimationConfig != null) { + manager.update(drawableState) + + colorValueStateList.animateColorValue( + stateSnapshot = manager.stateSnapshot, + config = colorAnimationConfig, + ) { holder -> + setTextColorFromHolder(holder, cachedShaderFactory, textBounds) + } + return + } + val textColorValue = if (colorValueStateList.isStateful()) { colorValueStateList.getValueForState(drawableState) } else { colorValueStateList.getDefaultValue() } - when (textColorValue) { + setTextColorFromHolder(textColorValue, cachedShaderFactory, textBounds) +} + +/** + * Устанавливает цвет drawable в [TextView] в соответствии с [ColorValueStateList]. + * + * @param colorValueStateList Список значений цвета для различных состояний. + * @param colorAnimationConfig конфиг анимации + */ +fun TextView.setTextDrawableColorValue( + colorValueStateList: ColorValueStateList?, + colorAnimationConfig: AnimationConfig? = null, +) { + if (colorValueStateList == null) return + + if (colorAnimationConfig != null) { + manager.update(drawableState) + + colorValueStateList.animateColorValue( + stateSnapshot = manager.stateSnapshot, + config = colorAnimationConfig, + ) { holder -> + setTextDrawableColorFromHolder(holder) + } + return + } + + val textColorValue = if (colorValueStateList.isStateful()) { + colorValueStateList.getValueForState(drawableState) + } else { + colorValueStateList.getDefaultValue() + } + setTextDrawableColorFromHolder(textColorValue) +} + +private fun TextView.setTextDrawableColorFromHolder( + holder: ColorValueHolder, +) { + when (holder) { is ColorValueHolder.ColorValue -> { - setTextColor(textColorValue.value) - TextViewCompat.setCompoundDrawableTintList(this, ColorStateList.valueOf(textColorValue.value)) + TextViewCompat.setCompoundDrawableTintList( + this, + ColorStateList.valueOf(holder.value), + ) } - is ColorValueHolder.DrawableValue -> {} + is ColorValueHolder.ColorListValue -> { - setTextColor(textColorValue.value) - TextViewCompat.setCompoundDrawableTintList(this, textColorValue.value) + TextViewCompat.setCompoundDrawableTintList(this, holder.value) } + is ColorValueHolder.ShaderValue -> { - paint.color = -1 - paint.shader = cachedShaderFactory.getShader(textColorValue.value, textBounds) TextViewCompat.setCompoundDrawableTintList(this, null) } + else -> Unit + } +} + +private fun TextView.setTextColorFromHolder( + holder: ColorValueHolder, + cachedShaderFactory: CachedShaderFactory, + textBounds: RectF = EmptyRectF, +) { + when (holder) { + is ColorValueHolder.ColorValue -> setTextColor(holder.value) + is ColorValueHolder.DrawableValue -> {} + is ColorValueHolder.ColorListValue -> setTextColor(holder.value) + is ColorValueHolder.ShaderValue -> { + paint.color = -1 + paint.shader = cachedShaderFactory.getShader(holder.value, textBounds) + } + } +} + +/** + * Устанавливает цвет [ImageView] в соответствии с [ColorValueStateList]. + * + * @param colorValueStateList Список значений цвета для различных состояний. + * @param colorAnimationConfig конфиг анимации + */ +fun ImageView.setImageColorValueList( + colorValueStateList: ColorValueStateList?, + colorAnimationConfig: AnimationConfig? = null, +) { + if (colorValueStateList == null) return + + if (colorAnimationConfig != null) { + manager.update(drawableState) + + colorValueStateList.animateColorValue( + stateSnapshot = manager.stateSnapshot, + config = colorAnimationConfig, + ) { holder -> + setImageColorFromHolder(holder) + } + return + } + + val imageColorValue = if (colorValueStateList.isStateful()) { + colorValueStateList.getValueForState(drawableState) + } else { + colorValueStateList.getDefaultValue() + } + setImageColorFromHolder(imageColorValue) +} + +private fun ImageView.setImageColorFromHolder(holder: ColorValueHolder) { + when (holder) { + is ColorValueHolder.ColorValue -> imageTintList = ColorStateList.valueOf(holder.value) + is ColorValueHolder.ColorListValue -> imageTintList = holder.value + is ColorValueHolder.DrawableValue -> {} + is ColorValueHolder.ShaderValue -> {} } } @@ -376,6 +566,7 @@ fun Paint.setColorValue( } shader = shapeShaderFactory?.let { cachedShaderFactory.getShader(it, bounds) } } + is ColorValueHolder.ShaderValue -> { shader = cachedShaderFactory.getShader(colorValue.value, bounds) } diff --git a/sdds-core/uikit/src/main/res/layout/sd_layout_simple_select_item.xml b/sdds-core/uikit/src/main/res/layout/sd_layout_simple_select_item.xml new file mode 100644 index 0000000000..61823c4b0e --- /dev/null +++ b/sdds-core/uikit/src/main/res/layout/sd_layout_simple_select_item.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit/src/main/res/values/base_attrs.xml b/sdds-core/uikit/src/main/res/values/base_attrs.xml index 4d2591e722..7e9bacd2ab 100644 --- a/sdds-core/uikit/src/main/res/values/base_attrs.xml +++ b/sdds-core/uikit/src/main/res/values/base_attrs.xml @@ -37,7 +37,13 @@ + + + + + + @@ -122,6 +128,8 @@ + + @@ -137,6 +145,8 @@ + + diff --git a/sdds-core/uikit/src/main/res/values/cell_layout_attrs.xml b/sdds-core/uikit/src/main/res/values/cell_layout_attrs.xml index 36b96021f0..5f58854fa1 100644 --- a/sdds-core/uikit/src/main/res/values/cell_layout_attrs.xml +++ b/sdds-core/uikit/src/main/res/values/cell_layout_attrs.xml @@ -27,6 +27,12 @@ + + + + + + diff --git a/sdds-core/uikit/src/main/res/values/dimens.xml b/sdds-core/uikit/src/main/res/values/dimens.xml index 59938a3831..151f086523 100644 --- a/sdds-core/uikit/src/main/res/values/dimens.xml +++ b/sdds-core/uikit/src/main/res/values/dimens.xml @@ -48,6 +48,8 @@ 230dp 240dp 250dp + 260dp + 300dp 320dp 400dp 700dp diff --git a/sdds-core/uikit/src/main/res/values/image_view_attrs.xml b/sdds-core/uikit/src/main/res/values/image_view_attrs.xml index f2986847d4..455a0816ec 100644 --- a/sdds-core/uikit/src/main/res/values/image_view_attrs.xml +++ b/sdds-core/uikit/src/main/res/values/image_view_attrs.xml @@ -35,5 +35,7 @@ + + \ No newline at end of file diff --git a/sdds-core/uikit/src/main/res/values/select_attrs.xml b/sdds-core/uikit/src/main/res/values/select_attrs.xml new file mode 100644 index 0000000000..af67f7366b --- /dev/null +++ b/sdds-core/uikit/src/main/res/values/select_attrs.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit/src/main/res/values/styles_modal.xml b/sdds-core/uikit/src/main/res/values/styles_modal.xml index 50766770dd..dde479979f 100644 --- a/sdds-core/uikit/src/main/res/values/styles_modal.xml +++ b/sdds-core/uikit/src/main/res/values/styles_modal.xml @@ -8,6 +8,8 @@ false false false + false + none @anim/sd_modal_appear @anim/sd_modal_disappear 300 diff --git a/sdds-core/uikit/src/main/res/values/styles_select.xml b/sdds-core/uikit/src/main/res/values/styles_select.xml new file mode 100644 index 0000000000..a8a2fe4ba4 --- /dev/null +++ b/sdds-core/uikit/src/main/res/values/styles_select.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/sdds-core/uikit/src/main/res/values/styles_wheel.xml b/sdds-core/uikit/src/main/res/values/styles_wheel.xml index fa96815c54..0a7e38fe34 100644 --- a/sdds-core/uikit/src/main/res/values/styles_wheel.xml +++ b/sdds-core/uikit/src/main/res/values/styles_wheel.xml @@ -5,6 +5,12 @@ false always true + 0.16 + 0.35 + 8dp + 8dp + 8dp + 8dp + \ No newline at end of file diff --git a/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ThemeUtils.kt b/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ThemeUtils.kt new file mode 100644 index 0000000000..ca904c1eb4 --- /dev/null +++ b/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ThemeUtils.kt @@ -0,0 +1,22 @@ +package com.sdkit.star.designsystem + +import android.view.View +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.component +import org.hamcrest.Matcher + +internal fun themedComponent( + viewMatcherFactory: ((View) -> Matcher)? = null, + action: ((View) -> Unit)? = null, + skipDefaultCaptureRoboImage: Boolean = false, + factory: ComponentScope.() -> View, +) { + component( + com.sdkit.star.designsystem.docs.R.style.Sdkit_Doc_Theme, + R.attr.sdkit_backgroundDefaultPrimary, + viewMatcherFactory, + action, + skipDefaultCaptureRoboImage, + factory, + ) +} diff --git a/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ViewSystemDocScreenshotTest.kt b/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ViewSystemDocScreenshotTest.kt new file mode 100644 index 0000000000..8993333158 --- /dev/null +++ b/tokens/plasma-stards-view/docs/src/test/kotlin/com/sdkit/star/designsystem/ViewSystemDocScreenshotTest.kt @@ -0,0 +1,34 @@ +package com.sdkit.star.designsystem + +import android.os.Looper +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.samples.RoborazziConfigDocsXml +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.ParameterizedRobolectricTestRunner +import org.robolectric.Shadows.shadowOf +import org.robolectric.annotation.Config +import org.robolectric.annotation.GraphicsMode + +@RunWith(ParameterizedRobolectricTestRunner::class) +@GraphicsMode(GraphicsMode.Mode.NATIVE) +@Config(sdk = [SDK_NUMBER], qualifiers = RobolectricDeviceQualifiers.Television1080p) +class ViewSystemDocScreenshotTest(viewSample: ViewSampleInfo) : + RoborazziConfigDocsXml(viewSample) { + + @Test + fun docs_view_screenshot_test() { + try { + themedComponent( + factory = { + viewSample.sample.reference(context) + }, + ) + shadowOf(Looper.getMainLooper()).idle() + shadowOf(Looper.getMainLooper()).runToEndOfTasks() + } catch (e: Throwable) { + throw AssertionError("FAILED: ${viewSample.id}", e) + } + } +} diff --git a/tokens/plasma-stards-view/gradle.properties b/tokens/plasma-stards-view/gradle.properties index b5e192109c..3c44ce8ca9 100644 --- a/tokens/plasma-stards-view/gradle.properties +++ b/tokens/plasma-stards-view/gradle.properties @@ -2,7 +2,7 @@ nexus.artifactId=plasma-star-ds nexus.snapshot=false nexus.description=plasma-star-ds library for view framework versionMajor=2 -versionMinor=28 +versionMinor=29 versionPatch=0 summary.key=plasmaStarDS @@ -10,7 +10,7 @@ summary.key=plasmaStarDS theme-url=https://github.com/salute-developers/theme-converter/raw/main/themes/plasma_stards/0.7.0-alpha.zip theme-alias=StarDs theme-resPrefix=sdkit -components-version=0.16.0 +components-version=0.17.0 components-name=plasma_stards docs-theme-name=Plasma StarDS diff --git a/tokens/plasma-stards-view/integration/build.gradle.kts b/tokens/plasma-stards-view/integration/build.gradle.kts new file mode 100644 index 0000000000..112c65d4d5 --- /dev/null +++ b/tokens/plasma-stards-view/integration/build.gradle.kts @@ -0,0 +1,20 @@ +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("convention.android-lib") + id("convention.integration-view") +} + +android { + namespace = "com.sdkit.star.designsystem.integration" +} + +dependencies { + implementation("integration-core:sandbox-core") + implementation("integration-core:sandbox-compose") + implementation("integration-core:sandbox-view") + implementation(project(":plasma-stards-view")) + implementation(libs.sdds.uikit) + + implementation(libs.base.androidX.core) + implementation(libs.base.androidX.appcompat) +} diff --git a/tokens/plasma-stards-view/integration/gradle.properties b/tokens/plasma-stards-view/integration/gradle.properties new file mode 100644 index 0000000000..880d6459b7 --- /dev/null +++ b/tokens/plasma-stards-view/integration/gradle.properties @@ -0,0 +1,2 @@ +integration.view.config-path=../config-info-view-system.json +integration.view.package-name=com.sdkit.star.designsystem.integration \ No newline at end of file diff --git a/sdds-core/testing/src/main/AndroidManifest.xml b/tokens/plasma-stards-view/integration/src/main/AndroidManifest.xml similarity index 85% rename from sdds-core/testing/src/main/AndroidManifest.xml rename to tokens/plasma-stards-view/integration/src/main/AndroidManifest.xml index 74b7379f73..10728cc703 100644 --- a/sdds-core/testing/src/main/AndroidManifest.xml +++ b/tokens/plasma-stards-view/integration/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarGroupVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarGroupVariationsView.kt new file mode 100644 index 0000000000..138b651854 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarGroupVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsAvatarGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_AvatarGroupS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarVariationsView.kt new file mode 100644 index 0000000000..8afcfe0db9 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsAvatarVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsAvatarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_AvatarXxl), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_AvatarL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_AvatarM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_AvatarS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeSolidVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeSolidVariationsView.kt new file mode 100644 index 0000000000..fcd68e5cd0 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeSolidVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsBadgeSolidVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLWarning), + "L.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLDark), + "L.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLLight), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidLPilledLight), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMWarning), + "M.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMDark), + "M.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMLight), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidMPilledLight), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSWarning), + "S.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSDark), + "S.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSLight), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidSPilledLight), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeSolidXsPilledLight), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeTransparentVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeTransparentVariationsView.kt new file mode 100644 index 0000000000..b1ddcd53e6 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBadgeTransparentVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsBadgeTransparentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLWarning), + "L.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLDark), + "L.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLLight), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentLPilledLight), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMWarning), + "M.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMDark), + "M.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMLight), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentMPilledLight), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSWarning), + "S.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSDark), + "S.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSLight), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentSPilledLight), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BadgeTransparentXsPilledLight), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonGroupVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonGroupVariationsView.kt new file mode 100644 index 0000000000..113f8b089d --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonGroupVariationsView.kt @@ -0,0 +1,59 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsBasicButtonGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXs), + "Xs.Wide" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsWide), + "Xs.Wide.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsWideDefault), + "Xs.Wide.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsWideSegmented), + "Xs.Dense" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsDense), + "Xs.Dense.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsDenseDefault), + "Xs.Dense.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsDenseSegmented), + "Xs.NoGap" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsNoGap), + "Xs.NoGap.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsNoGapDefault), + "Xs.NoGap.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupXsNoGapSegmented), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupS), + "S.Wide" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSWide), + "S.Wide.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSWideDefault), + "S.Wide.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSWideSegmented), + "S.Dense" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSDense), + "S.Dense.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSDenseDefault), + "S.Dense.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSDenseSegmented), + "S.NoGap" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSNoGap), + "S.NoGap.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSNoGapDefault), + "S.NoGap.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupSNoGapSegmented), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupM), + "M.Wide" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMWide), + "M.Wide.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMWideDefault), + "M.Wide.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMWideSegmented), + "M.Dense" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMDense), + "M.Dense.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMDenseDefault), + "M.Dense.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMDenseSegmented), + "M.NoGap" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMNoGap), + "M.NoGap.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMNoGapDefault), + "M.NoGap.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupMNoGapSegmented), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupL), + "L.Wide" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLWide), + "L.Wide.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLWideDefault), + "L.Wide.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLWideSegmented), + "L.Dense" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLDense), + "L.Dense.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLDenseDefault), + "L.Dense.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLDenseSegmented), + "L.NoGap" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLNoGap), + "L.NoGap.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLNoGapDefault), + "L.NoGap.Segmented" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonGroupLNoGapSegmented), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonVariationsView.kt new file mode 100644 index 0000000000..a81e9ca1af --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsBasicButtonVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsBasicButtonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonLDefault), + "L.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonLClear), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonMDefault), + "M.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonMClear), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonSDefault), + "S.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonSClear), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonXsDefault), + "Xs.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_BasicButtonXsClear), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCardVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCardVariationsView.kt new file mode 100644 index 0000000000..2fe93e34bc --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCardVariationsView.kt @@ -0,0 +1,28 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCardVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Horizontal" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardHorizontal), + "Horizontal.S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardHorizontalS), + "Horizontal.Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardHorizontalXs), + "Vertical" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardVertical), + "Vertical.M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardVerticalM), + "Vertical.S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardVerticalS), + "Square" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardSquare), + "Square.L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardSquareL), + "Square.Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CardSquareXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellSelectVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellSelectVariationsView.kt new file mode 100644 index 0000000000..d392c6fb07 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellSelectVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCellSelectVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellSelectL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellSelectM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellSelectS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellSelectXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellVariationsView.kt new file mode 100644 index 0000000000..f808a3f79b --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCellVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCellVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CellXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCheckBoxVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCheckBoxVariationsView.kt new file mode 100644 index 0000000000..2dbaff69c6 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCheckBoxVariationsView.kt @@ -0,0 +1,28 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCheckBoxVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxLDefault), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxLNegative), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxMDefault), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxMNegative), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxSDefault), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CheckBoxSNegative), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupDenseVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupDenseVariationsView.kt new file mode 100644 index 0000000000..34ea3833fc --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupDenseVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsChipGroupDenseVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseLPilledWarning), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseMPilledWarning), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupDenseXsPilledWarning), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupWideVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupWideVariationsView.kt new file mode 100644 index 0000000000..2915dc6029 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipGroupWideVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsChipGroupWideVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideLPilledWarning), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideMPilledWarning), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipGroupWideXsPilledWarning), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipVariationsView.kt new file mode 100644 index 0000000000..dce74e8729 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsChipVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsChipVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipLPilledWarning), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipMPilledWarning), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ChipXsPilledWarning), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCircularProgressBarVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCircularProgressBarVariationsView.kt new file mode 100644 index 0000000000..14be832941 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCircularProgressBarVariationsView.kt @@ -0,0 +1,82 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCircularProgressBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxl), + "Xxl.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlDefault), + "Xxl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlSecondary), + "Xxl.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlAccent), + "Xxl.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlGradient), + "Xxl.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlInfo), + "Xxl.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlNegative), + "Xxl.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlPositive), + "Xxl.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxlWarning), + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXl), + "Xl.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlAccent), + "Xl.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlGradient), + "Xl.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlInfo), + "Xl.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlNegative), + "Xl.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlPositive), + "Xl.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXlWarning), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLGradient), + "L.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLInfo), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarLWarning), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMGradient), + "M.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMInfo), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarMWarning), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSGradient), + "S.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSInfo), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarSWarning), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsAccent), + "Xs.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsGradient), + "Xs.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsInfo), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXsWarning), + "Xxs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsAccent), + "Xxs.Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsGradient), + "Xxs.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsInfo), + "Xxs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsNegative), + "Xxs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsPositive), + "Xxs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CircularProgressBarXxsWarning), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCodeInputVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCodeInputVariationsView.kt new file mode 100644 index 0000000000..951cdd746d --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCodeInputVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCodeInputVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CodeInputS), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CodeInputM), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CodeInputL), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCounterVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCounterVariationsView.kt new file mode 100644 index 0000000000..f95f4b0b31 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsCounterVariationsView.kt @@ -0,0 +1,59 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsCounterVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLAccent), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLWarning), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLNegative), + "L.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLBlack), + "L.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterLWhite), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMAccent), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMWarning), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMNegative), + "M.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMBlack), + "M.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterMWhite), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSAccent), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSWarning), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSNegative), + "S.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSBlack), + "S.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterSWhite), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsWarning), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsNegative), + "Xs.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsBlack), + "Xs.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXsWhite), + "Xxs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsDefault), + "Xxs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsPositive), + "Xxs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsWarning), + "Xxs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsNegative), + "Xxs.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsBlack), + "Xxs.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_CounterXxsWhite), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDividerVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDividerVariationsView.kt new file mode 100644 index 0000000000..e7d9b6d21d --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDividerVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsDividerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_Divider), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDrawerVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDrawerVariationsView.kt new file mode 100644 index 0000000000..0d5e5f6190 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDrawerVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsDrawerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "HasBackground" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DrawerHasBackground), + "NoBackground" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DrawerNoBackground), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuItemVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuItemVariationsView.kt new file mode 100644 index 0000000000..e3042132ae --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuItemVariationsView.kt @@ -0,0 +1,39 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsDropdownMenuItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXl), + "Xl.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXlDefault), + "Xl.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXlNegative), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemLDefault), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemLPositive), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemLNegative), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemMDefault), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemMPositive), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemMNegative), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemSDefault), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemSPositive), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemSNegative), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXsDefault), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuItemXsNegative), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuListVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuListVariationsView.kt new file mode 100644 index 0000000000..bebf27db31 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuListVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsDropdownMenuListVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuListXl), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuListL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuListM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuListS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuListXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuVariationsView.kt new file mode 100644 index 0000000000..4b67c58678 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsDropdownMenuVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsDropdownMenuVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuXl), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_DropdownMenuXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeSolidVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeSolidVariationsView.kt new file mode 100644 index 0000000000..1a5f4e3ccb --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeSolidVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsIconBadgeSolidVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLWarning), + "L.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLDark), + "L.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLLight), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidLPilledLight), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMWarning), + "M.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMDark), + "M.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMLight), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidMPilledLight), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSWarning), + "S.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSDark), + "S.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSLight), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidSPilledLight), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeSolidXsPilledLight), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeTransparentVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeTransparentVariationsView.kt new file mode 100644 index 0000000000..c15949dffc --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconBadgeTransparentVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsIconBadgeTransparentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLAccent), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLNegative), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLWarning), + "L.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLDark), + "L.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLLight), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentLPilledLight), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMAccent), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMNegative), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMWarning), + "M.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMDark), + "M.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMLight), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentMPilledLight), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSAccent), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSNegative), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSWarning), + "S.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSDark), + "S.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSLight), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentSPilledLight), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconBadgeTransparentXsPilledLight), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconButtonVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconButtonVariationsView.kt new file mode 100644 index 0000000000..5398a6f301 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIconButtonVariationsView.kt @@ -0,0 +1,43 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsIconButtonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonLDefault), + "L.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonLClear), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonLPilledDefault), + "L.Pilled.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonLPilledClear), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonMDefault), + "M.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonMClear), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonMPilledDefault), + "M.Pilled.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonMPilledClear), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonSDefault), + "S.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonSClear), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonSPilledDefault), + "S.Pilled.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonSPilledClear), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXsDefault), + "Xs.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXsClear), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXsPilledDefault), + "Xs.Pilled.Clear" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IconButtonXsPilledClear), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsImageViewVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsImageViewVariationsView.kt new file mode 100644 index 0000000000..29744129cc --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsImageViewVariationsView.kt @@ -0,0 +1,26 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsImageViewVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Ratio12" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_1_2), + "Ratio916" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_9_16), + "Ratio34" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_3_4), + "Ratio21" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_2_1), + "Ratio169" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_16_9), + "Ratio43" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_4_3), + "Ratio11" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ImageViewRatio_1_1), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIndicatorVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIndicatorVariationsView.kt new file mode 100644 index 0000000000..968325453d --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsIndicatorVariationsView.kt @@ -0,0 +1,49 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsIndicatorVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLDefault), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLAccent), + "L.Inactive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLInactive), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLPositive), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLWarning), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLNegative), + "L.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLDark), + "L.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLBlack), + "L.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorLWhite), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMAccent), + "M.Inactive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMInactive), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMPositive), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMWarning), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMNegative), + "M.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMDark), + "M.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMBlack), + "M.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorMWhite), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSAccent), + "S.Inactive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSInactive), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSPositive), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSWarning), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSNegative), + "S.Dark" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSDark), + "S.Black" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSBlack), + "S.White" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_IndicatorSWhite), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListItemVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListItemVariationsView.kt new file mode 100644 index 0000000000..db892d5eb4 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListItemVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsListItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListItemL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListItemM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListItemS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListItemXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListVariationsView.kt new file mode 100644 index 0000000000..e5ef9b753a --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsListVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsListVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ListXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsLoaderVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsLoaderVariationsView.kt new file mode 100644 index 0000000000..9103ed4406 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsLoaderVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsLoaderVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_Loader), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsModalVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsModalVariationsView.kt new file mode 100644 index 0000000000..4ac1abfb41 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsModalVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsModalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_Modal), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationCompactVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationCompactVariationsView.kt new file mode 100644 index 0000000000..2f6f33a7e9 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationCompactVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsNotificationCompactVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationCompactL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationCompactM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationCompactS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationContentVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationContentVariationsView.kt new file mode 100644 index 0000000000..70e3725664 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationContentVariationsView.kt @@ -0,0 +1,55 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsNotificationContentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "ButtonStretch" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretch), + "ButtonStretch.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchDefault), + "ButtonStretch.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchPositive), + "ButtonStretch.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchNegative), + "ButtonStretch.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchWarning), + "ButtonStretch.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchInfo), + "ButtonStretch.IconTop" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTop), + "ButtonStretch.IconTop.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTopDefault), + "ButtonStretch.IconTop.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTopPositive), + "ButtonStretch.IconTop.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTopNegative), + "ButtonStretch.IconTop.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTopWarning), + "ButtonStretch.IconTop.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconTopInfo), + "ButtonStretch.IconStart" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStart), + "ButtonStretch.IconStart.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStartDefault), + "ButtonStretch.IconStart.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStartPositive), + "ButtonStretch.IconStart.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStartNegative), + "ButtonStretch.IconStart.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStartWarning), + "ButtonStretch.IconStart.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentButtonStretchIconStartInfo), + "NoButtonStretch" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretch), + "NoButtonStretch.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchDefault), + "NoButtonStretch.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchPositive), + "NoButtonStretch.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchNegative), + "NoButtonStretch.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchWarning), + "NoButtonStretch.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchInfo), + "NoButtonStretch.IconTop" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTop), + "NoButtonStretch.IconTop.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTopDefault), + "NoButtonStretch.IconTop.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTopPositive), + "NoButtonStretch.IconTop.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTopNegative), + "NoButtonStretch.IconTop.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTopWarning), + "NoButtonStretch.IconTop.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconTopInfo), + "NoButtonStretch.IconStart" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStart), + "NoButtonStretch.IconStart.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStartDefault), + "NoButtonStretch.IconStart.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStartPositive), + "NoButtonStretch.IconStart.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStartNegative), + "NoButtonStretch.IconStart.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStartWarning), + "NoButtonStretch.IconStart.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationContentNoButtonStretchIconStartInfo), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationLooseVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationLooseVariationsView.kt new file mode 100644 index 0000000000..72a4c7693a --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsNotificationLooseVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsNotificationLooseVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationLooseL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationLooseM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_NotificationLooseS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsOverlayViewVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsOverlayViewVariationsView.kt new file mode 100644 index 0000000000..e43be87e98 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsOverlayViewVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsOverlayViewVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_OverlayView), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsHorizontalVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsHorizontalVariationsView.kt new file mode 100644 index 0000000000..7388031e2b --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsHorizontalVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsPaginationDotsHorizontalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsHorizontalM), + "M.ActiveTypeLine" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsHorizontalMActiveTypeLine), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsHorizontalS), + "S.ActiveTypeLine" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsHorizontalSActiveTypeLine), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsVerticalVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsVerticalVariationsView.kt new file mode 100644 index 0000000000..2fae9beac3 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPaginationDotsVerticalVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsPaginationDotsVerticalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsVerticalM), + "M.ActiveTypeLine" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsVerticalMActiveTypeLine), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsVerticalS), + "S.ActiveTypeLine" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PaginationDotsVerticalSActiveTypeLine), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPopoverVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPopoverVariationsView.kt new file mode 100644 index 0000000000..55a4e4325f --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsPopoverVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsPopoverVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverMDefault), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverMAccent), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverSDefault), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_PopoverSAccent), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsProgressBarVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsProgressBarVariationsView.kt new file mode 100644 index 0000000000..1328404852 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsProgressBarVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsProgressBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + ".Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarDefault), + ".Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarSecondary), + ".Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarAccent), + ".Gradient" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarGradient), + ".Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarInfo), + ".Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarNegative), + ".Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarPositive), + ".Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ProgressBarWarning), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxGroupVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxGroupVariationsView.kt new file mode 100644 index 0000000000..0defef40ac --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxGroupVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsRadioBoxGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RadioBoxGroupM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RadioBoxGroupS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxVariationsView.kt new file mode 100644 index 0000000000..d6a2e90609 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRadioBoxVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsRadioBoxVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RadioBoxL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RadioBoxM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RadioBoxS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRectSkeletonVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRectSkeletonVariationsView.kt new file mode 100644 index 0000000000..756cf709e1 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsRectSkeletonVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsRectSkeletonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_RectSkeleton), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsScrollBarVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsScrollBarVariationsView.kt new file mode 100644 index 0000000000..5873304034 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsScrollBarVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsScrollBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ScrollBarS), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_ScrollBarM), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentItemVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentItemVariationsView.kt new file mode 100644 index 0000000000..ec26b2ba25 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentItemVariationsView.kt @@ -0,0 +1,49 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSegmentItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXl), + "Xl.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXlPrimary), + "Xl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXlSecondary), + "Xl.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXlPilled), + "Xl.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXlPilledPrimary), + "Xl.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXlPilledSecondary), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemL), + "L.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemLPrimary), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemLSecondary), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemLPilled), + "L.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemLPilledPrimary), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemLPilledSecondary), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemM), + "M.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemMPrimary), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemMSecondary), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemMPilled), + "M.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemMPilledPrimary), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemMPilledSecondary), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemS), + "S.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemSPrimary), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemSSecondary), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemSPilled), + "S.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemSPilledPrimary), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemSPilledSecondary), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXs), + "Xs.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXsPrimary), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXsSecondary), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXsPilled), + "Xs.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXsPilledPrimary), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentItemXsPilledSecondary), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentVariationsView.kt new file mode 100644 index 0000000000..19df1a0626 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSegmentVariationsView.kt @@ -0,0 +1,49 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSegmentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXl), + "Xl.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXlPrimary), + "Xl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXlSecondary), + "Xl.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXlPilled), + "Xl.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXlPilledPrimary), + "Xl.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXlPilledSecondary), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentL), + "L.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentLPrimary), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentLSecondary), + "L.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentLPilled), + "L.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentLPilledPrimary), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentLPilledSecondary), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentM), + "M.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentMPrimary), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentMSecondary), + "M.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentMPilled), + "M.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentMPilledPrimary), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentMPilledSecondary), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentS), + "S.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentSPrimary), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentSSecondary), + "S.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentSPilled), + "S.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentSPilledPrimary), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentSPilledSecondary), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXs), + "Xs.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXsPrimary), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXsSecondary), + "Xs.Pilled" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXsPilled), + "Xs.Pilled.Primary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXsPilledPrimary), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SegmentXsPilledSecondary), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectItemVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectItemVariationsView.kt new file mode 100644 index 0000000000..7b41a688f9 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectItemVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSelectItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectItemXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectVariationsView.kt new file mode 100644 index 0000000000..ba22234f01 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSelectVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSelectVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SelectXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSpinnerVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSpinnerVariationsView.kt new file mode 100644 index 0000000000..9a585bf11e --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSpinnerVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSpinnerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxl), + "Xxl.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlDefault), + "Xxl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlSecondary), + "Xxl.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlAccent), + "Xxl.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlPositive), + "Xxl.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlNegative), + "Xxl.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlWarning), + "Xxl.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxlInfo), + "Xl" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXl), + "Xl.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlAccent), + "Xl.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlNegative), + "Xl.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlWarning), + "Xl.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXlInfo), + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerL), + "L.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLAccent), + "L.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLPositive), + "L.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLNegative), + "L.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLWarning), + "L.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerLInfo), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMAccent), + "M.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMPositive), + "M.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMNegative), + "M.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMWarning), + "M.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerMInfo), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSAccent), + "S.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSPositive), + "S.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSNegative), + "S.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSWarning), + "S.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerSInfo), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsWarning), + "Xs.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXsInfo), + "Xxs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsPositive), + "Xxs.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsNegative), + "Xxs.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsWarning), + "Xxs.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerXxsInfo), + "Scalable" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalable), + "Scalable.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableDefault), + "Scalable.Secondary" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableSecondary), + "Scalable.Accent" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableAccent), + "Scalable.Positive" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalablePositive), + "Scalable.Negative" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableNegative), + "Scalable.Warning" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableWarning), + "Scalable.Info" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SpinnerScalableInfo), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSwitchVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSwitchVariationsView.kt new file mode 100644 index 0000000000..bc16fd4efb --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsSwitchVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsSwitchVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchL), + "L.HasBackground" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchLHasBackground), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchM), + "M.HasBackground" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchMHasBackground), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchS), + "S.HasBackground" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_SwitchSHasBackground), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextAreaVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextAreaVariationsView.kt new file mode 100644 index 0000000000..eb602cfdb4 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextAreaVariationsView.kt @@ -0,0 +1,43 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextAreaVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXsDefault), + "Xs.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXsError), + "Xs.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXsOuterLabel), + "Xs.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXsOuterLabelDefault), + "Xs.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaXsOuterLabelError), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSDefault), + "S.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSError), + "S.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSOuterLabel), + "S.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSOuterLabelDefault), + "S.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSOuterLabelError), + "S.InnerLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSInnerLabel), + "S.InnerLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSInnerLabelDefault), + "S.InnerLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaSInnerLabelError), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMDefault), + "M.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMError), + "M.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMOuterLabel), + "M.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMOuterLabelDefault), + "M.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMOuterLabelError), + "M.InnerLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMInnerLabel), + "M.InnerLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMInnerLabelDefault), + "M.InnerLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextAreaMInnerLabelError), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextFieldVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextFieldVariationsView.kt new file mode 100644 index 0000000000..a319522bc9 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextFieldVariationsView.kt @@ -0,0 +1,43 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextFieldVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXs), + "Xs.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXsDefault), + "Xs.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXsError), + "Xs.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXsOuterLabel), + "Xs.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXsOuterLabelDefault), + "Xs.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldXsOuterLabelError), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldS), + "S.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSDefault), + "S.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSError), + "S.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSOuterLabel), + "S.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSOuterLabelDefault), + "S.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSOuterLabelError), + "S.InnerLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSInnerLabel), + "S.InnerLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSInnerLabelDefault), + "S.InnerLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldSInnerLabelError), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldM), + "M.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMDefault), + "M.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMError), + "M.OuterLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMOuterLabel), + "M.OuterLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMOuterLabelDefault), + "M.OuterLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMOuterLabelError), + "M.InnerLabel" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMInnerLabel), + "M.InnerLabel.Default" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMInnerLabelDefault), + "M.InnerLabel.Error" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextFieldMInnerLabelError), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonBodyVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonBodyVariationsView.kt new file mode 100644 index 0000000000..d6b88f7f75 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonBodyVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextSkeletonBodyVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonBodyL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonBodyM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonBodyS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonBodyXs), + "Xxs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonBodyXxs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonDisplayVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonDisplayVariationsView.kt new file mode 100644 index 0000000000..e09f7f8b82 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonDisplayVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextSkeletonDisplayVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonDisplayL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonDisplayM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonDisplayS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonHeaderVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonHeaderVariationsView.kt new file mode 100644 index 0000000000..278d3101a6 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonHeaderVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextSkeletonHeaderVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "H1" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonHeaderH1), + "H2" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonHeaderH2), + "H3" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonHeaderH3), + "H4" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonHeaderH4), + "H5" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonHeaderH5), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonTextVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonTextVariationsView.kt new file mode 100644 index 0000000000..60c0bc79b4 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTextSkeletonTextVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTextSkeletonTextVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonTextL), + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonTextM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonTextS), + "Xs" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TextSkeletonTextXs), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTooltipVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTooltipVariationsView.kt new file mode 100644 index 0000000000..32f79a2689 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsTooltipVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsTooltipVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TooltipM), + "S" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_TooltipS), + ) +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsViewComponents.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsViewComponents.kt new file mode 100644 index 0000000000..6f23a646e7 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsViewComponents.kt @@ -0,0 +1,303 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.Component +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.ComponentProvider + +/** + * Компоненты + */ +object PlasmaStardsViewComponents : ComponentProvider() { + + override val generated: Map> = + listOf( + Component( + ComponentKey.Avatar, + mapOf( + "Avatar" to PlasmaStardsAvatarVariationsView, + ), + ), + Component( + ComponentKey.AvatarGroup, + mapOf( + "AvatarGroup" to PlasmaStardsAvatarGroupVariationsView, + ), + ), + Component( + ComponentKey.Badge, + mapOf( + "BadgeSolid" to PlasmaStardsBadgeSolidVariationsView, + "BadgeTransparent" to PlasmaStardsBadgeTransparentVariationsView, + ), + ), + Component( + ComponentKey.IconBadge, + mapOf( + "IconBadgeSolid" to PlasmaStardsIconBadgeSolidVariationsView, + "IconBadgeTransparent" to PlasmaStardsIconBadgeTransparentVariationsView, + ), + ), + Component( + ComponentKey.BasicButton, + mapOf( + "BasicButton" to PlasmaStardsBasicButtonVariationsView, + ), + ), + Component( + ComponentKey.IconButton, + mapOf( + "IconButton" to PlasmaStardsIconButtonVariationsView, + ), + ), + Component( + ComponentKey.Card, + mapOf( + "Card" to PlasmaStardsCardVariationsView, + ), + ), + Component( + ComponentKey.Cell, + mapOf( + "Cell" to PlasmaStardsCellVariationsView, + "CellSelect" to PlasmaStardsCellSelectVariationsView, + ), + ), + Component( + ComponentKey.CheckBox, + mapOf( + "CheckBox" to PlasmaStardsCheckBoxVariationsView, + ), + ), + Component( + ComponentKey.Chip, + mapOf( + "Chip" to PlasmaStardsChipVariationsView, + ), + ), + Component( + ComponentKey.ChipGroup, + mapOf( + "ChipGroupDense" to PlasmaStardsChipGroupDenseVariationsView, + "ChipGroupWide" to PlasmaStardsChipGroupWideVariationsView, + ), + ), + Component( + ComponentKey.Counter, + mapOf( + "Counter" to PlasmaStardsCounterVariationsView, + ), + ), + Component( + ComponentKey.Divider, + mapOf( + "Divider" to PlasmaStardsDividerVariationsView, + ), + ), + Component( + ComponentKey.Indicator, + mapOf( + "Indicator" to PlasmaStardsIndicatorVariationsView, + ), + ), + Component( + ComponentKey.Overlay, + mapOf( + "OverlayView" to PlasmaStardsOverlayViewVariationsView, + ), + ), + Component( + ComponentKey.Select, + mapOf( + "Select" to PlasmaStardsSelectVariationsView, + ), + ), + Component( + ComponentKey.SelectItem, + mapOf( + "SelectItem" to PlasmaStardsSelectItemVariationsView, + ), + ), + Component( + ComponentKey.ProgressBar, + mapOf( + "ProgressBar" to PlasmaStardsProgressBarVariationsView, + ), + ), + Component( + ComponentKey.CircularProgressBar, + mapOf( + "CircularProgressBar" to PlasmaStardsCircularProgressBarVariationsView, + ), + ), + Component( + ComponentKey.Popover, + mapOf( + "Popover" to PlasmaStardsPopoverVariationsView, + ), + ), + Component( + ComponentKey.RadioBox, + mapOf( + "RadioBox" to PlasmaStardsRadioBoxVariationsView, + ), + ), + Component( + ComponentKey.RadioBoxGroup, + mapOf( + "RadioBoxGroup" to PlasmaStardsRadioBoxGroupVariationsView, + ), + ), + Component( + ComponentKey.Segment, + mapOf( + "Segment" to PlasmaStardsSegmentVariationsView, + ), + ), + Component( + ComponentKey.SegmentItem, + mapOf( + "SegmentItem" to PlasmaStardsSegmentItemVariationsView, + ), + ), + Component( + ComponentKey.Switch, + mapOf( + "Switch" to PlasmaStardsSwitchVariationsView, + ), + ), + Component( + ComponentKey.TextField, + mapOf( + "TextField" to PlasmaStardsTextFieldVariationsView, + ), + ), + Component( + ComponentKey.TextArea, + mapOf( + "TextArea" to PlasmaStardsTextAreaVariationsView, + ), + ), + Component( + ComponentKey.Tooltip, + mapOf( + "Tooltip" to PlasmaStardsTooltipVariationsView, + ), + ), + Component( + ComponentKey.Notification, + mapOf( + "NotificationCompact" to PlasmaStardsNotificationCompactVariationsView, + "NotificationLoose" to PlasmaStardsNotificationLooseVariationsView, + ), + ), + Component( + ComponentKey.NotificationContent, + mapOf( + "NotificationContent" to PlasmaStardsNotificationContentVariationsView, + ), + ), + Component( + ComponentKey.List, + mapOf( + "List" to PlasmaStardsListVariationsView, + "DropdownMenuList" to PlasmaStardsDropdownMenuListVariationsView, + ), + ), + Component( + ComponentKey.ListItem, + mapOf( + "ListItem" to PlasmaStardsListItemVariationsView, + "DropdownMenuItem" to PlasmaStardsDropdownMenuItemVariationsView, + ), + ), + Component( + ComponentKey.Spinner, + mapOf( + "Spinner" to PlasmaStardsSpinnerVariationsView, + ), + ), + Component( + ComponentKey.Loader, + mapOf( + "Loader" to PlasmaStardsLoaderVariationsView, + ), + ), + Component( + ComponentKey.DropdownMenu, + mapOf( + "DropdownMenu" to PlasmaStardsDropdownMenuVariationsView, + ), + ), + Component( + ComponentKey.ScrollBar, + mapOf( + "ScrollBar" to PlasmaStardsScrollBarVariationsView, + ), + ), + Component( + ComponentKey.Wheel, + mapOf( + "Wheel" to PlasmaStardsWheelVariationsView, + ), + ), + Component( + ComponentKey.Image, + mapOf( + "ImageView" to PlasmaStardsImageViewVariationsView, + ), + ), + Component( + ComponentKey.ButtonGroup, + mapOf( + "BasicButtonGroup" to PlasmaStardsBasicButtonGroupVariationsView, + ), + ), + Component( + ComponentKey.CodeInput, + mapOf( + "CodeInput" to PlasmaStardsCodeInputVariationsView, + ), + ), + Component( + ComponentKey.Drawer, + mapOf( + "Drawer" to PlasmaStardsDrawerVariationsView, + ), + ), + Component( + ComponentKey.PaginationDots, + mapOf( + "PaginationDotsHorizontal" to PlasmaStardsPaginationDotsHorizontalVariationsView, + "PaginationDotsVertical" to PlasmaStardsPaginationDotsVerticalVariationsView, + ), + ), + Component( + ComponentKey.RectSkeleton, + mapOf( + "RectSkeleton" to PlasmaStardsRectSkeletonVariationsView, + ), + ), + Component( + ComponentKey.TextSkeleton, + mapOf( + "TextSkeletonBody" to PlasmaStardsTextSkeletonBodyVariationsView, + "TextSkeletonDisplay" to PlasmaStardsTextSkeletonDisplayVariationsView, + "TextSkeletonHeader" to PlasmaStardsTextSkeletonHeaderVariationsView, + "TextSkeletonText" to PlasmaStardsTextSkeletonTextVariationsView, + ), + ), + Component( + ComponentKey.Modal, + mapOf( + "Modal" to PlasmaStardsModalVariationsView, + ), + ), + ).associateBy { it.key } +} diff --git a/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsWheelVariationsView.kt b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsWheelVariationsView.kt new file mode 100644 index 0000000000..af24f2b5a1 --- /dev/null +++ b/tokens/plasma-stards-view/integration/src/main/kotlin/com/sdkit/star/designsystem/integration/PlasmaStardsWheelVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdkit.star.designsystem.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdkit.star.designsystem.R as DsR + +internal object PlasmaStardsWheelVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "H1" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_WheelH1), + "H1.RightAlign" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_WheelH1RightAlign), + "H1.CenterAlign" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_WheelH1CenterAlign), + "H1.LeftAlign" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_WheelH1LeftAlign), + "H1.MixedAlign" to viewStyleReference(DsR.style.Sdkit_StarDs_ComponentOverlays_WheelH1MixedAlign), + ) +} diff --git a/tokens/plasma-stards-view/screenshots/testModalBottomCenter_dark.png b/tokens/plasma-stards-view/screenshots/testModalBottomCenter_dark.png index 0800a403b2..b241c10fec 100644 Binary files a/tokens/plasma-stards-view/screenshots/testModalBottomCenter_dark.png and b/tokens/plasma-stards-view/screenshots/testModalBottomCenter_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testModalBottomStart_dark.png b/tokens/plasma-stards-view/screenshots/testModalBottomStart_dark.png index 6b0b00f4fa..46ae278357 100644 Binary files a/tokens/plasma-stards-view/screenshots/testModalBottomStart_dark.png and b/tokens/plasma-stards-view/screenshots/testModalBottomStart_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testModalCenterStart_dark.png b/tokens/plasma-stards-view/screenshots/testModalCenterStart_dark.png index 1684a1097a..36ab72ebac 100644 Binary files a/tokens/plasma-stards-view/screenshots/testModalCenterStart_dark.png and b/tokens/plasma-stards-view/screenshots/testModalCenterStart_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testModalTopCenter_dark.png b/tokens/plasma-stards-view/screenshots/testModalTopCenter_dark.png index 03c4dcd59f..5e66974489 100644 Binary files a/tokens/plasma-stards-view/screenshots/testModalTopCenter_dark.png and b/tokens/plasma-stards-view/screenshots/testModalTopCenter_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testWheelCenterAlignDescriptionHasControlsWheelCount2Dots_dark.png b/tokens/plasma-stards-view/screenshots/testWheelCenterAlignDescriptionHasControlsWheelCount2Dots_dark.png index a7906224dc..6429dbb3da 100644 Binary files a/tokens/plasma-stards-view/screenshots/testWheelCenterAlignDescriptionHasControlsWheelCount2Dots_dark.png and b/tokens/plasma-stards-view/screenshots/testWheelCenterAlignDescriptionHasControlsWheelCount2Dots_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testWheelCenterAlignHasInfiniteScrollWheelCount4EntriesCount0_dark.png b/tokens/plasma-stards-view/screenshots/testWheelCenterAlignHasInfiniteScrollWheelCount4EntriesCount0_dark.png index f0560041ff..f36a61b38e 100644 Binary files a/tokens/plasma-stards-view/screenshots/testWheelCenterAlignHasInfiniteScrollWheelCount4EntriesCount0_dark.png and b/tokens/plasma-stards-view/screenshots/testWheelCenterAlignHasInfiniteScrollWheelCount4EntriesCount0_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testWheelH1CenterAlignLabelsHasInfiniteScrollWheelCount3_dark.png b/tokens/plasma-stards-view/screenshots/testWheelH1CenterAlignLabelsHasInfiniteScrollWheelCount3_dark.png index c4d27e2e3a..ecc4e70384 100644 Binary files a/tokens/plasma-stards-view/screenshots/testWheelH1CenterAlignLabelsHasInfiniteScrollWheelCount3_dark.png and b/tokens/plasma-stards-view/screenshots/testWheelH1CenterAlignLabelsHasInfiniteScrollWheelCount3_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testWheelH1LeftAlignLabelHasInfiniteScrollWheelCount2Divider_dark.png b/tokens/plasma-stards-view/screenshots/testWheelH1LeftAlignLabelHasInfiniteScrollWheelCount2Divider_dark.png index 584171f29f..d2ed1284e2 100644 Binary files a/tokens/plasma-stards-view/screenshots/testWheelH1LeftAlignLabelHasInfiniteScrollWheelCount2Divider_dark.png and b/tokens/plasma-stards-view/screenshots/testWheelH1LeftAlignLabelHasInfiniteScrollWheelCount2Divider_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testWheelH1MixedAlignLabelHasControlsWheelCount3_dark.png b/tokens/plasma-stards-view/screenshots/testWheelH1MixedAlignLabelHasControlsWheelCount3_dark.png index 1d27b532cd..26fbf2edca 100644 Binary files a/tokens/plasma-stards-view/screenshots/testWheelH1MixedAlignLabelHasControlsWheelCount3_dark.png and b/tokens/plasma-stards-view/screenshots/testWheelH1MixedAlignLabelHasControlsWheelCount3_dark.png differ diff --git a/tokens/plasma-stards-view/screenshots/testwheelH1RightAlignLabelTAHasControlsWheelCount1_dark.png b/tokens/plasma-stards-view/screenshots/testwheelH1RightAlignLabelTAHasControlsWheelCount1_dark.png index 450a1d567a..0732d59f23 100644 Binary files a/tokens/plasma-stards-view/screenshots/testwheelH1RightAlignLabelTAHasControlsWheelCount1_dark.png and b/tokens/plasma-stards-view/screenshots/testwheelH1RightAlignLabelTAHasControlsWheelCount1_dark.png differ diff --git a/tokens/plasma-stards-view/src/main/res/drawable/sdkit_overlay_modal_gradient.xml b/tokens/plasma-stards-view/src/main/res/drawable/sdkit_overlay_modal_gradient.xml new file mode 100644 index 0000000000..effe1cc2e0 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/res/drawable/sdkit_overlay_modal_gradient.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/tokens/plasma-stards-view/src/main/res/values/gradient_values.xml b/tokens/plasma-stards-view/src/main/res/values/gradient_values.xml index aec208790f..a89cebed51 100644 --- a/tokens/plasma-stards-view/src/main/res/values/gradient_values.xml +++ b/tokens/plasma-stards-view/src/main/res/values/gradient_values.xml @@ -1,6 +1,39 @@ + + + + + #FF000000 + #BF000000 + #80000000 + #00000000 + #00000000 + + @color/sdkit_modal_overlay_gradient_color0 + @color/sdkit_modal_overlay_gradient_color1 + @color/sdkit_modal_overlay_gradient_color2 + @color/sdkit_modal_overlay_gradient_color3 + @color/sdkit_modal_overlay_gradient_color4 + + + + 0.0 + 0.25 + 0.5 + 0.75 + 1.0 + + 45 0.0 diff --git a/tokens/plasma-stards-view/src/main/res/values/styles-overlay.xml b/tokens/plasma-stards-view/src/main/res/values/styles-overlay.xml new file mode 100644 index 0000000000..e155c96991 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/res/values/styles-overlay.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/tokens/plasma-stards-view/src/main/res/values/themes.xml b/tokens/plasma-stards-view/src/main/res/values/themes.xml index a7c313ff86..e0001006c2 100644 --- a/tokens/plasma-stards-view/src/main/res/values/themes.xml +++ b/tokens/plasma-stards-view/src/main/res/values/themes.xml @@ -12,6 +12,7 @@ ?sdkit_textOnDarkPrimary ?sdkit_textOnLightPrimary ?sdkit_surfaceDefaultTransparentSecondary + @drawable/sdkit_overlay_modal_gradient @style/Sdkit.StarDs.Components.BasicButton.M @style/Sdkit.StarDs.Components.CheckBox.M @@ -66,6 +67,7 @@ ?sdkit_textOnDarkPrimary ?sdkit_textOnLightPrimary ?sdkit_surfaceDefaultTransparentSecondary + @drawable/sdkit_overlay_modal_gradient @style/Sdkit.StarDs.Components.BasicButton.M @style/Sdkit.StarDs.Components.CheckBox.M diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_text_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_text_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_disclosure_text_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_label_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_label_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_label_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_text_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_text_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_disclosure_text_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_label_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_label_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_label_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_subtitle_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_subtitle_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_subtitle_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_title_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_title_color.xml new file mode 100644 index 0000000000..29fb3a5fa5 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_select_title_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_subtitle_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_subtitle_color.xml new file mode 100644 index 0000000000..c106d09e09 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_subtitle_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_title_color.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_title_color.xml new file mode 100644 index 0000000000..29fb3a5fa5 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_cell_title_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_select_item_background.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_select_item_background.xml new file mode 100644 index 0000000000..d00ad1c9b4 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/color/sdkit_select_item_background.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/values/style-dimens.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/values/style-dimens.xml index 8d290be791..43e83d35f9 100644 --- a/tokens/plasma-stards-view/src/main/theme-builder-res/values/style-dimens.xml +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/values/style-dimens.xml @@ -209,6 +209,14 @@ 12.0dp 12.0dp 12.0dp + 16.0dp + 16.0dp + 16.0dp + 16.0dp + 12.0dp + 12.0dp + 12.0dp + 12.0dp 6.0dp 6.0dp 6.0dp @@ -315,6 +323,34 @@ 16.0dp 12.0dp 12.0dp + 112.0dp + 48.0dp + 12.0dp + 28.0dp + 32.0dp + 34.0dp + 34.0dp + 96.0dp + 48.0dp + 12.0dp + 24.0dp + 28.0dp + 28.0dp + 28.0dp + 80.0dp + 48.0dp + 12.0dp + 20.0dp + 24.0dp + 22.0dp + 22.0dp + 64.0dp + 32.0dp + 8.0dp + 12.0dp + 16.0dp + 16.0dp + 16.0dp 8.0dp 8.0dp 8.0dp @@ -793,8 +829,12 @@ -4.0dp 4.0dp 16.0dp - 80.0dp + 112.0dp 40.0dp + 16.0dp + 16.0dp + 16.0dp + 16.0dp 16.0dp 4.0dp 0.0dp diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-cellselect.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-cellselect.xml new file mode 100644 index 0000000000..c9af4d0155 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-cellselect.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-modal.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-modal.xml index 3ddc7dbd41..023520b7eb 100644 --- a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-modal.xml +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-modal.xml @@ -5,7 +5,8 @@ + + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-selectitem.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-selectitem.xml new file mode 100644 index 0000000000..67adfe8348 --- /dev/null +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-selectitem.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + diff --git a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-wheel.xml b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-wheel.xml index 8dac56fe7a..0dd4fda080 100644 --- a/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-wheel.xml +++ b/tokens/plasma-stards-view/src/main/theme-builder-res/values/styles-wheel.xml @@ -22,10 +22,16 @@ @style/Sdkit.StarDs.TextAppearance.HeaderH1Normal @style/Sdkit.StarDs.TextAppearance.HeaderH1Normal @style/Sdkit.StarDs.TextAppearance.BodySNormal + 0.35 + 0.16 @dimen/sdkit_wheel_h1_text_after_padding @dimen/sdkit_wheel_h1_description_padding @dimen/sdkit_wheel_h1_separator_spacing @dimen/sdkit_wheel_h1_item_min_spacing + @dimen/sdkit_wheel_h1_item_selector_padding_top + @dimen/sdkit_wheel_h1_item_selector_padding_start + @dimen/sdkit_wheel_h1_item_selector_padding_end + @dimen/sdkit_wheel_h1_item_selector_padding_bottom + \ No newline at end of file diff --git a/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt b/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt new file mode 100644 index 0000000000..4a0014ab7b --- /dev/null +++ b/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt @@ -0,0 +1,22 @@ +package com.sdds.plasma.sd.service + +import android.view.View +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.component +import org.hamcrest.Matcher + +internal fun themedComponent( + viewMatcherFactory: ((View) -> Matcher)? = null, + action: ((View) -> Unit)? = null, + skipDefaultCaptureRoboImage: Boolean = false, + factory: ComponentScope.() -> View, +) { + component( + com.sdds.plasma.sd.service.docs.R.style.Plasma_SdService_Doc_Theme, + R.attr.plasma_backgroundDefaultPrimary, + viewMatcherFactory, + action, + skipDefaultCaptureRoboImage, + factory, + ) +} diff --git a/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDocScreenshotTest.kt b/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDocScreenshotTest.kt new file mode 100644 index 0000000000..ceaf7e8e46 --- /dev/null +++ b/tokens/plasma.sd.service.view/docs/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDocScreenshotTest.kt @@ -0,0 +1,34 @@ +package com.sdds.plasma.sd.service + +import android.os.Looper +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.samples.RoborazziConfigDocsXml +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.ParameterizedRobolectricTestRunner +import org.robolectric.Shadows.shadowOf +import org.robolectric.annotation.Config +import org.robolectric.annotation.GraphicsMode + +@RunWith(ParameterizedRobolectricTestRunner::class) +@GraphicsMode(GraphicsMode.Mode.NATIVE) +@Config(sdk = [SDK_NUMBER], qualifiers = RobolectricDeviceQualifiers.Pixel6) +class ViewSystemDocScreenshotTest(viewSample: ViewSampleInfo) : + RoborazziConfigDocsXml(viewSample) { + + @Test + fun docs_view_screenshot_test() { + try { + themedComponent( + factory = { + viewSample.sample.reference(context) + }, + ) + shadowOf(Looper.getMainLooper()).idle() + shadowOf(Looper.getMainLooper()).runToEndOfTasks() + } catch (e: Throwable) { + throw AssertionError("FAILED: ${viewSample.id}", e) + } + } +} diff --git a/tokens/plasma.sd.service.view/gradle.properties b/tokens/plasma.sd.service.view/gradle.properties index 288542479f..2ada532712 100644 --- a/tokens/plasma.sd.service.view/gradle.properties +++ b/tokens/plasma.sd.service.view/gradle.properties @@ -2,7 +2,7 @@ nexus.artifactId=plasma-sd-service nexus.snapshot=false nexus.description=plasma-sd-service theme library for view framework versionMajor=0 -versionMinor=27 +versionMinor=28 versionPatch=0 theme-version=0.1.0 diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt index 45d769071c..3d652f0f67 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ThemeUtils.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import android.view.View -import com.sdds.testing.vs.ComponentScope -import com.sdds.testing.vs.component +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.component import org.hamcrest.Matcher internal fun themedComponent( diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAccordionScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAccordionScreenshotTest.kt index f668c3f987..0418825439 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAccordionScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAccordionScreenshotTest.kt @@ -4,8 +4,8 @@ import androidx.test.espresso.Espresso.onView import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.accordion.AccordionTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.AccordionTestCases import org.hamcrest.core.AllOf.allOf import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAvatarScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAvatarScreenshotTest.kt index 6165d57063..ffd364a5aa 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAvatarScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemAvatarScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.avatar.AvatarTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.AvatarTestCases import org.junit.Ignore import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemBadgeScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemBadgeScreenshotTest.kt index 6e13692ca5..69bb421c91 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemBadgeScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemBadgeScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.badge.BadgeTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.BadgeTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemButtonScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemButtonScreenshotTest.kt index 4f01046e72..8eca28e18e 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemButtonScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemButtonScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.button.ButtonTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ButtonTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCardScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCardScreenshotTest.kt index 5a56ccbd7e..5d5e60fe9d 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCardScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCardScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.card.CardTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CardTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCarouselScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCarouselScreenshotTest.kt index 616821b007..f7cb85c20c 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCarouselScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCarouselScreenshotTest.kt @@ -5,8 +5,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.action.ViewActions.swipeLeft import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.carousel.CarouselTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CarouselTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCellScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCellScreenshotTest.kt index 69d39766ea..f6a7d4b6a6 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCellScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCellScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.cell.CellTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CellTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCheckBoxScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCheckBoxScreenshotTest.kt index f2b09b55ac..e5ee127498 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCheckBoxScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCheckBoxScreenshotTest.kt @@ -5,8 +5,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.espresso.matcher.ViewMatchers.withText import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.checkbox.CheckBoxTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CheckBoxTestCases import org.hamcrest.Matchers.allOf import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemChipScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemChipScreenshotTest.kt index 9eba807af7..17746faafe 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemChipScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemChipScreenshotTest.kt @@ -5,8 +5,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.sdds.plasma.sd.service.colorstate.ChipColorState -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.chip.ChipTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ChipTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCircularProgressScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCircularProgressScreenshotTest.kt index 2ba1ab61a9..dabf1526ff 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCircularProgressScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCircularProgressScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.progress.CircularProgressTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CircularProgressTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeFieldScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeFieldScreenshotTest.kt index 74ead88473..09549192c4 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeFieldScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeFieldScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.action.ViewActions.pressKey import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.codefield.CodeFieldTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CodeFieldTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeInputScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeInputScreenshotTest.kt index 102a30e44a..7393dc9c9e 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeInputScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCodeInputScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.action.ViewActions.pressKey import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.codeinput.CodeInputTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CodeInputTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCounterScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCounterScreenshotTest.kt index 845d3314da..2e348e0df8 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCounterScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemCounterScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.counter.CounterTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.CounterTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDividerScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDividerScreenshotTest.kt index 509f6f5e30..182ac8b468 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDividerScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDividerScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.divider.DividerTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.DividerTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDrawerScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDrawerScreenshotTest.kt index 7f27b9f7b9..2d369d8617 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDrawerScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDrawerScreenshotTest.kt @@ -8,8 +8,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withText import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.drawer.DrawerTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.DrawerTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner @@ -78,7 +78,7 @@ class ViewSystemDrawerScreenshotTest( skipDefaultCaptureRoboImage = true, action = { onView(withText("Show Drawer")).perform(click()) - onView(withId(com.sdds.testing.R.id.drawer_layout)).perform(swipeDown()) + onView(withId(com.sdds.uikit.fixtures.R.id.drawer_layout)).perform(swipeDown()) }, ) { drawerCloseInnerMBottomEnd( diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDropDownMenuScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDropDownMenuScreenshotTest.kt index c04b952bd6..b7a485cea7 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDropDownMenuScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemDropDownMenuScreenshotTest.kt @@ -7,8 +7,8 @@ import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage import com.sdds.plasma.sd.service.colorstate.ListItemViewColorState -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.dropdownmenu.DropDownMenuTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.DropDownMenuTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemFlowScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemFlowScreenshotTest.kt index 3ee0cb5eec..5547dbf0e6 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemFlowScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemFlowScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.flow.FlowTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.FlowTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemImageScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemImageScreenshotTest.kt index a2b457f0f1..937bbf5d6d 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemImageScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemImageScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.image.ImageTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ImageTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemIndicatorScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemIndicatorScreenshotTest.kt index acd517e0fe..eb91e9a735 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemIndicatorScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemIndicatorScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.indicator.IndicatorTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.IndicatorTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemListViewScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemListViewScreenshotTest.kt index 1f68904fe4..464d45c27d 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemListViewScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemListViewScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.list.ListTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ListTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemLoaderScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemLoaderScreenshotTest.kt index 03f6f95dac..fb614e043a 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemLoaderScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemLoaderScreenshotTest.kt @@ -3,8 +3,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.loader.LoaderTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.LoaderTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemMaskScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemMaskScreenshotTest.kt index 8d06897d38..fc96da354f 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemMaskScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemMaskScreenshotTest.kt @@ -11,8 +11,8 @@ import androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.sdds.plasma.sd.service.colorstate.TextFieldColorState -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.mask.MaskTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.MaskTestCases import org.hamcrest.CoreMatchers.allOf import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemModalScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemModalScreenshotTest.kt index 4eff555400..0834c795b3 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemModalScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemModalScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.modal.ModalTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ModalTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNavigationBarScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNavigationBarScreenshotTest.kt index e3f03bddcf..f07f5963b4 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNavigationBarScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNavigationBarScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.navigationbar.NavigationBarTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.NavigationBarTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationContentScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationContentScreenshotTest.kt index 5ac11dac6b..caca2ac27a 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationContentScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationContentScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.notificationcontent.NotificationContentTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.NotificationContentTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationScreenshotTest.kt index f6dd2205b4..6ba7c783e7 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemNotificationScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.notification.NotificationTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.NotificationTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemOverlayScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemOverlayScreenshotTest.kt index ef2c051f11..e175627a1c 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemOverlayScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemOverlayScreenshotTest.kt @@ -4,8 +4,8 @@ import android.view.ViewGroup import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.overlay.OverlayTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.OverlayTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemPopoverScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemPopoverScreenshotTest.kt index 385a5eb144..9602e2d79f 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemPopoverScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemPopoverScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.popover.PopoverTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.PopoverTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemProgressScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemProgressScreenshotTest.kt index 9d732dd007..09f12241ea 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemProgressScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemProgressScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.progress.ProgressBarTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ProgressBarTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRadioBoxScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRadioBoxScreenshotTest.kt index 45842277f9..5c86c1c17d 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRadioBoxScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRadioBoxScreenshotTest.kt @@ -4,8 +4,8 @@ import androidx.test.espresso.Espresso.onView import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.radiobox.RadioBoxTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.RadioBoxTestCases import org.hamcrest.core.AllOf.allOf import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRectSkeletonScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRectSkeletonScreenshotTest.kt index 3ef30e6bc2..2a91af4bb9 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRectSkeletonScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemRectSkeletonScreenshotTest.kt @@ -3,8 +3,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.skeleton.RectSkeletonTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.RectSkeletonTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemScrollBarScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemScrollBarScreenshotTest.kt index 7a1330a8c1..f2666896e6 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemScrollBarScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemScrollBarScreenshotTest.kt @@ -4,8 +4,8 @@ import androidx.test.espresso.Espresso.onView import androidx.test.espresso.action.ViewActions.swipeUp import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.scrollbar.ScrollBarTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ScrollBarTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSegmentScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSegmentScreenshotTest.kt index 1e90e53785..e3bea6d399 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSegmentScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSegmentScreenshotTest.kt @@ -4,8 +4,8 @@ import androidx.test.espresso.Espresso.onView import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.segement.SegmentTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.SegmentTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSpinnerScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSpinnerScreenshotTest.kt index 22e6ffaba5..0e7c771cdf 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSpinnerScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSpinnerScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.spinner.SpinnerTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.SpinnerTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSwitchScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSwitchScreenshotTest.kt index 7a840543b9..186d14dd92 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSwitchScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemSwitchScreenshotTest.kt @@ -1,8 +1,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.switcher.SwitchTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.SwitchTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextAreaScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextAreaScreenshotTest.kt index 78b6e7e7cb..5d2fd4ae51 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextAreaScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextAreaScreenshotTest.kt @@ -5,8 +5,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.sdds.plasma.sd.service.colorstate.TextAreaColorState -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.textfield.TextAreaTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.TextAreaTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextFieldScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextFieldScreenshotTest.kt index 5a4a6959fc..ddc1343b9c 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextFieldScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextFieldScreenshotTest.kt @@ -5,8 +5,8 @@ import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.sdds.plasma.sd.service.colorstate.TextFieldColorState -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.textfield.TextFieldTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.TextFieldTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextSkeletonScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextSkeletonScreenshotTest.kt index 4d358382bd..c34c12125b 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextSkeletonScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTextSkeletonScreenshotTest.kt @@ -3,8 +3,8 @@ package com.sdds.plasma.sd.service import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.skeleton.TextSkeletonTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.TextSkeletonTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemToastScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemToastScreenshotTest.kt index ab60312a12..8081c82e11 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemToastScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemToastScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.toast.ToastTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.ToastTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTooltipScreenshotTest.kt b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTooltipScreenshotTest.kt index 30d486951b..17f8e3bba5 100644 --- a/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTooltipScreenshotTest.kt +++ b/tokens/plasma.sd.service.view/src/test/kotlin/com/sdds/plasma/sd/service/ViewSystemTooltipScreenshotTest.kt @@ -6,8 +6,8 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage -import com.sdds.testing.vs.SDK_NUMBER -import com.sdds.testing.vs.tooltip.TooltipTestCases +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.testcases.TooltipTestCases import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds-sbcom-compose/docs/override-docs/versionsArchived.json b/tokens/sdds-sbcom-compose/docs/override-docs/versionsArchived.json new file mode 100644 index 0000000000..eb95e69be9 --- /dev/null +++ b/tokens/sdds-sbcom-compose/docs/override-docs/versionsArchived.json @@ -0,0 +1,3 @@ +{ + "0.1.0": "https://plasma.sberdevices.ru/compose/sdds-sbcom-compose/0.1.0/" +} \ No newline at end of file diff --git a/tokens/sdds-sbcom-compose/docs/src/test/kotlin/com/sdds/sbcom/ComposeDocScreenshotTest.kt b/tokens/sdds-sbcom-compose/docs/src/test/kotlin/com/sdds/sbcom/ComposeDocScreenshotTest.kt index 336441f2d5..df5933efc7 100644 --- a/tokens/sdds-sbcom-compose/docs/src/test/kotlin/com/sdds/sbcom/ComposeDocScreenshotTest.kt +++ b/tokens/sdds-sbcom-compose/docs/src/test/kotlin/com/sdds/sbcom/ComposeDocScreenshotTest.kt @@ -3,8 +3,8 @@ package com.sdds.sbcom import androidx.compose.ui.test.onRoot import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureRoboImage +import com.sdds.compose.uikit.fixtures.SDK_NUMBER import com.sdds.compose.uikit.fixtures.samples.RoborazziConfigDocs -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds-sbcom-compose/gradle.properties b/tokens/sdds-sbcom-compose/gradle.properties index bcd76ca331..bb7611f55e 100644 --- a/tokens/sdds-sbcom-compose/gradle.properties +++ b/tokens/sdds-sbcom-compose/gradle.properties @@ -2,7 +2,7 @@ nexus.artifactId=sdds-sbcom-compose nexus.snapshot=false nexus.description=sdds sbcom library for compose framework versionMajor=0 -versionMinor=1 +versionMinor=2 versionPatch=0 theme-version=0.3.0 diff --git a/tokens/sdds.serv.compose/build.gradle.kts b/tokens/sdds.serv.compose/build.gradle.kts index 6fb4e2efab..472da77c9a 100644 --- a/tokens/sdds.serv.compose/build.gradle.kts +++ b/tokens/sdds.serv.compose/build.gradle.kts @@ -35,6 +35,7 @@ themeBuilder { } dependencies { + testImplementation("sdds-core:uikit-compose-fixtures") implementation(libs.sdds.uikit.compose) implementation(icons.sdds.icons) implementation(libs.base.androidX.compose.foundation) diff --git a/tokens/sdds.serv.compose/config-info-compose.json b/tokens/sdds.serv.compose/config-info-compose.json index 3fb07627de..d57e09330f 100644 --- a/tokens/sdds.serv.compose/config-info-compose.json +++ b/tokens/sdds.serv.compose/config-info-compose.json @@ -6733,6 +6733,84 @@ } ] }, + { + "key": "tool-bar", + "coreName": "ToolBar", + "styleName": "ToolBarHorizontal", + "variations": [ + { + "name": "l", + "composeReference": "ToolBarHorizontal.L" + }, + { + "name": "l.has-shadow", + "composeReference": "ToolBarHorizontal.L.HasShadow" + }, + { + "name": "m", + "composeReference": "ToolBarHorizontal.M" + }, + { + "name": "m.has-shadow", + "composeReference": "ToolBarHorizontal.M.HasShadow" + }, + { + "name": "s", + "composeReference": "ToolBarHorizontal.S" + }, + { + "name": "s.has-shadow", + "composeReference": "ToolBarHorizontal.S.HasShadow" + }, + { + "name": "xs", + "composeReference": "ToolBarHorizontal.Xs" + }, + { + "name": "xs.has-shadow", + "composeReference": "ToolBarHorizontal.Xs.HasShadow" + } + ] + }, + { + "key": "tool-bar", + "coreName": "ToolBar", + "styleName": "ToolBarVertical", + "variations": [ + { + "name": "l", + "composeReference": "ToolBarVertical.L" + }, + { + "name": "l.has-shadow", + "composeReference": "ToolBarVertical.L.HasShadow" + }, + { + "name": "m", + "composeReference": "ToolBarVertical.M" + }, + { + "name": "m.has-shadow", + "composeReference": "ToolBarVertical.M.HasShadow" + }, + { + "name": "s", + "composeReference": "ToolBarVertical.S" + }, + { + "name": "s.has-shadow", + "composeReference": "ToolBarVertical.S.HasShadow" + }, + { + "name": "xs", + "composeReference": "ToolBarVertical.Xs" + }, + { + "name": "xs.has-shadow", + "composeReference": "ToolBarVertical.Xs.HasShadow" + } + ] + }, { "key": "toast", "coreName": "Toast", diff --git a/tokens/sdds.serv.compose/docs/override-docs/versionsArchived.json b/tokens/sdds.serv.compose/docs/override-docs/versionsArchived.json index 2ad3f1699e..d63e048253 100644 --- a/tokens/sdds.serv.compose/docs/override-docs/versionsArchived.json +++ b/tokens/sdds.serv.compose/docs/override-docs/versionsArchived.json @@ -16,5 +16,6 @@ "0.29.0": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.29.0/", "0.29.1": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.29.1/", "0.29.2": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.29.2/", - "0.30.0": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.30.0/" + "0.30.0": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.30.0/", + "0.31.0": "https://plasma.sberdevices.ru/compose/sdds-serv-compose/0.31.0/" } \ No newline at end of file diff --git a/tokens/sdds.serv.compose/docs/src/test/kotlin/com/sdds/serv/ComposeDocScreenshotTest.kt b/tokens/sdds.serv.compose/docs/src/test/kotlin/com/sdds/serv/ComposeDocScreenshotTest.kt index 28d9333f54..0a0bf8ebca 100644 --- a/tokens/sdds.serv.compose/docs/src/test/kotlin/com/sdds/serv/ComposeDocScreenshotTest.kt +++ b/tokens/sdds.serv.compose/docs/src/test/kotlin/com/sdds/serv/ComposeDocScreenshotTest.kt @@ -3,8 +3,8 @@ package com.sdds.serv import androidx.compose.ui.test.onRoot import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureRoboImage +import com.sdds.compose.uikit.fixtures.SDK_NUMBER import com.sdds.compose.uikit.fixtures.samples.RoborazziConfigDocs -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/gradle.properties b/tokens/sdds.serv.compose/gradle.properties index 3301b145d1..8d1d315728 100644 --- a/tokens/sdds.serv.compose/gradle.properties +++ b/tokens/sdds.serv.compose/gradle.properties @@ -2,7 +2,7 @@ nexus.artifactId=sdds-serv-compose nexus.snapshot=false nexus.description=sdds-serv token library for compose framework versionMajor=0 -versionMinor=31 +versionMinor=32 versionPatch=0 theme-version=0.8.0 diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAccordionScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAccordionScreenshotTest.kt index a153f9eaf4..58b300937d 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAccordionScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAccordionScreenshotTest.kt @@ -3,6 +3,20 @@ package com.sdds.serv import androidx.compose.ui.test.onAllNodesWithTag import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.AccordionClearActionEndSizeH4 +import com.sdds.compose.uikit.fixtures.testcases.AccordionClearActionEndSizeSDivider +import com.sdds.compose.uikit.fixtures.testcases.AccordionClearActionStartSizeH2AmountTen +import com.sdds.compose.uikit.fixtures.testcases.AccordionClearActionStartSizeH5 +import com.sdds.compose.uikit.fixtures.testcases.AccordionClearActionStartSizeXs +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionEndSizeH2 +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionEndSizeL +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionEndSizeLAmountTen +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionEndSizeLLongText +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionEndSizeLNoTextNoContent +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionStartAmountTenSizeM +import com.sdds.compose.uikit.fixtures.testcases.AccordionSolidActionStartSizeH3 import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.accordion.AccordionClearActionEnd import com.sdds.serv.styles.accordion.AccordionClearActionStart @@ -16,20 +30,6 @@ import com.sdds.serv.styles.accordion.L import com.sdds.serv.styles.accordion.M import com.sdds.serv.styles.accordion.S import com.sdds.serv.styles.accordion.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.accordion.AccordionClearActionEndSizeH4 -import com.sdds.testing.compose.accordion.AccordionClearActionEndSizeSDivider -import com.sdds.testing.compose.accordion.AccordionClearActionStartSizeH2AmountTen -import com.sdds.testing.compose.accordion.AccordionClearActionStartSizeH5 -import com.sdds.testing.compose.accordion.AccordionClearActionStartSizeXs -import com.sdds.testing.compose.accordion.AccordionSolidActionEndSizeH2 -import com.sdds.testing.compose.accordion.AccordionSolidActionEndSizeL -import com.sdds.testing.compose.accordion.AccordionSolidActionEndSizeLAmountTen -import com.sdds.testing.compose.accordion.AccordionSolidActionEndSizeLLongText -import com.sdds.testing.compose.accordion.AccordionSolidActionEndSizeLNoTextNoContent -import com.sdds.testing.compose.accordion.AccordionSolidActionStartAmountTenSizeM -import com.sdds.testing.compose.accordion.AccordionSolidActionStartSizeH3 -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAutocompleteScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAutocompleteScreenshotTest.kt index a8efe746ce..c51a74735b 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAutocompleteScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAutocompleteScreenshotTest.kt @@ -5,6 +5,17 @@ import androidx.compose.ui.test.onAllNodesWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteBottomCenter +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteBottomStart +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteCenter +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteEmptyStateCenterStart +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteLoadingTopStart +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteTopCenter +import com.sdds.compose.uikit.fixtures.testcases.AutoCompleteTopEnd import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.autocomplete.AutocompleteNormal import com.sdds.serv.styles.autocomplete.AutocompleteTight @@ -16,17 +27,6 @@ import com.sdds.serv.styles.autocomplete.Xs import com.sdds.serv.styles.spinner.Default import com.sdds.serv.styles.spinner.Spinner import com.sdds.serv.styles.spinner.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.autocomplete.AutoCompleteBottomCenter -import com.sdds.testing.compose.autocomplete.AutoCompleteBottomEnd -import com.sdds.testing.compose.autocomplete.AutoCompleteBottomStart -import com.sdds.testing.compose.autocomplete.AutoCompleteCenter -import com.sdds.testing.compose.autocomplete.AutoCompleteCenterEnd -import com.sdds.testing.compose.autocomplete.AutoCompleteEmptyStateCenterStart -import com.sdds.testing.compose.autocomplete.AutoCompleteLoadingTopStart -import com.sdds.testing.compose.autocomplete.AutoCompleteTopCenter -import com.sdds.testing.compose.autocomplete.AutoCompleteTopEnd -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAvatarScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAvatarScreenshotTest.kt index 3625386dca..218af819a9 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAvatarScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeAvatarScreenshotTest.kt @@ -1,6 +1,19 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.AvatarGroupSizeS +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeLBadgeTopEndContentStart +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeLCounterTopEnd +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeM +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeMBadgeBottomStart +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeMCounterBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeSCounterBottomStart +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeXxl +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeXxlBadgeBottomEndContentEnd +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeXxlBadgeTopStartContentStart +import com.sdds.compose.uikit.fixtures.testcases.AvatarSizeXxlCounterTopStart import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.avatar.Avatar import com.sdds.serv.styles.avatar.L @@ -9,19 +22,6 @@ import com.sdds.serv.styles.avatar.S import com.sdds.serv.styles.avatar.Xxl import com.sdds.serv.styles.avatargroup.AvatarGroup import com.sdds.serv.styles.avatargroup.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.avatar.AvatarGroupSizeS -import com.sdds.testing.compose.avatar.AvatarSizeLBadgeTopEndContentStart -import com.sdds.testing.compose.avatar.AvatarSizeLCounterTopEnd -import com.sdds.testing.compose.avatar.AvatarSizeM -import com.sdds.testing.compose.avatar.AvatarSizeMBadgeBottomStart -import com.sdds.testing.compose.avatar.AvatarSizeMCounterBottomEnd -import com.sdds.testing.compose.avatar.AvatarSizeSCounterBottomStart -import com.sdds.testing.compose.avatar.AvatarSizeXxl -import com.sdds.testing.compose.avatar.AvatarSizeXxlBadgeBottomEndContentEnd -import com.sdds.testing.compose.avatar.AvatarSizeXxlBadgeTopStartContentStart -import com.sdds.testing.compose.avatar.AvatarSizeXxlCounterTopStart -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBadgeScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBadgeScreenshotTest.kt index f9edcfe062..99180e27c0 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBadgeScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBadgeScreenshotTest.kt @@ -1,6 +1,12 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.BadgeCommon +import com.sdds.compose.uikit.fixtures.testcases.BadgeSizeLDefaultContentLeft +import com.sdds.compose.uikit.fixtures.testcases.BadgeSizeMAccentContentRight +import com.sdds.compose.uikit.fixtures.testcases.IconBadgeCommon import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.badge.Accent import com.sdds.serv.styles.badge.BadgeClear @@ -31,12 +37,6 @@ import com.sdds.serv.styles.iconbadge.Positive import com.sdds.serv.styles.iconbadge.S import com.sdds.serv.styles.iconbadge.Warning import com.sdds.serv.styles.iconbadge.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.badge.BadgeCommon -import com.sdds.testing.compose.badge.BadgeSizeLDefaultContentLeft -import com.sdds.testing.compose.badge.BadgeSizeMAccentContentRight -import com.sdds.testing.compose.badge.IconBadgeCommon -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBottomSheetScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBottomSheetScreenshotTest.kt index f2d364812d..4e08b9a8ec 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBottomSheetScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeBottomSheetScreenshotTest.kt @@ -5,20 +5,20 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetFooterAuto +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetHeaderAuto +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetHeaderFixedHandleOuter +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetHeaderFooterFixedHandleInner +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetHeaderFooterFixedHandleNone +import com.sdds.compose.uikit.fixtures.testcases.BottomSheetNoHeaderFooterAuto import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default import com.sdds.serv.styles.basicbutton.M import com.sdds.serv.styles.bottomsheet.Default import com.sdds.serv.styles.bottomsheet.ModalBottomSheet -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.bottomsheet.BottomSheetFooterAuto -import com.sdds.testing.compose.bottomsheet.BottomSheetHeaderAuto -import com.sdds.testing.compose.bottomsheet.BottomSheetHeaderFixedHandleOuter -import com.sdds.testing.compose.bottomsheet.BottomSheetHeaderFooterFixedHandleInner -import com.sdds.testing.compose.bottomsheet.BottomSheetHeaderFooterFixedHandleNone -import com.sdds.testing.compose.bottomsheet.BottomSheetNoHeaderFooterAuto -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonGroupScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonGroupScreenshotTest.kt index ded03fb6e0..d389ce5ba9 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonGroupScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonGroupScreenshotTest.kt @@ -1,6 +1,14 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ButtonGroupHorizontal +import com.sdds.compose.uikit.fixtures.testcases.ButtonGroupHorizontalMaxAmount +import com.sdds.compose.uikit.fixtures.testcases.ButtonGroupVertical +import com.sdds.compose.uikit.fixtures.testcases.IconButtonGroupHorizontal +import com.sdds.compose.uikit.fixtures.testcases.IconButtonGroupHorizontalMaxAmount +import com.sdds.compose.uikit.fixtures.testcases.IconButtonGroupVertical import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.buttongroup.BasicButtonGroup import com.sdds.serv.styles.buttongroup.Default @@ -15,14 +23,6 @@ import com.sdds.serv.styles.buttongroup.Segmented import com.sdds.serv.styles.buttongroup.Wide import com.sdds.serv.styles.buttongroup.Xs import com.sdds.serv.styles.buttongroup.Xxs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.buttongroup.ButtonGroupHorizontal -import com.sdds.testing.compose.buttongroup.ButtonGroupHorizontalMaxAmount -import com.sdds.testing.compose.buttongroup.ButtonGroupVertical -import com.sdds.testing.compose.buttongroup.IconButtonGroupHorizontal -import com.sdds.testing.compose.buttongroup.IconButtonGroupHorizontalMaxAmount -import com.sdds.testing.compose.buttongroup.IconButtonGroupVertical -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonScreenshotTest.kt index 5c2da905ac..3e3d0fc1c9 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeButtonScreenshotTest.kt @@ -1,6 +1,43 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLDefault +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLDisabled +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLIsLoading +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLSecondary +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeLWhite +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeMAccent +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeMSpaceBetween +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeSLongText +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeSWarning +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeXSDark +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeXSNegative +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeXlDefault +import com.sdds.compose.uikit.fixtures.testcases.ButtonSizeXxsDefault +import com.sdds.compose.uikit.fixtures.testcases.IconButtonIsLoading +import com.sdds.compose.uikit.fixtures.testcases.IconButtonLDefault +import com.sdds.compose.uikit.fixtures.testcases.IconButtonLDisabled +import com.sdds.compose.uikit.fixtures.testcases.IconButtonLSecondary +import com.sdds.compose.uikit.fixtures.testcases.IconButtonLWhite +import com.sdds.compose.uikit.fixtures.testcases.IconButtonMAccent +import com.sdds.compose.uikit.fixtures.testcases.IconButtonMClear +import com.sdds.compose.uikit.fixtures.testcases.IconButtonSPositive +import com.sdds.compose.uikit.fixtures.testcases.IconButtonSWarning +import com.sdds.compose.uikit.fixtures.testcases.IconButtonXSNegative +import com.sdds.compose.uikit.fixtures.testcases.IconButtonXlDefault +import com.sdds.compose.uikit.fixtures.testcases.IconButtonXsDark +import com.sdds.compose.uikit.fixtures.testcases.IconButtonXxsDefault +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeLDefault +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeLDisabled +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeLIsLoading +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeLSecondary +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeMAccent +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeSWarning +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeXSNegative +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeXlDefault +import com.sdds.compose.uikit.fixtures.testcases.LinkButtonSizeXxsDefault import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.Accent import com.sdds.serv.styles.basicbutton.BasicButton @@ -47,43 +84,6 @@ import com.sdds.serv.styles.linkbutton.Warning import com.sdds.serv.styles.linkbutton.Xl import com.sdds.serv.styles.linkbutton.Xs import com.sdds.serv.styles.linkbutton.Xxs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.button.ButtonSizeLDefault -import com.sdds.testing.compose.button.ButtonSizeLDisabled -import com.sdds.testing.compose.button.ButtonSizeLIsLoading -import com.sdds.testing.compose.button.ButtonSizeLSecondary -import com.sdds.testing.compose.button.ButtonSizeLWhite -import com.sdds.testing.compose.button.ButtonSizeMAccent -import com.sdds.testing.compose.button.ButtonSizeMSpaceBetween -import com.sdds.testing.compose.button.ButtonSizeSLongText -import com.sdds.testing.compose.button.ButtonSizeSWarning -import com.sdds.testing.compose.button.ButtonSizeXSDark -import com.sdds.testing.compose.button.ButtonSizeXSNegative -import com.sdds.testing.compose.button.ButtonSizeXlDefault -import com.sdds.testing.compose.button.ButtonSizeXxsDefault -import com.sdds.testing.compose.button.IconButtonIsLoading -import com.sdds.testing.compose.button.IconButtonLDefault -import com.sdds.testing.compose.button.IconButtonLDisabled -import com.sdds.testing.compose.button.IconButtonLSecondary -import com.sdds.testing.compose.button.IconButtonLWhite -import com.sdds.testing.compose.button.IconButtonMAccent -import com.sdds.testing.compose.button.IconButtonMClear -import com.sdds.testing.compose.button.IconButtonSPositive -import com.sdds.testing.compose.button.IconButtonSWarning -import com.sdds.testing.compose.button.IconButtonXSNegative -import com.sdds.testing.compose.button.IconButtonXlDefault -import com.sdds.testing.compose.button.IconButtonXsDark -import com.sdds.testing.compose.button.IconButtonXxsDefault -import com.sdds.testing.compose.button.LinkButtonSizeLDefault -import com.sdds.testing.compose.button.LinkButtonSizeLDisabled -import com.sdds.testing.compose.button.LinkButtonSizeLIsLoading -import com.sdds.testing.compose.button.LinkButtonSizeLSecondary -import com.sdds.testing.compose.button.LinkButtonSizeMAccent -import com.sdds.testing.compose.button.LinkButtonSizeSWarning -import com.sdds.testing.compose.button.LinkButtonSizeXSNegative -import com.sdds.testing.compose.button.LinkButtonSizeXlDefault -import com.sdds.testing.compose.button.LinkButtonSizeXxsDefault -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCardScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCardScreenshotTest.kt index c1d3c6c87a..ebd1904137 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCardScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCardScreenshotTest.kt @@ -1,16 +1,16 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CardHorizontal +import com.sdds.compose.uikit.fixtures.testcases.CardVertical import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.card.CardClear import com.sdds.serv.styles.card.CardSolid import com.sdds.serv.styles.card.L import com.sdds.serv.styles.card.M import com.sdds.serv.styles.card.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.card.CardHorizontal -import com.sdds.testing.compose.card.CardVertical -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCarouselScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCarouselScreenshotTest.kt index 05174a0c03..cb5cb51700 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCarouselScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCarouselScreenshotTest.kt @@ -1,17 +1,17 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CarouselAlignmentCenterOuterControls +import com.sdds.compose.uikit.fixtures.testcases.CarouselAlignmentEndInnerControlsIndicator +import com.sdds.compose.uikit.fixtures.testcases.CarouselAlignmentStartControlsInner +import com.sdds.compose.uikit.fixtures.testcases.CarouselCenterInnerGapNoIndicatorNoControls import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.carousel.ButtonsPlacementInner import com.sdds.serv.styles.carousel.ButtonsPlacementOuter import com.sdds.serv.styles.carousel.Carousel import com.sdds.serv.theme.SddsServTheme -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.carousel.CarouselAlignmentCenterOuterControls -import com.sdds.testing.compose.carousel.CarouselAlignmentEndInnerControlsIndicator -import com.sdds.testing.compose.carousel.CarouselAlignmentStartControlsInner -import com.sdds.testing.compose.carousel.CarouselCenterInnerGapNoIndicatorNoControls -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCellScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCellScreenshotTest.kt index 29055bb2fc..725b5aea18 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCellScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCellScreenshotTest.kt @@ -1,24 +1,24 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CellMAvatarIcon +import com.sdds.compose.uikit.fixtures.testcases.CellSizeLAvatarHasDisclosure +import com.sdds.compose.uikit.fixtures.testcases.CellSizeLHasDisclosureDisclosureText +import com.sdds.compose.uikit.fixtures.testcases.CellSizeLSwitchCheckBox +import com.sdds.compose.uikit.fixtures.testcases.CellSizeMCheckBoxHasDisclosure +import com.sdds.compose.uikit.fixtures.testcases.CellSizeMTitleAvatar +import com.sdds.compose.uikit.fixtures.testcases.CellSizeSIconHasDisclosureDisclosureText +import com.sdds.compose.uikit.fixtures.testcases.CellSizeSSubtitleHasDisclosure +import com.sdds.compose.uikit.fixtures.testcases.CellSizeXsLabelAvatar +import com.sdds.compose.uikit.fixtures.testcases.CellSizeXsRadioBoxAvatar import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.cell.Cell import com.sdds.serv.styles.cell.L import com.sdds.serv.styles.cell.M import com.sdds.serv.styles.cell.S import com.sdds.serv.styles.cell.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.cell.CellMAvatarIcon -import com.sdds.testing.compose.cell.CellSizeLAvatarHasDisclosure -import com.sdds.testing.compose.cell.CellSizeLHasDisclosureDisclosureText -import com.sdds.testing.compose.cell.CellSizeLSwitchCheckBox -import com.sdds.testing.compose.cell.CellSizeMCheckBoxHasDisclosure -import com.sdds.testing.compose.cell.CellSizeMTitleAvatar -import com.sdds.testing.compose.cell.CellSizeSIconHasDisclosureDisclosureText -import com.sdds.testing.compose.cell.CellSizeSSubtitleHasDisclosure -import com.sdds.testing.compose.cell.CellSizeXsLabelAvatar -import com.sdds.testing.compose.cell.CellSizeXsRadioBoxAvatar -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCheckBoxScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCheckBoxScreenshotTest.kt index 9c2676719e..81e5f905c6 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCheckBoxScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCheckBoxScreenshotTest.kt @@ -1,6 +1,18 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxGroupSizeM +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxGroupSizeMDisabled +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxGroupSizeS +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeLNegative +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeLNegativeUnchecked +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeM +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeMIndeterminate +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeMediumNoLabelAndDesc +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeSDisabled +import com.sdds.compose.uikit.fixtures.testcases.CheckBoxSizeSUnchecked import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.checkbox.CheckBox import com.sdds.serv.styles.checkbox.Default @@ -11,18 +23,6 @@ import com.sdds.serv.styles.checkbox.S import com.sdds.serv.styles.checkboxgroup.CheckBoxGroup import com.sdds.serv.styles.checkboxgroup.M import com.sdds.serv.styles.checkboxgroup.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.checkbox.CheckBoxGroupSizeM -import com.sdds.testing.compose.checkbox.CheckBoxGroupSizeMDisabled -import com.sdds.testing.compose.checkbox.CheckBoxGroupSizeS -import com.sdds.testing.compose.checkbox.CheckBoxSizeLNegative -import com.sdds.testing.compose.checkbox.CheckBoxSizeLNegativeUnchecked -import com.sdds.testing.compose.checkbox.CheckBoxSizeM -import com.sdds.testing.compose.checkbox.CheckBoxSizeMIndeterminate -import com.sdds.testing.compose.checkbox.CheckBoxSizeMediumNoLabelAndDesc -import com.sdds.testing.compose.checkbox.CheckBoxSizeSDisabled -import com.sdds.testing.compose.checkbox.CheckBoxSizeSUnchecked -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeChipScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeChipScreenshotTest.kt index a3319f5125..adcdf7ae80 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeChipScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeChipScreenshotTest.kt @@ -1,6 +1,17 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ChipDisabled +import com.sdds.compose.uikit.fixtures.testcases.ChipGroupSizeLDense +import com.sdds.compose.uikit.fixtures.testcases.ChipGroupSizeMSecondaryWideWrapped +import com.sdds.compose.uikit.fixtures.testcases.ChipGroupSizeSAccentDense +import com.sdds.compose.uikit.fixtures.testcases.ChipGroupSizeXsDefault +import com.sdds.compose.uikit.fixtures.testcases.ChipSizeLDefault +import com.sdds.compose.uikit.fixtures.testcases.ChipSizeMSecondaryPilled +import com.sdds.compose.uikit.fixtures.testcases.ChipSizeSAccent +import com.sdds.compose.uikit.fixtures.testcases.ChipSizeXSContentLeft import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.chip.Accent import com.sdds.serv.styles.chip.Chip @@ -20,17 +31,6 @@ import com.sdds.serv.styles.chipgroup.M import com.sdds.serv.styles.chipgroup.S import com.sdds.serv.styles.chipgroup.Secondary import com.sdds.serv.styles.chipgroup.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.chip.ChipDisabled -import com.sdds.testing.compose.chip.ChipGroupSizeLDense -import com.sdds.testing.compose.chip.ChipGroupSizeMSecondaryWideWrapped -import com.sdds.testing.compose.chip.ChipGroupSizeSAccentDense -import com.sdds.testing.compose.chip.ChipGroupSizeXsDefault -import com.sdds.testing.compose.chip.ChipSizeLDefault -import com.sdds.testing.compose.chip.ChipSizeMSecondaryPilled -import com.sdds.testing.compose.chip.ChipSizeSAccent -import com.sdds.testing.compose.chip.ChipSizeXSContentLeft -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCircularProgressScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCircularProgressScreenshotTest.kt index 42cb73bc48..a3d09f672e 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCircularProgressScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCircularProgressScreenshotTest.kt @@ -1,6 +1,11 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CircularProgress +import com.sdds.compose.uikit.fixtures.testcases.CircularProgressMax +import com.sdds.compose.uikit.fixtures.testcases.CircularProgressNoTrack import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.circularprogressbar.Accent import com.sdds.serv.styles.circularprogressbar.CircularProgressBar @@ -18,11 +23,6 @@ import com.sdds.serv.styles.circularprogressbar.Xl import com.sdds.serv.styles.circularprogressbar.Xs import com.sdds.serv.styles.circularprogressbar.Xxl import com.sdds.serv.styles.circularprogressbar.Xxs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.progress.CircularProgress -import com.sdds.testing.compose.progress.CircularProgressMax -import com.sdds.testing.compose.progress.CircularProgressNoTrack -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeFieldScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeFieldScreenshotTest.kt index 8a12d78f66..db98c2e303 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeFieldScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeFieldScreenshotTest.kt @@ -4,20 +4,20 @@ import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeHidden +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLengthFive +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLengthFour +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLengthFourCaptionCenter +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLengthSix +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLengthSixNoCaption +import com.sdds.compose.uikit.fixtures.testcases.CodeFieldCodeLongText import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.codefield.CodeField import com.sdds.serv.styles.codefield.L import com.sdds.serv.styles.codefield.M import com.sdds.serv.styles.codefield.Segmented -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.codefield.CodeFieldCodeHidden -import com.sdds.testing.compose.codefield.CodeFieldCodeLengthFive -import com.sdds.testing.compose.codefield.CodeFieldCodeLengthFour -import com.sdds.testing.compose.codefield.CodeFieldCodeLengthFourCaptionCenter -import com.sdds.testing.compose.codefield.CodeFieldCodeLengthSix -import com.sdds.testing.compose.codefield.CodeFieldCodeLengthSixNoCaption -import com.sdds.testing.compose.codefield.CodeFieldCodeLongText -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeInputScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeInputScreenshotTest.kt index 2aeb6f0a21..16e5f3eb1f 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeInputScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCodeInputScreenshotTest.kt @@ -3,18 +3,18 @@ package com.sdds.serv import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CodeInputCodeLengthFive +import com.sdds.compose.uikit.fixtures.testcases.CodeInputCodeLengthFour +import com.sdds.compose.uikit.fixtures.testcases.CodeInputCodeLengthSix +import com.sdds.compose.uikit.fixtures.testcases.CodeInputCodeLengthSixHidden +import com.sdds.compose.uikit.fixtures.testcases.CodeInputCodeLengthSixNoCaption import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.codeinput.CodeInput import com.sdds.serv.styles.codeinput.L import com.sdds.serv.styles.codeinput.M import com.sdds.serv.styles.codeinput.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.codeinput.CodeInputCodeLengthFive -import com.sdds.testing.compose.codeinput.CodeInputCodeLengthFour -import com.sdds.testing.compose.codeinput.CodeInputCodeLengthSix -import com.sdds.testing.compose.codeinput.CodeInputCodeLengthSixHidden -import com.sdds.testing.compose.codeinput.CodeInputCodeLengthSixNoCaption -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCounterScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCounterScreenshotTest.kt index f9c0fe8c21..63bd530957 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCounterScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeCounterScreenshotTest.kt @@ -1,6 +1,11 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.CounterCommon +import com.sdds.compose.uikit.fixtures.testcases.CounterSizeLWhite +import com.sdds.compose.uikit.fixtures.testcases.CounterSizeSPositiveLongNumber import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.counter.Accent import com.sdds.serv.styles.counter.Counter @@ -14,11 +19,6 @@ import com.sdds.serv.styles.counter.Warning import com.sdds.serv.styles.counter.White import com.sdds.serv.styles.counter.Xs import com.sdds.serv.styles.counter.Xxs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.counter.CounterCommon -import com.sdds.testing.compose.counter.CounterSizeLWhite -import com.sdds.testing.compose.counter.CounterSizeSPositiveLongNumber -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDividerScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDividerScreenshotTest.kt index 3e0781d4b9..4200d8d0db 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDividerScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDividerScreenshotTest.kt @@ -1,12 +1,12 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.DividerDefault import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.divider.Default import com.sdds.serv.styles.divider.Divider -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.divider.DividerDefault -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDrawerScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDrawerScreenshotTest.kt index 564ae1da0b..14db235d4d 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDrawerScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDrawerScreenshotTest.kt @@ -6,6 +6,14 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTouchInput import androidx.compose.ui.test.swipeDown import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseIconAbsolute +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseInnerMStartHeader +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseInnerNoShadowBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseInnerPeakOffSet +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseNoneEndStartHeaderFooter +import com.sdds.compose.uikit.fixtures.testcases.DrawerCloseOuterMShadowTopEndFooterHasOverlay import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -17,14 +25,6 @@ import com.sdds.serv.styles.drawer.HasShadow import com.sdds.serv.styles.drawer.M import com.sdds.serv.styles.listitem.L import com.sdds.serv.styles.listitem.ListItemNormal -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.drawer.DrawerCloseIconAbsolute -import com.sdds.testing.compose.drawer.DrawerCloseInnerMStartHeader -import com.sdds.testing.compose.drawer.DrawerCloseInnerNoShadowBottomEnd -import com.sdds.testing.compose.drawer.DrawerCloseInnerPeakOffSet -import com.sdds.testing.compose.drawer.DrawerCloseNoneEndStartHeaderFooter -import com.sdds.testing.compose.drawer.DrawerCloseOuterMShadowTopEndFooterHasOverlay -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDropDownMenuScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDropDownMenuScreenshotTest.kt index ba4e2aebeb..b770d169bd 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDropDownMenuScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeDropDownMenuScreenshotTest.kt @@ -5,6 +5,18 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuLStrictCenterStart +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuMStrictBottomStart +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuSStrictTopCenter +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuTightXsStrictCenter +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXlAmountTenLooseBottomCenter +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXlAmountTenStrictCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXlHasDisclosureTopStart +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXlLooseBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXlLooseTopEndDivider +import com.sdds.compose.uikit.fixtures.testcases.DropDownMenuXsStrictCenter import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -16,18 +28,6 @@ import com.sdds.serv.styles.dropdownmenu.M import com.sdds.serv.styles.dropdownmenu.S import com.sdds.serv.styles.dropdownmenu.Xl import com.sdds.serv.styles.dropdownmenu.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.dropdownmenu.DropDownMenuLStrictCenterStart -import com.sdds.testing.compose.dropdownmenu.DropDownMenuMStrictBottomStart -import com.sdds.testing.compose.dropdownmenu.DropDownMenuSStrictTopCenter -import com.sdds.testing.compose.dropdownmenu.DropDownMenuTightXsStrictCenter -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXlAmountTenLooseBottomCenter -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXlAmountTenStrictCenterEnd -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXlHasDisclosureTopStart -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXlLooseBottomEnd -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXlLooseTopEndDivider -import com.sdds.testing.compose.dropdownmenu.DropDownMenuXsStrictCenter -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Ignore import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeEditableScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeEditableScreenshotTest.kt index 5a4f2eb736..1a4ae59d2f 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeEditableScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeEditableScreenshotTest.kt @@ -4,6 +4,15 @@ import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performTextClearance import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.EditableDisabled +import com.sdds.compose.uikit.fixtures.testcases.EditableMultipleLinesIconPlacementAbsoluteTextAlignEnd +import com.sdds.compose.uikit.fixtures.testcases.EditableReadOnly +import com.sdds.compose.uikit.fixtures.testcases.EditableRelativeTextAlignCenter +import com.sdds.compose.uikit.fixtures.testcases.EditableSingleLineRelativeStart +import com.sdds.compose.uikit.fixtures.testcases.EditableTextAlignCenter +import com.sdds.compose.uikit.fixtures.testcases.EditableTextAlignCenterRelative import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.editable.BodyL import com.sdds.serv.styles.editable.BodyM @@ -15,15 +24,6 @@ import com.sdds.serv.styles.editable.H1 import com.sdds.serv.styles.editable.H2 import com.sdds.serv.styles.editable.H4 import com.sdds.serv.styles.editable.H5 -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.editable.EditableDisabled -import com.sdds.testing.compose.editable.EditableMultipleLinesIconPlacementAbsoluteTextAlignEnd -import com.sdds.testing.compose.editable.EditableReadOnly -import com.sdds.testing.compose.editable.EditableRelativeTextAlignCenter -import com.sdds.testing.compose.editable.EditableSingleLineRelativeStart -import com.sdds.testing.compose.editable.EditableTextAlignCenter -import com.sdds.testing.compose.editable.EditableTextAlignCenterRelative -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFileScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFileScreenshotTest.kt index a882caa6a7..4bb4bd93e3 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFileScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFileScreenshotTest.kt @@ -1,6 +1,14 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.FileCircularProgressHasImageEnd +import com.sdds.compose.uikit.fixtures.testcases.FileCircularProgressIsLoadingEndLongText +import com.sdds.compose.uikit.fixtures.testcases.FileCircularProgressIsLoadingHasImageNoDesc +import com.sdds.compose.uikit.fixtures.testcases.FileCircularProgressIsLoadingStart +import com.sdds.compose.uikit.fixtures.testcases.FileLinearProgressIsLoadingHasImageEnd +import com.sdds.compose.uikit.fixtures.testcases.FileLinearProgressIsLoadingStart import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.file.Default import com.sdds.serv.styles.file.FileCircularProgress @@ -10,14 +18,6 @@ import com.sdds.serv.styles.file.M import com.sdds.serv.styles.file.Negative import com.sdds.serv.styles.file.S import com.sdds.serv.styles.file.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.file.FileCircularProgressHasImageEnd -import com.sdds.testing.compose.file.FileCircularProgressIsLoadingEndLongText -import com.sdds.testing.compose.file.FileCircularProgressIsLoadingHasImageNoDesc -import com.sdds.testing.compose.file.FileCircularProgressIsLoadingStart -import com.sdds.testing.compose.file.FileLinearProgressIsLoadingHasImageEnd -import com.sdds.testing.compose.file.FileLinearProgressIsLoadingStart -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFormItemScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFormItemScreenshotTest.kt index 6f2be2befa..7c0828e3e9 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFormItemScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeFormItemScreenshotTest.kt @@ -3,6 +3,17 @@ package com.sdds.serv import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.FormItemDisabled +import com.sdds.compose.uikit.fixtures.testcases.FormItemHasCaptionTitleTitleCaption +import com.sdds.compose.uikit.fixtures.testcases.FormItemLongContent +import com.sdds.compose.uikit.fixtures.testcases.FormItemLongText +import com.sdds.compose.uikit.fixtures.testcases.FormItemNoCaptionCounter +import com.sdds.compose.uikit.fixtures.testcases.FormItemNoHintNoCounterLongTitleCaption +import com.sdds.compose.uikit.fixtures.testcases.FormItemNoHintNoTitleCapNoCounter +import com.sdds.compose.uikit.fixtures.testcases.FormItemNoHintNoTitleCaption +import com.sdds.compose.uikit.fixtures.testcases.FormItemTapHasHint import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.formitem.Default import com.sdds.serv.styles.formitem.FormItem @@ -17,17 +28,6 @@ import com.sdds.serv.styles.formitem.TitleStart import com.sdds.serv.styles.formitem.TitleTop import com.sdds.serv.styles.formitem.Warning import com.sdds.serv.styles.formitem.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.form.FormItemDisabled -import com.sdds.testing.compose.form.FormItemHasCaptionTitleTitleCaption -import com.sdds.testing.compose.form.FormItemLongContent -import com.sdds.testing.compose.form.FormItemLongText -import com.sdds.testing.compose.form.FormItemNoCaptionCounter -import com.sdds.testing.compose.form.FormItemNoHintNoCounterLongTitleCaption -import com.sdds.testing.compose.form.FormItemNoHintNoTitleCapNoCounter -import com.sdds.testing.compose.form.FormItemNoHintNoTitleCaption -import com.sdds.testing.compose.form.FormItemTapHasHint -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeImageScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeImageScreenshotTest.kt index 38e30fc019..0c3ba8b290 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeImageScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeImageScreenshotTest.kt @@ -1,6 +1,9 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ImageTestCase import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.image.Image import com.sdds.serv.styles.image.Ratio16x9 @@ -10,9 +13,6 @@ import com.sdds.serv.styles.image.Ratio2x1 import com.sdds.serv.styles.image.Ratio3x4 import com.sdds.serv.styles.image.Ratio4x3 import com.sdds.serv.styles.image.Ratio9x16 -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.image.ImageTestCase -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeIndicatorScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeIndicatorScreenshotTest.kt index 3b2b257ce5..17076050f6 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeIndicatorScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeIndicatorScreenshotTest.kt @@ -1,6 +1,9 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.IndicatorCommon import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.indicator.Accent import com.sdds.serv.styles.indicator.Default @@ -12,9 +15,6 @@ import com.sdds.serv.styles.indicator.Negative import com.sdds.serv.styles.indicator.Positive import com.sdds.serv.styles.indicator.S import com.sdds.serv.styles.indicator.Warning -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.indicator.IndicatorCommon -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeListScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeListScreenshotTest.kt index 06cce8a036..af1c32c03d 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeListScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeListScreenshotTest.kt @@ -1,6 +1,11 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ListAmountThreeHasDisclosure +import com.sdds.compose.uikit.fixtures.testcases.ListAmountThreeNoDisclosure +import com.sdds.compose.uikit.fixtures.testcases.ListAmountTwenty import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.list.L import com.sdds.serv.styles.list.ListNormal @@ -9,11 +14,6 @@ import com.sdds.serv.styles.list.M import com.sdds.serv.styles.list.S import com.sdds.serv.styles.list.Xl import com.sdds.serv.styles.list.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.list.ListAmountThreeHasDisclosure -import com.sdds.testing.compose.list.ListAmountThreeNoDisclosure -import com.sdds.testing.compose.list.ListAmountTwenty -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeLoaderScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeLoaderScreenshotTest.kt index 3c1d306860..054092d678 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeLoaderScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeLoaderScreenshotTest.kt @@ -1,13 +1,13 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.LoaderForSandbox +import com.sdds.compose.uikit.fixtures.testcases.LoaderProgress import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.loader.Default import com.sdds.serv.styles.loader.Loader -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.loader.LoaderForSandbox -import com.sdds.testing.compose.loader.LoaderProgress -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeMaskScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeMaskScreenshotTest.kt index ce373c2fa4..da349ac63e 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeMaskScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeMaskScreenshotTest.kt @@ -5,6 +5,20 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextClearance import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.MaskDisabledIconAction +import com.sdds.compose.uikit.fixtures.testcases.MaskLongDateAlwaysIconAction +import com.sdds.compose.uikit.fixtures.testcases.MaskNumberAlwaysAction +import com.sdds.compose.uikit.fixtures.testcases.MaskNumberIconAction +import com.sdds.compose.uikit.fixtures.testcases.MaskPhoneDisplayAlwaysPlaceholder +import com.sdds.compose.uikit.fixtures.testcases.MaskPhoneOnInput +import com.sdds.compose.uikit.fixtures.testcases.MaskPhoneType +import com.sdds.compose.uikit.fixtures.testcases.MaskReadOnlyIconAction +import com.sdds.compose.uikit.fixtures.testcases.MaskShortDateAlwaysIconAction +import com.sdds.compose.uikit.fixtures.testcases.MaskTimeAlwaysIcon +import com.sdds.compose.uikit.fixtures.testcases.MaskTimeAlwaysTBTA +import com.sdds.compose.uikit.fixtures.testcases.MaskTimeIconAction import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.textfield.Default import com.sdds.serv.styles.textfield.Error @@ -20,20 +34,6 @@ import com.sdds.serv.styles.textfield.TextField import com.sdds.serv.styles.textfield.Warning import com.sdds.serv.styles.textfield.Xl import com.sdds.serv.styles.textfield.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.mask.MaskDisabledIconAction -import com.sdds.testing.compose.mask.MaskLongDateAlwaysIconAction -import com.sdds.testing.compose.mask.MaskNumberAlwaysAction -import com.sdds.testing.compose.mask.MaskNumberIconAction -import com.sdds.testing.compose.mask.MaskPhoneDisplayAlwaysPlaceholder -import com.sdds.testing.compose.mask.MaskPhoneOnInput -import com.sdds.testing.compose.mask.MaskPhoneType -import com.sdds.testing.compose.mask.MaskReadOnlyIconAction -import com.sdds.testing.compose.mask.MaskShortDateAlwaysIconAction -import com.sdds.testing.compose.mask.MaskTimeAlwaysIcon -import com.sdds.testing.compose.mask.MaskTimeAlwaysTBTA -import com.sdds.testing.compose.mask.MaskTimeIconAction -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeModalScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeModalScreenshotTest.kt index 69f5c28794..4b12ae08bb 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeModalScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeModalScreenshotTest.kt @@ -5,25 +5,25 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ModalBottomCenter +import com.sdds.compose.uikit.fixtures.testcases.ModalBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.ModalBottomStart +import com.sdds.compose.uikit.fixtures.testcases.ModalCenter +import com.sdds.compose.uikit.fixtures.testcases.ModalCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.ModalCenterStart +import com.sdds.compose.uikit.fixtures.testcases.ModalNativeBlackoutHasClose +import com.sdds.compose.uikit.fixtures.testcases.ModalTopCenter +import com.sdds.compose.uikit.fixtures.testcases.ModalTopEnd +import com.sdds.compose.uikit.fixtures.testcases.ModalTopStart +import com.sdds.compose.uikit.fixtures.testcases.ModalWithoutNativeBlackout import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default import com.sdds.serv.styles.basicbutton.M import com.sdds.serv.styles.modal.Default import com.sdds.serv.styles.modal.Modal -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.modal.ModalBottomCenter -import com.sdds.testing.compose.modal.ModalBottomEnd -import com.sdds.testing.compose.modal.ModalBottomStart -import com.sdds.testing.compose.modal.ModalCenter -import com.sdds.testing.compose.modal.ModalCenterEnd -import com.sdds.testing.compose.modal.ModalCenterStart -import com.sdds.testing.compose.modal.ModalNativeBlackoutHasClose -import com.sdds.testing.compose.modal.ModalTopCenter -import com.sdds.testing.compose.modal.ModalTopEnd -import com.sdds.testing.compose.modal.ModalTopStart -import com.sdds.testing.compose.modal.ModalWithoutNativeBlackout -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNavigationBarScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNavigationBarScreenshotTest.kt index 6013ac2b43..0c785b86f5 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNavigationBarScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNavigationBarScreenshotTest.kt @@ -1,6 +1,15 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarContentBottomStart +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarInlineRelative +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarLongTextBottomStartInline +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarLongTextContentInlineCenterBottom +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarTextContentBottomCenterBottom +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarTextContentInlineCenter +import com.sdds.compose.uikit.fixtures.testcases.NavigationBarTextHasActionEndInlineEndBottom import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.navigationbar.HasBackground import com.sdds.serv.styles.navigationbar.NavigationBarInternalPage @@ -8,15 +17,6 @@ import com.sdds.serv.styles.navigationbar.NavigationBarMainPage import com.sdds.serv.styles.navigationbar.NoBackground import com.sdds.serv.styles.navigationbar.Rounded import com.sdds.serv.styles.navigationbar.Shadow -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.navigationbar.NavigationBarContentBottomStart -import com.sdds.testing.compose.navigationbar.NavigationBarInlineRelative -import com.sdds.testing.compose.navigationbar.NavigationBarLongTextBottomStartInline -import com.sdds.testing.compose.navigationbar.NavigationBarLongTextContentInlineCenterBottom -import com.sdds.testing.compose.navigationbar.NavigationBarTextContentBottomCenterBottom -import com.sdds.testing.compose.navigationbar.NavigationBarTextContentInlineCenter -import com.sdds.testing.compose.navigationbar.NavigationBarTextHasActionEndInlineEndBottom -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNoteScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNoteScreenshotTest.kt index 8a0cca88c3..560f96ef67 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNoteScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNoteScreenshotTest.kt @@ -1,6 +1,17 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.NoteCompactHasCloseLongText +import com.sdds.compose.uikit.fixtures.testcases.NoteCompactHasCloseTitleText +import com.sdds.compose.uikit.fixtures.testcases.NoteCompactLScalableDefaultTitleTextHasAction +import com.sdds.compose.uikit.fixtures.testcases.NoteCompactTitleTextHasAction +import com.sdds.compose.uikit.fixtures.testcases.NoteHasCloseLongTitleLongTextHasAction +import com.sdds.compose.uikit.fixtures.testcases.NoteHasCloseNoAction +import com.sdds.compose.uikit.fixtures.testcases.NoteHasCloseTitleText +import com.sdds.compose.uikit.fixtures.testcases.NoteNoTitleNoText +import com.sdds.compose.uikit.fixtures.testcases.NoteTitleTextHasAction import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.note.Default import com.sdds.serv.styles.note.HasClose @@ -20,17 +31,6 @@ import com.sdds.serv.styles.notecompact.L import com.sdds.serv.styles.notecompact.M import com.sdds.serv.styles.notecompact.NoteCompact import com.sdds.serv.styles.notecompact.Positive -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.note.NoteCompactHasCloseLongText -import com.sdds.testing.compose.note.NoteCompactHasCloseTitleText -import com.sdds.testing.compose.note.NoteCompactLScalableDefaultTitleTextHasAction -import com.sdds.testing.compose.note.NoteCompactTitleTextHasAction -import com.sdds.testing.compose.note.NoteHasCloseLongTitleLongTextHasAction -import com.sdds.testing.compose.note.NoteHasCloseNoAction -import com.sdds.testing.compose.note.NoteHasCloseTitleText -import com.sdds.testing.compose.note.NoteNoTitleNoText -import com.sdds.testing.compose.note.NoteTitleTextHasAction -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationContentScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationContentScreenshotTest.kt index a8ea1e16bb..cd430a9361 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationContentScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationContentScreenshotTest.kt @@ -1,6 +1,13 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.NotificationContentHasAction +import com.sdds.compose.uikit.fixtures.testcases.NotificationContentLongText +import com.sdds.compose.uikit.fixtures.testcases.NotificationContentNoText +import com.sdds.compose.uikit.fixtures.testcases.NotificationContentNoTitle +import com.sdds.compose.uikit.fixtures.testcases.NotificationContentNoTitleNoText import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.notificationcontent.ButtonStretch import com.sdds.serv.styles.notificationcontent.Default @@ -12,13 +19,6 @@ import com.sdds.serv.styles.notificationcontent.NoButtonStretch import com.sdds.serv.styles.notificationcontent.NotificationContent import com.sdds.serv.styles.notificationcontent.Positive import com.sdds.serv.styles.notificationcontent.Warning -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.notificationcontent.NotificationContentHasAction -import com.sdds.testing.compose.notificationcontent.NotificationContentLongText -import com.sdds.testing.compose.notificationcontent.NotificationContentNoText -import com.sdds.testing.compose.notificationcontent.NotificationContentNoTitle -import com.sdds.testing.compose.notificationcontent.NotificationContentNoTitleNoText -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationScreenshotTest.kt index 59c13a6cce..fb23a0e392 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeNotificationScreenshotTest.kt @@ -5,6 +5,17 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.NotificationCompactLCenterStartNoTextHasClose +import com.sdds.compose.uikit.fixtures.testcases.NotificationCompactLTopStartHasCloseText +import com.sdds.compose.uikit.fixtures.testcases.NotificationCompactMTopCenterHasCloseActionButton +import com.sdds.compose.uikit.fixtures.testcases.NotificationCompactSTopEndText +import com.sdds.compose.uikit.fixtures.testcases.NotificationLooseLBottomCenterTextHasClose +import com.sdds.compose.uikit.fixtures.testcases.NotificationLooseLBottomEndTextHasCloseActionButton +import com.sdds.compose.uikit.fixtures.testcases.NotificationLooseLCenterTextHasClose +import com.sdds.compose.uikit.fixtures.testcases.NotificationLooseMCenterEndTextHasClose +import com.sdds.compose.uikit.fixtures.testcases.NotificationLooseSBottomStartText import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -14,17 +25,6 @@ import com.sdds.serv.styles.notification.M import com.sdds.serv.styles.notification.NotificationCompact import com.sdds.serv.styles.notification.NotificationLoose import com.sdds.serv.styles.notification.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.notification.NotificationCompactLCenterStartNoTextHasClose -import com.sdds.testing.compose.notification.NotificationCompactLTopStartHasCloseText -import com.sdds.testing.compose.notification.NotificationCompactMTopCenterHasCloseActionButton -import com.sdds.testing.compose.notification.NotificationCompactSTopEndText -import com.sdds.testing.compose.notification.NotificationLooseLBottomCenterTextHasClose -import com.sdds.testing.compose.notification.NotificationLooseLBottomEndTextHasCloseActionButton -import com.sdds.testing.compose.notification.NotificationLooseLCenterTextHasClose -import com.sdds.testing.compose.notification.NotificationLooseMCenterEndTextHasClose -import com.sdds.testing.compose.notification.NotificationLooseSBottomStartText -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePaginationDotsScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePaginationDotsScreenshotTest.kt index 0e68f8f0c5..fc823d6820 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePaginationDotsScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePaginationDotsScreenshotTest.kt @@ -3,6 +3,13 @@ package com.sdds.serv import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.PaginationDotsItemOneVisibleOne +import com.sdds.compose.uikit.fixtures.testcases.PaginationDotsItemSevenVisibleFive +import com.sdds.compose.uikit.fixtures.testcases.PaginationDotsItemTenVisibleSeven +import com.sdds.compose.uikit.fixtures.testcases.PaginationDotsItemThreeVisibleThree +import com.sdds.compose.uikit.fixtures.testcases.PaginationDotsItemTwentyVisibleNine import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.iconbutton.Default import com.sdds.serv.styles.iconbutton.IconButton @@ -12,13 +19,6 @@ import com.sdds.serv.styles.paginationdots.M import com.sdds.serv.styles.paginationdots.PaginationDotsHorizontal import com.sdds.serv.styles.paginationdots.PaginationDotsVertical import com.sdds.serv.styles.paginationdots.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.paginationdots.PaginationDotsItemOneVisibleOne -import com.sdds.testing.compose.paginationdots.PaginationDotsItemSevenVisibleFive -import com.sdds.testing.compose.paginationdots.PaginationDotsItemTenVisibleSeven -import com.sdds.testing.compose.paginationdots.PaginationDotsItemThreeVisibleThree -import com.sdds.testing.compose.paginationdots.PaginationDotsItemTwentyVisibleNine -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePopoverScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePopoverScreenshotTest.kt index f583d5bf4a..25cf71fea3 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePopoverScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposePopoverScreenshotTest.kt @@ -5,6 +5,17 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.PopoverMAccentStrictTopCenterCenterStart +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultLooseStartBottomCenter +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultLooseStartCenter +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultLooseStartCenterBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultLooseStartCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultLooseTopEnd +import com.sdds.compose.uikit.fixtures.testcases.PopoverMDefaultStrictBottomEndTopStart +import com.sdds.compose.uikit.fixtures.testcases.PopoverSAccentStrictBottomStartTopCenter +import com.sdds.compose.uikit.fixtures.testcases.PopoverSDefaultLooseEndBottomStart import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -14,17 +25,6 @@ import com.sdds.serv.styles.popover.Default import com.sdds.serv.styles.popover.M import com.sdds.serv.styles.popover.Popover import com.sdds.serv.styles.popover.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.popover.PopoverMAccentStrictTopCenterCenterStart -import com.sdds.testing.compose.popover.PopoverMDefaultLooseStartBottomCenter -import com.sdds.testing.compose.popover.PopoverMDefaultLooseStartCenter -import com.sdds.testing.compose.popover.PopoverMDefaultLooseStartCenterBottomEnd -import com.sdds.testing.compose.popover.PopoverMDefaultLooseStartCenterEnd -import com.sdds.testing.compose.popover.PopoverMDefaultLooseTopEnd -import com.sdds.testing.compose.popover.PopoverMDefaultStrictBottomEndTopStart -import com.sdds.testing.compose.popover.PopoverSAccentStrictBottomStartTopCenter -import com.sdds.testing.compose.popover.PopoverSDefaultLooseEndBottomStart -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Ignore import org.junit.Test import org.junit.runner.RunWith diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeProgressScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeProgressScreenshotTest.kt index c28a5d2db4..1cafeb7356 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeProgressScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeProgressScreenshotTest.kt @@ -1,6 +1,16 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarAccent +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarDefault +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarDefaultValueOne +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarGradientAccent +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarNegative +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarPositive +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarSecondary +import com.sdds.compose.uikit.fixtures.testcases.ProgressBarWarning import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.progressbar.Accent import com.sdds.serv.styles.progressbar.Default @@ -10,16 +20,6 @@ import com.sdds.serv.styles.progressbar.Positive import com.sdds.serv.styles.progressbar.ProgressBar import com.sdds.serv.styles.progressbar.Secondary import com.sdds.serv.styles.progressbar.Warning -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.progress.ProgressBarAccent -import com.sdds.testing.compose.progress.ProgressBarDefault -import com.sdds.testing.compose.progress.ProgressBarDefaultValueOne -import com.sdds.testing.compose.progress.ProgressBarGradientAccent -import com.sdds.testing.compose.progress.ProgressBarNegative -import com.sdds.testing.compose.progress.ProgressBarPositive -import com.sdds.testing.compose.progress.ProgressBarSecondary -import com.sdds.testing.compose.progress.ProgressBarWarning -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRadioBoxScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRadioBoxScreenshotTest.kt index 5ecb10d95e..d70d8339fd 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRadioBoxScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRadioBoxScreenshotTest.kt @@ -1,6 +1,16 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxDisabled +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxGroupSizeM +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxGroupSizeMDescription +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxGroupSizeS +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxGroupSizeSLabel +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxSizeM +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxSizeMNoDescription +import com.sdds.compose.uikit.fixtures.testcases.RadioBoxSizeS import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.radiobox.M import com.sdds.serv.styles.radiobox.RadioBox @@ -8,16 +18,6 @@ import com.sdds.serv.styles.radiobox.S import com.sdds.serv.styles.radioboxgroup.M import com.sdds.serv.styles.radioboxgroup.RadioBoxGroup import com.sdds.serv.styles.radioboxgroup.S -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.radiobox.RadioBoxDisabled -import com.sdds.testing.compose.radiobox.RadioBoxGroupSizeM -import com.sdds.testing.compose.radiobox.RadioBoxGroupSizeMDescription -import com.sdds.testing.compose.radiobox.RadioBoxGroupSizeS -import com.sdds.testing.compose.radiobox.RadioBoxGroupSizeSLabel -import com.sdds.testing.compose.radiobox.RadioBoxSizeM -import com.sdds.testing.compose.radiobox.RadioBoxSizeMNoDescription -import com.sdds.testing.compose.radiobox.RadioBoxSizeS -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRectSkeletonScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRectSkeletonScreenshotTest.kt index dba4a77e04..1d6a8c688d 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRectSkeletonScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeRectSkeletonScreenshotTest.kt @@ -1,13 +1,13 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.RectSkeletonTest import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.rectskeleton.Default import com.sdds.serv.styles.rectskeleton.Lighter import com.sdds.serv.styles.rectskeleton.RectSkeleton -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.rectskeleton.RectSkeletonTest -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeScrollBarScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeScrollBarScreenshotTest.kt index 8b4b448e73..d0d1dd47dd 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeScrollBarScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeScrollBarScreenshotTest.kt @@ -4,14 +4,14 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performTouchInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ScrollBarM +import com.sdds.compose.uikit.fixtures.testcases.ScrollBarS import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.scrollbar.M import com.sdds.serv.styles.scrollbar.S import com.sdds.serv.styles.scrollbar.ScrollBar -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.scrollbar.ScrollBarM -import com.sdds.testing.compose.scrollbar.ScrollBarS -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSegmentScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSegmentScreenshotTest.kt index d5e14e2885..5c0268b4c9 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSegmentScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSegmentScreenshotTest.kt @@ -1,6 +1,21 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.SegmentDisabled +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemDisabled +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemSizeLPrimary +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemSizeMSecondaryPilled +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemSizeS +import com.sdds.compose.uikit.fixtures.testcases.SegmentItemSizeXs +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeL +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeLCounter +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeMPilled +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeOrientationVertical +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeS +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeSStretch +import com.sdds.compose.uikit.fixtures.testcases.SegmentSizeXs import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.segment.L import com.sdds.serv.styles.segment.M @@ -18,21 +33,6 @@ import com.sdds.serv.styles.segmentitem.S import com.sdds.serv.styles.segmentitem.Secondary import com.sdds.serv.styles.segmentitem.SegmentItem import com.sdds.serv.styles.segmentitem.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.segment.SegmentDisabled -import com.sdds.testing.compose.segment.SegmentItemDisabled -import com.sdds.testing.compose.segment.SegmentItemSizeLPrimary -import com.sdds.testing.compose.segment.SegmentItemSizeMSecondaryPilled -import com.sdds.testing.compose.segment.SegmentItemSizeS -import com.sdds.testing.compose.segment.SegmentItemSizeXs -import com.sdds.testing.compose.segment.SegmentSizeL -import com.sdds.testing.compose.segment.SegmentSizeLCounter -import com.sdds.testing.compose.segment.SegmentSizeMPilled -import com.sdds.testing.compose.segment.SegmentSizeOrientationVertical -import com.sdds.testing.compose.segment.SegmentSizeS -import com.sdds.testing.compose.segment.SegmentSizeSStretch -import com.sdds.testing.compose.segment.SegmentSizeXs -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSelectScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSelectScreenshotTest.kt index 1b094994d5..1907f1f081 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSelectScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSelectScreenshotTest.kt @@ -7,6 +7,18 @@ import androidx.compose.ui.test.performTouchInput import androidx.compose.ui.test.swipeLeft import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleNormalDisabled +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleNormalLShowLoadingBottomStart +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleNormalMTopCenter +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleNormalReadOnly +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleTightLBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.SelectMultipleTightSCenter +import com.sdds.compose.uikit.fixtures.testcases.SelectSingleNormalXlTopStart +import com.sdds.compose.uikit.fixtures.testcases.SelectSingleNormalXsCenterStart +import com.sdds.compose.uikit.fixtures.testcases.SelectSingleTightLCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.SelectSingleTightLTopEnd import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.select.L import com.sdds.serv.styles.select.M @@ -20,18 +32,6 @@ import com.sdds.serv.styles.select.Xs import com.sdds.serv.styles.spinner.Default import com.sdds.serv.styles.spinner.Spinner import com.sdds.serv.styles.spinner.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.select.SelectMultipleNormalDisabled -import com.sdds.testing.compose.select.SelectMultipleNormalLShowLoadingBottomStart -import com.sdds.testing.compose.select.SelectMultipleNormalMTopCenter -import com.sdds.testing.compose.select.SelectMultipleNormalReadOnly -import com.sdds.testing.compose.select.SelectMultipleTightLBottomEnd -import com.sdds.testing.compose.select.SelectMultipleTightSCenter -import com.sdds.testing.compose.select.SelectSingleNormalXlTopStart -import com.sdds.testing.compose.select.SelectSingleNormalXsCenterStart -import com.sdds.testing.compose.select.SelectSingleTightLCenterEnd -import com.sdds.testing.compose.select.SelectSingleTightLTopEnd -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSliderScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSliderScreenshotTest.kt index 3cbd2ada66..d132e27d36 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSliderScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSliderScreenshotTest.kt @@ -7,6 +7,21 @@ import androidx.compose.ui.test.swipeDown import androidx.compose.ui.test.swipeLeft import androidx.compose.ui.test.swipeUp import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.SliderDisabledThumbLimitLabelReversedEndNoLabel +import com.sdds.compose.uikit.fixtures.testcases.SliderLabelDisabled +import com.sdds.compose.uikit.fixtures.testcases.SliderLabelEnd +import com.sdds.compose.uikit.fixtures.testcases.SliderLimitLabelDisabled +import com.sdds.compose.uikit.fixtures.testcases.SliderLimitLabelDisabledReversed +import com.sdds.compose.uikit.fixtures.testcases.SliderLongLabel +import com.sdds.compose.uikit.fixtures.testcases.SliderMinZeroMaxSixty +import com.sdds.compose.uikit.fixtures.testcases.SliderReversedEndLabelEnabled +import com.sdds.compose.uikit.fixtures.testcases.SliderReversedEndMinMaxLabel +import com.sdds.compose.uikit.fixtures.testcases.SliderReversedEndThumbLimitLabelLabel +import com.sdds.compose.uikit.fixtures.testcases.SliderThumbEnabledLimitLabel +import com.sdds.compose.uikit.fixtures.testcases.SliderThumbLimitLabelNormalStart +import com.sdds.compose.uikit.fixtures.testcases.SliderThumbLimitLabelThumbNormalStart import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.slider.Accent import com.sdds.serv.styles.slider.AlignmentEnd @@ -22,21 +37,6 @@ import com.sdds.serv.styles.slider.SliderHorizontalLabelOuter import com.sdds.serv.styles.slider.SliderVerticalLabelInner import com.sdds.serv.styles.slider.SliderVerticalLabelOuter import com.sdds.serv.styles.slider.ThumbS -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.slider.SliderDisabledThumbLimitLabelReversedEndNoLabel -import com.sdds.testing.compose.slider.SliderLabelDisabled -import com.sdds.testing.compose.slider.SliderLabelEnd -import com.sdds.testing.compose.slider.SliderLimitLabelDisabled -import com.sdds.testing.compose.slider.SliderLimitLabelDisabledReversed -import com.sdds.testing.compose.slider.SliderLongLabel -import com.sdds.testing.compose.slider.SliderMinZeroMaxSixty -import com.sdds.testing.compose.slider.SliderReversedEndLabelEnabled -import com.sdds.testing.compose.slider.SliderReversedEndMinMaxLabel -import com.sdds.testing.compose.slider.SliderReversedEndThumbLimitLabelLabel -import com.sdds.testing.compose.slider.SliderThumbEnabledLimitLabel -import com.sdds.testing.compose.slider.SliderThumbLimitLabelNormalStart -import com.sdds.testing.compose.slider.SliderThumbLimitLabelThumbNormalStart -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSpinnerScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSpinnerScreenshotTest.kt index 64257e9115..049d3d3071 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSpinnerScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSpinnerScreenshotTest.kt @@ -1,6 +1,9 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.SpinnerTest import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.spinner.Accent import com.sdds.serv.styles.spinner.Default @@ -18,9 +21,6 @@ import com.sdds.serv.styles.spinner.Xl import com.sdds.serv.styles.spinner.Xs import com.sdds.serv.styles.spinner.Xxl import com.sdds.serv.styles.spinner.Xxs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.spinner.SpinnerTest -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSwitchScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSwitchScreenshotTest.kt index 3adadc6b3f..189e8a1df1 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSwitchScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeSwitchScreenshotTest.kt @@ -1,19 +1,19 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.SwitchLOn +import com.sdds.compose.uikit.fixtures.testcases.SwitchMOff +import com.sdds.compose.uikit.fixtures.testcases.SwitchOffDisabled +import com.sdds.compose.uikit.fixtures.testcases.SwitchOnDisabled +import com.sdds.compose.uikit.fixtures.testcases.SwitchS import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.switcher.L import com.sdds.serv.styles.switcher.M import com.sdds.serv.styles.switcher.S import com.sdds.serv.styles.switcher.Switch import com.sdds.serv.styles.switcher.ToggleS -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.switcher.SwitchLOn -import com.sdds.testing.compose.switcher.SwitchMOff -import com.sdds.testing.compose.switcher.SwitchOffDisabled -import com.sdds.testing.compose.switcher.SwitchOnDisabled -import com.sdds.testing.compose.switcher.SwitchS -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabBarScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabBarScreenshotTest.kt index d0775e3505..132d969809 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabBarScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabBarScreenshotTest.kt @@ -8,6 +8,13 @@ import androidx.compose.ui.test.onAllNodesWithTag import androidx.compose.ui.test.performClick import androidx.compose.ui.unit.dp import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.TabBarCounter +import com.sdds.compose.uikit.fixtures.testcases.TabBarCounterCountSix +import com.sdds.compose.uikit.fixtures.testcases.TabBarCustomWeight +import com.sdds.compose.uikit.fixtures.testcases.TabBarExtraNone +import com.sdds.compose.uikit.fixtures.testcases.TabBarIndicator import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.tabbar.Accent import com.sdds.serv.styles.tabbar.Default @@ -24,13 +31,6 @@ import com.sdds.serv.styles.tabbar.TabBarIslandClear import com.sdds.serv.styles.tabbar.TabBarIslandHasLabelSolid import com.sdds.serv.styles.tabbar.TabBarIslandSolid import com.sdds.serv.styles.tabbar.TabBarSolid -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.tabbar.TabBarCounter -import com.sdds.testing.compose.tabbar.TabBarCounterCountSix -import com.sdds.testing.compose.tabbar.TabBarCustomWeight -import com.sdds.testing.compose.tabbar.TabBarExtraNone -import com.sdds.testing.compose.tabbar.TabBarIndicator -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabsScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabsScreenshotTest.kt index 02df801b93..fae01999ec 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabsScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTabsScreenshotTest.kt @@ -5,6 +5,23 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.IconTabsLHorizontalFiveHasActionScroll +import com.sdds.compose.uikit.fixtures.testcases.IconTabsMVerticalFiveHasActionStretchCounter +import com.sdds.compose.uikit.fixtures.testcases.IconTabsSHorizontalFiveHasActionStretchCounter +import com.sdds.compose.uikit.fixtures.testcases.IconTabsXsVerticalScrollCounter +import com.sdds.compose.uikit.fixtures.testcases.TabsDisabled +import com.sdds.compose.uikit.fixtures.testcases.TabsH1FiveValueScroll +import com.sdds.compose.uikit.fixtures.testcases.TabsH2TwoValueScroll +import com.sdds.compose.uikit.fixtures.testcases.TabsH3OneHasAction +import com.sdds.compose.uikit.fixtures.testcases.TabsH4FiveHasActionIconEnd +import com.sdds.compose.uikit.fixtures.testcases.TabsH5FiftyValueShowAll +import com.sdds.compose.uikit.fixtures.testcases.TabsLHorizontalFiveHasDividerScroll +import com.sdds.compose.uikit.fixtures.testcases.TabsLVerticalStretchFive +import com.sdds.compose.uikit.fixtures.testcases.TabsMVerticalTwentyIconStartValueHasActionCounter +import com.sdds.compose.uikit.fixtures.testcases.TabsSHorizontalFiveIconEndStretch +import com.sdds.compose.uikit.fixtures.testcases.TabsXsHorizontalTenShowAll import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.tabs.H1 import com.sdds.serv.styles.tabs.H2 @@ -20,23 +37,6 @@ import com.sdds.serv.styles.tabs.TabsDefault import com.sdds.serv.styles.tabs.TabsHeader import com.sdds.serv.styles.tabs.Vertical import com.sdds.serv.styles.tabs.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.tabs.IconTabsLHorizontalFiveHasActionScroll -import com.sdds.testing.compose.tabs.IconTabsMVerticalFiveHasActionStretchCounter -import com.sdds.testing.compose.tabs.IconTabsSHorizontalFiveHasActionStretchCounter -import com.sdds.testing.compose.tabs.IconTabsXsVerticalScrollCounter -import com.sdds.testing.compose.tabs.TabsDisabled -import com.sdds.testing.compose.tabs.TabsH1FiveValueScroll -import com.sdds.testing.compose.tabs.TabsH2TwoValueScroll -import com.sdds.testing.compose.tabs.TabsH3OneHasAction -import com.sdds.testing.compose.tabs.TabsH4FiveHasActionIconEnd -import com.sdds.testing.compose.tabs.TabsH5FiftyValueShowAll -import com.sdds.testing.compose.tabs.TabsLHorizontalFiveHasDividerScroll -import com.sdds.testing.compose.tabs.TabsLVerticalStretchFive -import com.sdds.testing.compose.tabs.TabsMVerticalTwentyIconStartValueHasActionCounter -import com.sdds.testing.compose.tabs.TabsSHorizontalFiveIconEndStretch -import com.sdds.testing.compose.tabs.TabsXsHorizontalTenShowAll -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextAreaScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextAreaScreenshotTest.kt index 12fb01f6c3..12053f5dda 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextAreaScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextAreaScreenshotTest.kt @@ -4,6 +4,30 @@ import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearLDefaultChipsInnerRequiredEnd +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearLErrorInnerOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearMErrorInnerRequiredStart +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearMWarningRequiredStartInner +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearSDefaultOuterOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaClearXsDefaultOuterRequireEndFocused +import com.sdds.compose.uikit.fixtures.testcases.TextAreaLDefaultInnerLeft +import com.sdds.compose.uikit.fixtures.testcases.TextAreaLDefaultTBTA +import com.sdds.compose.uikit.fixtures.testcases.TextAreaLDisabled +import com.sdds.compose.uikit.fixtures.testcases.TextAreaLReadOnly +import com.sdds.compose.uikit.fixtures.testcases.TextAreaMDefaultOuterOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaMErrorOuterOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaMInnerOptionalChips +import com.sdds.compose.uikit.fixtures.testcases.TextAreaMWarningInnerOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaSDefaultInnerRight +import com.sdds.compose.uikit.fixtures.testcases.TextAreaSDefaultOuterRightChips +import com.sdds.compose.uikit.fixtures.testcases.TextAreaSLongText +import com.sdds.compose.uikit.fixtures.testcases.TextAreaSWarningInnerRight +import com.sdds.compose.uikit.fixtures.testcases.TextAreaSWarningInnerRightFocused +import com.sdds.compose.uikit.fixtures.testcases.TextAreaXSDefaultOuterOptional +import com.sdds.compose.uikit.fixtures.testcases.TextAreaXlDefault +import com.sdds.compose.uikit.fixtures.testcases.TextAreaXsErrorInnerOptional import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.textarea.Default import com.sdds.serv.styles.textarea.Error @@ -19,30 +43,6 @@ import com.sdds.serv.styles.textarea.TextAreaClear import com.sdds.serv.styles.textarea.Warning import com.sdds.serv.styles.textarea.Xl import com.sdds.serv.styles.textarea.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.textarea.TextAreaClearLDefaultChipsInnerRequiredEnd -import com.sdds.testing.compose.textarea.TextAreaClearLErrorInnerOptional -import com.sdds.testing.compose.textarea.TextAreaClearMErrorInnerRequiredStart -import com.sdds.testing.compose.textarea.TextAreaClearMWarningRequiredStartInner -import com.sdds.testing.compose.textarea.TextAreaClearSDefaultOuterOptional -import com.sdds.testing.compose.textarea.TextAreaClearXsDefaultOuterRequireEndFocused -import com.sdds.testing.compose.textarea.TextAreaLDefaultInnerLeft -import com.sdds.testing.compose.textarea.TextAreaLDefaultTBTA -import com.sdds.testing.compose.textarea.TextAreaLDisabled -import com.sdds.testing.compose.textarea.TextAreaLReadOnly -import com.sdds.testing.compose.textarea.TextAreaMDefaultOuterOptional -import com.sdds.testing.compose.textarea.TextAreaMErrorOuterOptional -import com.sdds.testing.compose.textarea.TextAreaMInnerOptionalChips -import com.sdds.testing.compose.textarea.TextAreaMWarningInnerOptional -import com.sdds.testing.compose.textarea.TextAreaSDefaultInnerRight -import com.sdds.testing.compose.textarea.TextAreaSDefaultOuterRightChips -import com.sdds.testing.compose.textarea.TextAreaSLongText -import com.sdds.testing.compose.textarea.TextAreaSWarningInnerRight -import com.sdds.testing.compose.textarea.TextAreaSWarningInnerRightFocused -import com.sdds.testing.compose.textarea.TextAreaXSDefaultOuterOptional -import com.sdds.testing.compose.textarea.TextAreaXlDefault -import com.sdds.testing.compose.textarea.TextAreaXsErrorInnerOptional -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextFieldScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextFieldScreenshotTest.kt index 09c1a0023c..e359ea70e3 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextFieldScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextFieldScreenshotTest.kt @@ -4,6 +4,34 @@ import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextInput import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearLDefaultInnerRequiredRight +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearLErrorInnerOptional +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearLErrorTBTA +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearMErrorInnerRequiredLeft +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearMWarningInnerRequiredLeft +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearSDefaultOuterOptional +import com.sdds.compose.uikit.fixtures.testcases.TextFieldClearXSSuccessOuterRequiredRightFocused +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLDefaultInnerLeft +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLDisabled +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLDisabledOuterLeft +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLInputText +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLSuccessRequiredLeftOuter +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLSuffixPrefix +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLSuffixPrefixCyrillic +import com.sdds.compose.uikit.fixtures.testcases.TextFieldLSuffixPrefixNoValue +import com.sdds.compose.uikit.fixtures.testcases.TextFieldMErrorOuterLabelOptional +import com.sdds.compose.uikit.fixtures.testcases.TextFieldMSuccessInnerLabelChips +import com.sdds.compose.uikit.fixtures.testcases.TextFieldMSuccessOuterLabel +import com.sdds.compose.uikit.fixtures.testcases.TextFieldMWarningInnerLabelOptional +import com.sdds.compose.uikit.fixtures.testcases.TextFieldSOuterLabelRightChips +import com.sdds.compose.uikit.fixtures.testcases.TextFieldSReadOnly +import com.sdds.compose.uikit.fixtures.testcases.TextFieldSWarningInnerLabelRightFocused +import com.sdds.compose.uikit.fixtures.testcases.TextFieldWarningInnerRight +import com.sdds.compose.uikit.fixtures.testcases.TextFieldXSErrorInner +import com.sdds.compose.uikit.fixtures.testcases.TextFieldXSSuccessOuterLabelOptional +import com.sdds.compose.uikit.fixtures.testcases.TextFieldXlDefault import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.textfield.Default import com.sdds.serv.styles.textfield.Error @@ -20,34 +48,6 @@ import com.sdds.serv.styles.textfield.TextFieldClear import com.sdds.serv.styles.textfield.Warning import com.sdds.serv.styles.textfield.Xl import com.sdds.serv.styles.textfield.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.textfield.TextFieldClearLDefaultInnerRequiredRight -import com.sdds.testing.compose.textfield.TextFieldClearLErrorInnerOptional -import com.sdds.testing.compose.textfield.TextFieldClearLErrorTBTA -import com.sdds.testing.compose.textfield.TextFieldClearMErrorInnerRequiredLeft -import com.sdds.testing.compose.textfield.TextFieldClearMWarningInnerRequiredLeft -import com.sdds.testing.compose.textfield.TextFieldClearSDefaultOuterOptional -import com.sdds.testing.compose.textfield.TextFieldClearXSSuccessOuterRequiredRightFocused -import com.sdds.testing.compose.textfield.TextFieldLDefaultInnerLeft -import com.sdds.testing.compose.textfield.TextFieldLDisabled -import com.sdds.testing.compose.textfield.TextFieldLDisabledOuterLeft -import com.sdds.testing.compose.textfield.TextFieldLInputText -import com.sdds.testing.compose.textfield.TextFieldLSuccessRequiredLeftOuter -import com.sdds.testing.compose.textfield.TextFieldLSuffixPrefix -import com.sdds.testing.compose.textfield.TextFieldLSuffixPrefixCyrillic -import com.sdds.testing.compose.textfield.TextFieldLSuffixPrefixNoValue -import com.sdds.testing.compose.textfield.TextFieldMErrorOuterLabelOptional -import com.sdds.testing.compose.textfield.TextFieldMSuccessInnerLabelChips -import com.sdds.testing.compose.textfield.TextFieldMSuccessOuterLabel -import com.sdds.testing.compose.textfield.TextFieldMWarningInnerLabelOptional -import com.sdds.testing.compose.textfield.TextFieldSOuterLabelRightChips -import com.sdds.testing.compose.textfield.TextFieldSReadOnly -import com.sdds.testing.compose.textfield.TextFieldSWarningInnerLabelRightFocused -import com.sdds.testing.compose.textfield.TextFieldWarningInnerRight -import com.sdds.testing.compose.textfield.TextFieldXSErrorInner -import com.sdds.testing.compose.textfield.TextFieldXSSuccessOuterLabelOptional -import com.sdds.testing.compose.textfield.TextFieldXlDefault -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextSkeletonScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextSkeletonScreenshotTest.kt index d731040cdc..10649a1947 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextSkeletonScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTextSkeletonScreenshotTest.kt @@ -1,14 +1,14 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.TextSkeletonDefaultFullWidth +import com.sdds.compose.uikit.fixtures.testcases.TextSkeletonDefaultNoTextRandom import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.textskeleton.Default import com.sdds.serv.styles.textskeleton.Lighter import com.sdds.serv.styles.textskeleton.TextSkeleton -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.textskeleton.TextSkeletonDefaultFullWidth -import com.sdds.testing.compose.textskeleton.TextSkeletonDefaultNoTextRandom -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToastScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToastScreenshotTest.kt index 3d3d800043..4b19e073a7 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToastScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToastScreenshotTest.kt @@ -5,6 +5,17 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ToastPilledDefaultCenterStart +import com.sdds.compose.uikit.fixtures.testcases.ToastPilledNegativeCenterHasContentStartEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastPilledPositiveCenterEndHasContentStartEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedDefaultBottomCenterHasContentStartEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedDefaultBottomEndHasContentStartEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedDefaultBottomStartHasContentEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedDefaultTopStartHasContentStartEnd +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedNegativeTopCenterHasContentStart +import com.sdds.compose.uikit.fixtures.testcases.ToastRoundedPositiveTopEndHasContentStartEnd import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -15,17 +26,6 @@ import com.sdds.serv.styles.toast.Pilled import com.sdds.serv.styles.toast.Positive import com.sdds.serv.styles.toast.Rounded import com.sdds.serv.styles.toast.Toast -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.toast.ToastPilledDefaultCenterStart -import com.sdds.testing.compose.toast.ToastPilledNegativeCenterHasContentStartEnd -import com.sdds.testing.compose.toast.ToastPilledPositiveCenterEndHasContentStartEnd -import com.sdds.testing.compose.toast.ToastRoundedDefaultBottomCenterHasContentStartEnd -import com.sdds.testing.compose.toast.ToastRoundedDefaultBottomEndHasContentStartEnd -import com.sdds.testing.compose.toast.ToastRoundedDefaultBottomStartHasContentEnd -import com.sdds.testing.compose.toast.ToastRoundedDefaultTopStartHasContentStartEnd -import com.sdds.testing.compose.toast.ToastRoundedNegativeTopCenterHasContentStart -import com.sdds.testing.compose.toast.ToastRoundedPositiveTopEndHasContentStartEnd -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToolBarScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToolBarScreenshotTest.kt index 1c805c1107..c28d16d25e 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToolBarScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeToolBarScreenshotTest.kt @@ -1,6 +1,11 @@ package com.sdds.serv import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.ToolBarHorizontal +import com.sdds.compose.uikit.fixtures.testcases.ToolBarHorizontalDivider +import com.sdds.compose.uikit.fixtures.testcases.ToolBarVertical import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -19,11 +24,6 @@ import com.sdds.serv.styles.toolbar.S import com.sdds.serv.styles.toolbar.ToolBarHorizontal import com.sdds.serv.styles.toolbar.ToolBarVertical import com.sdds.serv.styles.toolbar.Xs -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.toolbar.ToolBarHorizontal -import com.sdds.testing.compose.toolbar.ToolBarHorizontalDivider -import com.sdds.testing.compose.toolbar.ToolBarVertical -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTooltipScreenshotTest.kt b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTooltipScreenshotTest.kt index ad4672edda..3cd81833c8 100644 --- a/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTooltipScreenshotTest.kt +++ b/tokens/sdds.serv.compose/src/test/kotlin/com/sdds/serv/ComposeTooltipScreenshotTest.kt @@ -7,6 +7,18 @@ import androidx.compose.ui.test.performClick import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.github.takahirom.roborazzi.captureScreenRoboImage +import com.sdds.compose.uikit.fixtures.RoborazziConfigCompose +import com.sdds.compose.uikit.fixtures.SDK_NUMBER +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseStartBottomCenter +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseStartCenter +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseStartCenterBottomEnd +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseStartCenterEnd +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseTopEnd +import com.sdds.compose.uikit.fixtures.testcases.TooltipMLooseTopEndNotVisible +import com.sdds.compose.uikit.fixtures.testcases.TooltipMStrictBottomEndTopStart +import com.sdds.compose.uikit.fixtures.testcases.TooltipMStrictTopCenterCenterStart +import com.sdds.compose.uikit.fixtures.testcases.TooltipSLooseEndBottomStart +import com.sdds.compose.uikit.fixtures.testcases.TooltipSStrictBottomStartTopCenter import com.sdds.compose.uikit.style.style import com.sdds.serv.styles.basicbutton.BasicButton import com.sdds.serv.styles.basicbutton.Default @@ -14,18 +26,6 @@ import com.sdds.serv.styles.basicbutton.L import com.sdds.serv.styles.tooltip.M import com.sdds.serv.styles.tooltip.S import com.sdds.serv.styles.tooltip.Tooltip -import com.sdds.testing.compose.RoborazziConfigCompose -import com.sdds.testing.compose.tooltip.TooltipMLooseStartBottomCenter -import com.sdds.testing.compose.tooltip.TooltipMLooseStartCenter -import com.sdds.testing.compose.tooltip.TooltipMLooseStartCenterBottomEnd -import com.sdds.testing.compose.tooltip.TooltipMLooseStartCenterEnd -import com.sdds.testing.compose.tooltip.TooltipMLooseTopEnd -import com.sdds.testing.compose.tooltip.TooltipMLooseTopEndNotVisible -import com.sdds.testing.compose.tooltip.TooltipMStrictBottomEndTopStart -import com.sdds.testing.compose.tooltip.TooltipMStrictTopCenterCenterStart -import com.sdds.testing.compose.tooltip.TooltipSLooseEndBottomStart -import com.sdds.testing.compose.tooltip.TooltipSStrictBottomStartTopCenter -import com.sdds.testing.vs.SDK_NUMBER import org.junit.Test import org.junit.runner.RunWith import org.robolectric.ParameterizedRobolectricTestRunner diff --git a/tokens/sdds.serv.view/app/build.gradle.kts b/tokens/sdds.serv.view/app/build.gradle.kts new file mode 100644 index 0000000000..930c0aaf2a --- /dev/null +++ b/tokens/sdds.serv.view/app/build.gradle.kts @@ -0,0 +1,18 @@ +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("convention.sandbox-app") + id("convention.auto-bump") +} + +android { + namespace = "com.sdds.serv.sandbox" +} + +dependencies { + implementation(project(":sdds.serv.view:integration")) + implementation("integration-core:sandbox-core") + implementation("integration-core:sandbox-compose") + implementation("integration-core:sandbox-view") + implementation("sdds-core:uikit-fixtures") + implementation(libs.sdds.uikit.compose) +} diff --git a/tokens/sdds.serv.view/app/src/main/AndroidManifest.xml b/tokens/sdds.serv.view/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..e6517d5fd4 --- /dev/null +++ b/tokens/sdds.serv.view/app/src/main/AndroidManifest.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tokens/sdds.serv.view/app/src/main/kotlin/com/sdds/serv/sandbox/AppActivity.kt b/tokens/sdds.serv.view/app/src/main/kotlin/com/sdds/serv/sandbox/AppActivity.kt new file mode 100644 index 0000000000..46531d3337 --- /dev/null +++ b/tokens/sdds.serv.view/app/src/main/kotlin/com/sdds/serv/sandbox/AppActivity.kt @@ -0,0 +1,26 @@ +package com.sdds.serv.sandbox + +import android.os.Bundle +import com.sdds.compose.sandbox.SubTheme +import com.sdds.compose.sandbox.ui.SandboxActivity +import com.sdds.serv.integration.SddsServViewComponents +import com.sdds.uikit.fixtures.stories.registerCoreStories +import com.sdds.uikit.fixtures.stories.registerCoreTheme + +internal class AppActivity : SandboxActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + registerCoreStories() + registerCoreTheme( + displayName = getString(R.string.app_name), + themeRes = com.sdds.serv.R.style.Serv_Sdds_MaterialComponents_DayNight, + components = SddsServViewComponents, + subThemeRes = mapOf( + SubTheme.DEFAULT to com.sdds.serv.R.style.Serv_Sdds_Default, + SubTheme.ON_DARK to com.sdds.serv.R.style.Serv_Sdds_OnDark, + SubTheme.ON_LIGHT to com.sdds.serv.R.style.Serv_Sdds_OnLight, + SubTheme.INVERSE to com.sdds.serv.R.style.Serv_Sdds_Inverse, + ), + ) + super.onCreate(savedInstanceState) + } +} diff --git a/tokens/sdds.serv.view/app/src/main/res/drawable/app_banner.png b/tokens/sdds.serv.view/app/src/main/res/drawable/app_banner.png new file mode 100644 index 0000000000..54a9d62e6b Binary files /dev/null and b/tokens/sdds.serv.view/app/src/main/res/drawable/app_banner.png differ diff --git a/tokens/sdds.serv.view/app/src/main/res/drawable/app_bg.png b/tokens/sdds.serv.view/app/src/main/res/drawable/app_bg.png new file mode 100644 index 0000000000..d0d811ada5 Binary files /dev/null and b/tokens/sdds.serv.view/app/src/main/res/drawable/app_bg.png differ diff --git a/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher.png b/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher.png new file mode 100644 index 0000000000..d96dc8d170 Binary files /dev/null and b/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher.png differ diff --git a/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher_round.png b/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher_round.png new file mode 100644 index 0000000000..0a029e5eb1 Binary files /dev/null and b/tokens/sdds.serv.view/app/src/main/res/drawable/ic_launcher_round.png differ diff --git a/tokens/sdds.serv.view/app/src/main/res/values/strings.xml b/tokens/sdds.serv.view/app/src/main/res/values/strings.xml new file mode 100644 index 0000000000..84d5da091b --- /dev/null +++ b/tokens/sdds.serv.view/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Sdds Serv + \ No newline at end of file diff --git a/tokens/sdds.serv.view/build.gradle.kts b/tokens/sdds.serv.view/build.gradle.kts index b691fb6693..6953671da3 100644 --- a/tokens/sdds.serv.view/build.gradle.kts +++ b/tokens/sdds.serv.view/build.gradle.kts @@ -40,6 +40,7 @@ themeBuilder { } dependencies { + testImplementation("sdds-core:uikit-fixtures") implementation(icons.sdds.icons) implementation(libs.sdds.uikit) implementation(libs.base.androidX.core) diff --git a/tokens/sdds.serv.view/config-info-view-system.json b/tokens/sdds.serv.view/config-info-view-system.json index 8e390cbdd3..2c1db82e1b 100644 --- a/tokens/sdds.serv.view/config-info-view-system.json +++ b/tokens/sdds.serv.view/config-info-view-system.json @@ -3691,6 +3691,41 @@ "coreName": "Chip", "styleName": "EmbeddedChip", "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXl" + }, + { + "name": "xl.default", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Default", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlDefault" + }, + { + "name": "xl.accent", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Accent", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlAccent" + }, + { + "name": "xl.negative", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Negative", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlNegative" + }, + { + "name": "xl.positive", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Positive", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlPositive" + }, + { + "name": "xl.secondary", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Secondary", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlSecondary" + }, + { + "name": "xl.warning", + "viewReference": "Serv.Sdds.Components.EmbeddedChip.Xl.Warning", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipXlWarning" + }, { "name": "l", "viewReference": "Serv.Sdds.Components.EmbeddedChip.L", @@ -4412,6 +4447,41 @@ "coreName": "ChipGroup", "styleName": "EmbeddedChipGroupDense", "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXl" + }, + { + "name": "xl.default", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Default", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlDefault" + }, + { + "name": "xl.accent", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Accent", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlAccent" + }, + { + "name": "xl.negative", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Negative", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlNegative" + }, + { + "name": "xl.positive", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Positive", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlPositive" + }, + { + "name": "xl.secondary", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Secondary", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlSecondary" + }, + { + "name": "xl.warning", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.Xl.Warning", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupDenseXlWarning" + }, { "name": "l", "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupDense.L", @@ -4559,6 +4629,41 @@ "coreName": "ChipGroup", "styleName": "EmbeddedChipGroupWide", "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXl" + }, + { + "name": "xl.default", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Default", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlDefault" + }, + { + "name": "xl.accent", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Accent", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlAccent" + }, + { + "name": "xl.negative", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Negative", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlNegative" + }, + { + "name": "xl.positive", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Positive", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlPositive" + }, + { + "name": "xl.secondary", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Secondary", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlSecondary" + }, + { + "name": "xl.warning", + "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.Xl.Warning", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EmbeddedChipGroupWideXlWarning" + }, { "name": "l", "viewReference": "Serv.Sdds.Components.EmbeddedChipGroupWide.L", @@ -7918,100 +8023,6 @@ } ] }, - { - "key": "tool-bar", - "coreName": "ToolBar", - "styleName": "ToolBarHorizontal", - "variations": [ - { - "name": "l", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.L", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalL" - }, - { - "name": "l.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.L.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalLHasShadow" - }, - { - "name": "m", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.M", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalM" - }, - { - "name": "m.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.M.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalMHasShadow" - }, - { - "name": "s", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.S", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalS" - }, - { - "name": "s.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.S.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalSHasShadow" - }, - { - "name": "xs", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.Xs", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalXs" - }, - { - "name": "xs.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarHorizontal.Xs.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarHorizontalXsHasShadow" - } - ] - }, - { - "key": "tool-bar", - "coreName": "ToolBar", - "styleName": "ToolBarVertical", - "variations": [ - { - "name": "l", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.L", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalL" - }, - { - "name": "l.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.L.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalLHasShadow" - }, - { - "name": "m", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.M", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalM" - }, - { - "name": "m.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.M.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalMHasShadow" - }, - { - "name": "s", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.S", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalS" - }, - { - "name": "s.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.S.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalSHasShadow" - }, - { - "name": "xs", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.Xs", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalXs" - }, - { - "name": "xs.has-shadow", - "viewReference": "Serv.Sdds.Components.ToolBarVertical.Xs.HasShadow", - "viewOverlayReference": "Serv.Sdds.ComponentOverlays.ToolBarVerticalXsHasShadow" - } - ] - }, { "key": "toast", "coreName": "Toast", @@ -13142,6 +13153,262 @@ "viewOverlayReference": "Serv.Sdds.ComponentOverlays.EditableBodyXxs" } ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectSingleNormal", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectSingleNormal.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleNormalXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectSingleNormal.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleNormalL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectSingleNormal.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleNormalM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectSingleNormal.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleNormalS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectSingleNormal.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleNormalXs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectSingleTight", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectSingleTight.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleTightXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectSingleTight.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleTightL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectSingleTight.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleTightM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectSingleTight.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleTightS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectSingleTight.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectSingleTightXs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectMultipleNormal", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectMultipleNormal.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleNormalXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectMultipleNormal.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleNormalL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectMultipleNormal.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleNormalM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectMultipleNormal.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleNormalS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectMultipleNormal.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleNormalXs" + } + ] + }, + { + "key": "select", + "coreName": "Select", + "styleName": "SelectMultipleTight", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectMultipleTight.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleTightXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectMultipleTight.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleTightL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectMultipleTight.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleTightM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectMultipleTight.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleTightS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectMultipleTight.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectMultipleTightXs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectIem", + "styleName": "SelectItemSingleNormal", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectItemSingleNormal.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleNormalXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectItemSingleNormal.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleNormalL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectItemSingleNormal.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleNormalM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectItemSingleNormal.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleNormalS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectItemSingleNormal.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleNormalXs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectIem", + "styleName": "SelectItemSingleTight", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectItemSingleTight.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleTightXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectItemSingleTight.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleTightL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectItemSingleTight.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleTightM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectItemSingleTight.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleTightS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectItemSingleTight.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemSingleTightXs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectIem", + "styleName": "SelectItemMultipleNormal", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleNormal.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleNormalXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleNormal.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleNormalL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleNormal.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleNormalM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleNormal.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleNormalS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleNormal.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleNormalXs" + } + ] + }, + { + "key": "select-item", + "coreName": "SelectIem", + "styleName": "SelectItemMultipleTight", + "variations": [ + { + "name": "xl", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleTight.Xl", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleTightXl" + }, + { + "name": "l", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleTight.L", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleTightL" + }, + { + "name": "m", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleTight.M", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleTightM" + }, + { + "name": "s", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleTight.S", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleTightS" + }, + { + "name": "xs", + "viewReference": "Serv.Sdds.Components.SelectItemMultipleTight.Xs", + "viewOverlayReference": "Serv.Sdds.ComponentOverlays.SelectItemMultipleTightXs" + } + ] } ] } \ No newline at end of file diff --git a/tokens/sdds.serv.view/docs/build.gradle.kts b/tokens/sdds.serv.view/docs/build.gradle.kts index 2ebea84c26..42f701f3a0 100644 --- a/tokens/sdds.serv.view/docs/build.gradle.kts +++ b/tokens/sdds.serv.view/docs/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("convention.documentation-view") id("convention.testing") + alias(libs.plugins.roborazzi) } android { @@ -11,4 +12,6 @@ android { dependencies { implementation(project(":sdds.serv.view")) implementation(libs.sdds.uikit) + implementation(libs.base.androidX.core) + implementation(libs.base.androidX.appcompat) } diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_accordion_Accordion_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_accordion_Accordion_Simple.png new file mode 100644 index 0000000000..c7babf5427 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_accordion_Accordion_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_autocomplete_Autocomplete_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_autocomplete_Autocomplete_Simple.png new file mode 100644 index 0000000000..a9a6c5d08f Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_autocomplete_Autocomplete_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_Avatar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_Avatar_Simple.png new file mode 100644 index 0000000000..ab93ad2fff Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_Avatar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_group_AvatarGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_group_AvatarGroup_Simple.png new file mode 100644 index 0000000000..71c3142d95 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_avatar_group_AvatarGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_badge_Badge_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_badge_Badge_Simple.png new file mode 100644 index 0000000000..3baca89324 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_badge_Badge_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_Packed.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_Packed.png new file mode 100644 index 0000000000..7dfeabba9e Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_Packed.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_SpaceBetween.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_SpaceBetween.png new file mode 100644 index 0000000000..32eb628dce Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_LabelValue_SpaceBetween.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_Simple.png new file mode 100644 index 0000000000..79047685f1 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_isLoading.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_isLoading.png new file mode 100644 index 0000000000..d6f8abc18a Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_BasicButton_isLoading.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_Simple.png new file mode 100644 index 0000000000..2493e0b4f9 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_isLoading.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_isLoading.png new file mode 100644 index 0000000000..e84b2865c4 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_IconButton_isLoading.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_Simple.png new file mode 100644 index 0000000000..5a94146f82 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_isLoading.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_isLoading.png new file mode 100644 index 0000000000..472fec6012 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_LinkButton_isLoading.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_ButtonGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_ButtonGroup_Simple.png new file mode 100644 index 0000000000..99308cad0b Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_ButtonGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_IconButtonGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_IconButtonGroup_Simple.png new file mode 100644 index 0000000000..95ea844c34 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_button_group_IconButtonGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_card_Card_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_card_Card_Simple.png new file mode 100644 index 0000000000..81a226f92d Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_card_Card_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_carousel_Carousel_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_carousel_Carousel_Simple.png new file mode 100644 index 0000000000..a7ec467486 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_carousel_Carousel_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_cell_CellLayout_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_cell_CellLayout_Simple.png new file mode 100644 index 0000000000..83148706fb Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_cell_CellLayout_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_CheckBox_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_CheckBox_Simple.png new file mode 100644 index 0000000000..27c497cfcc Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_CheckBox_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_group_CheckBoxGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_group_CheckBoxGroup_Simple.png new file mode 100644 index 0000000000..81ca1a3484 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_checkbox_group_CheckBoxGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_Chip_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_Chip_Simple.png new file mode 100644 index 0000000000..cae0df908e Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_Chip_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_group_ChipGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_group_ChipGroup_Simple.png new file mode 100644 index 0000000000..9c11dcf92a Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_chip_group_ChipGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codefield_CodeField_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codefield_CodeField_Simple.png new file mode 100644 index 0000000000..ba32052638 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codefield_CodeField_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codeinput_CodeInput_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codeinput_CodeInput_Simple.png new file mode 100644 index 0000000000..d60280566f Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_codeinput_CodeInput_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_counter_Counter_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_counter_Counter_Simple.png new file mode 100644 index 0000000000..7a88bc762e Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_counter_Counter_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_divider_Divider_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_divider_Divider_Simple.png new file mode 100644 index 0000000000..e58de871a0 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_divider_Divider_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_draver_DrawerLayout_WithDrawer.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_draver_DrawerLayout_WithDrawer.png new file mode 100644 index 0000000000..689966b18a Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_draver_DrawerLayout_WithDrawer.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_MultiLine_Icon_Absolute.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_MultiLine_Icon_Absolute.png new file mode 100644 index 0000000000..e1cf13caac Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_MultiLine_Icon_Absolute.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_SingleLine_Icon_Relative.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_SingleLine_Icon_Relative.png new file mode 100644 index 0000000000..6991ea1bc7 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_editable_Editable_SingleLine_Icon_Relative.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_file_File_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_file_File_Simple.png new file mode 100644 index 0000000000..3063c7efd6 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_file_File_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_flow_FlowLayout_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_flow_FlowLayout_Simple.png new file mode 100644 index 0000000000..b5d5cb4f1e Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_flow_FlowLayout_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_indicator_Indicator_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_indicator_Indicator_Simple.png new file mode 100644 index 0000000000..df428b9f03 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_indicator_Indicator_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_List_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_List_Simple.png new file mode 100644 index 0000000000..e1f97c93f2 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_List_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_item_ListItem_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_item_ListItem_Simple.png new file mode 100644 index 0000000000..f43acbeb2b Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_list_item_ListItem_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_loader_Loader_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_loader_Loader_Simple.png new file mode 100644 index 0000000000..eee5104ef5 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_loader_Loader_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Custom.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Custom.png new file mode 100644 index 0000000000..4257ea60b8 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Custom.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Date.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Date.png new file mode 100644 index 0000000000..62917e61fe Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Date.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Disabled.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Disabled.png new file mode 100644 index 0000000000..706579d0ca Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Disabled.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Number.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Number.png new file mode 100644 index 0000000000..6ec4e811b5 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Number.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone.png new file mode 100644 index 0000000000..706579d0ca Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_Always.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_Always.png new file mode 100644 index 0000000000..76259ca8b5 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_Always.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_CustomFormat.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_CustomFormat.png new file mode 100644 index 0000000000..e17713a2e3 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Phone_CustomFormat.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Sum_Always_Display.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Sum_Always_Display.png new file mode 100644 index 0000000000..4fdc406452 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Sum_Always_Display.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Time.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Time.png new file mode 100644 index 0000000000..78781f0ed8 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_mask_Mask_Time.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_navigationbar_NavigationBar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_navigationbar_NavigationBar_Simple.png new file mode 100644 index 0000000000..91f96b24f1 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_navigationbar_NavigationBar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_NoteCompact_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_NoteCompact_Simple.png new file mode 100644 index 0000000000..5a3223fbc7 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_NoteCompact_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_Note_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_Note_Simple.png new file mode 100644 index 0000000000..efc1e35416 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_note_Note_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_notification_content_NotificationContent_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_notification_content_NotificationContent_Simple.png new file mode 100644 index 0000000000..261285fab8 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_notification_content_NotificationContent_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Simple.png new file mode 100644 index 0000000000..5a1683f3a0 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Vertical.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Vertical.png new file mode 100644 index 0000000000..005f3dcce7 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_paginationdots_PaginationDots_Vertical.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_ProgressBar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_ProgressBar_Simple.png new file mode 100644 index 0000000000..364fb04135 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_ProgressBar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_circular_CircularProgressBar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_circular_CircularProgressBar_Simple.png new file mode 100644 index 0000000000..8ef1926c7a Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_progressbar_circular_CircularProgressBar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_RadioBox_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_RadioBox_Simple.png new file mode 100644 index 0000000000..d8012260cf Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_RadioBox_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_group_RadioBoxGroup_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_group_RadioBoxGroup_Simple.png new file mode 100644 index 0000000000..1ea6dfa334 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_radiobox_group_RadioBoxGroup_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_rectskeleton_RectSkeleton_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_rectskeleton_RectSkeleton_Simple.png new file mode 100644 index 0000000000..7c31a53707 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_rectskeleton_RectSkeleton_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_scrollbar_ScrollBar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_scrollbar_ScrollBar_Simple.png new file mode 100644 index 0000000000..a4bc5cbcdb Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_scrollbar_ScrollBar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_Segment_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_Segment_Simple.png new file mode 100644 index 0000000000..5e611a96cb Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_Segment_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_item_SegmentItem_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_item_SegmentItem_Simple.png new file mode 100644 index 0000000000..e57baaa306 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_segment_item_SegmentItem_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_slider_Slider_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_slider_Slider_Simple.png new file mode 100644 index 0000000000..23114ee2a6 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_slider_Slider_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_spinner_Spinner_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_spinner_Spinner_Simple.png new file mode 100644 index 0000000000..3a0757bca1 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_spinner_Spinner_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_switcher_Switch_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_switcher_Switch_Simple.png new file mode 100644 index 0000000000..5ee98191f7 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_switcher_Switch_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_tabs_Tabs_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_tabs_Tabs_Simple.png new file mode 100644 index 0000000000..0dd2d7ffd7 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_tabs_Tabs_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textarea_TextArea_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textarea_TextArea_Simple.png new file mode 100644 index 0000000000..b2192470f0 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textarea_TextArea_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textfield_TextField_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textfield_TextField_Simple.png new file mode 100644 index 0000000000..6b08e24150 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_textfield_TextField_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_toolbar_ToolBar_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_toolbar_ToolBar_Simple.png new file mode 100644 index 0000000000..c9bda93605 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_toolbar_ToolBar_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_wheel_Wheel_Simple.png b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_wheel_Wheel_Simple.png new file mode 100644 index 0000000000..0619722d74 Binary files /dev/null and b/tokens/sdds.serv.view/docs/override-docs/static/screenshots-docusaurus/com_sdds_uikit_fixtures_samples_wheel_Wheel_Simple.png differ diff --git a/tokens/sdds.serv.view/docs/override-docs/versionsArchived.json b/tokens/sdds.serv.view/docs/override-docs/versionsArchived.json index 87941a9a91..de9a1ba91c 100644 --- a/tokens/sdds.serv.view/docs/override-docs/versionsArchived.json +++ b/tokens/sdds.serv.view/docs/override-docs/versionsArchived.json @@ -14,5 +14,6 @@ "0.27.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.27.0/", "0.28.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.28.0/", "0.29.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.29.0/", - "0.30.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.30.0/" + "0.30.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.30.0/", + "0.31.0": "https://plasma.sberdevices.ru/xml/sdds-serv/0.31.0/" } \ No newline at end of file diff --git a/tokens/sdds.serv.view/docs/src/main/res/values/theme_doc.xml b/tokens/sdds.serv.view/docs/src/main/res/values/theme_doc.xml new file mode 100644 index 0000000000..7409b98e87 --- /dev/null +++ b/tokens/sdds.serv.view/docs/src/main/res/values/theme_doc.xml @@ -0,0 +1,45 @@ + + + + \ No newline at end of file diff --git a/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ThemeUtils.kt b/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ThemeUtils.kt new file mode 100644 index 0000000000..89d88e1259 --- /dev/null +++ b/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ThemeUtils.kt @@ -0,0 +1,22 @@ +package com.sdds.serv + +import android.view.View +import com.sdds.uikit.fixtures.ComponentScope +import com.sdds.uikit.fixtures.component +import org.hamcrest.Matcher + +internal fun themedComponent( + viewMatcherFactory: ((View) -> Matcher)? = null, + action: ((View) -> Unit)? = null, + skipDefaultCaptureRoboImage: Boolean = false, + factory: ComponentScope.() -> View, +) { + component( + com.sdds.serv.docs.R.style.Serv_Doc_Theme, + R.attr.serv_backgroundDefaultPrimary, + viewMatcherFactory, + action, + skipDefaultCaptureRoboImage, + factory, + ) +} diff --git a/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ViewSystemDocScreenshotTest.kt b/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ViewSystemDocScreenshotTest.kt new file mode 100644 index 0000000000..7139877044 --- /dev/null +++ b/tokens/sdds.serv.view/docs/src/test/kotlin/com/sdds/serv/ViewSystemDocScreenshotTest.kt @@ -0,0 +1,34 @@ +package com.sdds.serv + +import android.os.Looper +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers +import com.sdds.uikit.fixtures.SDK_NUMBER +import com.sdds.uikit.fixtures.samples.RoborazziConfigDocsXml +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.ParameterizedRobolectricTestRunner +import org.robolectric.Shadows.shadowOf +import org.robolectric.annotation.Config +import org.robolectric.annotation.GraphicsMode + +@RunWith(ParameterizedRobolectricTestRunner::class) +@GraphicsMode(GraphicsMode.Mode.NATIVE) +@Config(sdk = [SDK_NUMBER], qualifiers = RobolectricDeviceQualifiers.Pixel6) +class ViewSystemDocScreenshotTest(viewSample: ViewSampleInfo) : + RoborazziConfigDocsXml(viewSample) { + + @Test + fun docs_view_screenshot_test() { + try { + themedComponent( + factory = { + viewSample.sample.reference(context) + }, + ) + shadowOf(Looper.getMainLooper()).idle() + shadowOf(Looper.getMainLooper()).runToEndOfTasks() + } catch (e: Throwable) { + throw AssertionError("FAILED: ${viewSample.id}", e) + } + } +} diff --git a/tokens/sdds.serv.view/gradle.properties b/tokens/sdds.serv.view/gradle.properties index ed20a6a513..15ae9926c0 100644 --- a/tokens/sdds.serv.view/gradle.properties +++ b/tokens/sdds.serv.view/gradle.properties @@ -2,7 +2,7 @@ nexus.artifactId=sdds-serv nexus.snapshot=false nexus.description=sdds-serv token library for view framework versionMajor=0 -versionMinor=31 +versionMinor=32 versionPatch=0 theme-version=0.8.0 diff --git a/tokens/sdds.serv.view/integration/build.gradle.kts b/tokens/sdds.serv.view/integration/build.gradle.kts new file mode 100644 index 0000000000..caad71c283 --- /dev/null +++ b/tokens/sdds.serv.view/integration/build.gradle.kts @@ -0,0 +1,20 @@ +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("convention.android-lib") + id("convention.integration-view") +} + +android { + namespace = "com.sdds.serv.sandbox.integration" +} + +dependencies { + implementation("integration-core:sandbox-core") + implementation("integration-core:sandbox-compose") + implementation("integration-core:sandbox-view") + implementation(project(":sdds.serv.view")) + implementation(libs.sdds.uikit) + + implementation(libs.base.androidX.core) + implementation(libs.base.androidX.appcompat) +} diff --git a/tokens/sdds.serv.view/integration/gradle.properties b/tokens/sdds.serv.view/integration/gradle.properties new file mode 100644 index 0000000000..b2e5569624 --- /dev/null +++ b/tokens/sdds.serv.view/integration/gradle.properties @@ -0,0 +1,2 @@ +integration.view.config-path=../config-info-view-system.json +integration.view.package-name=com.sdds.serv.integration \ No newline at end of file diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionEndVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionEndVariationsView.kt new file mode 100644 index 0000000000..b921a612f9 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionEndVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionClearActionEndVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionEndH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionStartVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionStartVariationsView.kt new file mode 100644 index 0000000000..833dc383d6 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionClearActionStartVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionClearActionStartVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionClearActionStartH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionEndVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionEndVariationsView.kt new file mode 100644 index 0000000000..e8b46c36ae --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionEndVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionItemClearActionEndVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionEndH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionStartVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionStartVariationsView.kt new file mode 100644 index 0000000000..bc7bb9bec0 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemClearActionStartVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionItemClearActionStartVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemClearActionStartH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionEndVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionEndVariationsView.kt new file mode 100644 index 0000000000..666381cf92 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionEndVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionItemSolidActionEndVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionEndH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionStartVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionStartVariationsView.kt new file mode 100644 index 0000000000..d4ced3924f --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionItemSolidActionStartVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionItemSolidActionStartVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionItemSolidActionStartH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionEndVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionEndVariationsView.kt new file mode 100644 index 0000000000..ed55c845fb --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionEndVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionSolidActionEndVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionEndH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionStartVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionStartVariationsView.kt new file mode 100644 index 0000000000..1452325ddf --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAccordionSolidActionStartVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAccordionSolidActionStartVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartXs), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartL), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AccordionSolidActionStartH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteNormalVariationsView.kt new file mode 100644 index 0000000000..00b501b616 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAutocompleteNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteTightVariationsView.kt new file mode 100644 index 0000000000..7eca7df7cc --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAutocompleteTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAutocompleteTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AutocompleteTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarGroupVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarGroupVariationsView.kt new file mode 100644 index 0000000000..0179de1481 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarGroupVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAvatarGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AvatarGroupS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarVariationsView.kt new file mode 100644 index 0000000000..ce1c93a547 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServAvatarVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServAvatarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AvatarXxl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AvatarL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AvatarM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_AvatarS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeClearVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeClearVariationsView.kt new file mode 100644 index 0000000000..6bc36676ea --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeClearVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServBadgeClearVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeClearXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeSolidVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeSolidVariationsView.kt new file mode 100644 index 0000000000..9252280341 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeSolidVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServBadgeSolidVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeSolidXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeTransparentVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeTransparentVariationsView.kt new file mode 100644 index 0000000000..492f49f8e2 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBadgeTransparentVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServBadgeTransparentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BadgeTransparentXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonGroupVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonGroupVariationsView.kt new file mode 100644 index 0000000000..e6814f6ca2 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonGroupVariationsView.kt @@ -0,0 +1,69 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServBasicButtonGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxs), + "Xxs.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsWide), + "Xxs.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsWideDefault), + "Xxs.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsWideSegmented), + "Xxs.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsDense), + "Xxs.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsDenseDefault), + "Xxs.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsDenseSegmented), + "Xxs.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsNoGap), + "Xxs.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsNoGapDefault), + "Xxs.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXxsNoGapSegmented), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXs), + "Xs.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsWide), + "Xs.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsWideDefault), + "Xs.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsWideSegmented), + "Xs.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsDense), + "Xs.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsDenseDefault), + "Xs.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsDenseSegmented), + "Xs.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsNoGap), + "Xs.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsNoGapDefault), + "Xs.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupXsNoGapSegmented), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupS), + "S.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSWide), + "S.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSWideDefault), + "S.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSWideSegmented), + "S.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSDense), + "S.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSDenseDefault), + "S.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSDenseSegmented), + "S.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSNoGap), + "S.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSNoGapDefault), + "S.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupSNoGapSegmented), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupM), + "M.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMWide), + "M.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMWideDefault), + "M.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMWideSegmented), + "M.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMDense), + "M.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMDenseDefault), + "M.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMDenseSegmented), + "M.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMNoGap), + "M.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMNoGapDefault), + "M.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupMNoGapSegmented), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupL), + "L.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLWide), + "L.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLWideDefault), + "L.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLWideSegmented), + "L.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLDense), + "L.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLDenseDefault), + "L.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLDenseSegmented), + "L.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLNoGap), + "L.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLNoGapDefault), + "L.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonGroupLNoGapSegmented), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonVariationsView.kt new file mode 100644 index 0000000000..1bd596786d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServBasicButtonVariationsView.kt @@ -0,0 +1,85 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServBasicButtonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlAccent), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlNegative), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlWarning), + "Xl.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlClear), + "Xl.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlDark), + "Xl.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlBlack), + "Xl.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXlWhite), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLAccent), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLWarning), + "L.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLClear), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLDark), + "L.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLBlack), + "L.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonLWhite), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMAccent), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMWarning), + "M.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMClear), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMDark), + "M.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMBlack), + "M.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonMWhite), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSAccent), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSWarning), + "S.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSClear), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSDark), + "S.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSBlack), + "S.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonSWhite), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsWarning), + "Xs.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsClear), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsDark), + "Xs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsBlack), + "Xs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXsWhite), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsPositive), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsNegative), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsWarning), + "Xxs.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsClear), + "Xxs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsDark), + "Xxs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsBlack), + "Xxs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_BasicButtonXxsWhite), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardClearVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardClearVariationsView.kt new file mode 100644 index 0000000000..422685c759 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardClearVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCardClearVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardClearL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardClearM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardClearS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardSolidVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardSolidVariationsView.kt new file mode 100644 index 0000000000..af67201939 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCardSolidVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCardSolidVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardSolidL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardSolidM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CardSolidS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCarouselVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCarouselVariationsView.kt new file mode 100644 index 0000000000..84dd629b93 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCarouselVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCarouselVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "ButtonsPlacementInner" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CarouselButtonsPlacementInner), + "ButtonsPlacementOuter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CarouselButtonsPlacementOuter), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCellVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCellVariationsView.kt new file mode 100644 index 0000000000..2bda7ffb5d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCellVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCellVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CellL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CellM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CellS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CellXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxGroupVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxGroupVariationsView.kt new file mode 100644 index 0000000000..7d3b0e7ff3 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxGroupVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCheckBoxGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxGroupL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxGroupM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxGroupS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxVariationsView.kt new file mode 100644 index 0000000000..a1a6396367 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCheckBoxVariationsView.kt @@ -0,0 +1,28 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCheckBoxVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxLDefault), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxLNegative), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxMDefault), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxMNegative), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxSDefault), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CheckBoxSNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupDenseVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupDenseVariationsView.kt new file mode 100644 index 0000000000..9ee39f6d15 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupDenseVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServChipGroupDenseVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseLPilledWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseMPilledWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupDenseXsPilledWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupWideVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupWideVariationsView.kt new file mode 100644 index 0000000000..5736796417 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipGroupWideVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServChipGroupWideVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideLPilledWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideMPilledWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipGroupWideXsPilledWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipVariationsView.kt new file mode 100644 index 0000000000..8a758b5604 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServChipVariationsView.kt @@ -0,0 +1,75 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServChipVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLWarning), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledPositive), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledSecondary), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipLPilledWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMWarning), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledPositive), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledSecondary), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipMPilledWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSWarning), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledPositive), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledSecondary), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipSPilledWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsWarning), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledPositive), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledSecondary), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ChipXsPilledWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCircularProgressBarVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCircularProgressBarVariationsView.kt new file mode 100644 index 0000000000..8524440ff9 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCircularProgressBarVariationsView.kt @@ -0,0 +1,82 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCircularProgressBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxl), + "Xxl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlDefault), + "Xxl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlSecondary), + "Xxl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlAccent), + "Xxl.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlGradient), + "Xxl.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlInfo), + "Xxl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlNegative), + "Xxl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlPositive), + "Xxl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxlWarning), + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlAccent), + "Xl.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlGradient), + "Xl.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlInfo), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlNegative), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlPositive), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXlWarning), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLGradient), + "L.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLInfo), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarLWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMGradient), + "M.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMInfo), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarMWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSGradient), + "S.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSInfo), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarSWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsAccent), + "Xs.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsGradient), + "Xs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsInfo), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXsWarning), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsAccent), + "Xxs.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsGradient), + "Xxs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsInfo), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsNegative), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsPositive), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CircularProgressBarXxsWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeFieldVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeFieldVariationsView.kt new file mode 100644 index 0000000000..c1a1740846 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeFieldVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCodeFieldVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeFieldL), + "L.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeFieldLSegmented), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeFieldM), + "M.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeFieldMSegmented), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeInputVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeInputVariationsView.kt new file mode 100644 index 0000000000..b37215581e --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCodeInputVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCodeInputVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeInputS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeInputM), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CodeInputL), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCounterVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCounterVariationsView.kt new file mode 100644 index 0000000000..1c2e0fc073 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServCounterVariationsView.kt @@ -0,0 +1,59 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServCounterVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLAccent), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLWarning), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLNegative), + "L.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLBlack), + "L.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterLWhite), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMAccent), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMWarning), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMNegative), + "M.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMBlack), + "M.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterMWhite), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSAccent), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSWarning), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSNegative), + "S.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSBlack), + "S.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterSWhite), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsWarning), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsNegative), + "Xs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsBlack), + "Xs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXsWhite), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsDefault), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsPositive), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsWarning), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsNegative), + "Xxs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsBlack), + "Xxs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_CounterXxsWhite), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDividerVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDividerVariationsView.kt new file mode 100644 index 0000000000..83675e18c9 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDividerVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDividerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_Divider), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseInnerVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseInnerVariationsView.kt new file mode 100644 index 0000000000..d9806a2654 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseInnerVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDrawerCloseInnerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseInnerM), + "M.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseInnerMHasShadow), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseNoneVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseNoneVariationsView.kt new file mode 100644 index 0000000000..78632795a2 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseNoneVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDrawerCloseNoneVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseNoneM), + "M.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseNoneMHasShadow), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseOuterVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseOuterVariationsView.kt new file mode 100644 index 0000000000..1ad54b63e7 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDrawerCloseOuterVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDrawerCloseOuterVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseOuterM), + "M.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DrawerCloseOuterMHasShadow), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownEmptyStateVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownEmptyStateVariationsView.kt new file mode 100644 index 0000000000..eefa59293c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownEmptyStateVariationsView.kt @@ -0,0 +1,29 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownEmptyStateVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateXs), + "Xs.HasButton" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateXsHasButton), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateS), + "S.HasButton" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateSHasButton), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateM), + "M.HasButton" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateMHasButton), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateL), + "L.HasButton" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateLHasButton), + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateXl), + "Xl.HasButton" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownEmptyStateXlHasButton), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemNormalVariationsView.kt new file mode 100644 index 0000000000..e4dc808129 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemNormalVariationsView.kt @@ -0,0 +1,39 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuItemNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXlDefault), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXlNegative), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalLDefault), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalLNegative), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalMDefault), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalMNegative), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalSDefault), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalSNegative), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXsDefault), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemNormalXsNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemTightVariationsView.kt new file mode 100644 index 0000000000..bc94753c89 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuItemTightVariationsView.kt @@ -0,0 +1,39 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuItemTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXlDefault), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXlNegative), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightLDefault), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightLNegative), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightMDefault), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightMNegative), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightSDefault), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightSNegative), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXsDefault), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuItemTightXsNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListNormalVariationsView.kt new file mode 100644 index 0000000000..31ab4130a4 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuListNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListTightVariationsView.kt new file mode 100644 index 0000000000..26b5ed47d7 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuListTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuListTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuListTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuNormalVariationsView.kt new file mode 100644 index 0000000000..6dd019d210 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuTightVariationsView.kt new file mode 100644 index 0000000000..ccb3ded8ec --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServDropdownMenuTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServDropdownMenuTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_DropdownMenuTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEditableVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEditableVariationsView.kt new file mode 100644 index 0000000000..f4ea5211e1 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEditableVariationsView.kt @@ -0,0 +1,29 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServEditableVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "H1" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableH1), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableH5), + "BodyL" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableBodyL), + "BodyM" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableBodyM), + "BodyS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableBodyS), + "BodyXs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableBodyXs), + "BodyXxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EditableBodyXxs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupDenseVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupDenseVariationsView.kt new file mode 100644 index 0000000000..71ffeab240 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupDenseVariationsView.kt @@ -0,0 +1,54 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServEmbeddedChipGroupDenseVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlDefault), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlAccent), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlNegative), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlPositive), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlSecondary), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXlWarning), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseLWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseMWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseSWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupDenseXsWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupWideVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupWideVariationsView.kt new file mode 100644 index 0000000000..c3e670ba6c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipGroupWideVariationsView.kt @@ -0,0 +1,54 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServEmbeddedChipGroupWideVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlDefault), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlAccent), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlNegative), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlPositive), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlSecondary), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXlWarning), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideLWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideMWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideSWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipGroupWideXsWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipVariationsView.kt new file mode 100644 index 0000000000..aa1d5a9467 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServEmbeddedChipVariationsView.kt @@ -0,0 +1,54 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServEmbeddedChipVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlDefault), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlAccent), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlNegative), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlPositive), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlSecondary), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXlWarning), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLPositive), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLSecondary), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipLWarning), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMPositive), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMSecondary), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipMWarning), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSPositive), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSSecondary), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipSWarning), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsPositive), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsSecondary), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_EmbeddedChipXsWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileCircularProgressVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileCircularProgressVariationsView.kt new file mode 100644 index 0000000000..2dcb56a31f --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileCircularProgressVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServFileCircularProgressVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressXsDefault), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressXsNegative), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressSDefault), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressSNegative), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressMDefault), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressMNegative), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressLDefault), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileCircularProgressLNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileLinearProgressVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileLinearProgressVariationsView.kt new file mode 100644 index 0000000000..9241b777cb --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServFileLinearProgressVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServFileLinearProgressVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressXsDefault), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressXsNegative), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressSDefault), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressSNegative), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressMDefault), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressMNegative), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressLDefault), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_FileLinearProgressLNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeClearVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeClearVariationsView.kt new file mode 100644 index 0000000000..3fb48a15b6 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeClearVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconBadgeClearVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeClearXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeSolidVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeSolidVariationsView.kt new file mode 100644 index 0000000000..053cedc73a --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeSolidVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconBadgeSolidVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeSolidXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeTransparentVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeTransparentVariationsView.kt new file mode 100644 index 0000000000..f77cf2c6d2 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconBadgeTransparentVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconBadgeTransparentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLAccent), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLNegative), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLWarning), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLDark), + "L.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLLight), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledDefault), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledAccent), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledNegative), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledPositive), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledWarning), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledDark), + "L.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentLPilledLight), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMAccent), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMNegative), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMWarning), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMDark), + "M.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMLight), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledDefault), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledAccent), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledNegative), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledPositive), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledWarning), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledDark), + "M.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentMPilledLight), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSAccent), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSNegative), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSWarning), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSDark), + "S.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSLight), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledDefault), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledAccent), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledNegative), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledPositive), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledWarning), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledDark), + "S.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentSPilledLight), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsDefault), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsAccent), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsNegative), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPositive), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsWarning), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsDark), + "Xs.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsLight), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledDefault), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledAccent), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledNegative), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledPositive), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledWarning), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledDark), + "Xs.Pilled.Light" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconBadgeTransparentXsPilledLight), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonGroupVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonGroupVariationsView.kt new file mode 100644 index 0000000000..7decdae4ec --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonGroupVariationsView.kt @@ -0,0 +1,71 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconButtonGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXs), + "Xs.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsWide), + "Xs.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsWideDefault), + "Xs.Wide.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsWidePilled), + "Xs.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsWideSegmented), + "Xs.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsDense), + "Xs.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsDenseDefault), + "Xs.Dense.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsDensePilled), + "Xs.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsDenseSegmented), + "Xs.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsNoGap), + "Xs.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsNoGapDefault), + "Xs.NoGap.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsNoGapPilled), + "Xs.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupXsNoGapSegmented), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupS), + "S.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSWide), + "S.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSWideDefault), + "S.Wide.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSWidePilled), + "S.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSWideSegmented), + "S.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSDense), + "S.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSDenseDefault), + "S.Dense.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSDensePilled), + "S.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSDenseSegmented), + "S.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSNoGap), + "S.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSNoGapDefault), + "S.NoGap.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSNoGapPilled), + "S.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupSNoGapSegmented), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupM), + "M.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMWide), + "M.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMWideDefault), + "M.Wide.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMWidePilled), + "M.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMWideSegmented), + "M.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMDense), + "M.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMDenseDefault), + "M.Dense.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMDensePilled), + "M.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMDenseSegmented), + "M.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMNoGap), + "M.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMNoGapDefault), + "M.NoGap.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMNoGapPilled), + "M.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupMNoGapSegmented), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupL), + "L.Wide" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLWide), + "L.Wide.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLWideDefault), + "L.Wide.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLWidePilled), + "L.Wide.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLWideSegmented), + "L.Dense" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLDense), + "L.Dense.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLDenseDefault), + "L.Dense.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLDensePilled), + "L.Dense.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLDenseSegmented), + "L.NoGap" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLNoGap), + "L.NoGap.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLNoGapDefault), + "L.NoGap.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLNoGapPilled), + "L.NoGap.Segmented" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonGroupLNoGapSegmented), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonVariationsView.kt new file mode 100644 index 0000000000..acfdc06e22 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconButtonVariationsView.kt @@ -0,0 +1,151 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconButtonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlAccent), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlNegative), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlWarning), + "Xl.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlClear), + "Xl.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlDark), + "Xl.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlBlack), + "Xl.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlWhite), + "Xl.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilled), + "Xl.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledDefault), + "Xl.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledSecondary), + "Xl.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledAccent), + "Xl.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledPositive), + "Xl.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledNegative), + "Xl.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledWarning), + "Xl.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledClear), + "Xl.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledDark), + "Xl.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledBlack), + "Xl.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXlPilledWhite), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLAccent), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLWarning), + "L.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLClear), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLDark), + "L.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLBlack), + "L.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLWhite), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilled), + "L.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledDefault), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledSecondary), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledAccent), + "L.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledPositive), + "L.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledNegative), + "L.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledWarning), + "L.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledClear), + "L.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledDark), + "L.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledBlack), + "L.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonLPilledWhite), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMAccent), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMWarning), + "M.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMClear), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMDark), + "M.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMBlack), + "M.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMWhite), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilled), + "M.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledDefault), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledSecondary), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledAccent), + "M.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledPositive), + "M.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledNegative), + "M.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledWarning), + "M.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledClear), + "M.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledDark), + "M.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledBlack), + "M.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonMPilledWhite), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSAccent), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSWarning), + "S.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSClear), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSDark), + "S.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSBlack), + "S.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSWhite), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilled), + "S.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledDefault), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledSecondary), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledAccent), + "S.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledPositive), + "S.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledNegative), + "S.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledWarning), + "S.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledClear), + "S.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledDark), + "S.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledBlack), + "S.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonSPilledWhite), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsWarning), + "Xs.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsClear), + "Xs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsDark), + "Xs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsBlack), + "Xs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsWhite), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilled), + "Xs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledDefault), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledSecondary), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledAccent), + "Xs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledPositive), + "Xs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledNegative), + "Xs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledWarning), + "Xs.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledClear), + "Xs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledDark), + "Xs.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledBlack), + "Xs.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXsPilledWhite), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPositive), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsNegative), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsWarning), + "Xxs.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsClear), + "Xxs.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsDark), + "Xxs.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsBlack), + "Xxs.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsWhite), + "Xxs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilled), + "Xxs.Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledDefault), + "Xxs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledSecondary), + "Xxs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledAccent), + "Xxs.Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledPositive), + "Xxs.Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledNegative), + "Xxs.Pilled.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledWarning), + "Xxs.Pilled.Clear" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledClear), + "Xxs.Pilled.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledDark), + "Xxs.Pilled.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledBlack), + "Xxs.Pilled.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconButtonXxsPilledWhite), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabItemVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabItemVariationsView.kt new file mode 100644 index 0000000000..8c5df0123d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabItemVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconTabItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabItemL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabItemM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabItemS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabItemXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabsVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabsVariationsView.kt new file mode 100644 index 0000000000..9c196caeab --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIconTabsVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIconTabsVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsL), + "L.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsLVertical), + "L.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsLHorizontal), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsM), + "M.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsMVertical), + "M.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsMHorizontal), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsS), + "S.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsSVertical), + "S.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsSHorizontal), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsXs), + "Xs.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsXsVertical), + "Xs.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IconTabsXsHorizontal), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServImageViewVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServImageViewVariationsView.kt new file mode 100644 index 0000000000..6a77aa06a7 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServImageViewVariationsView.kt @@ -0,0 +1,26 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServImageViewVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Ratio12" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_1_2), + "Ratio916" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_9_16), + "Ratio34" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_3_4), + "Ratio21" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_2_1), + "Ratio169" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_16_9), + "Ratio43" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_4_3), + "Ratio11" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ImageViewRatio_1_1), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIndicatorVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIndicatorVariationsView.kt new file mode 100644 index 0000000000..d956cf4c66 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServIndicatorVariationsView.kt @@ -0,0 +1,49 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServIndicatorVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLAccent), + "L.Inactive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLInactive), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLPositive), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLWarning), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLNegative), + "L.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLDark), + "L.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLBlack), + "L.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorLWhite), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMAccent), + "M.Inactive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMInactive), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMPositive), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMWarning), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMNegative), + "M.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMDark), + "M.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMBlack), + "M.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorMWhite), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSAccent), + "S.Inactive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSInactive), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSPositive), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSWarning), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSNegative), + "S.Dark" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSDark), + "S.Black" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSBlack), + "S.White" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_IndicatorSWhite), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLinkButtonVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLinkButtonVariationsView.kt new file mode 100644 index 0000000000..1ebd9ab56c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLinkButtonVariationsView.kt @@ -0,0 +1,67 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServLinkButtonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlAccent), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlNegative), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlWarning), + "Xl.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXlInfo), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLAccent), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLWarning), + "L.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonLInfo), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMAccent), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMWarning), + "M.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonMInfo), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSAccent), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSWarning), + "S.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonSInfo), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsWarning), + "Xs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXsInfo), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsPositive), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsNegative), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsWarning), + "Xxs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_LinkButtonXxsInfo), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemNormalVariationsView.kt new file mode 100644 index 0000000000..a5607319a2 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServListItemNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemTightVariationsView.kt new file mode 100644 index 0000000000..b40b89773d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListItemTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServListItemTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListItemTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListNormalVariationsView.kt new file mode 100644 index 0000000000..014d75155e --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServListNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListTightVariationsView.kt new file mode 100644 index 0000000000..c225035af3 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServListTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServListTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ListTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLoaderVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLoaderVariationsView.kt new file mode 100644 index 0000000000..44b1f46b86 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServLoaderVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServLoaderVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_Loader), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServModalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServModalVariationsView.kt new file mode 100644 index 0000000000..e21ebd2f2f --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServModalVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServModalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_Modal), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarInternalPageVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarInternalPageVariationsView.kt new file mode 100644 index 0000000000..06a27238da --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarInternalPageVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNavigationBarInternalPageVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "NoBackground" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageNoBackground), + "NoBackground.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageNoBackgroundRounded), + "HasBackground" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageHasBackground), + "HasBackground.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageHasBackgroundRounded), + "HasBackground.Shadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageHasBackgroundShadow), + "HasBackground.Shadow.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarInternalPageHasBackgroundShadowRounded), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarMainPageVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarMainPageVariationsView.kt new file mode 100644 index 0000000000..36152782bb --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNavigationBarMainPageVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNavigationBarMainPageVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "NoBackground" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageNoBackground), + "NoBackground.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageNoBackgroundRounded), + "HasBackground" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageHasBackground), + "HasBackground.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageHasBackgroundRounded), + "HasBackground.Shadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageHasBackgroundShadow), + "HasBackground.Shadow.Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NavigationBarMainPageHasBackgroundShadowRounded), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteCompactVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteCompactVariationsView.kt new file mode 100644 index 0000000000..bb167265ca --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteCompactVariationsView.kt @@ -0,0 +1,115 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNoteCompactVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLDefault), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLWarning), + "L.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLInfo), + "L.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasClose), + "L.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseDefault), + "L.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasClosePositive), + "L.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseNegative), + "L.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseWarning), + "L.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseInfo), + "L.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalable), + "L.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalableDefault), + "L.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalablePositive), + "L.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalableNegative), + "L.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalableWarning), + "L.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLContentScalableInfo), + "L.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalable), + "L.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalableDefault), + "L.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalablePositive), + "L.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalableNegative), + "L.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalableWarning), + "L.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactLHasCloseContentScalableInfo), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMDefault), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMWarning), + "M.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMInfo), + "M.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasClose), + "M.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseDefault), + "M.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasClosePositive), + "M.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseNegative), + "M.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseWarning), + "M.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseInfo), + "M.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalable), + "M.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalableDefault), + "M.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalablePositive), + "M.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalableNegative), + "M.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalableWarning), + "M.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMContentScalableInfo), + "M.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalable), + "M.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalableDefault), + "M.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalablePositive), + "M.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalableNegative), + "M.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalableWarning), + "M.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactMHasCloseContentScalableInfo), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSDefault), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSWarning), + "S.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSInfo), + "S.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasClose), + "S.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseDefault), + "S.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasClosePositive), + "S.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseNegative), + "S.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseWarning), + "S.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseInfo), + "S.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalable), + "S.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalableDefault), + "S.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalablePositive), + "S.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalableNegative), + "S.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalableWarning), + "S.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSContentScalableInfo), + "S.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalable), + "S.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalableDefault), + "S.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalablePositive), + "S.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalableNegative), + "S.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalableWarning), + "S.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactSHasCloseContentScalableInfo), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsDefault), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsWarning), + "Xs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsInfo), + "Xs.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasClose), + "Xs.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseDefault), + "Xs.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasClosePositive), + "Xs.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseNegative), + "Xs.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseWarning), + "Xs.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseInfo), + "Xs.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalable), + "Xs.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalableDefault), + "Xs.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalablePositive), + "Xs.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalableNegative), + "Xs.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalableWarning), + "Xs.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsContentScalableInfo), + "Xs.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalable), + "Xs.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalableDefault), + "Xs.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalablePositive), + "Xs.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalableNegative), + "Xs.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalableWarning), + "Xs.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteCompactXsHasCloseContentScalableInfo), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteVariationsView.kt new file mode 100644 index 0000000000..d737378e27 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNoteVariationsView.kt @@ -0,0 +1,115 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNoteVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLDefault), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLWarning), + "L.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLInfo), + "L.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasClose), + "L.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseDefault), + "L.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasClosePositive), + "L.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseNegative), + "L.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseWarning), + "L.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseInfo), + "L.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalable), + "L.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalableDefault), + "L.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalablePositive), + "L.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalableNegative), + "L.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalableWarning), + "L.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLContentScalableInfo), + "L.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalable), + "L.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalableDefault), + "L.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalablePositive), + "L.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalableNegative), + "L.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalableWarning), + "L.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteLHasCloseContentScalableInfo), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMDefault), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMWarning), + "M.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMInfo), + "M.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasClose), + "M.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseDefault), + "M.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasClosePositive), + "M.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseNegative), + "M.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseWarning), + "M.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseInfo), + "M.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalable), + "M.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalableDefault), + "M.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalablePositive), + "M.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalableNegative), + "M.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalableWarning), + "M.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMContentScalableInfo), + "M.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalable), + "M.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalableDefault), + "M.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalablePositive), + "M.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalableNegative), + "M.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalableWarning), + "M.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteMHasCloseContentScalableInfo), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSDefault), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSWarning), + "S.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSInfo), + "S.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasClose), + "S.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseDefault), + "S.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasClosePositive), + "S.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseNegative), + "S.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseWarning), + "S.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseInfo), + "S.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalable), + "S.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalableDefault), + "S.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalablePositive), + "S.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalableNegative), + "S.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalableWarning), + "S.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSContentScalableInfo), + "S.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalable), + "S.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalableDefault), + "S.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalablePositive), + "S.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalableNegative), + "S.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalableWarning), + "S.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteSHasCloseContentScalableInfo), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsDefault), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsWarning), + "Xs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsInfo), + "Xs.HasClose" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasClose), + "Xs.HasClose.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseDefault), + "Xs.HasClose.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasClosePositive), + "Xs.HasClose.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseNegative), + "Xs.HasClose.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseWarning), + "Xs.HasClose.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseInfo), + "Xs.ContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalable), + "Xs.ContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalableDefault), + "Xs.ContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalablePositive), + "Xs.ContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalableNegative), + "Xs.ContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalableWarning), + "Xs.ContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsContentScalableInfo), + "Xs.HasCloseContentScalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalable), + "Xs.HasCloseContentScalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalableDefault), + "Xs.HasCloseContentScalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalablePositive), + "Xs.HasCloseContentScalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalableNegative), + "Xs.HasCloseContentScalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalableWarning), + "Xs.HasCloseContentScalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NoteXsHasCloseContentScalableInfo), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationCompactVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationCompactVariationsView.kt new file mode 100644 index 0000000000..7a92e0147c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationCompactVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNotificationCompactVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationCompactL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationCompactM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationCompactS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationContentVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationContentVariationsView.kt new file mode 100644 index 0000000000..c4e3231e5c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationContentVariationsView.kt @@ -0,0 +1,55 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNotificationContentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "ButtonStretch" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretch), + "ButtonStretch.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchDefault), + "ButtonStretch.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchPositive), + "ButtonStretch.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchNegative), + "ButtonStretch.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchWarning), + "ButtonStretch.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchInfo), + "ButtonStretch.IconTop" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTop), + "ButtonStretch.IconTop.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTopDefault), + "ButtonStretch.IconTop.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTopPositive), + "ButtonStretch.IconTop.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTopNegative), + "ButtonStretch.IconTop.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTopWarning), + "ButtonStretch.IconTop.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconTopInfo), + "ButtonStretch.IconStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStart), + "ButtonStretch.IconStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStartDefault), + "ButtonStretch.IconStart.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStartPositive), + "ButtonStretch.IconStart.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStartNegative), + "ButtonStretch.IconStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStartWarning), + "ButtonStretch.IconStart.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentButtonStretchIconStartInfo), + "NoButtonStretch" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretch), + "NoButtonStretch.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchDefault), + "NoButtonStretch.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchPositive), + "NoButtonStretch.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchNegative), + "NoButtonStretch.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchWarning), + "NoButtonStretch.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchInfo), + "NoButtonStretch.IconTop" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTop), + "NoButtonStretch.IconTop.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTopDefault), + "NoButtonStretch.IconTop.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTopPositive), + "NoButtonStretch.IconTop.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTopNegative), + "NoButtonStretch.IconTop.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTopWarning), + "NoButtonStretch.IconTop.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconTopInfo), + "NoButtonStretch.IconStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStart), + "NoButtonStretch.IconStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStartDefault), + "NoButtonStretch.IconStart.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStartPositive), + "NoButtonStretch.IconStart.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStartNegative), + "NoButtonStretch.IconStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStartWarning), + "NoButtonStretch.IconStart.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationContentNoButtonStretchIconStartInfo), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationLooseVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationLooseVariationsView.kt new file mode 100644 index 0000000000..7063774589 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServNotificationLooseVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServNotificationLooseVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationLooseL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationLooseM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_NotificationLooseS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServOverlayViewVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServOverlayViewVariationsView.kt new file mode 100644 index 0000000000..f0f8271b61 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServOverlayViewVariationsView.kt @@ -0,0 +1,20 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServOverlayViewVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_OverlayView), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsHorizontalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsHorizontalVariationsView.kt new file mode 100644 index 0000000000..9096af861c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsHorizontalVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServPaginationDotsHorizontalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsHorizontalM), + "M.ActiveTypeLine" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsHorizontalMActiveTypeLine), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsHorizontalS), + "S.ActiveTypeLine" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsHorizontalSActiveTypeLine), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsVerticalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsVerticalVariationsView.kt new file mode 100644 index 0000000000..8467ebf8a0 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPaginationDotsVerticalVariationsView.kt @@ -0,0 +1,23 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServPaginationDotsVerticalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsVerticalM), + "M.ActiveTypeLine" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsVerticalMActiveTypeLine), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsVerticalS), + "S.ActiveTypeLine" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PaginationDotsVerticalSActiveTypeLine), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPopoverVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPopoverVariationsView.kt new file mode 100644 index 0000000000..d00d576aa5 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServPopoverVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServPopoverVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverMAccent), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_PopoverSAccent), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServProgressBarVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServProgressBarVariationsView.kt new file mode 100644 index 0000000000..1c85360742 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServProgressBarVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServProgressBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + ".Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarDefault), + ".Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarSecondary), + ".Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarAccent), + ".Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarGradient), + ".Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarInfo), + ".Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarNegative), + ".Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarPositive), + ".Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ProgressBarWarning), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxGroupVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxGroupVariationsView.kt new file mode 100644 index 0000000000..72a5d6cdb0 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxGroupVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServRadioBoxGroupVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RadioBoxGroupM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RadioBoxGroupS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxVariationsView.kt new file mode 100644 index 0000000000..b61d4903ef --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRadioBoxVariationsView.kt @@ -0,0 +1,22 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServRadioBoxVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RadioBoxL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RadioBoxM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RadioBoxS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRectSkeletonVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRectSkeletonVariationsView.kt new file mode 100644 index 0000000000..815d2ca590 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServRectSkeletonVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServRectSkeletonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + ".Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RectSkeletonDefault), + ".Lighter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_RectSkeletonLighter), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServScrollBarVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServScrollBarVariationsView.kt new file mode 100644 index 0000000000..e129053f3c --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServScrollBarVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServScrollBarVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ScrollBarS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ScrollBarM), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentItemVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentItemVariationsView.kt new file mode 100644 index 0000000000..96c5457b78 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentItemVariationsView.kt @@ -0,0 +1,59 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSegmentItemVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXl), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlAccent), + "Xl.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlPrimary), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlSecondary), + "Xl.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlPilled), + "Xl.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlPilledAccent), + "Xl.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlPilledPrimary), + "Xl.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXlPilledSecondary), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemL), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLAccent), + "L.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLPrimary), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLSecondary), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLPilled), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLPilledAccent), + "L.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLPilledPrimary), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemLPilledSecondary), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemM), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMAccent), + "M.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMPrimary), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMSecondary), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMPilled), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMPilledAccent), + "M.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMPilledPrimary), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemMPilledSecondary), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemS), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSAccent), + "S.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSPrimary), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSSecondary), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSPilled), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSPilledAccent), + "S.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSPilledPrimary), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemSPilledSecondary), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXs), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsAccent), + "Xs.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsPrimary), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsSecondary), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsPilled), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsPilledAccent), + "Xs.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsPilledPrimary), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentItemXsPilledSecondary), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentVariationsView.kt new file mode 100644 index 0000000000..39156a69ee --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSegmentVariationsView.kt @@ -0,0 +1,59 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSegmentVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXl), + "Xl.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlPrimary), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlAccent), + "Xl.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlPilled), + "Xl.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlPilledPrimary), + "Xl.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlPilledSecondary), + "Xl.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXlPilledAccent), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentL), + "L.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLPrimary), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLAccent), + "L.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLPilled), + "L.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLPilledPrimary), + "L.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLPilledSecondary), + "L.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentLPilledAccent), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentM), + "M.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMPrimary), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMAccent), + "M.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMPilled), + "M.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMPilledPrimary), + "M.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMPilledSecondary), + "M.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentMPilledAccent), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentS), + "S.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSPrimary), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSAccent), + "S.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSPilled), + "S.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSPilledPrimary), + "S.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSPilledSecondary), + "S.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentSPilledAccent), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXs), + "Xs.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsPrimary), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsAccent), + "Xs.Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsPilled), + "Xs.Pilled.Primary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsPilledPrimary), + "Xs.Pilled.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsPilledSecondary), + "Xs.Pilled.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SegmentXsPilledAccent), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleNormalVariationsView.kt new file mode 100644 index 0000000000..a25ac624f5 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemMultipleNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleTightVariationsView.kt new file mode 100644 index 0000000000..e692f477e9 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemMultipleTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemMultipleTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemMultipleTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleNormalVariationsView.kt new file mode 100644 index 0000000000..01f076805f --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemSingleNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleTightVariationsView.kt new file mode 100644 index 0000000000..be6b030601 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectItemSingleTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectItemSingleTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectItemSingleTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleNormalVariationsView.kt new file mode 100644 index 0000000000..0607279667 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectMultipleNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleTightVariationsView.kt new file mode 100644 index 0000000000..4929fb439d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectMultipleTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectMultipleTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectMultipleTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleNormalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleNormalVariationsView.kt new file mode 100644 index 0000000000..e42849083d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleNormalVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectSingleNormalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleNormalXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleTightVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleTightVariationsView.kt new file mode 100644 index 0000000000..86e77a6578 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSelectSingleTightVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSelectSingleTightVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightXl), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightL), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightS), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SelectSingleTightXs), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelInnerVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelInnerVariationsView.kt new file mode 100644 index 0000000000..8bf639fe11 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelInnerVariationsView.kt @@ -0,0 +1,67 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSliderHorizontalLabelInnerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLGradient), + "L.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenter), + "L.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterDefault), + "L.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterAccent), + "L.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterGradient), + "L.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterThumbS), + "L.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterThumbSDefault), + "L.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterThumbSAccent), + "L.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLLimitLabelCenterThumbSGradient), + "L.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLThumbS), + "L.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLThumbSDefault), + "L.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLThumbSAccent), + "L.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerLThumbSGradient), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMGradient), + "M.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenter), + "M.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterDefault), + "M.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterAccent), + "M.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterGradient), + "M.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterThumbS), + "M.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterThumbSDefault), + "M.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterThumbSAccent), + "M.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMLimitLabelCenterThumbSGradient), + "M.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMThumbS), + "M.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMThumbSDefault), + "M.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMThumbSAccent), + "M.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerMThumbSGradient), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSGradient), + "S.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenter), + "S.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterDefault), + "S.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterAccent), + "S.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterGradient), + "S.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterThumbS), + "S.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterThumbSDefault), + "S.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterThumbSAccent), + "S.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSLimitLabelCenterThumbSGradient), + "S.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSThumbS), + "S.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSThumbSDefault), + "S.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSThumbSAccent), + "S.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelInnerSThumbSGradient), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelOuterVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelOuterVariationsView.kt new file mode 100644 index 0000000000..35b04cf5c6 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderHorizontalLabelOuterVariationsView.kt @@ -0,0 +1,67 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSliderHorizontalLabelOuterVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLGradient), + "L.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenter), + "L.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterDefault), + "L.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterAccent), + "L.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterGradient), + "L.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterThumbS), + "L.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterThumbSDefault), + "L.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterThumbSAccent), + "L.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLLimitLabelCenterThumbSGradient), + "L.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLThumbS), + "L.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLThumbSDefault), + "L.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLThumbSAccent), + "L.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterLThumbSGradient), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMGradient), + "M.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenter), + "M.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterDefault), + "M.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterAccent), + "M.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterGradient), + "M.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterThumbS), + "M.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterThumbSDefault), + "M.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterThumbSAccent), + "M.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMLimitLabelCenterThumbSGradient), + "M.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMThumbS), + "M.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMThumbSDefault), + "M.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMThumbSAccent), + "M.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterMThumbSGradient), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSGradient), + "S.LimitLabelCenter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenter), + "S.LimitLabelCenter.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterDefault), + "S.LimitLabelCenter.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterAccent), + "S.LimitLabelCenter.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterGradient), + "S.LimitLabelCenter.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterThumbS), + "S.LimitLabelCenter.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterThumbSDefault), + "S.LimitLabelCenter.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterThumbSAccent), + "S.LimitLabelCenter.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSLimitLabelCenterThumbSGradient), + "S.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSThumbS), + "S.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSThumbSDefault), + "S.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSThumbSAccent), + "S.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderHorizontalLabelOuterSThumbSGradient), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelInnerVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelInnerVariationsView.kt new file mode 100644 index 0000000000..a55ebecef9 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelInnerVariationsView.kt @@ -0,0 +1,67 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSliderVerticalLabelInnerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLGradient), + "L.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEnd), + "L.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndDefault), + "L.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndAccent), + "L.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndGradient), + "L.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndThumbS), + "L.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndThumbSDefault), + "L.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndThumbSAccent), + "L.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLLabelEndThumbSGradient), + "L.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLThumbS), + "L.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLThumbSDefault), + "L.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLThumbSAccent), + "L.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerLThumbSGradient), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMGradient), + "M.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEnd), + "M.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndDefault), + "M.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndAccent), + "M.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndGradient), + "M.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndThumbS), + "M.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndThumbSDefault), + "M.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndThumbSAccent), + "M.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMLabelEndThumbSGradient), + "M.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMThumbS), + "M.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMThumbSDefault), + "M.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMThumbSAccent), + "M.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerMThumbSGradient), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSGradient), + "S.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEnd), + "S.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndDefault), + "S.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndAccent), + "S.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndGradient), + "S.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndThumbS), + "S.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndThumbSDefault), + "S.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndThumbSAccent), + "S.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSLabelEndThumbSGradient), + "S.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSThumbS), + "S.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSThumbSDefault), + "S.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSThumbSAccent), + "S.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelInnerSThumbSGradient), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelOuterVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelOuterVariationsView.kt new file mode 100644 index 0000000000..8ab222e5dd --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSliderVerticalLabelOuterVariationsView.kt @@ -0,0 +1,115 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSliderVerticalLabelOuterVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLDefault), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAccent), + "L.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLGradient), + "L.AlignmentEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEnd), + "L.AlignmentEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndDefault), + "L.AlignmentEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndAccent), + "L.AlignmentEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndGradient), + "L.AlignmentEnd.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEnd), + "L.AlignmentEnd.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndDefault), + "L.AlignmentEnd.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndAccent), + "L.AlignmentEnd.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndGradient), + "L.AlignmentEnd.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndThumbS), + "L.AlignmentEnd.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndThumbSDefault), + "L.AlignmentEnd.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndThumbSAccent), + "L.AlignmentEnd.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndLabelEndThumbSGradient), + "L.AlignmentEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndThumbS), + "L.AlignmentEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndThumbSDefault), + "L.AlignmentEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndThumbSAccent), + "L.AlignmentEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLAlignmentEndThumbSGradient), + "L.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEnd), + "L.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndDefault), + "L.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndAccent), + "L.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndGradient), + "L.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndThumbS), + "L.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndThumbSDefault), + "L.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndThumbSAccent), + "L.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLLabelEndThumbSGradient), + "L.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLThumbS), + "L.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLThumbSDefault), + "L.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLThumbSAccent), + "L.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterLThumbSGradient), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMDefault), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAccent), + "M.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMGradient), + "M.AlignmentEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEnd), + "M.AlignmentEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndDefault), + "M.AlignmentEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndAccent), + "M.AlignmentEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndGradient), + "M.AlignmentEnd.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEnd), + "M.AlignmentEnd.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndDefault), + "M.AlignmentEnd.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndAccent), + "M.AlignmentEnd.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndGradient), + "M.AlignmentEnd.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndThumbS), + "M.AlignmentEnd.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndThumbSDefault), + "M.AlignmentEnd.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndThumbSAccent), + "M.AlignmentEnd.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndLabelEndThumbSGradient), + "M.AlignmentEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndThumbS), + "M.AlignmentEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndThumbSDefault), + "M.AlignmentEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndThumbSAccent), + "M.AlignmentEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMAlignmentEndThumbSGradient), + "M.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEnd), + "M.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndDefault), + "M.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndAccent), + "M.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndGradient), + "M.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndThumbS), + "M.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndThumbSDefault), + "M.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndThumbSAccent), + "M.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMLabelEndThumbSGradient), + "M.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMThumbS), + "M.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMThumbSDefault), + "M.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMThumbSAccent), + "M.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterMThumbSGradient), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSDefault), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAccent), + "S.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSGradient), + "S.AlignmentEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEnd), + "S.AlignmentEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndDefault), + "S.AlignmentEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndAccent), + "S.AlignmentEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndGradient), + "S.AlignmentEnd.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEnd), + "S.AlignmentEnd.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndDefault), + "S.AlignmentEnd.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndAccent), + "S.AlignmentEnd.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndGradient), + "S.AlignmentEnd.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndThumbS), + "S.AlignmentEnd.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndThumbSDefault), + "S.AlignmentEnd.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndThumbSAccent), + "S.AlignmentEnd.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndLabelEndThumbSGradient), + "S.AlignmentEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndThumbS), + "S.AlignmentEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndThumbSDefault), + "S.AlignmentEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndThumbSAccent), + "S.AlignmentEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSAlignmentEndThumbSGradient), + "S.LabelEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEnd), + "S.LabelEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndDefault), + "S.LabelEnd.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndAccent), + "S.LabelEnd.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndGradient), + "S.LabelEnd.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndThumbS), + "S.LabelEnd.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndThumbSDefault), + "S.LabelEnd.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndThumbSAccent), + "S.LabelEnd.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSLabelEndThumbSGradient), + "S.ThumbS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSThumbS), + "S.ThumbS.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSThumbSDefault), + "S.ThumbS.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSThumbSAccent), + "S.ThumbS.Gradient" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SliderVerticalLabelOuterSThumbSGradient), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSpinnerVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSpinnerVariationsView.kt new file mode 100644 index 0000000000..adc7323442 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSpinnerVariationsView.kt @@ -0,0 +1,83 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSpinnerVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xxl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxl), + "Xxl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlDefault), + "Xxl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlSecondary), + "Xxl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlAccent), + "Xxl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlPositive), + "Xxl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlNegative), + "Xxl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlWarning), + "Xxl.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxlInfo), + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlDefault), + "Xl.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlSecondary), + "Xl.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlAccent), + "Xl.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlPositive), + "Xl.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlNegative), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlWarning), + "Xl.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXlInfo), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLDefault), + "L.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLSecondary), + "L.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLAccent), + "L.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLPositive), + "L.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLNegative), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLWarning), + "L.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerLInfo), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMDefault), + "M.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMSecondary), + "M.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMAccent), + "M.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMPositive), + "M.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMNegative), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMWarning), + "M.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerMInfo), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSDefault), + "S.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSSecondary), + "S.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSAccent), + "S.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSPositive), + "S.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSNegative), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSWarning), + "S.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerSInfo), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsDefault), + "Xs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsSecondary), + "Xs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsAccent), + "Xs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsPositive), + "Xs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsNegative), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsWarning), + "Xs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXsInfo), + "Xxs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxs), + "Xxs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsDefault), + "Xxs.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsSecondary), + "Xxs.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsAccent), + "Xxs.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsPositive), + "Xxs.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsNegative), + "Xxs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsWarning), + "Xxs.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerXxsInfo), + "Scalable" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalable), + "Scalable.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableDefault), + "Scalable.Secondary" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableSecondary), + "Scalable.Accent" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableAccent), + "Scalable.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalablePositive), + "Scalable.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableNegative), + "Scalable.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableWarning), + "Scalable.Info" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SpinnerScalableInfo), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSwitchVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSwitchVariationsView.kt new file mode 100644 index 0000000000..8438cfd2ed --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServSwitchVariationsView.kt @@ -0,0 +1,25 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServSwitchVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchL), + "L.ToggleS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchLToggleS), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchM), + "M.ToggleS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchMToggleS), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchS), + "S.ToggleS" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_SwitchSToggleS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemDefaultVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemDefaultVariationsView.kt new file mode 100644 index 0000000000..2a339e272a --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemDefaultVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTabItemDefaultVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultL), + "L.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultLHorizontal), + "L.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultLVertical), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultM), + "M.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultMHorizontal), + "M.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultMVertical), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultS), + "S.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultSHorizontal), + "S.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultSVertical), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultXs), + "Xs.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultXsHorizontal), + "Xs.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemDefaultXsVertical), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemHeaderVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemHeaderVariationsView.kt new file mode 100644 index 0000000000..bddf4a083d --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabItemHeaderVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTabItemHeaderVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "H1" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemHeaderH1), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemHeaderH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemHeaderH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemHeaderH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabItemHeaderH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsDefaultVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsDefaultVariationsView.kt new file mode 100644 index 0000000000..dde4a611f0 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsDefaultVariationsView.kt @@ -0,0 +1,31 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTabsDefaultVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultL), + "L.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultLVertical), + "L.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultLHorizontal), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultM), + "M.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultMVertical), + "M.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultMHorizontal), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultS), + "S.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultSVertical), + "S.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultSHorizontal), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultXs), + "Xs.Vertical" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultXsVertical), + "Xs.Horizontal" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsDefaultXsHorizontal), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsHeaderVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsHeaderVariationsView.kt new file mode 100644 index 0000000000..da6cc474e8 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTabsHeaderVariationsView.kt @@ -0,0 +1,24 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTabsHeaderVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "H1" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsHeaderH1), + "H2" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsHeaderH2), + "H3" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsHeaderH3), + "H4" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsHeaderH4), + "H5" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TabsHeaderH5), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextAreaVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextAreaVariationsView.kt new file mode 100644 index 0000000000..63d0b70153 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextAreaVariationsView.kt @@ -0,0 +1,187 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTextAreaVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsDefault), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsWarning), + "Xs.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsError), + "Xs.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredStart), + "Xs.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredStartDefault), + "Xs.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredStartWarning), + "Xs.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredStartError), + "Xs.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredEnd), + "Xs.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredEndDefault), + "Xs.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredEndWarning), + "Xs.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsRequiredEndError), + "Xs.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabel), + "Xs.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelDefault), + "Xs.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelWarning), + "Xs.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelError), + "Xs.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredStart), + "Xs.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredStartDefault), + "Xs.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredStartWarning), + "Xs.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredStartError), + "Xs.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredEnd), + "Xs.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredEndDefault), + "Xs.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredEndWarning), + "Xs.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXsOuterLabelRequiredEndError), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSDefault), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSWarning), + "S.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSError), + "S.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredStart), + "S.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredStartDefault), + "S.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredStartWarning), + "S.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredStartError), + "S.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredEnd), + "S.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredEndDefault), + "S.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredEndWarning), + "S.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSRequiredEndError), + "S.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabel), + "S.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelDefault), + "S.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelWarning), + "S.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelError), + "S.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredStart), + "S.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredStartDefault), + "S.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredStartWarning), + "S.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredStartError), + "S.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredEnd), + "S.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredEndDefault), + "S.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredEndWarning), + "S.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSOuterLabelRequiredEndError), + "S.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabel), + "S.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelDefault), + "S.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelWarning), + "S.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelError), + "S.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredStart), + "S.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredStartDefault), + "S.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredStartWarning), + "S.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredStartError), + "S.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredEnd), + "S.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredEndDefault), + "S.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredEndWarning), + "S.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaSInnerLabelRequiredEndError), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMDefault), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMWarning), + "M.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMError), + "M.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredStart), + "M.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredStartDefault), + "M.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredStartWarning), + "M.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredStartError), + "M.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredEnd), + "M.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredEndDefault), + "M.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredEndWarning), + "M.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMRequiredEndError), + "M.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabel), + "M.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelDefault), + "M.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelWarning), + "M.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelError), + "M.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredStart), + "M.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredStartDefault), + "M.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredStartWarning), + "M.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredStartError), + "M.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredEnd), + "M.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredEndDefault), + "M.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredEndWarning), + "M.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMOuterLabelRequiredEndError), + "M.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabel), + "M.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelDefault), + "M.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelWarning), + "M.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelError), + "M.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredStart), + "M.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredStartDefault), + "M.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredStartWarning), + "M.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredStartError), + "M.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredEnd), + "M.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredEndDefault), + "M.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredEndWarning), + "M.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaMInnerLabelRequiredEndError), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLDefault), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLWarning), + "L.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLError), + "L.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredStart), + "L.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredStartDefault), + "L.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredStartWarning), + "L.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredStartError), + "L.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredEnd), + "L.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredEndDefault), + "L.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredEndWarning), + "L.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLRequiredEndError), + "L.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabel), + "L.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelDefault), + "L.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelWarning), + "L.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelError), + "L.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredStart), + "L.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredStartDefault), + "L.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredStartWarning), + "L.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredStartError), + "L.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredEnd), + "L.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredEndDefault), + "L.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredEndWarning), + "L.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLOuterLabelRequiredEndError), + "L.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabel), + "L.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelDefault), + "L.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelWarning), + "L.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelError), + "L.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredStart), + "L.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredStartDefault), + "L.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredStartWarning), + "L.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredStartError), + "L.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredEnd), + "L.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredEndDefault), + "L.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredEndWarning), + "L.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaLInnerLabelRequiredEndError), + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlDefault), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlWarning), + "Xl.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlError), + "Xl.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredStart), + "Xl.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredStartDefault), + "Xl.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredStartWarning), + "Xl.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredStartError), + "Xl.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredEnd), + "Xl.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredEndDefault), + "Xl.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredEndWarning), + "Xl.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlRequiredEndError), + "Xl.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabel), + "Xl.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelDefault), + "Xl.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelWarning), + "Xl.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelError), + "Xl.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredStart), + "Xl.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredStartDefault), + "Xl.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredStartWarning), + "Xl.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredStartError), + "Xl.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredEnd), + "Xl.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredEndDefault), + "Xl.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredEndWarning), + "Xl.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlOuterLabelRequiredEndError), + "Xl.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabel), + "Xl.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelDefault), + "Xl.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelWarning), + "Xl.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelError), + "Xl.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredStart), + "Xl.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredStartDefault), + "Xl.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredStartWarning), + "Xl.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredStartError), + "Xl.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredEnd), + "Xl.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredEndDefault), + "Xl.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredEndWarning), + "Xl.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextAreaXlInnerLabelRequiredEndError), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextFieldVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextFieldVariationsView.kt new file mode 100644 index 0000000000..50fadd9024 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextFieldVariationsView.kt @@ -0,0 +1,229 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTextFieldVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXs), + "Xs.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsDefault), + "Xs.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsSuccess), + "Xs.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsWarning), + "Xs.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsError), + "Xs.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredStart), + "Xs.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredStartDefault), + "Xs.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredStartSuccess), + "Xs.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredStartWarning), + "Xs.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredStartError), + "Xs.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredEnd), + "Xs.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredEndDefault), + "Xs.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredEndSuccess), + "Xs.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredEndWarning), + "Xs.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsRequiredEndError), + "Xs.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabel), + "Xs.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelDefault), + "Xs.OuterLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelSuccess), + "Xs.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelWarning), + "Xs.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelError), + "Xs.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredStart), + "Xs.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredStartDefault), + "Xs.OuterLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredStartSuccess), + "Xs.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredStartWarning), + "Xs.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredStartError), + "Xs.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredEnd), + "Xs.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredEndDefault), + "Xs.OuterLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredEndSuccess), + "Xs.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredEndWarning), + "Xs.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXsOuterLabelRequiredEndError), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldS), + "S.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSDefault), + "S.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSSuccess), + "S.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSWarning), + "S.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSError), + "S.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredStart), + "S.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredStartDefault), + "S.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredStartSuccess), + "S.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredStartWarning), + "S.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredStartError), + "S.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredEnd), + "S.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredEndDefault), + "S.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredEndSuccess), + "S.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredEndWarning), + "S.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSRequiredEndError), + "S.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabel), + "S.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelDefault), + "S.OuterLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelSuccess), + "S.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelWarning), + "S.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelError), + "S.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredStart), + "S.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredStartDefault), + "S.OuterLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredStartSuccess), + "S.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredStartWarning), + "S.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredStartError), + "S.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredEnd), + "S.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredEndDefault), + "S.OuterLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredEndSuccess), + "S.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredEndWarning), + "S.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSOuterLabelRequiredEndError), + "S.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabel), + "S.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelDefault), + "S.InnerLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelSuccess), + "S.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelWarning), + "S.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelError), + "S.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredStart), + "S.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredStartDefault), + "S.InnerLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredStartSuccess), + "S.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredStartWarning), + "S.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredStartError), + "S.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredEnd), + "S.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredEndDefault), + "S.InnerLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredEndSuccess), + "S.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredEndWarning), + "S.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldSInnerLabelRequiredEndError), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldM), + "M.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMDefault), + "M.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMSuccess), + "M.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMWarning), + "M.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMError), + "M.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredStart), + "M.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredStartDefault), + "M.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredStartSuccess), + "M.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredStartWarning), + "M.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredStartError), + "M.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredEnd), + "M.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredEndDefault), + "M.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredEndSuccess), + "M.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredEndWarning), + "M.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMRequiredEndError), + "M.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabel), + "M.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelDefault), + "M.OuterLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelSuccess), + "M.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelWarning), + "M.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelError), + "M.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredStart), + "M.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredStartDefault), + "M.OuterLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredStartSuccess), + "M.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredStartWarning), + "M.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredStartError), + "M.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredEnd), + "M.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredEndDefault), + "M.OuterLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredEndSuccess), + "M.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredEndWarning), + "M.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMOuterLabelRequiredEndError), + "M.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabel), + "M.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelDefault), + "M.InnerLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelSuccess), + "M.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelWarning), + "M.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelError), + "M.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredStart), + "M.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredStartDefault), + "M.InnerLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredStartSuccess), + "M.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredStartWarning), + "M.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredStartError), + "M.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredEnd), + "M.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredEndDefault), + "M.InnerLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredEndSuccess), + "M.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredEndWarning), + "M.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldMInnerLabelRequiredEndError), + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldL), + "L.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLDefault), + "L.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLSuccess), + "L.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLWarning), + "L.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLError), + "L.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredStart), + "L.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredStartDefault), + "L.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredStartSuccess), + "L.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredStartWarning), + "L.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredStartError), + "L.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredEnd), + "L.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredEndDefault), + "L.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredEndSuccess), + "L.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredEndWarning), + "L.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLRequiredEndError), + "L.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabel), + "L.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelDefault), + "L.OuterLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelSuccess), + "L.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelWarning), + "L.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelError), + "L.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredStart), + "L.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredStartDefault), + "L.OuterLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredStartSuccess), + "L.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredStartWarning), + "L.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredStartError), + "L.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredEnd), + "L.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredEndDefault), + "L.OuterLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredEndSuccess), + "L.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredEndWarning), + "L.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLOuterLabelRequiredEndError), + "L.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabel), + "L.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelDefault), + "L.InnerLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelSuccess), + "L.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelWarning), + "L.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelError), + "L.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredStart), + "L.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredStartDefault), + "L.InnerLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredStartSuccess), + "L.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredStartWarning), + "L.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredStartError), + "L.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredEnd), + "L.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredEndDefault), + "L.InnerLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredEndSuccess), + "L.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredEndWarning), + "L.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldLInnerLabelRequiredEndError), + "Xl" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXl), + "Xl.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlDefault), + "Xl.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlSuccess), + "Xl.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlWarning), + "Xl.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlError), + "Xl.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredStart), + "Xl.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredStartDefault), + "Xl.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredStartSuccess), + "Xl.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredStartWarning), + "Xl.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredStartError), + "Xl.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredEnd), + "Xl.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredEndDefault), + "Xl.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredEndSuccess), + "Xl.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredEndWarning), + "Xl.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlRequiredEndError), + "Xl.OuterLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabel), + "Xl.OuterLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelDefault), + "Xl.OuterLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelSuccess), + "Xl.OuterLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelWarning), + "Xl.OuterLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelError), + "Xl.OuterLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredStart), + "Xl.OuterLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredStartDefault), + "Xl.OuterLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredStartSuccess), + "Xl.OuterLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredStartWarning), + "Xl.OuterLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredStartError), + "Xl.OuterLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredEnd), + "Xl.OuterLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredEndDefault), + "Xl.OuterLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredEndSuccess), + "Xl.OuterLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredEndWarning), + "Xl.OuterLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlOuterLabelRequiredEndError), + "Xl.InnerLabel" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabel), + "Xl.InnerLabel.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelDefault), + "Xl.InnerLabel.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelSuccess), + "Xl.InnerLabel.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelWarning), + "Xl.InnerLabel.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelError), + "Xl.InnerLabel.RequiredStart" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredStart), + "Xl.InnerLabel.RequiredStart.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredStartDefault), + "Xl.InnerLabel.RequiredStart.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredStartSuccess), + "Xl.InnerLabel.RequiredStart.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredStartWarning), + "Xl.InnerLabel.RequiredStart.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredStartError), + "Xl.InnerLabel.RequiredEnd" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredEnd), + "Xl.InnerLabel.RequiredEnd.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredEndDefault), + "Xl.InnerLabel.RequiredEnd.Success" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredEndSuccess), + "Xl.InnerLabel.RequiredEnd.Warning" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredEndWarning), + "Xl.InnerLabel.RequiredEnd.Error" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextFieldXlInnerLabelRequiredEndError), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextSkeletonVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextSkeletonVariationsView.kt new file mode 100644 index 0000000000..79d49d79ae --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTextSkeletonVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTextSkeletonVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + ".Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextSkeletonDefault), + ".Lighter" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TextSkeletonLighter), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToastVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToastVariationsView.kt new file mode 100644 index 0000000000..224882b68e --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToastVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServToastVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "Rounded" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastRounded), + "Rounded.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastRoundedDefault), + "Rounded.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastRoundedPositive), + "Rounded.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastRoundedNegative), + "Pilled" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastPilled), + "Pilled.Default" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastPilledDefault), + "Pilled.Positive" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastPilledPositive), + "Pilled.Negative" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToastPilledNegative), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarHorizontalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarHorizontalVariationsView.kt new file mode 100644 index 0000000000..892f4293c5 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarHorizontalVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServToolBarHorizontalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalL), + "L.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalLHasShadow), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalM), + "M.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalMHasShadow), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalS), + "S.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalSHasShadow), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalXs), + "Xs.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarHorizontalXsHasShadow), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarVerticalVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarVerticalVariationsView.kt new file mode 100644 index 0000000000..dae18a2f99 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServToolBarVerticalVariationsView.kt @@ -0,0 +1,27 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServToolBarVerticalVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "L" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalL), + "L.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalLHasShadow), + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalM), + "M.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalMHasShadow), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalS), + "S.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalSHasShadow), + "Xs" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalXs), + "Xs.HasShadow" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_ToolBarVerticalXsHasShadow), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTooltipVariationsView.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTooltipVariationsView.kt new file mode 100644 index 0000000000..897f771232 --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServTooltipVariationsView.kt @@ -0,0 +1,21 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.AndroidViewStyleProvider +import com.sdds.sandbox.AndroidViewStyleReference +import com.sdds.sandbox.viewStyleReference +import com.sdds.serv.R as DsR + +internal object SddsServTooltipVariationsView : AndroidViewStyleProvider() { + override val variations: Map = + mapOf( + "M" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TooltipM), + "S" to viewStyleReference(DsR.style.Serv_Sdds_ComponentOverlays_TooltipS), + ) +} diff --git a/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServViewComponents.kt b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServViewComponents.kt new file mode 100644 index 0000000000..23779a8afa --- /dev/null +++ b/tokens/sdds.serv.view/integration/src/main/kotlin/com/sdds/serv/integration/SddsServViewComponents.kt @@ -0,0 +1,441 @@ +// AUTO-GENERATED. DO NOT MODIFY this file. +@file:Suppress( + "UndocumentedPublicClass", + "UndocumentedPublicProperty", + "ktlint:standard:max-line-length", +) + +package com.sdds.serv.integration + +import com.sdds.sandbox.Component +import com.sdds.sandbox.ComponentKey +import com.sdds.sandbox.ComponentProvider + +/** + * Компоненты + */ +object SddsServViewComponents : ComponentProvider() { + + override val generated: Map> = + listOf( + Component( + ComponentKey.Avatar, + mapOf( + "Avatar" to SddsServAvatarVariationsView, + ), + ), + Component( + ComponentKey.AvatarGroup, + mapOf( + "AvatarGroup" to SddsServAvatarGroupVariationsView, + ), + ), + Component( + ComponentKey.Badge, + mapOf( + "BadgeClear" to SddsServBadgeClearVariationsView, + "BadgeSolid" to SddsServBadgeSolidVariationsView, + "BadgeTransparent" to SddsServBadgeTransparentVariationsView, + ), + ), + Component( + ComponentKey.IconBadge, + mapOf( + "IconBadgeClear" to SddsServIconBadgeClearVariationsView, + "IconBadgeSolid" to SddsServIconBadgeSolidVariationsView, + "IconBadgeTransparent" to SddsServIconBadgeTransparentVariationsView, + ), + ), + Component( + ComponentKey.BasicButton, + mapOf( + "BasicButton" to SddsServBasicButtonVariationsView, + ), + ), + Component( + ComponentKey.IconButton, + mapOf( + "IconButton" to SddsServIconButtonVariationsView, + ), + ), + Component( + ComponentKey.LinkButton, + mapOf( + "LinkButton" to SddsServLinkButtonVariationsView, + ), + ), + Component( + ComponentKey.Card, + mapOf( + "CardSolid" to SddsServCardSolidVariationsView, + "CardClear" to SddsServCardClearVariationsView, + ), + ), + Component( + ComponentKey.Cell, + mapOf( + "Cell" to SddsServCellVariationsView, + ), + ), + Component( + ComponentKey.CheckBox, + mapOf( + "CheckBox" to SddsServCheckBoxVariationsView, + ), + ), + Component( + ComponentKey.CheckBoxGroup, + mapOf( + "CheckBoxGroup" to SddsServCheckBoxGroupVariationsView, + ), + ), + Component( + ComponentKey.Chip, + mapOf( + "Chip" to SddsServChipVariationsView, + "EmbeddedChip" to SddsServEmbeddedChipVariationsView, + ), + ), + Component( + ComponentKey.ChipGroup, + mapOf( + "ChipGroupDense" to SddsServChipGroupDenseVariationsView, + "ChipGroupWide" to SddsServChipGroupWideVariationsView, + "EmbeddedChipGroupDense" to SddsServEmbeddedChipGroupDenseVariationsView, + "EmbeddedChipGroupWide" to SddsServEmbeddedChipGroupWideVariationsView, + ), + ), + Component( + ComponentKey.Counter, + mapOf( + "Counter" to SddsServCounterVariationsView, + ), + ), + Component( + ComponentKey.Divider, + mapOf( + "Divider" to SddsServDividerVariationsView, + ), + ), + Component( + ComponentKey.Indicator, + mapOf( + "Indicator" to SddsServIndicatorVariationsView, + ), + ), + Component( + ComponentKey.Loader, + mapOf( + "Loader" to SddsServLoaderVariationsView, + ), + ), + Component( + ComponentKey.Overlay, + mapOf( + "OverlayView" to SddsServOverlayViewVariationsView, + ), + ), + Component( + ComponentKey.ProgressBar, + mapOf( + "ProgressBar" to SddsServProgressBarVariationsView, + ), + ), + Component( + ComponentKey.CircularProgressBar, + mapOf( + "CircularProgressBar" to SddsServCircularProgressBarVariationsView, + ), + ), + Component( + ComponentKey.Popover, + mapOf( + "Popover" to SddsServPopoverVariationsView, + ), + ), + Component( + ComponentKey.RadioBox, + mapOf( + "RadioBox" to SddsServRadioBoxVariationsView, + ), + ), + Component( + ComponentKey.RadioBoxGroup, + mapOf( + "RadioBoxGroup" to SddsServRadioBoxGroupVariationsView, + ), + ), + Component( + ComponentKey.Segment, + mapOf( + "Segment" to SddsServSegmentVariationsView, + ), + ), + Component( + ComponentKey.SegmentItem, + mapOf( + "SegmentItem" to SddsServSegmentItemVariationsView, + ), + ), + Component( + ComponentKey.Switch, + mapOf( + "Switch" to SddsServSwitchVariationsView, + ), + ), + Component( + ComponentKey.TextField, + mapOf( + "TextField" to SddsServTextFieldVariationsView, + ), + ), + Component( + ComponentKey.TextArea, + mapOf( + "TextArea" to SddsServTextAreaVariationsView, + ), + ), + Component( + ComponentKey.Tooltip, + mapOf( + "Tooltip" to SddsServTooltipVariationsView, + ), + ), + Component( + ComponentKey.Toast, + mapOf( + "Toast" to SddsServToastVariationsView, + ), + ), + Component( + ComponentKey.Modal, + mapOf( + "Modal" to SddsServModalVariationsView, + ), + ), + Component( + ComponentKey.RectSkeleton, + mapOf( + "RectSkeleton" to SddsServRectSkeletonVariationsView, + ), + ), + Component( + ComponentKey.Note, + mapOf( + "Note" to SddsServNoteVariationsView, + ), + ), + Component( + ComponentKey.NoteCompact, + mapOf( + "NoteCompact" to SddsServNoteCompactVariationsView, + ), + ), + Component( + ComponentKey.Notification, + mapOf( + "NotificationCompact" to SddsServNotificationCompactVariationsView, + "NotificationLoose" to SddsServNotificationLooseVariationsView, + ), + ), + Component( + ComponentKey.NotificationContent, + mapOf( + "NotificationContent" to SddsServNotificationContentVariationsView, + ), + ), + Component( + ComponentKey.List, + mapOf( + "ListNormal" to SddsServListNormalVariationsView, + "ListTight" to SddsServListTightVariationsView, + "DropdownMenuListNormal" to SddsServDropdownMenuListNormalVariationsView, + "DropdownMenuListTight" to SddsServDropdownMenuListTightVariationsView, + ), + ), + Component( + ComponentKey.ListItem, + mapOf( + "ListItemNormal" to SddsServListItemNormalVariationsView, + "ListItemTight" to SddsServListItemTightVariationsView, + "DropdownMenuItemNormal" to SddsServDropdownMenuItemNormalVariationsView, + "DropdownMenuItemTight" to SddsServDropdownMenuItemTightVariationsView, + ), + ), + Component( + ComponentKey.Spinner, + mapOf( + "Spinner" to SddsServSpinnerVariationsView, + ), + ), + Component( + ComponentKey.TextSkeleton, + mapOf( + "TextSkeleton" to SddsServTextSkeletonVariationsView, + ), + ), + Component( + ComponentKey.DropdownMenu, + mapOf( + "DropdownMenuTight" to SddsServDropdownMenuTightVariationsView, + "DropdownMenuNormal" to SddsServDropdownMenuNormalVariationsView, + ), + ), + Component( + ComponentKey.AccordionItem, + mapOf( + "AccordionItemSolidActionStart" to SddsServAccordionItemSolidActionStartVariationsView, + "AccordionItemSolidActionEnd" to SddsServAccordionItemSolidActionEndVariationsView, + "AccordionItemClearActionStart" to SddsServAccordionItemClearActionStartVariationsView, + "AccordionItemClearActionEnd" to SddsServAccordionItemClearActionEndVariationsView, + ), + ), + Component( + ComponentKey.Accordion, + mapOf( + "AccordionSolidActionStart" to SddsServAccordionSolidActionStartVariationsView, + "AccordionSolidActionEnd" to SddsServAccordionSolidActionEndVariationsView, + "AccordionClearActionStart" to SddsServAccordionClearActionStartVariationsView, + "AccordionClearActionEnd" to SddsServAccordionClearActionEndVariationsView, + ), + ), + Component( + ComponentKey.ScrollBar, + mapOf( + "ScrollBar" to SddsServScrollBarVariationsView, + ), + ), + Component( + ComponentKey.Slider, + mapOf( + "SliderHorizontalLabelInner" to SddsServSliderHorizontalLabelInnerVariationsView, + "SliderHorizontalLabelOuter" to SddsServSliderHorizontalLabelOuterVariationsView, + "SliderVerticalLabelInner" to SddsServSliderVerticalLabelInnerVariationsView, + "SliderVerticalLabelOuter" to SddsServSliderVerticalLabelOuterVariationsView, + ), + ), + Component( + ComponentKey.Image, + mapOf( + "ImageView" to SddsServImageViewVariationsView, + ), + ), + Component( + ComponentKey.ButtonGroup, + mapOf( + "BasicButtonGroup" to SddsServBasicButtonGroupVariationsView, + "IconButtonGroup" to SddsServIconButtonGroupVariationsView, + ), + ), + Component( + ComponentKey.CodeField, + mapOf( + "CodeField" to SddsServCodeFieldVariationsView, + ), + ), + Component( + ComponentKey.CodeInput, + mapOf( + "CodeInput" to SddsServCodeInputVariationsView, + ), + ), + Component( + ComponentKey.Drawer, + mapOf( + "DrawerCloseNone" to SddsServDrawerCloseNoneVariationsView, + "DrawerCloseInner" to SddsServDrawerCloseInnerVariationsView, + "DrawerCloseOuter" to SddsServDrawerCloseOuterVariationsView, + ), + ), + Component( + ComponentKey.Tabs, + mapOf( + "TabsDefault" to SddsServTabsDefaultVariationsView, + "TabsHeader" to SddsServTabsHeaderVariationsView, + ), + ), + Component( + ComponentKey.IconTabs, + mapOf( + "IconTabs" to SddsServIconTabsVariationsView, + ), + ), + Component( + ComponentKey.TabItem, + mapOf( + "TabItemDefault" to SddsServTabItemDefaultVariationsView, + "TabItemHeader" to SddsServTabItemHeaderVariationsView, + ), + ), + Component( + ComponentKey.IconTabItem, + mapOf( + "IconTabItem" to SddsServIconTabItemVariationsView, + ), + ), + Component( + ComponentKey.NavigationBar, + mapOf( + "NavigationBarMainPage" to SddsServNavigationBarMainPageVariationsView, + "NavigationBarInternalPage" to SddsServNavigationBarInternalPageVariationsView, + ), + ), + Component( + ComponentKey.PaginationDots, + mapOf( + "PaginationDotsHorizontal" to SddsServPaginationDotsHorizontalVariationsView, + "PaginationDotsVertical" to SddsServPaginationDotsVerticalVariationsView, + ), + ), + Component( + ComponentKey.Autocomplete, + mapOf( + "AutocompleteTight" to SddsServAutocompleteTightVariationsView, + "AutocompleteNormal" to SddsServAutocompleteNormalVariationsView, + ), + ), + Component( + ComponentKey.DropdownEmptyState, + mapOf( + "DropdownEmptyState" to SddsServDropdownEmptyStateVariationsView, + ), + ), + Component( + ComponentKey.Carousel, + mapOf( + "Carousel" to SddsServCarouselVariationsView, + ), + ), + Component( + ComponentKey.File, + mapOf( + "FileCircularProgress" to SddsServFileCircularProgressVariationsView, + "FileLinearProgress" to SddsServFileLinearProgressVariationsView, + ), + ), + Component( + ComponentKey.Editable, + mapOf( + "Editable" to SddsServEditableVariationsView, + ), + ), + Component( + ComponentKey.Select, + mapOf( + "SelectSingleNormal" to SddsServSelectSingleNormalVariationsView, + "SelectSingleTight" to SddsServSelectSingleTightVariationsView, + "SelectMultipleNormal" to SddsServSelectMultipleNormalVariationsView, + "SelectMultipleTight" to SddsServSelectMultipleTightVariationsView, + ), + ), + Component( + ComponentKey.SelectItem, + mapOf( + "SelectItemSingleNormal" to SddsServSelectItemSingleNormalVariationsView, + "SelectItemSingleTight" to SddsServSelectItemSingleTightVariationsView, + "SelectItemMultipleNormal" to SddsServSelectItemMultipleNormalVariationsView, + "SelectItemMultipleTight" to SddsServSelectItemMultipleTightVariationsView, + ), + ), + ).associateBy { it.key } +} diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_dark.png new file mode 100644 index 0000000000..03829fc20c Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_light.png new file mode 100644 index 0000000000..0a806e6de1 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterDisabled_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_dark.png new file mode 100644 index 0000000000..57f6880c6e Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_light.png new file mode 100644 index 0000000000..f0b06f4ed6 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalCenterReadOnly_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_dark.png new file mode 100644 index 0000000000..da31f009c0 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_light.png new file mode 100644 index 0000000000..df78d28398 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalLTextFieldLoadingBottomStart_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_dark.png new file mode 100644 index 0000000000..f03781cafd Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_light.png new file mode 100644 index 0000000000..8499f6cb83 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleNormalMTextFieldTopCenterEmptyState_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_dark.png new file mode 100644 index 0000000000..6a9ea9ff63 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_light.png new file mode 100644 index 0000000000..89c7fee467 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightLTextFieldBottomEnd_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_dark.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_dark.png new file mode 100644 index 0000000000..5cca0f59b5 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_light.png b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_light.png new file mode 100644 index 0000000000..6d7e46aaf0 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectMultipleTightSButtonCenterTopStrict_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_dark.png b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_dark.png new file mode 100644 index 0000000000..55b9cf3f91 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_light.png b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_light.png new file mode 100644 index 0000000000..9fe443989d Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXlTextFieldTopStartSingle_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_dark.png b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_dark.png new file mode 100644 index 0000000000..777a7ea543 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_light.png b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_light.png new file mode 100644 index 0000000000..f2808f229d Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleNormalXsTextFieldCenterStartStrict_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_dark.png b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_dark.png new file mode 100644 index 0000000000..f3752dbbb5 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_light.png b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_light.png new file mode 100644 index 0000000000..b5d3f1a6de Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonCenterEndEmptyState_light.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_dark.png b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_dark.png new file mode 100644 index 0000000000..a84b1ddd53 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_dark.png differ diff --git a/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_light.png b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_light.png new file mode 100644 index 0000000000..d76d4226b8 Binary files /dev/null and b/tokens/sdds.serv.view/screenshots/testSelectSingleTightLButtonTopEnd_light.png differ diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_normal_background.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_normal_background.xml new file mode 100644 index 0000000000..0345a315a5 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_normal_background.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_tight_background.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_tight_background.xml new file mode 100644 index 0000000000..0345a315a5 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_multiple_tight_background.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_normal_background.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_normal_background.xml new file mode 100644 index 0000000000..0345a315a5 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_normal_background.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_tight_background.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_tight_background.xml new file mode 100644 index 0000000000..0345a315a5 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/color/serv_select_item_single_tight_background.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/style-dimens.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/style-dimens.xml index c048c1a7d3..4a08dab9b5 100644 --- a/tokens/sdds.serv.view/src/main/theme-builder-res/values/style-dimens.xml +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/style-dimens.xml @@ -424,6 +424,14 @@ 2.0dp 12.0dp 12.0dp + -2.0dp + 52.0dp + 16.0dp + 12.0dp + 6.0dp + 6.0dp + 24.0dp + 24.0dp -4.0dp 44.0dp 14.0dp @@ -2100,4 +2108,144 @@ 14.0dp 2.0dp 12.0dp + 64.0dp + 24.0dp + 8.0dp + 16.0dp + 18.0dp + 20.0dp + 20.0dp + 56.0dp + 24.0dp + 6.0dp + 14.0dp + 16.0dp + 16.0dp + 16.0dp + 48.0dp + 24.0dp + 6.0dp + 12.0dp + 14.0dp + 12.0dp + 12.0dp + 40.0dp + 24.0dp + 6.0dp + 10.0dp + 12.0dp + 8.0dp + 8.0dp + 32.0dp + 16.0dp + 4.0dp + 6.0dp + 8.0dp + 8.0dp + 8.0dp + 56.0dp + 24.0dp + 8.0dp + 16.0dp + 18.0dp + 16.0dp + 16.0dp + 48.0dp + 24.0dp + 6.0dp + 14.0dp + 16.0dp + 12.0dp + 12.0dp + 40.0dp + 24.0dp + 6.0dp + 12.0dp + 14.0dp + 8.0dp + 8.0dp + 32.0dp + 24.0dp + 6.0dp + 10.0dp + 12.0dp + 7.0dp + 7.0dp + 24.0dp + 16.0dp + 4.0dp + 6.0dp + 8.0dp + 4.0dp + 4.0dp + 64.0dp + 24.0dp + 8.0dp + 16.0dp + 18.0dp + 20.0dp + 20.0dp + 56.0dp + 24.0dp + 6.0dp + 14.0dp + 16.0dp + 16.0dp + 16.0dp + 48.0dp + 24.0dp + 6.0dp + 12.0dp + 14.0dp + 12.0dp + 12.0dp + 40.0dp + 24.0dp + 6.0dp + 10.0dp + 12.0dp + 8.0dp + 8.0dp + 32.0dp + 16.0dp + 4.0dp + 6.0dp + 8.0dp + 8.0dp + 8.0dp + 56.0dp + 24.0dp + 8.0dp + 16.0dp + 18.0dp + 16.0dp + 16.0dp + 48.0dp + 24.0dp + 6.0dp + 14.0dp + 16.0dp + 12.0dp + 12.0dp + 40.0dp + 24.0dp + 6.0dp + 12.0dp + 14.0dp + 8.0dp + 8.0dp + 32.0dp + 24.0dp + 6.0dp + 10.0dp + 12.0dp + 7.0dp + 7.0dp + 24.0dp + 16.0dp + 4.0dp + 6.0dp + 8.0dp + 4.0dp + 4.0dp diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-embeddedchip.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-embeddedchip.xml index 442e825dde..a414b16919 100644 --- a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-embeddedchip.xml +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-embeddedchip.xml @@ -10,6 +10,57 @@ @color/serv_embedded_chip_drawable_end_tint com.sdds.serv.colorstate.ChipColorStateProvider + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemmultipletight.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemmultipletight.xml new file mode 100644 index 0000000000..1cf48c1602 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemmultipletight.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsinglenormal.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsinglenormal.xml new file mode 100644 index 0000000000..a046981e38 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsinglenormal.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsingletight.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsingletight.xml new file mode 100644 index 0000000000..b44884d9a4 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectitemsingletight.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultiplenormal.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultiplenormal.xml new file mode 100644 index 0000000000..868a07492a --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultiplenormal.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultipletight.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultipletight.xml new file mode 100644 index 0000000000..3b9c57c003 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectmultipletight.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsinglenormal.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsinglenormal.xml new file mode 100644 index 0000000000..fc189c9004 --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsinglenormal.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsingletight.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsingletight.xml new file mode 100644 index 0000000000..a671bef41b --- /dev/null +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-selectsingletight.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + diff --git a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-textarea.xml b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-textarea.xml index b322db198a..fa0880fd8e 100644 --- a/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-textarea.xml +++ b/tokens/sdds.serv.view/src/main/theme-builder-res/values/styles-textarea.xml @@ -964,7 +964,7 @@ @style/Serv.Sdds.Components.TextArea.L.InnerLabel.RequiredEnd.Error