@odx/ui 5.2.2 → 5.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/ag-grid-theme.css +1 -1
  3. package/core-theme.css +1 -1
  4. package/package.json +1 -1
  5. package/scss/3rdparty/ag-grid/theme.scss +4 -4
  6. package/scss/_colors-dark.scss +1 -1
  7. package/scss/_colors.scss +2 -1
  8. package/scss/_utils.scss +18 -21
  9. package/scss/_visuals.scss +1 -0
  10. package/scss/abstract/_utils.scss +18 -21
  11. package/scss/accordion-item.component.scss +2 -2
  12. package/scss/action-group.component.scss +0 -4
  13. package/scss/ag-grid/theme.scss +4 -4
  14. package/scss/anchor-navigation.component.scss +3 -11
  15. package/scss/bar.component.scss +2 -10
  16. package/scss/button.component.scss +2 -7
  17. package/scss/calendar.component.scss +3 -7
  18. package/scss/card.component.scss +3 -3
  19. package/scss/checkbox.component.scss +18 -10
  20. package/scss/chip.component.scss +10 -1
  21. package/scss/components/accordion-item.component.scss +2 -2
  22. package/scss/components/action-group.component.scss +0 -4
  23. package/scss/components/anchor-navigation.component.scss +3 -11
  24. package/scss/components/bar.component.scss +2 -10
  25. package/scss/components/button.component.scss +2 -7
  26. package/scss/components/calendar.component.scss +3 -7
  27. package/scss/components/card.component.scss +3 -3
  28. package/scss/components/checkbox.component.scss +18 -10
  29. package/scss/components/chip.component.scss +10 -1
  30. package/scss/components/form-field.component.scss +6 -5
  31. package/scss/components/link.component.scss +3 -3
  32. package/scss/components/list-item.component.scss +4 -3
  33. package/scss/components/main-menu-item.component.scss +2 -2
  34. package/scss/components/main-menu.component.scss +8 -3
  35. package/scss/components/mainfilter-group.component.scss +4 -4
  36. package/scss/components/menu.component.scss +2 -0
  37. package/scss/components/navigation-back.component.scss +2 -2
  38. package/scss/components/option.component.scss +1 -1
  39. package/scss/components/radio-button.component.scss +20 -11
  40. package/scss/components/rail-navigation-item.component.scss +2 -2
  41. package/scss/components/rail-navigation.component.scss +2 -0
  42. package/scss/components/search-bar.component.scss +4 -3
  43. package/scss/components/slider.component.scss +21 -8
  44. package/scss/components/spinbox.component.scss +8 -4
  45. package/scss/components/switch.component.scss +14 -8
  46. package/scss/components/tab-bar-item.component.scss +1 -1
  47. package/scss/components/tab-bar.component.scss +1 -2
  48. package/scss/components/toast-item.component.scss +0 -8
  49. package/scss/components/toggle-button-group.component.scss +5 -6
  50. package/scss/components/toggle-button.component.scss +2 -4
  51. package/scss/components/wizard-step.component.scss +5 -5
  52. package/scss/form-field.component.scss +6 -5
  53. package/scss/link.component.scss +3 -3
  54. package/scss/list-item.component.scss +4 -3
  55. package/scss/main-menu-item.component.scss +2 -2
  56. package/scss/main-menu.component.scss +8 -3
  57. package/scss/mainfilter-group.component.scss +4 -4
  58. package/scss/menu.component.scss +2 -0
  59. package/scss/navigation-back.component.scss +2 -2
  60. package/scss/option.component.scss +1 -1
  61. package/scss/radio-button.component.scss +20 -11
  62. package/scss/rail-navigation-item.component.scss +2 -2
  63. package/scss/rail-navigation.component.scss +2 -0
  64. package/scss/search-bar.component.scss +4 -3
  65. package/scss/slider.component.scss +21 -8
  66. package/scss/spinbox.component.scss +8 -4
  67. package/scss/switch.component.scss +14 -8
  68. package/scss/tab-bar-item.component.scss +1 -1
  69. package/scss/tab-bar.component.scss +1 -2
  70. package/scss/theme.scss +4 -4
  71. package/scss/toast-item.component.scss +0 -8
  72. package/scss/toggle-button-group.component.scss +5 -6
  73. package/scss/toggle-button.component.scss +2 -4
  74. package/scss/variables/_colors-dark.scss +1 -1
  75. package/scss/variables/_colors.scss +2 -1
  76. package/scss/variables/_visuals.scss +1 -0
  77. package/scss/wizard-step.component.scss +5 -5
  78. package/scss/components/launch-tile.component.scss +0 -119
  79. package/scss/launch-tile.component.scss +0 -119
