@carbon/styles 1.37.0 → 1.38.0-rc.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 (86) hide show
  1. package/css/styles.css +2588 -2403
  2. package/css/styles.min.css +1 -1
  3. package/package.json +5 -5
  4. package/scss/components/accordion/_accordion.scss +47 -35
  5. package/scss/components/aspect-ratio/_aspect-ratio.scss +7 -4
  6. package/scss/components/breadcrumb/_breadcrumb.scss +26 -20
  7. package/scss/components/button/_button.scss +16 -11
  8. package/scss/components/button/_mixins.scss +12 -12
  9. package/scss/components/checkbox/_checkbox.scss +55 -40
  10. package/scss/components/code-snippet/_code-snippet.scss +74 -59
  11. package/scss/components/code-snippet/_mixins.scss +2 -2
  12. package/scss/components/combo-box/_combo-box.scss +2 -2
  13. package/scss/components/combo-button/_combo-button.scss +2 -2
  14. package/scss/components/contained-list/_contained-list.scss +41 -22
  15. package/scss/components/content-switcher/_content-switcher.scss +32 -32
  16. package/scss/components/data-table/_data-table.scss +150 -144
  17. package/scss/components/data-table/_mixins.scss +3 -3
  18. package/scss/components/data-table/action/_data-table-action.scss +83 -81
  19. package/scss/components/data-table/expandable/_data-table-expandable.scss +60 -60
  20. package/scss/components/data-table/skeleton/_data-table-skeleton.scss +10 -8
  21. package/scss/components/data-table/sort/_data-table-sort.scss +38 -38
  22. package/scss/components/date-picker/_date-picker.scss +21 -20
  23. package/scss/components/date-picker/_flatpickr.scss +51 -51
  24. package/scss/components/dropdown/_dropdown.scss +49 -49
  25. package/scss/components/file-uploader/_file-uploader.scss +37 -37
  26. package/scss/components/fluid-combo-box/_fluid-combo-box.scss +4 -4
  27. package/scss/components/fluid-date-picker/_fluid-date-picker.scss +54 -54
  28. package/scss/components/fluid-list-box/_fluid-list-box.scss +33 -33
  29. package/scss/components/fluid-multiselect/_fluid-multiselect.scss +2 -2
  30. package/scss/components/fluid-number-input/_fluid-number-input.scss +30 -30
  31. package/scss/components/fluid-search/_fluid-search.scss +17 -17
  32. package/scss/components/fluid-select/_fluid-select.scss +17 -17
  33. package/scss/components/fluid-text-area/_fluid-text-area.scss +21 -21
  34. package/scss/components/fluid-text-input/_fluid-text-input.scss +26 -26
  35. package/scss/components/fluid-time-picker/_fluid-time-picker.scss +23 -23
  36. package/scss/components/form/_form.scss +16 -15
  37. package/scss/components/inline-loading/_inline-loading.scss +9 -9
  38. package/scss/components/link/_link.scss +1 -1
  39. package/scss/components/list/_list.scss +7 -7
  40. package/scss/components/list-box/_list-box.scss +109 -107
  41. package/scss/components/loading/_loading.scss +10 -9
  42. package/scss/components/menu/_menu.scss +7 -7
  43. package/scss/components/menu-button/_menu-button.scss +1 -1
  44. package/scss/components/modal/_modal.scss +72 -72
  45. package/scss/components/multiselect/_multiselect.scss +11 -11
  46. package/scss/components/notification/_actionable-notification.scss +37 -39
  47. package/scss/components/notification/_inline-notification.scss +26 -26
  48. package/scss/components/notification/_mixins.scss +3 -3
  49. package/scss/components/notification/_toast-notification.scss +16 -18
  50. package/scss/components/number-input/_number-input.scss +70 -70
  51. package/scss/components/overflow-menu/_overflow-menu.scss +50 -50
  52. package/scss/components/pagination/_pagination.scss +46 -34
  53. package/scss/components/pagination/_unstable_pagination.scss +26 -24
  54. package/scss/components/pagination-nav/_mixins.scss +6 -6
  55. package/scss/components/pagination-nav/_pagination-nav.scss +16 -11
  56. package/scss/components/popover/_popover.scss +201 -63
  57. package/scss/components/progress-bar/_progress-bar.scss +33 -11
  58. package/scss/components/progress-indicator/_progress-indicator.scss +46 -42
  59. package/scss/components/radio-button/_radio-button.scss +24 -23
  60. package/scss/components/search/_search.scss +35 -34
  61. package/scss/components/select/_select.scss +31 -29
  62. package/scss/components/skeleton-styles/_skeleton-styles.scss +10 -8
  63. package/scss/components/slider/_slider.scss +28 -28
  64. package/scss/components/structured-list/_mixins.scss +4 -4
  65. package/scss/components/structured-list/_structured-list.scss +16 -16
  66. package/scss/components/tabs/_tabs.scss +50 -50
  67. package/scss/components/tag/_tag.scss +22 -20
  68. package/scss/components/text-area/_text-area.scss +17 -15
  69. package/scss/components/text-input/_text-input.scss +43 -41
  70. package/scss/components/tile/_tile.scss +11 -11
  71. package/scss/components/time-picker/_time-picker.scss +17 -17
  72. package/scss/components/toggle/_toggle.scss +37 -24
  73. package/scss/components/toggletip/_toggletip.scss +3 -2
  74. package/scss/components/tooltip/_tooltip.scss +7 -5
  75. package/scss/components/treeview/_treeview.scss +27 -27
  76. package/scss/components/ui-shell/content/_content.scss +3 -3
  77. package/scss/components/ui-shell/header/_header.scss +47 -47
  78. package/scss/components/ui-shell/header-panel/_header-panel.scss +7 -7
  79. package/scss/components/ui-shell/side-nav/_side-nav.scss +65 -65
  80. package/scss/components/ui-shell/switcher/_switcher.scss +6 -6
  81. package/scss/utilities/_button-reset.scss +1 -1
  82. package/scss/utilities/_skeleton.scss +4 -4
  83. package/scss/utilities/_text-overflow.scss +1 -1
  84. package/scss/utilities/_text-truncate.scss +2 -2
  85. package/scss/utilities/_tooltip.scss +44 -46
  86. package/scss/utilities/_visually-hidden.scss +4 -4
