@carbon/styles 1.114.0 → 1.115.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 (47) hide show
  1. package/css/styles.css +3356 -1547
  2. package/css/styles.min.css +7 -1
  3. package/package.json +10 -10
  4. package/scss/components/Tearsheet/_index.scss +11 -0
  5. package/scss/components/Tearsheet/_tearsheet.scss +715 -0
  6. package/scss/components/__tests__/data-table-test.js +49 -0
  7. package/scss/components/_index.scss +5 -2
  8. package/scss/components/big-number/_big-number.scss +1 -0
  9. package/scss/components/button/_button.scss +11 -12
  10. package/scss/components/button/_vars.scss +4 -4
  11. package/scss/components/card/_card.scss +2 -2
  12. package/scss/components/checkbox/_checkbox.scss +69 -26
  13. package/scss/components/combo-box/_combo-box.scss +32 -21
  14. package/scss/components/data-table/action/_data-table-action.scss +54 -22
  15. package/scss/components/data-table/sort/_data-table-sort.scss +37 -3
  16. package/scss/components/date-picker/_date-picker-next.scss +60 -0
  17. package/scss/components/date-picker/_date-picker.scss +73 -0
  18. package/scss/components/date-picker/_flatpickr.scss +10 -0
  19. package/scss/components/dropdown/_dropdown.scss +26 -4
  20. package/scss/components/fluid-date-picker/_fluid-date-picker.scss +95 -11
  21. package/scss/components/fluid-list-box/_fluid-list-box.scss +102 -23
  22. package/scss/components/fluid-number-input/_fluid-number-input.scss +204 -24
  23. package/scss/components/fluid-search/_fluid-search.scss +7 -4
  24. package/scss/components/fluid-select/_fluid-select.scss +31 -2
  25. package/scss/components/fluid-text-input/_fluid-text-input.scss +34 -4
  26. package/scss/components/form/_form.scss +1 -14
  27. package/scss/components/guidebanner/_guidebanner.scss +322 -0
  28. package/scss/components/guidebanner/_index.scss +11 -0
  29. package/scss/components/list-box/_list-box.scss +116 -8
  30. package/scss/components/menu/_menu.scss +18 -1
  31. package/scss/components/multiselect/_multiselect.scss +82 -47
  32. package/scss/components/notifications-panel/_index.scss +11 -0
  33. package/scss/components/notifications-panel/_notifications-panel.scss +459 -0
  34. package/scss/components/number-input/_number-input.scss +94 -8
  35. package/scss/components/radio-button/_radio-button.scss +93 -27
  36. package/scss/components/search/_search.scss +35 -8
  37. package/scss/components/select/_select.scss +65 -5
  38. package/scss/components/tabs/_tabs.scss +2 -1
  39. package/scss/components/tag/_mixins.scss +19 -1
  40. package/scss/components/tag/_tag.scss +46 -16
  41. package/scss/components/text-input/_text-input.scss +53 -121
  42. package/scss/components/tile/_tile.scss +131 -13
  43. package/scss/utilities/_skeleton.scss +7 -1
  44. /package/scss/components/{EditInPlace → edit-in-place}/_edit-in-place.scss +0 -0
  45. /package/scss/components/{EditInPlace → edit-in-place}/_index.scss +0 -0
  46. /package/scss/components/{OptionsTile → options-tile}/_index.scss +0 -0
  47. /package/scss/components/{OptionsTile → options-tile}/_options-tile.scss +0 -0
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2025
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -14,6 +14,8 @@
14
14
  @use '../../utilities/convert';
15
15
  @use '../../utilities/focus-outline' as *;
16
16
  @use '../../utilities/layout';
17
+ @use '../../border-radius' as *;
18
+ @use '../../feature-flags' as *;
17
19
 
18
20
  /// Multi select styles
19
21
  /// @access public
@@ -51,24 +53,37 @@
51
53
  min-inline-size: auto;
52
54
  }
53
55
 
