@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
@@ -36,14 +36,15 @@
36
36
  @include type-style('body-compact-01');
37
37
  @include focus-outline('reset');
38
38
 
39
- width: 100%;
40
- height: layout.size('height');
41
39
  padding: 0 layout.density('padding-inline');
42
40
  border: none;
43
- border-bottom: 1px solid $border-strong;
44
41
  background-color: $field;
42
+ block-size: layout.size('height');
43
+ border-block-end: 1px solid $border-strong;
45
44
  color: $text-primary;
46
45
  font-family: inherit;
46
+
47
+ inline-size: 100%;
47
48
  transition: background-color $duration-fast-01 motion(standard, productive),
48
49
  outline $duration-fast-01 motion(standard, productive);
49
50
 
@@ -58,15 +59,15 @@
58
59
  }
59
60
 
60
61
  .#{$prefix}--password-input {
61
- padding-right: $spacing-08;
62
+ padding-inline-end: $spacing-08;
62
63
  }
63
64
 
64
65
  .#{$prefix}--text-input--sm.#{$prefix}--password-input {
65
- padding-right: $spacing-07;
66
+ padding-inline-end: $spacing-07;
66
67
  }
67
68
 
68
69
  .#{$prefix}--text-input--lg.#{$prefix}--password-input {
69
- padding-right: $spacing-09;
70
+ padding-inline-end: $spacing-09;
70
71
  }
71
72
 
72
73
  .#{$prefix}--text-input::placeholder {
@@ -84,15 +85,15 @@
84
85
  .#{$prefix}--text-input__field-wrapper {
85
86
  position: relative;
86
87
  display: flex;
87
- width: 100%;
88
+ inline-size: 100%;
88
89
  }
89
90
 
90
91
  .#{$prefix}--text-input__invalid-icon {
91
92
  position: absolute;
92
- // top/transform used to center invalid icon in IE11
93
- top: 50%;
94
- right: $spacing-05;
95
93
  fill: $support-error;
94
+ // top/transform used to center invalid icon in IE11
95
+ inset-block-start: 50%;
96
+ inset-inline-end: $spacing-05;
96
97
  transform: translateY(-50%);
97
98
  }
98
99
 
@@ -115,28 +116,28 @@
115
116
  @include focus-outline('reset');
116
117
 
117
118
  position: absolute;
118
- right: 0;
119
119
  display: flex;
120
- width: convert.to-rem(40px);
121
- height: 100%;
122
- min-height: auto;
123
120
  align-items: center;
124
121
  justify-content: center;
125
122
  padding: 0;
126
123
  border: 0;
127
124
  background: none;
125
+ block-size: 100%;
128
126
  cursor: pointer;
127
+ inline-size: convert.to-rem(40px);
128
+ inset-inline-end: 0;
129
+ min-block-size: auto;
129
130
  transition: outline $duration-fast-01 motion(standard, productive);
130
131
  }
131
132
 
132
133
  .#{$prefix}--text-input--sm
133
134
  + .#{$prefix}--btn.#{$prefix}--text-input--password__visibility__toggle.#{$prefix}--tooltip__trigger {
134
- width: convert.to-rem(32px);
135
+ inline-size: convert.to-rem(32px);
135
136
  }
136
137
 
137
138
  .#{$prefix}--text-input--lg
138
139
  + .#{$prefix}--btn.#{$prefix}--text-input--password__visibility__toggle.#{$prefix}--tooltip__trigger {
139
- width: convert.to-rem(48px);
140
+ inline-size: convert.to-rem(48px);
140
141
  }
141
142
 
142
143
  .#{$prefix}--btn.#{$prefix}--text-input--password__visibility__toggle.#{$prefix}--tooltip__trigger
@@ -165,20 +166,20 @@
165
166
 
166
167
  .#{$prefix}--text-input--invalid,
167
168
  .#{$prefix}--text-input--warning {
168
- padding-right: $spacing-08;
169
+ padding-inline-end: $spacing-08;
169
170
  }
170
171
 
171
172
  .#{$prefix}--text-input--invalid.#{$prefix}--password-input {
172
- padding-right: convert.to-rem(64px);
173
+ padding-inline-end: convert.to-rem(64px);
173
174
  }
174
175
 
175
176
  .#{$prefix}--text-input--invalid
176
177
  + .#{$prefix}--text-input--password__visibility__toggle {