@@ -31,34 +31,33 @@
31
31
 
32
32
  position: relative;
33
33
  display: flex;
34
- width: 100%;
35
- min-width: convert.to-rem(288px);
36
- max-width: convert.to-rem(288px);
37
- height: auto;
38
- min-height: convert.to-rem(48px);
39
34
  flex-wrap: wrap;
40
-
35
+ block-size: auto;
41
36
  color: $text-inverse;
37
+ inline-size: 100%;
38
+ max-inline-size: convert.to-rem(288px);
39
+ min-block-size: convert.to-rem(48px);
40
+ min-inline-size: convert.to-rem(288px);
42
41
 
43
42
  @include breakpoint(md) {
44
- max-width: convert.to-rem(608px);
45
43
  flex-wrap: nowrap;
44
+ max-inline-size: convert.to-rem(608px);
46
45
  }
47
46
 
48
47
  @include breakpoint(lg) {
49
- max-width: convert.to-rem(736px);
48
+ max-inline-size: convert.to-rem(736px);
50
49
  }
51
50
 
52
51
  @include breakpoint(max) {
53
- max-width: convert.to-rem(832px);
52
+ max-inline-size: convert.to-rem(832px);
54
53
  }
55
54
  }
56
55
 
57
56
  .#{$prefix}--actionable-notification--toast {
58
- min-width: convert.to-rem(288px);
59
- max-width: convert.to-rem(288px);
60
57
  flex-wrap: wrap;
61
58
  box-shadow: 0 2px 6px 0 rgb(0 0 0 / 20%);
