@carbon/styles 1.69.0-rc.0 → 1.70.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 (38) hide show
  1. package/css/styles.css +602 -104
  2. package/css/styles.min.css +1 -1
  3. package/package.json +10 -2
  4. package/scss/__tests__/__snapshots__/config-test.js.snap +1 -0
  5. package/scss/_config.scss +6 -0
  6. package/scss/_reset.scss +1 -0
  7. package/scss/components/checkbox/_checkbox.scss +9 -0
  8. package/scss/components/data-table/_data-table.scss +8 -1
  9. package/scss/components/data-table/sort/_data-table-sort.scss +2 -2
  10. package/scss/components/date-picker/_date-picker.scss +30 -2
  11. package/scss/components/dropdown/_dropdown.scss +4 -0
  12. package/scss/components/fluid-date-picker/_fluid-date-picker.scss +19 -3
  13. package/scss/components/fluid-list-box/_fluid-list-box.scss +93 -2
  14. package/scss/components/fluid-number-input/_fluid-number-input.scss +40 -2
  15. package/scss/components/fluid-select/_fluid-select.scss +6 -2
  16. package/scss/components/fluid-text-area/_fluid-text-area.scss +37 -3
  17. package/scss/components/fluid-text-input/_fluid-text-input.scss +31 -1
  18. package/scss/components/list-box/_list-box.scss +132 -2
  19. package/scss/components/modal/_modal.scss +11 -0
  20. package/scss/components/number-input/_number-input.scss +67 -3
  21. package/scss/components/radio-button/_radio-button.scss +10 -1
  22. package/scss/components/select/_select.scss +23 -3
  23. package/scss/components/slug/_slug.scss +374 -1
  24. package/scss/components/tag/_tag.scss +10 -1
  25. package/scss/components/text-area/_text-area.scss +54 -2
  26. package/scss/components/text-input/_text-input.scss +56 -2
  27. package/scss/components/tile/_tile.scss +16 -1
  28. package/scss/components/toggle/_toggle.scss +10 -3
  29. package/scss/fonts/__tests__/__snapshots__/fonts-test.js.snap +180 -180
  30. package/scss/fonts/_mono.scss +66 -9
  31. package/scss/fonts/_sans-arabic.scss +17 -8
  32. package/scss/fonts/_sans-devanagari.scss +17 -8
  33. package/scss/fonts/_sans-hebrew.scss +17 -8
  34. package/scss/fonts/_sans-thai-looped.scss +17 -8
  35. package/scss/fonts/_sans-thai.scss +17 -8
  36. package/scss/fonts/_sans.scss +66 -9
  37. package/scss/fonts/_serif.scss +66 -9
  38. package/scss/fonts/_src.scss +39 -12
@@ -58,14 +58,17 @@ $sizes: (
58
58
  /// @access public
59
59
  /// @group AI
60
60
  @mixin slug {
61
+ .#{$prefix}--ai-label,
61
62
  .#{$prefix}--slug {
62
63
  display: flex;
63
64
  }
64
65
 
66
+ .#{$prefix}--ai-label:has(> .#{$prefix}--popover--open),
65
67
  .#{$prefix}--slug:has(> .#{$prefix}--popover--open) {
66
68
  z-index: 2;
67
69
  }
68
70
 
71
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button,
69
72
  .#{$prefix}--slug .#{$prefix}--slug__button {
70
73
  position: relative;
71
74
  display: flex;
