@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
@@ -24,7 +24,7 @@
24
24
  /// @group pagination
25
25
  @mixin pagination {
26
26
  .#{$prefix}--data-table-container + .#{$prefix}--pagination {
27
- border-top: 0;
27
+ border-block-start: 0;
28
28
  }
29
29
 
30
30
  .#{$prefix}--pagination {
@@ -32,12 +32,12 @@
32
32
  @include type-style('body-compact-01');
33
33
 
34
34
  display: flex;
35
- width: calc(100% - 1px);
36
- min-height: convert.to-rem(40px);
37
35
  align-items: center;
38
36
  justify-content: space-between;
39
- border-top: 1px solid $border-subtle;
40
37
  background-color: $layer;
38
+ border-block-start: 1px solid $border-subtle;
39
+ inline-size: calc(100% - 1px);
40
+ min-block-size: convert.to-rem(40px);
41
41
  overflow-x: auto;
42
42
 
43
43
  @include breakpoint('md') {
@@ -66,37 +66,39 @@
66
66
  }
67
67
 
68
68
  .#{$prefix}--pagination--sm {
69
- min-height: convert.to-rem(32px);
69
+ min-block-size: convert.to-rem(32px);
70
70
  }
71
71
 
72
72
  .#{$prefix}--pagination--lg {
73
- min-height: convert.to-rem(48px);
73
+ min-block-size: convert.to-rem(48px);
74
74
  }
75
75
 
76
76
  .#{$prefix}--pagination .#{$prefix}--select {
77
- height: 100%;
78
77
  align-items: center;
78
+ block-size: 100%;
79
79
  }
80
80
 
81
81
  .#{$prefix}--pagination .#{$prefix}--select-input--inline__wrapper {
82
82
  display: flex;
83
- height: 100%;
83
+ block-size: 100%;
84
84
  }
85
85
 
86
86
  .#{$prefix}--pagination .#{$prefix}--select-input {
87
87
  @include type-style('body-compact-01');
88
88
 
89
- width: auto;
90
- min-width: auto;
91
- height: 100%;
89
+ block-size: 100%;
90
+
91
+ inline-size: auto;
92
92
  line-height: convert.to-rem(40px);
93
+
94
+ min-inline-size: auto;
93
95
  }
94
96
 
95
97
  // Extra specificity is needed to preserve padding
96
98
  .#{$prefix}--pagination
97
99
  .#{$prefix}--select--inline
98
100
  .#{$prefix}--select-input {
99
- padding: 0 2.25rem 0 $spacing-05;
101
+ padding-inline: $spacing-05 2.25rem;
100
102
  }
101
103
 
102
104
  .#{$prefix}--pagination--sm .#{$prefix}--select-input {
@@ -126,30 +128,30 @@
126
128
  }
127
129
 
128
130
  .#{$prefix}--pagination .#{$prefix}--select__arrow {
129
- top: 50%;
131
+ inset-block-start: 50%;
130
132
  transform: translate(-0.5rem, -50%);
131
133
  }
132
134
 
133
135
  .#{$prefix}--pagination
134
136
  .#{$prefix}--select__item-count
135
137
  .#{$prefix}--select-input {
136
- border-right: 1px solid $border-subtle;
138
+ border-inline-end: 1px solid $border-subtle;
137
139
  }
138
140
 
139
141
  .#{$prefix}--pagination__right {
140
- border-left: 1px solid $border-subtle;
142
+ border-inline-start: 1px solid $border-subtle;
141
143
  }
142
144
 
143
145
  .#{$prefix}--pagination__left,
144
146
  .#{$prefix}--pagination__right {
145
147
  display: flex;
146
- height: 100%;
147
148
  align-items: center;
149
+ block-size: 100%;
148
150
  }
149
151
 
150
152
  .#{$prefix}--pagination__left > .#{$prefix}--form-item,
151
153
  .#{$prefix}--pagination__right > .#{$prefix}--form-item {
152
- height: 100%;
154
+ block-size: 100%;
153
155
  }
154
156
 
155
157
  .#{$prefix}--pagination__left .#{$prefix}--pagination__text,
@@ -158,18 +160,18 @@
158
160
  }
159
161
 
160
162
  .#{$prefix}--pagination__left .#{$prefix}--pagination__text {
161
- margin-right: convert.to-rem(1px);
163
+ margin-inline-end: convert.to-rem(1px);
162
164
  }
163
165
 
164
166
  .#{$prefix}--pagination__right .#{$prefix}--pagination__text {
165
- margin-right: 1rem;
166
- margin-left: convert.to-rem(1px);
167
+ margin-inline-end: 1rem;
168
+ margin-inline-start: convert.to-rem(1px);
167
169
  }
