@carbon/styles 1.91.0 → 1.92.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.
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.91.0",
4
+ "version": "1.92.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -40,20 +40,20 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@carbon/colors": "^11.41.0",
43
+ "@carbon/colors": "^11.42.0",
44
44
  "@carbon/feature-flags": "^0.31.0",
45
- "@carbon/grid": "^11.44.0",
46
- "@carbon/layout": "^11.42.0",
47
- "@carbon/motion": "^11.36.0",
48
- "@carbon/themes": "^11.61.0",
49
- "@carbon/type": "^11.48.0",
45
+ "@carbon/grid": "^11.45.0",
46
+ "@carbon/layout": "^11.43.0",
47
+ "@carbon/motion": "^11.37.0",
48
+ "@carbon/themes": "^11.62.0",
49
+ "@carbon/type": "^11.49.0",
50
50
  "@ibm/plex": "6.0.0-next.6",
51
51
  "@ibm/plex-mono": "1.1.0",
52
52
  "@ibm/plex-sans": "1.1.0",
53
53
  "@ibm/plex-sans-arabic": "1.1.0",
54
54
  "@ibm/plex-sans-devanagari": "1.1.0",
55
- "@ibm/plex-sans-hebrew": "0.0.3-alpha.0",
56
- "@ibm/plex-sans-thai": "0.0.3-alpha.0",
55
+ "@ibm/plex-sans-hebrew": "1.1.0",
56
+ "@ibm/plex-sans-thai": "1.1.0",
57
57
  "@ibm/plex-sans-thai-looped": "1.1.0",
58
58
  "@ibm/plex-serif": "1.1.0",
59
59
  "@ibm/telemetry-js": "^1.5.0"
@@ -75,5 +75,5 @@
75
75
  "scss/**/*.css",
76
76
  "css/**/*.css"
77
77
  ],
78
- "gitHead": "8f9dd77c8055a1a1ce36af55298c19c9f8966ab9"
78
+ "gitHead": "c17cce753e36124e6e8e02daba97ae9d4decbcc3"
79
79
  }
@@ -178,7 +178,7 @@ $copy-btn-feedback: $background-inverse !default;
178
178
  .#{$prefix}--snippet--single pre {
179
179
  @include type-style('code-01');
180
180
 
181
- padding-inline-end: $spacing-03;
181
+ padding-inline-end: $spacing-07;
182
182
  }
183
183
 
184
184
  // Preserve whitespace, but don't allow wrapping for inline and single
@@ -223,9 +223,10 @@ $copy-btn-feedback: $background-inverse !default;
223
223
  word-wrap: break-word;
224
224
  }
225
225
 
226
- // collapsed pre
227
226
  .#{$prefix}--snippet--multi .#{$prefix}--snippet-container pre {
228
- padding-inline-end: $spacing-08;
227
+ overflow: auto;
228
+ padding-block-end: $spacing-06;
229
+ padding-inline-end: $spacing-06;
229
230
  }
230
231
 
231
232
  .#{$prefix}--snippet--multi.#{$prefix}--snippet--no-copy
@@ -234,16 +235,6 @@ $copy-btn-feedback: $background-inverse !default;
234
235
  padding-inline-end: 0;
235
236
  }
236
237
 
237
- .#{$prefix}--snippet--multi.#{$prefix}--snippet--has-right-overflow::after {
238
- position: absolute;
239
- background-image: linear-gradient(to right, transparent, $layer);
240
- block-size: 100%;
241
- content: '';
242
- inline-size: convert.to-rem(16px);
243
- inset-block-start: 0;
244
- inset-inline-end: $spacing-05;
245
- }
246
-
247
238
  [dir='rtl']
248
239
  .#{$prefix}--snippet--multi.#{$prefix}--snippet--has-right-overflow::after {
249
240
  background-image: linear-gradient(to left, transparent, $layer);
@@ -401,12 +392,6 @@ $copy-btn-feedback: $background-inverse !default;
401
392
  background-color: $layer-active;
402
393
  }
403
394
 
