@odx/ui 5.5.0 → 6.0.0

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 (206) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +0 -10
  3. package/ag-grid-theme.css +1 -1
  4. package/charts-theme.css +1 -1
  5. package/core-theme.css +1 -1
  6. package/package.json +4 -1
  7. package/scss/3rdparty/ag-grid/theme.scss +9 -7
  8. package/scss/_application.scss +5 -5
  9. package/scss/_base.scss +1 -1
  10. package/scss/_breakpoints.scss +15 -3
  11. package/scss/_color-palettes.scss +32 -32
  12. package/scss/_colors-dark.scss +31 -37
  13. package/scss/_colors.scss +94 -95
  14. package/scss/_controls.scss +45 -45
  15. package/scss/_description-list.scss +7 -13
  16. package/scss/_dimensions.scss +23 -10
  17. package/scss/_helpers.scss +44 -22
  18. package/scss/_layout.scss +2 -4
  19. package/scss/_skeleton.scss +1 -1
  20. package/scss/_text-list.scss +4 -7
  21. package/scss/_typography.scss +3 -6
  22. package/scss/_utils.scss +13 -0
  23. package/scss/_vertical-rythm.scss +1 -1
  24. package/scss/_visuals.scss +6 -6
  25. package/scss/abstract/_breakpoints.scss +15 -3
  26. package/scss/abstract/_dimensions.scss +23 -10
  27. package/scss/abstract/_utils.scss +13 -0
  28. package/scss/accordion-item.component.scss +22 -23
  29. package/scss/action-group.component.scss +6 -6
  30. package/scss/active-indicator.scss +3 -5
  31. package/scss/ag-grid/theme.scss +9 -7
  32. package/scss/anchor-navigation.component.scss +7 -10
  33. package/scss/area-header.component.scss +33 -31
  34. package/scss/autocomplete.component.scss +1 -4
  35. package/scss/avatar.component.scss +52 -11
  36. package/scss/badge.component.scss +11 -13
  37. package/scss/bar.component.scss +14 -18
  38. package/scss/brand-logo.component.scss +2 -4
  39. package/scss/breadcrumbs.component.scss +10 -14
  40. package/scss/button-group.component.scss +4 -8
  41. package/scss/button.component.scss +39 -36
  42. package/scss/calendar.component.scss +60 -56
  43. package/scss/card.component.scss +33 -35
  44. package/scss/cdk/active-indicator.scss +3 -5
  45. package/scss/cdk/connected-overlay.scss +4 -10
  46. package/scss/chart-footer.component.scss +21 -21
  47. package/scss/chart-header.component.scss +49 -49
  48. package/scss/charts/colors/_color-palettes.scss +32 -32
  49. package/scss/charts/components/chart-footer.component.scss +21 -21
  50. package/scss/charts/components/chart-header.component.scss +49 -49
  51. package/scss/charts/components/circle-chart-table.component.scss +1 -1
  52. package/scss/charts/components/line-timeframes-chart.component.scss +4 -4
  53. package/scss/charts/components/mirror-bar-chart.component.scss +2 -2
  54. package/scss/charts/components/multi-axis-box-plot.component.scss +2 -2
  55. package/scss/checkbox.component.scss +29 -30
  56. package/scss/chip-list.component.scss +5 -6
  57. package/scss/chip.component.scss +30 -17
  58. package/scss/circle-chart-table.component.scss +1 -1
  59. package/scss/circular-progress.component.scss +7 -8
  60. package/scss/colors/_color-palettes.scss +32 -32
  61. package/scss/components/accordion-item.component.scss +22 -23
  62. package/scss/components/action-group.component.scss +6 -6
  63. package/scss/components/anchor-navigation.component.scss +7 -10
  64. package/scss/components/area-header.component.scss +33 -31
  65. package/scss/components/autocomplete.component.scss +1 -4
  66. package/scss/components/avatar.component.scss +52 -11
  67. package/scss/components/badge.component.scss +11 -13
  68. package/scss/components/bar.component.scss +14 -18
  69. package/scss/components/brand-logo.component.scss +2 -4
  70. package/scss/components/breadcrumbs.component.scss +10 -14
  71. package/scss/components/button-group.component.scss +4 -8
  72. package/scss/components/button.component.scss +39 -36
  73. package/scss/components/calendar.component.scss +60 -56
  74. package/scss/components/card.component.scss +33 -35
  75. package/scss/components/chart-footer.component.scss +21 -21
  76. package/scss/components/chart-header.component.scss +49 -49
  77. package/scss/components/checkbox.component.scss +29 -30
  78. package/scss/components/chip-list.component.scss +5 -6
  79. package/scss/components/chip.component.scss +30 -17
  80. package/scss/components/circle-chart-table.component.scss +1 -1
  81. package/scss/components/circular-progress.component.scss +7 -8
  82. package/scss/components/content-box.component.scss +10 -7
  83. package/scss/components/datepicker.component.scss +1 -3
  84. package/scss/components/daterangepicker.component.scss +6 -3
  85. package/scss/components/dropdown.component.scss +5 -9
  86. package/scss/components/error-page.component.scss +5 -12
  87. package/scss/components/expandable-list-item.component.scss +6 -6
  88. package/scss/components/footer.component.scss +5 -7
  89. package/scss/components/form-field.component.scss +65 -58
  90. package/scss/components/header-navigation.component.scss +2 -10
  91. package/scss/components/header.component.scss +11 -13
  92. package/scss/components/icon.component.scss +8 -8
  93. package/scss/components/inline-message.component.scss +9 -15
  94. package/scss/components/line-timeframes-chart.component.scss +4 -4
  95. package/scss/components/link.component.scss +5 -5
  96. package/scss/components/list-item.component.scss +16 -18
  97. package/scss/components/list.component.scss +1 -3
  98. package/scss/components/loading-spinner.component.scss +4 -6
  99. package/scss/components/logo.component.scss +6 -10
  100. package/scss/components/main-menu-item.component.scss +15 -24
  101. package/scss/components/main-menu.component.scss +28 -41
  102. package/scss/components/mainfilter-group.component.scss +23 -27
  103. package/scss/components/menu.component.scss +7 -11
  104. package/scss/components/mirror-bar-chart.component.scss +2 -2
  105. package/scss/components/modal.component.scss +37 -43
  106. package/scss/components/multi-axis-box-plot.component.scss +2 -2
  107. package/scss/components/navigation-back.component.scss +5 -6
  108. package/scss/components/notification-center.component.scss +14 -18
  109. package/scss/components/notification-item.component.scss +6 -11
  110. package/scss/components/option.component.scss +11 -15
  111. package/scss/components/paginator.component.scss +5 -8
  112. package/scss/components/progress.component.scss +4 -8
  113. package/scss/components/radio-button.component.scss +23 -23
  114. package/scss/components/radio-group.component.scss +2 -4
  115. package/scss/components/rail-navigation-item.component.scss +19 -22
  116. package/scss/components/rail-navigation.component.scss +7 -12
  117. package/scss/components/rich-list-item-header.component.scss +4 -9
  118. package/scss/components/rich-list-item.component.scss +9 -17
  119. package/scss/components/search-bar.component.scss +13 -15
  120. package/scss/components/select.component.scss +9 -12
  121. package/scss/components/slider.component.scss +11 -14
  122. package/scss/components/spinbox.component.scss +23 -25
  123. package/scss/components/switch.component.scss +98 -123
  124. package/scss/components/tab-bar-item.component.scss +17 -19
  125. package/scss/components/tab-bar.component.scss +23 -28
  126. package/scss/components/table.component.scss +12 -19
  127. package/scss/components/timepicker.component.scss +5 -10
  128. package/scss/components/toast-item.component.scss +9 -15
  129. package/scss/components/toast.component.scss +5 -8
  130. package/scss/components/toggle-button-group.component.scss +13 -14
  131. package/scss/components/toggle-button.component.scss +15 -17
  132. package/scss/components/tooltip.component.scss +8 -13
  133. package/scss/components/wizard-step.component.scss +13 -17
  134. package/scss/components/wizard.component.scss +2 -4
  135. package/scss/connected-overlay.scss +4 -10
  136. package/scss/content-box.component.scss +10 -7
  137. package/scss/core.scss +2 -0
  138. package/scss/datepicker.component.scss +1 -3
  139. package/scss/daterangepicker.component.scss +6 -3
  140. package/scss/dropdown.component.scss +5 -9
  141. package/scss/error-page.component.scss +5 -12
  142. package/scss/expandable-list-item.component.scss +6 -6
  143. package/scss/footer.component.scss +5 -7
  144. package/scss/form-field.component.scss +65 -58
  145. package/scss/header-navigation.component.scss +2 -10
  146. package/scss/header.component.scss +11 -13
  147. package/scss/icon.component.scss +8 -8
  148. package/scss/inline-message.component.scss +9 -15
  149. package/scss/layout/_application.scss +5 -5
  150. package/scss/layout/_base.scss +1 -1
  151. package/scss/layout/_description-list.scss +7 -13
  152. package/scss/layout/_helpers.scss +44 -22
  153. package/scss/layout/_layout.scss +2 -4
  154. package/scss/layout/_text-list.scss +4 -7
  155. package/scss/layout/_typography.scss +62 -70
  156. package/scss/line-timeframes-chart.component.scss +4 -4
  157. package/scss/link.component.scss +5 -5
  158. package/scss/list-item.component.scss +16 -18
  159. package/scss/list.component.scss +1 -3
  160. package/scss/loading-spinner.component.scss +4 -6
  161. package/scss/logo.component.scss +6 -10
  162. package/scss/main-menu-item.component.scss +15 -24
  163. package/scss/main-menu.component.scss +28 -41
  164. package/scss/mainfilter-group.component.scss +23 -27
  165. package/scss/menu.component.scss +7 -11
  166. package/scss/mirror-bar-chart.component.scss +2 -2
  167. package/scss/modal.component.scss +37 -43
  168. package/scss/multi-axis-box-plot.component.scss +2 -2
  169. package/scss/navigation-back.component.scss +5 -6
  170. package/scss/notification-center.component.scss +14 -18
  171. package/scss/notification-item.component.scss +6 -11
  172. package/scss/option.component.scss +11 -15
  173. package/scss/paginator.component.scss +5 -8
  174. package/scss/progress.component.scss +4 -8
  175. package/scss/radio-button.component.scss +23 -23
  176. package/scss/radio-group.component.scss +2 -4
  177. package/scss/rail-navigation-item.component.scss +19 -22
  178. package/scss/rail-navigation.component.scss +7 -12
  179. package/scss/rich-list-item-header.component.scss +4 -9
  180. package/scss/rich-list-item.component.scss +9 -17
  181. package/scss/search-bar.component.scss +13 -15
  182. package/scss/select.component.scss +9 -12
  183. package/scss/skeleton/_skeleton.scss +1 -1
  184. package/scss/slider.component.scss +11 -14
  185. package/scss/spinbox.component.scss +23 -25
  186. package/scss/switch.component.scss +98 -123
  187. package/scss/tab-bar-item.component.scss +17 -19
  188. package/scss/tab-bar.component.scss +23 -28
  189. package/scss/table.component.scss +12 -19
  190. package/scss/theme.scss +9 -7
  191. package/scss/timepicker.component.scss +5 -10
  192. package/scss/toast-item.component.scss +9 -15
  193. package/scss/toast.component.scss +5 -8
  194. package/scss/toggle-button-group.component.scss +13 -14
  195. package/scss/toggle-button.component.scss +15 -17
  196. package/scss/tooltip.component.scss +8 -13
  197. package/scss/variables/_color-palettes-dark.scss +49 -49
  198. package/scss/variables/_color-palettes.scss +84 -84
  199. package/scss/variables/_colors-dark.scss +31 -37
  200. package/scss/variables/_colors.scss +94 -95
  201. package/scss/variables/_controls.scss +45 -45
  202. package/scss/variables/_typography.scss +3 -6
  203. package/scss/variables/_vertical-rythm.scss +1 -1
  204. package/scss/variables/_visuals.scss +6 -6
  205. package/scss/wizard-step.component.scss +13 -17
  206. package/scss/wizard.component.scss +2 -4