59
+ max-inline-size: convert.to-rem(288px);
60
+ min-inline-size: convert.to-rem(288px);
62
61
  }
63
62
 
64
63
  .#{$prefix}--actionable-notification:not(
@@ -93,15 +92,15 @@
93
92
  .#{$prefix}--actionable-notification--toast
94
93
  )::before {
95
94
  position: absolute;
96
- top: 0;
97
- left: 0;
98
- width: 100%;
99
- height: 100%;
100
95
  box-sizing: border-box;
101
96
  border-width: 1px 1px 1px 0;
102
97
  border-style: solid;
98
+ block-size: 100%;
103
99
  content: '';
104
100
  filter: opacity(0.4);
101
+ inline-size: 100%;
102
+ inset-block-start: 0;
103
+ inset-inline-start: 0;
105
104
  pointer-events: none;
106
105
  }
107
106
 
@@ -194,7 +193,7 @@
194
193
  .#{$prefix}--actionable-notification__details {
195
194
  display: flex;
196
195
  flex-grow: 1;
197
- margin: 0 $spacing-09 0 convert.to-rem(13px);
196
+ margin-inline: convert.to-rem(13px) $spacing-09;
198
197
  }
199
198
 
200
199
  .#{$prefix}--actionable-notification:not(
@@ -208,14 +207,14 @@
208
207
 
209
208
  .#{$prefix}--actionable-notification .#{$prefix}--inline-notification__icon {
210
209
  flex-shrink: 0;
211
- margin-top: convert.to-rem(14px);
212
- margin-right: $spacing-05;
210
+ margin-block-start: convert.to-rem(14px);
211
+ margin-inline-end: $spacing-05;
213
212
  }
214
213
 
215
214
  .#{$prefix}--actionable-notification .#{$prefix}--toast-notification__icon {
216
215
  flex-shrink: 0;
217
- margin-top: $spacing-05;
218
- margin-right: $spacing-05;
216
+ margin-block-start: $spacing-05;
217
+ margin-inline-end: $spacing-05;
219
218
  }
220
219
 
221
220
  .#{$prefix}--actionable-notification__text-wrapper {
@@ -245,21 +244,21 @@
245
244
  .#{$prefix}--actionable-notification__title {
246
245
  @include type-style('heading-compact-01');
247
246
 
248
- margin-right: $spacing-02;
249
247
  font-weight: 600;
248
+ margin-inline-end: $spacing-02;
250
249
  word-break: break-word;
251
250
  }
252
251
 
253
252
  .#{$prefix}--actionable-notification--toast
254
253
  .#{$prefix}--actionable-notification__title {
255
- margin-right: 0;
254
+ margin-inline-end: 0;
256
255
  }
257
256
 
258
257
  .#{$prefix}--actionable-notification__subtitle {
259
258
  @include type-style('body-compact-01');
260
259
 
261
- margin-top: 0;
262
260
  color: $text-inverse;
261
+ margin-block-start: 0;
263
262
  word-break: break-word;
264
263
  }
265
264
 
@@ -269,9 +268,9 @@
269
268
  }
270
269
  /* Ghost action button when inline */
271
270
  .#{$prefix}--actionable-notification__action-button.#{$prefix}--btn--ghost {
272
- height: convert.to-rem(32px);
273
- margin-bottom: $spacing-03;
274
- margin-left: $spacing-08;
271
+ block-size: convert.to-rem(32px);
272
+ margin-block-end: $spacing-03;
273
+ margin-inline-start: $spacing-08;
275
274
 
276
275
  @include breakpoint(md) {
277
276
  margin: $spacing-03 0;
@@ -311,21 +310,20 @@
311
310
 
312
311
  .#{$prefix}--actionable-notification--hide-close-button
313
312
  .#{$prefix}--actionable-notification__action-button.#{$prefix}--btn--ghost {
314
- margin-right: $spacing-03;
313
+ margin-inline-end: $spacing-03;
315
314
  }