@@ -83,7 +86,7 @@ $sizes: (
83
86
  background $duration-fast-01 motion(entrance, productive);
84
87
 
85
88
  @each $group, $size in $sizes {
86
- // Create a class for each size slug
89
+ // Create a class for each size ai label
87
90
  &--#{$group} {
88
91
  @each $property, $value in $size {
89
92
  // Set correct properties for each size
@@ -94,6 +97,8 @@ $sizes: (
94
97
  }
95
98
 
96
99
  // Add 24px click target for mini, 2xs sizes
100
+ .#{$prefix}--ai-label__button--mini::after,
101
+ .#{$prefix}--ai-label__button--2xs::after,
97
102
  .#{$prefix}--slug__button--mini::after,
98
103
  .#{$prefix}--slug__button--2xs::after {
99
104
  position: absolute;
@@ -103,16 +108,19 @@ $sizes: (
103
108
  inline-size: 24px;
104
109
  }
105
110
 
111
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button:focus,
106
112
  .#{$prefix}--slug .#{$prefix}--slug__button:focus {
107
113
  border: 1px solid $focus;
108
114
  box-shadow: inset 0 0 0 1px $focus;
109
115
  }
110
116
 
117
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button:hover,
111
118
  .#{$prefix}--slug .#{$prefix}--slug__button:hover {
112
119
  background: $border-inverse;
113
120
  color: $text-inverse;
114
121
  }
115
122
 
123
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button:hover:active,
116
124
  .#{$prefix}--slug .#{$prefix}--slug__button:hover:active {
117
125
  background: $border-inverse;
118
126
  box-shadow:
@@ -121,6 +129,10 @@ $sizes: (
121
129
  color: $text-inverse;
122
130
  }
123
131
 
132
+ .#{$prefix}--ai-label
133
+ .#{$prefix}--ai-label__button.#{$prefix}--ai-label__button--mini:hover:active,
134
+ .#{$prefix}--ai-label
135
+ .#{$prefix}--ai-label__button.#{$prefix}--ai-label__button--2xs:hover:active,
124
136
  .#{$prefix}--slug
125
137
  .#{$prefix}--slug__button.#{$prefix}--slug__button--mini:hover:active,
126
138
  .#{$prefix}--slug
@@ -128,12 +140,14 @@ $sizes: (
128
140
  box-shadow: inset 0 0 0 1px $focus-inset;
129
141
  }
130
142
 
143
+ .#{$prefix}--ai-label__text,
131
144
  .#{$prefix}--slug__text {
132
145
  position: relative;
133
146
  z-index: 1;
134
147
  }
135
148
 
136
149
  // Inline slug
150
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline,
137
151
  .#{$prefix}--slug .#{$prefix}--slug__button--inline {
138
152
  border: 1px solid transparent;
139
153
  border-radius: convert.to-rem(1px);
@@ -146,15 +160,19 @@ $sizes: (
146
160
  padding-inline: convert.to-rem(4px);
147
161
  }
148
162
 
163
+ .#{$prefix}--ai-label__button--inline::before,
149
164
  .#{$prefix}--slug__button--inline::before {
150
165
  display: none;
151
166
  }
152
167
 
168
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline:focus,
153
169
  .#{$prefix}--slug .#{$prefix}--slug__button--inline:focus {
154
170
  border-color: $focus;
155
171
  box-shadow: none;
156
172
  }
157
173
 
174
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline:hover,
175
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline:hover:active,
158
176
  .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover,
159
177
  .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover:active {
160
178
  border-color: $icon-secondary;
@@ -163,20 +181,29 @@ $sizes: (
163
181
  color: $text-secondary;
164
182
  }
165
183
 
184
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline:focus:hover,
166
185
  .#{$prefix}--slug .#{$prefix}--slug__button--inline:focus:hover {
167
186
  border-color: $focus;
168
187
  }
169
188
 
189
+ .#{$prefix}--ai-label
190
+ .#{$prefix}--ai-label__button--inline:hover
191
+ .#{$prefix}--ai-label__text::before,
170
192
  .#{$prefix}--slug
171
193
  .#{$prefix}--slug__button--inline:hover
172
194
  .#{$prefix}--slug__text::before {
173
195
  background: $icon-secondary;
174
196
  }
175
197
 
198
+ .#{$prefix}--ai-label__button--inline .#{$prefix}--ai-label__text,
176
199
  .#{$prefix}--slug__button--inline .#{$prefix}--slug__text {
177
200
  padding-inline-start: convert.to-rem(8px);
178
201
  }
179
202
 
203
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--lg
204
+ .#{$prefix}--ai-label__text,
205
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--xl
206
+ .#{$prefix}--ai-label__text,
180
207
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--lg
181
208
  .#{$prefix}--slug__text,
182
209
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--xl
@@ -184,6 +211,7 @@ $sizes: (
184
211
  padding-inline-start: convert.to-rem(12px);
185
212
  }
186
213
 
214
+ .#{$prefix}--ai-label__button--inline .#{$prefix}--ai-label__text::before,
187
215
  .#{$prefix}--slug__button--inline .#{$prefix}--slug__text::before {
188
216
  position: absolute;
189
217
  display: inline-block;
