@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,26 +31,26 @@
31
31
  .#{$prefix}--side-nav {
32
32
  position: fixed;
33
33
  z-index: z('header');
34
- top: 0;
35
- bottom: 0;
36
- left: 0;
37
34
  // Useful to toggle this property to see what's going on when not expanded
38
35
  overflow: hidden;
39
- width: mini-units(6);
40
- max-width: mini-units(32);
41
36
  background-color: $background;
42
37
  color: $text-secondary;
38
+ inline-size: mini-units(6);
39
+ inset-block-end: 0;
40
+ inset-block-start: 0;
41
+ inset-inline-start: 0;
42
+ max-inline-size: mini-units(32);
43
43
  // TODO: sync with motion work
44
44
  transition: width 0.11s cubic-bezier(0.2, 0, 1, 0.9);
45
45
  will-change: width;
46
46
  }
47
47
 
48
48
  .#{$prefix}--side-nav--ux {
49
- top: $spacing-09;
50
- width: mini-units(32);
49
+ inline-size: mini-units(32);
50
+ inset-block-start: $spacing-09;
51
51
 
52
52
  @include breakpoint-down('lg') {
53
- width: 0;
53
+ inline-size: 0;
54
54
  }
55
55
  }
56
56
 
@@ -63,24 +63,24 @@
63
63
  // should have the same dimensions as when expanded on mouse over
64
64
 
65
65
  .#{$prefix}--side-nav--rail {
66
- width: mini-units(6);
66
+ inline-size: mini-units(6);
67
67
  }
68
68
 
69
69
  .#{$prefix}--side-nav--hidden {
70
- width: 0;
70
+ inline-size: 0;
71
71
  }
72
72
 
73
73
  .#{$prefix}--side-nav--expanded {
74
- width: mini-units(32);
74
+ inline-size: mini-units(32);
75
75
  }
76
76
 
77
77
  .#{$prefix}--side-nav__overlay {
78
78
  position: fixed;
79
- top: convert.to-rem(48px);
80
- left: 0;
81
- width: 0;
82
- height: 0;
83
79
  background-color: transparent;
80
+ block-size: 0;
81
+ inline-size: 0;
82
+ inset-block-start: convert.to-rem(48px);
83
+ inset-inline-start: 0;
84
84
  opacity: 0;
85
85
  transition: opacity $transition-expansion $standard-easing,
86
86
  background-color $transition-expansion $standard-easing;
@@ -89,9 +89,9 @@
89
89
  .#{$prefix}--side-nav__overlay-active {
90
90
  @include breakpoint-down('lg') {
91
91
  z-index: z('overlay');
92
- width: 100vw;
93
- height: 100vh;
94
92
  background-color: $overlay;
93
+ block-size: 100vh;
94
+ inline-size: 100vw;
95
95
  opacity: 1;
96
96
  transition: opacity $transition-expansion $standard-easing,
97
97
  background-color $transition-expansion $standard-easing;
@@ -101,16 +101,16 @@
101
101
  // When used alongside the header, we update the `top` positioning so that we
102
102
  // can fit both widgets on the same page without overlapping.
103
103
  .#{$prefix}--header ~ .#{$prefix}--side-nav {
104
- top: mini-units(6);
105
- height: calc(100% - 48px);
104
+ block-size: calc(100% - 48px);
105
+ inset-block-start: mini-units(6);
106
106
  }
107
107
 
108
108
  .#{$prefix}--side-nav--fixed {
109
- width: mini-units(32);
109
+ inline-size: mini-units(32);
110
110
  }
111
111
 
112
112
  .#{$prefix}--side-nav--collapsed {
113
- width: mini-units(32);
113
+ inline-size: mini-units(32);
114
114
  transform: translateX(mini-units(-32));
115
115
  }
116
116
 
@@ -143,13 +143,13 @@
143
143
 
144
144
  .#{$prefix}--side-nav__item {
145
145
  overflow: hidden;
146
- width: auto;
147
- height: auto;
146
+ block-size: auto;
147
+ inline-size: auto;
148
148
  }
149
149
 
150
150
  .#{$prefix}--side-nav--ux .#{$prefix}--side-nav__item {
151
- width: auto;
152
- height: auto;
151
+ block-size: auto;
152
+ inline-size: auto;
153
153
  }
154
154
 
155
155
  .#{$prefix}--side-nav__item:not(.#{$prefix}--side-nav__item--active):hover
