@odx/ui 1.0.0-rc.2 → 1.0.0-rc.21

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 (73) hide show
  1. package/323d385340fb9fee6450.svg +6 -0
  2. package/README.md +4 -4
  3. package/core-icons.css +43 -0
  4. package/core-icons.woff2 +0 -0
  5. package/core-theme.css +1 -1
  6. package/package.json +2 -1
  7. package/scss/abstract/_breakpoints.scss +12 -6
  8. package/scss/abstract/_dimensions.scss +2 -1
  9. package/scss/abstract/_motion.scss +3 -1
  10. package/scss/abstract/_utils.scss +18 -8
  11. package/scss/assets/fonts/PangeaText-MediumWeb.woff2 +0 -0
  12. package/scss/assets/fonts/PangeaText-RegularWeb.woff2 +0 -0
  13. package/scss/assets/fonts/PangeaText-SemiBoldWeb.woff2 +0 -0
  14. package/scss/assets/images/logo.svg +6 -0
  15. package/scss/cdk/active-indicator.scss +25 -0
  16. package/scss/cdk/connected-overlay.scss +36 -0
  17. package/scss/components/accordion-item.component.scss +5 -8
  18. package/scss/components/action-group.component.scss +3 -3
  19. package/scss/components/area-header.component.scss +15 -23
  20. package/scss/components/avatar.component.scss +6 -1
  21. package/scss/components/badge.component.scss +5 -14
  22. package/scss/components/bar.component.scss +86 -0
  23. package/scss/components/breadcrumbs.component.scss +26 -0
  24. package/scss/components/button-group.component.scss +9 -5
  25. package/scss/components/button.component.scss +26 -2
  26. package/scss/components/checkbox.component.scss +2 -1
  27. package/scss/components/chip.component.scss +52 -0
  28. package/scss/components/circular-progress.component.scss +75 -0
  29. package/scss/components/content-box.component.scss +20 -16
  30. package/scss/components/dropdown.component.scss +28 -0
  31. package/scss/components/expandable-list-item.component.scss +66 -0
  32. package/scss/components/form-field.component.scss +41 -9
  33. package/scss/components/header.component.scss +10 -4
  34. package/scss/components/icon.component.scss +1 -1
  35. package/scss/components/inline-message.component.scss +33 -0
  36. package/scss/components/launch-tile.component.scss +119 -0
  37. package/scss/components/list-item.component.scss +107 -0
  38. package/scss/components/list.component.scss +3 -0
  39. package/scss/components/loading-spinner.component.scss +54 -0
  40. package/scss/components/main-menu-item.component.scss +2 -1
  41. package/scss/components/main-menu.component.scss +6 -4
  42. package/scss/components/mainfilter-group.component.scss +80 -0
  43. package/scss/components/menu.component.scss +52 -0
  44. package/scss/components/modal.component.scss +79 -10
  45. package/scss/components/progress.component.scss +41 -0
  46. package/scss/components/radio-button.component.scss +1 -1
  47. package/scss/components/rail-navigation-item.component.scss +60 -0
  48. package/scss/components/rail-navigation.component.scss +32 -0
  49. package/scss/components/select.component.scss +107 -0
  50. package/scss/components/slider.component.scss +131 -0
  51. package/scss/components/spinbox.component.scss +124 -0
  52. package/scss/components/switch.component.scss +4 -4
  53. package/scss/components/tab-bar-item.component.scss +53 -0
  54. package/scss/components/tab-bar.component.scss +124 -0
  55. package/scss/components/toast-item.component.scss +77 -0
  56. package/scss/components/toast.component.scss +33 -0
  57. package/scss/components/toggle-button-group.component.scss +43 -4
  58. package/scss/components/toggle-button.component.scss +51 -29
  59. package/scss/components/tooltip.component.scss +34 -0
  60. package/scss/core.scss +34 -10
  61. package/scss/layout/_base.scss +6 -0
  62. package/scss/layout/_content.scss +25 -0
  63. package/scss/layout/_description-list.scss +30 -0
  64. package/scss/layout/_helpers.scss +6 -16
  65. package/scss/layout/_layout.scss +4 -0
  66. package/scss/layout/_text-list.scss +18 -0
  67. package/scss/layout/_typography.scss +23 -26
  68. package/scss/reset.scss +5 -0
  69. package/scss/variables/_color-palettes.scss +3 -2
  70. package/scss/variables/_colors.scss +9 -1
  71. package/scss/variables/_controls.scss +11 -2
  72. package/scss/variables/_typography.scss +2 -2
  73. package/scss/variables/_visuals.scss +12 -5