316
315
 
317
316
  /* Tertiary action button when not inline (toast) */
318
317
  .#{$prefix}--actionable-notification__action-button.#{$prefix}--btn--tertiary {
319
- padding-right: $spacing-05;
320
- padding-left: $spacing-05;
321
- margin-bottom: $spacing-05;
322
-
318
+ margin-block-end: $spacing-05;
323
319
  // Button should be left aligned with text.
324
320
  // 20px is the width of the notification icon
325
321
  // 2px is the width of the left border that should be negated
326
- margin-left: calc(
322
+ margin-inline-start: calc(
327
323
  #{$spacing-07} + #{convert.to-rem(20px)} - #{convert.to-rem(2px)}
328
324
  );
325
+ padding-inline-end: $spacing-05;
326
+ padding-inline-start: $spacing-05;
329
327
  }
330
328
 
331
329
  // Tertiary button styles by default use mostly "inverse" tokens. Since the non-low-contrast notification
@@ -407,27 +405,27 @@
407
405
 
408
406
  .#{$prefix}--actionable-notification--hide-close-button
409
407
  .#{$prefix}--actionable-notification__action-button.#{$prefix}--btn--tertiary {
410
- margin-right: $spacing-03;
408
+ margin-inline-end: $spacing-03;
411
409
  }
412
410
 
413
411
  .#{$prefix}--actionable-notification__close-button {
414
412
  @include focus-outline('reset');
415
413
 
416
414
  position: absolute;
417
- top: 0;
418
- right: 0;
419
415
  display: flex;
420
- width: convert.to-rem(48px);
421
- min-width: convert.to-rem(48px);
422
- max-width: convert.to-rem(48px);
423
- height: convert.to-rem(48px);
424
416
  flex-direction: column;
425
417
  align-items: center;
426
418
  justify-content: center;
427
419
  padding: 0;
428
420
  border: none;
429
421
  background: transparent;
422
+ block-size: convert.to-rem(48px);
430
423
  cursor: pointer;
424
+ inline-size: convert.to-rem(48px);
425
+ inset-block-start: 0;
426
+ inset-inline-end: 0;
427
+ max-inline-size: convert.to-rem(48px);
428
+ min-inline-size: convert.to-rem(48px);
431
429
  transition: outline $duration-fast-02 motion(standard, productive),
432
430
  background-color $duration-fast-02 motion(standard, productive);
433
431
 
@@ -28,26 +28,26 @@
28
28
 
29
29
  position: relative;
30
30
  display: flex;
31
- width: 100%;
32
- min-width: convert.to-rem(288px);
33
- max-width: convert.to-rem(288px);
34
- height: auto;
35
- min-height: convert.to-rem(48px);
36
31
  flex-wrap: wrap;
32
+ block-size: auto;
37
33
 
38
34
  color: $text-inverse;
35
+ inline-size: 100%;
36
+ max-inline-size: convert.to-rem(288px);
37
+ min-block-size: convert.to-rem(48px);
38
+ min-inline-size: convert.to-rem(288px);
39
39
 
40
40
  @include breakpoint(md) {
41
- max-width: convert.to-rem(608px);
42
41
  flex-wrap: nowrap;
42
+ max-inline-size: convert.to-rem(608px);
43
43
  }
44
44
 
45
45
  @include breakpoint(lg) {
46
- max-width: convert.to-rem(736px);
46
+ max-inline-size: convert.to-rem(736px);
47
47
  }
48
48
 
49
49
  @include breakpoint(max) {
50
- max-width: convert.to-rem(832px);
50
+ max-inline-size: convert.to-rem(832px);
51
51
  }
52
52
  }
53
53
 
@@ -80,15 +80,15 @@
80
80
 
