@odx/ui 4.9.0 → 4.10.1

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 (108) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/ag-grid-theme.css +1 -261
  3. package/charts-theme.css +1 -45
  4. package/core-theme.css +1 -7475
  5. package/package.json +9 -3
  6. package/scss/_application.scss +59 -0
  7. package/scss/_base.scss +31 -0
  8. package/scss/_breakpoints.scss +86 -0
  9. package/scss/_color-palettes-dark.scss +53 -0
  10. package/scss/_color-palettes.scss +96 -0
  11. package/scss/_colors-dark.scss +53 -0
  12. package/scss/_colors.scss +98 -0
  13. package/scss/_content.scss +25 -0
  14. package/scss/_controls.scss +57 -0
  15. package/scss/_description-list.scss +30 -0
  16. package/scss/_dimensions.scss +81 -0
  17. package/scss/_helpers.scss +85 -0
  18. package/scss/_index.scss +8 -0
  19. package/scss/_layout.scss +162 -0
  20. package/scss/_motion.scss +14 -0
  21. package/scss/_skeleton.scss +49 -0
  22. package/scss/_text-list.scss +18 -0
  23. package/scss/_typography.scss +21 -0
  24. package/scss/_utils.scss +131 -0
  25. package/scss/_vertical-rythm.scss +3 -0
  26. package/scss/_visuals.scss +27 -0
  27. package/scss/accordion-item.component.scss +56 -0
  28. package/scss/accordion.component.scss +3 -0
  29. package/scss/action-group.component.scss +29 -0
  30. package/scss/active-indicator.scss +25 -0
  31. package/scss/ag-grid/theme.scss +303 -0
  32. package/scss/area-header.component.scss +163 -0
  33. package/scss/autocomplete.component.scss +14 -0
  34. package/scss/avatar.component.scss +68 -0
  35. package/scss/badge.component.scss +49 -0
  36. package/scss/bar.component.scss +93 -0
  37. package/scss/brand-logo.component.scss +17 -0
  38. package/scss/breadcrumbs.component.scss +45 -0
  39. package/scss/button-group.component.scss +101 -0
  40. package/scss/button.component.scss +143 -0
  41. package/scss/calendar.component.scss +243 -0
  42. package/scss/card.component.scss +232 -0
  43. package/scss/cdk/connected-overlay.scss +4 -0
  44. package/scss/checkbox.component.scss +136 -0
  45. package/scss/chip-list.component.scss +23 -0
  46. package/scss/chip.component.scss +74 -0
  47. package/scss/circular-progress.component.scss +75 -0
  48. package/scss/components/card.component.scss +6 -6
  49. package/scss/components/table.component.scss +1 -0
  50. package/scss/connected-overlay.scss +63 -0
  51. package/scss/content-box.component.scss +46 -0
  52. package/scss/datepicker.component.scss +36 -0
  53. package/scss/daterangepicker.component.scss +45 -0
  54. package/scss/dropdown.component.scss +37 -0
  55. package/scss/error-page.component.scss +46 -0
  56. package/scss/expandable-list-item.component.scss +59 -0
  57. package/scss/footer.component.scss +86 -0
  58. package/scss/form-field.component.scss +264 -0
  59. package/scss/header-navigation.component.scss +35 -0
  60. package/scss/header.component.scss +73 -0
  61. package/scss/icon.component.scss +21 -0
  62. package/scss/inline-message.component.scss +34 -0
  63. package/scss/launch-tile.component.scss +119 -0
  64. package/scss/link.component.scss +28 -0
  65. package/scss/list-item.component.scss +119 -0
  66. package/scss/list.component.scss +27 -0
  67. package/scss/loading-spinner.component.scss +70 -0
  68. package/scss/logo.component.scss +33 -0
  69. package/scss/main-menu-button.component.scss +11 -0
  70. package/scss/main-menu-item.component.scss +55 -0
  71. package/scss/main-menu.component.scss +139 -0
  72. package/scss/mainfilter-group.component.scss +163 -0
  73. package/scss/menu.component.scss +51 -0
  74. package/scss/modal.component.scss +219 -0
  75. package/scss/navigation-back.component.scss +23 -0
  76. package/scss/notification-center.component.scss +74 -0
  77. package/scss/notification-item.component.scss +41 -0
  78. package/scss/option.component.scss +40 -0
  79. package/scss/paginator.component.scss +34 -0
  80. package/scss/progress.component.scss +41 -0
  81. package/scss/radio-button.component.scss +127 -0
  82. package/scss/radio-group.component.scss +14 -0
  83. package/scss/rail-navigation-item.component.scss +99 -0
  84. package/scss/rail-navigation.component.scss +53 -0
  85. package/scss/rich-list-item-header.component.scss +25 -0
  86. package/scss/rich-list-item.component.scss +59 -0
  87. package/scss/rich-list.component.scss +3 -0
  88. package/scss/search-bar.component.scss +47 -0
  89. package/scss/select.component.scss +75 -0
  90. package/scss/slider.component.scss +132 -0
  91. package/scss/spinbox.component.scss +128 -0
  92. package/scss/switch.component.scss +175 -0
  93. package/scss/tab-bar-item.component.scss +58 -0
  94. package/scss/tab-bar.component.scss +124 -0
  95. package/scss/table.component.scss +95 -0
  96. package/scss/theme.scss +303 -0
  97. package/scss/timepicker.component.scss +58 -0
  98. package/scss/toast-item.component.scss +79 -0
  99. package/scss/toast.component.scss +33 -0
  100. package/scss/toggle-button-group.component.scss +65 -0
  101. package/scss/toggle-button.component.scss +79 -0
  102. package/scss/tooltip.component.scss +37 -0
  103. package/scss/wizard-step.component.scss +256 -0
  104. package/scss/wizard.component.scss +18 -0
  105. package/24031beb1b96a58f519c.woff2 +0 -0
  106. package/323d385340fb9fee6450.svg +0 -6
  107. package/5eabf29514e9649c8c73.woff2 +0 -0
  108. package/eb2051d1f9da906e0b3e.woff2 +0 -0
