@tui/design-system 1.5.0 → 1.7.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 (40) hide show
  1. package/CHANGELOG.md +277 -1
  2. package/dist/themes/crystalski/index.css +12 -2
  3. package/dist/themes/crystalski/index.css.map +1 -1
  4. package/dist/themes/firstchoice/index.css +12 -2
  5. package/dist/themes/firstchoice/index.css.map +1 -1
  6. package/dist/themes/tui/index.css +14 -4
  7. package/dist/themes/tui/index.css.map +1 -1
  8. package/package.json +12 -12
  9. package/scss/lib/accordion/_mixins.scss +1 -3
  10. package/scss/lib/active-tag/_mixins.scss +16 -4
  11. package/scss/lib/cards/promotion/_index.scss +3 -0
  12. package/scss/lib/cards/promotion/_mixins.scss +275 -0
  13. package/scss/lib/cards/promotion/_variables.scss +14 -0
  14. package/scss/lib/cards/selectable/_mixins.scss +1 -5
  15. package/scss/lib/cards/selectable/_variables.scss +2 -1
  16. package/scss/lib/flyout-dropdown/_variables.scss +0 -1
  17. package/scss/lib/forms/datepicker/_mixins.scss +5 -0
  18. package/scss/lib/forms/input-radio-scroll/_mixins.scss +6 -1
  19. package/scss/lib/forms/input-switch/_mixins.scss +12 -6
  20. package/scss/lib/grid/_column.scss +7 -0
  21. package/scss/lib/grid/_mixins.scss +4 -0
  22. package/scss/lib/list/_mixins.scss +91 -72
  23. package/scss/lib/list/_variables.scss +1 -0
  24. package/scss/lib/modal/_variables.scss +1 -4
  25. package/scss/lib/skeleton/_variables.scss +2 -6
  26. package/scss/lib/tabs/_mixins.scss +117 -60
  27. package/scss/lib/tabs/anchor/_mixins.scss +36 -0
  28. package/scss/lib/tabs/in-page/_mixins.scss +82 -29
  29. package/scss/lib/tooltip/_mixins.scss +2 -0
  30. package/scss/mixins.scss +1 -0
  31. package/scss/themes/crystalski/_overrides.scss +10 -0
  32. package/scss/themes/crystalski/index.scss +3 -0
  33. package/scss/themes/crystalski/theme.json +7 -0
  34. package/scss/themes/firstchoice/_overrides.scss +10 -0
  35. package/scss/themes/firstchoice/index.scss +3 -0
  36. package/scss/themes/firstchoice/theme.json +7 -0
  37. package/scss/themes/tui/index.scss +3 -0
  38. package/scss/variables/base-theme.json +64 -6
  39. package/scss/variables.scss +1 -0
  40. package/types/components.ts +33 -9
