@carbon/styles 1.53.0 → 1.54.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.
@@ -15,49 +15,42 @@ $sizes: (
15
15
  width: convert.to-rem(16px),
16
16
  font-size: convert.to-rem(9px),
17
17
  line-height: convert.to-rem(12px),
18
- background: $slug-background,
19
18
  ),
20
19
  2xs: (
21
20
  height: convert.to-rem(20px),
22
21
  width: convert.to-rem(20px),
23
22
  font-size: convert.to-rem(12px),
24
23
  line-height: convert.to-rem(16px),
25
- background: $slug-background,
26
24
  ),
27
25
  xs: (
28
26
  height: convert.to-rem(24px),
29
27
  width: convert.to-rem(24px),
30
28
  font-size: convert.to-rem(12px),
31
29
  line-height: convert.to-rem(16px),
32
- background: $slug-gradient,
33
30
  ),
34
31
  sm: (
35
32
  height: convert.to-rem(32px),
36
33
  width: convert.to-rem(32px),
37
34
  font-size: convert.to-rem(16px),
38
35
  line-height: convert.to-rem(21px),
39
- background: $slug-gradient,
40
36
  ),
41
37
  md: (
42
38
  height: convert.to-rem(40px),
43
39
  width: convert.to-rem(40px),
44
40
  font-size: convert.to-rem(16px),
45
41
  line-height: convert.to-rem(21px),
46
- background: $slug-gradient,
47
42
  ),
48
43
  lg: (
49
44
  height: convert.to-rem(48px),
50
45
  width: convert.to-rem(48px),
51
46
  font-size: convert.to-rem(16px),
52
47
  line-height: convert.to-rem(21px),
53
- background: $slug-gradient,
54
48
  ),
55
49
  xl: (
56
50
  height: convert.to-rem(64px),
57
51
  width: convert.to-rem(64px),
58
52
  font-size: convert.to-rem(20px),
59
53
  line-height: convert.to-rem(26px),
60
- background: $slug-gradient,
61
54
  ),
62
55
  );
63
56
 
@@ -78,11 +71,15 @@ $sizes: (
78
71
  display: flex;
79
72
  align-items: center;
80
73
  justify-content: center;
81
- color: $text-inverse;
74
+ border: 1px solid $border-inverse;
75
+ background: transparent;
76
+ color: $text-primary;
82
77
  font-weight: 600;
78
+ outline: none;
83
79
  transition: color $duration-fast-01 motion(entrance, productive),
84
80
  border-color $duration-fast-01 motion(entrance, productive),
85
- box-shadow $duration-fast-01 motion(entrance, productive);
81
+ box-shadow $duration-fast-01 motion(entrance, productive),
82
+ background $duration-fast-01 motion(entrance, productive);
86
83
 
87
84
  @each $group, $size in $sizes {
88
85
  // Create a class for each size slug
@@ -96,91 +93,38 @@ $sizes: (
96
93
  }
97
94
 
98
95
  .#{$prefix}--slug .#{$prefix}--slug__button:focus {
99
- box-shadow: inset 0 0 0 2px $focus, inset 0 0 0 3px $focus-inset;
100
- outline: none;
101
- }
102
-
103
- .#{$prefix}--slug__text {
104
- position: relative;
105
- z-index: 1;
106
- }
107
-
108
- // pseudo element to animate the hover transition
109
- .#{$prefix}--slug__button::before {
110
- position: absolute;
111
- background: $slug-gradient-hover;
112
- block-size: 100%;
113
- content: '';
114
- inline-size: 100%;
115
- opacity: 0;
116
- transition: opacity $duration-fast-01 motion(entrance, productive);
117
- }
118
-
119
- .#{$prefix}--slug__button.#{$prefix}--slug__button--mini::after,
120
- .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs::after {
121
- position: absolute;
122
- block-size: convert.to-rem(24px);
123
- content: '';
124
- inline-size: convert.to-rem(24px);
125
- opacity: 0;
126
- }
127
-
128
- .#{$prefix}--slug__button:hover::before {
129
- opacity: 1;
96
+ border: 1px solid $focus;
97
+ box-shadow: inset 0 0 0 1px $focus;
130
98
  }