404
- .#{$prefix}--snippet--light.#{$prefix}--snippet--single::after,
405
- .#{$prefix}--snippet--light.#{$prefix}--snippet--multi::after {
406
- // Safari interprets `transparent` differently, so make color token value transparent instead:
407
- background-image: linear-gradient(to right, rgba($layer, 0), $layer);
408
- }
409
-
410
395
  // Skeleton State
411
396
  .#{$prefix}--snippet.#{$prefix}--skeleton .#{$prefix}--snippet-container {
412
397
  block-size: 100%;
@@ -441,82 +426,60 @@ $copy-btn-feedback: $background-inverse !default;
441
426
  inset-inline: 50% auto;
442
427
  }
443
428
 
444
- // Overflow Indicator
445
- .#{$prefix}--snippet__overflow-indicator--left,
446
- .#{$prefix}--snippet__overflow-indicator--right {
447
- z-index: 1;
448
- flex: 1 0 auto;
449
- inline-size: $spacing-05;
450
- }
451
-
452
- .#{$prefix}--snippet__overflow-indicator--left {
453
- order: 0;
454
- background-image: linear-gradient(to left, transparent, $layer);
455
- margin-inline-end: -$spacing-05;
456
- }
457
-
458
- .#{$prefix}--snippet__overflow-indicator--right {
459
- order: 2;
460
- background-image: linear-gradient(to right, transparent, $layer);
461
- margin-inline-start: -$spacing-05;
462
- }
463
-
464
- [dir='rtl'] .#{$prefix}--snippet__overflow-indicator--left {
465
- background-image: linear-gradient(to right, transparent, $layer);
466
- }
467
-
468
- [dir='rtl'] .#{$prefix}--snippet__overflow-indicator--right {
469
- background-image: linear-gradient(to left, transparent, $layer);
470
- }
471
-
472
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--right,
473
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--left {
474
- position: absolute;
475
- block-size: calc(100% - #{$spacing-02});
476
- inline-size: $spacing-07;
477
- }
478
-
479
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--right {
480
- inset-inline-end: $spacing-08;
481
- }
482
-
483
- .#{$prefix}--snippet--single.#{$prefix}--snippet--no-copy
484
- .#{$prefix}--snippet__overflow-indicator--right {
485
- inset-inline-end: 0;
486
- }
487
-
488
- .#{$prefix}--snippet--single
489
- .#{$prefix}--snippet-container:focus
490
- ~ .#{$prefix}--snippet__overflow-indicator--right {
491
- inset-inline-end: calc(#{$spacing-08} + #{convert.to-rem(2px)});
492
- }
493
-
494
- .#{$prefix}--snippet--single
495
- .#{$prefix}--snippet-container:focus
496
- + .#{$prefix}--snippet__overflow-indicator--left {
497
- inset-inline-start: convert.to-rem(2px);
498
- }
499
-
500
- .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--left {
501
- background-image: linear-gradient(to left, transparent, $layer);
429
+ // Using mask-image for single line snippet
430
+ .#{$prefix}--snippet--single .#{$prefix}--snippet-container {
431
+ mask-image: linear-gradient(
432
+ to right,
433
+ #000000 calc(100% - #{$spacing-07}),
434
+ transparent 100%
435
+ );
436
+ pointer-events: auto;
502
437
  }
503
438
 
504
- .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--right {
505
- background-image: linear-gradient(to right, transparent, $layer);
439
+ .#{$prefix}--snippet--multi {
440
+ position: relative;
506
441
  }
507
442
 