@@ -180,16 +180,16 @@
180
180
  }
181
181
 
182
182
  .#{$prefix}--side-nav__item--large {
183
- height: mini-units(6);
183
+ block-size: mini-units(6);
184
184
  }
185
185
 
186
186
  //----------------------------------------------------------------------------
187
187
  // Side-nav > Navigation > Divider
188
188
  //----------------------------------------------------------------------------
189
189
  .#{$prefix}--side-nav__divider {
190
- height: 1px;
191
190
  margin: $spacing-03 $spacing-05;
192
191
  background-color: $border-subtle;
192
+ block-size: 1px;
193
193
  list-style-type: none;
194
194
  }
195
195
 
@@ -202,10 +202,10 @@
202
202
  @include focus-outline('reset');
203
203
 
204
204
  display: flex;
205
- height: mini-units(4);
206
205
  align-items: center;
207
206
 
208
207
  padding: 0 mini-units(2);
208
+ block-size: mini-units(4);
209
209
  color: $text-secondary;
210
210
  transition: color $duration-fast-02, background-color $duration-fast-02,
211
211
  outline $duration-fast-02;
@@ -224,7 +224,7 @@
224
224
  .#{$prefix}--side-nav__submenu-title {
225
225
  @include text-overflow();
226
226
 
227
- text-align: left;
227
+ text-align: start;
228
228
  }
229
229
 
230
230
  .#{$prefix}--side-nav__icon.#{$prefix}--side-nav__submenu-chevron {
@@ -234,8 +234,8 @@
234
234
  }
235
235
 
236
236
  .#{$prefix}--side-nav__submenu-chevron > svg {
237
- width: convert.to-rem(16px);
238
- height: convert.to-rem(16px);
237
+ block-size: convert.to-rem(16px);
238
+ inline-size: convert.to-rem(16px);
239
239
  transition: transform $duration-fast-02;
240
240
  }
241
241
 
@@ -246,7 +246,7 @@
246
246
  }
247
247
 
248
248
  .#{$prefix}--side-nav__item--large .#{$prefix}--side-nav__submenu {
249
- height: mini-units(6);
249
+ block-size: mini-units(6);
250
250
  }
251
251
 
252
252
  .#{$prefix}--side-nav__item--active .#{$prefix}--side-nav__submenu:hover {
@@ -263,12 +263,12 @@
263
263
 
264
264
  &::before {
265
265
  position: absolute;
266
- top: 0;
267
- bottom: 0;
268
- left: 0;
269
- width: 3px;
270
266
  background-color: $border-interactive;
271
267
  content: '';
268
+ inline-size: 3px;
269
+ inset-block-end: 0;
270
+ inset-block-start: 0;
271
+ inset-inline-start: 0;
272
272
  }
273
273
  }
274
274
 
@@ -285,26 +285,26 @@
285
285
  @include component-reset.reset;
286
286
 
287
287
  display: block;
288
- max-height: 0;
288
+ max-block-size: 0;
289
289
  visibility: hidden;
290
290
  }
291
291
 
292
292
  .#{$prefix}--side-nav__submenu[aria-expanded='true']
293
293
  + .#{$prefix}--side-nav__menu {
294
- max-height: convert.to-rem(1500px);
294
+ max-block-size: convert.to-rem(1500px);
295
295
  visibility: inherit;
296
296
  }
297
297
 
298
298
  .#{$prefix}--side-nav__menu a.#{$prefix}--side-nav__link {
299
- height: mini-units(4);
300
- min-height: mini-units(4);
301
- padding-left: mini-units(4);
299
+ block-size: mini-units(4);
302
300
  font-weight: 400;
301
+ min-block-size: mini-units(4);
302
+ padding-inline-start: mini-units(4);
303
303
  }
304
304
 
305
305
  .#{$prefix}--side-nav__item.#{$prefix}--side-nav__item--icon
306
306
  a.#{$prefix}--side-nav__link {
307
- padding-left: mini-units(9);
307
+ padding-inline-start: mini-units(9);
308
308
  }
309
309
  .#{$prefix}--side-nav__menu a.#{$prefix}--side-nav__link--current,
310
310
  .#{$prefix}--side-nav__menu a.#{$prefix}--side-nav__link[aria-current='page'],
@@ -330,16 +330,16 @@
330
330
 
331
331
  position: relative;
332
332
  display: flex;
333
- min-height: mini-units(4);
334
333
  align-items: center;
