@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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/styles",
3
3
  "description": "Styles for the Carbon Design System",
4
- "version": "1.37.0",
4
+ "version": "1.38.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -40,11 +40,11 @@
40
40
  "dependencies": {
41
41
  "@carbon/colors": "^11.19.0",
42
42
  "@carbon/feature-flags": "^0.16.0",
43
- "@carbon/grid": "^11.19.0",
43
+ "@carbon/grid": "^11.20.0-rc.0",
44
44
  "@carbon/layout": "^11.19.0",
45
45
  "@carbon/motion": "^11.15.0",
46
- "@carbon/themes": "^11.24.0",
47
- "@carbon/type": "^11.23.0",
46
+ "@carbon/themes": "^11.25.0-rc.0",
47
+ "@carbon/type": "^11.24.0-rc.0",
48
48
  "@ibm/plex": "6.0.0-next.6"
49
49
  },
50
50
  "devDependencies": {
@@ -65,5 +65,5 @@
65
65
  "scss/**/*.css",
66
66
  "css/**/*.css"
67
67
  ],
68
- "gitHead": "5078eb5204b21763244768af3b0b283551561d47"
68
+ "gitHead": "0a2c591ac9ac56286ab465334be3e1322d4c86cb"
69
69
  }
@@ -51,18 +51,18 @@ $content-padding: 0 0 0 $spacing-05 !default;
51
51
 
52
52
  @include component-reset.reset;
53
53
 
54
- width: 100%;
54
+ inline-size: 100%;
55
55
  list-style: none;
56
56
  }
57
57
 
58
58
  .#{$prefix}--accordion__item {
59
59
  display: list-item;
60
60
  overflow: visible;
61
- border-top: 1px solid $border-subtle;
61
+ border-block-start: 1px solid $border-subtle;
62
62
  transition: all $duration-fast-02 motion(standard, productive);
63
63
 
64
64
  &:last-child {
65
- border-bottom: 1px solid $border-subtle;
65
+ border-block-end: 1px solid $border-subtle;
66
66
  }
67
67
  }
68
68
 
@@ -71,24 +71,25 @@ $content-padding: 0 0 0 $spacing-05 !default;
71
71
 
72
72
  position: relative;
73
73
  display: flex;
74
- width: 100%;
75
- min-height: layout.size('height');
76
74
  flex-direction: $flex-direction;
77
75
  align-items: center;
78
76
  justify-content: $justify-content;
79
77
  margin: 0;
80
78
  color: $text-primary;
81
79
  cursor: pointer;
80
+ inline-size: 100%;
81
+ min-block-size: layout.size('height');
82
+ padding-inline-end: layout.density('padding-inline');
82
83
  transition: background-color motion(standard, productive) $duration-fast-02;
83
84
 
84
85
  &:hover::before,
85
86
  &:focus::before {
86
87
  position: absolute;
87
- top: -1px;
88
- left: 0;
89
- width: 100%;
90
- height: calc(100% + 2px);
88
+ block-size: calc(100% + 2px);
91
89
  content: '';
90
+ inline-size: 100%;
91
+ inset-block-start: -1px;
92
+ inset-inline-start: 0;
92
93
  }
93
94
 
94
95
  &:hover::before {
@@ -122,25 +123,24 @@ $content-padding: 0 0 0 $spacing-05 !default;
122
123
  .#{$prefix}--accordion__item--disabled + .#{$prefix}--accordion__item {
123
124
  // v10 icon doesn't have 1:1 translation, keeping color same as enabled state
124
125
  // https://github.com/carbon-design-system/carbon/issues/10373#issuecomment-1021638147
125
- border-top: 1px solid $border-subtle;
126
+ border-block-start: 1px solid $border-subtle;
126
127
  }
127
128
 
128
129
  li.#{$prefix}--accordion__item--disabled:last-of-type {
129
130
  // v10 icon doesn't have 1:1 translation, keeping color same as enabled state
130
131
  // https://github.com/carbon-design-system/carbon/issues/10373#issuecomment-1021638147
131
- border-bottom: 1px solid $border-subtle;
132
+ border-block-end: 1px solid $border-subtle;
132
133
  }
133
134
 
134
135
  .#{$prefix}--accordion__arrow {
135
136
  @include focus-outline('reset');
136
137
 