@@ -200,6 +228,8 @@ $sizes: (
200
228
  box-shadow $duration-fast-01 motion(entrance, productive);
201
229
  }
202
230
 
231
+ .#{$prefix}--ai-label__button--lg .#{$prefix}--ai-label__text::before,
232
+ .#{$prefix}--ai-label__button--xl .#{$prefix}--ai-label__text::before,
203
233
  .#{$prefix}--slug__button--lg .#{$prefix}--slug__text::before,
204
234
  .#{$prefix}--slug__button--xl .#{$prefix}--slug__text::before {
205
235
  block-size: convert.to-rem(8px);
@@ -207,6 +237,18 @@ $sizes: (
207
237
  }
208
238
 
209
239
  // Only allow sm, md, and lg sizes
240
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--mini,
241
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--mini
242
+ .#{$prefix}--ai-label__additional-text,
243
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--2xs,
244
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--2xs
245
+ .#{$prefix}--ai-label__additional-text,
246
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--xs,
247
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--xs
248
+ .#{$prefix}--ai-label__additional-text,
249
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--sm,
250
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--sm
251
+ .#{$prefix}--ai-label__additional-text,
210
252
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--mini,
211
253
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--mini
212
254
  .#{$prefix}--slug__additional-text,
@@ -222,18 +264,23 @@ $sizes: (
222
264
  font-size: convert.to-rem(12px);
223
265
  }
224
266
 
267
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--lg,
268
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--xl,
225
269
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--lg,
226
270
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--xl {
227
271
  font-size: convert.to-rem(16px);
228
272
  }
229
273
 
230
274
  // Inline slug with text
275
+ .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline-with-content,
231
276
  .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content {
232
277
  border: 1px solid $border-inverse;
233
278
  padding-block: convert.to-rem(2px);
234
279
  padding-inline: convert.to-rem(8px);
235
280
  }
236
281
 
282
+ .#{$prefix}--ai-label__button--inline-with-content
283
+ .#{$prefix}--ai-label__additional-text,
237
284
  .#{$prefix}--slug__button--inline-with-content
238
285
  .#{$prefix}--slug__additional-text {
239
286
  @include type-style('body-compact-02');
@@ -241,17 +288,24 @@ $sizes: (
241
288
  padding-inline-start: convert.to-rem(4px);
242
289
  }
243
290
 
291
+ .#{$prefix}--ai-label__button--inline.#{$prefix}--ai-label__button--md
292
+ .#{$prefix}--ai-label__additional-text,
244
293
  .#{$prefix}--slug__button--inline.#{$prefix}--slug__button--md
245
294
  .#{$prefix}--slug__additional-text {
246
295
  font-size: convert.to-rem(14px);
247
296
  }
248
297
 
298
+ .#{$prefix}--ai-label
299
+ .#{$prefix}--ai-label__button--inline-with-content:focus,
300
+ .#{$prefix}--ai-label
301
+ .#{$prefix}--ai-label__button--inline-with-content:hover:focus,
249
302
  .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content:focus,
250
303
  .#{$prefix}--slug .#{$prefix}--slug__button--inline-with-content:hover:focus {
251
304
  box-shadow: inset 0 0 0 1px $focus;
252
305
  }
253
306
 
254
307
  // Slug callout styles
308
+ .#{$prefix}--ai-label .#{$prefix}--ai-label-content,
255
309
  .#{$prefix}--slug .#{$prefix}--slug-content {
256
310
  @include ai-popover-gradient();
257
311
 
@@ -267,6 +321,16 @@ $sizes: (
267
321
  }
268
322
 
269
323
  // Slug callout caret styles
324
+ .#{$prefix}--ai-label
325
+ > .#{$prefix}--toggletip
326
+ > .#{$prefix}--popover
327
+ > .#{$prefix}--popover-caret,
328
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
329
+ .#{$prefix}--ai-label
330
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align
331
+ > .#{$prefix}--popover
332
+ > .#{$prefix}--popover-content
333
+ > .#{$prefix}--popover-caret,
270
334
  .#{$prefix}--slug
271
335
  > .#{$prefix}--toggletip
272
336
  > .#{$prefix}--popover
@@ -282,6 +346,58 @@ $sizes: (
282
346
  }
283
347
 
284
348
  // Caret pseudo element base styles