@@ -110,14 +110,13 @@
110
110
  @include dimensions.margin(math.div(4, 24), left);
111
111
 
112
112
  background-color: var(--odx-c-highlight);
113
- bottom: 0;
113
+ bottom: -1px;
114
114
  height: dimensions.get-size(math.div(4, 24));
115
115
  width: dimensions.get-size(2) !important;
116
116
  }
117
117
 
118
118
  &:focus-visible {
119
119
  .odx-tab-bar-item.is-active {
120
- background-color: var(--odx-c-focus);
121
120
  outline-color: var(--odx-c-focus-outline);
122
121
  }
123
122
  }
@@ -43,8 +43,6 @@
43
43
  }
44
44
 
45
45
  &__close {
46
- @include utils.interactive(true);
47
-
48
46
  background-color: transparent;
49
47
  color: var(--odx-c-text);
50
48
  margin: 0;
@@ -73,12 +71,6 @@
73
71
  --odx-c-text: var(--odx-c-error-text);
74
72
  --odx-v-scrollbar-thumb-color: var(--odx-c-text);
75
73
  --odx-v-scrollbar-thumb-color-hover: var(--red-800);
76
-
77
- color: var(--odx-c-text);
78
-
79
- #{$root}__close {
80
- color: inherit;
81
- }
82
74
  }
83
75
 
84
76
  &--danger-strong {
@@ -10,9 +10,8 @@
10
10
 
11
11
  @include dimensions.height(2, 1.5);
12
12
  @include dimensions.padding-x(math.div(6, 24));
13
- @include motion.transition(background-color outline-color);
13
+ @include motion.transition(background-color);
14
14
  @include utils.center-content(true);
15
- @include utils.with-outline();
16
15
 
17
16
  border-radius: var(--odx-v-border-radius-controls);
18
17
  column-gap: dimensions.get-size(math.div(6, 24));
@@ -20,11 +19,12 @@
20
19
  z-index: var(--odx-v-layer-1);
21
20
 
22
21
  &__indicator {
23
- @include utils.with-outline();
22
+ @include utils.with-outline(var(--odx-v-outline-width-bold));
24
23
 
25
24
  background-color: var(--odx-c-highlight);
26
25
  block-size: dimensions.get-size(math.div(28, 24));
27
26
  border-radius: var(--odx-toggle-button-border-radius);
27
+ outline-width: var(--odx-v-outline-width-bold);
28
28
 
29
29
  #{$root}.is-disabled & {
30
30
  background-color: var(--odx-c-secondary-disabled);
@@ -41,7 +41,8 @@
41
41
  }
42
42
 
43
43
  #{$root}:focus-within:has(:focus-visible) & {
44
- outline-color: var(--odx-c-highlight-active);
44
+ box-shadow: inset 0 0 0 calc(var(--odx-v-outline-width-bold) + var(--odx-v-outline-box-shadow-width)) var(--odx-c-focus-inner);
45
+ outline-color: var(--odx-c-focus-outline);
45
46
  }
46
47
  }
47
48
 
@@ -56,8 +57,6 @@
56
57
  }
57
58
 