@@ -0,0 +1,127 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/motion';
6
+ @use '../layout/typography' as *;
7
+
8
+ .odx-radio-button {
9
+ $root: &;
10
+
11
+ color: var(--odx-control-color);
12
+ display: block;
13
+
14
+ &.is-disabled {
15
+ color: var(--odx-control-color-disabled);
16
+ }
17
+
18
+ &.is-readonly {
19
+ @include utils.non-interactive();
20
+ }
21
+
22
+ &__label {
23
+ @include dimensions.line-height(1);
24
+ @include motion.transition(background-color color outline);
25
+ @include typography.font-size(0);
26
+ @include utils.interactive($focus-within: true);
27
+
28
+ border-radius: dimensions.get-size(1);
29
+ color: inherit;
30
+ display: inline-flex;
31
+ min-height: dimensions.get-size(1);
32
+ padding: 0 2px;
33
+ user-select: auto;
34
+ vertical-align: top;
35
+
36
+ #{$root}--with-label & {
37
+ border-bottom-right-radius: calc(2 * var(--odx-v-border-radius-controls));
38
+ border-top-right-radius: calc(2 * var(--odx-v-border-radius-controls));
39
+ }
40
+
41
+ #{$root}.is-disabled & {
42
+ cursor: default;
43
+ }
44
+ }
45
+
46
+ &__subtitle {
47
+ @extend .odx-text--small;
48
+ }
49
+
50
+ &__input {
51
+ @include utils.visually-hidden();
52
+ }
53
+
54
+ &__indicator {
55
+ @include dimensions.container(1, math.div(20, 24));
56
+ @include motion.transition(background-color color outline-color);
57
+ @include utils.center-content();
58
+ @include utils.with-outline();
59
+
60
+ background-color: var(--odx-control-background-color);
61
+ border-radius: 50%;
62
+ color: var(--odx-control-color-selected);
63
+ flex: 0 0 auto;
64
+ outline-color: var(--odx-control-outline-color);
65
+ padding: 1px;
66
+
67
+ &::before {
68
+ @include dimensions.container(math.div(4, 24));
69
+ @include motion.transition(transform);
70
+
71
+ background-color: currentcolor;
72
+ border-radius: 50%;
73
+ content: '';
74
+ transform: scale(0);
75
+ }
76
+
77
+ #{$root}:hover & {
78
+ background-color: var(--odx-control-background-color-hover);
79
+ outline-color: var(--odx-control-outline-color-hover);
80
+ }
81
+
82
+ #{$root}.is-active &,
83
+ #{$root}__input:checked ~ & {
84
+ background-color: var(--odx-control-background-color-selected);
85
+ outline-color: var(--odx-control-outline-color-selected);
86
+
87
+ &::before {
88
+ transform: scale(1);
89
+ }
90
+ }
91
+
92
+ #{$root}.has-error & {
93
+ background-color: var(--odx-control-background-color-error);
94
+ color: var(--odx-control-color-error);
95
+ outline-color: var(--odx-control-outline-color-error);
96
+ }
97
+
98
+ #{$root}.has-error:hover & {
99
+ outline-color: var(--odx-control-outline-color-error-hover);
100
+ }
101
+
102
+ #{$root}.is-disabled & {
103
+ background-color: var(--odx-control-background-color-disabled);
104
+ color: var(--odx-control-color-disabled);
105
+ outline-color: var(--odx-control-outline-color-disabled);
106
+ }
107
+
108
+ #{$root}.is-readonly & {
109
+ background-color: var(--odx-control-background-color-readonly);
110
+ color: var(--odx-control-color-readonly);
111
+ outline-color: var(--odx-control-outline-color-readonly);
112
+ }
113
+ }
114
+
115
+ &__content {
116
+ @include dimensions.margin(0.5, left);
117
+
118
+ display: flex;
119
+ flex-direction: column;
120
+ padding-left: 2px;
121
+
122
+ &:empty {
123
+ margin: 0;
124
+ padding: 0;
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,14 @@
1
+ @use '../abstract/dimensions';
2
+
3
+ .odx-radio-group {
4
+ @include dimensions.padding-y(0.5);
5
+
6
+ align-items: flex-start;
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ &--horizontal {
11
+ column-gap: dimensions.get-size(0.5);
12
+ flex-flow: row wrap;
13
+ }
14
+ }
@@ -0,0 +1,99 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/motion';
5
+ @use '../abstract/typography';
6
+ @use '../abstract/utils';
7
+ @use './icon.component';
8
+
9
+ .odx-rail-navigation-item {
10
+ $root: &;
11
+
12
+ @include motion.transition(outline-color background-color color);
13
+ @include dimensions.padding(math.div(8, 24));
14
+ @include utils.interactive(false);
15
+
16
+ align-items: center;
17
+ background-color: unset;
18
+ border-radius: dimensions.get-size(math.div(3, 24));
19
+ box-sizing: border-box;
20
+ display: flex;
21
+ justify-content: center;
22
+ text-align: left;
23
+
24
+ &:hover {
25
+ background-color: var(--blue-700-5);
26
+ }
27
+
28
+ &.is-selected {
29
+ background-color: var(--odx-c-selected);
30
+
31
+ &:hover {
32
+ background-color: var(--odx-c-selected-hover);
33
+ }
34
+ }
35
+
36
+ &.is-disabled {
37
+ background-color: transparent;
38
+ color: var(--odx-control-color-disabled);
39
+ pointer-events: none;
40
+ }
41
+
42
+ &__container {
43
+ @include typography.prevent-text-overflow();
44
+ @include motion.transition(width padding-left opacity);
45
+
46
+ opacity: 0;
47
+ width: 0;
48
+
49
+ .odx-rail-navigation--bar & {
50
+ margin: auto 0;
51
+ opacity: unset;
52
+ padding: 0 !important;
53
+ white-space: unset;
54
+ width: unset !important;
55
+
56
+ @include typography.line-clamp(2);
57
+ @include typography.font-size(-2);
58
+ @include dimensions.line-height(math.div(2, 3));
59
+
60
+ @include breakpoints.up(phone) {
61
+ @include typography.font-size(-1);
62
+ @include dimensions.line-height(1);
63
+ }
64
+ }
65
+
66
+ .odx-rail-navigation.is-open &:not(:empty) {
67
+ @include dimensions.padding(math.div(8, 24), left);
68
+
69
+ opacity: 1;
70
+ width: calc(var(--odx-rail-navigation-max-width) - dimensions.get-size(math.div(64, 24)));
71
+ }
72
+ }
73
+
74
+ > .odx-icon {
75
+ margin: 0;
76
+ }
77
+
78
+ .odx-rail-navigation--bar & {
79
+ flex: 1;
80
+ flex-direction: column;
81
+ text-align: center;
82
+
83
+ @include dimensions.padding-x(math.div(4, 24));
84
+
85
+ > .odx-icon {
86
+ @extend .odx-icon;
87
+ }
88
+
89
+ @include breakpoints.up(phone) {
90
+ @include dimensions.padding-x(math.div(8, 24));
91
+ }
92
+
93
+ &:has(#{$root}__container:empty) {
94
+ #{$root}__container {
95
+ display: none;
96
+ }
97
+ }
98
+ }
99
+ }
@@ -0,0 +1,53 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/breakpoints';
5
+
6
+ .odx-rail-navigation {
7
+ $root: &;
8
+
9
+ --odx-rail-navigation-max-width: 230px;
10
+
11
+ align-items: flex-start;
12
+ display: inline-flex;
13
+ flex-direction: column;
14
+ height: 100%;
15
+ justify-content: space-between;
16
+
17
+ @include dimensions.padding-x(math.div(8, 24));
18
+ @include dimensions.padding-y(1);
19
+
20
+ &__content {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: dimensions.get-size(math.div(12, 24));
24
+ overflow: auto;
25
+
26
+ #{$root}--bar & {
27
+ flex-direction: row;
28
+ gap: 0;
29
+ width: 100%;
30
+ }
31
+ }
32
+
33
+ &__expand {
34
+ > .odx-icon {
35
+ @include motion.transition(transform);
36
+
37
+ #{$root}.is-open & {
38
+ transform: rotateY(180deg);
39
+ }
40
+ }
41
+
42
+ #{$root}--bar & {
43
+ display: none;
44
+ }
45
+ }
46
+
47
+ &--bar {
48
+ background-color: var(--odx-c-background-content);
49
+ display: flex;
50
+
51
+ @include dimensions.padding(math.div(4, 24), top bottom);
52
+ }
53
+ }
@@ -0,0 +1,25 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ .odx-rich-list-item-header {
8
+ $root: &;
9
+
10
+ align-items: center;
11
+ column-gap: dimensions.get-size(math.div(16, 24));
12
+ display: flex;
13
+ flex: 1;
14
+ user-select: none;
15
+
16
+ &__title {
17
+ @include typography.font-size(-1);
18
+ @include dimensions.line-height(math.div(20, 24));
19
+
20
+ flex: 1;
21
+ max-height: dimensions.get-size(math.div(36, 24));
22
+ overflow: hidden;
23
+ text-align: center;
24
+ }
25
+ }
@@ -0,0 +1,59 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ .odx-rich-list-item {
8
+ $root: &;
9
+ $parent: odx-rich-list;
10
+
11
+ @include dimensions.padding-x(math.div(8, 24));
12
+
13
+ .#{$parent}:not(.#{$parent}--condensed) > & {
14
+ @include dimensions.padding-y(math.div(8, 24));
15
+ }
16
+
17
+ border-bottom: 1px solid var(--odx-input-control-outline-color);
18
+ display: block;
19
+
20
+ &.is-disabled {
21
+ .odx-rich-list-item-header {
22
+ color: var(--odx-c-text-disabled);
23
+
24
+ .odx-avatar {
25
+ color: var(--odx-c-text-disabled);
26
+ filter: saturate(0);
27
+ }
28
+ }
29
+ }
30
+
31
+ &__header {
32
+ column-gap: dimensions.get-size(math.div(16, 24));
33
+ display: flex;
34
+ }
35
+
36
+ &__slot {
37
+ @include dimensions.margin(math.div(8, 24), top);
38
+ @include dimensions.padding(math.div(16, 24));
39
+
40
+ overflow: hidden;
41
+ }
42
+
43
+ &--empty {
44
+ #{$root}__expand-button {
45
+ display: none;
46
+ }
47
+ }
48
+
49
+ &__icon {
50
+ @include motion.transition(transform);
51
+
52
+ position: relative;
53
+ transform: rotate(0);
54
+
55
+ #{$root}--expanded & {
56
+ transform: rotateX(180deg);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,3 @@
1
+ .odx-rich-list {
2
+ display: block;
3
+ }
@@ -0,0 +1,47 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/utils';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/motion';
6
+
7
+ .odx-search-bar {
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');
12
+
13
+ background-color: var(--odx-input-control-background-color);
14
+ border-radius: var(--odx-v-border-radius-controls);
15
+ display: flex;
16
+ outline-color: var(--odx-input-control-outline-color);
17
+ overflow: hidden;
18
+ position: relative;
19
+
20
+ &:not(:has(input[odxSearchBarControl])) {
21
+ display: none;
22
+ }
23
+
24
+ &__prefix {
25
+ @include dimensions.height(1.5);
26
+ @include motion.transition(color);
27
+ @include utils.vertical-center-content(true);
28
+ @include dimensions.padding(math.div(8, 24), 'inline-start');
29
+
30
+ flex: 0 0 auto;
31
+ }
32
+
33
+ &__input {
34
+ @include dimensions.padding-x(math.div(8, 24));
35
+ @include typography.font-weight(medium);
36
+
37
+ vertical-align: middle;
38
+ width: 100%;
39
+
40
+ &::placeholder {
41
+ @include typography.font-weight(normal);
42
+
43
+ color: var(--odx-input-control-color);
44
+ opacity: 0.65;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,75 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ :root {
8
+ --odx-select-max-height: 220px;
9
+ --odx-select-max-width: 100%;
10
+ }
11
+
12
+ .odx-select {
13
+ $root: &;
14
+
15
+ &__trigger {
16
+ @include utils.vertical-center-content();
17
+
18
+ cursor: pointer;
19
+ flex: 1 1 100%;
20
+ gap: dimensions.get-size(math.div(1, 3));
21
+ height: 100%;
22
+ max-width: var(--odx-select-max-width);
23
+ width: 100%;
24
+
25
+ #{$root}.is-readonly & {
26
+ #{$root}__value {
27
+ cursor: text;
28
+ user-select: unset;
29
+ }
30
+ }
31
+ }
32
+
33
+ &__clear {
34
+ margin-inline-start: auto;
35
+ }
36
+
37
+ &__placeholder,
38
+ &__value {
39
+ @include dimensions.padding-y(math.div(4, 24));
40
+ @include typography.prevent-text-overflow();
41
+
42
+ display: flex;
43
+ flex: 1 1 auto;
44
+ gap: dimensions.get-size(math.div(4, 24));
45
+ overflow: hidden;
46
+ user-select: none;
47
+ }
48
+
49
+ &__placeholder {
50
+ @include typography.font-weight(normal);
51
+
52
+ color: var(--odx-input-control-color);
53
+ opacity: 0.65;
54
+
55
+ #{$root}.is-disabled & {
56
+ color: inherit;
57
+ }
58
+ }
59
+
60
+ &__control {
61
+ height: 100%;
62
+ width: 100%;
63
+ }
64
+
65
+ &__indicator {
66
+ @include motion.transition(transform opacity);
67
+ @include dimensions.margin(math.div(-2, 24), right);
68
+
69
+ margin-left: auto;
70
+
71
+ #{$root}.is-readonly & {
72
+ opacity: 0;
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,132 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+
5
+ .odx-slider {
6
+ --odx-control-outline-color: var(--gray-200);
7
+ --odx-control-background-color: var(--gray-100);
8
+ --odx-control-background-color-hover: var(--cyan-600);
9
+
10
+ $root: &;
11
+ $thumb-size: dimensions.get-size(math.div(20, 24));
12
+ $track-height: dimensions.get-size(math.div(4, 24));
13
+
14
+ appearance: none;
15
+ box-sizing: border-box;
16
+ cursor: pointer;
17
+ display: block;
18
+ width: 100%;
19
+
20
+ @mixin track-container() {
21
+ background-color: var(--odx-control-background-color);
22
+ border-radius: 2px;
23
+ outline: 1px solid var(--odx-control-outline-color);
24
+ outline-offset: -1px;
25
+ }
26
+
27
+ @mixin track-progress() {
28
+ border-radius: 2px;
29
+ height: $track-height;
30
+ position: relative;
31
+ }
32
+
33
+ @mixin thumb() {
34
+ @include motion.transition(background-color outline-color);
35
+
36
+ appearance: none;
37
+ background-color: var(--odx-control-background-color-selected);
38
+ border-radius: 50%;
39
+ height: $thumb-size;
40
+ margin-top: calc(#{$thumb-size} / -2 + #{$track-height} / 2);
41
+ outline: 1px solid var(--white);
42
+ width: $thumb-size;
43
+ }
44
+
45
+ &::-webkit-slider-container {
46
+ @include track-container();
47
+
48
+ margin: calc((#{$thumb-size} - #{$track-height}) / 2) 0;
49
+ }
50
+
51
+ &::-moz-range-track {
52
+ @include track-container();
53
+
54
+ height: $track-height;
55
+ }
56
+
57
+ &::-webkit-slider-runnable-track {
58
+ @include track-progress();
59
+
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,
62
+ transparent;
63
+ }
64
+
65
+ &::-moz-range-progress {
66
+ @include track-progress();
67
+
68
+ background: var(--odx-control-background-color-selected);
69
+ }
70
+
71
+ &::-webkit-slider-thumb {
72
+ @include thumb();
73
+
74
+ position: relative;
75
+ }
76
+
77
+ &::-moz-range-thumb {
78
+ @include thumb();
79
+
80
+ border: unset;
81
+ }
82
+
83
+ &.is-disabled {
84
+ &::-webkit-slider-container {
85
+ background-color: var(--odx-control-background-color-disabled);
86
+ outline: 1px solid transparent;
87
+ }
88
+
89
+ &::-moz-range-track {
90
+ background-color: var(--odx-control-background-color-disabled);
91
+ outline: 1px solid transparent;
92
+ }
93
+
94
+ &::-webkit-slider-thumb {
95
+ background-color: var(--odx-c-text-disabled);
96
+ outline: 1px solid transparent;
97
+ }
98
+
99
+ &::-moz-range-thumb {
100
+ background-color: var(--odx-c-text-disabled);
101
+ outline: 1px solid transparent;
102
+ }
103
+
104
+ &::-webkit-slider-runnable-track {
105
+ background-image: linear-gradient(var(--odx-c-text-disabled), var(--odx-c-text-disabled));
106
+ }
107
+
108
+ &::-moz-range-progress {
109
+ background-image: linear-gradient(var(--odx-c-text-disabled), var(--odx-c-text-disabled));
110
+ }
111
+ }
112
+
113
+ &:focus-visible {
114
+ &::-webkit-slider-thumb {
115
+ outline: 2px solid var(--odx-c-highlight-active);
116
+ }
117
+
118
+ &::-moz-range-thumb {
119
+ outline: 2px solid var(--odx-c-highlight-active);
120
+ }
121
+ }
122
+
123
+ &:hover:not(.is-disabled) {
124
+ &::-webkit-slider-thumb {
125
+ background-color: var(--odx-control-background-color-hover);
126
+ }
127
+
128
+ &::-moz-range-thumb {
129
+ background-color: var(--odx-control-background-color-hover);
130
+ }
131
+ }
132
+ }