131
99
 
132
- // Focus styles
133
- .#{$prefix}--slug .#{$prefix}--slug__button:focus::before {
134
- block-size: calc(100% - 6px);
135
- inline-size: calc(100% - 6px);
100
+ .#{$prefix}--slug
101
+ .#{$prefix}--slug__button.#{$prefix}--slug__button--mini:focus,
102
+ .#{$prefix}--slug
103
+ .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs:focus {
104
+ box-shadow: none;
136
105
  }
137
106
 
138
- .#{$prefix}--slug__button.#{$prefix}--slug__button--mini::before,
139
- .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs::before {
140
- background: $slug-background-hover;
107
+ .#{$prefix}--slug .#{$prefix}--slug__button:hover {
108
+ background: $border-inverse;
109
+ color: $text-inverse;
141
110
  }
142
111
 
143
- .#{$prefix}--slug__button.#{$prefix}--slug__button--mini:focus,
144
- .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs:focus {
112
+ .#{$prefix}--slug .#{$prefix}--slug__button:hover:active {
113
+ background: $border-inverse;
145
114
  box-shadow: inset 0 0 0 1px $focus, inset 0 0 0 2px $focus-inset;
115
+ color: $text-inverse;
146
116
  }
147
117
 
148
- .#{$prefix}--slug__button.#{$prefix}--slug__button--mini:focus::before,
149
- .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs:focus::before {
150
- block-size: calc(100% - 4px);
151
- inline-size: calc(100% - 4px);
152
- }
153
-
154
- // Hollow slug
155
- // Only allow mini, 2xs, and xs sizes
156
- .#{$prefix}--slug__button--hollow.#{$prefix}--slug__button--sm,
157
- .#{$prefix}--slug__button--hollow.#{$prefix}--slug__button--md,
158
- .#{$prefix}--slug__button--hollow.#{$prefix}--slug__button--lg,
159
- .#{$prefix}--slug__button--hollow.#{$prefix}--slug__button--xl {
160
- block-size: convert.to-rem(24px);
161
- font-size: convert.to-rem(12px);
162
- inline-size: convert.to-rem(24px);
163
- line-height: convert.to-rem(16px);
164
- }
165
-
166
- .#{$prefix}--slug__button--hollow::before {
167
- display: none;
168
- }
169
-
170
- .#{$prefix}--slug .#{$prefix}--slug__button--hollow {
171
- border: 1px solid $border-inverse;
172
- background: transparent;
173
- color: $text-primary;
174
- }
175
-
176
- .#{$prefix}--slug__button--hollow:hover {
177
- border-color: $slug-hollow-hover;
178
- color: $slug-hollow-hover;
118
+ .#{$prefix}--slug
119
+ .#{$prefix}--slug__button.#{$prefix}--slug__button--mini:hover:active,
120
+ .#{$prefix}--slug
121
+ .#{$prefix}--slug__button.#{$prefix}--slug__button--2xs:hover:active {
122
+ box-shadow: inset 0 0 0 1px $focus-inset;
179
123
  }
180
124
 
181
- .#{$prefix}--slug__button--hollow:focus {
182
- border-color: $focus;
183
- box-shadow: inset 0 0 0 1px $focus;
125
+ .#{$prefix}--slug__text {
126
+ position: relative;
127
+ z-index: 1;
184
128
  }
185
129
 
186
130
  // Inline slug
@@ -205,8 +149,11 @@ $sizes: (
205
149
  box-shadow: none;
206
150
  }
207
151
 
208
- .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover {
152
+ .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover,
153
+ .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover:active {
209
154
  border-color: $icon-secondary;
155
+ background: transparent;
156
+ box-shadow: none;
210
157
  color: $text-secondary;
211
158
  }
212
159
 
@@ -220,18 +167,13 @@ $sizes: (
220
167
  background: $icon-secondary;
221
168
  }
222
169
 
223
- .#{$prefix}--slug--hollow
224
- .#{$prefix}--slug__button--inline:hover
225
- .#{$prefix}--slug__text::before {
226
- background: transparent;
227
- box-shadow: inset 0 0 0 1px $icon-secondary;
228
- }
229
-
230
170
  .#{$prefix}--slug__button--inline .#{$prefix}--slug__text {