335
334
  padding: 0 mini-units(2);
335
+ min-block-size: mini-units(4);
336
336
  text-decoration: none;
337
337
  transition: color $duration-fast-02, background-color $duration-fast-02,
338
338
  outline $duration-fast-02;
339
339
  }
340
340
 
341
341
  .#{$prefix}--side-nav__item--large a.#{$prefix}--side-nav__link {
342
- height: mini-units(6);
342
+ block-size: mini-units(6);
343
343
  }
344
344
 
345
345
  a.#{$prefix}--side-nav__link > .#{$prefix}--side-nav__link-text,
@@ -375,12 +375,12 @@
375
375
  a.#{$prefix}--side-nav__link[aria-current='page']::before,
376
376
  a.#{$prefix}--side-nav__link--current::before {
377
377
  position: absolute;
378
- top: 0;
379
- bottom: 0;
380
- left: 0;
381
- width: 3px;
382
378
  background-color: $border-interactive;
383
379
  content: '';
380
+ inline-size: 3px;
381
+ inset-block-end: 0;
382
+ inset-block-start: 0;
383
+ inset-inline-start: 0;
384
384
  }
385
385
 
386
386
  //----------------------------------------------------------------------------
@@ -396,13 +396,13 @@
396
396
  }
397
397
 
398
398
  .#{$prefix}--side-nav__icon:not(.#{$prefix}--side-nav__submenu-chevron) {
399
- margin-right: mini-units(3);
399
+ margin-inline-end: mini-units(3);
400
400
  }
401
401
 
402
402
  .#{$prefix}--side-nav__icon > svg {
403
- width: mini-units(2);
404
- height: mini-units(2);
403
+ block-size: mini-units(2);
405
404
  fill: $icon-secondary;
405
+ inline-size: mini-units(2);
406
406
  }
407
407
 
408
408
  .#{$prefix}--side-nav__icon > svg.#{$prefix}--side-nav-collapse-icon {
@@ -426,14 +426,14 @@
426
426
  //----------------------------------------------------------------------------
427
427
  .#{$prefix}--side-nav--fixed a.#{$prefix}--side-nav__link,
428
428
  .#{$prefix}--side-nav--fixed .#{$prefix}--side-nav__submenu {
429
- padding-left: mini-units(2);
429
+ padding-inline-start: mini-units(2);
430
430
  }
431
431
 
432
432
  .#{$prefix}--side-nav--fixed
433
433
  .#{$prefix}--side-nav__item:not(.#{$prefix}--side-nav__item--icon)
434
434
  .#{$prefix}--side-nav__menu
435
435
  a.#{$prefix}--side-nav__link {
436
- padding-left: mini-units(4);
436
+ padding-inline-start: mini-units(4);
437
437
  }
438
438
 
439
439
  //----------------------------------------------------------------------------
@@ -453,18 +453,18 @@
453
453
  @include breakpoint-down('lg') {
454
454
  position: relative;
455
455
  display: block;
456
- margin-bottom: convert.to-rem(32px);
456
+ margin-block-end: convert.to-rem(32px);
457
457
  }
458
458
  }
459
459
 
460
460
  .#{$prefix}--side-nav__header-divider::after {
461
461
  position: absolute;
462
- bottom: convert.to-rem(-16px);
463
- left: convert.to-rem(16px);
464
- width: calc(100% - 32px);
465
- height: convert.to-rem(1px);
466
462
  background: $border-subtle;
463
+ block-size: convert.to-rem(1px);
467
464
  content: '';
465
+ inline-size: calc(100% - 32px);
466
+ inset-block-end: convert.to-rem(-16px);
467
+ inset-inline-start: convert.to-rem(16px);
468
468
  }
469
469
 
470
470
  //header menu items overrides
@@ -481,20 +481,20 @@
481
481
  .#{$prefix}--side-nav
482
482
  .#{$prefix}--header__menu-title[aria-expanded='true']
483
483
  + .#{$prefix}--header__menu {
484
- bottom: inherit;
485
- width: 100%;
486
484
  padding: 0;
487
485
  background-color: transparent;
488
486
  box-shadow: none;
487
+ inline-size: 100%;
488
+ inset-block-end: inherit;
489
489
  transform: none;
490
490
 
491
491
  li {
492
- width: 100%;
492
+ inline-size: 100%;
493
493
  }
494
494
 