54
- // When select all is turned on, the first item in the listbox
55
- // is always the "Select all" option and gets special border
56
- // treatment
57
- .#{$prefix}--multi-select.#{$prefix}--multi-select--selectall
58
- .#{$prefix}--list-box__menu-item:first-child
59
- .#{$prefix}--list-box__menu-item__option {
60
- padding: calc((layout.size('height') - 1lh) / 2 - 1px) $spacing-05;
61
- margin: 0;
62
- border-block-end: 1px solid $border-subtle-01;
63
- }
64
-
65
- // When select all is turned on, the second item in the list
66
- // has special treatment to look correct against the "Select all"
67
- // border treatment
68
- .#{$prefix}--multi-select.#{$prefix}--multi-select--selectall
69
- .#{$prefix}--list-box__menu-item:nth-child(2)
70
- .#{$prefix}--list-box__menu-item__option {
71
- border-block-start: none;
56
+ @if enabled('enable-v12-release') {
57
+ // When select all is turned on, the "Select all" option is separated
58
+ // from the rest of the options by a divider element
59
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--selectall
60
+ .#{$prefix}--list-box__menu-divider {
61
+ display: block;
62
+ background-color: $border-subtle;
63
+ block-size: convert.to-rem(1px);
64
+ margin-block: $spacing-02;
65
+ margin-inline: -$spacing-02;
66
+ }
67
+ } @else {
68
+ // When select all is turned on, the first item in the listbox
69
+ // is always the "Select all" option and gets special border
70
+ // treatment
71
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--selectall
72
+ .#{$prefix}--list-box__menu-item:first-child
73
+ .#{$prefix}--list-box__menu-item__option {
74
+ padding: calc((layout.size('height') - 1lh) / 2 - 1px) $spacing-05;
75
+ margin: 0;
76
+ border-block-end: 1px solid $border-subtle-01;
77
+ }
78
+
79
+ // When select all is turned on, the second item in the list
80
+ // has special treatment to look correct against the "Select all"
81
+ // border treatment
82
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--selectall
83
+ .#{$prefix}--list-box__menu-item:nth-child(2)
84
+ .#{$prefix}--list-box__menu-item__option {
85
+ border-block-start: none;
86
+ }
72
87
  }
73
88
 
74
89
  .#{$prefix}--multi-select
@@ -133,16 +148,35 @@
133
148
  outline: none;
134
149
  }
135
150
 
136
- .#{$prefix}--multi-select--filterable--input-focused,
137
- .#{$prefix}--multi-select
138
- .#{$prefix}--list-box__field--wrapper--input-focused:has(
139
- button[aria-expanded='false']
140
- ),
141
- .#{$prefix}--multi-select
142
- .#{$prefix}--list-box__field--wrapper--input-focused:has(
143
- button[aria-expanded='true']
144
- ) {
145
- @include focus-outline('outline');
151
+ @if not enabled('enable-v12-release') {
152
+ .#{$prefix}--multi-select--filterable--input-focused,
153
+ .#{$prefix}--multi-select
154
+ .#{$prefix}--list-box__field--wrapper--input-focused:has(
155
+ button[aria-expanded='false']
156
+ ),
157
+ .#{$prefix}--multi-select
158
+ .#{$prefix}--list-box__field--wrapper--input-focused:has(
159
+ button[aria-expanded='true']
160
+ ) {
161
+ @include focus-outline('outline');
162
+ }
163
+ } @else {
164
+ .#{$prefix}--multi-select--filterable--input-focused,
165
+ .#{$prefix}--multi-select:has(
166
+ .#{$prefix}--list-box__field--wrapper--input-focused
167
+ ):has(button[aria-expanded='false']),
168
+ .#{$prefix}--multi-select:has(
169
+ .#{$prefix}--list-box__field--wrapper--input-focused
170
+ ):has(button[aria-expanded='true']) {
171
+ @include focus-outline('outline');
172
+ }
173
+
174
+ .#{$prefix}--multi-select.#{$prefix}--list-box--expanded:has(
175
+ button[aria-activedescendant]:not([aria-activedescendant=''])
176
+ ) {
177
+ outline-offset: convert.to-rem(-1px);
178
+ outline-width: convert.to-rem(1px);
179
+ }
146
180
  }
147
181
 
148
182
  .#{$prefix}--multi-select.#{$prefix}--list-box--expanded
@@ -156,25 +190,26 @@
156
190
  outline-width: convert.to-rem(1px);
157
191
  }
158
192
 