137
- width: 1rem;
138
- height: 1rem;
139
- // Without flex basis and flex shrink being set here, our icon width can go
140
- // <16px and cause the icon to render in the incorrect artboard size
141
138
  flex: 0 0 1rem;
142
- margin: $arrow-margin;
139
+ block-size: 1rem;
143
140
  fill: $icon-primary;
141
+ inline-size: 1rem;
142
+ // Without flex basis and flex shrink being set here, our icon width can go
143
+ // <16px and cause the icon to render in the incorrect artboard size
144
144
  transform: rotate(-270deg) #{'/*rtl:ignore*/'};
145
145
  transition: all $duration-fast-02 motion(standard, productive);
146
146
  }
@@ -149,10 +149,9 @@ $content-padding: 0 0 0 $spacing-05 !default;
149
149
  @include type-style('body-01');
150
150
 
151
151
  z-index: 1;
152
- width: 100%;
153
- padding-right: $spacing-05;
154
- margin: $title-margin;
155
- text-align: left;
152
+ inline-size: 100%;
153
+ padding-inline-start: $spacing-05;
154
+ text-align: start;
156
155
  }
157
156
 
158
157
  .#{$prefix}--accordion__content {
@@ -163,11 +162,11 @@ $content-padding: 0 0 0 $spacing-05 !default;
163
162
 
164
163
  // Custom breakpoints based on issue #4993
165
164
  @include breakpoint-up(480px) {
166
- padding-right: $spacing-09;
165
+ padding-inline-end: $spacing-09;
167
166
  }
168
167
 
169
168
  @include breakpoint-up(640px) {
170
- padding-right: 25%;
169
+ padding-inline-end: 25%;
171
170
  }
172
171
 
173
172
  > p {
@@ -186,11 +185,13 @@ $content-padding: 0 0 0 $spacing-05 !default;
186
185
  }
187
186
 
188
187
  .#{$prefix}--accordion--start .#{$prefix}--accordion__title {
189
- margin-right: $spacing-05;
188
+ margin-inline-end: $spacing-05;
190
189
  }
191
190
 
192
191
  .#{$prefix}--accordion--start .#{$prefix}--accordion__content {
193
- margin-left: calc(#{layout.density('padding-inline')} + #{$spacing-05});
192
+ margin-inline-start: calc(
193
+ #{layout.density('padding-inline')} + #{$spacing-05}
194
+ );
194
195
  }
195
196
 
196
197
  .#{$prefix}--accordion__item--collapsing .#{$prefix}--accordion__content,
@@ -231,8 +232,8 @@ $content-padding: 0 0 0 $spacing-05 !default;
231
232
 
232
233
  .#{$prefix}--accordion__content {
233
234
  display: block;
234
- padding-top: $spacing-03;
235
- padding-bottom: $spacing-06;
235
+ padding-block: $spacing-03;
236
+ padding-block-end: $spacing-06;
236
237
  // Transition property for when the accordion opens
237
238
  transition: padding-top motion(entrance, productive) $duration-fast-02,
238
239
  padding-bottom motion(entrance, productive) $duration-fast-02;
@@ -271,7 +272,7 @@ $content-padding: 0 0 0 $spacing-05 !default;
271
272
 
272
273
  .#{$prefix}--accordion--end.#{$prefix}--skeleton
273
274
  .#{$prefix}--accordion__arrow {
274
- margin-left: $spacing-05;
275
+ margin-inline-start: $spacing-05;
275
276
  }
276
277
 
277
278
  .#{$prefix}--skeleton
@@ -283,7 +284,7 @@ $content-padding: 0 0 0 $spacing-05 !default;
283
284
  }
284
285
 
285
286
  .#{$prefix}--accordion__title.#{$prefix}--skeleton__text {
286
- margin-bottom: 0;
287
+ margin-block-end: 0;
287
288
  }
288
289
 
289
290
  // Windows HCM fix
@@ -291,37 +292,48 @@ $content-padding: 0 0 0 $spacing-05 !default;
291
292
  .#{$prefix}--accordion__item--active .#{$prefix}--accordion__arrow {
292
293
  @include high-contrast-mode('icon-fill');
293
294
  }