349
+ .#{$prefix}--ai-label
350
+ > .#{$prefix}--toggletip:is(
351
+ .#{$prefix}--popover--top,
352
+ .#{$prefix}--popover--top-right,
353
+ .#{$prefix}--popover--top-left,
354
+ .#{$prefix}--popover--top-end,
355
+ .#{$prefix}--popover--top-start,
356
+ .#{$prefix}--popover--bottom,
357
+ .#{$prefix}--popover--bottom-right,
358
+ .#{$prefix}--popover--bottom-left,
359
+ .#{$prefix}--popover--bottom-start,
360
+ .#{$prefix}--popover--bottom-end,
361
+ .#{$prefix}--popover--left,
362
+ .#{$prefix}--popover--left-top,
363
+ .#{$prefix}--popover--left-bottom,
364
+ .#{$prefix}--popover--left-start,
365
+ .#{$prefix}--popover--left-end,
366
+ .#{$prefix}--popover--right,
367
+ .#{$prefix}--popover--right-top,
368
+ .#{$prefix}--popover--right-bottom,
369
+ .#{$prefix}--popover--right-start,
370
+ .#{$prefix}--popover--right-end
371
+ )
372
+ > .#{$prefix}--popover
373
+ > .#{$prefix}--popover-caret::before,
374
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
375
+ .#{$prefix}--ai-label
376
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
377
+ .#{$prefix}--popover--top,
378
+ .#{$prefix}--popover--top-right,
379
+ .#{$prefix}--popover--top-left,
380
+ .#{$prefix}--popover--top-end,
381
+ .#{$prefix}--popover--top-start,
382
+ .#{$prefix}--popover--bottom,
383
+ .#{$prefix}--popover--bottom-right,
384
+ .#{$prefix}--popover--bottom-left,
385
+ .#{$prefix}--popover--bottom-start,
386
+ .#{$prefix}--popover--bottom-end,
387
+ .#{$prefix}--popover--left,
388
+ .#{$prefix}--popover--left-top,
389
+ .#{$prefix}--popover--left-bottom,
390
+ .#{$prefix}--popover--left-start,
391
+ .#{$prefix}--popover--left-end,
392
+ .#{$prefix}--popover--right,
393
+ .#{$prefix}--popover--right-top,
394
+ .#{$prefix}--popover--right-bottom,
395
+ .#{$prefix}--popover--right-start,
396
+ .#{$prefix}--popover--right-end
397
+ )
398
+ > .#{$prefix}--popover
399
+ > .#{$prefix}--popover-content
400
+ > .#{$prefix}--popover-caret::before,
285
401
  .#{$prefix}--slug
286
402
  > .#{$prefix}--toggletip:is(
287
403
  .#{$prefix}--popover--top,
@@ -345,6 +461,58 @@ $sizes: (
345
461
  transform: rotate(45deg);
346
462
  }
347
463
 
464
+ .#{$prefix}--ai-label
465
+ > .#{$prefix}--toggletip:is(
466
+ .#{$prefix}--popover--top,
467
+ .#{$prefix}--popover--top-right,
468
+ .#{$prefix}--popover--top-left,
469
+ .#{$prefix}--popover--top-end,
470
+ .#{$prefix}--popover--top-start,
471
+ .#{$prefix}--popover--bottom,
472
+ .#{$prefix}--popover--bottom-right,
473
+ .#{$prefix}--popover--bottom-left,
474
+ .#{$prefix}--popover--bottom-start,
475
+ .#{$prefix}--popover--bottom-end,
476
+ .#{$prefix}--popover--left,
477
+ .#{$prefix}--popover--left-top,
478
+ .#{$prefix}--popover--left-bottom,
479
+ .#{$prefix}--popover--left-start,
480
+ .#{$prefix}--popover--left-end,
481
+ .#{$prefix}--popover--right,
482
+ .#{$prefix}--popover--right-top,
483
+ .#{$prefix}--popover--right-bottom,
484
+ .#{$prefix}--popover--right-start,
485
+ .#{$prefix}--popover--right-end
486
+ )
487
+ > .#{$prefix}--popover
488
+ > .#{$prefix}--popover-caret::after,
489
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
490
+ .#{$prefix}--ai-label
491
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
492
+ .#{$prefix}--popover--top,
493
+ .#{$prefix}--popover--top-right,
494
+ .#{$prefix}--popover--top-left,
495
+ .#{$prefix}--popover--top-end,
496
+ .#{$prefix}--popover--top-start,
497
+ .#{$prefix}--popover--bottom,
498
+ .#{$prefix}--popover--bottom-right,
499
+ .#{$prefix}--popover--bottom-left,
500
+ .#{$prefix}--popover--bottom-start,
501
+ .#{$prefix}--popover--bottom-end,
502
+ .#{$prefix}--popover--left,
503
+ .#{$prefix}--popover--left-top,
504
+ .#{$prefix}--popover--left-bottom,
505
+ .#{$prefix}--popover--left-start,
506
+ .#{$prefix}--popover--left-end,
507
+ .#{$prefix}--popover--right,
508
+ .#{$prefix}--popover--right-top,
509
+ .#{$prefix}--popover--right-bottom,
510
+ .#{$prefix}--popover--right-start,
511
+ .#{$prefix}--popover--right-end
512
+ )
513
+ > .#{$prefix}--popover
514
+ > .#{$prefix}--popover-content
515
+ > .#{$prefix}--popover-caret::after,
348
516
  .#{$prefix}--slug