159
- .#{$prefix}--multi-select--filterable.#{$prefix}--multi-select--selected
160
- .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted::before,
161
- .#{$prefix}--multi-select.#{$prefix}--multi-select--selected
162
- .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted::before {
163
- position: absolute;
164
- border: 2px solid $focus;
165
- block-size: 100%;
166
- border-block-start: 1px solid $focus;
167
- content: '';
168
- inline-size: 100%;
169
- }
170
-
171
- .#{$prefix}--multi-select--filterable.#{$prefix}--multi-select--selected
172
- .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted,
173
- .#{$prefix}--multi-select.#{$prefix}--multi-select--selected
174
- .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted {
175
- @include focus-outline('reset');
193
+ @if not enabled('enable-v12-release') {
194
+ .#{$prefix}--multi-select--filterable.#{$prefix}--multi-select--selected
195
+ .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted::before,
196
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--selected
197
+ .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted::before {
198
+ position: absolute;
199
+ border: 2px solid $focus;
200
+ block-size: 100%;
201
+ border-block-start: 1px solid $focus;
202
+ content: '';
203
+ inline-size: 100%;
204
+ }
205
+
206
+ .#{$prefix}--multi-select--filterable.#{$prefix}--multi-select--selected
207
+ .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted,
208
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--selected
209
+ .#{$prefix}--list-box__menu-item:first-child.#{$prefix}--list-box__menu-item--highlighted {
210
+ @include focus-outline('reset');
211
+ }
176
212
  }
177
-
178
213
  .#{$prefix}--multi-select--filterable.#{$prefix}--multi-select--selected
179
214
  .#{$prefix}--text-input,