295
+
296
+ // RTL overrides
297
+ [dir='rtl'] .#{$prefix}--accordion--start .#{$prefix}--accordion__heading {
298
+ padding-inline-end: 0;
299
+ padding-inline-start: layout.density('padding-inline');
300
+ }
301
+
302
+ [dir='rtl'] .#{$prefix}--accordion--start .#{$prefix}--accordion__title {
303
+ margin-inline-end: 0;
304
+ padding-inline-start: 0;
305
+ }
294
306
  }
295
307
 
296
308
  @mixin -content-visible {
297
- height: 100%;
309
+ block-size: 100%;
298
310
  opacity: 1;
299
311
  visibility: inherit;
300
312
  }
301
313
 
302
314
  @mixin -content-hidden {
303
- height: 0;
315
+ block-size: 0;
304
316
  opacity: 0;
305
317
  visibility: hidden;
306
318
  }
307
319
 
308
320
  // flush
309
321
  .#{$prefix}--accordion--flush .#{$prefix}--accordion__title {
310
- margin-left: 0;
322
+ margin-inline-start: 0;
311
323
  }
312
324
 
313
325
  .#{$prefix}--accordion--flush .#{$prefix}--accordion__arrow {
314
- margin-right: 0;
326
+ margin-inline-end: 0;
315
327
  }
316
328
 
317
329
  .#{$prefix}--accordion--flush .#{$prefix}--accordion__content {
318
- padding-left: 0;
330
+ padding-inline-start: 0;
319
331
  }
320
332
 
321
333
  .#{$prefix}--accordion--flush:not(.#{$prefix}--skeleton)
322
334
  .#{$prefix}--accordion__heading:hover::before,
323
335
  .#{$prefix}--accordion--flush:not(.#{$prefix}--skeleton)
324
336
  .#{$prefix}--accordion__heading:focus::before {
325
- left: -1rem;
326
- width: calc(100% + 32px);
337
+ inline-size: calc(100% + 32px);
338
+ inset-inline-start: -1rem;
327
339
  }
@@ -45,11 +45,14 @@ $aspect-ratios: (
45
45
  }
46
46
 
47
47
  .#{$prefix}--aspect-ratio::before {
48
- width: 1px;
49
- height: 0;
50
- margin-left: -1px;
48
+ block-size: 0;
51
49
  content: '';
50
+ // float: inline-start is not supported yet
51
+ // https://caniuse.com/mdn-css_properties_float_flow_relative_values
52
+ // stylelint-disable-next-line csstools/use-logical
52
53
  float: left;
54
+ inline-size: 1px;
55
+ margin-inline-start: -1px;
53
56
  }
54
57
 
55
58
  .#{$prefix}--aspect-ratio::after {
@@ -63,7 +66,7 @@ $aspect-ratios: (
63
66
  $height: list.nth($aspect-ratio, 2);
64
67
 
65
68
  .#{$prefix}--aspect-ratio--#{$width}x#{$height}::before {
66
- padding-top: math.percentage(math.div($height, $width));
69
+ padding-block-start: math.percentage(math.div($height, $width));
67
70
  }
68
71
  }
69
72
  }
@@ -34,7 +34,7 @@
34
34
  position: relative;
35
35
  display: flex;
36
36
  align-items: center;
37
- margin-right: $spacing-03;
37
+ margin-inline-end: $spacing-03;
38
38
  }
39
39
 
40
40
  .#{$prefix}--breadcrumb-item .#{$prefix}--link:visited {
@@ -46,9 +46,9 @@
46
46
  }
47
47
 
48
48
  .#{$prefix}--breadcrumb-item::after {
49
- margin-left: $spacing-03;
50
49
  color: $text-primary;
51
50
  content: '/';
51
+ margin-inline-start: $spacing-03;
52
52
  }
53
53
 
54
54
  .#{$prefix}--breadcrumb--no-trailing-slash
@@ -58,7 +58,7 @@
58
58
 
59
59
  .#{$prefix}--breadcrumb-item:last-child,
60
60
  .#{$prefix}--breadcrumb-item:last-child::after {
61
- margin-right: 0;
61
+ margin-inline-end: 0;
62
62
  }
63
63
 
64
64
  .#{$prefix}--breadcrumb .#{$prefix}--link {
@@ -79,8 +79,8 @@
79
79
  // Overflow Menu overrides
80
80
  .#{$prefix}--breadcrumb-item .#{$prefix}--overflow-menu {
81
81
  position: relative;