177
- right: $spacing-05;
178
+ inset-inline-end: $spacing-05;
178
179
  }
179
180
 
180
181
  .#{$prefix}--password-input-wrapper .#{$prefix}--text-input__invalid-icon {
181
- right: $spacing-08;
182
+ inset-inline-end: $spacing-08;
182
183
  }
183
184
 
184
185
  .#{$prefix}--text-input:disabled
@@ -199,12 +200,12 @@
199
200
  .#{$prefix}--text-input__counter-alert {
200
201
  position: absolute;
201
202
  overflow: hidden;
202
- width: 1px;
203
- height: 1px;
204
203
  padding: 0;
205
204
  border: 0;
206
205
  margin: -1px;
206
+ block-size: 1px;
207
207
  clip: rect(0, 0, 0, 0);
208
+ inline-size: 1px;
208
209
  }
209
210
 
210
211
  //-----------------------------
@@ -213,8 +214,9 @@
213
214
  .#{$prefix}--text-input:disabled {
214
215
  @include focus-outline('reset');
215
216
 
216
- border-bottom: 1px solid transparent;
217
217
  background-color: $field;
218
+
219
+ border-block-end: 1px solid transparent;
218
220
  color: $text-disabled;
219
221
  cursor: not-allowed;
220
222
  // Needed to fix disabled text in Safari #6673
@@ -240,7 +242,7 @@
240
242
  box-shadow: none;
241
243
 
242
244
  .#{$prefix}--text-input--password__visibility__toggle {
243
- right: $spacing-08;
245
+ inset-inline-end: $spacing-08;
244
246
  }
245
247
  }
246
248
 
@@ -266,12 +268,12 @@
266
268
  .#{$prefix}--form--fluid .#{$prefix}--label {
267
269
  position: absolute;
268
270
  z-index: 1;
269
- top: convert.to-rem(13px);
270
- left: $spacing-05;
271
271
  display: flex;
272
- height: convert.to-rem(16px);
273
272
  align-items: center;
274
273
  margin: 0;
274
+ block-size: convert.to-rem(16px);
275
+ inset-block-start: convert.to-rem(13px);
276
+ inset-inline-start: $spacing-05;
275
277
  }
276
278
 
277
279
  .#{$prefix}--form--fluid .#{$prefix}--form__helper-text {
@@ -279,8 +281,8 @@
279
281
  }
280
282
 
281
283
  .#{$prefix}--form--fluid .#{$prefix}--text-input {
282
- min-height: convert.to-rem(64px);
283
284
  padding: convert.to-rem(32px) $spacing-05 convert.to-rem(13px);
285
+ min-block-size: convert.to-rem(64px);
284
286
  }
285
287
 
286
288
  .#{$prefix}--text-input__divider,
@@ -290,7 +292,7 @@
290
292
 
291
293
  .#{$prefix}--form--fluid .#{$prefix}--text-input--invalid,
292
294
  .#{$prefix}--form--fluid .#{$prefix}--text-input--warning {
293
- border-bottom: none;
295
+ border-block-end: none;
294
296
  }
295
297
 
296
298
  .#{$prefix}--form--fluid
@@ -302,12 +304,12 @@
302
304
  display: block;
303
305
  border-style: solid;
304
306
  border-color: $border-subtle;
305
- border-bottom: none;
306
307
  margin: 0 1rem;
308
+ border-block-end: none;
307
309
  }
308
310
 
309
311
  .#{$prefix}--form--fluid .#{$prefix}--text-input__invalid-icon {
310
- top: convert.to-rem(80px);
312
+ inset-block-start: convert.to-rem(80px);
311
313
  }
312
314
 
313
315
  .#{$prefix}--form--fluid
@@ -320,7 +322,7 @@
320
322
  }
321
323
 
322
324
  .#{$prefix}--form--fluid .#{$prefix}--text-input__field-wrapper--warning {
323
- border-bottom: 1px solid $border-strong;
325
+ border-block-end: 1px solid $border-strong;
324
326
  }
325
327
 
326
328
  .#{$prefix}--form--fluid
@@ -359,31 +361,31 @@
359
361
  }
360
362
 
361
363
  .#{$prefix}--text-input-wrapper .#{$prefix}--label--inline--sm {
362
- margin-top: convert.to-rem(9px);
364
+ margin-block-start: convert.to-rem(9px);
363
365
  }
