diff --git a/packages/kotti-ui/source/kotti-field-radio-group/KtFieldRadioGroup.vue b/packages/kotti-ui/source/kotti-field-radio-group/KtFieldRadioGroup.vue index bc954f117b..61c10ed9ca 100644 --- a/packages/kotti-ui/source/kotti-field-radio-group/KtFieldRadioGroup.vue +++ b/packages/kotti-ui/source/kotti-field-radio-group/KtFieldRadioGroup.vue @@ -16,11 +16,17 @@ }" :data-test="optionDataTest(option)" > +
@@ -28,10 +34,6 @@
- (-var(--radio-size) * 0.5) Put it up half the height of the radio height transform: translateY(calc(0.75em - var(--radio-size) * 0.5)); + &:hover { + border-color: var(--interactive-01-hover); + } + + &:active { + border-color: var(--interactive-01-active); + } + &--checked { background-color: var(--interactive-01); border-color: var(--interactive-01); box-shadow: var(--shadow-base); + + &:hover { + background-color: var(--interactive-01-hover); + border-color: var(--interactive-01-hover); + } + + &:active { + background-color: var(--interactive-01-active); + border-color: var(--interactive-01-active); + } + } + + &--is-disabled { + pointer-events: none; } } diff --git a/packages/kotti-ui/source/kotti-style/tokens.css b/packages/kotti-ui/source/kotti-style/tokens.css index 10d90363eb..94adadfcd5 100644 --- a/packages/kotti-ui/source/kotti-style/tokens.css +++ b/packages/kotti-ui/source/kotti-style/tokens.css @@ -73,6 +73,7 @@ --text-05: var(--gray-30); --interactive-01: var(--primary-60); --interactive-01-hover: var(--primary-70); + --interactive-01-active: var(--primary-90); --interactive-02: var(--gray-10); --interactive-02-hover: var(--primary-10); --interactive-03: var(--primary-50); diff --git a/packages/kotti-ui/source/shared-components/toggle-inner/ToggleBox.vue b/packages/kotti-ui/source/shared-components/toggle-inner/ToggleBox.vue index c6192a0693..d9aa8892c9 100644 --- a/packages/kotti-ui/source/shared-components/toggle-inner/ToggleBox.vue +++ b/packages/kotti-ui/source/shared-components/toggle-inner/ToggleBox.vue @@ -1,21 +1,29 @@ @@ -30,20 +38,14 @@ export default defineComponent({ diff --git a/packages/kotti-ui/source/shared-components/toggle-inner/ToggleSwitch.vue b/packages/kotti-ui/source/shared-components/toggle-inner/ToggleSwitch.vue index 2dd72cf02e..cc8a332a28 100644 --- a/packages/kotti-ui/source/shared-components/toggle-inner/ToggleSwitch.vue +++ b/packages/kotti-ui/source/shared-components/toggle-inner/ToggleSwitch.vue @@ -21,11 +21,12 @@ $inner-gap: ($outer-size - $inner-size) * 0.5; $track-width: $inner-size * 2.25; @mixin switch-colors($outer-color, $inner-color) { - /* background-color: $outer-color; */ - box-shadow: 0 0 1px $outer-color; + .kt-field-toggle-switch { + background-color: $outer-color; - .kt-field-toggle-switch__inner { - background-color: $inner-color; + &__inner { + background-color: $inner-color; + } } } @@ -45,23 +46,74 @@ $track-width: $inner-size * 2.25; } .kt-field-toggle-inner { - &--is-disabled.kt-field-toggle-inner .kt-field-toggle-switch__inner { - background-color: var(--ui-01); + &--is-indeterminate { + @include switch-colors(var(--interactive-01), var(--interactive-04)); + + .kt-field-toggle-switch__inner { + width: $track-width; + } + + &:hover { + @include switch-colors( + var(--interactive-01-hover), + var(--interactive-01-hover) + ); + } + + &:active { + @include switch-colors( + var(--interactive-01-active), + var(--interactive-01-active) + ); + } } - &--is-indeterminate .kt-field-toggle-switch__inner { - width: $track-width; - background-color: var(--gray-30); + &--is-off { + @include switch-colors(var(--ui-02), var(--white)); + + .kt-field-toggle-switch__inner { + margin-left: 0; + } + + &:hover { + @include switch-colors(var(--ui-03), var(--white)); + } + + &:active { + @include switch-colors(var(--ui-04), var(--white)); + } } - &--is-off .kt-field-toggle-switch__inner { - margin-left: 0; - background-color: var(--ui-03); + &--is-on { + @include switch-colors(var(--interactive-03), var(--white)); + + .kt-field-toggle-switch__inner { + margin-left: #{$track-width - $inner-size}; + } + + &:hover { + @include switch-colors(var(--interactive-01-hover), var(--white)); + } + + &:active { + @include switch-colors(var(--interactive-01-active), var(--white)); + } } +} + +.kt-field-toggle-inner--is-disabled { + &.kt-field-toggle-inner { + &--is-indeterminate { + @include switch-colors(var(--text-05), var(--ui-02)); + } - &--is-on .kt-field-toggle-switch__inner { - margin-left: #{$track-width - $inner-size}; - background-color: var(--interactive-03); + &--is-off { + @include switch-colors(var(--text-05), var(--ui-01)); + } + + &--is-on { + @include switch-colors(var(--text-05), var(--ui-01)); + } } } diff --git a/packages/kotti-ui/tokens/colors.js b/packages/kotti-ui/tokens/colors.js index 182805f58e..a91498a485 100644 --- a/packages/kotti-ui/tokens/colors.js +++ b/packages/kotti-ui/tokens/colors.js @@ -129,6 +129,11 @@ export const tokens = [ description: 'Hover for Interactive-01', reference: 'primary-70', }, + { + name: 'interactive-01-active', + description: 'Active for Interactive-01', + reference: 'primary-90', + }, { name: 'interactive-02', description: 'Secondary interactive color\nSecondary button',