349
517
  > .#{$prefix}--toggletip:is(
350
518
  .#{$prefix}--popover--top,
@@ -406,6 +574,28 @@ $sizes: (
406
574
  }
407
575
 
408
576
  // Top
577
+ .#{$prefix}--ai-label
578
+ > .#{$prefix}--toggletip:is(
579
+ .#{$prefix}--popover--top,
580
+ .#{$prefix}--popover--top-right,
581
+ .#{$prefix}--popover--top-left,
582
+ .#{$prefix}--popover--top-end,
583
+ .#{$prefix}--popover--top-start
584
+ )
585
+ > .#{$prefix}--popover
586
+ > .#{$prefix}--popover-caret,
587
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
588
+ .#{$prefix}--ai-label
589
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
590
+ .#{$prefix}--popover--top,
591
+ .#{$prefix}--popover--top-right,
592
+ .#{$prefix}--popover--top-left,
593
+ .#{$prefix}--popover--top-end,
594
+ .#{$prefix}--popover--top-start
595
+ )
596
+ > .#{$prefix}--popover
597
+ > .#{$prefix}--popover-content
598
+ > .#{$prefix}--popover-caret,
409
599
  .#{$prefix}--slug
410
600
  > .#{$prefix}--toggletip:is(
411
601
  .#{$prefix}--popover--top,
@@ -444,6 +634,17 @@ $sizes: (
444
634
  }
445
635
  }
446
636
 
637
+ .#{$prefix}--ai-label
638
+ > .#{$prefix}--toggletip:is(
639
+ .#{$prefix}--popover--top,
640
+ .#{$prefix}--popover--top-right,
641
+ .#{$prefix}--popover--top-left,
642
+ .#{$prefix}--popover--top-end,
643
+ .#{$prefix}--popover--top-start
644
+ )
645
+ > .#{$prefix}--popover
646
+ > .#{$prefix}--ai-label-content--with-actions
647
+ + .#{$prefix}--popover-caret::after,
447
648
  .#{$prefix}--slug
448
649
  > .#{$prefix}--toggletip:is(
449
650
  .#{$prefix}--popover--top,
@@ -459,6 +660,28 @@ $sizes: (
459
660
  }
460
661
 
461
662
  // Right
663
+ .#{$prefix}--ai-label
664
+ > .#{$prefix}--toggletip:is(
665
+ .#{$prefix}--popover--right,
666
+ .#{$prefix}--popover--right-bottom,
667
+ .#{$prefix}--popover--right-top,
668
+ .#{$prefix}--popover--right-start,
669
+ .#{$prefix}--popover--right-end
670
+ )
671
+ > .#{$prefix}--popover
672
+ > .#{$prefix}--popover-caret,
673
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
674
+ .#{$prefix}--ai-label
675
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
676
+ .#{$prefix}--popover--right,
677
+ .#{$prefix}--popover--right-bottom,
678
+ .#{$prefix}--popover--right-top,
679
+ .#{$prefix}--popover--right-start,
680
+ .#{$prefix}--popover--right-end
681
+ )
682
+ > .#{$prefix}--popover
683
+ > .#{$prefix}--popover-content
684
+ > .#{$prefix}--popover-caret,
462
685
  .#{$prefix}--slug
