@odx/ui 4.10.0 → 4.10.2

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 (107) 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 -7478
  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/checkbox.component.scss +136 -0
  44. package/scss/chip-list.component.scss +23 -0
  45. package/scss/chip.component.scss +74 -0
  46. package/scss/circular-progress.component.scss +75 -0
  47. package/scss/components/card.component.scss +6 -6
  48. package/scss/components/table.component.scss +6 -0
  49. package/scss/connected-overlay.scss +63 -0
  50. package/scss/content-box.component.scss +46 -0
  51. package/scss/datepicker.component.scss +36 -0
  52. package/scss/daterangepicker.component.scss +45 -0
  53. package/scss/dropdown.component.scss +37 -0
  54. package/scss/error-page.component.scss +46 -0
  55. package/scss/expandable-list-item.component.scss +59 -0
  56. package/scss/footer.component.scss +86 -0
  57. package/scss/form-field.component.scss +264 -0
  58. package/scss/header-navigation.component.scss +35 -0
  59. package/scss/header.component.scss +73 -0
  60. package/scss/icon.component.scss +21 -0
  61. package/scss/inline-message.component.scss +34 -0
  62. package/scss/launch-tile.component.scss +119 -0
  63. package/scss/link.component.scss +28 -0
  64. package/scss/list-item.component.scss +119 -0
  65. package/scss/list.component.scss +27 -0
  66. package/scss/loading-spinner.component.scss +70 -0
  67. package/scss/logo.component.scss +33 -0
  68. package/scss/main-menu-button.component.scss +11 -0
  69. package/scss/main-menu-item.component.scss +55 -0
  70. package/scss/main-menu.component.scss +139 -0
  71. package/scss/mainfilter-group.component.scss +163 -0
  72. package/scss/menu.component.scss +51 -0
  73. package/scss/modal.component.scss +219 -0
  74. package/scss/navigation-back.component.scss +23 -0
  75. package/scss/notification-center.component.scss +74 -0
  76. package/scss/notification-item.component.scss +41 -0
  77. package/scss/option.component.scss +40 -0
  78. package/scss/paginator.component.scss +34 -0
  79. package/scss/progress.component.scss +41 -0
  80. package/scss/radio-button.component.scss +127 -0
  81. package/scss/radio-group.component.scss +14 -0
  82. package/scss/rail-navigation-item.component.scss +99 -0
  83. package/scss/rail-navigation.component.scss +53 -0
  84. package/scss/rich-list-item-header.component.scss +25 -0
  85. package/scss/rich-list-item.component.scss +59 -0
  86. package/scss/rich-list.component.scss +3 -0
  87. package/scss/search-bar.component.scss +47 -0
  88. package/scss/select.component.scss +75 -0
  89. package/scss/slider.component.scss +132 -0
  90. package/scss/spinbox.component.scss +128 -0
  91. package/scss/switch.component.scss +175 -0
  92. package/scss/tab-bar-item.component.scss +58 -0
  93. package/scss/tab-bar.component.scss +124 -0
  94. package/scss/table.component.scss +100 -0
  95. package/scss/theme.scss +303 -0
  96. package/scss/timepicker.component.scss +58 -0
  97. package/scss/toast-item.component.scss +79 -0
  98. package/scss/toast.component.scss +33 -0
  99. package/scss/toggle-button-group.component.scss +65 -0
  100. package/scss/toggle-button.component.scss +79 -0
  101. package/scss/tooltip.component.scss +37 -0
  102. package/scss/wizard-step.component.scss +256 -0
  103. package/scss/wizard.component.scss +18 -0
  104. package/24031beb1b96a58f519c.woff2 +0 -0
  105. package/323d385340fb9fee6450.svg +0 -6
  106. package/5eabf29514e9649c8c73.woff2 +0 -0
  107. package/eb2051d1f9da906e0b3e.woff2 +0 -0