180
215
  .#{$prefix}--multi-select.#{$prefix}--multi-select--selected
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2020, 2026
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @forward 'notifications-panel';
9
+ @use 'notifications-panel';
10
+
11
+ @include notifications-panel.notifications-panel;
@@ -0,0 +1,459 @@
1
+ //
2
+ // Copyright IBM Corp. 2020, 2026
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @use '../../config' as *;
9
+ @use '../../theme' as *;
10
+ @use '../../spacing' as *;
11
+ @use '../../motion' as *;
12
+ @use '../../type';
13
+ @use '@carbon/type/scss/font-family' as *;
14
+ @use '../../utilities';
15
+ @use '../../config' as carbon-config;
16
+
17
+ /// NotificationsPanel styles
18
+ /// @access public
19
+ /// @group notifications-panel
20
+ @mixin notifications-panel {
21
+ $block-class: #{$prefix}--notifications-panel;
22
+ $block-size: 38.5rem;
23
+
24
+ @keyframes notifications-panel-fade-in {
25
+ 0% {
26
+ opacity: 0;
27
+ transform: translateY(-$block-size);
28
+ }
29
+
30
+ 100% {
31
+ opacity: 1;
32
+ transform: translateY(0);
33
+ }
34
+ }
35
+
36
+ @keyframes notifications-panel-fade-out {
37
+ 0% {
38
+ opacity: 1;
39
+ transform: translateY(0);
40
+ }
41
+
42
+ 100% {
43
+ opacity: 0;
44
+ transform: translateY(-$block-size);
45
+ }
46
+ }
47
+
48
+ @keyframes notifications-panel-entrance-reduced {
49
+ 0% {
50
+ opacity: 0;
51
+ }
52
+
53
+ 100% {
54
+ opacity: 1;
55
+ }
56
+ }
57
+
58
+ @keyframes notifications-panel-exit-reduced {
59
+ 0% {
60
+ opacity: 1;
61
+ }
62
+
63
+ 100% {
64
+ opacity: 0;
65
+ }
66
+ }
67
+
68
+ .#{$block-class}__entrance {
69
+ animation: notifications-panel-fade-in $duration-moderate-02
70
+ motion(standard);
71
+ }
72
+
73
+ .#{$block-class}__exit {
74
+ animation: notifications-panel-fade-out $duration-moderate-02
75
+ motion(standard) forwards;
76
+ }
77
+
78
+ @media (prefers-reduced-motion) {
79
+ .#{$block-class}__entrance {
80
+ animation: notifications-panel-entrance-reduced $duration-moderate-01
81
+ motion(exit, productive) forwards;
82
+ }
83
+
84
+ .#{$block-class}__exit {
85
+ animation: notifications-panel-exit-reduced $duration-moderate-01
86
+ motion(exit, productive) forwards;
87
+ }
88
+ }
89
+
90
+ .#{$block-class}__container {
91
+ position: fixed;
92
+ z-index: 2;
93
+ overflow: auto;
94
+ background-color: $layer-01;
95
+ border-block-end: 1px solid $border-subtle-02;
96
+ border-inline-start: 1px solid $border-subtle-02;
97
+ box-shadow: 0 $spacing-01 $spacing-02 $overlay;
98
+ clip-path: inset(
99
+ 0 calc(-1 * var(--#{$prefix}-spacing-01))
100
+ calc(-1 * var(--#{$prefix}-spacing-02))
101
+ calc(-1 * var(--#{$prefix}-spacing-01))
102
+ );
103
+ color: $text-primary;
104
+ inset-block-start: $spacing-09;
105
+ inset-inline-end: 0;
106
+ max-block-size: $block-size;
107
+ max-inline-size: 22.75rem;
108
+ min-block-size: $block-size;
109
+ min-inline-size: 20rem;
110
+ transition: transform $duration-fast-02 motion(standard);
111
+ }
112
+
113
+ .#{$block-class}__header-container {
114
+ position: sticky;
115
+ z-index: 2;
116
+ padding: $spacing-03 $spacing-05;
117
+ background-color: $layer-01;
118
+ border-block-end: 1px solid $border-subtle-01;
119
+ inset-block-start: 0;
120
+ }
121
+
122
+ .#{$block-class}__header-flex {
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: space-between;
126
+ }
127
+
128
+ .#{$block-class}__do-not-disturb-toggle {
129
+ padding-block-end: $spacing-03;
130
+
131
+ .#{$prefix}--toggle__label-text {
132
+ @include utilities.visually-hidden;
133
+ }
134
+ }
135
+
136
+ .#{$block-class}__dismiss-button {
137
+ color: $text-primary;
138
+ }
139
+
140
+ .#{$block-class}__header {
141
+ @include type.type-style('heading-compact-01');
142
+
143
+ margin: 0;
144
+ }
145
+
146
+ .#{$block-class}__time-section-label {
147
+ @include type.type-style('label-01');
148
+ @include font-weight('semibold');
149
+
150
+ position: sticky;
151
+ z-index: 2;
152
+ padding: $spacing-03 $spacing-05;
153
+ background-color: $layer-01;
154
+ color: $text-secondary;
155
+ inset-block-start: 3.0625rem;
156
+ }
157
+
158
+ .#{$block-class}__notification:hover,
159
+ .#{$block-class}__notification:focus {
160
+ background-color: $layer-accent-01;
161
+
162
+ .#{$block-class}__dismiss-single-button {
163
+ opacity: 1;
164
+ }
165
+ }
166
+
167
+ .#{$block-class}__notification:focus {
168
+ border-color: $focus;
169
+ box-shadow:
170
+ inset 0 0 0 2px $focus,
171
+ inset 0 0 0 2px $background;
172
+ outline: 0;
173
+ }
174
+
175
+ .#{$block-class}__notification {
176
+ position: relative;
177
+ display: flex;
178
+ align-items: flex-start;
179
+ padding: $spacing-05;
180
+ border: 0;
181
+ background-color: $layer-01;
182
+ cursor: pointer;
183
+ inline-size: 100%;
184
+ min-block-size: 6.25rem;
185
+ text-align: start;
186
+ transition: background-color $duration-moderate-02 motion(standard);
187
+ }
188
+
189
+ .#{$block-class}__notification-title {
190
+ @include type.type-style('heading-01');
191
+
192
+ color: $text-secondary;
193
+ margin-block-end: $spacing-02;
194
+ @include font-weight('regular');
195
+ }
196
+
197
+ .#{$block-class}__notification-title.#{$block-class}__notification-title-unread {
198
+ color: $text-secondary;
199
+ margin-block-end: $spacing-02;
200
+ @include font-weight('semibold');
201
+ }
202
+
203
+ .#{$block-class}__notifications-link {
204
+ @include type.type-style('label-01');
205
+ }
206
+
207
+ .#{$block-class}__notification-status-icon {
208
+ margin-inline-end: $spacing-03;
209
+ min-inline-size: 1rem;
210
+
211
+ &.#{$block-class}__notification-status-icon-error {
212
+ fill: $support-error;
213
+ }
214
+
215
+ &.#{$block-class}__notification-status-icon-success {
216
+ fill: $support-success;
217
+ }
218
+
219
+ &.#{$block-class}__notification-status-icon-warning {
220
+ fill: $support-warning;
221
+ }
222
+
223
+ &.#{$block-class}__notification-status-icon-informational {
224
+ fill: $support-info;
225
+ }
226
+ }
227
+
228
+ .#{$block-class}__notification-content {
229
+ .#{$block-class}__notification-time-label {
230
+ margin-block-end: $spacing-03;
231
+ }
232
+
233
+ .#{$block-class}__notification-time-label,
234
+ .#{$block-class}__notification-description {
235
+ @include type.type-style('label-01');
236
+
237
+ color: $text-secondary;
238
+ }
239
+
240
+ .#{$block-class}__notification-description {
241
+ &.#{$block-class}__notification-short-description {
242
+ display: -webkit-box;
243
+ overflow: hidden;
244
+ -webkit-box-orient: vertical;
245
+ -webkit-line-clamp: 2;
246
+ line-clamp: 2;
247
+ }
248
+
249
+ &.#{$block-class}__notification-long-description {
250
+ display: block;
251
+ overflow: initial;
252
+ -webkit-line-clamp: initial;
253
+ line-clamp: initial;
254
+ }
255
+ }
256
+
257
+ .#{$block-class}__notification-read-more-button,
258
+ .#{$block-class}__notification-read-less-button {
259
+ @include type.type-style('label-01');
260
+
261
+ display: flex;
262
+ align-items: center;
263
+ padding: 0;
264
+ min-inline-size: 5.5rem;
265
+
266
+ .#{$prefix}--btn__icon {
267
+ transition: transform $duration-moderate-02 ease;
268
+
269
+ @media (prefers-reduced-motion: reduce) {
270
+ transition: none;
271
+ }
272
+ }
273
+
274
+ &.#{$block-class}__notification-read-more-button {
275
+ .#{$prefix}--btn__icon {
276
+ transform: rotate(0deg);
277
+ }
278
+ }
279
+
280
+ &.#{$block-class}__notification-read-less-button {
281
+ .#{$prefix}--btn__icon {
282
+ transform: rotate(180deg);
283
+ }
284
+ }
285
+ }
286
+ }
287
+
288
+ .#{$block-class}__dismiss-single-button {
289
+ position: absolute;
290
+ display: flex;
291
+ align-items: center;
292
+ justify-content: center;
293
+ padding: 0;
294
+ color: $text-primary;
295
+ inset-block-start: 0;
296
+ inset-inline-end: 0;
297
+ min-inline-size: 2rem;
298
+ opacity: 0;
299
+
300
+ &:hover,
301
+ &:focus {
302
+ opacity: 1;
303
+ }
304
+ }
305
+
306
+ .#{$block-class}__notification:focus::before {
307
+ display: none;
308
+ }
309
+
310
+ .#{$block-class}__notification-today:not(:first-of-type)::before,
311
+ .#{$block-class}__notification-yesterday:not(:first-of-type)::before,
312
+ .#{$block-class}__notification-previous:not(:first-of-type)::before {
313
+ position: absolute;
314
+ margin: 0 auto;
315
+ background-color: $border-subtle-01;
316
+ block-size: 1px;
317
+ content: '';
318
+ inline-size: calc(100% - (2 * #{$spacing-05}));
319
+ inset-block-start: 0;
320
+ transition: background-color $duration-moderate-02 motion(standard);
321
+ }
322
+
323
+ .#{$block-class}__notification-today:hover
324
+ + .#{$block-class}__notification-today:not(:first-of-type)::before,
325
+ .#{$block-class}__notification-yesterday:hover
326
+ + .#{$block-class}__notification-yesterday:not(:first-of-type)::before,
327
+ .#{$block-class}__notification-previous:hover
328
+ + .#{$block-class}__notification-previous:not(:first-of-type)::before {
329
+ background-color: transparent;
330
+ }
331
+
332
+ .#{$block-class}__main-section-empty.#{$block-class}__main-section {
333
+ display: flex;
334
+ align-items: center;
335
+ justify-content: center;
336
+ block-size: 100%;
337
+ margin-block-start: $spacing-13;
338
+ min-block-size: initial;
339
+ }
340
+
341
+ .#{$block-class}__main-section {
342
+ min-block-size: 498px;
343
+ }
344
+
345
+ .#{$block-class}__bottom-actions {
346
+ position: sticky;
347
+ z-index: 2;
348
+ display: flex;
349
+ align-items: center;
350
+ background-color: $layer-01;
351
+ block-size: 2.5rem;
352
+ border-block-start: 1px solid $border-subtle-01;
353
+ inset-block-end: 0;
354
+ min-block-size: 2.5rem;
355
+ }
356
+
357
+ .#{$block-class}__view-all-button {
358
+ display: flex;
359
+ align-items: center;
360
+ block-size: 2.5rem;
361
+ border-inline-end: 1px solid $border-subtle-01;
362
+ color: $text-primary;
363
+ inline-size: 100%;
364
+ max-inline-size: calc(100% - 2.5rem);
365
+ min-block-size: 2.5rem;
366
+ }
367
+
368
+ .#{$block-class}__settings-button {
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: center;
372
+ padding: 0;
373
+ block-size: 2.5rem;
374
+ color: $text-primary;
375
+ min-block-size: 2.5rem;
376
+ min-inline-size: 2.5rem;
377
+
378
+ .#{$prefix}--btn__icon {
379
+ margin: 0;
380
+ }
381
+ }
382
+
383
+ .#{$block-class}__header-container:has(
384
+ .#{$block-class}__do-not-disturb-toggle
385
+ ) {
386
+ + .#{$block-class}__main-section .#{$block-class}__time-section-label {
387
+ inset-block-start: 4.8125rem;
388
+ }
389
+ }
390
+
391
+ // ---------------------------------------------------------------------------
392
+ // Inline empty-state styles — scoped to NotificationsPanel.
393
+ // NOTE: These styles exist solely to support the inline NotificationsEmptyState
394
+ // companion component. Remove when Carbon core provides its own empty-state
395
+ // pattern and NotificationsEmptyState.tsx is deleted.
396
+ // ---------------------------------------------------------------------------
397
+
398
+ .#{$prefix}--empty-state {
399
+ display: flex;
400
+ color: $text-primary;
401
+ }
402
+
403
+ .#{$prefix}--empty-state-position--top {
404
+ flex-direction: column;
405
+ }
406
+
407
+ .#{$prefix}--empty-state-position--right {
408
+ flex-direction: row-reverse;
409
+ }
410
+
411
+ .#{$prefix}--empty-state-position--bottom {
412
+ flex-direction: column-reverse;
413
+ }
414
+
415
+ .#{$prefix}--empty-state-position--left {
416
+ flex-direction: row;
417
+ }
418
+
419
+ .#{$prefix}--empty-state__illustration {
420
+ block-size: auto;
421
+ margin-block-end: $spacing-05;
422
+
423
+ &.#{$prefix}--empty-state__illustration--lg {
424
+ max-inline-size: $spacing-11;
425
+ min-inline-size: $spacing-11;
426
+ }
427
+
428
+ &.#{$prefix}--empty-state__illustration--sm {
429
+ max-inline-size: $spacing-10;
430
+ min-inline-size: $spacing-10;
431
+ }
432
+ }
433
+
434
+ .#{$prefix}--empty-state__content {
435
+ .#{$prefix}--empty-state__header {
436
+ @include type.type-style('heading-03');
437
+
438
+ margin: 0;
439
+ padding-block-end: $spacing-03;
440
+ }
441
+
442
+ .#{$prefix}--empty-state__header--small {
443
+ @include type.type-style('body-compact-02');
444
+
445
+ padding-block-end: $spacing-03;
446
+ }
447
+
448
+ .#{$prefix}--empty-state__subtitle {
449
+ @include type.type-style('body-01');
450
+
451
+ color: $text-secondary;
452
+ padding-block-end: $spacing-05;
453
+ }
454
+
455
+ .#{$prefix}--empty-state__subtitle--small {
456
+ @include type.type-style('label-01');
457
+ }
458
+ }
459
+ }