463
686
  > .#{$prefix}--toggletip:is(
464
687
  .#{$prefix}--popover--right,
@@ -495,6 +718,28 @@ $sizes: (
495
718
  }
496
719
 
497
720
  // Bottom
721
+ .#{$prefix}--ai-label
722
+ > .#{$prefix}--toggletip:is(
723
+ .#{$prefix}--popover--bottom,
724
+ .#{$prefix}--popover--bottom-left,
725
+ .#{$prefix}--popover--bottom-right,
726
+ .#{$prefix}--popover--bottom-start,
727
+ .#{$prefix}--popover--bottom-end
728
+ )
729
+ > .#{$prefix}--popover
730
+ > .#{$prefix}--popover-caret,
731
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
732
+ .#{$prefix}--ai-label
733
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
734
+ .#{$prefix}--popover--bottom,
735
+ .#{$prefix}--popover--bottom-left,
736
+ .#{$prefix}--popover--bottom-right,
737
+ .#{$prefix}--popover--bottom-start,
738
+ .#{$prefix}--popover--bottom-end
739
+ )
740
+ > .#{$prefix}--popover
741
+ > .#{$prefix}--popover-content
742
+ > .#{$prefix}--popover-caret,
498
743
  .#{$prefix}--slug
499
744
  > .#{$prefix}--toggletip:is(
500
745
  .#{$prefix}--popover--bottom,
@@ -533,6 +778,28 @@ $sizes: (
533
778
  }
534
779
 
535
780
  // Left
781
+ .#{$prefix}--ai-label
782
+ > .#{$prefix}--toggletip:is(
783
+ .#{$prefix}--popover--left,
784
+ .#{$prefix}--popover--left-bottom,
785
+ .#{$prefix}--popover--left-top,
786
+ .#{$prefix}--popover--left-start,
787
+ .#{$prefix}--popover--left-end
788
+ )
789
+ > .#{$prefix}--popover
790
+ > .#{$prefix}--popover-caret,
791
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
792
+ .#{$prefix}--ai-label
793
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
794
+ .#{$prefix}--popover--left,
795
+ .#{$prefix}--popover--left-bottom,
796
+ .#{$prefix}--popover--left-top,
797
+ .#{$prefix}--popover--left-start,
798
+ .#{$prefix}--popover--left-end
799
+ )
800
+ > .#{$prefix}--popover
801
+ > .#{$prefix}--popover-content
802
+ > .#{$prefix}--popover-caret,
536
803
  .#{$prefix}--slug
537
804
  > .#{$prefix}--toggletip:is(
538
805
  .#{$prefix}--popover--left,
@@ -569,6 +836,26 @@ $sizes: (
569
836
  }
570
837
 
571
838
  // Override for specific alignments
839
+ .#{$prefix}--ai-label
840
+ > .#{$prefix}--toggletip:is(
841
+ .#{$prefix}--popover--left-bottom,
842
+ .#{$prefix}--popover--right-bottom,
843
+ .#{$prefix}--popover--left-end,
844
+ .#{$prefix}--popover--right-end
845
+ )
846
+ > .#{$prefix}--popover
847
+ > .#{$prefix}--popover-caret::after,
848
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
849
+ .#{$prefix}--ai-label
850
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
851
+ .#{$prefix}--popover--left-bottom,
852
+ .#{$prefix}--popover--right-bottom,
853
+ .#{$prefix}--popover--left-end,
854
+ .#{$prefix}--popover--right-end
855
+ )
856
+ > .#{$prefix}--popover
857
+ > .#{$prefix}--popover-content
858
+ > .#{$prefix}--popover-caret::after,
572
859
  .#{$prefix}--slug
573
860
  > .#{$prefix}--toggletip:is(
574
861
  .#{$prefix}--popover--left-bottom,
@@ -593,6 +880,36 @@ $sizes: (
593
880
  }
594
881
 
595
882
  // Change caret color / border when it is near the bottom of the callout
