@odx/ui 4.10.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 (107) hide show
  1. package/CHANGELOG.md +7 -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 +1 -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 +95 -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,36 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/utils';
4
+
5
+ .odx-datepicker {
6
+ $root: &;
7
+
8
+ @include utils.vertical-center-content();
9
+
10
+ &__trigger-wrapper {
11
+ gap: dimensions.get-size(math.div(1, 3));
12
+ margin: 0 0 0 auto;
13
+
14
+ > .odx-button {
15
+ #{$root}.is-readonly & {
16
+ @include utils.non-interactive();
17
+
18
+ color: var(--odx-control-color-disabled);
19
+ }
20
+ }
21
+ }
22
+
23
+ &__control {
24
+ width: 100%;
25
+
26
+ &::-webkit-inner-spin-button,
27
+ &::-webkit-calendar-picker-indicator {
28
+ appearance: none;
29
+ display: none;
30
+ }
31
+ }
32
+
33
+ .odx-dropdown {
34
+ --odx-cdk-connected-overlay-max-height-modified: min(var(--odx-cdk-connected-overlay-max-height), 359px);
35
+ }
36
+ }
@@ -0,0 +1,45 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/utils';
3
+ @use '../abstract/dimensions';
4
+
5
+ .odx-daterangepicker {
6
+ $root: &;
7
+
8
+ @include utils.vertical-center-content();
9
+
10
+ &__trigger-wrapper {
11
+ gap: dimensions.get-size(math.div(1, 3));
12
+ margin: 0 0 0 auto;
13
+
14
+ > .odx-button {
15
+ #{$root}.is-readonly & {
16
+ @include utils.non-interactive();
17
+
18
+ color: var(--odx-control-color-disabled);
19
+ }
20
+ }
21
+ }
22
+
23
+ &__mirror {
24
+ height: 0;
25
+ overflow: hidden;
26
+ position: absolute;
27
+ white-space: pre;
28
+ }
29
+
30
+ &__control {
31
+ &::-webkit-inner-spin-button,
32
+ &::-webkit-calendar-picker-indicator {
33
+ appearance: none;
34
+ display: none;
35
+ }
36
+ }
37
+
38
+ &__separator {
39
+ @include dimensions.margin-x(0.25);
40
+ }
41
+
42
+ .odx-dropdown {
43
+ --odx-cdk-connected-overlay-max-height-modified: min(var(--odx-cdk-connected-overlay-max-height), 359px);
44
+ }
45
+ }
@@ -0,0 +1,37 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+
4
+ $dropdown-open-selector: '.odx-dropdown-host[aria-expanded="true"]';
5
+
6
+ .odx-dropdown {
7
+ background-color: var(--odx-c-background-content);
8
+ border-radius: var(--odx-v-border-radius);
9
+ box-shadow: var(--odx-v-box-shadow-layer-1);
10
+ display: block;
11
+ max-width: var(--odx-select-max-width);
12
+ min-height: inherit;
13
+
14
+ &__inner {
15
+ @include dimensions.padding-x(0.5);
16
+
17
+ border-bottom: dimensions.get-size(0.5) solid transparent;
18
+ border-top: dimensions.get-size(0.5) solid transparent;
19
+ max-height: inherit;
20
+ min-height: inherit;
21
+ overflow: auto;
22
+ overscroll-behavior: contain;
23
+ }
24
+
25
+ &__option-list {
26
+ display: flex;
27
+ flex-direction: column;
28
+ max-height: var(--odx-select-max-height);
29
+ min-height: dimensions.get-size(1.5);
30
+ }
31
+ }
32
+
33
+ .odx-dropdown-overlay {
34
+ .odx-cdk-connected-overlay-arrow {
35
+ background-color: var(--odx-c-background-content);
36
+ }
37
+ }
@@ -0,0 +1,46 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/utils';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/dimensions';
5
+ @use '../layout/typography';
6
+
7
+ .odx-error-page {
8
+ @include dimensions.margin-x(1);
9
+
10
+ display: flex;
11
+ flex: 1;
12
+ flex-direction: column;
13
+
14
+ &__title {
15
+ @extend .odx-heading-4;
16
+ }
17
+
18
+ &__container {
19
+ align-items: center;
20
+ display: flex;
21
+ flex: 1;
22
+ flex-direction: column;
23
+ justify-content: center;
24
+ text-align: center;
25
+ }
26
+
27
+ &__icon-container {
28
+ @include dimensions.margin(1, bottom);
29
+ }
30
+
31
+ &__actions {
32
+ @include dimensions.margin(1, top);
33
+
34
+ display: flex;
35
+ flex-wrap: wrap;
36
+ gap: var(--odx-grid-gutter);
37
+ justify-content: center;
38
+ width: 100%;
39
+ }
40
+
41
+ &__footer {
42
+ @include dimensions.padding(1, bottom);
43
+
44
+ text-align: center;
45
+ }
46
+ }
@@ -0,0 +1,59 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/utils';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/dimensions';
5
+
6
+ .odx-expandable-list-item {
7
+ $root: &;
8
+ $list-item-selector: '> #{$root}__header .odx-list-item';
9
+
10
+ &__header {
11
+ display: block;
12
+ position: relative;
13
+
14
+ > .odx-list-item {
15
+ @include dimensions.padding(math.div(52, 24), right);
16
+ }
17
+ }
18
+
19
+ &__action {
20
+ margin: 0;
21
+ position: absolute;
22
+ right: dimensions.get-size(math.div(8, 24));
23
+ top: 50%;
24
+ transform: translateY(-50%);
25
+
26
+ .odx-icon {
27
+ @include motion.transition(transform);
28
+ }
29
+ }
30
+
31
+ &__slot {
32
+ .odx-list #{$root}:first-child #{$list-item-selector},
33
+ .odx-list .odx-list-item:first-child {
34
+ --separator-color: var(--odx-c-separator);
35
+ }
36
+ }
37
+
38
+ &:has(#{$list-item-selector}--danger) {
39
+ #{$root}__action {
40
+ .odx-button {
41
+ color: var(--odx-c-danger-text);
42
+ }
43
+ }
44
+ }
45
+
46
+ &:first-child #{$list-item-selector} {
47
+ --separator-color: transparent;
48
+ }
49
+
50
+ &__icon--expanded {
51
+ transform: scaleY(-1);
52
+ }
53
+
54
+ &--interactive {
55
+ #{$root}__action {
56
+ pointer-events: none;
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,86 @@
1
+ @use '../abstract/breakpoints';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+
6
+ :root {
7
+ --odx-footer-min-height: #{dimensions.get-size(10)};
8
+ --odx-footer-background-color: var(--odx-c-background-content);
9
+ --odx-footer-text-color: var(--odx-c-text);
10
+ --odx-footer-description-color: var(--odx-c-text-disabled);
11
+
12
+ .odx-footer--dark {
13
+ --odx-footer-background-color: var(--odx-c-primary);
14
+ --odx-footer-text-color: var(--odx-c-primary-text);
15
+ --odx-footer-description-color: var(--odx-footer-text-color);
16
+ }
17
+ }
18
+
19
+ @include utils.theme-selector(dark) {
20
+ .odx-footer--dark {
21
+ --odx-footer-background-color: var(--blue-800);
22
+ --odx-footer-text-color: var(--black);
23
+ --odx-footer-description-color: var(--black);
24
+ }
25
+ }
26
+
27
+ .odx-footer {
28
+ background-color: var(--odx-footer-background-color);
29
+ box-sizing: border-box;
30
+ color: var(--odx-footer-text-color);
31
+ display: flex;
32
+ margin-block-start: auto;
33
+ min-height: var(--odx-footer-min-height);
34
+
35
+ @include dimensions.padding(1);
36
+
37
+ &__inner,
38
+ &__navigation {
39
+ row-gap: #{dimensions.get-size(0.25)};
40
+ }
41
+
42
+ &__content {
43
+ grid-area: content;
44
+ }
45
+
46
+ &__inner {
47
+ column-gap: var(--odx-grid-gutter);
48
+ display: grid;
49
+ grid-template-areas: 'content' 'navigation' 'meta';
50
+ grid-template-rows: 1fr repeat(2, auto);
51
+ margin-inline: auto;
52
+ max-width: var(--odx-v-max-page-width, 100%);
53
+ width: 100%;
54
+ }
55
+
56
+ &__navigation {
57
+ align-items: center;
58
+ column-gap: #{dimensions.get-size(1)};
59
+ display: flex;
60
+ flex-wrap: wrap;
61
+ grid-area: navigation;
62
+ grid-template-rows: 1fr auto;
63
+
64
+ > .odx-link {
65
+ color: var(--odx-footer-text-color);
66
+ }
67
+
68
+ @include breakpoints.up(phone) {
69
+ justify-content: flex-end;
70
+ text-align: right;
71
+ }
72
+ }
73
+
74
+ &__description {
75
+ color: var(--odx-footer-description-color);
76
+ grid-area: meta;
77
+ user-select: none;
78
+
79
+ @include utils.non-interactive();
80
+ @include typography.font-size(-1);
81
+
82
+ @include breakpoints.up(phone) {
83
+ text-align: right;
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,264 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ $form-field-label-height: math.div(20, 24);
8
+ $form-field-hint-height: math.div(16, 24);
9
+ $form-field-inner-padding: math.div(8, 24);
10
+
11
+ :root {
12
+ --odx-form-field-hint-color: var(--gray-500);
13
+ }
14
+
15
+ .odx-form,
16
+ .odx-form-group {
17
+ --odx-grid-gutter: #{dimensions.get-size(0.5)};
18
+ --odx-form-field-horizontal-label-width: #{dimensions.get-size(math.div(150, 24))};
19
+
20
+ row-gap: 0;
21
+ }
22
+
23
+ .odx-form-field {
24
+ $root: &;
25
+ $control-selector: '.odx-form-field-control';
26
+
27
+ @include dimensions.padding($form-field-label-height, top);
28
+
29
+ color: var(--odx-input-control-color);
30
+ display: flex;
31
+ flex-direction: column;
32
+ vertical-align: top;
33
+
34
+ &__label,
35
+ &__info {
36
+ @include dimensions.padding-x($form-field-inner-padding);
37
+
38
+ display: block;
39
+ flex: 1 1 auto;
40
+ }
41
+
42
+ &__prefix,
43
+ &__suffix {
44
+ @include dimensions.height(1.5);
45
+ @include motion.transition(color);
46
+ @include utils.vertical-center-content(true);
47
+
48
+ flex: 0 0 auto;
49
+
50
+ #{$root}.is-disabled & {
51
+ color: var(--odx-input-control-color-disabled);
52
+ }
53
+ }
54
+
55
+ &__prefix:not(:empty) {
56
+ @include dimensions.padding($form-field-inner-padding, left);
57
+ }
58
+
59
+ &__suffix:not(:empty) {
60
+ @include dimensions.padding($form-field-inner-padding, right);
61
+ }
62
+
63
+ &-label {
64
+ #{$root}:not(#{$root}--horizontal) & {
65
+ @include typography.prevent-text-overflow();
66
+ }
67
+ }
68
+
69
+ &__label {
70
+ @include dimensions.line-height($form-field-label-height);
71
+ @include dimensions.margin(-$form-field-label-height, 'top');
72
+ @include typography.font-size(-1);
73
+
74
+ user-select: none;
75
+
76
+ #{$root}:not(#{$root}--horizontal, #{$root}--simple) & {
77
+ display: flex;
78
+ }
79
+
80
+ &-is-required {
81
+ @include typography.font-size(0);
82
+
83
+ margin-left: 2px;
84
+ vertical-align: top;
85
+
86
+ #{$root}--required:not(.is-readonly, .is-disabled) & {
87
+ color: var(--odx-c-error-text);
88
+ }
89
+ }
90
+ }
91
+
92
+ &__control {
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');
99
+
100
+ background-color: var(--odx-input-control-background-color);
101
+ border-radius: var(--odx-v-border-radius-controls);
102
+ display: flex;
103
+ outline-color: var(--odx-input-control-outline-color);
104
+ overflow: hidden;
105
+ position: relative;
106
+
107
+ &::after {
108
+ @include motion.transition(background-color);
109
+
110
+ background-color: transparent;
111
+ bottom: 0;
112
+ content: '';
113
+ display: block;
114
+ height: 1px;
115
+ left: 0;
116
+ position: absolute;
117
+ width: 100%;
118
+ z-index: var(--odx-v-layer-1);
119
+ }
120
+
121
+ #{$control-selector} {
122
+ vertical-align: middle;
123
+ width: 100%;
124
+
125
+ @include dimensions.padding-x($form-field-inner-padding);
126
+ @include typography.font-weight(medium);
127
+ }
128
+
129
+ #{$control-selector},
130
+ input {
131
+ &::placeholder {
132
+ @include typography.font-weight(normal);
133
+
134
+ color: var(--odx-input-control-color);
135
+ opacity: 0.65;
136
+ }
137
+ }
138
+
139
+ > textarea {
140
+ @include dimensions.padding-y(0.25);
141
+
142
+ height: dimensions.get-size(3);
143
+ resize: vertical;
144
+ }
145
+
146
+ > select {
147
+ border-right: dimensions.get-size(0.25) solid transparent;
148
+ }
149
+
150
+ &:hover {
151
+ background-color: var(--odx-input-control-background-color-hover);
152
+ outline-color: var(--odx-input-control-outline-color-hover);
153
+ }
154
+
155
+ #{$root}.has-error & {
156
+ background-color: var(--odx-input-control-background-color-error);
157
+ outline-color: var(--odx-input-control-outline-color-error);
158
+
159
+ &:hover {
160
+ background-color: var(--odx-input-control-background-color);
161
+ }
162
+
163
+ &::after {
164
+ background-color: var(--odx-input-control-color-error);
165
+ }
166
+ }
167
+
168
+ #{$root}.has-warning & {
169
+ background-color: var(--odx-input-control-background-color-warning);
170
+ outline-color: var(--odx-input-control-outline-color-warning);
171
+
172
+ &:hover {
173
+ background-color: var(--odx-input-control-background-color-warning);
174
+ }
175
+
176
+ &::after {
177
+ background-color: var(--odx-input-control-color-warning);
178
+ }
179
+ }
180
+
181
+ #{$root}.is-disabled &,
182
+ #{$root}.is-readonly & {
183
+ &::after {
184
+ background-color: transparent;
185
+ }
186
+ }
187
+
188
+ #{$root}.is-disabled & {
189
+ background-color: var(--odx-input-control-background-color-disabled);
190
+ color: var(--odx-input-control-color-disabled);
191
+ outline-color: var(--odx-input-control-outline-color-disabled);
192
+
193
+ #{$control-selector} {
194
+ @include utils.non-interactive();
195
+
196
+ &::placeholder {
197
+ color: var(--odx-input-control-color-disabled);
198
+ }
199
+ }
200
+ }
201
+
202
+ #{$root}.is-readonly & {
203
+ background-color: var(--odx-input-control-background-color-readonly);
204
+ color: var(--odx-input-control-color-readonly);
205
+ outline-color: var(--odx-input-control-outline-color-readonly);
206
+ }
207
+ }
208
+
209
+ &__info {
210
+ @include dimensions.min-height($form-field-hint-height);
211
+ @include dimensions.line-height($form-field-hint-height);
212
+ @include motion.transition(opacity);
213
+ @include typography.font-size(-2);
214
+
215
+ color: var(--odx-form-field-hint-color);
216
+ text-align: right;
217
+ }
218
+
219
+ &--simple {
220
+ padding: 0;
221
+
222
+ @include dimensions.margin-y(0.25);
223
+
224
+ #{$root}__label,
225
+ #{$root}__info {
226
+ display: none;
227
+ }
228
+ }
229
+
230
+ &--horizontal {
231
+ @include dimensions.padding(math.div(8, 24), top);
232
+
233
+ flex-direction: row;
234
+
235
+ #{$root}__label {
236
+ @include dimensions.margin(0.25, top);
237
+
238
+ flex: 0 0 var(--odx-form-field-horizontal-label-width);
239
+ max-width: var(--odx-form-field-horizontal-label-width);
240
+ padding-left: 0;
241
+ }
242
+
243
+ #{$root}__inner {
244
+ flex: 1;
245
+ }
246
+ }
247
+ }
248
+
249
+ .odx-form-field.is-readonly,
250
+ .odx-form-group:has(.odx-form-field.is-readonly) {
251
+ .odx-form-field__info {
252
+ @include utils.non-interactive();
253
+
254
+ opacity: 0;
255
+ }
256
+ }
257
+
258
+ .odx-form-field-error {
259
+ color: var(--odx-input-control-color-error);
260
+ }
261
+
262
+ .odx-form-field.has-warning .odx-form-field-error {
263
+ color: var(--odx-input-control-color-warning);
264
+ }
@@ -0,0 +1,35 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/typography';
6
+ @use '../layout/typography' as *;
7
+
8
+ .odx-header-navigation {
9
+ $root: &;
10
+
11
+ background-color: var(--odx-c-background-content);
12
+ border-block-start: 1px solid var(--odx-c-separator);
13
+ display: block;
14
+ margin-block-start: -1px;
15
+
16
+ @include dimensions.padding-x(0.5);
17
+ @include dimensions.padding-y(0.25);
18
+
19
+ &__inner {
20
+ flex-wrap: wrap;
21
+ height: auto;
22
+ margin: 0;
23
+
24
+ #{$root}--centered & {
25
+ display: flex;
26
+ justify-content: center;
27
+ margin-inline: auto;
28
+ max-width: var(--odx-v-max-page-width);
29
+ }
30
+
31
+ > .odx-button {
32
+ margin-block: 0;
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,73 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/typography';
6
+ @use '../layout/typography' as *;
7
+
8
+ .odx-header {
9
+ @include dimensions.padding(math.div(20, 24), 'inline-start');
10
+ @include dimensions.padding(0.5, 'inline-end');
11
+ @include dimensions.min-height(2);
12
+ @include utils.vertical-center-content();
13
+
14
+ background-color: var(--odx-c-background-content);
15
+
16
+ .odx-main-menu-button {
17
+ margin-inline-end: dimensions.get-size(0.5);
18
+ margin-inline-start: dimensions.get-size(-1 * math.div(1, 3));
19
+ }
20
+
21
+ > * {
22
+ margin-block: 0;
23
+ min-height: auto;
24
+ }
25
+
26
+ &__content {
27
+ &:has(&-container:not(:empty)) {
28
+ @include dimensions.padding-x(0.5);
29
+ }
30
+
31
+ margin-inline-end: auto;
32
+
33
+ &-container {
34
+ @include typography.prevent-text-overflow();
35
+
36
+ display: none;
37
+ overflow: hidden;
38
+
39
+ @include breakpoints.up(tablet) {
40
+ display: block;
41
+ }
42
+ }
43
+ }
44
+
45
+ &__title {
46
+ @extend .odx-heading;
47
+ @extend .odx-heading-6;
48
+ @include typography.prevent-text-overflow();
49
+
50
+ overflow: hidden;
51
+ }
52
+
53
+ .odx-action-group:not(:last-child) {
54
+ border-inline-end: 1px solid var(--odx-c-separator);
55
+ margin-inline-end: dimensions.get-size(0.5);
56
+ padding-inline-end: dimensions.get-size(0.5);
57
+ }
58
+
59
+ &:has(> .odx-heading) > .odx-logo {
60
+ display: none;
61
+ margin-inline-end: dimensions.get-size(0.5);
62
+
63
+ @include breakpoints.up(tablet) {
64
+ display: block;
65
+ }
66
+ }
67
+
68
+ .odx-search-bar {
69
+ &:not(:last-child) {
70
+ margin-inline-end: dimensions.get-size(0.5);
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,21 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/utils';
4
+
5
+ $icon-sizes: (small math.div(16, 24) 1, large math.div(32, 24) 2, xlarge math.div(48, 24) 2);
6
+
7
+ .odx-icon {
8
+ flex: 0 0 auto;
9
+ font-size: dimensions.get-size(1);
10
+
11
+ @each $size, $size_factor, $factor in $icon-sizes {
12
+ &--#{$size} {
13
+ font-size: dimensions.get-size($size_factor);
14
+ }
15
+ }
16
+
17
+ &--inline {
18
+ font-size: inherit;
19
+ vertical-align: -0.1em;
20
+ }
21
+ }