231
171
  padding-inline-start: convert.to-rem(8px);
232
172
  }
233
173
 
234
174
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--lg
175
+ .#{$prefix}--slug__text,
176
+ .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--xl
235
177
  .#{$prefix}--slug__text {
236
178
  padding-inline-start: convert.to-rem(12px);
237
179
  }
@@ -251,27 +193,8 @@ $sizes: (
251
193
  box-shadow $duration-fast-01 motion(entrance, productive);
252
194
  }
253
195
 
254
- // Inline slug hollow dot
255
- .#{$prefix}--slug--hollow .#{$prefix}--slug__text::before {
256
- background: transparent;
257
- block-size: convert.to-rem(6px);
258
- box-shadow: inset 0 0 0 1px $icon-primary;
259
- inline-size: convert.to-rem(6px);
260
- }
261
-
262
- .#{$prefix}--slug--hollow
263
- .#{$prefix}--slug__button--sm
264
- .#{$prefix}--slug__text,
265
- .#{$prefix}--slug--hollow
266
- .#{$prefix}--slug__button--md
267
- .#{$prefix}--slug__text {
268
- padding-inline-start: convert.to-rem(9px);
269
- }
270
-
271
196
  .#{$prefix}--slug__button--lg .#{$prefix}--slug__text::before,
272
- .#{$prefix}--slug--hollow
273
- .#{$prefix}--slug__button--lg
274
- .#{$prefix}--slug__text::before {
197
+ .#{$prefix}--slug__button--xl .#{$prefix}--slug__text::before {
275
198
  block-size: convert.to-rem(8px);
276
199
  inline-size: convert.to-rem(8px);
277
200
  }
@@ -316,40 +239,42 @@ $sizes: (
316
239
  font-size: convert.to-rem(14px);
317
240
  }
318
241
 
319
- .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content:focus {
242
+ .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content:focus,
243
+ .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content:hover:focus {
320
244
  box-shadow: inset 0 0 0 1px $focus;
321
245
  }
322
246
 
323
- // Default callout styles
324
- .#{$prefix}--slug.#{$prefix}--slug--hollow .#{$prefix}--toggletip-content {
325
- row-gap: 0;
326
- }
327
-
328
247
  // Slug callout styles
329
- .#{$prefix}--slug.#{$prefix}--slug--enabled .#{$prefix}--slug-content {
248
+ .#{$prefix}--slug .#{$prefix}--slug-content {
330
249
  @include ai-popover-gradient();
331
250
 
332
251
  border: 1px solid transparent;
333
252
  border-radius: convert.to-rem(8px);
334
253
  // Need to make tokens
335
254
  box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow,
336
- -40px 30px 100px -25px $ai-popover-shadow-outer-01,
337
- -60px 80px 60px -45px $ai-popover-shadow-outer-02;
255
+ -40px 44px 60px -24px $ai-popover-shadow-outer-01,
256
+ -56px 64px 64px -24px $ai-popover-shadow-outer-02;
338
257
  color: $text-primary;
339
258
  min-inline-size: convert.to-rem(280px);
340
259
  }
341
260
 
342
261
  // Slug callout caret styles
343
- .#{$prefix}--slug.#{$prefix}--slug--enabled
262
+ .#{$prefix}--slug
344
263
  > .#{$prefix}--toggletip
345
264
  > .#{$prefix}--popover
265
+ > .#{$prefix}--popover-caret,
266
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
267
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
268
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align
269
+ > .#{$prefix}--popover
270
+ > .#{$prefix}--popover-content
346
271
  > .#{$prefix}--popover-caret {
347
272
  background: transparent;
348
273
  clip-path: none;
349
274
  }
350
275
 
351
276
  // Caret pseudo element base styles
352
- .#{$prefix}--slug.#{$prefix}--slug--enabled
277
+ .#{$prefix}--slug
353
278
  > .#{$prefix}--toggletip:is(
354
279
  .#{$prefix}--popover--top,
355
280
  .#{$prefix}--popover--top-right,
@@ -365,6 +290,25 @@ $sizes: (
365
290
  .#{$prefix}--popover--right-bottom
366
291
  )