@@ -0,0 +1,275 @@
1
+ // Promo Banner / _mixins
2
+ @use '../../button/mixins' as *;
3
+ @use '../../divider/mixins' as *;
4
+ @use '../../icon/mixins' as *;
5
+ @use '../../info-tag/mixins' as *;
6
+ @use '../../link/mixins' as *;
7
+ @use '../../utility/mixins' as *;
8
+
9
+ $uilib-card-promotion-included: false !default;
10
+ $uilib-card-promotion-horizontal: 36rem;
11
+
12
+ @mixin uilib-card-promotion() {
13
+ @if not $uilib-card-promotion-included {
14
+ $uilib-card-promotion-included: true !global;
15
+
16
+ @include uilib-button;
17
+ @include uilib-divider;
18
+ @include uilib-icon;
19
+ @include uilib-info-tag;
20
+ @include uilib-link;
21
+ @include uilib-card-promotion-master;
22
+ }
23
+ }
24
+
25
+ @mixin uilib-card-promotion-master() {
26
+ .uilib-card-promotion {
27
+ container-name: uilib-card-promotion;
28
+ container-type: inline-size;
29
+
30
+ display: block;
31
+
32
+ width: 100%;
33
+ min-width: 0;
34
+ max-width: 100%;
35
+ box-sizing: border-box;
36
+
37
+ &--condensed {
38
+ .uilib-card-promotion__main-content,
39
+ .uilib-card-promotion__code-section {
40
+ gap: var(--uilib-spacing-200);
41
+
42
+ padding: var(--uilib-spacing-200);
43
+ }
44
+
45
+ .uilib-card-promotion__main-content {
46
+ row-gap: 0;
47
+ }
48
+
49
+ .uilib-card-promotion__code-container {
50
+ gap: var(--uilib-spacing-200);
51
+ }
52
+
53
+ .uilib-card-promotion__subcopy {
54
+ grid-column: 2;
55
+
56
+ display: block;
57
+
58
+ @container uilib-card-promotion (max-width: #{$uilib-card-promotion-horizontal}) {
59
+ display: flex;
60
+ flex-flow: column nowrap;
61
+ gap: 0;
62
+ align-items: flex-start;
63
+ }
64
+ }
65
+ }
66
+
67
+ &__inner {
68
+ display: flex;
69
+ flex-flow: column nowrap;
70
+
71
+ @container uilib-card-promotion (min-width: #{$uilib-card-promotion-horizontal}) {
72
+ flex-flow: row nowrap;
73
+ align-items: stretch;
74
+ }
75
+ }
76
+
77
+ &__main-content,
78
+ &__code-section {
79
+ position: relative;
80
+ z-index: 1;
81
+
82
+ width: 100%;
83
+ min-width: 0;
84
+ padding: var(--uilib-spacing-400);
85
+
86
+ &::before {
87
+ position: absolute;
88
+ inset: 0;
89
+ content: '';
90
+ z-index: -1;
91
+
92
+ display: block;
93
+
94
+ border-radius: var(--uilib-card-promotion-radius);
95
+
96
+ background: var(--uilib-card-promotion-bg-color);
97
+
98
+ box-shadow: var(--uilib-card-promotion-elevation);
99
+ }
100
+ }
101
+
102
+ &__main-content {
103
+ display: grid;
104
+ grid-template-columns: auto 1fr;
105
+ gap: var(--uilib-spacing-200) var(--uilib-spacing-400);
106
+ align-items: start;
107
+
108
+ @container uilib-card-promotion (min-width: #{$uilib-card-promotion-horizontal}) {
109
+ flex: 1 1 0;
110
+
111
+ width: auto;
112
+ }
113
+ }
114
+
115
+ &__code-section {
116
+ display: flex;
117
+ flex-flow: row nowrap;
118
+ gap: var(--uilib-spacing-400);
119
+ justify-content: flex-end;
120
+ align-items: center;
121
+
122
+ @container uilib-card-promotion (min-width: 36rem) {
123
+ flex: 0 0 auto;
124
+ justify-content: center;
125
+ align-self: stretch;
126
+
127
+ width: auto;
128
+ min-width: 17.4375rem; /* 279 / 16 */
129
+ }
130
+ }
131
+
132
+ &__divider {
133
+ position: relative;
134
+ z-index: 2;
135
+
136
+ width: auto;
137
+ margin: 0 var(--uilib-spacing-300);
138
+
139
+ background: var(--uilib-card-promotion-bg-color);
140
+
141
+ @container uilib-card-promotion (min-width: 36rem) {
142
+ margin: var(--uilib-spacing-300) 0;
143
+
144
+ border-top-width: 0;
145
+ border-right-width: var(--uilib-stroke-size-025);
146
+ }
147
+ }
148
+
149
+ &__code-container {
150
+ display: inline-flex;
151
+ flex-wrap: wrap;
152
+ gap: var(--uilib-spacing-400);
153
+ justify-content: center;
154
+ align-items: center;
155
+
156
+ width: 100%;
157
+ }
158
+
159
+ &__code {
160
+ flex: 0 1 auto;
161
+
162
+ min-width: 0;
163
+
164
+ color: var(--uilib-card-promotion-code-color);
165
+ font: var(--uilib-typography-label-medium-strong);
166
+ text-align: center;
167
+ text-transform: uppercase;
168
+
169
+ @container uilib-card-promotion (min-width: 36rem) {
170
+ flex: 1;
171
+ }
172
+ }
173
+
174
+ &__cta {
175
+ display: inline-grid;
176
+ flex-shrink: 0;
177
+
178
+ // Both labels share one grid cell, so the wrapper always sizes to the wider of
179
+ // "Copy code" / "Code copied" — no JS measurement, immune to font/mount timing.
180
+ .uilib-card-promotion__cta-copy,
181
+ .uilib-card-promotion__cta-copied {
182
+ grid-area: 1 / 1;
183
+
184
+ white-space: nowrap;
185
+ }
186
+
187
+ .uilib-button__content {
188
+ white-space: nowrap;
189
+ }
190
+
191
+ .uilib-card-promotion__cta-copied {
192
+ visibility: hidden;
193
+ }
194
+
195
+ &.copied {
196
+ .uilib-card-promotion__cta-copy {
197
+ visibility: hidden;
198
+ }
199
+
200
+ .uilib-card-promotion__cta-copied {
201
+ visibility: visible;
202
+ }
203
+ }
204
+ }
205
+
206
+ &__icon {
207
+ grid-row: 1 / span 2;
208
+
209
+ flex-shrink: 0;
210
+ align-self: flex-start;
211
+
212
+ @container uilib-card-promotion (max-width: #{$uilib-card-promotion-horizontal}) {
213
+ grid-row: auto;
214
+ }
215
+
216
+ &-copied {
217
+ -webkit-mask-image: var(--uilib-card-promotion-cta-copied-icon);
218
+ mask-image: var(--uilib-card-promotion-cta-copied-icon);
219
+ }
220
+
221
+ &-copy {
222
+ -webkit-mask-image: var(--uilib-card-promotion-cta-copy-icon);
223
+ mask-image: var(--uilib-card-promotion-cta-copy-icon);
224
+ }
225
+ }
226
+
227
+ &__headline-row {
228
+ display: flex;
229
+ flex-flow: column nowrap;
230
+ gap: var(--uilib-spacing-200);
231
+ align-items: flex-start;
232
+
233
+ min-width: 0;
234
+
235
+ @container uilib-card-promotion (min-width: 36rem) {
236
+ flex-flow: row wrap;
237
+ }
238
+ }
239
+
240
+ &__headline {
241
+ flex: 1 0 0;
242
+
243
+ margin: 0;
244
+
245
+ color: var(--uilib-card-promotion-headline-color);
246
+ font: var(--uilib-typography-component-heading-large-strong);
247
+ }
248
+
249
+ &__subcopy {
250
+ grid-column: 2;
251
+
252
+ margin: 0;
253
+
254
+ color: var(--uilib-card-promotion-subcopy-color);
255
+ font: var(--uilib-typography-body-medium);
256
+
257
+ @container uilib-card-promotion (max-width: #{$uilib-card-promotion-horizontal}) {
258
+ grid-column: 1 / -1;
259
+
260
+ display: flex;
261
+ flex-flow: column nowrap;
262
+ gap: var(--uilib-spacing-200);
263
+ align-items: flex-start;
264
+ }
265
+
266
+ a {
267
+ color: var(--uilib-card-promotion-subcopy-link-color);
268
+ }
269
+ }
270
+
271
+ &__announcement {
272
+ @include uilib-visually-hidden;
273
+ }
274
+ }
275
+ }
@@ -0,0 +1,14 @@
1
+ @use '../../../variables/env-variables' as *;
2
+
3
+ // Promo Banner – variables
4
+ $uilib-card-promotion-variables: (
5
+ elevation: var(--uilib-elevation-100),
6
+ radius: var(--uilib-border-radius-400),
7
+ bg-color: var(--uilib-color-core-neutral),
8
+ headline-color: var(--uilib-color-text-strong),
9
+ subcopy-color: var(--uilib-color-text-body),
10
+ subcopy-link-color: var(--uilib-color-text-link),
11
+ code-color: var(--uilib-color-text-strong),
12
+ cta-copy-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/copy.svg'),
13
+ cta-copied-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/checkmark-circled-filled.svg'),
14
+ ) !default;
@@ -1,6 +1,6 @@
1
1
  // Card Selectable / _mixins