508
- // Safari-only media query
509
- // since fades won't appear correctly with CSS custom properties
510
- // see: tabs, code snippet, and modal overflow indicators
511
- @supports (hanging-punctuation: first) and (font: -apple-system-body) and
512
- (-webkit-appearance: none) {
513
- .#{$prefix}--snippet__overflow-indicator--left {
514
- background-image: linear-gradient(to left, rgba($layer, 0), $layer);
515
- }
516
-
517
- .#{$prefix}--snippet__overflow-indicator--right {
518
- background-image: linear-gradient(to right, rgba($layer, 0), $layer);
519
- }
443
+ .#{$prefix}--snippet--multi .#{$prefix}--snippet-container {
444
+ inline-size: 100%;
445
+ mask-composite: intersect;
446
+ mask-image: linear-gradient(
447
+ to right,
448
+ #000000 calc(100% - #{$spacing-07}),
449
+ transparent 100%
450
+ ),
451
+ linear-gradient(
452
+ to bottom,
453
+ #000000 calc(100% - #{$spacing-05}),
454
+ transparent 100%
455
+ );
456
+ pointer-events: auto;
457
+ }
458
+
459
+ [dir='rtl'] .#{$prefix}--snippet--single .#{$prefix}--snippet-container {
460
+ mask-image: linear-gradient(
461
+ to left,
462
+ #000000 calc(100% - #{$spacing-07}),
463
+ transparent 100%
464
+ );
465
+ }
466
+
467
+ [dir='rtl'] .#{$prefix}--snippet--multi .#{$prefix}--snippet-container {
468
+ mask-image: linear-gradient(
469
+ to left,
470
+ #000000 calc(100% - #{$spacing-07}),
471
+ transparent 100%
472
+ ),
473
+ linear-gradient(
474
+ to bottom,
475
+ #000000 calc(100% - #{$spacing-05}),
476
+ transparent 100%
477
+ );
478
+ }
479
+
480
+ .#{$prefix}--snippet--single:focus-within .#{$prefix}--snippet-container,
481
+ .#{$prefix}--snippet--multi:focus-within .#{$prefix}--snippet-container {
482
+ mask-image: none;
520
483
  }
521
484
 
522
485
  .#{$prefix}--snippet--multi.#{$prefix}--skeleton {
@@ -315,14 +315,14 @@
315
315
  //----------------------------------------------------------------------------
316
316
  .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:nth-child(4n + 3) td,
317
317
  .#{$prefix}--data-table--zebra tbody tr[data-child-row]:nth-child(4n + 4) td {
318
- border-block-end: 1px solid $layer;
318
+ background-color: $layer-accent;
319
+ border-block-end: 1px solid $layer-accent;
320
+ border-block-start: 1px solid $layer-accent;
319
321
  }
320
322
 
321
323
  .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:nth-child(4n + 1) td,
322
324
  .#{$prefix}--data-table--zebra tbody tr[data-child-row]:nth-child(4n + 2) td {
323
- background-color: $layer-accent;
324
- border-block-end: 1px solid $layer-accent;
325
- border-block-start: 1px solid $layer-accent;
325
+ border-block-end: 1px solid $layer;
326
326
  }
327
327
 
328
328
  .#{$prefix}--data-table--zebra tr.#{$prefix}--parent-row td,
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2025
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -292,6 +292,15 @@
292
292
  linear-gradient(to top, $layer 0, 2px, transparent 2px);
293
293
  }
294
294
 
295
+ .#{$prefix}--modal--slug
296
+ .#{$prefix}--modal-content.#{$prefix}--modal-scroll-content.#{$prefix}--modal-scroll-content--no-fade,
297
+ .#{$prefix}--modal--decorator
298
+ .#{$prefix}--modal-content.#{$prefix}--modal-scroll-content.#{$prefix}--modal-scroll-content--no-fade,
299
+ .#{$prefix}--modal-scroll-content.#{$prefix}--modal-scroll-content--no-fade,
300
+ .#{$prefix}--modal-scroll-content--no-fade {
301
+ mask-image: none;
302
+ }
303
+
295
304
  //removing mask image in case we have dropdown in modal
296
305
  .#{$prefix}--modal-scroll-content:has(.#{$prefix}--autoalign) {
297
306
  mask-image: none;
@@ -36,10 +36,10 @@
36
36
  display: flex;
37
37
  align-items: center;
38
38
  justify-content: center;
39
- block-size: convert.to-rem(40px);
39
+ block-size: $spacing-08;
40
40
  cursor: pointer;
41
- inline-size: convert.to-rem(40px);
42
- min-block-size: convert.to-rem(40px);
41
+ inline-size: $spacing-08;
42
+ min-block-size: $spacing-08;
43
43
  transition:
44
44
  outline $duration-fast-02 motion(entrance, productive),
45
45
  background-color $duration-fast-02 motion(entrance, productive);
@@ -57,15 +57,21 @@
57
57
  margin-block-start: 0;
58
58
  }
59
59
 
60
+ .#{$prefix}--overflow-menu--xs {
61
+ block-size: $spacing-06;
62
+ inline-size: $spacing-06;
63
+ min-block-size: $spacing-06;
64
+ }
65
+
60
66
  .#{$prefix}--overflow-menu--sm {
61
- block-size: convert.to-rem(32px);
62
- inline-size: convert.to-rem(32px);
63
- min-block-size: convert.to-rem(32px);
67
+ block-size: $spacing-07;
68
+ inline-size: $spacing-07;
69
+ min-block-size: $spacing-07;
64
70
  }
65
71
 
66
72
  .#{$prefix}--overflow-menu--lg {
67
- block-size: convert.to-rem(48px);
68
- inline-size: convert.to-rem(48px);
73
+ block-size: $spacing-09;
74
+ inline-size: $spacing-09;
69
75
  }
70
76
 
71
77
  // Overwrite Icon Tooltip focus styles
@@ -93,9 +99,9 @@
93
99
  }
94
100
 
95
101
  .#{$prefix}--overflow-menu__icon {
96
- block-size: convert.to-rem(16px);
102
+ block-size: $spacing-05;
97
103
  fill: $icon-primary;
98
- inline-size: convert.to-rem(16px);
104
+ inline-size: $spacing-05;
99
105
  }
100
106
 
101
107
  .#{$prefix}--overflow-menu__wrapper {
@@ -112,8 +118,8 @@
112
118
  flex-direction: column;
113
119
  align-items: flex-start;
114
120
  background-color: $layer;
115
- inline-size: convert.to-rem(160px);
116
- inset-block-start: 32px;
121
+ inline-size: $spacing-13;
122
+ inset-block-start: $spacing-07;
117
123
  inset-inline-start: 0;
118
124
  list-style: none;
119
125
 
@@ -151,53 +157,65 @@
151
157
  .#{$prefix}--breadcrumb-menu-options
152
158
  )::after {
153
159
  block-size: convert.to-rem(3px);
154
- inline-size: convert.to-rem(40px);
160
+ inline-size: $spacing-08;
155
161
  inset-block-start: convert.to-rem(-3px);
156
162
  inset-inline-start: 0;
157
163
  }
158
164
 
159
165
  .#{$prefix}--overflow-menu-options[data-floating-menu-direction='top']::after {
160
- block-size: convert.to-rem(8px);
161
- inline-size: convert.to-rem(40px);
162
- inset-block-end: convert.to-rem(-8px);
166
+ block-size: $spacing-03;
167
+ inline-size: $spacing-08;
168
+ inset-block-end: -$spacing-03;
163
169
  inset-inline-start: 0;
164
170
  }
165
171
 
166
172
  .#{$prefix}--overflow-menu-options[data-floating-menu-direction='left']::after {
167
- block-size: convert.to-rem(40px);
173
+ block-size: $spacing-08;
168
174
  inline-size: convert.to-rem(6px);
169
175
  inset-block-start: 0;
170
176
  inset-inline-end: convert.to-rem(-6px);
171
177
  }
172
178
 
173
179
  .#{$prefix}--overflow-menu-options[data-floating-menu-direction='right']::after {
174
- block-size: convert.to-rem(40px);
180
+ block-size: $spacing-08;
175
181
  inline-size: convert.to-rem(6px);
176
182
  inset-block-start: 0;
177
183
  inset-inline-start: convert.to-rem(-6px);
178
184
  }
179
185
 