58
59
  &.is-active {
59
- @include utils.focus-state($focus-within: true);
60
-
61
60
  &:not(.is-disabled, .is-readonly):hover {
62
61
  background-color: var(--blue-700-5);
63
62
  }
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  &__indicator {
40
- @include motion.transition(background-color outline-color);
40
+ @include motion.transition(background-color);
41
41
  @include dimensions.padding-x(math.div(1, 3));
42
42
  @include utils.vertical-center-content();
43
43
 
@@ -53,9 +53,7 @@
53
53
  }
54
54
 
55
55
  #{$root}-group:not(.is-active) & {
56
- @include utils.interactive($focus-within: true);
57
-
58
- background-color: var(--blue-700-5);
56
+ @include utils.focus-state($focus-within: true, $focus-within-selector: 'input');
59
57
  }
60
58
  }
61
59
 
@@ -19,6 +19,8 @@
19
19
  overflow: hidden;
20
20
 
21
21
  .#{$parent-root}:not(.#{$parent-root}--vertical) & {
22
+ @include dimensions.padding(math.div(2, 24), 'top');
23
+
22
24
  gap: dimensions.get-size(math.div(8, 24));
23
25
  min-width: var(--odx-horizontal-wizard-width);
24
26
  }
@@ -33,16 +35,14 @@
33
35
 