364
366
 
365
367
  .#{$prefix}--text-input-wrapper .#{$prefix}--label--inline--lg {
366
- margin-top: convert.to-rem(17px);
368
+ margin-block-start: convert.to-rem(17px);
367
369
  }
368
370
 
369
371
  .#{$prefix}--text-input__label-helper-wrapper {
370
- max-width: convert.to-rem(128px);
371
372
  flex: 2;
372
373
  flex-direction: column;
373
- margin-right: convert.to-rem(24px);
374
+ margin-inline-end: convert.to-rem(24px);
375
+ max-inline-size: convert.to-rem(128px);
374
376
  overflow-wrap: break-word;
375
377
  }
376
378
 
377
379
  .#{$prefix}--text-input-wrapper .#{$prefix}--form__helper-text--inline {
378
- margin-top: convert.to-rem(2px);
380
+ margin-block-start: convert.to-rem(2px);
379
381
  }
380
382
 
381
383
  .#{$prefix}--text-input__field-outer-wrapper {
382
384
  display: flex;
383
- width: 100%;
384
385
  flex: 1 1 auto;
385
386
  flex-direction: column;
386
387
  align-items: flex-start;
388
+ inline-size: 100%;
387
389
  }
388
390
 
389
391
  .#{$prefix}--text-input__field-outer-wrapper--inline {
@@ -394,8 +396,8 @@
394
396
  .#{$prefix}--text-input-wrapper--inline .cds--form-requirement {
395
397
  display: block;
396
398
  overflow: visible;
397
- max-height: convert.to-rem(200px);
398
399
  font-weight: 400;
400
+ max-block-size: convert.to-rem(200px);
399
401
  }
400
402
 
401
403
  .#{$prefix}--text-input-wrapper--inline--invalid .cds--form-requirement {
@@ -408,8 +410,8 @@
408
410
 
409
411
  .#{$prefix}--form--fluid .#{$prefix}--text-input-wrapper--readonly,
410
412
  .#{$prefix}--text-input-wrapper--readonly .#{$prefix}--text-input {
411
- border-bottom-color: $border-subtle;
412
413
  background: transparent;
414
+ border-block-end-color: $border-subtle;
413
415
  }
414
416
 
415
417
  // Windows HCM fix
@@ -422,8 +424,8 @@
422
424
 
423
425
  .#{$prefix}--text-input__label-wrapper {
424
426
  display: flex;
425
- width: 100%;
426
427
  justify-content: space-between;
428
+ inline-size: 100%;
427
429
 
428
430
  .#{$prefix}--text-input__label-counter {
429
431
  align-self: end;
@@ -37,10 +37,10 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
37
37
 
38
38
  position: relative;
39
39
  display: block;
40
- min-width: 8rem;
41
- min-height: 4rem;
42
40
  padding: layout.density('padding-inline');
43
41
  background-color: $layer;
42
+ min-block-size: 4rem;
43
+ min-inline-size: 8rem;
44
44
  outline: 2px solid transparent;
45
45
  outline-offset: -2px;
46
46
 
@@ -157,9 +157,9 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
157
157
 
158
158
  .#{$prefix}--tile__checkmark {
159
159
  position: absolute;
160
- height: 1rem;
161
160
  border: none;
162
161
  background: transparent;
162
+ block-size: 1rem;
163
163
  inset-block-start: layout.density('padding-inline');
164
164
  inset-inline-end: layout.density('padding-inline');
165
165
  opacity: 0;
@@ -182,10 +182,10 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
182
182
  .#{$prefix}--tile__chevron {
183
183
  position: absolute;
184
184
  display: flex;
185
- width: $-icon-container-size;
186
- height: $-icon-container-size;
187
185
  align-items: center;
188
186
  justify-content: center;
187
+ block-size: $-icon-container-size;
188
+ inline-size: $-icon-container-size;
189
189
  inset-block-end: 0;
190
190
  inset-inline-end: 0;
191
191
 
@@ -212,10 +212,10 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
212
212
 
213
213
  position: absolute;
214
214
  display: flex;
215
- width: $-icon-container-size;
216
- height: $-icon-container-size;
217
215
  align-items: center;
218
216
  justify-content: center;
217
+ block-size: $-icon-container-size;
218
+ inline-size: $-icon-container-size;
219
219
  inset-block-end: 0;