2
2
  @use 'variables' as *;
3
- @use '../..//utility/mixins' as *;
3
+ @use '../../utility/mixins' as *;
4
4
  @use '../card/mixins' as *;
5
5
  @use '../../forms/form-row/mixins' as *;
6
6
  @use '../../forms/input-radio/mixins' as *;
@@ -65,10 +65,6 @@ $uilib-card-selectable-included: false !default;
65
65
 
66
66
  box-shadow: none;
67
67
 
68
- &--dashed {
69
- outline: var(--uilib-stroke-size-025) var(--uilib-stroke-style-dashed) var(--uilib-card-selectable-dashed-border-color);
70
- }
71
-
72
68
  &--clickable-card {
73
69
  cursor: pointer;
74
70
 
@@ -4,8 +4,9 @@ $uilib-card-selectable-variables: (
4
4
  radius: var(--uilib-border-radius-200),
5
5
  bg-color: var(--uilib-color-core-neutral),
6
6
  default-border-color: var(--uilib-color-border-card),
7
- dashed-border-color: var(--uilib-color-border-dashed),
8
7
  selected-border-color: var(--uilib-color-border-interaction),
9
8
  selected-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/checkmark-corner-filled.svg'),
10
9
  selected-icon-shape: url('#{$uilib-assets-base-url}v3/icons/tui/standard/checkmark-corner-solid.svg'),
10
+ // Below are deprecated
11
+ dashed-border-color: var(--uilib-color-border-dashed),
11
12
  ) !default;
@@ -1,5 +1,4 @@
1
1
  @use '../../variables/env-variables' as *;
2
- @use 'sass:map';
3
2
 
4
3
  // flyout dropdown specific variables to allow themeing
5
4
  $uilib-flyout-dropdown-variables: (
@@ -35,6 +35,11 @@ $uilib-datepicker-included: false !default;
35
35
  }
36
36
  }