186
+ .#{$prefix}--overflow-menu-options--xs.#{$prefix}--overflow-menu-options {
187
+ &[data-floating-menu-direction='bottom']::after,
188
+ &[data-floating-menu-direction='top']::after {
189
+ inline-size: $spacing-06;
190
+ }
191
+
192
+ &[data-floating-menu-direction='left']::after,
193
+ &[data-floating-menu-direction='right']::after {
194
+ block-size: $spacing-06;
195
+ }
196
+ }
197
+
180
198
  .#{$prefix}--overflow-menu-options--sm.#{$prefix}--overflow-menu-options {
181
199
  &[data-floating-menu-direction='bottom']::after,
182
200
  &[data-floating-menu-direction='top']::after {
183
- inline-size: convert.to-rem(32px);
201
+ inline-size: $spacing-07;
184
202
  }
185
203
 
186
204
  &[data-floating-menu-direction='left']::after,
187
205
  &[data-floating-menu-direction='right']::after {
188
- block-size: convert.to-rem(32px);
206
+ block-size: $spacing-07;
189
207
  }
190
208
  }
191
209
 
192
210
  .#{$prefix}--overflow-menu-options--lg.#{$prefix}--overflow-menu-options {
193
211
  &[data-floating-menu-direction='bottom']::after,
194
212
  &[data-floating-menu-direction='top']::after {
195
- inline-size: convert.to-rem(48px);
213
+ inline-size: $spacing-09;
196
214
  }
197
215
 
198
216
  &[data-floating-menu-direction='left']::after,
199
217
  &[data-floating-menu-direction='right']::after {
200
- block-size: convert.to-rem(48px);
218
+ block-size: $spacing-09;
201
219
  }
202
220
  }
203
221
 
@@ -226,19 +244,24 @@
226
244
  align-items: center;
227
245
  padding: 0;
228
246
  background-color: transparent;
229
- block-size: convert.to-rem(40px);
247
+ block-size: $spacing-08;
230
248
  inline-size: 100%;
231
249
  transition: background-color $duration-fast-02 motion(entrance, productive);
232
250
  }
233
251
 
252
+ .#{$prefix}--overflow-menu-options--xs
253
+ .#{$prefix}--overflow-menu-options__option {
254
+ block-size: $spacing-06;
255
+ }
256
+
234
257
  .#{$prefix}--overflow-menu-options--sm
235
258
  .#{$prefix}--overflow-menu-options__option {
236
- block-size: convert.to-rem(32px);
259
+ block-size: $spacing-07;
237
260
  }
238
261
 
239
262
  .#{$prefix}--overflow-menu-options--lg
240
263
  .#{$prefix}--overflow-menu-options__option {
241
- block-size: convert.to-rem(48px);
264
+ block-size: $spacing-09;
242
265
  }
243
266
 
244
267
  .#{$prefix}--overflow-menu--divider {
@@ -7,6 +7,7 @@
7
7
 
8
8
  @use '../../config' as *;
9
9
  @use '../../layer' as *;
10
+ @use '../../spacing' as *;
10
11
  @use '../../theme';
11
12
  @use '../../utilities/box-shadow' as *;
12
13
  @use '../../utilities/button-reset';
@@ -47,7 +48,10 @@ $popover-background-color: custom-property.get-var(
47
48
  );
48
49
 
49
50
  // The drop shadow value used for the popover container
50
- $popover-drop-shadow: custom-property.get-var('popover-drop-shadow', 'none');
51
+ $popover-drop-shadow: custom-property.get-var(
52
+ 'popover-drop-shadow',
53
+ drop-shadow(0 $spacing-01 $spacing-01 rgba(0, 0, 0, 0.2))
54
+ );
51
55
 
52
56
  // The border radius value for the popover container
53
57
  $popover-border-radius: custom-property.get-var('popover-border-radius', 2px);
@@ -103,10 +107,8 @@ $popover-caret-height: custom-property.get-var(
103
107
  }
104
108
 
105
109
  // Drop shadow modifier
106
- .#{$prefix}--popover--drop-shadow
107
- .#{$prefix}--popover
108
- > .#{$prefix}--popover-content {
109
- filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
110
+ .#{$prefix}--popover--drop-shadow .#{$prefix}--popover {
111
+ filter: $popover-drop-shadow;
110
112
  }