220
220
  inset-inline-end: 0;
221
221
 
@@ -233,12 +233,12 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
233
233
  .#{$prefix}--tile--expandable {
234
234
  position: relative;
235
235
  overflow: hidden;
236
- width: 100%;
237
236
  border: 0;
238
237
  color: inherit;
239
238
  cursor: pointer;
240
239
  font-family: inherit;
241
240
  font-size: inherit;
241
+ inline-size: 100%;
242
242
  text-align: start;
243
243
  transition: max-height $duration-moderate-01 motion(standard, productive);
244
244
 
@@ -302,7 +302,7 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
302
302
  // Safari-only media query
303
303
  // Fixes an issue with scrolling
304
304
  // and absolutely positioned elements (#8119)
305
- @media not all and (min-resolution: 0.001dpcm) {
305
+ @media not all and (resolution >= 0.001dpcm) {
306
306
  @supports (-webkit-appearance: none) and (stroke-color: transparent) {
307
307
  overflow-y: auto;
308
308
  }
@@ -330,8 +330,8 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
330
330
  }
331
331
 
332
332
  .#{$prefix}--tile-content {
333
- width: 100%;
334
- height: 100%;
333
+ block-size: 100%;
334
+ inline-size: 100%;
335
335
  }
336
336
 
337
337
  .#{$prefix}--tile-input {
@@ -27,7 +27,7 @@
27
27
 
28
28
  .#{$prefix}--time-picker__select {
29
29
  justify-content: center;
30
- margin-left: $spacing-01;
30
+ margin-inline-start: $spacing-01;
31
31
  }
32
32
 
33
33
  .#{$prefix}--time-picker__input {
@@ -38,10 +38,10 @@
38
38
 
39
39
  .#{$prefix}--time-picker__error__icon {
40
40
  position: absolute;
41
- top: 50%;
42
- right: 1rem;
43
41
  display: flex;
44
- height: 100%;
42
+ block-size: 100%;
43
+ inset-block-start: 50%;
44
+ inset-inline-end: 1rem;
45
45
  place-items: center;
46
46
  // top/transform used to center invalid icon in IE11
47
47
  transform: translateY(-50%);
@@ -52,11 +52,11 @@
52
52
  }
53
53
 
54
54
  .#{$prefix}--time-picker .#{$prefix}--select-input {
55
- width: auto;
56
- min-width: auto;
57
- padding-right: convert.to-rem(48px);
58
55
  margin: 0;
56
+ inline-size: auto;
59
57
  line-height: 1;
58
+ min-inline-size: auto;
59
+ padding-inline-end: convert.to-rem(48px);
60
60
  }
61
61
 
62
62
  .#{$prefix}--time-picker__input-field {
@@ -64,9 +64,9 @@
64
64
  @include type-style('code-02');
65
65
 
66
66
  display: flex;
67
- width: 4.875rem;
68
- height: convert.to-rem(40px);
69
67
  align-items: center;
68
+ block-size: convert.to-rem(40px);
69
+ inline-size: 4.875rem;
70
70
  transition: outline $duration-fast-01 motion(standard, productive),
71
71
  background-color $duration-fast-01 motion(standard, productive);
72
72
 
@@ -76,7 +76,7 @@
76
76
  }
77
77
 
78
78
  .#{$prefix}--time-picker__input-field-error {
79
- width: 6.175rem;
79
+ inline-size: 6.175rem;
80
80
  }
81
81
 
82
82
  // V11: Possibly deprecate
@@ -89,8 +89,8 @@
89
89
 
90
90
  &:disabled,
91
91
  &:hover:disabled {
92
- border-bottom: 1px solid transparent;
93
92
  background-color: transparent;
93
+ border-block-end: 1px solid transparent;
94
94
  color: $text-disabled;
95
95
  cursor: not-allowed;
96
96
  }
@@ -98,25 +98,25 @@
98
98
 
99
99
  .#{$prefix}--time-picker--sm .#{$prefix}--select-input,
100
100
  .#{$prefix}--time-picker--sm .#{$prefix}--time-picker__input-field {
101
- height: convert.to-rem(32px);
102
- max-height: convert.to-rem(32px);
101
+ block-size: convert.to-rem(32px);
102
+ max-block-size: convert.to-rem(32px);
103
103
  }
104
104
 
105
105
  .#{$prefix}--time-picker--lg .#{$prefix}--select-input,