883
+ .#{$prefix}--ai-label
884
+ > .#{$prefix}--toggletip:is(
885
+ .#{$prefix}--popover--left-bottom,
886
+ .#{$prefix}--popover--right-bottom,
887
+ .#{$prefix}--popover--left-end,
888
+ .#{$prefix}--popover--right-end,
889
+ .#{$prefix}--popover--top,
890
+ .#{$prefix}--popover--top-right,
891
+ .#{$prefix}--popover--top-left,
892
+ .#{$prefix}--popover--top-end,
893
+ .#{$prefix}--popover--top-start
894
+ )
895
+ > .#{$prefix}--popover
896
+ > .#{$prefix}--popover-caret,
897
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
898
+ .#{$prefix}--ai-label
899
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
900
+ .#{$prefix}--popover--left-bottom,
901
+ .#{$prefix}--popover--right-bottom,
902
+ .#{$prefix}--popover--left-end,
903
+ .#{$prefix}--popover--right-end,
904
+ .#{$prefix}--popover--top,
905
+ .#{$prefix}--popover--top-right,
906
+ .#{$prefix}--popover--top-left,
907
+ .#{$prefix}--popover--top-end,
908
+ .#{$prefix}--popover--top-start
909
+ )
910
+ > .#{$prefix}--popover
911
+ > .#{$prefix}--popover-content
912
+ > .#{$prefix}--popover-caret,
596
913
  .#{$prefix}--slug
597
914
  > .#{$prefix}--toggletip:is(
598
915
  .#{$prefix}--popover--left-bottom,
@@ -630,6 +947,36 @@ $sizes: (
630
947
  }
631
948
 
632
949
  // Adjust background if actions are present
950
+ .#{$prefix}--ai-label
951
+ > .#{$prefix}--toggletip:is(
952
+ .#{$prefix}--popover--left-bottom,
953
+ .#{$prefix}--popover--right-bottom,
954
+ .#{$prefix}--popover--left-end,
955
+ .#{$prefix}--popover--right-end,
956
+ .#{$prefix}--popover--top,
957
+ .#{$prefix}--popover--top-right,
958
+ .#{$prefix}--popover--top-left,
959
+ .#{$prefix}--popover--top-end,
960
+ .#{$prefix}--popover--top-start
961
+ )
962
+ > .#{$prefix}--popover:has(.#{$prefix}--ai-label-content--with-actions)
963
+ > .#{$prefix}--popover-caret,
964
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
965
+ .#{$prefix}--ai-label
966
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
967
+ .#{$prefix}--popover--left-bottom,
968
+ .#{$prefix}--popover--right-bottom,
969
+ .#{$prefix}--popover--left-end,
970
+ .#{$prefix}--popover--right-end,
971
+ .#{$prefix}--popover--top,
972
+ .#{$prefix}--popover--top-right,
973
+ .#{$prefix}--popover--top-left,
974
+ .#{$prefix}--popover--top-start,
975
+ .#{$prefix}--popover--top-end
976
+ )
977
+ > .#{$prefix}--popover:has(.#{$prefix}--ai-label-content--with-actions)
978
+ > .#{$prefix}--popover-content
979
+ > .#{$prefix}--popover-caret,
633
980
  .#{$prefix}--slug
634
981
  > .#{$prefix}--toggletip:is(
635
982
  .#{$prefix}--popover--left-bottom,
@@ -666,6 +1013,22 @@ $sizes: (
666
1013
  }
667
1014
 
668
1015
  // Change the caret border when it is near the middle of the callout
1016
+ .#{$prefix}--ai-label
1017
+ > .#{$prefix}--toggletip:is(
1018
+ .#{$prefix}--popover--left,
1019
+ .#{$prefix}--popover--right
1020
+ )
1021
+ > .#{$prefix}--popover
1022
+ > .#{$prefix}--popover-caret,
1023
+ // autoAlign uses a different dom structure where the caret is within the content instead of a sibling
1024
+ .#{$prefix}--ai-label
1025
+ > .#{$prefix}--toggletip.#{$prefix}--popover--auto-align:is(
1026
+ .#{$prefix}--popover--left,
1027
+ .#{$prefix}--popover--right
1028
+ )
1029
+ > .#{$prefix}--popover
1030
+ > .#{$prefix}--popover-content
1031
+ > .#{$prefix}--popover-caret,
669
1032
  .#{$prefix}--slug
670
1033
  > .#{$prefix}--toggletip:is(
671
1034
  .#{$prefix}--popover--left,
@@ -687,16 +1050,21 @@ $sizes: (
687
1050
  }
688
1051
  }
689
1052
 
1053
+ .#{$prefix}--ai-label .#{$prefix}--toggletip-content,
690
1054
  .#{$prefix}--slug .#{$prefix}--toggletip-content {