37
37
 
38
+ .uilib-form-row:has(tui-uilib-datepicker[hide-input][defined]) [class^='uilib-form-row__'] {
39
+ /* Hide the form row contents once element is defined */
40
+ display: none;
41
+ }
42
+
38
43
  .uilib-datepicker {
39
44
  --uilib-datepicker-dual: #{$uilib-datepicker-dual};
40
45
  --uilib-datepicker-dual-weeknumbers: #{$uilib-datepicker-dual-weeknumbers};
@@ -67,6 +67,10 @@ $uilib-input-radio-scroll-included: false !default;
67
67
  #0000
68
68
  );
69
69
 
70
+ tui-uilib-input-radio-scroll {
71
+ display: contents;
72
+ }
73
+
70
74
  .uilib-form-row__label {
71
75
  font: var(--uilib-typography-heading-xlarge);
72
76
  }
@@ -175,7 +179,8 @@ $uilib-input-radio-scroll-included: false !default;
175
179
  @include uilib-visually-hidden;
176
180
  }
177
181
 
178
- &[is-hydrated] {
182
+ &[is-hydrated],
183
+ tui-uilib-input-radio-scroll[is-hydrated] {
179
184
  .uilib-input-chip-list,
180
185
  .uilib-card-selectable-list {
181
186
  scrollbar-width: none;
@@ -25,7 +25,7 @@ $uilib-input-switch-included: false !default;
25
25
  margin-bottom: var(--uilib-spacing-200);
26
26
  }
27
27
 
28
- &__input {
28
+ &--input-switch &__input {
29
29
  margin-top: 0;
30
30
  }
31
31
  }
@@ -49,11 +49,13 @@ $uilib-input-switch-included: false !default;
49
49
  font: var(--uilib-form-row-label-font);
50
50
  }
51
51
 
52
- &:has(.uilib-input-switch__input[disabled]) {
52
+ &:has(.uilib-input-switch__input:disabled),
53
+ &-input:disabled + .uilib-input-switch {
53
54
  cursor: auto;
54
55
  }
55
56
 
56
- &:has(.uilib-input-switch__input:focus-visible) {
57
+ &:has(.uilib-input-switch__input:focus-visible),
58
+ &-input:focus-visible + .uilib-input-switch {
57
59
  @include uilib-focus;
58
60
 
59
61
  &::before {
@@ -61,7 +63,8 @@ $uilib-input-switch-included: false !default;
61
63
  }
62
64
  }
63
65
 
64
- &__input {
66
+ &__input,
67
+ &-input {
65
68
  position: absolute;
66
69
 
67
70
  width: 0;
@@ -71,7 +74,8 @@ $uilib-input-switch-included: false !default;
71
74
 
72
75
  opacity: 0;
73
76
 
74
- &:checked + .uilib-input-switch__track {
77
+ &:checked + .uilib-input-switch__track,
78
+ &:checked + .uilib-input-switch .uilib-input-switch__track {
75
79
  border-color: var(--uilib-input-switch-track-selected-border-color);
76
80
 
77
81
  background-color: var(--uilib-input-switch-track-selected-color);
@@ -83,7 +87,9 @@ $uilib-input-switch-included: false !default;
83
87
  }
84
88
  }
85
89
 
86
- &[disabled] + .uilib-input-switch__track {
90
+ /* stylelint-disable-next-line order/order */
91
+ &:disabled + .uilib-input-switch__track,
92
+ &:disabled + .uilib-input-switch .uilib-input-switch__track {
87
93
  border-color: var(--uilib-input-switch-track-disabled-border-color);
88
94
 
89
95
  background-color: var(--uilib-input-switch-track-color-disabled);
@@ -31,12 +31,19 @@
31
31
  @include uilib-grid-col-offset($i);
32
32
  }
33
33
  }
34
+
35
+ #{$uilib-grid-selector-column}--offset#{$prefix}-reset {
36
+ @include uilib-grid-col-offset-reset;
37
+ }
38
+
34
39
  #{$uilib-grid-selector-column}--order#{$prefix}-first {
35
40
  @include uilib-grid-col-order-first;
36
41
  }
42
+
37
43
  #{$uilib-grid-selector-column}--order#{$prefix}-last {
38
44
  @include uilib-grid-col-order-last;
39
45
  }
46
+
40
47
  #{$uilib-grid-selector-column}--order#{$prefix}-reset {
41
48
  @include uilib-grid-col-order-reset;
42
49
  }
@@ -106,6 +106,10 @@
106
106
  grid-column-start: (1 + $offset);
107
107
  }