106
106
  .#{$prefix}--time-picker--lg .#{$prefix}--time-picker__input-field {
107
- height: convert.to-rem(48px);
108
- max-height: convert.to-rem(48px);
107
+ block-size: convert.to-rem(48px);
108
+ max-block-size: convert.to-rem(48px);
109
109
  }
110
110
 
111
111
  // readonly
112
112
  .#{$prefix}--time-picker--readonly .#{$prefix}--time-picker__input-field {
113
- border-bottom-color: $border-subtle;
114
113
  background-color: transparent;
114
+ border-block-end-color: $border-subtle;
115
115
  }
116
116
 
117
117
  .#{$prefix}--time-picker--readonly .#{$prefix}--select-input {
118
- border-bottom-color: $border-subtle;
119
118
  background-color: transparent;
119
+ border-block-end-color: $border-subtle;
120
120
  cursor: default;
121
121
  }
122
122
 
@@ -29,8 +29,8 @@
29
29
  @include type-style('label-01');
30
30
 
31
31
  display: block;
32
- margin-bottom: $spacing-05;
33
32
  color: $text-secondary;
33
+ margin-block-end: $spacing-05;
34
34
  }
35
35
 
36
36
  .#{$prefix}--toggle__button {
@@ -51,21 +51,21 @@
51
51
 
52
52
  .#{$prefix}--toggle__switch {
53
53
  position: relative;
54
- width: convert.to-rem(48px);
55
- height: convert.to-rem(24px);
56
54
  background-color: $toggle-off;
55
+ block-size: convert.to-rem(24px);
57
56
  border-radius: convert.to-rem(12px);
57
+ inline-size: convert.to-rem(48px);
58
58
  transition: background-color $duration-fast-01 motion(exit, productive);
59
59
 
60
60
  &::before {
61
61
  position: absolute;
62
- top: convert.to-rem(3px);
63
- left: convert.to-rem(3px);
64
- width: convert.to-rem(18px);
65
- height: convert.to-rem(18px);
66
62
  background-color: $icon-on-color;
63
+ block-size: convert.to-rem(18px);
67
64
  border-radius: 50%;
68
65
  content: '';
66
+ inline-size: convert.to-rem(18px);
67
+ inset-block-start: convert.to-rem(3px);
68
+ inset-inline-start: convert.to-rem(3px);
69
69
  transition: transform $duration-fast-01 motion(exit, productive);
70
70
 
71
71
  @media screen and (prefers-reduced-motion: reduce) {
@@ -97,12 +97,12 @@
97
97
  }
98
98
 
99
99
  .#{$prefix}--toggle__appearance--sm .#{$prefix}--toggle__switch {
100
- width: convert.to-rem(32px);
101
- height: convert.to-rem(16px);
100
+ block-size: convert.to-rem(16px);
101
+ inline-size: convert.to-rem(32px);
102
102
 
103
103
  &::before {
104
- width: convert.to-rem(10px);
105
- height: convert.to-rem(10px);
104
+ block-size: convert.to-rem(10px);
105
+ inline-size: convert.to-rem(10px);
106
106
  }
107
107
  }
108
108
 
@@ -113,11 +113,11 @@
113
113
 
114
114
  .#{$prefix}--toggle__check {
115
115
  position: absolute;
116
- top: convert.to-rem(6px);
117
- right: convert.to-rem(5px);
118
- width: convert.to-rem(6px);
119
- height: convert.to-rem(5px);
116
+ block-size: convert.to-rem(5px);
120
117
  fill: $support-success;
118
+ inline-size: convert.to-rem(6px);
119
+ inset-block-start: convert.to-rem(6px);
120
+ inset-inline-end: convert.to-rem(5px);
121
121
  visibility: hidden;
122
122
  }
123
123
 
@@ -162,16 +162,16 @@
162
162
  background-color: transparent;
163
163
 
164
164
  &::before {
165
- top: convert.to-rem(2px);
166
- left: convert.to-rem(2px);
167
165
  background-color: $text-primary;
166
+ inset-block-start: convert.to-rem(2px);
167
+ inset-inline-start: convert.to-rem(2px);
168
168
  }
169
169
  }
170
170
 
171
171
  .#{$prefix}--toggle--readonly .#{$prefix}--toggle__check {
172
- top: convert.to-rem(5px);
173
- right: convert.to-rem(4px);
174
172
  fill: $background;