@@ -0,0 +1,3 @@
1
+ .odx-list {
2
+ display: block;
3
+ }
@@ -0,0 +1,54 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/motion';
3
+ @use '../abstract/utils';
4
+
5
+ .odx-loading-spinner {
6
+ $root: &;
7
+
8
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
9
+
10
+ &,
11
+ &__backdrop {
12
+ height: 100%;
13
+ left: 0;
14
+ position: absolute;
15
+ scroll-behavior: contain;
16
+ top: 0;
17
+ width: 100%;
18
+ z-index: var(--odx-v-layer-2);
19
+ }
20
+
21
+ &__backdrop {
22
+ @include motion.transition(background-color);
23
+
24
+ background-color: transparent;
25
+ opacity: 0.8;
26
+ }
27
+
28
+ .odx-circular-progress {
29
+ height: 66.67%;
30
+ left: 50%;
31
+ max-height: 40px;
32
+ position: absolute;
33
+ top: 50%;
34
+ transform: translate(-50%, -50%);
35
+ z-index: var(--odx-v-layer-3);
36
+
37
+ &__track {
38
+ stroke: var(--blue-700-15);
39
+ }
40
+ }
41
+
42
+ &--auto-color {
43
+ .odx-circular-progress {
44
+ &__indicator {
45
+ stroke: currentcolor;
46
+ }
47
+ }
48
+ }
49
+
50
+ &-parent {
51
+ overflow: hidden;
52
+ user-select: none;
53
+ }
54
+ }
@@ -16,7 +16,7 @@
16
16
  @include dimensions.height(3, math.div(7, 3));
17
17
  @include dimensions.padding-x(math.div(2, 3));
18
18
  @include motion.transition(color background-color outline);
19
- @include utils.interactive();
19
+ @include utils.interactive(false);
20
20
  @include utils.vertical-center-content();
21
21
  @include typography.font-weight(medium);
22
22
  @include typography.prevent-text-overflow();
@@ -29,6 +29,7 @@
29
29
  background-color: var(--odx-main-menu-item-background-color-hover);
30
30
  }
31
31
 
32
+ &.is-selected,
32
33
  &:active {
33
34
  background-color: var(--odx-main-menu-item-background-color-active);
34
35
  }
@@ -33,7 +33,8 @@
33
33
  max-width: var(--odx-main-menu-max-width);
34
34
  position: fixed;
35
35
  top: 0;
36
- z-index: 9000;
36
+ width: 100%;
37
+ z-index: var(--odx-v-layer-4);
37
38
  }
38
39
 
39
40
  &__overlay {
@@ -41,10 +42,10 @@
41
42
  background-color: var(--odx-c-backdrop);
42
43
  height: 100%;
43
44
  left: 0;
44
- position: absolute;
45
+ position: fixed;
45
46
  top: 0;
46
47
  width: 100%;
47
- z-index: 8999;
48
+ z-index: calc(var(--odx-v-layer-4) - 1);
48
49
  }
49
50
 
50
51
  &__actions {
@@ -69,6 +70,7 @@
69
70
  --odx-v-scrollbar-thumb-color-hover: var(--blue-500);
70
71
 
71
72
  @include dimensions.padding-x(0.5);
73
+ @include dimensions.margin(1, top);
72
74
 
73
75
  display: flex;
74
76
  flex-direction: column;
@@ -96,7 +98,7 @@
96
98
  }
97
99
 