108
108
 
109
+ @mixin uilib-grid-col-offset-reset {
110
+ grid-column-start: auto;
111
+ }
112
+
109
113
  @mixin uilib-grid-col-order($i) {
110
114
  @if meta.type-of($i) != 'number' {
111
115
  @error 'Value for `uilib-grid-col-order` should be a number.';
@@ -18,110 +18,129 @@ $uilib-list-included: false !default;
18
18
  @mixin uilib-list-master() {
19
19
  .uilib-list {
20
20
  @include uilib-list-base;
21
- }
22
21
 
23
- .uilib-list--strong {
24
- color: var(--uilib-color-text-strong);
25
- }
22
+ /* stylelint-disable-next-line order/order */
23
+ &--strong {
24
+ color: var(--uilib-color-text-strong);
25
+ }
26
26
 
27
- .uilib-list--label {
28
- color: var(--uilib-color-text-strong);
29
- font: var(--uilib-typography-label-medium);
30
- }
27
+ &--label {
28
+ color: var(--uilib-color-text-strong);
29
+ font: var(--uilib-typography-label-medium);
30
+ }
31
31
 
32
- .uilib-list--icon,
33
- .uilib-list--image {
34
- & > li::before {
35
- display: none;
32
+ &--icon,
33
+ &--image {
34
+ & > li::before {
35
+ display: none;
36
+ }
36
37
  }
37
- }
38
38
 
39
- .uilib-list__icon {
40
- position: absolute;
41
- top: 0;
42
- left: 0;
39
+ &__icon {
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
43
 
44
- &.uilib-icon {
45
- background: var(--uilib-list-bullet-color);
44
+ &.uilib-icon {
45
+ background: var(--uilib-list-bullet-color);
46
+ }
46
47
  }
47
- }
48
48
 
49
- .uilib-list--icon-small {
50
- & > li {
51
- min-height: var(--uilib-icon-size-small);
52
- padding-left: calc(var(--uilib-icon-size-xsmall) + var(--uilib-spacing-200));
49
+ /* stylelint-disable-next-line order/order */
50
+ &--icon-small {
51
+ & > li {
52
+ min-height: var(--uilib-icon-size-small);
53
+ padding-left: calc(var(--uilib-icon-size-xsmall) + var(--uilib-spacing-200));
54
+ }
55
+
56
+ .uilib-list__icon {
57
+ top: calc(var(--uilib-spacing-300) / 4);
58
+ }
53
59
  }
54
60
 
55
- .uilib-list__icon {
56
- top: calc(var(--uilib-spacing-300) / 4);
61
+ &--icon-large {
62
+ & > li {
63
+ min-height: var(--uilib-icon-size-medium);
64
+ padding-top: calc(calc(var(--uilib-icon-size-medium) - calc(1rem * var(--uilib-line-height-body))) / 2);
65
+ padding-left: calc(var(--uilib-icon-size-medium) + var(--uilib-spacing-200));
66
+ }
67
+
68
+ .uilib-list__icon {
69
+ top: 0;
70
+ }
57
71
  }
58
- }
59
72
 
60
- .uilib-list--icon-large {
61
- & > li {
62
- min-height: var(--uilib-icon-size-medium);
63
- padding-top: calc(calc(var(--uilib-icon-size-medium) - calc(1rem * var(--uilib-line-height-body))) / 2);
64
- padding-left: calc(var(--uilib-icon-size-medium) + var(--uilib-spacing-200));
73
+ &--image {
74
+ & > li {
75
+ min-height: var(--uilib-spacing-1000);
76
+ padding-top: calc(var(--uilib-spacing-050) * 5);
77
+ padding-left: calc(var(--uilib-spacing-1000) + var(--uilib-spacing-200));
78
+ }
65
79
  }
66
80
 
67
- .uilib-list__icon {
81
+ &__image {
82
+ position: absolute;
68
83
  top: 0;
69
- }
70
- }
84
+ left: 0;
85
+
86
+ width: var(--uilib-spacing-1000);
87
+ aspect-ratio: var(--uilib-aspect-ratio-1x1-square);
88
+
89
+ border-radius: var(--uilib-list-image-radius);
90
+
91
+ overflow: hidden;
71
92
 
72
- .uilib-list--image {
73
- & > li {
74
- min-height: var(--uilib-spacing-1000);
75
- padding-top: calc(var(--uilib-spacing-050) * 5);
76
- padding-left: calc(var(--uilib-spacing-1000) + var(--uilib-spacing-200));
93
+ img {
94
+ object-fit: cover;
95
+ object-position: center;
96
+ }
77
97
  }
78
- }
79
98
 
80
- .uilib-list__image {
81
- position: absolute;
82
- top: 0;
83
- left: 0;
99
+ /* stylelint-disable-next-line order/order */
100
+ &--image-alt > li > &__image {
101
+ border-radius: var(--uilib-list-image-alt-radius);
102
+ }
84
103
 
85
- width: var(--uilib-spacing-1000);
86
- aspect-ratio: var(--uilib-aspect-ratio-1x1-square);
104
+ &--inverse {
105
+ @include uilib-list-inverse;
87
106
 
88
- border-radius: var(--uilib-list-image-radius);
107
+ .uilib-list__icon {
108
+ background: var(--uilib-color-text-inverse);
109
+ }
110
+ }
89
111
 
90
- overflow: hidden;
112
+ &--numbered {
113
+ @include uilib-list-ordered;
91
114
 
92
- img {
93
- object-fit: cover;
94
- object-position: center;
115
+ &.uilib-list--inverse {
116
+ @include uilib-list-ordered-inverse;
117
+ }
95
118
  }
96
- }
97
119
 
98
- .uilib-list--image-alt > li > .uilib-list__image {
99
- border-radius: var(--uilib-list-image-alt-radius);
100
- }
120
+ &--columns {
121
+ display: block;
101
122
 
102
- .uilib-list--inverse {
103
- @include uilib-list-inverse;
123
+ columns: 20ch 2;
104
124
 
105
- .uilib-list__icon {
106
- background: var(--uilib-color-text-inverse);
125
+ & > li {
126
+ margin-bottom: var(--uilib-spacing-100);
127
+ }
107
128
  }
108
- }
109
-
110
- .uilib-list--numbered {
111
- @include uilib-list-ordered;
112
129
 
113
- &.uilib-list--inverse {
114
- @include uilib-list-ordered-inverse;
130
+ &--horizontal {
131
+ display: flex;
132
+ flex-flow: row wrap;
133
+ gap: var(--uilib-spacing-200) var(--uilib-spacing-400);
115
134
  }
116
- }
117
135
 
118
- .uilib-list--columns {
119
- display: block;
136
+ &__title {
137
+ display: block;
120
138
 
121
- columns: 20ch 2;
139
+ font: var(--uilib-list-multiline-title-font);
140
+ }
122
141
 
123
- & > li {
124
- margin-bottom: var(--uilib-spacing-100);
142
+ li:has(> &__title) {
143
+ font: var(--uilib-typography-body-medium);
125
144
  }
126
145
  }
127
146
  }
@@ -6,4 +6,5 @@ $uilib-list-variables: (
6
6
  bullet-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/list-item.svg'),
7
7
  image-radius: var(--uilib-border-radius-100),
8
8
  image-alt-radius: var(--uilib-border-radius-circle),
9
+ multiline-title-font: var(--uilib-typography-label-medium),
9
10
  ) !default;
@@ -1,11 +1,8 @@
1
1
  @use '../../variables/env-variables' as *;
2
- @use '../../variables/primitives' as *;
3
- @use '../../variables/border-radius' as *;
4
- @use 'sass:map';
5
2
 
6
3
  // modal specific variables to allow themeing
7
4
  $uilib-modal-variables: (
8
5
  close-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/cross.svg'),
9
6
  backdrop-color: var(--uilib-color-other-scrim),
10
- radius: map.get($uilib-radius, '400'),
7
+ radius: var(--uilib-border-radius-400),
11
8
  ) !default;
@@ -1,8 +1,4 @@
1
- @use 'sass:map';
2
- @use '../../variables/colors' as *;
3
- @use '../../variables/primitives' as *;
4
-
5
1
  $uilib-skeleton-variables: (
6
- color: map.get($uilib-color-semantic, 'other-skeleton-loading'),
7
- shimmer-color: map.get($uilib-primitives, 'color-neutral-20'),
2
+ color: var(--uilib-color-other-skeleton-loading),
3
+ shimmer-color: var(--uilib-color-canvas-contrast),
8
4
  ) !default;