82
- width: convert.to-rem(20px);
83
- height: convert.to-rem(18px);
82
+ block-size: convert.to-rem(18px);
83
+ inline-size: convert.to-rem(20px);
84
84
 
85
85
  &:focus {
86
86
  outline: 1px solid $focus;
@@ -93,11 +93,11 @@
93
93
  // Used to mimic link underline
94
94
  &::after {
95
95
  position: absolute;
96
- bottom: 2px;
97
- width: convert.to-rem(12px);
98
- height: 1px;
99
96
  background: $link-primary-hover;
97
+ block-size: 1px;
100
98
  content: '';
99
+ inline-size: convert.to-rem(12px);
100
+ inset-block-end: 2px;
101
101
  opacity: 0;
102
102
  transition: opacity $duration-fast-01 motion(standard, productive);
103
103
 
@@ -135,29 +135,35 @@
135
135
 
136
136
  $caret-size: convert.to-rem(7px);
137
137
  .#{$prefix}--breadcrumb-menu-options.#{$prefix}--overflow-menu-options::after {
138
- top: -$caret-size;
139
- left: $caret-size * 2;
140
- width: 0;
141
- height: 0;
142
- border-right: $caret-size solid transparent;
143
- border-bottom: $caret-size solid $field;
144
- border-left: $caret-size solid transparent;
145
138
  margin: 0 auto;
146
139
  background: transparent;
140
+ block-size: 0;
141
+ border-block-end: $caret-size solid $field;
142
+ border-inline-end: $caret-size solid transparent;
143
+ border-inline-start: $caret-size solid transparent;
144
+ inline-size: 0;
145
+ inset-block-start: -$caret-size;
146
+ inset-inline-start: $caret-size * 2;
147
+ }
148
+
149
+ [dir='rtl']
150
+ .#{$prefix}--breadcrumb-menu-options.#{$prefix}--overflow-menu-options::after {
151
+ inset-inline-end: $caret-size * 2;
152
+ inset-inline-start: initial;
147
153
  }
148
154
 
149
155
  // Skeleton State
150
156
  .#{$prefix}--breadcrumb.#{$prefix}--skeleton .#{$prefix}--link {
151
157
  @include skeleton;
152
158
 
153
- width: convert.to-rem(100px);
154
- height: 1rem;
159
+ block-size: 1rem;
160
+ inline-size: convert.to-rem(100px);
155
161
  }
156
162
 
157
163
  .#{$prefix}--breadcrumb
158
164
  .#{$prefix}--overflow-menu.#{$prefix}--btn--icon-only {
159
- min-height: 1.125rem;
160
- padding-right: 0;
161
- padding-left: 0;
165
+ min-block-size: 1.125rem;
166
+ padding-inline-end: 0;
167
+ padding-inline-start: 0;
162
168
  }
163
169
  }
@@ -119,7 +119,7 @@
119
119
 
120
120
  .#{$prefix}--btn__icon {
121
121
  position: static;
122
- margin-left: $spacing-03;
122
+ margin-inline-start: $spacing-03;
123
123
  }
124
124
 
125
125
  &:hover,
@@ -149,10 +149,10 @@
149
149
  }
150
150
 
151
151
  .#{$prefix}--btn--icon-only {
152
- width: layout.size('height');
153
- height: layout.size('height');
154
152
  justify-content: center;
155
153
  padding: 0;
154
+ block-size: layout.size('height');
155
+ inline-size: layout.size('height');
156
156
  // -1px to compensate for border width
157
157
  padding-block-start: min(
158
158
  calc(
@@ -162,8 +162,8 @@
162
162
  );
163
163
 
164
164
  > :first-child {
165
- min-width: convert.to-rem(16px);
166
165
  margin-block-start: convert.to-rem(1px);
166
+ min-inline-size: convert.to-rem(16px);
167
167
  }
168
168
 
169
169
  .#{$prefix}--btn__icon {
@@ -283,7 +283,7 @@
283
283
 
284
284
  .#{$prefix}--btn__icon {
285
285
  position: static;
286
- margin-left: $spacing-03;
286
+ margin-inline-start: $spacing-03;
287
287
  }
288
288
 
289
289
  &:hover,
@@ -324,19 +324,19 @@
324
324
  }
325
325
 
326
326
  .#{$prefix}--btn.#{$prefix}--btn--expressive .#{$prefix}--btn__icon {