98
100
  &__footer {
99
- @include dimensions.height(1);
101
+ @include dimensions.line-height(1);
100
102
  @include dimensions.padding-x(1);
101
103
  @include dimensions.padding(math.div(16, 24), top);
102
104
  @include dimensions.padding(math.div(32, 24), bottom);
@@ -0,0 +1,80 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+
4
+ .odx-mainfilter-group {
5
+ --odx-input-control-background-color: var(--gray-50);
6
+ --odx-input-control-outline-color: var(--blue-700);
7
+ --odx-c-highlight: var(--blue-700);
8
+ --odx-input-control-outline-color-hover: var(--blue-700);
9
+ --odx-input-control-background-color-hover: var(--gray-100);
10
+ --odx-c-secondary: var(--gray-50);
11
+ --odx-c-secondary-hover: var(--odx-input-control-background-color-hover);
12
+ --odx-c-secondary-active: var(--gray-200);
13
+ --odx-c-focus-outline: var(--cyan-700);
14
+ --odx-c-focus: var(--cyan-50);
15
+ --odx-c-highlight-active: var(--odx-c-focus-outline);
16
+
17
+ .odx-form-field {
18
+ position: relative;
19
+
20
+ &__label {
21
+ margin-top: 0;
22
+ position: absolute;
23
+ right: 0;
24
+ top: dimensions.get-size(math.div(12, 24));
25
+ z-index: 1;
26
+ }
27
+
28
+ &:has(.odx-spinbox) {
29
+ .odx-form-field__label {
30
+ right: dimensions.get-size(math.div(36, 24));
31
+ }
32
+ }
33
+
34
+ &-label {
35
+ @include dimensions.padding-x(math.div(3, 24));
36
+ @include dimensions.padding-y(math.div(2, 24));
37
+
38
+ background-color: var(--odx-input-control-background-color);
39
+ border-radius: var(--odx-v-border-radius-controls);
40
+ display: inline-block;
41
+ font-size: dimensions.get-size(math.div(10, 24));
42
+ line-height: 1;
43
+ }
44
+
45
+ &__hint {
46
+ display: none;
47
+ }
48
+ }
49
+
50
+ .odx-button {
51
+ outline-width: var(--odx-v-outline-width);
52
+
53
+ &:not(:focus-visible) {
54
+ outline-color: var(--odx-input-control-outline-color);
55
+ }
56
+
57
+ &:focus-visible {
58
+ background-color: var(--odx-c-focus);
59
+ }
60
+ }
61
+
62
+ .odx-toggle-button-group {
63
+ margin: 0;
64
+
65
+ &.is-active {
66
+ &:not(.is-disabled, .is-readonly):hover {
67
+ background-color: unset;
68
+ }
69
+
70
+ &:focus-within:has(:focus-visible) {
71
+ background-color: transparent;
72
+ outline-color: transparent;
73
+
74
+ &:hover {
75
+ background-color: transparent;
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,52 @@
1
+ @use '../abstract/dimensions';
2
+ @use 'sass:math';
3
+
4
+ .odx-menu {
5
+ display: block;
6
+
7
+ > .odx-action-group {
8
+ display: flex;
9
+ flex-direction: column;
10
+ height: auto;
11
+ margin: 0;
12
+
13
+ > .odx-button {
14
+ justify-content: flex-start;
15
+ margin: 0;
16
+ width: 100%;
17
+ }
18
+ }
19
+
20
+ &__title:not(:empty) {
21
+ margin-bottom: dimensions.get-size(math.div(12, 24));
22
+ }
23
+
24
+ &--tile {
25
+ $avatar-size: dimensions.get-size(math.div(48, 24));
26
+ $grid-gap: dimensions.get-size(math.div(8, 24));
27
+
28
+ .odx-avatar {
29
+ height: $avatar-size;
30
+ margin-bottom: $grid-gap;
31
+ width: $avatar-size;
32
+ }
33
+
34
+ .odx-action-group {
35
+ align-items: flex-start;
36
+ display: grid;
37
+ grid-gap: $grid-gap;
38
+ grid-template-columns: repeat(3, 1fr);
39
+
40
+ .odx-button {
41
+ flex-direction: column;
42
+ font-size: dimensions.get-size(math.div(13, 24));
43
+ font-weight: var(--odx-typography-font-weight-normal);
44
+ height: unset;
45
+ line-height: dimensions.get-size(math.div(20, 24));
46
+ padding: $grid-gap;
47
+ white-space: unset;
48
+ width: dimensions.get-size(math.div(100, 24));
49
+ }
50
+ }
51
+ }
52
+ }
@@ -1,6 +1,10 @@
1
1
  @use 'sass:math';
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/breakpoints';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ $modal-padding: math.div(12, 24);
4
8
 
5
9
  .odx-modal {
6
10
  --odx-modal-margin-y: #{dimensions.get-size(2)};
@@ -8,31 +12,34 @@
8
12
  --odx-modal-max-width: #{dimensions.get-size(20)};
9
13
 
10
14
  $root: &;
11
- $modal-padding: math.div(12, 24);
12
15
 
13
16
  backdrop-filter: blur(var(--odx-v-backdrop-blur));
14
17
  background-color: var(--odx-c-backdrop-dark);
15
18
  display: block;
16
19
  height: 100%;
17
20
  left: 0;
18
- overflow: auto;
19
21
  overscroll-behavior: contain;
20
22
  position: fixed;
21
23
  top: 0;
22
24
  width: 100%;
23
- z-index: 1000;
25
+ z-index: var(--odx-v-layer-4);
24
26
 
25
27
  @include breakpoints.up(phone) {
26
28
  --odx-modal-margin-y: #{dimensions.get-size(3)};
27
29
  --odx-modal-margin-x: #{dimensions.get-size(1)};
28
30
  }
29
31
 
32
+ &--sidesheet {
33
+ backdrop-filter: unset;
34
+ background-color: unset;
35
+ }
36
+
30
37
  &__container {
31
- @include dimensions.padding-x(math.div(16, 24));
38
+ @include dimensions.padding-x(1);
32
39
 
33
40
  background-color: var(--odx-c-background-content);
34
41
  border-radius: var(--odx-v-border-radius);
35
- box-shadow: var(--odx-v-backdrop-box-shadow-layer-2);
42
+ box-shadow: var(--odx-v-box-shadow-layer-2);
36
43
  display: flex;
37
44
  flex-direction: column;
38
45
  margin: var(--odx-modal-margin-y) auto 0;
@@ -40,6 +47,10 @@
40
47
  min-height: dimensions.get-size(7);
41
48
  width: min(var(--odx-modal-max-width), calc(100vw - 2 * var(--odx-modal-margin-x)));
42
49
 
50
+ #{$root}--xsmall & {
51
+ --odx-modal-max-width: #{dimensions.get-size(15)};
52
+ }
53
+
43
54
  #{$root}--medium & {
44
55
  --odx-modal-max-width: #{dimensions.get-size(30)};
45
56
  }
@@ -47,6 +58,21 @@
47
58
  #{$root}--large & {
48
59
  --odx-modal-max-width: #{dimensions.get-size(50)};
49
60
  }
61
+
62
+ #{$root}--sidesheet & {
63
+ height: 100%;
64
+ left: unset;
65
+ max-height: calc(100vh - var(--odx-modal-margin-y) - #{dimensions.get-size(1)});
66
+ right: 0;
67
+
68
+ @include breakpoints.up(phone) {
69
+ margin-right: dimensions.get-size(0.5);
70
+ }
71
+ }
72
+
73
+ #{$root}--with-component & > * {
74
+ display: contents;
75
+ }
50
76
  }
51
77
 
52
78
  &__header,
@@ -56,15 +82,18 @@
56
82
  }
57
83
 
58
84
  &__header {
59
- @include dimensions.min-height(1);
60
- @include dimensions.padding(math.div(12, 24), top);
85
+ @include dimensions.min-height(2.5);
86
+ @include dimensions.padding($modal-padding, top);
61
87
 
62
88
  > .odx-area-header {
63
- @include dimensions.margin(-1, left);
64
- @include dimensions.margin(-0.5, right);
89
+ @include dimensions.margin-x(-0.5);
65
90
 
66
91
  flex: 1 1 auto;
67
92
  max-width: 100%;
93
+
94
+ @include breakpoints.up(phone) {
95
+ @include dimensions.margin(-1, left);
96
+ }
68
97
  }
69
98
  }
70
99
 
@@ -73,13 +102,53 @@
73
102
 
74
103
  display: block;
75
104
  overflow: auto;
105
+
106
+ #{$root}--sidesheet & {
107
+ flex: 1;
108
+ }
76
109
  }
