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 @@
-
+ d="M15 0H1C0.45 0 0 0.45 0 1V15C0 15.55 0.45 16 1 16H15C15.55 16 16 15.55 16 15V1C16 0.45 15.55 0 15 0ZM12.71 5.71L6.5 11.92L3.29 8.71C2.9 8.32 2.9 7.69 3.29 7.3C3.68 6.91 4.31 6.91 4.7 7.3L6.49 9.09L11.28 4.3C11.67 3.91 12.3 3.91 12.69 4.3C13.08 4.69 13.08 5.32 12.69 5.71H12.71Z"
+ />
+
@@ -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',