327
- width: convert.to-rem(20px);
328
- height: convert.to-rem(20px);
327
+ block-size: convert.to-rem(20px);
328
+ inline-size: convert.to-rem(20px);
329
329
  }
330
330
 
331
331
  .#{$prefix}--btn-set .#{$prefix}--btn.#{$prefix}--btn--expressive {
332
- max-width: convert.to-rem(320px);
332
+ max-inline-size: convert.to-rem(320px);
333
333
  }
334
334
 
335
335
  // Skeleton State
336
336
  .#{$prefix}--btn.#{$prefix}--skeleton {
337
337
  @include skeleton;
338
338
 
339
- width: convert.to-rem(150px);
339
+ inline-size: convert.to-rem(150px);
340
340
  }
341
341
 
342
342
  // button set styles
@@ -349,9 +349,9 @@
349
349
  }
350
350
 
351
351
  .#{$prefix}--btn-set .#{$prefix}--btn {
352
- width: 100%;
352
+ inline-size: 100%;
353
353
  // 196px from design kit
354
- max-width: convert.to-rem(196px);
354
+ max-inline-size: convert.to-rem(196px);
355
355
 
356
356
  &:not(:focus) {
357
357
  box-shadow: convert.to-rem(-1px) 0 0 0 $button-separator;
@@ -403,4 +403,9 @@
403
403
  .#{$prefix}--btn--ghost.#{$prefix}--btn--icon-only .#{$prefix}--btn__icon {
404
404
  @include high-contrast-mode('icon-fill');
405
405
  }
406
+
407
+ // RTL overrides
408
+ [dir='rtl'] .#{$prefix}--btn-set .#{$prefix}--btn:not(:focus) {
409
+ box-shadow: convert.to-rem(1px) 0 0 0 $button-separator;
410
+ }
406
411
  }
@@ -46,15 +46,15 @@ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
46
46
 
47
47
  position: relative;
48
48
  display: inline-flex;
49
- width: max-content;
50
- max-width: convert.to-rem(320px);
51
- min-height: layout.size('height');
52
49
  flex-shrink: 0;
53
50
  justify-content: space-between;
54
51
  // Fix to remove added margins on buttons in safari (see #5155)
55
52
  margin: 0;
56
53
  border-radius: $button-border-radius;
57
54
  cursor: pointer;
55
+ inline-size: max-content;
56
+ max-inline-size: convert.to-rem(320px);
57
+ min-block-size: layout.size('height');
58
58
  outline: none;
59
59
  // -1px to compensate for border width
60
60
  padding-block: min(
@@ -68,7 +68,7 @@ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
68
68
  padding-inline-start: calc(
69
69
  layout.density('padding-inline') - convert.to-rem(1px)
70
70
  );
71
- text-align: left;
71
+ text-align: start;
72
72
  text-decoration: none;
73
73
  transition: background $duration-fast-01 motion(entrance, productive),
74
74
  box-shadow $duration-fast-01 motion(entrance, productive),
@@ -91,17 +91,17 @@ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
91
91
 
92
92
  .#{$prefix}--btn__icon {
93
93
  position: absolute;
94
+ flex-shrink: 0;
95
+ block-size: convert.to-rem(16px);
96
+ inline-size: convert.to-rem(16px);
94
97
  // -1px to compensate for border width
95
- top: min(
98
+ inset-block-start: min(
96
99
  calc(
97
100
  (layout.size('height') - convert.to-rem(16px)) / 2 - convert.to-rem(1px)
98
101
  ),
99
102
  var(--temp-padding-block-max)
100
103
  );
101
- right: layout.density('padding-inline');
102
- width: convert.to-rem(16px);
103
- height: convert.to-rem(16px);
104
- flex-shrink: 0;
104
+ inset-inline-end: layout.density('padding-inline');
105
105
  margin-block-start: convert.to-rem(1px);
106
106
  }
107
107
  }
@@ -145,7 +145,7 @@ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
145
145
 
146
146
  @mixin button-padding-large {
147
147
  align-items: baseline;
148
- padding-top: $spacing-05;
149
- padding-right: $spacing-10;
150
- padding-left: $spacing-05;
148
+ padding-block-start: $spacing-05;
149
+ padding-inline-end: $spacing-10;
150
+ padding-inline-start: $spacing-05;
151
151
  }