@@ -86,15 +86,16 @@
86
86
  input[class^='ag-'][type='text'] {
87
87
  background: var(--gray-100);
88
88
  border: var(--ag-borders-critical) var(--gray100);
89
- border-radius: var(--odx-v-border-radius-controls);
89
+ border-radius: var(--odx-border-radius-control);
90
90
  font-weight: var(--odx-typography-font-weight-normal);
91
91
  letter-spacing: var(--odx-typography-font-weight-medium-letter-spacing);
92
92
  line-height: var(--ag-table-line-height);
93
93
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
94
94
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
95
+ transition: var(--odx-motion-transition-default);
96
+ transition-property: background-color;
95
97
  vertical-align: middle;
96
98
 
97
- @include motion.transition(background-color);
98
99
  @include utils.with-outline(var(--odx-v-outline-width));
99
100
 
100
101
  &::placeholder {
@@ -156,13 +157,13 @@
156
157
 
157
158
  .ag-standard-button {
158
159
  background-color: var(--odx-c-primary);
159
- border-radius: var(--odx-v-border-radius-controls);
160
+ border-radius: var(--odx-border-radius-control);
160
161
  color: var(--odx-c-primary-text);
161
162
  height: calc(var(--odx-vertical-rythm-base-size) * 1.5);
162
163
  min-width: calc(var(--odx-vertical-rythm-base-size) * 3);
163
164
  outline-offset: calc(-1 * var(--odx-v-outline-width-bold));
164
165
  outline-width: var(--odx-v-outline-width-bold);
165
- transition: all var(--odx-v-transition-duration) 0ms var(--odx-v-transition-easing-fn);
166
+ transition: var(--odx-motion-transition-default);
166
167
  transition-property: background-color, color, outline;
167
168
  }
168
169
 
@@ -252,7 +253,7 @@
252
253
  outline-color: var(--odx-control-outline-color);
253
254
  outline-offset: calc(-1 * var(--odx-v-outline-width));
254
255
  padding: 1px;
255
- transition: all var(--odx-v-transition-duration) 0ms var(--odx-v-transition-easing-fn);
256
+ transition: var(--odx-motion-transition-default);
256
257
  transition-property: background-color, color, outline-color;
257
258
  width: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
258
259
 
@@ -333,16 +334,17 @@
333
334
  $input: '.ag-checkbox-input';
334
335
 
335
336
  background-color: var(--odx-control-background-color);
336
- border-radius: var(--odx-v-border-radius-controls);
337
+ border-radius: var(--odx-border-radius-control);
337
338
  color: var(--odx-control-color-selected);
338
339
  flex: 0 0 auto;
339
340
  height: dimensions.get-size(math.div(20, 24));
340
341
  opacity: 1;
341
342
  outline-color: var(--odx-control-outline-color);
342
343
  padding: 1px;
344
+ transition: var(--odx-motion-transition-default);
345
+ transition-property: background-color, color;
343
346
  width: dimensions.get-size(math.div(20, 24));
344
347
 
345
- @include motion.transition(background-color color);
346
348
  @include utils.with-outline(var(--odx-v-outline-width));
347
349
 
348
350
  &:hover {
@@ -1,6 +1,3 @@
1
- @use 'sass:math';
2
- @use '../abstract/dimensions';
3
- @use '../abstract/motion';
4
1
  @use '../abstract/utils';
5
2
 
6
3
  .odx-anchor-navigation {
@@ -9,7 +6,7 @@
9
6
  $root: &;
10
7
 
11
8
  display: flex;
12
- gap: dimensions.get-size(math.div(8, 24));
9
+ gap: var(--odx-spacing-layout-sm);
13
10
 
14
11
  &:is(:not(#{$root}--vertical)) {
15
12
  box-shadow: inset 0 calc(var(--odx-v-outline-width-bold) * -1) 0 0 var(--odx-control-outline-color);
@@ -22,25 +19,25 @@
22
19
  }
23
20
 
24
21
  &-item {
25
- @include motion.transition(border-color background-color);
26
-
27
22
  display: inline-flex;
28
- min-width: dimensions.get-size(math.div(80, 24));
23
+ min-width: var(--odx-size-500);
24
+ transition: var(--odx-motion-transition-default);
25
+ transition-property: border-color, background-color;
29
26
 
30
27
  &:has([aria-current='page']) {
31
28
  --active-link-indicator-color: var(--odx-c-link-active);
32
29
  }
33
30
 
34
31
  .odx-link {
35
- @include dimensions.padding-x(math.div(12, 24));
36
- @include dimensions.padding-y(math.div(6, 24));
37
32
  @include utils.interactive();
38
33
 
39
34
  color: var(--odx-c-text);
40
35
  display: flex;
36
+ padding-block: var(--odx-control-spacing-inline-md);
37
+ padding-inline: var(--odx-spacing-layout-md);
41
38
 
42
39
  &:not(:empty) {
43
- gap: dimensions.get-size(math.div(4, 24));
40
+ gap: var(--odx-spacing-layout-sm);
44
41
  }
45
42
 
46
43
  &[aria-current='page'] {
@@ -1,6 +1,4 @@
1
- @use 'sass:math';
2
1
  @use '../abstract/breakpoints';
3
- @use '../abstract/dimensions';
4
2
  @use '../abstract/utils';
5
3
  @use '../abstract/typography';
6
4
  @use 'avatar.component';
@@ -12,20 +10,21 @@
12
10
  }
13
11
 
14
12
  .odx-area-header {
15
- @include dimensions.padding-x(0.5);
13
+ padding-block: var(--odx-spacing-layout-md);
14
+ padding-inline: var(--odx-size-125);
16
15
 
17
16
  @include breakpoints.up(phone) {
18
- @include dimensions.padding-x(1);
17
+ padding-inline: var(--odx-size-150);
19
18
  }
20
19
 
21
20
  &,
22
21
  &__container {
23
- column-gap: dimensions.get-size(math.div(20, 24));
22
+ column-gap: var(--odx-size-125);
24
23
  display: flex;
25
24
 
26
25
  .odx-navigation-back {
27
- @include dimensions.margin(-0.75, right);
28
- @include dimensions.margin(math.div(5, 24), top);
26
+ margin-block-start: var(--odx-spacing-25);
27
+ margin-inline-end: var(--odx-spacing-negative-37);
29
28
  }
30
29
  }
31
30
 
@@ -52,7 +51,7 @@
52
51
 
53
52
  &__title {
54
53
  @extend .odx-heading;
55
- @extend .odx-heading-6;
54
+ @extend .odx-heading-5;
56
55
 
57
56
  color: var(--odx-area-header-title-color);
58
57
  font-weight: 600;
@@ -61,10 +60,10 @@
61
60
  &__subtitle {
62
61
  @extend .odx-text;
63
62
  @include typography.prevent-text-overflow();
64
- @include typography.font-size(-1);
65
- @include dimensions.line-height(math.div(16, 24));
66
63
 
67
64
  color: var(--odx-area-header-subtitle-color);
65
+ font-size: var(--odx-typography-font-size-text-sm);
66
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 2 / 3);
68
67
  }
69
68
 
70
69
  .odx-avatar,
@@ -77,12 +76,12 @@
77
76
  @include utils.vertical-center-content();
78
77
 
79
78
  flex-wrap: wrap;
80
- min-height: dimensions.get-size(2);
79
+ min-block-size: var(--odx-control-height-lg);
81
80
  }
82
81
 
83
82
  &--small {
84
83
  .odx-area-header__container {
85
- column-gap: dimensions.get-size(math.div(16, 24));
84
+ column-gap: var(--odx-spacing-100);
86
85
  }
87
86
  }
88
87
 
@@ -107,33 +106,36 @@
107
106
 
108
107
  &--medium {
109
108
  @include breakpoints.up(tablet) {
110
- @include dimensions.padding-y(0.5);
109
+ padding-inline: var(--odx-size-150);
111
110
  }
112
111
 
113
112
  .odx-area-header__title {
114
- @extend .odx-heading-5;
113
+ @extend .odx-heading-4;
114
+
115
+ padding-block: 0;
115
116
  }
116
117
 
117
118
  .odx-area-header__subtitle {
118
- @include typography.font-size(-1);
119
- @include dimensions.line-height(math.div(20, 24));
119
+ font-size: var(--odx-typography-font-size-text-sm);
120
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 5 / 6);
120
121
  }
121
122
  }
122
123
 
123
124
  &--large {
124
- @include dimensions.padding-y(0.5);
125
+ padding-inline: var(--odx-size-150);
125
126
 
126
127
  .odx-area-header__title {
127
- @extend .odx-heading-4;
128
+ @extend .odx-heading-3;
128
129
 
129
130
  @include breakpoints.down(tablet) {
130
- @include dimensions.line-height(1);
131
+ line-height: var(--odx-size-150);
132
+ padding-block: 0;
131
133
  }
132
134
  }
133
135
 
134
136
  .odx-area-header__subtitle {
135
- @include typography.font-size(0);
136
- @include dimensions.line-height(1);
137
+ font-size: var(--odx-typography-font-size-text-md);
138
+ line-height: var(--odx-size-150);
137
139
  }
138
140
 
139
141
  .odx-avatar {
@@ -142,32 +144,32 @@
142
144
  }
143
145
 
144
146
  &--xlarge {
145
- @include dimensions.padding-y(0.5);
147
+ padding-block: var(--odx-size-125);
146
148
 
147
149
  @include breakpoints.up(tablet) {
148
- @include dimensions.padding-y(1);
149
-
150
- gap: dimensions.get-size(1);
150
+ gap: var(--odx-spacing-150);
151
+ padding-block: var(--odx-size-250);
151
152
 
152
153
  .odx-area-header__container {
153
- @include dimensions.padding(1, top);
154
+ padding-block-start: var(--odx-spacing-150);
154
155
  }
155
156
  }
156
157
 
157
158
  .odx-area-header__title {
158
- @extend .odx-heading-2;
159
+ @extend .odx-heading-1;
159
160
  }
160
161
 
161
162
  .odx-area-header__subtitle {
162
- @extend .odx-heading-5;
163
- @include dimensions.line-height(1);
163
+ @extend .odx-heading-4;
164
+
165
+ line-height: var(--odx-size-150);
164
166
  }
165
167
 
166
168
  .odx-avatar {
167
169
  @extend .odx-avatar--large;
168
170
 
169
171
  @include breakpoints.up(tablet) {
170
- @include dimensions.margin(-0.5, top);
172
+ margin-block-start: var(--odx-spacing-negative-75);
171
173
  }
172
174
  }
173
175
 
@@ -175,7 +177,7 @@
175
177
  align-self: flex-end;
176
178
 
177
179
  @include breakpoints.up(tablet) {
178
- @include dimensions.margin(-0.5, bottom);
180
+ margin-block-end: var(--odx-spacing-negative-75);
179
181
  }
180
182
  }
181
183
  }
@@ -1,5 +1,3 @@
1
- @use '../abstract/dimensions';
2
-
3
1
  .odx-autocomplete {
4
2
  &__trigger {
5
3
  height: 100%;
@@ -7,8 +5,7 @@
7
5
 
8
6
  &__control {
9
7
  height: 100%;
8
+ min-block-size: var(--odx-control-height-md);
10
9
  width: 100%;
11
-
12
- @include dimensions.min-height(1.5);
13
10
  }
14
11
  }
@@ -1,33 +1,74 @@
1
1
  @use 'sass:math';
2
+ @use 'sass:map';
2
3
  @use '../abstract/breakpoints';
3
- @use '../abstract/dimensions';
4
4
  @use '../abstract/utils';
5
5
  @use '../abstract/typography';
6
6
 
7
+ $avatar-font-size-map: (
8
+ -2: var(--odx-typography-font-size-text-xs),
9
+ -1: var(--odx-typography-font-size-text-sm),
10
+ 0: var(--odx-typography-font-size-text-md),
11
+ 1: var(--odx-typography-font-size-heading-md),
12
+ 2: var(--odx-typography-font-size-heading-lg),
13
+ 3: var(--odx-typography-font-size-heading-xl),
14
+ 4: var(--odx-typography-font-size-heading-xxl)
15
+ );
16
+
7
17
  @mixin avatar-size($size-factor, $line-height-factor, $font-size, $icon-factor) {
8
- @include dimensions.container($size-factor, $line-height-factor);
9
- @include typography.font-size($font-size);
18
+ $resolved-line-height-factor: $size-factor;
19
+
20
+ @if $line-height-factor {
21
+ $resolved-line-height-factor: $line-height-factor;
22
+ }
23
+
24
+ $line-size: calc(var(--odx-vertical-rythm-base-size) * #{$resolved-line-height-factor});
25
+ $margin-factor: math.div($size-factor - $resolved-line-height-factor, 2);
26
+ $margin-size: calc(var(--odx-vertical-rythm-base-size) * #{$margin-factor});
27
+ $font-size-token: map.get($avatar-font-size-map, $font-size);
28
+
29
+ @if not $font-size-token {
30
+ $font-size-token: var(--odx-typography-font-size-text-md);
31
+ }
32
+
33
+ font-size: $font-size-token;
34
+ height: $line-size;
35
+ margin-block: $margin-size;
36
+ width: $line-size;
10
37
 
11
38
  > .odx-icon,
12
39
  > .odx-icon[class*='odx-icon--'] {
13
- @include dimensions.container($icon-factor);
40
+ $icon-size-token: null;
41
+
42
+ @if $icon-factor == 1 {
43
+ $icon-size-token: var(--odx-size-150);
44
+ } @else if $icon-factor == 1.5 {
45
+ $icon-size-token: var(--odx-size-225);
46
+ } @else if $icon-factor == 2.25 {
47
+ $icon-size-token: var(--odx-typography-font-size-display-lg);
48
+ } @else {
49
+ $icon-size-token: calc(var(--odx-vertical-rythm-base-size) * #{$icon-factor});
50
+ }
14
51
 
15
- font-size: dimensions.get-size($icon-factor);
52
+ font-size: $icon-size-token;
53
+ height: $icon-size-token;
54
+ width: $icon-size-token;
16
55
  }
17
56
  }
18
57
 
19
58
  .odx-avatar {
20
59
  @include utils.center-content(true);
21
- @include typography.font-weight(medium);
22
- @include typography.prevent-text-overflow();
23
60
 
24
- background-color: var(--blue-700-10);
25
- border-radius: 50%;
61
+ background-color: var(--odx-color-background-neutral-rest);
62
+ border-radius: var(--odx-border-radius-circle);
26
63
  color: var(--odx-c-text);
64
+ font-weight: var(--odx-typography-font-weight-medium);
65
+ letter-spacing: var(--odx-typography-font-weight-medium-letter-spacing);
27
66
  position: relative;
28
67
  user-select: none;
29
68
  vertical-align: middle;
30
69
 
70
+ @include typography.prevent-text-overflow();
71
+
31
72
  &--small {
32
73
  @include avatar-size(2, 1.5, 0, 1);
33
74
  }
@@ -49,7 +90,7 @@
49
90
  }
50
91
 
51
92
  &--rectangle {
52
- border-radius: var(--odx-v-border-radius-controls);
93
+ border-radius: var(--odx-border-radius-control);
53
94
  }
54
95
 
55
96
  &:has(img) {
@@ -63,6 +104,6 @@
63
104
  position: absolute;
64
105
  top: 0;
65
106
  width: 100%;
66
- z-index: var(--odx-v-layer-1);
107
+ z-index: var(--odx-z-level-foreground);
67
108
  }
68
109
  }
@@ -1,31 +1,29 @@
1
- @use 'sass:math';
2
- @use '../abstract/dimensions';
3
1
  @use '../abstract/utils';
4
- @use '../abstract/typography';
5
2
 
6
3
  :root {
7
4
  --odx-badge-contrast-color: var(--odx-c-background-content);
8
5
  }
9
6
 
10
7
  .odx-badge {
11
- $badge-size: dimensions.get-size(math.div(2, 3));
8
+ $badge-size: var(--odx-spacing-100);
12
9
 
13
- @include dimensions.padding-x(math.div(1, 8));
14
- @include utils.center-content(true);
15
- @include utils.non-interactive();
16
- @include typography.font-size(-2);
17
- @include typography.font-weight(medium);
18
-
19
- border-radius: $badge-size;
10
+ border-radius: var(--odx-border-radius-circle);
11
+ font-size: var(--odx-typography-font-size-text-xs);
12
+ font-weight: var(--odx-typography-font-weight-medium);
20
13
  height: $badge-size;
21
- min-width: $badge-size;
14
+ letter-spacing: var(--odx-typography-font-weight-medium-letter-spacing);
15
+ min-width: calc(#{$badge-size} * 1.01);
22
16
  outline: 1px solid transparent;
17
+ padding-inline: calc(var(--odx-spacing-37) / 2);
23
18
  vertical-align: middle;
24
19
 
20
+ @include utils.center-content(true);
21
+ @include utils.non-interactive();
22
+
25
23
  &,
26
24
  &--highlight {
27
25
  background-color: var(--odx-c-highlight);
28
- color: var(--odx-c-highlight-text);
26
+ color: var(--odx-color-foreground-inverse-static);
29
27
  }
30
28
 
31
29
  &--danger {
@@ -1,8 +1,4 @@
1
- @use 'sass:math';
2
- @use '../abstract/dimensions';
3
1
  @use '../abstract/utils';
4
- @use '../abstract/typography';
5
- @use '../abstract/motion';
6
2
  @use './dropdown.component' as dropdown;
7
3
 
8
4
  :root {
@@ -21,28 +17,28 @@
21
17
  }
22
18
 
23
19
  .odx-bar {
24
- @include dimensions.padding-x(math.div(12, 24));
25
- @include dimensions.padding-y(math.div(6, 24));
26
-
27
20
  align-items: center;
28
21
  background-color: var(--odx-bar-background-color);
29
- border-radius: dimensions.get-size(math.div(6, 24));
22
+ border-radius: var(--odx-border-radius-md);
30
23
  box-shadow: var(--odx-v-box-shadow-layer-1);
31
24
  color: var(--odx-bar-text-color);
32
25
  display: inline-flex;
33
- gap: dimensions.get-size(math.div(12, 24));
26
+ gap: var(--odx-spacing-75);
27
+ padding-block: var(--odx-control-spacing-md);
28
+ padding-inline: var(--odx-spacing-75);
34
29
  width: max-content;
35
30
 
36
31
  &-button {
37
- @include motion.transition(background-color color);
38
- @include utils.interactive();
39
-
40
32
  align-items: center;
41
33
  background-color: var(--odx-bar-background-color);
42
- border-radius: var(--odx-v-border-radius-controls);
34
+ block-size: var(--odx-control-height-md);
35
+ border-radius: var(--odx-border-radius-control);
43
36
  display: inline-flex;
44
- font-size: dimensions.get-size(math.div(4, 3));
45
- height: dimensions.get-size(math.div(36, 24));
37
+ font-size: var(--odx-size-200);
38
+ transition: var(--odx-motion-transition-default);
39
+ transition-property: background-color, color;
40
+
41
+ @include utils.interactive();
46
42
 
47
43
  &:hover {
48
44
  background-color: var(--odx-bar-background-color-hover);
@@ -54,11 +50,11 @@
54
50
  }
55
51
 
56
52
  &--default {
57
- @include dimensions.padding-x(math.div(28, 24));
53
+ padding-inline: var(--odx-spacing-150);
58
54
  }
59
55
 
60
56
  &--small {
61
- @include dimensions.padding-x(math.div(2, 24));
57
+ padding-inline: var(--odx-spacing-12);
62
58
  }
63
59
 
64
60
  &.is-disabled {
@@ -73,7 +69,7 @@
73
69
  }
74
70
 
75
71
  .odx-bar-parent & {
76
- bottom: dimensions.get-size(math.div(16, 24));
72
+ bottom: var(--odx-spacing-100);
77
73
  left: 50%;
78
74
  position: absolute;
79
75
  transform: translateX(-50%);
@@ -1,10 +1,8 @@
1
- @use '../abstract/typography';
2
-
3
1
  .odx-brand-logo {
4
2
  color: inherit;
5
3
  display: inline-block;
6
-
7
- @include typography.font-weight(semibold);
4
+ font-weight: var(--odx-typography-font-weight-semibold);
5
+ letter-spacing: var(--odx-typography-font-weight-semibold-letter-spacing);
8
6
 
9
7
  &::before {
10
8
  color: var(--odx-c-highlight);
@@ -1,33 +1,29 @@
1
- @use 'sass:math';
2
- @use '../abstract/dimensions';
3
1
  @use '../abstract/utils';
4
- @use '../abstract/typography';
5
2
  @use '@odx/icons/core/core-utils' as icons;
6
3
 
7
4
  .odx-breadcrumbs {
8
- @include dimensions.padding-x(1);
9
- @include dimensions.padding-y(math.div(12, 24));
10
- @include utils.vertical-center-content();
11
-
12
5
  flex-wrap: wrap;
13
- gap: dimensions.get-size(math.div(8, 24));
6
+ gap: var(--odx-spacing-50);
7
+ padding-block: var(--odx-spacing-75);
8
+ padding-inline: var(--odx-size-250);
9
+
10
+ @include utils.vertical-center-content();
14
11
 
15
12
  .odx-link {
16
13
  white-space: nowrap;
17
14
 
18
15
  &:not(:last-child) {
19
- @include dimensions.margin(math.div(20, 24), right);
16
+ margin-inline-end: var(--odx-size-125);
20
17
 
21
18
  &::after {
22
19
  color: var(--gray-500);
23
20
  content: icons.get-icon-glyph('chevron-right');
24
21
  display: inline-block;
25
22
  font-family: icons.get-font-family();
26
- font-size: dimensions.get-size(math.div(12, 24));
23
+ font-size: var(--odx-size-75);
24
+ margin-inline-start: var(--odx-spacing-75);
27
25
  pointer-events: none;
28
26
  position: absolute;
29
-
30
- @include dimensions.margin(math.div(12, 24), left);
31
27
  }
32
28
  }
33
29
 
@@ -37,9 +33,9 @@
37
33
 
38
34
  &:last-child,
39
35
  &:last-child:visited {
40
- @include typography.font-weight(semibold);
41
-
42
36
  color: var(--odx-c-text);
37
+ font-weight: var(--odx-typography-font-weight-semibold);
38
+ letter-spacing: var(--odx-typography-font-weight-semibold-letter-spacing);
43
39
  }
44
40
  }
45
41
  }
@@ -1,6 +1,3 @@
1
- @use 'sass:math';
2
- @use '../abstract/dimensions';
3
-
4
1
  @mixin buttons-radius($vertical: false, $reversed: false) {
5
2
  $start: 'first';
6
3
  $end: 'last';
@@ -35,13 +32,13 @@
35
32
  }
36
33
 
37
34
  &:not(:first-of-type, :last-of-type) {
38
- border-radius: 0;
35
+ border-radius: var(--odx-border-radius-none);
39
36
  }
40
37
  }
41
38
 
42
39
  .odx-button-group {
43
40
  display: inline-flex;
44
- gap: dimensions.get-size(math.div(2, 24));
41
+ gap: var(--odx-spacing-12);
45
42
 
46
43
  &--reverse {
47
44
  flex-direction: row-reverse;
@@ -75,12 +72,11 @@
75
72
  }
76
73
 
77
74
  &--vertical {
78
- @include dimensions.margin-y(math.div(10, 24));
79
-
80
75
  flex-direction: column;
76
+ margin-block: calc(var(--odx-spacing-75) - var(--odx-spacing-12));
81
77
 
82
78
  > .odx-button {
83
- @include dimensions.height(math.div(35, 24));
79
+ min-block-size: calc(var(--odx-control-height-md) - (var(--odx-spacing-12) / 2));
84
80
  }
85
81
  }
86
82