81
81
  &::before {
82
82
  position: absolute;
83
- top: 0;
84
- left: 0;
85
- width: 100%;
86
- height: 100%;
87
83
  box-sizing: border-box;
88
84
  border-width: 1px 1px 1px 0;
89
85
  border-style: solid;
86
+ block-size: 100%;
90
87
  content: '';
91
88
  filter: opacity(0.4);
89
+ inline-size: 100%;
90
+ inset-block-start: 0;
91
+ inset-inline-start: 0;
92
92
  pointer-events: none;
93
93
  }
94
94
  }
@@ -182,7 +182,7 @@
182
182
  .#{$prefix}--inline-notification__details {
183
183
  display: flex;
184
184
  flex-grow: 1;
185
- margin: 0 $spacing-09 0 convert.to-rem(13px);
185
+ margin-inline: convert.to-rem(13px) $spacing-09;
186
186
 
187
187
  @include breakpoint(md) {
188
188
  margin: 0 convert.to-rem(13px);
@@ -191,8 +191,8 @@
191
191
 
192
192
  .#{$prefix}--inline-notification__icon {
193
193
  flex-shrink: 0;
194
- margin-top: convert.to-rem(14px);
195
- margin-right: $spacing-05;
194
+ margin-block-start: convert.to-rem(14px);
195
+ margin-inline-end: $spacing-05;
196
196
  }
197
197
 
198
198
  .#{$prefix}--inline-notification__text-wrapper {
@@ -204,7 +204,7 @@
204
204
  .#{$prefix}--inline-notification__title {
205
205
  @include type-style('heading-compact-01');
206
206
 
207
- margin: 0 $spacing-02 0 0;
207
+ margin-inline-end: $spacing-02;
208
208
  }
209
209
 
210
210
  .#{$prefix}--inline-notification__subtitle {
@@ -214,9 +214,9 @@
214
214
  }
215
215
 
216
216
  .#{$prefix}--inline-notification__action-button.#{$prefix}--btn--ghost {
217
- height: convert.to-rem(32px);
218
- margin-bottom: $spacing-03;
219
- margin-left: $spacing-08;
217
+ block-size: convert.to-rem(32px);
218
+ margin-block-end: $spacing-03;
219
+ margin-inline-start: $spacing-08;
220
220
 
221
221
  @include breakpoint(md) {
222
222
  margin: $spacing-03 0;
@@ -256,27 +256,27 @@
256
256
 
257
257
  .#{$prefix}--inline-notification--hide-close-button
258
258
  .#{$prefix}--inline-notification__action-button.#{$prefix}--btn--ghost {
259
- margin-right: $spacing-03;
259
+ margin-inline-end: $spacing-03;
260
260
  }
261
261
 
262
262
  .#{$prefix}--inline-notification__close-button {
263
263
  @include focus-outline('reset');
264
264
 
265
265
  position: absolute;
266
- top: 0;
267
- right: 0;
268
266
  display: flex;
269
- width: convert.to-rem(48px);
270
- min-width: convert.to-rem(48px);
271
- max-width: convert.to-rem(48px);
272
- height: convert.to-rem(48px);
273
267
  flex-direction: column;
274
268
  align-items: center;
275
269
  justify-content: center;
276
270
  padding: 0;
277
271
  border: none;
278
272
  background: transparent;
273
+ block-size: convert.to-rem(48px);
279
274
  cursor: pointer;
275
+ inline-size: convert.to-rem(48px);
276
+ inset-block-start: 0;
277
+ inset-inline-end: 0;
278
+ max-inline-size: convert.to-rem(48px);
279
+ min-inline-size: convert.to-rem(48px);
280
280
  transition: outline $duration-fast-02 motion(standard, productive),
281
281
  background-color $duration-fast-02 motion(standard, productive);
282
282
 
@@ -11,7 +11,7 @@
11
11
  /// @group notification