34
36
  &__label {
35
37
  @include typography.prevent-text-overflow();
36
- @include utils.with-outline-bold();
37
- @include motion.transition(background-color outline-color);
38
+ @include utils.with-outline(var(--odx-v-outline-width-bold));
39
+ @include motion.transition(background-color);
38
40
 
39
41
  align-self: center;
40
42
  border-radius: var(--odx-v-border-radius-controls);
41
43
  color: var(--odx-c-text-disabled);
42
44
  margin: 0 auto;
43
- outline-color: transparent;
44
- outline-style: solid;
45
- padding: dimensions.get-size(math.div(4, 24));
45
+ padding: 0 var(--odx-v-outline-width-bold);
46
46
  user-select: none;
47
47
 
48
48
  :is(#{$root}--valid, #{$root}--passed) & {
@@ -91,16 +91,17 @@ $form-field-inner-padding: math.div(8, 24);
91
91
 
92
92
  &__control {
93
93
  @include dimensions.min-height(1.5);
94
- @include motion.transition(background-color color outline-color);
95
- @include utils.with-outline();
96
- @include utils.focus-state(true, true, 'input');
97
- @include utils.focus-state(true, true, 'textarea');
98
- @include utils.focus-state(true, true, '.odx-select');
94
+ @include motion.transition(background-color color);
95
+ @include utils.focus-state($focus-within: true, $focus-within-selector: 'input');
96
+ @include utils.focus-state($focus-within: true, $focus-within-selector: 'textarea');
97
+ @include utils.focus-state($focus-within: true, $focus-within-selector: '.odx-select');
99
98
 
100
99
  background-color: var(--odx-input-control-background-color);
101
100
  border-radius: var(--odx-v-border-radius-controls);
102
101
  display: flex;
103
102
  outline-color: var(--odx-input-control-outline-color);
103
+ outline-offset: calc(-1 * var(--odx-v-outline-width));
104
+ outline-width: var(--odx-v-outline-width);
104
105
  overflow: hidden;
105
106
  position: relative;
106
107
 
@@ -2,12 +2,12 @@
2
2
  @use '../abstract/utils';
3
3
 
4
4
  .odx-link {
5
- @include motion.transition(color background-color outline);
6
- @include utils.interactive();
5
+ @include motion.transition(color background-color);
6
+ @include utils.interactive($with-box-shadow: false);
7
7
 
8
8
  border-radius: var(--odx-v-border-radius-controls);
9
9
  color: var(--odx-c-link);
10
- padding: 0 2px;
10
+ padding: 0 calc(var(--odx-v-outline-width-bold) + var(--odx-v-outline-box-shadow-width));
11
11
  position: relative;
12
12
  user-select: auto;
13
13
 
@@ -13,9 +13,8 @@
13
13
 
14
14
  @include dimensions.padding-x(math.div(8, 24));
15
15
  @include dimensions.line-height(2, 1);
16
- @include motion.transition(border-bottom-color background-color outline-color color);
17
- @include utils.interactive(false);
18
- @include utils.with-outline-bold();
16
+ @include motion.transition(border-bottom-color background-color color box-shadow);
17
+ @include utils.interactive();
19
18
  @include utils.vertical-center-content();
20
19
 
21
20
  background-color: transparent;
@@ -43,10 +42,12 @@
43
42
  right: dimensions.get-size(math.div(8, 24));
44
43
  top: 0;
45
44
  width: calc(100% - #{dimensions.get-size(math.div(16, 24))});
45
+ z-index: -1;
46
46
  }
47
47
 
48
48
  &:hover,
49
49
  &:focus-visible {
50
+ z-index: 1;
50
51
  &:not(#{$muted-selector}) {
51
52
  --separator-color: transparent !important;
52
53
  }
@@ -19,8 +19,8 @@
19
19
 
20
20
  .odx-main-menu-item {
21
21
  @include dimensions.padding(math.div(2, 3));
22
- @include motion.transition(color background-color outline);
23
- @include utils.interactive(false);
22
+ @include motion.transition(color background-color);
23
+ @include utils.interactive();
24
24
  @include typography.font-weight(medium);
25
25
  @include typography.prevent-text-overflow();
26
26
 
@@ -12,7 +12,6 @@
12
12
  --odx-main-menu-max-width: 100dvw;
13
13
  --odx-main-menu-background-color: var(--odx-c-primary);
14
14
  --odx-main-menu-text-color: var(--odx-c-primary-text);
15
- --odx-main-menu-highlight-color: var(--odx-c-highlight);
16
15
 
17
16
  @include breakpoints.up(phone) {
18
17
  --odx-main-menu-max-width: min(100dvw, 384px);
@@ -20,12 +19,17 @@
20
19
  }
21
20
 
22
21
  @include utils.theme-selector(dark) {
23
- --odx-main-menu-background-color: var(--blue-800);
22
+ --odx-main-menu-background-color: var(--cyan-50);
24
23
  --odx-main-menu-text-color: var(--black);
25
- --odx-main-menu-highlight-color: var(--cyan-500);
24
+
25
+ .odx-main-menu {
26
+ --odx-c-focus-inner: var(--cyan-50);
27
+ }
26
28
  }
27
29
 
28
30
  .odx-main-menu {
31
+ --odx-c-focus-inner: var(--blue-700);
32
+
29
33
  --odx-area-header-title-color: var(--odx-main-menu-text-color);
30
34
  --odx-area-header-subtitle-color: var(--odx-main-menu-text-color);
31
35
 
@@ -83,6 +87,7 @@
83
87
  --odx-v-scrollbar-thumb-color-hover: var(--blue-500);
84
88
 
85
89
  @include dimensions.padding-x(0.5);
90
+ @include dimensions.padding-y(math.div(2, 24));
86
91
  @include dimensions.margin(1, top);
87
92
 
88
93
  display: flex;
@@ -2,6 +2,7 @@
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/typography';
4
4
  @use '../abstract/utils';
5
+ @use '../abstract/motion';
5
6
 
6
7
  @include utils.theme-selector(dark) {
7
8
  .odx-mainfilter-group {
@@ -74,16 +75,15 @@
74
75
  }
75
76
 
76
77
  .odx-button {
78
+ @include utils.interactive();
79
+ @include motion.transition(box-shadow);
80
+
77
81
  margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
78
82
  outline-offset: -1px;
79
83
  outline-width: var(--odx-v-outline-width);
80
84
  overflow: visible;
81
85
  position: relative;
82
86
 
83
- &:focus-visible {
84
- background-color: var(--odx-c-focus);
85
- }
86
-
87
87
  &::before {
88
88
  @include dimensions.padding-x(math.div(3, 24));
89
89
  @include dimensions.padding-y(math.div(2, 24));
@@ -5,6 +5,8 @@
5
5
  display: block;
6
6
 
7
7
  > .odx-action-group {
8
+ @include dimensions.padding-y(math.div(2, 24));
9
+
8
10
  display: flex;
9
11
  flex-direction: column;
10
12
  height: auto;
@@ -8,9 +8,9 @@
8
8
  height: dimensions.get-size(1.5);
9
9
  width: dimensions.get-size(1.5);
10
10
 
11
- @include motion.transition(background-color outline);
11
+ @include motion.transition(background-color);
12
12
  @include utils.center-content(true);
13
- @include utils.interactive($with-background: true);
13
+ @include utils.interactive();
14
14
 
15
15
  &:hover {
16
16
  background-color: var(--blue-700-5);
@@ -7,7 +7,7 @@
7
7
  @include dimensions.line-height(1.5, 1);
8
8
  @include dimensions.margin(math.div(4, 24), bottom);
9
9
  @include dimensions.padding-x(0.5);
10
- @include motion.transition(background-color color outline-color);
10
+ @include motion.transition(background-color color);
11
11
  @include typography.font-weight(normal);
12
12
 
13
13
  border-radius: var(--odx-v-border-radius-controls);
@@ -21,9 +21,8 @@
21
21
 
22
22
  &__label {
23
23
  @include dimensions.line-height(1);
24
- @include motion.transition(background-color color outline);
24
+ @include motion.transition(background-color color);
25
25
  @include typography.font-size(0);
26
- @include utils.interactive($focus-within: true);
27
26
 
28
27
  border-radius: dimensions.get-size(1);
29
28
  color: inherit;
@@ -41,6 +40,15 @@
41
40
  #{$root}.is-disabled & {
42
41
  cursor: default;
43
42
  }
43
+
44
+ &:focus-within:has(:focus-visible) {
45
+ #{$root}__indicator {
46
+ border-color: transparent;
47
+ outline-color: var(--odx-c-focus-outline);
48
+ outline-offset: var(--odx-v-outline-box-shadow-width);
49
+ outline-width: var(--odx-v-outline-width-bold);
50
+ }
51
+ }
44
52
  }
45
53
 
46
54
  &__subtitle {
@@ -53,15 +61,16 @@
53
61
 
54
62
  &__indicator {
55
63
  @include dimensions.container(1, math.div(20, 24));
56
- @include motion.transition(background-color color outline-color);
64
+ @include motion.transition(background-color color border-color);
57
65
  @include utils.center-content();
58
- @include utils.with-outline();
59
66
 
60
67
  background-color: var(--odx-control-background-color);
68
+ border: transparent solid var(--odx-v-outline-width);
61
69
  border-radius: 50%;
70
+ box-shadow: inset 0 0 0 0 var(--odx-c-focus-inner);
62
71
  color: var(--odx-control-color-selected);
63
72
  flex: 0 0 auto;
64
- outline-color: var(--odx-control-outline-color);
73
+ outline: var(--odx-v-outline-width-bold) solid transparent;
65
74
  padding: 1px;
66
75
 
67
76
  &::before {
@@ -76,13 +85,13 @@
76
85
 
77
86
  #{$root}:hover & {
78
87
  background-color: var(--odx-control-background-color-hover);
79
- outline-color: var(--odx-control-outline-color-hover);
88
+ border-color: var(--odx-control-outline-color-hover);
80
89
  }
81
90
 
82
91
  #{$root}.is-active &,
83
92
  #{$root}__input:checked ~ & {
84
93
  background-color: var(--odx-control-background-color-selected);
85
- outline-color: var(--odx-control-outline-color-selected);
94
+ border-color: var(--odx-control-outline-color-selected);
86
95
 
87
96
  &::before {
88
97
  transform: scale(1);
@@ -91,12 +100,12 @@
91
100
 
92
101
  #{$root}.has-error & {
93
102
  background-color: var(--odx-control-background-color-error);
103
+ border-color: var(--odx-control-outline-color-error);
94
104
  color: var(--odx-control-color-error);
95
- outline-color: var(--odx-control-outline-color-error);
96
105
  }
97
106
 
98
107
  #{$root}.has-error:hover & {
99
- outline-color: var(--odx-control-outline-color-error-hover);
108
+ border-color: var(--odx-control-outline-color-error-hover);
100
109
  }
101
110
 
102
111
  #{$root}.is-disabled.is-active & {
@@ -106,14 +115,14 @@
106
115
 
107
116
  #{$root}.is-disabled & {
108
117
  background-color: var(--odx-control-background-color-disabled);
118
+ border-color: var(--odx-control-outline-color-disabled);
109
119
  color: var(--odx-control-color-disabled);
110
- outline-color: var(--odx-control-outline-color-disabled);
111
120
  }
112
121
 
113
122
  #{$root}.is-readonly & {
114
123
  background-color: var(--odx-control-background-color-readonly);
124
+ border-color: var(--odx-control-outline-color);
115
125
  color: var(--odx-control-color-readonly);
116
- outline-color: var(--odx-control-outline-color-readonly);
117
126
  }
118
127
  }
119
128
 
@@ -9,9 +9,9 @@
9
9
  .odx-rail-navigation-item {
10
10
  $root: &;
11
11
 
12
- @include motion.transition(outline-color background-color color);
12
+ @include motion.transition(background-color color);
13
13
  @include dimensions.padding(math.div(8, 24));
14
- @include utils.interactive(false);
14
+ @include utils.interactive();
15
15
 
16
16
  align-items: center;
17
17
  background-color: unset;
@@ -18,6 +18,8 @@
18
18
  @include dimensions.padding-y(1);
19
19
 
20
20
  &__content {
21
+ @include dimensions.padding(math.div(2, 24));
22
+
21
23
  display: flex;
22
24
  flex-direction: column;
23
25
  gap: dimensions.get-size(math.div(12, 24));
@@ -6,14 +6,15 @@
6
6
 
7
7
  .odx-search-bar {
8
8
  @include dimensions.min-height(1.5);
9
- @include motion.transition(background-color color outline-color);
10
- @include utils.with-outline();
11
- @include utils.focus-state(true, true, 'input');
9
+ @include motion.transition(background-color color);
10
+ @include utils.focus-state($focus-within: true, $focus-within-selector: 'input');
12
11
 
13
12
  background-color: var(--odx-input-control-background-color);
14
13
  border-radius: var(--odx-v-border-radius-controls);
15
14
  display: flex;
16
15
  outline-color: var(--odx-input-control-outline-color);
16
+ outline-offset: calc(-1 * var(--odx-v-outline-width));
17
+ outline-width: var(--odx-v-outline-width);
17
18
  overflow: hidden;
18
19
  position: relative;
19
20
 
@@ -1,6 +1,7 @@
1
1
  @use 'sass:math';
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/motion';
4
+ @use '../abstract/utils';
4
5
 
5
6
  .odx-slider {
6
7
  --odx-control-outline-color: var(--gray-200);
@@ -18,10 +19,12 @@
18
19
  width: 100%;
19
20
 
20
21
  @mixin track-container() {
22
+ @include utils.with-outline() {
23
+ outline-color: var(--odx-control-outline-color);
24
+ }
25
+
21
26
  background-color: var(--odx-control-background-color);
22
27
  border-radius: 2px;
23
- outline: 1px solid var(--odx-control-outline-color);
24
- outline-offset: -1px;
25
28
  }
26
29
 
27
30
  @mixin track-progress() {
@@ -31,17 +34,27 @@
31
34
  }
32
35
 
33
36
  @mixin thumb() {
34
- @include motion.transition(background-color outline-color);
37
+ @include motion.transition(background-color);
38
+
39
+ @include utils.with-outline() {
40
+ outline-color: var(--white);
41
+ }
35
42
 
36
43
  appearance: none;
37
44
  background-color: var(--odx-control-background-color-selected);
38
45
  border-radius: 50%;
39
46
  height: $thumb-size;
40
47
  margin-top: calc(#{$thumb-size} / -2 + #{$track-height} / 2);
41
- outline: 1px solid var(--white);
42
48
  width: $thumb-size;
43
49
  }
44
50
 
51
+ @mixin thumb-focus() {
52
+ border: solid 2px var(--odx-c-focus-inner);
53
+ outline-color: var(--odx-c-focus-outline);
54
+ outline-offset: 0;
55
+ outline-width: var(--odx-v-outline-width-bold);
56
+ }
57
+
45
58
  &::-webkit-slider-container {
46
59
  @include track-container();
47
60
 
@@ -57,8 +70,8 @@
57
70
  &::-webkit-slider-runnable-track {
58
71
  @include track-progress();
59
72
 
60
- background: linear-gradient(var(--odx-control-background-color-selected), var(--odx-control-background-color-selected)) 0 / var(--odx-slider-filled) 100%
61
- no-repeat,
73
+ background:
74
+ linear-gradient(var(--odx-control-background-color-selected), var(--odx-control-background-color-selected)) 0 / var(--odx-slider-filled) 100% no-repeat,
62
75
  transparent;
63
76
  }
64
77
 
@@ -112,11 +125,11 @@
112
125
 
113
126
  &:focus-visible {
114
127
  &::-webkit-slider-thumb {
115
- outline: 2px solid var(--odx-c-highlight-active);
128
+ @include thumb-focus();
116
129
  }
117
130
 
118
131
  &::-moz-range-thumb {
119
- outline: 2px solid var(--odx-c-highlight-active);
132
+ @include thumb-focus();
120
133
  }
121
134
  }
122
135
 
@@ -10,7 +10,7 @@
10
10
  outline-color: transparent !important;
11
11
 
12
12
  .odx-form-field-control {
13
- padding: 0;
13
+ @include dimensions.padding(math.div(2, 24));
14
14
  }
15
15
 
16
16
  &::after {
@@ -58,9 +58,11 @@
58
58
  &__input,
59
59
  &__action {
60
60
  @include motion.transition(background-color border-color color);
61
+ @include utils.with-outline();
61
62
 
62
63
  background-color: var(--odx-input-control-background-color);
63
64
  border: 1px solid var(--odx-input-control-outline-color);
65
+ position: relative;
64
66
 
65
67
  #{$root}.has-error & {
66
68
  background-color: var(--odx-input-control-background-color-error);
@@ -83,8 +85,11 @@
83
85
  }
84
86
 
85
87
  #{$root} &:focus-visible {
86
- background-color: var(--odx-c-focus);
87
- border-color: var(--odx-c-focus-outline) !important;
88
+ border-radius: var(--odx-v-border-radius-controls);
89
+ border-width: 0;
90
+ box-shadow: inset 0 0 0 calc(var(--odx-v-outline-width-bold) + var(--odx-v-outline-box-shadow-width)) var(--odx-c-focus-inner);
91
+ outline-color: var(--odx-c-focus-outline);
92
+ z-index: 1;
88
93
  }
89
94
 
90
95
  #{$root}.is-disabled & {
@@ -101,7 +106,6 @@
101
106
  flex: 0 0 dimensions.get-size(math.div(36, 24));
102
107
  height: 100%;
103
108
  margin: 0;
104
- outline: none;
105
109
 
106
110
  &::before {
107
111
  position: static;
@@ -31,9 +31,8 @@
31
31
 
32
32
  &__label {
33
33
  @include dimensions.line-height(1);
34
- @include motion.transition(background-color color outline-color);
34
+ @include motion.transition(background-color color);
35
35
  @include typography.font-size(0);
36
- @include utils.interactive($focus-within: true);
37
36
 
38
37
  align-items: center;
39
38
  border-radius: dimensions.get-size(0.5);
@@ -60,8 +59,11 @@
60
59
 
61
60
  &:focus-visible {
62
61
  ~ #{$root}__indicator:before {
63
- box-shadow: 0 0 0 1px var(--odx-c-background-content);
64
- outline-color: var(--odx-c-focus);
62
+ border-width: 0;
63
+ box-shadow: inset 0 0 0 calc(var(--odx-v-outline-box-shadow-width)) var(--odx-c-focus-inner);
64
+ outline-color: var(--odx-c-focus-outline);
65
+ outline-offset: 0;
66
+ outline-width: var(--odx-v-outline-width-bold);
65
67
  }
66
68
  }
67
69
  }
@@ -72,18 +74,21 @@
72
74
  $track-size: dimensions.get-size(math.div(20, 24));
73
75
  $border: 1px solid var(--odx-control-outline-color);
74
76
 
75
- @include motion.transition(background-color color outline-color);
77
+ @include motion.transition(background-color color);
76
78
 
77
79
  background-color: var(--odx-control-background-color);
78
80
  border: $border;
79
81
  border-radius: calc(#{$indicator-height} / 2);
80
- color: var(--odx-control-color-selected);
81
82
  height: $indicator-height;
82
83
  position: relative;
83
84
  width: $indicator-width;
84
85
 
85
86
  &::before {
86
- @include motion.transition(background-color transform border-color outline-color);
87
+ @include motion.transition(background-color transform border-color);
88
+
89
+ @include utils.with-outline() {
90
+ outline-color: var(--odx-c-background-content);
91
+ }
87
92
 
88
93
  align-items: center;
89
94
  background-color: var(--odx-control-background-color);
@@ -94,7 +99,7 @@
94
99
  font-size: dimensions.get-size(math.div(12, 24));
95
100
  height: $track-size;
96
101
  justify-content: center;
97
- outline: 1px solid var(--odx-c-background-content);
102
+ position: absolute;
98
103
  top: calc(#{$track-size} / -2 + 50%);
99
104
  transform: translateX(-1px);
100
105
  width: $track-size;
@@ -116,6 +121,7 @@
116
121
  &::before {
117
122
  @include indicator-color(var(--odx-control-background-color-selected));
118
123
 
124
+ color: var(--odx-control-color-selected);
119
125
  transform: translateX(calc((#{$indicator-width} - #{$track-size}) - 1px));
120
126
  }
121
127
  }
@@ -8,8 +8,8 @@
8
8
  @include dimensions.height(2, math.div(32, 24));
9
9
  @include dimensions.padding-x(math.div(4, 24));
10
10
  @include utils.vertical-center-content();
11
+ @include motion.transition(background-color);
11
12
  @include utils.with-outline();
12
- @include motion.transition(background-color outline-color);
13
13
 
14
14
  align-items: center;
15
15
  background-color: transparent;
@@ -110,14 +110,13 @@
110
110
  @include dimensions.margin(math.div(4, 24), left);
111
111
 
112
112
  background-color: var(--odx-c-highlight);
113
- bottom: 0;
113
+ bottom: -1px;
114
114
  height: dimensions.get-size(math.div(4, 24));
115
115
  width: dimensions.get-size(2) !important;
116
116
  }
117
117
 
118
118
  &:focus-visible {
119
119
  .odx-tab-bar-item.is-active {
120
- background-color: var(--odx-c-focus);
121
120
  outline-color: var(--odx-c-focus-outline);
122
121
  }
123
122
  }