367
292
  > .#{$prefix}--popover
293
+ > .#{$prefix}--popover-caret::before,
294
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
295
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
296
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
297
+ .#{$prefix}--popover--top,
298
+ .#{$prefix}--popover--top-right,
299
+ .#{$prefix}--popover--top-left,
300
+ .#{$prefix}--popover--bottom,
301
+ .#{$prefix}--popover--bottom-right,
302
+ .#{$prefix}--popover--bottom-left,
303
+ .#{$prefix}--popover--left,
304
+ .#{$prefix}--popover--left-top,
305
+ .#{$prefix}--popover--left-bottom,
306
+ .#{$prefix}--popover--right,
307
+ .#{$prefix}--popover--right-top,
308
+ .#{$prefix}--popover--right-bottom
309
+ )
310
+ > .#{$prefix}--popover
311
+ > .#{$prefix}--popover-content
368
312
  > .#{$prefix}--popover-caret::before {
369
313
  position: absolute;
370
314
  display: block;
@@ -377,7 +321,7 @@ $sizes: (
377
321
  transform: rotate(45deg);
378
322
  }
379
323
 
380
- .#{$prefix}--slug.#{$prefix}--slug--enabled
324
+ .#{$prefix}--slug
381
325
  > .#{$prefix}--toggletip:is(
382
326
  .#{$prefix}--popover--top,
383
327
  .#{$prefix}--popover--top-right,
@@ -393,6 +337,25 @@ $sizes: (
393
337
  .#{$prefix}--popover--right-bottom
394
338
  )
395
339
  > .#{$prefix}--popover
340
+ > .#{$prefix}--popover-caret::after,
341
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
342
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
343
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
344
+ .#{$prefix}--popover--top,
345
+ .#{$prefix}--popover--top-right,
346
+ .#{$prefix}--popover--top-left,
347
+ .#{$prefix}--popover--bottom,
348
+ .#{$prefix}--popover--bottom-right,
349
+ .#{$prefix}--popover--bottom-left,
350
+ .#{$prefix}--popover--left,
351
+ .#{$prefix}--popover--left-top,
352
+ .#{$prefix}--popover--left-bottom,
353
+ .#{$prefix}--popover--right,
354
+ .#{$prefix}--popover--right-top,
355
+ .#{$prefix}--popover--right-bottom
356
+ )
357
+ > .#{$prefix}--popover
358
+ > .#{$prefix}--popover-content
396
359
  > .#{$prefix}--popover-caret::after {
397
360
  position: absolute;
398
361
  display: block;
@@ -403,13 +366,23 @@ $sizes: (
403
366
  }
404
367
 
405
368
  // Top
406
- .#{$prefix}--slug.#{$prefix}--slug--enabled
369
+ .#{$prefix}--slug
407
370
  > .#{$prefix}--toggletip:is(
408
371
  .#{$prefix}--popover--top,
409
372
  .#{$prefix}--popover--top-right,
410
373
  .#{$prefix}--popover--top-left
411
374
  )
412
375
  > .#{$prefix}--popover
376
+ > .#{$prefix}--popover-caret,
377
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
378
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
379
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
380
+ .#{$prefix}--popover--top,
381
+ .#{$prefix}--popover--top-right,
382
+ .#{$prefix}--popover--top-left
383
+ )
384
+ > .#{$prefix}--popover
385
+ > .#{$prefix}--popover-content
413
386
  > .#{$prefix}--popover-caret {
414
387
  &::before {
415
388
  inset-block-end: convert.to-rem(1px);
@@ -427,7 +400,7 @@ $sizes: (
427
400
  }
428
401
  }
429
402
 
430
- .#{$prefix}--slug.#{$prefix}--slug--enabled
403
+ .#{$prefix}--slug
431
404
  > .#{$prefix}--toggletip:is(
432
405
  .#{$prefix}--popover--top,
433
406
  .#{$prefix}--popover--top-right,
@@ -440,13 +413,23 @@ $sizes: (
440
413
  }
441
414
 
442
415
  // Right
443
- .#{$prefix}--slug.#{$prefix}--slug--enabled
416
+ .#{$prefix}--slug
444
417
  > .#{$prefix}--toggletip:is(