111
113
 
112
114
  // Caret tip modifier
@@ -121,7 +123,6 @@ $popover-caret-height: custom-property.get-var(
121
123
  .#{$prefix}--popover {
122
124
  position: absolute;
123
125
  z-index: z('floating');
124
- filter: $popover-drop-shadow;
125
126
  inset: 0;
126
127
  pointer-events: none;
127
128
  }
@@ -235,7 +236,7 @@ $popover-caret-height: custom-property.get-var(
235
236
  > .#{$prefix}--popover
236
237
  > .#{$prefix}--popover-content {
237
238
  inset-block-end: 0;
238
- inset-inline-start: 0;
239
+ inset-inline-start: calc(50% - $popover-offset);
239
240
  transform: translate(
240
241
  calc(-1 * $popover-offset),
241
242
  calc(100% + $popover-offset)
@@ -250,7 +251,7 @@ $popover-caret-height: custom-property.get-var(
250
251
  .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align)
251
252
  > .#{$prefix}--popover
252
253
  > .#{$prefix}--popover-content {
253
- inset-inline-end: 0;
254
+ inset-inline-end: calc(50% - $popover-offset);
254
255
  inset-inline-start: initial;
255
256
  }
256
257
 
@@ -261,7 +262,7 @@ $popover-caret-height: custom-property.get-var(
261
262
  > .#{$prefix}--popover
262
263
  > .#{$prefix}--popover-content {
263
264
  inset-block-end: 0;
264
- inset-inline-end: 0;
265
+ inset-inline-end: calc(50% - $popover-offset);
265
266
  transform: translate($popover-offset, calc(100% + $popover-offset));
266
267
  }
267
268
 
@@ -273,7 +274,6 @@ $popover-caret-height: custom-property.get-var(
273
274
  > .#{$prefix}--popover-caret {
274
275
  inset-block-end: 0;
275
276
  inset-inline-end: 0;
276
- inset-inline-start: auto;
277
277
  }
278
278
 
279
279
  .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align)
@@ -281,17 +281,13 @@ $popover-caret-height: custom-property.get-var(
281
281
  > .#{$prefix}--popover-caret {
282
282
  inset-block-end: 0;
283
283
  inset-inline-end: auto;
284
- inset-inline-start: 0;
285
- transform: translate(50%, calc($popover-offset));
286
284
  }
287
285
 
288
286
  .#{$prefix}--popover--top-start:not(.#{$prefix}--popover--auto-align)
289
287
  > .#{$prefix}--popover
290
288
  > .#{$prefix}--popover-caret {
291
289
  inset-block-end: 0;
292
- inset-inline-end: auto;
293
- inset-inline-start: 0;
294
- transform: translate(50%, calc(-1 * $popover-offset));
290
+ inset-inline-end: 0;
295
291
  }
296
292
 
297
293
  [dir='rtl']
@@ -302,7 +298,7 @@ $popover-caret-height: custom-property.get-var(
302
298
  .#{$prefix}--popover--bottom-end:not(.#{$prefix}--popover--auto-align)
303
299
  > .#{$prefix}--popover
304
300
  > .#{$prefix}--popover-content {
305
- inset-inline-start: 0;
301
+ inset-inline-start: calc(50% - $popover-offset);
306
302
  }
307
303
 
308
304
  // Popover hover area placement