@@ -0,0 +1,163 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+
6
+ @include utils.theme-selector(dark) {
7
+ .odx-mainfilter-group {
8
+ --odx-input-control-outline-color: var(--blue-900);
9
+ --odx-input-control-outline-color-hover: var(--blue-900);
10
+ --odx-c-highlight: var(--blue-900);
11
+ --odx-c-highlight-text: var(--white);
12
+ --odx-c-focus-outline: var(--cyan-800);
13
+ --odx-c-focus: var(--focus-bg);
14
+ }
15
+ }
16
+
17
+ .odx-mainfilter-group {
18
+ --odx-input-control-background-color: var(--gray-50);
19
+ --odx-input-control-outline-color: var(--blue-700);
20
+ --odx-c-highlight: var(--blue-700);
21
+ --odx-input-control-outline-color-hover: var(--blue-700);
22
+ --odx-input-control-background-color-hover: var(--gray-100);
23
+ --odx-c-secondary: var(--gray-50);
24
+ --odx-c-secondary-hover: var(--odx-input-control-background-color-hover);
25
+ --odx-c-secondary-active: var(--gray-200);
26
+ --odx-c-focus-outline: var(--cyan-700);
27
+ --odx-c-focus: var(--cyan-50);
28
+ --odx-c-highlight-active: var(--odx-c-focus-outline);
29
+
30
+ .odx-form-field {
31
+ flex: 0;
32
+ position: relative;
33
+
34
+ &__control {
35
+ .odx-form-field-control {
36
+ min-width: dimensions.get-size(math.div(150, 24));
37
+
38
+ &.odx-spinbox {
39
+ min-width: dimensions.get-size(math.div(172, 24));
40
+ }
41
+ }
42
+ }
43
+
44
+ &__label {
45
+ @include dimensions.padding-x(math.div(3, 24));
46
+
47
+ background-color: var(--odx-input-control-background-color);
48
+ margin-top: 0;
49
+ position: absolute;
50
+ right: 0;
51
+ right: dimensions.get-size(math.div(8, 24));
52
+ top: dimensions.get-size(math.div(12, 24));
53
+ z-index: 1;
54
+ }
55
+
56
+ &:has(.odx-spinbox) {
57
+ .odx-form-field__label {
58
+ right: dimensions.get-size(math.div(36, 24));
59
+ }
60
+ }
61
+
62
+ &-label {
63
+ @include dimensions.padding-y(math.div(2, 24));
64
+
65
+ border-radius: var(--odx-v-border-radius-controls);
66
+ display: inline-block;
67
+ font-size: dimensions.get-size(math.div(10, 24));
68
+ line-height: 1;
69
+ }
70
+
71
+ &__hint {
72
+ display: none;
73
+ }
74
+ }
75
+
76
+ .odx-button {
77
+ margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
78
+ outline-offset: -1px;
79
+ outline-width: var(--odx-v-outline-width);
80
+ overflow: visible;
81
+ position: relative;
82
+
83
+ &:focus-visible {
84
+ background-color: var(--odx-c-focus);
85
+ }
86
+
87
+ &::before {
88
+ @include dimensions.padding-x(math.div(3, 24));
89
+ @include dimensions.padding-y(math.div(2, 24));
90
+ @include typography.prevent-text-overflow();
91
+
92
+ background-color: var(--odx-input-control-background-color);
93
+ border-radius: var(--odx-v-border-radius-controls);
94
+ content: attr(label);
95
+ display: inline-block;
96
+ font-size: dimensions.get-size(math.div(10, 24));
97
+ font-weight: var(--odx-typography-font-weight-normal);
98
+ line-height: 1;
99
+ margin-top: 0;
100
+ position: absolute;
101
+ right: dimensions.get-size(math.div(8, 24));
102
+ top: dimensions.get-size(math.div(-7, 24));
103
+ z-index: 1;
104
+ }
105
+ }
106
+
107
+ .odx-spinbox {
108
+ .odx-spinbox__action {
109
+ &:hover {
110
+ border-color: var(--odx-input-control-outline-color);
111
+ }
112
+
113
+ &:active {
114
+ background-color: var(--odx-c-secondary-active);
115
+ }
116
+ }
117
+ }
118
+
119
+ .odx-toggle-button-group {
120
+ margin: 0;
121
+
122
+ &.is-active {
123
+ &:not(.is-disabled, .is-readonly):hover {
124
+ background-color: unset;
125
+ }
126
+
127
+ &:focus-within:has(:focus-visible) {
128
+ background-color: transparent;
129
+ outline-color: transparent;
130
+
131
+ &:hover {
132
+ background-color: transparent;
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ .odx-datepicker,
139
+ .odx-daterangepicker {
140
+ & > .odx-action-group {
141
+ z-index: 1;
142
+ }
143
+
144
+ .odx-button {
145
+ margin-top: 0 !important;
146
+ outline: none;
147
+
148
+ &::before {
149
+ content: unset;
150
+ }
151
+ }
152
+ }
153
+
154
+ .odx-calendar {
155
+ --odx-input-control-outline-color: var(--gray-200);
156
+ }
157
+
158
+ .odx-button:not(.odx-calendar .odx-button) {
159
+ &:not(:focus-visible) {
160
+ outline-color: var(--odx-input-control-outline-color);
161
+ }
162
+ }
163
+ }
@@ -0,0 +1,51 @@
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
+ width: dimensions.get-size(math.div(100, 24));
48
+ }
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,219 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/breakpoints';
4
+ @use '../abstract/motion';
5
+ @use '../abstract/typography';
6
+ @use '../abstract/utils';
7
+
8
+ $modal-padding: math.div(12, 24);
9
+
10
+ .odx-modal {
11
+ --odx-modal-margin-y: #{dimensions.get-size(2)};
12
+ --odx-modal-margin-x: #{dimensions.get-size(math.div(8, 24))};
13
+ --odx-modal-max-width: #{dimensions.get-size(20)};
14
+ --odx-modal-margin-bottom: #{dimensions.get-size(0.5)};
15
+
16
+ $root: &;
17
+
18
+ background: transparent;
19
+ border: 0;
20
+ border-radius: var(--odx-v-border-radius);
21
+ box-shadow: var(--odx-v-box-shadow-layer-2);
22
+ color: var(--odx-c-text);
23
+ margin-top: var(--odx-modal-margin-y);
24
+ overflow: unset;
25
+ padding: 0;
26
+ width: min(var(--odx-modal-max-width), calc(100% - 2 * var(--odx-modal-margin-x)));
27
+
28
+ &::backdrop,
29
+ &:modal {
30
+ @include motion.transition(opacity visibility overlay transform);
31
+
32
+ opacity: 0;
33
+ transition-behavior: allow-discrete;
34
+ }
35
+
36
+ &::backdrop {
37
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
38
+ background-color: var(--odx-c-backdrop-dark);
39
+ }
40
+
41
+ &:modal {
42
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
43
+ max-width: 100vw;
44
+ }
45
+
46
+ &[open]::backdrop,
47
+ &[open]:modal {
48
+ opacity: 1;
49
+ }
50
+
51
+ &.is-hidden {
52
+ &[open]::backdrop,
53
+ &[open]:modal {
54
+ opacity: 0;
55
+ }
56
+
57
+ &[open]:modal:not(#{$root}--sidesheet) {
58
+ transform: translateY(#{dimensions.get-size(math.div(8, 24))});
59
+ }
60
+
61
+ &[open]:modal#{$root}--sidesheet {
62
+ transform: translateX(#{dimensions.get-size(math.div(8, 4))});
63
+ }
64
+ }
65
+
66
+ &[open]:modal {
67
+ transform: translateY(0);
68
+ transform: translateX(0);
69
+ }
70
+
71
+ @starting-style {
72
+ &[open]:modal,
73
+ &[open]::backdrop {
74
+ opacity: 0;
75
+ }
76
+
77
+ &[open]:modal:not(#{$root}--sidesheet) {
78
+ transform: translateY(#{dimensions.get-size(math.div(8, 24))});
79
+ }
80
+
81
+ &[open]:modal#{$root}--sidesheet {
82
+ transform: translateX(#{dimensions.get-size(math.div(8, 4))});
83
+ }
84
+ }
85
+
86
+ &.odx-modal--xsmall {
87
+ --odx-modal-max-width: #{dimensions.get-size(15)};
88
+ }
89
+
90
+ &.odx-modal--medium {
91
+ --odx-modal-max-width: #{dimensions.get-size(30)};
92
+ }
93
+
94
+ &.odx-modal--large {
95
+ --odx-modal-max-width: #{dimensions.get-size(50)};
96
+ }
97
+
98
+ &--sidesheet {
99
+ height: 100%;
100
+
101
+ #{$root}__container {
102
+ height: calc(100dvh - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
103
+ }
104
+
105
+ &::backdrop {
106
+ backdrop-filter: unset;
107
+ background-color: unset;
108
+ }
109
+
110
+ @include breakpoints.up(phone) {
111
+ margin-right: dimensions.get-size(0.5);
112
+ }
113
+
114
+ @include breakpoints.down(phone) {
115
+ --odx-modal-max-width: 100dvw !important;
116
+ }
117
+ }
118
+
119
+ @include breakpoints.up(phone) {
120
+ --odx-modal-margin-y: #{dimensions.get-size(3)};
121
+ --odx-modal-margin-x: #{dimensions.get-size(1)};
122
+ --odx-modal-margin-bottom: #{dimensions.get-size(1)};
123
+ }
124
+
125
+ &__container {
126
+ @include dimensions.padding-x(1);
127
+
128
+ background-color: var(--odx-c-background-content);
129
+ border-radius: var(--odx-v-border-radius);
130
+ display: flex;
131
+ flex-direction: column;
132
+ max-height: calc(100dvh - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
133
+
134
+ #{$root}--with-component & > * {
135
+ display: contents;
136
+ }
137
+ }
138
+
139
+ &__header,
140
+ &__footer {
141
+ display: flex;
142
+ flex: 0 0 auto;
143
+ }
144
+
145
+ &__header {
146
+ @include dimensions.min-height(2.5);
147
+ @include dimensions.padding($modal-padding, top);
148
+
149
+ > .odx-area-header {
150
+ @include dimensions.margin-x(-0.5);
151
+
152
+ flex: 1 1 auto;
153
+ max-width: 100%;
154
+
155
+ @include breakpoints.up(phone) {
156
+ @include dimensions.margin(-1, left);
157
+ }
158
+ }
159
+ }
160
+
161
+ &__content {
162
+ @include dimensions.padding-y($modal-padding);
163
+
164
+ display: block;
165
+ overflow: auto;
166
+
167
+ #{$root}--sidesheet & {
168
+ flex: 1;
169
+ }
170
+ }
171
+
172
+ &__footer {
173
+ @include dimensions.height(2.5);
174
+ @include dimensions.padding($modal-padding, bottom);
175
+
176
+ gap: dimensions.get-size(math.div(16, 24));
177
+ margin-left: auto;
178
+
179
+ > .odx-button {
180
+ display: flex;
181
+ }
182
+ }
183
+ }
184
+
185
+ .odx-modal-hero {
186
+ $variants: success, danger, confirmation;
187
+
188
+ @include dimensions.min-height(2.5);
189
+ @include dimensions.padding(0.5, top);
190
+
191
+ display: flex;
192
+ flex-direction: column;
193
+ position: relative;
194
+
195
+ &__dismiss {
196
+ position: absolute;
197
+ right: 0;
198
+ top: dimensions.get-size(0.5);
199
+ }
200
+
201
+ &__icon {
202
+ margin: dimensions.get-size(0.5) auto auto;
203
+ }
204
+
205
+ &__title {
206
+ text-align: center;
207
+ }
208
+
209
+ ~ .odx-modal__content {
210
+ padding-top: 0;
211
+ text-align: center;
212
+ }
213
+
214
+ @each $variant in $variants {
215
+ &--#{$variant} &__icon {
216
+ color: var(--odx-c-#{$variant});
217
+ }
218
+ }
219
+ }
@@ -0,0 +1,23 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-navigation-back {
7
+ border-radius: var(--odx-v-border-radius-controls);
8
+ height: dimensions.get-size(1.5);
9
+ width: dimensions.get-size(1.5);
10
+
11
+ @include motion.transition(background-color outline);
12
+ @include utils.center-content(true);
13
+ @include utils.interactive($with-background: true);
14
+
15
+ &:hover {
16
+ background-color: var(--blue-700-5);
17
+ }
18
+
19
+ &:active {
20
+ background-color: var(--cyan-500-15);
21
+ border: none;
22
+ }
23
+ }
@@ -0,0 +1,74 @@
1
+ @use '../abstract/dimensions';
2
+ @use '../abstract/typography';
3
+
4
+ .odx-notification-center-overlay {
5
+ --odx-cdk-connected-overlay-min-height-modified: #{dimensions.get-size(9)};
6
+ --odx-cdk-connected-overlay-max-height-modified: min(var(--odx-cdk-connected-overlay-max-height), #{dimensions.get-size(15)});
7
+ }
8
+
9
+ .odx-notification-center {
10
+ --odx-notification-center-padding-x: #{dimensions.get-size(0.5)};
11
+ --odx-notification-center-padding-y: #{dimensions.get-size(0.5)};
12
+ --odx-notification-center-header-height: #{dimensions.get-size(2)};
13
+ --odx-notification-center-footer-height: #{dimensions.get-size(2.5)};
14
+
15
+ background-color: var(--odx-c-background-content);
16
+
17
+ &__header,
18
+ &__footer {
19
+ background-color: inherit;
20
+ border-radius: var(--odx-v-border-radius);
21
+ left: 0;
22
+ margin-right: var(--odx-notification-center-padding-x);
23
+ padding-left: var(--odx-notification-center-padding-x);
24
+ position: absolute;
25
+ right: 0;
26
+ z-index: 1;
27
+ }
28
+
29
+ &__header {
30
+ border-bottom-left-radius: 0;
31
+ border-bottom-right-radius: 0;
32
+ height: var(--odx-notification-center-header-height);
33
+ line-height: var(--odx-notification-center-header-height);
34
+ top: 0;
35
+ user-select: none;
36
+
37
+ @include typography.font-size(0);
38
+ @include typography.font-weight(semibold);
39
+ }
40
+
41
+ &__content {
42
+ display: grid;
43
+ padding-bottom: calc(var(--odx-notification-center-footer-height) - var(--odx-notification-center-padding-y));
44
+ padding-top: calc(var(--odx-notification-center-header-height) - var(--odx-notification-center-padding-y));
45
+
46
+ > .odx-list-item {
47
+ border-radius: 0;
48
+
49
+ &:first-child {
50
+ border-top-left-radius: var(--odx-v-border-radius-controls);
51
+ border-top-right-radius: var(--odx-v-border-radius-controls);
52
+ }
53
+
54
+ &:last-child {
55
+ border-bottom-left-radius: var(--odx-v-border-radius-controls);
56
+ border-bottom-right-radius: var(--odx-v-border-radius-controls);
57
+ }
58
+ }
59
+ }
60
+
61
+ &__footer {
62
+ align-items: center;
63
+ border-top-left-radius: 0;
64
+ border-top-right-radius: 0;
65
+ bottom: 0;
66
+ display: flex;
67
+ height: var(--odx-notification-center-footer-height);
68
+ justify-content: flex-end;
69
+
70
+ > .odx-button {
71
+ margin: 0;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,41 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+
6
+ .odx-notification-item {
7
+ $root: &;
8
+
9
+ column-gap: dimensions.get-size(math.div(16, 24));
10
+ display: grid;
11
+ grid-template-areas: 'avatar title actions' '. description .';
12
+ grid-template-columns: auto 1fr auto;
13
+ grid-template-rows: auto auto;
14
+ min-width: dimensions.get-size(10);
15
+
16
+ @include dimensions.padding-x(0.25);
17
+
18
+ @include breakpoints.up(phone) {
19
+ max-width: dimensions.get-size(16);
20
+ }
21
+
22
+ &__title,
23
+ &__description {
24
+ @include dimensions.line-height(1);
25
+ }
26
+
27
+ &__title {
28
+ align-self: center;
29
+ grid-area: title;
30
+ }
31
+
32
+ &__description {
33
+ grid-area: description;
34
+
35
+ @include typography.font-size(-2);
36
+ }
37
+
38
+ &__actions {
39
+ grid-area: actions;
40
+ }
41
+ }
@@ -0,0 +1,40 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+
6
+ .odx-option {
7
+ @include dimensions.line-height(1.5, 1);
8
+ @include dimensions.margin(math.div(4, 24), bottom);
9
+ @include dimensions.padding-x(0.5);
10
+ @include motion.transition(background-color color outline-color);
11
+ @include typography.font-weight(normal);
12
+
13
+ border-radius: var(--odx-v-border-radius-controls);
14
+ user-select: none;
15
+
16
+ &:not(.is-disabled) {
17
+ cursor: pointer;
18
+ }
19
+
20
+ &:last-child {
21
+ margin-bottom: 0;
22
+ }
23
+
24
+ &.is-active,
25
+ &:hover:not(.is-disabled) {
26
+ background-color: var(--gray-50);
27
+ }
28
+
29
+ &.is-selected {
30
+ background-color: var(--cyan-500-15);
31
+ }
32
+
33
+ &.is-disabled {
34
+ color: var(--odx-control-color-disabled);
35
+ }
36
+
37
+ > .odx-checkbox {
38
+ @include dimensions.margin(math.div(8, 24), right);
39
+ }
40
+ }
@@ -0,0 +1,34 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+
4
+ .odx-paginator {
5
+ align-items: center;
6
+ display: grid;
7
+ justify-content: flex-end;
8
+
9
+ &:has(.odx-paginator__summary) {
10
+ grid-gap: dimensions.get-size(1.5);
11
+ grid-template-columns: auto auto;
12
+ }
13
+
14
+ &__navigation {
15
+ align-items: center;
16
+ display: flex;
17
+
18
+ @include dimensions.margin-y(math.div(8, 24));
19
+ }
20
+
21
+ .odx-action-group {
22
+ @include dimensions.height(1);
23
+
24
+ grid-gap: dimensions.get-size(0.5);
25
+ }
26
+
27
+ .odx-button {
28
+ min-width: auto;
29
+ }
30
+
31
+ &__range {
32
+ @include dimensions.margin-x(math.div(16, 24));
33
+ }
34
+ }
@@ -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
+ }