445
418
  .#{$prefix}--popover--right,
446
419
  .#{$prefix}--popover--right-bottom,
447
420
  .#{$prefix}--popover--right-top
448
421
  )
449
422
  > .#{$prefix}--popover
423
+ > .#{$prefix}--popover-caret,
424
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
425
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
426
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
427
+ .#{$prefix}--popover--right,
428
+ .#{$prefix}--popover--right-bottom,
429
+ .#{$prefix}--popover--right-top
430
+ )
431
+ > .#{$prefix}--popover
432
+ > .#{$prefix}--popover-content
450
433
  > .#{$prefix}--popover-caret {
451
434
  &::before {
452
435
  inset-inline-start: convert.to-rem(1px);
@@ -462,13 +445,23 @@ $sizes: (
462
445
  }
463
446
 
464
447
  // Bottom
465
- .#{$prefix}--slug.#{$prefix}--slug--enabled
448
+ .#{$prefix}--slug
466
449
  > .#{$prefix}--toggletip:is(
467
450
  .#{$prefix}--popover--bottom,
468
451
  .#{$prefix}--popover--bottom-left,
469
452
  .#{$prefix}--popover--bottom-right
470
453
  )
471
454
  > .#{$prefix}--popover
455
+ > .#{$prefix}--popover-caret,
456
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
457
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
458
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
459
+ .#{$prefix}--popover--bottom,
460
+ .#{$prefix}--popover--bottom-left,
461
+ .#{$prefix}--popover--bottom-right
462
+ )
463
+ > .#{$prefix}--popover
464
+ > .#{$prefix}--popover-content
472
465
  > .#{$prefix}--popover-caret {
473
466
  &::before {
474
467
  inset-block-start: convert.to-rem(1px);
@@ -486,13 +479,23 @@ $sizes: (
486
479
  }
487
480
 
488
481
  // Left
489
- .#{$prefix}--slug.#{$prefix}--slug--enabled
482
+ .#{$prefix}--slug
490
483
  > .#{$prefix}--toggletip:is(
491
484
  .#{$prefix}--popover--left,
492
485
  .#{$prefix}--popover--left-bottom,
493
486
  .#{$prefix}--popover--left-top
494
487
  )
495
488
  > .#{$prefix}--popover
489
+ > .#{$prefix}--popover-caret,
490
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
491
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
492
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
493
+ .#{$prefix}--popover--left,
494
+ .#{$prefix}--popover--left-bottom,
495
+ .#{$prefix}--popover--left-top
496
+ )
497
+ > .#{$prefix}--popover
498
+ > .#{$prefix}--popover-content
496
499
  > .#{$prefix}--popover-caret {
497
500
  &::before {
498
501
  inset-inline-end: convert.to-rem(1px);
@@ -508,18 +511,27 @@ $sizes: (
508
511
  }
509
512
 
510
513
  // Override for specific alignments
511
- .#{$prefix}--slug.#{$prefix}--slug--enabled
514
+ .#{$prefix}--slug
512
515
  > .#{$prefix}--toggletip:is(
513
516
  .#{$prefix}--popover--left-bottom,
514
517
  .#{$prefix}--popover--right-bottom
515
518
  )
516
519
  > .#{$prefix}--popover
520
+ > .#{$prefix}--popover-caret::after,
521
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
522
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
523
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
524
+ .#{$prefix}--popover--left-bottom,
525
+ .#{$prefix}--popover--right-bottom
526
+ )
527
+ > .#{$prefix}--popover
528
+ > .#{$prefix}--popover-content
517
529
  > .#{$prefix}--popover-caret::after {
518
530
  background: transparent;
519
531
  }
520
532
 
521
533
  // Change caret color / border when it is near the bottom of the callout
522
- .#{$prefix}--slug.#{$prefix}--slug--enabled
534
+ .#{$prefix}--slug
523
535
  > .#{$prefix}--toggletip:is(
524
536
  .#{$prefix}--popover--left-bottom,
525
537
  .#{$prefix}--popover--right-bottom,
@@ -528,6 +540,18 @@ $sizes: (
528
540
  .#{$prefix}--popover--top-left
529
541
  )