495
495
  a.#{$prefix}--header__menu-item {
496
- padding-left: 4.25rem;
497
496
  font-weight: 400;
497
+ padding-inline-start: 4.25rem;
498
498
  }
499
499
 
500
500
  a.#{$prefix}--header__menu-item:hover {
@@ -514,14 +514,14 @@
514
514
  .#{$prefix}--side-nav
515
515
  .#{$prefix}--side-nav__header-navigation
516
516
  .#{$prefix}--header__menu-item--current::after {
517
- width: 3px;
518
- height: calc(100% + 4px);
517
+ block-size: calc(100% + 4px);
518
+ inline-size: 3px;
519
519
  }
520
520
 
521
521
  .#{$prefix}--side-nav
522
522
  .#{$prefix}--header__menu
523
523
  a.#{$prefix}--header__menu-item {
524
- height: inherit;
524
+ block-size: inherit;
525
525
  }
526
526
 
527
527
  .#{$prefix}--side-nav
@@ -30,29 +30,29 @@
30
30
  }
31
31
 
32
32
  .#{$prefix}--switcher__item {
33
- width: 100%;
34
- height: $spacing-07;
33
+ block-size: $spacing-07;
34
+ inline-size: 100%;
35
35
  }
36
36
 
37
37
  .#{$prefix}--switcher__item:nth-child(1) {
38
- margin-top: $spacing-05;
38
+ margin-block-start: $spacing-05;
39
39
  }
40
40
 
41
41
  .#{$prefix}--switcher__item--divider {
42
42
  display: block;
43
- width: convert.to-rem(224px);
44
- height: 1px;
45
43
  border: none;
46
44
  margin: $spacing-03 $spacing-05;
47
45
  background: $border-subtle;
46
+ block-size: 1px;
47
+ inline-size: convert.to-rem(224px);
48
48
  }
49
49
 
50
50
  .#{$prefix}--switcher__item-link {
51
51
  @include type-style('heading-compact-01');
52
52
 
53
53
  display: block;
54
- height: $spacing-07;
55
54
  padding: convert.to-rem(6px) $spacing-05;
55
+ block-size: $spacing-07;
56
56
  color: $text-secondary;
57
57
  text-decoration: none;
58
58
 
@@ -23,7 +23,7 @@
23
23
  text-align: start;
24
24
 
25
25
  @if ($width == true) {
26
- width: 100%;
26
+ inline-size: 100%;
27
27
  }
28
28
 