168
170
 
169
171
  .#{$prefix}--pagination__right
170
172
  .#{$prefix}--pagination__text.#{$prefix}--pagination__page-text {
171
- margin-right: convert.to-rem(1px);
172
- margin-left: 1rem;
173
+ margin-inline-end: convert.to-rem(1px);
174
+ margin-inline-start: 1rem;
173
175
  }
174
176
 
175
177
  .#{$prefix}--pagination__right .#{$prefix}--pagination__text:empty {
@@ -191,8 +193,8 @@
191
193
  }
192
194
 
193
195
  span.#{$prefix}--pagination__text {
194
- margin-left: $spacing-05;
195
196
  color: $text-primary;
197
+ margin-inline-start: $spacing-05;
196
198
  }
197
199
 
198
200
  span.#{$prefix}--pagination__text.#{$prefix}--pagination__items-count {
@@ -204,17 +206,17 @@
204
206
  @include component-reset.reset;
205
207
 
206
208
  display: flex;
207
- width: convert.to-rem(40px);
208
- height: convert.to-rem(40px);
209
- min-height: convert.to-rem(32px);
210
209
  align-items: center;
211
210
  justify-content: center;
212
211
  border: none;
213
- border-left: 1px solid $border-subtle;
214
212
  margin: 0;
215
213
  background: none;
214
+ block-size: convert.to-rem(40px);
215
+ border-inline-start: 1px solid $border-subtle;
216
216
  cursor: pointer;
217
217
  fill: $icon-primary;
218
+ inline-size: convert.to-rem(40px);
219
+ min-block-size: convert.to-rem(32px);
218
220
  transition: outline $duration-fast-02 motion(standard, productive),
219
221
  background-color $duration-fast-02 motion(standard, productive);
220
222
  }
@@ -224,25 +226,30 @@
224
226
  margin-block-start: 0;
225
227
  }
226
228
 
229
+ [dir='rtl'] .#{$prefix}--pagination__button > svg,
230
+ [dir='rtl'] .#{$prefix}--btn--ghost.#{$prefix}--pagination__button > svg {
231
+ transform: rotate(0.5turn);
232
+ }
233
+
227
234
  .#{$prefix}--pagination--sm .#{$prefix}--pagination__button,
228
235
  .#{$prefix}--pagination--sm
229
236
  .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
230
- width: convert.to-rem(32px);
231
- height: convert.to-rem(32px);
237
+ block-size: convert.to-rem(32px);
238
+ inline-size: convert.to-rem(32px);
232
239
  }
233
240
 
234
241
  .#{$prefix}--pagination--lg .#{$prefix}--pagination__button,
235
242
  .#{$prefix}--pagination--lg
236
243
  .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
237
- width: convert.to-rem(48px);
238
- height: convert.to-rem(48px);
244
+ block-size: convert.to-rem(48px);
245
+ inline-size: convert.to-rem(48px);
239
246
  }
240
247
 
241
248
  .#{$prefix}--pagination__button:focus,
242
249
  .#{$prefix}--btn--ghost:focus.#{$prefix}--pagination__button {
243
250
  @include focus-outline('outline');
244
251
 
245
- border-left: 0;
252
+ border-inline-start: 0;
246
253
  }
247
254
 
248
255
  .#{$prefix}--pagination__button:hover,
@@ -268,8 +275,8 @@
268
275
 
269
276
  // Skeleton state
270
277
  .#{$prefix}--pagination.#{$prefix}--skeleton .#{$prefix}--skeleton__text {
271
- margin-right: 1rem;
272
- margin-bottom: 0;
278
+ margin-block-end: 0;
279
+ margin-inline-end: 1rem;
273
280
  }
274
281
 
275
282
  // Windows HCM fix
@@ -278,4 +285,9 @@
278
285
  .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
279
286
  @include high-contrast-mode('outline');
280
287
  }
288
+
289
+ // RTL overrides
290
+ [dir='rtl'] .#{$prefix}--pagination .#{$prefix}--select__arrow {
291
+ transform: translate(0.5rem, -50%);
292
+ }
281
293
  }
@@ -25,13 +25,13 @@
25
25
  @include type-style('body-compact-01');
26
26
 
27
27
  display: flex;
28
- width: 100%;
29
- min-height: convert.to-rem(40px);
30
28
  align-items: center;
31
29
  justify-content: space-between;
32
- border-top: 1px solid $border-subtle;
33
- border-bottom: 1px solid transparent;
34
30
  background-color: $layer;
31
+ border-block-end: 1px solid transparent;
32
+ border-block-start: 1px solid $border-subtle;
33
+ inline-size: 100%;
34
+ min-block-size: convert.to-rem(40px);
35
35
  }