530
542
  > .#{$prefix}--popover
543
+ > .#{$prefix}--popover-caret,
544
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
545
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
546
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
547
+ .#{$prefix}--popover--left-bottom,
548
+ .#{$prefix}--popover--right-bottom,
549
+ .#{$prefix}--popover--top,
550
+ .#{$prefix}--popover--top-right,
551
+ .#{$prefix}--popover--top-left
552
+ )
553
+ > .#{$prefix}--popover
554
+ > .#{$prefix}--popover-content
531
555
  > .#{$prefix}--popover-caret {
532
556
  &::before {
533
557
  border-color: $ai-popover-caret-bottom;
@@ -536,7 +560,7 @@ $sizes: (
536
560
  }
537
561
 
538
562
  // Adjust background if actions are present
539
- .#{$prefix}--slug.#{$prefix}--slug--enabled
563
+ .#{$prefix}--slug
540
564
  > .#{$prefix}--toggletip:is(
541
565
  .#{$prefix}--popover--left-bottom,
542
566
  .#{$prefix}--popover--right-bottom,
@@ -545,6 +569,18 @@ $sizes: (
545
569
  .#{$prefix}--popover--top-left
546
570
  )
547
571
  > .#{$prefix}--popover:has(.#{$prefix}--slug-content--with-actions)
572
+ > .#{$prefix}--popover-caret,
573
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
574
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
575
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
576
+ .#{$prefix}--popover--left-bottom,
577
+ .#{$prefix}--popover--right-bottom,
578
+ .#{$prefix}--popover--top,
579
+ .#{$prefix}--popover--top-right,
580
+ .#{$prefix}--popover--top-left
581
+ )
582
+ > .#{$prefix}--popover:has(.#{$prefix}--slug-content--with-actions)
583
+ > .#{$prefix}--popover-content
548
584
  > .#{$prefix}--popover-caret {
549
585
  &::before {
550
586
  background: $ai-popover-caret-bottom-background-actions;
@@ -552,32 +588,39 @@ $sizes: (
552
588
  }
553
589
 
554
590
  // Change the caret border when it is near the middle of the callout
555
- .#{$prefix}--slug.#{$prefix}--slug--enabled
591
+ .#{$prefix}--slug
556
592
  > .#{$prefix}--toggletip:is(
557
593
  .#{$prefix}--popover--left,
558
594
  .#{$prefix}--popover--right
559
595
  )
560
596
  > .#{$prefix}--popover
597
+ > .#{$prefix}--popover-caret,
598
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
599
+ .#{$prefix}--slug.#{$prefix}--slug--enabled
600
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
601
+ .#{$prefix}--popover--left,
602
+ .#{$prefix}--popover--right
603
+ )
604
+ > .#{$prefix}--popover
605
+ > .#{$prefix}--popover-content
561
606
  > .#{$prefix}--popover-caret {
562
607
  &::before {
563
608
  border-color: $ai-popover-caret-center;
564
609
  }
565
610
  }
566
611
 
567
- .#{$prefix}--slug.#{$prefix}--slug--enabled .#{$prefix}--toggletip-content {
612
+ .#{$prefix}--slug .#{$prefix}--toggletip-content {
568
613
  // This sets the max size to the size of the action bar with 3 buttons
569
614
  padding-block-end: convert.to-rem(80px);
570
615
  padding-block-start: convert.to-rem(24px);
571
616
  padding-inline: convert.to-rem(24px);
572
617
  }
573
618
 
574
- .#{$prefix}--slug.#{$prefix}--slug--enabled
575
- .#{$prefix}--slug-content
576
- .#{$prefix}--toggletip-content {
619
+ .#{$prefix}--slug .#{$prefix}--slug-content .#{$prefix}--toggletip-content {
577
620
  max-inline-size: convert.to-rem(320px);
578
621
  }
579
622
 
580
- .#{$prefix}--slug.#{$prefix}--slug--enabled .#{$prefix}--slug-actions {
623
+ .#{$prefix}--slug .#{$prefix}--slug-actions {
581
624
  position: absolute;
582
625
  justify-content: flex-end;