@@ -427,7 +423,7 @@ $popover-caret-height: custom-property.get-var(
427
423
  > .#{$prefix}--popover
428
424
  > .#{$prefix}--popover-content {
429
425
  inset-block-start: 0;
430
- inset-inline-start: 0;
426
+ inset-inline-start: calc(50% - $popover-offset);
431
427
  transform: translate(
432
428
  calc(-1 * $popover-offset),
433
429
  calc(-100% - $popover-offset)
@@ -442,7 +438,7 @@ $popover-caret-height: custom-property.get-var(
442
438
  .#{$prefix}--popover--top-start:not(.#{$prefix}--popover--auto-align)
443
439
  > .#{$prefix}--popover
444
440
  > .#{$prefix}--popover-content {
445
- inset-inline-end: 0;
441
+ inset-inline-end: calc(50% - $popover-offset);
446
442
  inset-inline-start: initial;
447
443
  }
448
444
 
@@ -453,7 +449,7 @@ $popover-caret-height: custom-property.get-var(
453
449
  > .#{$prefix}--popover
454
450
  > .#{$prefix}--popover-content {
455
451
  inset-block-start: 0;
456
- inset-inline-end: 0;
452
+ inset-inline-end: calc(50% - $popover-offset);
457
453
  transform: translate($popover-offset, calc(-100% - $popover-offset));
458
454
  }
459
455
 
@@ -465,7 +461,7 @@ $popover-caret-height: custom-property.get-var(
465
461
  .#{$prefix}--popover--top-end:not(.#{$prefix}--popover--auto-align)
466
462
  > .#{$prefix}--popover
467
463
  > .#{$prefix}--popover-content {
468
- inset-inline-start: 0;
464
+ inset-inline-start: calc(50% - $popover-offset);
469
465
  }
470
466
 
471
467
  // Popover hover area placement
@@ -897,6 +893,57 @@ $popover-caret-height: custom-property.get-var(
897
893
  border-radius: 0;
898
894
  }
899
895
 
896
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-start:not(
897
+ .#{$prefix}--popover--auto-align
898
+ )
899
+ > .#{$prefix}--popover
900
+ > .#{$prefix}--popover-content,
901
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-start:not(
902
+ .#{$prefix}--popover--auto-align
903
+ )
904
+ > .#{$prefix}--popover
905
+ > .#{$prefix}--popover-content,
906
+ [dir='rtl']
907
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-end:not(
908
+ .#{$prefix}--popover--auto-align
909
+ )
910
+ > .#{$prefix}--popover
911
+ > .#{$prefix}--popover-content,
912
+ [dir='rtl']
913
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-end:not(
914
+ .#{$prefix}--popover--auto-align
915
+ )
916
+ > .#{$prefix}--popover
917
+ > .#{$prefix}--popover-content {
918
+ inset-inline-start: 0;
919
+ }
920
+
921
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-end:not(
922
+ .#{$prefix}--popover--auto-align
923
+ )
924
+ > .#{$prefix}--popover
925
+ > .#{$prefix}--popover-content,
926
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-end:not(
927
+ .#{$prefix}--popover--auto-align
928
+ )
929
+ > .#{$prefix}--popover
930
+ > .#{$prefix}--popover-content,
931
+ [dir='rtl']
932
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-start:not(
933
+ .#{$prefix}--popover--auto-align
934
+ )
935
+ > .#{$prefix}--popover
936
+ > .#{$prefix}--popover-content,
937
+ [dir='rtl']
938
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-start:not(
939
+ .#{$prefix}--popover--auto-align
940
+ )
941
+ > .#{$prefix}--popover
942
+ > .#{$prefix}--popover-content {
943
+ inset-inline-end: 0;
944
+ inset-inline-start: initial;
945
+ }
946
+
900
947
  .#{$prefix}--popover--tab-tip .#{$prefix}--popover {
901
948
  will-change: filter;
902
949
  }
@@ -57,26 +57,6 @@
57
57
  z-index: z('header') + 1;
58
58
  }
59
59
 
60
- .#{$prefix}--header {
61
- .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align) {
62
- > .#{$prefix}--popover {
63
- > .#{$prefix}--popover-caret,
64
- > .#{$prefix}--popover-content {
65
- inset-inline-start: $spacing-05;
66
- }
67
- }
68
- }
69
-
70
- .#{$prefix}--popover--bottom-end:not(.#{$prefix}--popover--auto-align) {
71
- > .#{$prefix}--popover {
72
- > .#{$prefix}--popover-caret,
73
- > .#{$prefix}--popover-content {
74
- inset-inline-end: $spacing-05;
75
- }
76
- }
77
- }
78
- }
79
-
80
60
  .#{$prefix}--header__action > :first-child {
81
61
  margin-block-start: 0;
82
62
  }