36
36
 
37
37
  .#{$prefix}--unstable-pagination__text {
@@ -46,8 +46,8 @@
46
46
  .#{$prefix}--unstable-pagination__left,
47
47
  .#{$prefix}--unstable-pagination__right {
48
48
  display: flex;
49
- height: 100%;
50
49
  align-items: center;
50
+ block-size: 100%;
51
51
  }
52
52
 
53
53
  .#{$prefix}--unstable-pagination__left {
@@ -56,44 +56,44 @@
56
56
 
57
57
  .#{$prefix}--unstable-pagination__left > .#{$prefix}--form-item,
58
58
  .#{$prefix}--unstable-pagination__right > .#{$prefix}--form-item {
59
- height: 100%;
59
+ block-size: 100%;
60
60
  }
61
61
 
62
62
  .#{$prefix}--unstable-pagination__left
63
63
  .#{$prefix}--unstable-pagination__text {
64
- margin-right: convert.to-rem(1px);
64
+ margin-inline-end: convert.to-rem(1px);
65
65
  }
66
66
 
67
67
  .#{$prefix}--unstable-pagination__right
68
68
  .#{$prefix}--unstable-pagination__text {
69
- margin-right: $spacing-05;
70
- margin-left: convert.to-rem(1px);
69
+ margin-inline-end: $spacing-05;
70
+ margin-inline-start: convert.to-rem(1px);
71
71
  }
72
72
 
73
73
  .#{$prefix}--unstable-pagination__button {
74
74
  @include component-reset.reset;
75
75
 
76
76
  display: flex;
77
- width: convert.to-rem(40px);
78
- height: convert.to-rem(40px);
79
- min-height: convert.to-rem(32px);
80
77
  align-items: center;
81
78
  justify-content: center;
82
79
  border: none;
83
- border-left: 1px solid $border-subtle;
84
80
  margin: 0;
85
81
  background: none;
82
+ block-size: convert.to-rem(40px);
83
+ border-inline-start: 1px solid $border-subtle;
86
84
  color: $icon-primary;
87
85
  cursor: pointer;
88
86
  fill: $icon-primary;
87
+ inline-size: convert.to-rem(40px);
88
+ min-block-size: convert.to-rem(32px);
89
89
  transition: outline $duration-fast-02 motion(standard, productive),
90
90
  background-color $duration-fast-02 motion(standard, productive);
91
91
  }
92
92
 
93
93
  // Unset height/width set by icon-only button:
94
94
  .#{$prefix}--unstable-pagination__button .#{$prefix}--btn__icon {
95
- width: initial;
96
- height: initial;
95
+ block-size: initial;
96
+ inline-size: initial;
97
97
  }
98
98
 
99
99
  .#{$prefix}--unstable-pagination__button.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger:focus {
@@ -124,8 +124,8 @@
124
124
 
125
125
  .#{$prefix}--unstable-pagination__page-selector,
126
126
  .#{$prefix}--unstable-pagination__page-sizer {
127
- height: 100%;
128
127
  align-items: center;
128
+ block-size: 100%;
129
129
  }
130
130
 
131
131
  .#{$prefix}--unstable-pagination__page-selector
@@ -133,18 +133,20 @@
133
133
  .#{$prefix}--unstable-pagination__page-sizer
134
134
  .#{$prefix}--select-input--inline__wrapper {
135
135
  display: flex;
136
- height: 100%;
136
+ block-size: 100%;
137
137
  }
138
138
 
139
139
  .#{$prefix}--unstable-pagination__page-selector .#{$prefix}--select-input,
140
140
  .#{$prefix}--unstable-pagination__page-sizer .#{$prefix}--select-input {
141
141
  @include type-style('body-short-01');
142
142
 
143
- width: auto;
144
- min-width: auto;
145
- height: 100%;
146
143
  padding: 0 2.25rem 0 $spacing-05;
144
+ block-size: 100%;
145
+
146
+ inline-size: auto;
147
147
  line-height: convert.to-rem(40px);
148
+
149
+ min-inline-size: auto;
148
150
  }
149
151
 
150
152
  .#{$prefix}--unstable-pagination__page-selector
@@ -155,19 +157,19 @@
155
157
 
156
158
  .#{$prefix}--unstable-pagination__page-selector .#{$prefix}--select__arrow,
157
159
  .#{$prefix}--unstable-pagination__page-sizer .#{$prefix}--select__arrow {
158
- top: 50%;
160
+ inset-block-start: 50%;
159
161
  transform: translateY(-50%);
160
162
 
161
163
  @include breakpoint('md') {
162
- right: $spacing-05;
164
+ inset-inline-end: $spacing-05;
163
165
  }