29
29
  &::-moz-focus-inner {
@@ -30,11 +30,11 @@
30
30
 
31
31
  &::before {
32
32
  position: absolute;
33
- width: 100%;
34
- height: 100%;
35
33
  animation: 3000ms ease-in-out skeleton infinite;
36
34
  background: $skeleton-element;
35
+ block-size: 100%;
37
36
  content: '';
37
+ inline-size: 100%;
38
38
  will-change: transform-origin, transform, opacity;
39
39
 
40
40
  @media (prefers-reduced-motion: reduce) {
@@ -55,11 +55,11 @@
55
55
 
56
56
  &::before {
57
57
  position: absolute;
58
- width: 200%;
59
- height: 100%;
60
58
  animation: 3000ms ease-in-out skeleton infinite;
61
59
  background: $skeleton-element;
60
+ block-size: 100%;
62
61
  content: '';
62
+ inline-size: 200%;
63
63
  will-change: transform-origin, transform, opacity;
64
64
 
65
65
  @media (prefers-reduced-motion: reduce) {
@@ -18,6 +18,6 @@
18
18
 
19
19
  // apply a width if width parameter exists
20
20
  @if ($width) {
21
- width: $width;
21
+ inline-size: $width;
22
22
  }
23
23
  }
@@ -11,7 +11,7 @@
11
11
  @mixin text-truncate-end {
12
12
  display: inline-block;
13
13
  overflow: hidden;
14
- width: 100%;
14
+ inline-size: 100%;
15
15
  text-overflow: ellipsis;
16
16
  white-space: nowrap;
17
17
  }
@@ -22,8 +22,8 @@
22
22
  @mixin text-truncate-front {
23
23
  display: inline-block;
24
24
  overflow: hidden;
25
- width: 100%;
26
25
  direction: rtl;
26
+ inline-size: 100%;
27
27
  text-overflow: ellipsis;
28
28
  white-space: nowrap;
29
29
  }
@@ -21,10 +21,10 @@
21
21
  @mixin tooltip--caret {
22
22
  position: absolute;
23
23
  z-index: z('floating');
24
- width: 0;
25
- height: 0;
26
24
  border-style: solid;
25
+ block-size: 0;
27
26
  content: '';
27
+ inline-size: 0;
28
28
  }
29
29
 
30
30
  // Tooltip
@@ -36,33 +36,33 @@
36
36
  @include box-shadow;
37
37
 
38
38
  z-index: z('floating');
39
- width: max-content;
40
- min-width: convert.to-rem(24px);
41
- max-width: convert.to-rem(208px);
42
- height: auto;
43
39
  padding: if(
44
40
  $tooltip-type == 'definition',
45
41
  convert.to-rem(8px) convert.to-rem(16px),
46
42
  convert.to-rem(3px) convert.to-rem(16px)
47
43
  );
48
44
  background-color: $background-inverse;
45
+ block-size: auto;
49
46
  border-radius: convert.to-rem(2px);
50
47
  color: $text-inverse;
51
48
  font-weight: 400;
52
- text-align: left;
49
+ inline-size: max-content;
50
+ max-inline-size: convert.to-rem(208px);
51
+ min-inline-size: convert.to-rem(24px);
52
+ text-align: start;
53
53
  transform: translateX(-50%);
54
54
  @include type.type-style('body-compact-01');
55
55
 
56
56
  // IE media query
57
57
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
58
- width: auto;
58
+ inline-size: auto;
59
59
  }
60
60
  // Edge 12-15 and Edge 16 feature queries
61
61
  @supports (-ms-accelerator: true) {
62
- width: auto;
62
+ inline-size: auto;
63
63
  }
64
64
  @supports (-ms-ime-align: auto) {
65
- width: auto;
65
+ inline-size: auto;
66
66
  }
67
67
 
68
68
  // Windows, Firefox HCM Fix
@@ -140,10 +140,10 @@
140
140
 
141
141
  // caret
142
142
  &::before {
143
- width: 0;
144
- height: 0;
145
143
  border-style: solid;
144
+ block-size: 0;
146
145
  content: '';
146
+ inline-size: 0;
147
147
  }
148
148
 
149
149
  .#{$prefix}--assistive-text,
@@ -251,28 +251,28 @@
251
251
  // clip-path: polygon(50% 100%, 0 0, 100% 0);
252
252
 
253
253
  @if ($position == 'top' or $position == 'bottom') {
254
- left: 0;
255
- width: 100%;
256
- height: convert.to-rem(12px);
254
+ block-size: convert.to-rem(12px);
255
+ inline-size: 100%;
256
+ inset-inline-start: 0;
257
257
  }
258
258
 
259
259
  @if ($position == 'left' or $position == 'right') {
260
- top: 0;
261
- width: convert.to-rem(12px);
262
- height: 100%;
260
+ block-size: 100%;
261
+ inline-size: convert.to-rem(12px);
262
+ inset-block-start: 0;
263
263
  }
264
264
 
265
265
  @if ($position == 'top') {
266
- bottom: convert.to-rem(-12px);
266
+ inset-block-end: convert.to-rem(-12px);
267
267
  }
268
268
  @if ($position == 'right') {
269
- left: convert.to-rem(-12px);
269
+ inset-inline-start: convert.to-rem(-12px);
270
270
  }
271
271
  @if ($position == 'bottom') {
272
- top: convert.to-rem(-12px);
272
+ inset-block-start: convert.to-rem(-12px);
273
273
  }
274
274
  @if ($position == 'left') {
275
- right: convert.to-rem(-12px);
275
+ inset-inline-end: convert.to-rem(-12px);
276
276
  }
277
277
  }
278
278
 
@@ -282,58 +282,58 @@
282
282
  .#{$prefix}--assistive-text,
283
283
  + .#{$prefix}--assistive-text {
284
284
  @if ($position == 'top') {
285
- top: 0;
286
- left: 50%;
285
+ inset-block-start: 0;
286
+ inset-inline-start: 50%;
287
287
  }
288
288
  @if ($position == 'right') {
289
- top: 50%;
290
- right: 0;
289
+ inset-block-start: 50%;
290
+ inset-inline-end: 0;
291
291
  }
292
292
  @if ($position == 'bottom') {
293
- bottom: 0;
294
- left: 50%;
293
+ inset-block-end: 0;
294
+ inset-inline-start: 50%;
295
295
  }
296
296
  @if ($position == 'left') {
297
- top: 50%;
298
- left: 0;
297
+ inset-block-start: 50%;
298
+ inset-inline-start: 0;
299
299
  }
300
300
  }
301
301
 
302
302
  &::before {
303
303
  @if ($position == 'top') {
304
- top: -$caret-spacing;
305
304
  border-width: convert.to-rem(5px)
306
305
  convert.to-rem(4px)
307
306
  0
308
307
  convert.to-rem(4px);
309
308
  border-color: $background-inverse transparent transparent transparent;
309
+ inset-block-start: -$caret-spacing;
310
310
  transform: translate(-50%, -100%);
311
311
  }
312
312
  @if ($position == 'right') {
313
- right: -$caret-spacing;
314
313
  border-width: convert.to-rem(4px)
315
314
  convert.to-rem(5px)
316
315
  convert.to-rem(4px)
317
316
  0;
318
317
  border-color: transparent $background-inverse transparent transparent;
318
+ inset-inline-end: -$caret-spacing;
319
319
  transform: translate(100%, -50%);
320
320
  }
321
321
  @if ($position == 'bottom') {
322
- bottom: -$caret-spacing;
323
322
  border-width: 0
324
323
  convert.to-rem(4px)
325
324
  convert.to-rem(5px)
326
325
  convert.to-rem(4px);
327
326
  border-color: transparent transparent $background-inverse transparent;
327
+ inset-block-end: -$caret-spacing;
328
328
  transform: translate(-50%, 100%);
329
329
  }
330
330
  @if ($position == 'left') {
331
- left: -$caret-spacing;
332
331
  border-width: convert.to-rem(4px)
333
332
  0
334
333
  convert.to-rem(4px)
335
334
  convert.to-rem(5px);
336
335
  border-color: transparent transparent transparent $background-inverse;
336
+ inset-inline-start: -$caret-spacing;
337
337
  transform: translate(-100%, -50%);
338
338
  }
339
339
  }
@@ -344,38 +344,36 @@
344
344
  .#{$prefix}--assistive-text,
345
345
  + .#{$prefix}--assistive-text {
346
346
  @if ($position == 'top') {
347
- top: -$body-spacing;
347
+ inset-block-start: -$body-spacing;
348
348
  @if ($align == 'start') {
349
- left: 0;
349
+ inset-inline-start: 0;
350
350
  transform: translate(0, -100%);
351
351
  } @else if ($align == 'end') {
352
- right: 0;
353
- left: auto;
352
+ inset-inline: auto 0;
354
353
  transform: translate(0, -100%);
355
354
  } @else {
356
- left: 50%;
355
+ inset-inline-start: 50%;
357
356
  transform: translate(-50%, -100%);
358
357
  }
359
358
  }
360
359
  @if ($position == 'right') {
361
- right: -$body-spacing;
360
+ inset-inline-end: -$body-spacing;
362
361
  transform: translate(100%, -50%);
363
362
  }
364
363
  @if ($position == 'bottom') {
365
- bottom: -$body-spacing;
364
+ inset-block-end: -$body-spacing;
366
365
  @if ($align == 'start') {
367
- left: 0;
366
+ inset-inline-start: 0;
368
367
  transform: translate(0, 100%);
369
368
  } @else if ($align == 'end') {
370
- right: 0;
371
- left: auto;
369
+ inset-inline: auto 0;
372
370
  transform: translate(0, 100%);
373
371
  } @else {
374
372
  transform: translate(-50%, 100%);
375
373
  }
376
374
  }
377
375
  @if ($position == 'left') {
378
- left: -$body-spacing;
376
+ inset-inline-start: -$body-spacing;
379
377
  transform: translate(-100%, -50%);
380
378
  }
381
379
  }
@@ -385,7 +383,7 @@
385
383
  &.#{$prefix}--tooltip--a11y + .#{$prefix}--assistive-text {
386
384
  @if ($position == 'bottom') {
387
385
  // carryover from https://github.com/carbon-design-system/carbon/pull/3151/files#diff-93734be0784e9530b6d14a7b03b0d352R261-R265
388
- bottom: -($body-spacing - convert.to-rem(1px));
386
+ inset-block-end: -($body-spacing - convert.to-rem(1px));
389
387
  @if ($align == 'start' or $align == 'end') {
390
388
  transform: translate(0, 100%);
391
389
  } @else {