77
110
 
78
111
  &__footer {
79
- --odx-grid-gutter: #{dimensions.get-size(math.div(16, 24))};
80
112
  @include dimensions.height(2.5);
81
113
  @include dimensions.padding($modal-padding, bottom);
82
114
 
115
+ gap: dimensions.get-size(math.div(16, 24));
83
116
  justify-content: flex-end;
84
117
  }
85
118
  }
119
+
120
+ .odx-modal-hero {
121
+ $variants: success, danger, confirmation;
122
+
123
+ @include dimensions.min-height(2.5);
124
+ @include dimensions.padding(0.5, top);
125
+
126
+ display: flex;
127
+ flex-direction: column;
128
+ position: relative;
129
+
130
+ &__dismiss {
131
+ position: absolute;
132
+ right: 0;
133
+ top: dimensions.get-size(0.5);
134
+ }
135
+
136
+ &__icon {
137
+ margin: dimensions.get-size(0.5) auto auto;
138
+ }
139
+
140
+ &__title {
141
+ text-align: center;
142
+ }
143
+
144
+ ~ .odx-modal__content {
145
+ padding-top: 0;
146
+ text-align: center;
147
+ }
148
+
149
+ @each $variant in $variants {
150
+ &--#{$variant} &__icon {
151
+ color: var(--odx-c-#{$variant});
152
+ }
153
+ }
154
+ }
@@ -0,0 +1,41 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/motion';
3
+ @use '../abstract/dimensions';
4
+
5
+ @keyframes progress-indeterminate-animation {
6
+ from {
7
+ transform: translateX(-100%);
8
+ }
9
+
10
+ to {
11
+ transform: translateX(100%);
12
+ }
13
+ }
14
+
15
+ .odx-progress {
16
+ @include dimensions.height(1, math.div(4, 24));
17
+
18
+ background: var(--gray-100);
19
+ display: block;
20
+ outline: 1px solid var(--gray-200);
21
+ outline-offset: -1px;
22
+ overflow: hidden;
23
+ position: relative;
24
+
25
+ &__indicator {
26
+ @include motion.transition(transform);
27
+
28
+ background-color: var(--odx-c-highlight);
29
+ display: block;
30
+ height: 100%;
31
+ left: 0;
32
+ position: absolute;
33
+ top: 0;
34
+ transform-origin: 0 0;
35
+ width: 100%;
36
+ }
37
+
38
+ &--indeterminate #{&}__indicator {
39
+ animation: 2s ease-in-out infinite progress-indeterminate-animation;
40
+ }
41
+ }
@@ -11,7 +11,7 @@
11
11
  display: block;