583
626
  backdrop-filter: blur(85px);
@@ -590,16 +633,12 @@ $sizes: (
590
633
  inset-inline-end: 0;
591
634
  }
592
635
 
593
- .#{$prefix}--slug.#{$prefix}--slug--enabled
594
- .#{$prefix}--slug-actions
595
- .#{$prefix}--btn:focus {
636
+ .#{$prefix}--slug .#{$prefix}--slug-actions .#{$prefix}--btn:focus {
596
637
  border-color: $focus;
597
638
  box-shadow: inset 0 0 0 1px $focus, inset 0 0 0 2px $background;
598
639
  }
599
640
 
600
- .#{$prefix}--slug.#{$prefix}--slug--enabled
601
- .#{$prefix}--slug-actions
602
- .#{$prefix}--btn--primary {
641
+ .#{$prefix}--slug .#{$prefix}--slug-actions .#{$prefix}--btn--primary {
603
642
  order: 1;
604
643
  border-end-end-radius: convert.to-rem(7px);
605
644
  }
@@ -398,7 +398,7 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
398
398
 
399
399
  border: 1px solid transparent;
400
400
  box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow,
401
- 0 4px 10px 2px $ai-drop-shadow;
401
+ 0 24px 40px -24px $ai-drop-shadow;
402
402
  }
403
403
 
404
404
  .#{$prefix}--tile--slug.#{$prefix}--tile--expandable:hover {
@@ -19,7 +19,8 @@
19
19
  will-change: margin-left;
20
20
  }
21
21
 
22
- .#{$prefix}--header ~ .#{$prefix}--content {
22
+ .#{$prefix}--header ~ .#{$prefix}--content,
23
+ div:has(.#{$prefix}--header) ~ .#{$prefix}--content {
23
24
  margin-block-start: mini-units(6);
24
25
  }
25
26
 
@@ -41,8 +41,9 @@
41
41
  inset-inline-start: 0;
42
42
  max-inline-size: mini-units(32);
43
43
  // TODO: sync with motion work
44
- transition: width 0.11s cubic-bezier(0.2, 0, 1, 0.9);
45
- will-change: width;
44
+ transition: inline-size 0.11s cubic-bezier(0.2, 0, 1, 0.9),
45
+ transform 0.11s cubic-bezier(0.2, 0, 1, 0.9);
46
+ will-change: inline-size;
46
47
  }
47
48
 
48
49
  .#{$prefix}--side-nav--ux {
@@ -29,7 +29,7 @@
29
29
 
30
30
  background-image: linear-gradient(
31
31
  $deg,
32
- theme.$ai-inner-shadow 0%,
32
+ theme.$ai-aura-start-sm 0%,
33
33
  15%,
34
34
  theme.$ai-aura-end $span,
35
35
  transparent 100%
@@ -50,7 +50,7 @@
50
50
  } @else if $type == 'selected' {
51
51
  background: linear-gradient(
52
52
  to right,
53
- theme.$ai-inner-shadow 0%,
53
+ theme.$ai-aura-start-sm 0%,
54
54
  theme.$ai-aura-end 50%,
55
55
  transparent 50%
56
56
  ),
@@ -58,7 +58,7 @@
58
58
  } @else {
59
59
  background: linear-gradient(
60
60
  to right,
61
- theme.$ai-aura-start-table 0%,
61
+ theme.$ai-aura-start-sm 0%,
62
62
  theme.$ai-aura-end $span,
63
63
  transparent 50%
64
64
  );
@@ -76,14 +76,17 @@
76
76
  @mixin ai-popover-gradient(
77
77
  $type: 'default',
78
78
  $offset: 0,
79
- $background: 'background'
79
+ $background: 'ai-popover-background'
80
80
  ) {
81
81
  $start: 0%;
82
82
  @if $offset != 0 {
83
83
  $start: calc(0% + #{$offset});
84
84
  }
85
85
 
86
- $background: custom-property.get-var(#{$background}, theme.$background);
86
+ $background: custom-property.get-var(
87
+ #{$background},
88
+ theme.$ai-popover-background
89
+ );
87
90
 
88
91
  @if $type == 'hover' {
89
92
  background: linear-gradient(