173
+ inset-block-start: convert.to-rem(5px);
174
+ inset-inline-end: convert.to-rem(4px);
175
175
  }
176
176
 
177
177
  .#{$prefix}--toggle--readonly .#{$prefix}--toggle__text {
@@ -204,16 +204,29 @@
204
204
  .#{$prefix}--toggle--skeleton .#{$prefix}--toggle__skeleton-circle {
205
205
  @include circular-skeleton;
206
206
 
207
- width: convert.to-rem(18px);
208
- height: convert.to-rem(18px);
207
+ block-size: convert.to-rem(18px);
209
208
  border-radius: 50%;
209
+
210
+ inline-size: convert.to-rem(18px);
210
211
  }
211
212
 
212
213
  .#{$prefix}--toggle--skeleton .#{$prefix}--toggle__skeleton-rectangle {
213
214
  @include skeleton;
214
215
 
215
- width: convert.to-rem(24px);
216
- height: convert.to-rem(8px);
217
- margin-left: convert.to-rem(8px);
216
+ block-size: convert.to-rem(8px);
217
+
218
+ inline-size: convert.to-rem(24px);
219
+ margin-inline-start: convert.to-rem(8px);
220
+ }
221
+
222
+ // RTL overrides
223
+ [dir='rtl'] .#{$prefix}--toggle__switch--checked::before {
224
+ transform: translateX(convert.to-rem(-24px));
225
+ }
226
+
227
+ [dir='rtl']
228
+ .#{$prefix}--toggle__appearance--sm
229
+ .#{$prefix}--toggle__switch--checked::before {
230
+ transform: translateX(convert.to-rem(-16px));
218
231
  }
219
232
  }
@@ -19,8 +19,9 @@
19
19
  .#{$prefix}--toggletip-label {
20
20
  @include type.type-style('body-01');
21
21
 
22
- margin-right: spacing.$spacing-03;
23
22
  color: theme.$text-secondary;
23
+
24
+ margin-inline-end: spacing.$spacing-03;
24
25
  }
25
26
 
26
27
  .#{$prefix}--toggletip-button {
@@ -70,8 +71,8 @@
70
71
  @include type.type-style('body-01');
71
72
 
72
73
  display: grid;
73
- max-width: 18rem;
74
74
  padding: spacing.$spacing-05;
75
+ max-inline-size: 18rem;
75
76
  row-gap: spacing.$spacing-05;
76
77
  }
77
78
 
@@ -34,10 +34,11 @@ $tooltip-padding-inline: custom-property.get-var(
34
34
  .#{$prefix}--tooltip-content {
35
35
  @include type.type-style('body-01');
36
36
 
37
- max-width: convert.to-rem(288px);
38
37
  padding: $tooltip-padding-block $tooltip-padding-inline;
39
38
 
40
39
  color: theme.$text-inverse;
40
+
41
+ max-inline-size: convert.to-rem(288px);
41
42
  }
42
43
  }
43
44
 
@@ -45,7 +46,7 @@ $tooltip-padding-inline: custom-property.get-var(
45
46
  .#{$prefix}--definition-term {
46
47
  @include button-reset.reset;
47
48
 
48
- border-bottom: 1px dotted theme.$border-strong;
49
+ border-block-end: 1px dotted theme.$border-strong;
49
50
  border-radius: 0;
50
51
 
51
52
  color: theme.$text-primary;
@@ -54,18 +55,19 @@ $tooltip-padding-inline: custom-property.get-var(
54
55
  .#{$prefix}--definition-term:focus {
55
56
  @include focus-outline.focus-outline;
56
57
 
57
- border-bottom-color: theme.$border-interactive;
58
+ border-block-end-color: theme.$border-interactive;
58
59
  }
59
60
 
60
61
  .#{$prefix}--definition-term:hover {
61
- border-bottom-color: theme.$border-interactive;
62
+ border-block-end-color: theme.$border-interactive;
62
63
  }
63
64
 
64
65
  .#{$prefix}--definition-tooltip {
65
66
  @include type.type-style('body-01');
66
67
 
67
- max-width: convert.to-rem(176px);
68
68
  padding: convert.to-rem(8px) convert.to-rem(16px);
69
+
70
+ max-inline-size: convert.to-rem(176px);
69
71
  }
70
72
  }
71
73