12
12
 
13
13
  &.is-disabled {
14
- color: var(--odx-input-control-color-disabled);
14
+ color: var(--odx-control-color-disabled);
15
15
  }
16
16
 
17
17
  &.is-readonly {
@@ -0,0 +1,60 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/breakpoints';
6
+ @use '../abstract//utils';
7
+
8
+ .odx-rail-navigation-item {
9
+ @include motion.transition(outline-color background-color color);
10
+ @include dimensions.padding(math.div(8, 24));
11
+ @include utils.interactive(false);
12
+
13
+ align-items: center;
14
+ background-color: unset;
15
+ border-radius: dimensions.get-size(math.div(3, 24));
16
+ box-sizing: border-box;
17
+ display: flex;
18
+ text-align: left;
19
+
20
+ &:hover {
21
+ background-color: var(--blue-700-5);
22
+ }
23
+
24
+ &.is-selected {
25
+ background-color: var(--odx-c-selected);
26
+
27
+ &:hover {
28
+ background-color: var(--odx-c-selected-hover);
29
+ }
30
+ }
31
+
32
+ &.is-disabled {
33
+ background-color: transparent;
34
+ color: var(--odx-control-color-disabled);
35
+ pointer-events: none;
36
+ }
37
+
38
+ &__container {
39
+ @include typography.prevent-text-overflow();
40
+ @include motion.transition(width padding-left opacity);
41
+
42
+ opacity: 0;
43
+ overflow: hidden;
44
+ padding-left: 0;
45
+ width: 0;
46
+
47
+ .odx-rail-navigation.is-open & {
48
+ &:not(:empty) {
49
+ @include dimensions.padding(math.div(8, 24), left);
50
+
51
+ opacity: 1;
52
+ width: calc(var(--odx-rail-navigation-max-width) - dimensions.get-size(math.div(64, 24)));
53
+ }
54
+ }
55
+ }
56
+
57
+ > .odx-icon {
58
+ margin: 0;
59
+ }
60
+ }
@@ -0,0 +1,32 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/breakpoints';
5
+
6
+ .odx-rail-navigation {
7
+ --odx-rail-navigation-max-width: 230px;
8
+
9
+ @include motion.transition(max-width);
10
+
11
+ align-items: flex-start;
12
+ display: inline-flex;
13
+ flex-direction: column;
14
+ height: 100%;
15
+ justify-content: space-between;
16
+ padding: dimensions.get-size(1) dimensions.get-size(math.div(8, 24));
17
+
18
+ &__expand > .odx-icon {
19
+ @include motion.transition(transform);
20
+ }
21
+
22
+ &__content {
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: dimensions.get-size(math.div(12, 24));
26
+ overflow: auto;
27
+ }
28
+
29
+ &.is-open &__expand > .odx-icon {
30
+ transform: rotateY(180deg);
31
+ }
32
+ }
@@ -0,0 +1,107 @@
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
+ }
10
+
11
+ .odx-select {
12
+ $root: &;
13
+
14
+ &__trigger {
15
+ @include utils.vertical-center-content();
16
+
17
+ cursor: pointer;
18
+ flex: 1 1 100%;
19
+ gap: dimensions.get-size(math.div(6, 24));
20
+ height: 100%;
21
+ width: 100%;
22
+
23
+ #{$root}.is-readonly & {
24
+ cursor: text;
25
+ user-select: unset;
26
+ }
27
+ }
28
+
29
+ &__placeholder,
30
+ &__value {
31
+ @include dimensions.padding-y(math.div(4, 24));
32
+ @include typography.prevent-text-overflow();
33
+
34
+ flex: 1 1 auto;
35
+ gap: dimensions.get-size(math.div(4, 24));
36
+ user-select: none;
37
+ }
38
+
39
+ &__placeholder {
40
+ @include typography.font-weight(normal);
41
+
42
+ color: var(--odx-input-control-color);
43
+ opacity: 0.65;
44
+
45
+ #{$root}.is-disabled & {
46
+ color: inherit;
47
+ }
48
+ }
49
+
50
+ &__search {
51
+ height: 100%;
52
+ outline: inherit;
53
+ padding: 0 !important;
54
+ }
55
+
56
+ &__indicator {
57
+ @include motion.transition(transform opacity);
58
+ @include dimensions.margin(math.div(-2, 24), right);
59
+
60
+ margin-left: auto;
61
+
62
+ #{$root}.is-readonly & {
63
+ opacity: 0;
64
+ }
65
+ }
66
+ }
67
+
68
+ .odx-select-dropdown {
69
+ display: flex;
70
+ flex-direction: column;
71
+ max-height: var(--odx-select-max-height);
72
+ min-height: dimensions.get-size(1.5);
73
+ }
74
+
75
+ .odx-option {
76
+ @include dimensions.line-height(1.5, 1);
77
+ @include dimensions.margin(math.div(4, 24), bottom);
78
+ @include dimensions.padding-x(0.5);
79
+ @include motion.transition(background-color color outline-color);
80
+ @include typography.font-weight(normal);
81
+
82
+ border-radius: var(--odx-v-border-radius-controls);
83
+ cursor: pointer;
84
+ user-select: none;
85
+
86
+ &:last-child {
87
+ margin-bottom: 0;
88
+ }
89
+
90
+ &.is-active,
91
+ &:hover {
92
+ background-color: var(--gray-50);
93
+ }
94
+
95
+ &.is-selected {
96
+ background-color: var(--cyan-500-15);
97
+ }
98
+
99
+ &.is-disabled {
100
+ color: var(--odx-control-color-disabled);
101
+ pointer-events: none;
102
+ }
103
+
104
+ > .odx-checkbox {
105
+ @include dimensions.margin(math.div(8, 24), right);
106
+ }
107
+ }