691
1055
  // This sets the max size to the size of the action bar with 3 buttons
692
1056
  padding-block: convert.to-rem(24px) convert.to-rem(80px);
693
1057
  padding-inline: convert.to-rem(24px);
694
1058
  }
695
1059
 
1060
+ .#{$prefix}--ai-label
1061
+ .#{$prefix}--ai-label-content
1062
+ .#{$prefix}--toggletip-content,
696
1063
  .#{$prefix}--slug .#{$prefix}--slug-content .#{$prefix}--toggletip-content {
697
1064
  max-inline-size: convert.to-rem(320px);
698
1065
  }
699
1066
 
1067
+ .#{$prefix}--ai-label .#{$prefix}--ai-label-actions,
700
1068
  .#{$prefix}--slug .#{$prefix}--slug-actions {
701
1069
  position: absolute;
702
1070
  justify-content: flex-end;
@@ -710,6 +1078,7 @@ $sizes: (
710
1078
  inset-inline-end: 0;
711
1079
  }
712
1080
 
1081
+ .#{$prefix}--ai-label .#{$prefix}--ai-label-actions .#{$prefix}--btn:focus,
713
1082
  .#{$prefix}--slug .#{$prefix}--slug-actions .#{$prefix}--btn:focus {
714
1083
  border-color: $focus;
715
1084
  box-shadow:
@@ -717,21 +1086,25 @@ $sizes: (
717
1086
  inset 0 0 0 2px $background;
718
1087
  }
719
1088
 
1089
+ .#{$prefix}--ai-label .#{$prefix}--ai-label-actions .#{$prefix}--btn--primary,
720
1090
  .#{$prefix}--slug .#{$prefix}--slug-actions .#{$prefix}--btn--primary {
721
1091
  order: 1;
722
1092
  border-end-end-radius: convert.to-rem(7px);
723
1093
  }
724
1094
 
725
1095
  // Revert styles
1096
+ .#{$prefix}--ai-label.#{$prefix}--ai-label--revert,
726
1097
  .#{$prefix}--slug.#{$prefix}--slug--revert {
727
1098
  transform: translate($spacing-03, -50%);
728
1099
  }
729
1100
 
1101
+ .#{$prefix}--ai-label--revert .#{$prefix}--btn--icon-only,
730
1102
  .#{$prefix}--slug--revert .#{$prefix}--btn--icon-only {
731
1103
  align-items: center;
732
1104
  padding-block-start: 0;
733
1105
  }
734
1106
 
1107
+ .#{$prefix}--ai-label--revert .#{$prefix}--btn--icon-only svg,
735
1108
  .#{$prefix}--slug--revert .#{$prefix}--btn--icon-only svg {
736
1109
  margin: 0;
737
1110
  }
@@ -380,12 +380,17 @@
380
380
  }
381
381
  }
382
382
 
383
- // Slug styles
383
+ // AILabel styles
384
+ .#{$prefix}--tag .#{$prefix}--ai-label .#{$prefix}--ai-label__button--inline,
384
385
  .#{$prefix}--tag .#{$prefix}--slug .#{$prefix}--slug__button--inline {
385
386
  color: currentColor;
386
387
  margin-inline-start: convert.to-rem(1px);
387
388
  }
388
389
 
390
+ .#{$prefix}--tag
391
+ .#{$prefix}--ai-label
392
+ .#{$prefix}--ai-label__button--inline
393
+ .#{$prefix}--ai-label__text::before,
389
394
  .#{$prefix}--tag
390
395
  .#{$prefix}--slug
391
396
  .#{$prefix}--slug__button--inline
@@ -393,10 +398,14 @@
393
398
  background-color: currentColor;
394
399
  }
395
400
 
401
+ .#{$prefix}--tag
402
+ .#{$prefix}--ai-label
403
+ .#{$prefix}--ai-label__button--inline:hover,
396
404
  .#{$prefix}--tag .#{$prefix}--slug .#{$prefix}--slug__button--inline:hover {
397
405
  border-color: currentColor;
398
406
  }
399
407
 
408
+ .#{$prefix}--tag--filter .#{$prefix}--ai-label,
400
409
  .#{$prefix}--tag--filter .#{$prefix}--slug {
401
410
  min-inline-size: convert.to-rem(32.14px);
402
411
  }