12
12
  @mixin inline-notification--color($color) {
13
13
  border: 1px solid $color;
14
- border-left: 6px solid $color;
14
+ border-inline-start: 6px solid $color;
15
15
 
16
16
  .#{$prefix}--inline-notification__icon {
17
17
  fill: $color;
@@ -25,14 +25,14 @@
25
25
  /// @access private
26
26
  /// @group notification
27
27
  @mixin notification--color($color) {
28
- border-left: 6px solid $color;
28
+ border-inline-start: 6px solid $color;
29
29
  }
30
30
 
31
31
  /// @access private
32
32
  /// @group notification
33
33
  @mixin notification--experimental($color, $background-color) {
34
- border-left: 3px solid $color;
35
34
  background: $background-color;
35
+ border-inline-start: 3px solid $color;
36
36
 
37
37
  .#{$prefix}--inline-notification__icon,
38
38
  .#{$prefix}--toast-notification__icon,
@@ -29,15 +29,14 @@
29
29
  @include reset;
30
30
 
31
31
  display: flex;
32
- width: convert.to-rem(288px);
33
- height: auto;
34
- padding-left: convert.to-rem(13px);
35
-
32
+ block-size: auto;
36
33
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
37
34
  color: $text-inverse;
35
+ inline-size: convert.to-rem(288px);
36
+ padding-inline-start: convert.to-rem(13px);
38
37
 
39
38
  @include breakpoint(max) {
40
- width: convert.to-rem(352px);
39
+ inline-size: convert.to-rem(352px);
41
40
  }
42
41
  }
43
42
 
@@ -141,30 +140,30 @@
141
140
 
142
141
  .#{$prefix}--toast-notification__icon {
143
142
  flex-shrink: 0;
144
- margin-top: $spacing-05;
145
- margin-right: $spacing-05;
143
+ margin-block-start: $spacing-05;
144
+ margin-inline-end: $spacing-05;
146
145
  }
147
146
 
148
147
  .#{$prefix}--toast-notification__details {
149
- margin-right: $spacing-05;
148
+ margin-inline-end: $spacing-05;
150
149
  }
151
150
 
152
151
  .#{$prefix}--toast-notification__close-button {
153
152
  @include focus-outline('reset');
154
153
 
155
154
  display: flex;
156
- width: convert.to-rem(48px);
157
- min-width: convert.to-rem(48px);
158
- height: convert.to-rem(48px);
159
- min-height: convert.to-rem(48px);
160
155
  flex-direction: column;
161
156
  align-items: center;
162
157
  justify-content: center;
163
158
  padding: 0;
164
159
  border: none;
165
- margin-left: auto;
166
160
  background-color: transparent;
161
+ block-size: convert.to-rem(48px);
167
162
  cursor: pointer;
163
+ inline-size: convert.to-rem(48px);
164
+ margin-inline-start: auto;
165
+ min-block-size: convert.to-rem(48px);
166
+ min-inline-size: convert.to-rem(48px);
168
167
  transition: outline $transition-base, background-color $transition-base;
169
168
 
170
169
  &:focus {
@@ -191,17 +190,16 @@
191
190
  .#{$prefix}--toast-notification__title {
192
191
  @include type-style('heading-compact-01');
193
192
 
194
- margin-top: $spacing-05;
195
193
  font-weight: 600;
194
+ margin-block-start: $spacing-05;
196
195
  word-break: break-word;
197
196
  }
198
197
 
199
198
  .#{$prefix}--toast-notification__subtitle {
200
199
  @include type-style('body-compact-01');
201
200
 
202
- margin-top: 0;
203
- margin-bottom: $spacing-05;
204
201
  color: $text-inverse;
202
+ margin-block: 0 $spacing-05;
205
203
  word-break: break-word;
206
204
  }
207
205
 
@@ -213,9 +211,9 @@
213
211
  .#{$prefix}--toast-notification__caption {
214
212
  @include type-style('body-compact-01');
215
213
 
216
- padding-top: $spacing-03;
217
- margin-bottom: $spacing-05;
218
214
  color: $text-inverse;
215
+ margin-block-end: $spacing-05;
216
+ padding-block-start: $spacing-03;
219
217
  }
220
218
 
221
219
  .#{$prefix}--toast-notification--low-contrast