164
166
  }
165
167
 
166
168
  .#{$prefix}--unstable-pagination__page-selector {
167
- border-left: 1px solid $border-subtle;
169
+ border-inline-start: 1px solid $border-subtle;
168
170
  }
169
171
 
170
172
  .#{$prefix}--unstable-pagination__page-sizer {
171
- border-right: 1px solid $border-subtle;
173
+ border-inline-end: 1px solid $border-subtle;
172
174
  }
173
175
  }
@@ -17,13 +17,13 @@
17
17
  &:not(.#{$prefix}--pagination-nav__page--direction) {
18
18
  &::after {
19
19
  position: absolute;
20
- bottom: 0;
21
- left: 50%;
22
20
  display: block;
23
- width: 0;
24
- height: $spacing-02;
25
21
  background-color: $border-interactive;
22
+ block-size: $spacing-02;
26
23
  content: '';
24
+ inline-size: 0;
25
+ inset-block-end: 0;
26
+ inset-inline-start: 50%;
27
27
  opacity: 0;
28
28
  transition: width $duration-fast-02 motion(standard, productive);
29
29
 
@@ -35,8 +35,8 @@
35
35
 
36
36
  .#{$prefix}--pagination-nav__page--active + &::after,
37
37
  &.#{$prefix}--pagination-nav__page--active::after {
38
- left: calc(50% - #{$spacing-05 * 0.5});
39
- width: $spacing-05;
38
+ inline-size: $spacing-05;
39
+ inset-inline-start: calc(50% - #{$spacing-05 * 0.5});
40
40
  opacity: 1;
41
41
  }
42
42
  }
@@ -61,11 +61,11 @@
61
61
  padding: $item-padding;
62
62
 
63
63
  &:first-child {
64
- padding-left: 0;
64
+ padding-inline-start: 0;
65
65
  }
66
66
 
67
67
  &:last-child {
68
- padding-right: 0;
68
+ padding-inline-end: 0;
69
69
  }
70
70
  }
71
71
 
@@ -75,12 +75,12 @@
75
75
 
76
76
  position: relative;
77
77
  display: block;
78
- min-width: $button-min-width;
79
78
  padding: $button-padding;
80
79
  border-radius: 0;
81
80
  color: $text-primary;
82
81
  font-weight: $font-weight;
83
82
  line-height: 1;
83
+ min-inline-size: $button-min-width;
84
84
  outline: 0;
85
85
  text-align: center;
86
86
  text-decoration: none;
@@ -121,10 +121,10 @@
121
121
 
122
122
  .#{$prefix}--pagination-nav__page--direction {
123
123
  display: flex;
124
- width: $button-direction-size;
125
- height: $button-direction-size;
126
124
  align-items: center;
127
125
  justify-content: center;
126
+ block-size: $button-direction-size;
127
+ inline-size: $button-direction-size;
128
128
  line-height: 0;
129
129
  }
130
130
 
@@ -133,8 +133,8 @@
133
133
  }
134
134
 
135
135
  .#{$prefix}--pagination-nav__page--select {
136
- max-height: $button-min-width;
137
136
  appearance: none;
137
+ max-block-size: $button-min-width;
138
138
  text-indent: calc(50% - 4.5px);
139
139
  // Override some Firefox user-agent styles
140
140
  @-moz-document url-prefix() {
@@ -144,9 +144,9 @@
144
144
 
145
145
  .#{$prefix}--pagination-nav__select-icon-wrapper {
146
146
  position: absolute;
147
- top: 0;
148
- width: 100%;
149
- height: 100%;
147
+ block-size: 100%;
148
+ inline-size: 100%;
149
+ inset-block-start: 0;
150
150
  pointer-events: none;
151
151
 
152
152
  @include pseudo-underline();
@@ -160,12 +160,17 @@
160
160
 
161
161
  .#{$prefix}--pagination-nav__select-icon {
162
162
  position: absolute;
163
- top: calc(50% - #{$select-icon-top-position * 0.5});
164
- left: calc(50% - #{$select-icon-top-position * 0.5});
163
+ inset-block-start: calc(50% - #{$select-icon-top-position * 0.5});
164
+ inset-inline-start: calc(50% - #{$select-icon-top-position * 0.5});
165
165
  pointer-events: none;
166
166
  }
167
167
 
168
168
  .#{$prefix}--pagination-nav__accessibility-label {
169
169
  @include visually-hidden;
170
170
  }
171
+
172
+ // RTL overrides
173
+ [dir='rtl'] .#{$prefix}--pagination-nav__list-item svg {
174
+ transform: rotate(0.5turn);
175
+ }
171
176
  }