@carbon/styles 1.69.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 (37) hide show
  1. package/css/styles.css +589 -101
  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 +8 -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/fonts/__tests__/__snapshots__/fonts-test.js.snap +180 -180
  29. package/scss/fonts/_mono.scss +66 -9
  30. package/scss/fonts/_sans-arabic.scss +17 -8
  31. package/scss/fonts/_sans-devanagari.scss +17 -8
  32. package/scss/fonts/_sans-hebrew.scss +17 -8
  33. package/scss/fonts/_sans-thai-looped.scss +17 -8
  34. package/scss/fonts/_sans-thai.scss +17 -8
  35. package/scss/fonts/_sans.scss +66 -9
  36. package/scss/fonts/_serif.scss +66 -9
  37. package/scss/fonts/_src.scss +39 -12
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.69.0",
4
+ "version": "1.70.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -48,6 +48,14 @@
48
48
  "@carbon/themes": "^11.43.0",
49
49
  "@carbon/type": "^11.33.0",
50
50
  "@ibm/plex": "6.0.0-next.6",
51
+ "@ibm/plex-mono": "0.0.3-alpha.0",
52
+ "@ibm/plex-sans": "0.0.3-alpha.0",
53
+ "@ibm/plex-sans-arabic": "0.0.3-alpha.0",
54
+ "@ibm/plex-sans-devanagari": "0.0.3-alpha.0",
55
+ "@ibm/plex-sans-hebrew": "0.0.3-alpha.0",
56
+ "@ibm/plex-sans-thai": "0.0.3-alpha.0",
57
+ "@ibm/plex-sans-thai-looped": "0.0.3-alpha.0",
58
+ "@ibm/plex-serif": "0.0.3-alpha.0",
51
59
  "@ibm/telemetry-js": "^1.5.0"
52
60
  },
53
61
  "devDependencies": {
@@ -67,5 +75,5 @@
67
75
  "scss/**/*.css",
68
76
  "css/**/*.css"
69
77
  ],
70
- "gitHead": "aa67ac9b298f921c558984fa6abbb90c33e9ef93"
78
+ "gitHead": "d3bd715a72872535c5b4156720828fe1cd9365f5"
71
79
  }
@@ -41,5 +41,6 @@ Object {
41
41
  "prefix": "cds",
42
42
  "use-akamai-cdn": false,
43
43
  "use-flexbox-grid": false,
44
+ "use-per-family-plex": false,
44
45
  }
45
46
  `;
package/scss/_config.scss CHANGED
@@ -43,6 +43,12 @@ $font-display: 'swap' !default;
43
43
  /// @group config
44
44
  $font-path: '~@ibm/plex' !default;
45
45
 
46
+ /// Specify if the new per-family plex packages (e.g. @ibm/plex-sans) should be used
47
+ /// @access public
48
+ /// @type Boolean
49
+ /// @group config
50
+ $use-per-family-plex: false !default;
51
+
46
52
  /// Specify if IBM Plex should be provided by the IBM Akamai CDN
47
53
  /// @access public
48
54
  /// @type String
package/scss/_reset.scss CHANGED
@@ -99,6 +99,7 @@
99
99
  border: 0;
100
100
  margin: 0;
101
101
  font: inherit;
102
+ font-feature-settings: 'liga' 1;
102
103
  font-size: 100%;
103
104
  vertical-align: baseline;
104
105
  }
@@ -372,6 +372,12 @@
372
372
  display: flex;
373
373
  }
374
374
 
375
+ .#{$prefix}--checkbox-group--slug
376
+ legend.#{$prefix}--label
377
+ .#{$prefix}--ai-label,
378
+ .#{$prefix}--checkbox-wrapper--slug
379
+ .#{$prefix}--checkbox-label-text
380
+ .#{$prefix}--ai-label,
375
381
  .#{$prefix}--checkbox-group--slug legend.#{$prefix}--label .#{$prefix}--slug,
376
382
  .#{$prefix}--checkbox-wrapper--slug
377
383
  .#{$prefix}--checkbox-label-text
@@ -379,6 +385,9 @@
379
385
  margin-inline-start: $spacing-03;
380
386
  }
381
387
 
388
+ .#{$prefix}--checkbox-wrapper--slug
389
+ .#{$prefix}--checkbox-label-text
390
+ .#{$prefix}--ai-label__button--inline,
382
391
  .#{$prefix}--checkbox-wrapper--slug
383
392
  .#{$prefix}--checkbox-label-text
384
393
  .#{$prefix}--slug__button--inline {
@@ -1040,22 +1040,29 @@
1040
1040
  @include ai-table-gradient();
1041
1041
  }
1042
1042
 
1043
+ .#{$prefix}--table-column-slug .#{$prefix}--ai-label,
1043
1044
  .#{$prefix}--table-column-slug .#{$prefix}--slug {
1044
1045
  position: absolute;
1045
1046
  z-index: 2;
1046
1047
  transform: translateY(-50%);
1047
1048
  }
1048
1049
 
1050
+ .#{$prefix}--data-table--xl
1051
+ .#{$prefix}--table-column-slug
1052
+ .#{$prefix}--ai-label,
1049
1053
  .#{$prefix}--data-table--xl .#{$prefix}--table-column-slug .#{$prefix}--slug {
1050
1054
  transform: translateY(1px);
1051
1055
  }
1052
1056
 
1053
- // Slug inside header styles
1057
+ // AILabel inside header styles
1054
1058
  th .#{$prefix}--table-header-label.#{$prefix}--table-header-label--slug {
1055
1059
  display: flex;
1056
1060
  align-items: center;
1057
1061
  }
1058
1062
 
1063
+ th
1064
+ .#{$prefix}--table-header-label.#{$prefix}--table-header-label--slug
1065
+ .#{$prefix}--ai-label,
1059
1066
  th
1060
1067
  .#{$prefix}--table-header-label.#{$prefix}--table-header-label--slug
1061
1068
  .#{$prefix}--slug {
@@ -243,12 +243,12 @@
243
243
  margin-block-start: convert.to-rem(13px);
244
244
  }
245
245
 
246
- // Slug styles
246
+ // AILabel styles
247
247
  .#{$prefix}--table-sort__header--slug .#{$prefix}--table-sort__icon,
248
248
  .#{$prefix}--table-sort__header--slug .#{$prefix}--table-sort__icon-unsorted {
249
249
  margin-inline: auto convert.to-rem(8px);
250
250
  }
251
-
251
+ .#{$prefix}--table-sort__header--slug .#{$prefix}--ai-label,
252
252
  .#{$prefix}--table-sort__header--slug .#{$prefix}--slug {
253
253
  margin-inline-end: convert.to-rem(8px);
254
254
  }
@@ -190,7 +190,11 @@
190
190
  inline-size: convert.to-rem(143.5px);
191
191
  }
192
192
 
193
- // Styles for `Slug` rendered inside `DatePickerInput`
193
+ // Styles for `AILabel` rendered inside `DatePickerInput`
194
+ .#{$prefix}--date-picker-input__wrapper--decorator
195
+ .#{$prefix}--date-picker-input-inner-wrapper--decorator
196
+ > *,
197
+ .#{$prefix}--date-picker-input__wrapper--slug .#{$prefix}--ai-label,
194
198
  .#{$prefix}--date-picker-input__wrapper--slug .#{$prefix}--slug {
195
199
  position: absolute;
196
200
  inset-block-start: 50%;
@@ -198,8 +202,32 @@
198
202
  transform: translateY(-50%);
199
203
  }
200
204
 
205
+ .#{$prefix}--date-picker-input__wrapper--decorator
206
+ .#{$prefix}--date-picker-input-inner-wrapper--decorator:not(
207
+ :has(.#{$prefix}--ai-label)
208
+ )
209
+ > * {
210
+ block-size: 1rem;
211
+ }
212
+
213
+ .#{$prefix}--date-picker-input__wrapper--decorator
214
+ .#{$prefix}--date-picker__input:has(
215
+ ~ .#{$prefix}--date-picker-input-inner-wrapper--decorator
216
+ .#{$prefix}--ai-label
217
+ ):not(
218
+ :has(
219
+ ~ .#{$prefix}--date-picker-input-inner-wrapper--decorator
220
+ .#{$prefix}--ai-label--revert
221
+ )
222
+ ),
223
+ .#{$prefix}--date-picker-input__wrapper--slug
224
+ .#{$prefix}--date-picker__input:has(~ .#{$prefix}--ai-label):not(
225
+ :has(~ .#{$prefix}--ai-label--revert)
226
+ ),
201
227
  .#{$prefix}--date-picker-input__wrapper--slug
202
- .#{$prefix}--date-picker__input:not(:has(~ .#{$prefix}--slug--revert)) {
228
+ .#{$prefix}--date-picker__input:has(~ .#{$prefix}--slug):not(
229
+ :has(~ .#{$prefix}--slug--revert)
230
+ ) {
203
231
  @include ai-gradient;
204
232
 
205
233
  padding-inline-end: $spacing-10;
@@ -29,6 +29,10 @@
29
29
  grid-gap: 0 convert.to-rem(24px);
30
30
  grid-template: auto / auto min-content;
31
31
 
32
+ &:has(.#{$prefix}--label.#{$prefix}--visually-hidden) {
33
+ grid-template: auto / auto;
34
+ }
35
+
32
36
  .#{$prefix}--label {
33
37
  @include type-style('body-compact-01');
34
38
  }
@@ -400,6 +400,9 @@
400
400
  }
401
401
 
402
402
  // Slug styles
403
+ .#{$prefix}--date-picker--fluid
404
+ .#{$prefix}--date-picker-input__wrapper--slug
405
+ .#{$prefix}--ai-label,
403
406
  .#{$prefix}--date-picker--fluid
404
407
  .#{$prefix}--date-picker-input__wrapper--slug
405
408
  .#{$prefix}--slug {
@@ -407,14 +410,27 @@
407
410
  }
408
411
 
409
412
  .#{$prefix}--date-picker--fluid
410
- .#{$prefix}--date-picker-input__wrapper--slug:not(
411
- :has(.#{$prefix}--slug--revert)
413
+ .#{$prefix}--date-picker-input__wrapper--slug
414
+ .#{$prefix}--date-picker__input:has(~ .#{$prefix}--ai-label):not(
415
+ :has(~ .#{$prefix}--ai-label--revert)
416
+ ),
417
+ .#{$prefix}--date-picker--fluid
418
+ .#{$prefix}--date-picker-input__wrapper--slug
419
+ .#{$prefix}--date-picker__input:has(~ .#{$prefix}--slug):not(
420
+ :has(~ .#{$prefix}--slug--revert)
412
421
  ) {
413
422
  @include ai-gradient;
414
423
  }
415
424
 
416
425
  .#{$prefix}--date-picker--fluid
417
- .#{$prefix}--date-picker-input__wrapper--slug:not(
426
+ .#{$prefix}--date-picker-input__wrapper--slug:has(
427
+ .#{$prefix}--ai-label
428
+ ):not(:has(.#{$prefix}--ai-label--revert))
429
+ .#{$prefix}--date-picker__input:not(
430
+ .#{$prefix}--date-picker__input--invalid
431
+ ),
432
+ .#{$prefix}--date-picker--fluid
433
+ .#{$prefix}--date-picker-input__wrapper--slug:has(.#{$prefix}--slug):not(
418
434
  :has(.#{$prefix}--slug--revert)
419
435
  )
420
436
  .#{$prefix}--date-picker__input:not(
@@ -283,12 +283,37 @@
283
283
  inset-inline-start: $spacing-05;
284
284
  }
285
285
 
286
- // Slug styles
286
+ // AILabel styles
287
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
288
+ .#{$prefix}--list-box__inner-wrapper--decorator
289
+ > *,
290
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
291
+ .#{$prefix}--ai-label,
287
292
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
288
293
  .#{$prefix}--slug {
289
294
  inset-block-start: convert.to-rem(42px);
290
295
  }
291
296
 
297
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
298
+ .#{$prefix}--list-box--warning
299
+ .#{$prefix}--list-box__wrapper--decorator-inner
300
+ > *,
301
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
302
+ .#{$prefix}--list-box--invalid
303
+ .#{$prefix}--list-box__wrapper--decorator-inner
304
+ > *,
305
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
306
+ .#{$prefix}--list-box--warning
307
+ .#{$prefix}--ai-label,
308
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
309
+ .#{$prefix}--list-box--invalid
310
+ .#{$prefix}--ai-label,
311
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
312
+ .#{$prefix}--list-box--warning
313
+ .#{$prefix}--ai-label,
314
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
315
+ .#{$prefix}--list-box--invalid
316
+ .#{$prefix}--ai-label,
292
317
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
293
318
  .#{$prefix}--list-box--warning
294
319
  .#{$prefix}--slug,
@@ -298,6 +323,12 @@
298
323
  inset-inline-end: $spacing-08;
299
324
  }
300
325
 
326
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
327
+ .#{$prefix}--list-box--warning
328
+ button.#{$prefix}--list-box__field,
329
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid.#{$prefix}--list-box__wrapper--decorator
330
+ .#{$prefix}--list-box--invalid[data-invalid]
331
+ button.#{$prefix}--list-box__field,
301
332
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
302
333
  .#{$prefix}--list-box--warning
303
334
  button.#{$prefix}--list-box__field,
@@ -307,6 +338,12 @@
307
338
  padding-inline-end: $spacing-10;
308
339
  }
309
340
 
341
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
342
+ .#{$prefix}--list-box--warning
343
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
344
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator.#{$prefix}--list-box__wrapper--fluid--invalid
345
+ .#{$prefix}--list-box--invalid
346
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
310
347
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
311
348
  .#{$prefix}--list-box--warning
312
349
  .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
@@ -316,6 +353,44 @@
316
353
  padding-inline-end: convert.to-rem(88px);
317
354
  }
318
355
 
356
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
357
+ .#{$prefix}--list-box--warning
358
+ .#{$prefix}--list-box__field:has(
359
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
360
+ )
361
+ ~ .#{$prefix}--list-box__wrapper--decorator-inner
362
+ > *,
363
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
364
+ .#{$prefix}--list-box--invalid
365
+ .#{$prefix}--list-box__field:has(
366
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
367
+ )
368
+ ~ .#{$prefix}--list-box__wrapper--decorator-inner
369
+ > *,
370
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
371
+ .#{$prefix}--list-box--warning
372
+ .#{$prefix}--list-box__field:has(
373
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
374
+ )
375
+ ~ .#{$prefix}--ai-label,
376
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
377
+ .#{$prefix}--list-box--invalid
378
+ .#{$prefix}--list-box__field:has(
379
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
380
+ )
381
+ ~ .#{$prefix}--ai-label,
382
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
383
+ .#{$prefix}--list-box--warning
384
+ .#{$prefix}--list-box__field:has(
385
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
386
+ )
387
+ ~ .#{$prefix}--ai-label,
388
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
389
+ .#{$prefix}--list-box--invalid
390
+ .#{$prefix}--list-box__field:has(
391
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty)
392
+ )
393
+ ~ .#{$prefix}--ai-label,
319
394
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
320
395
  .#{$prefix}--list-box--warning
321
396
  .#{$prefix}--list-box__field:has(
@@ -331,6 +406,8 @@
331
406
  inset-inline-end: $spacing-10;
332
407
  }
333
408
 
409
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
410
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
334
411
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
335
412
  .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty) {
336
413
  padding-inline-end: $spacing-12;
@@ -364,7 +441,21 @@
364
441
  inset-inline-end: $spacing-04;
365
442
  }
366
443
 
367
- // remove slug divider when element is invalid and fluid
444
+ // remove ai-label divider when element is invalid and fluid
445
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--decorator
446
+ .#{$prefix}--list-box--invalid[data-invalid]
447
+ .#{$prefix}--list-box__wrapper--decorator-inner
448
+ > *::before,
449
+ .#{$prefix}--list-box__wrapper--decorator
450
+ .#{$prefix}--list-box--warning
451
+ .#{$prefix}--list-box__wrapper--decorator-inner
452
+ > *::before,
453
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
454
+ .#{$prefix}--list-box--invalid[data-invalid]
455
+ .#{$prefix}--ai-label::before,
456
+ .#{$prefix}--list-box__wrapper--slug
457
+ .#{$prefix}--list-box--warning
458
+ .#{$prefix}--ai-label::before,
368
459
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--slug
369
460
  .#{$prefix}--list-box--invalid[data-invalid]
370
461
  .#{$prefix}--slug::before,
@@ -277,13 +277,34 @@
277
277
  background-color: transparent;
278
278
  }
279
279
 
280
- // Slug styles
280
+ // AILabel styles
281
+ .#{$prefix}--number-input--fluid
282
+ .#{$prefix}--number__input-wrapper--decorator
283
+ .#{$prefix}--number__input-inner-wrapper--decorator
284
+ > *,
285
+ .#{$prefix}--number-input--fluid
286
+ .#{$prefix}--number__input-wrapper--slug
287
+ .#{$prefix}--ai-label,
281
288
  .#{$prefix}--number-input--fluid
282
289
  .#{$prefix}--number__input-wrapper--slug
283
290
  .#{$prefix}--slug {
284
291
  inset-block-start: convert.to-rem(43px);
285
292
  }
286
293
 
294
+ .#{$prefix}--number-input--fluid.#{$prefix}--number-input--fluid--invalid
295
+ .#{$prefix}--number__input-wrapper--decorator
296
+ .#{$prefix}--number__input-inner-wrapper--decorator
297
+ > *,
298
+ .#{$prefix}--number-input--fluid
299
+ .#{$prefix}--number__input-wrapper--decorator.#{$prefix}--number__input-wrapper--warning
300
+ .#{$prefix}--number__input-inner-wrapper--decorator
301
+ > *,
302
+ .#{$prefix}--number-input--fluid.#{$prefix}--number-input--fluid--invalid
303
+ .#{$prefix}--number__input-wrapper--slug
304
+ .#{$prefix}--ai-label,
305
+ .#{$prefix}--number-input--fluid
306
+ .#{$prefix}--number__input-wrapper--slug.#{$prefix}--number__input-wrapper--warning
307
+ .#{$prefix}--ai-label,
287
308
  .#{$prefix}--number-input--fluid.#{$prefix}--number-input--fluid--invalid
288
309
  .#{$prefix}--number__input-wrapper--slug
289
310
  .#{$prefix}--slug,
@@ -293,6 +314,15 @@
293
314
  inset-inline-end: convert.to-rem(88px);
294
315
  }
295
316
 
317
+ .#{$prefix}--number-input--fluid
318
+ .#{$prefix}--number__input-wrapper--decorator
319
+ input,
320
+ .#{$prefix}--number-input--fluid.#{$prefix}--number-input--fluid--invalid
321
+ .#{$prefix}--number__input-wrapper--decorator
322
+ input[data-invalid],
323
+ .#{$prefix}--number-input--fluid
324
+ .#{$prefix}--number__input-wrapper--decorator.#{$prefix}--number__input-wrapper--warning
325
+ input,
296
326
  .#{$prefix}--number-input--fluid
297
327
  .#{$prefix}--number__input-wrapper--slug
298
328
  input,
@@ -306,7 +336,15 @@
306
336
  }
307
337
 
308
338
  .#{$prefix}--number-input--fluid
309
- .#{$prefix}--number__input-wrapper--slug:not(
339
+ .#{$prefix}--number__input-wrapper--decorator:has(
340
+ .#{$prefix}--ai-label
341
+ ):not(:has(.#{$prefix}--ai-label--revert)),
342
+ .#{$prefix}--number-input--fluid
343
+ .#{$prefix}--number__input-wrapper--slug:has(.#{$prefix}--ai-label):not(
344
+ :has(.#{$prefix}--ai-label--revert)
345
+ ),
346
+ .#{$prefix}--number-input--fluid
347
+ .#{$prefix}--number__input-wrapper--slug:has(.#{$prefix}--slug):not(
310
348
  :has(.#{$prefix}--slug--revert)
311
349
  ) {
312
350
  @include ai-gradient;
@@ -200,7 +200,8 @@
200
200
  fill: $icon-disabled;
201
201
  }
202
202
 
203
- // Slug styles
203
+ // AILabel styles
204
+ .#{$prefix}--select--fluid .#{$prefix}--select--slug .#{$prefix}--ai-label,
204
205
  .#{$prefix}--select--fluid .#{$prefix}--select--slug .#{$prefix}--slug {
205
206
  inset-block-start: convert.to-rem(42px);
206
207
  inset-inline-end: $spacing-08;
@@ -212,7 +213,10 @@
212
213
  padding-inline-end: $spacing-10;
213
214
  }
214
215
 
215
- // remove slug divider when element is invalid and fluid
216
+ // remove ai-label divider when element is invalid and fluid
217
+ .#{$prefix}--select--fluid
218
+ .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
219
+ .#{$prefix}--ai-label::before,
216
220
  .#{$prefix}--select--fluid
217
221
  .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
218
222
  .#{$prefix}--slug::before {
@@ -218,14 +218,45 @@
218
218
  inline-size: 80%;
219
219
  }
220
220
 
221
- // Slug styles
221
+ // AILabel styles
222
222
  .#{$prefix}--text-area--fluid
223
- .#{$prefix}--text-area__wrapper--slug:not(
224
- :has(~ .#{$prefix}--slug--revert)
223
+ .#{$prefix}--text-area__wrapper--decorator:has(
224
+ .#{$prefix}--text-area__inner-wrapper--decorator .#{$prefix}--ai-label
225
+ ):not(
226
+ :has(
227
+ .#{$prefix}--text-area__inner-wrapper--decorator
228
+ .#{$prefix}--ai-label--revert
229
+ )
230
+ ),
231
+ .#{$prefix}--text-area--fluid
232
+ .#{$prefix}--text-area__wrapper--slug:has(.#{$prefix}--ai-label):not(
233
+ :has(.#{$prefix}--ai-label--revert)
234
+ ),
235
+ .#{$prefix}--text-area--fluid
236
+ .#{$prefix}--text-area__wrapper--slug:has(.#{$prefix}--slug):not(
237
+ :has(.#{$prefix}--slug--revert)
225
238
  ) {
226
239
  @include ai-gradient;
227
240
  }
228
241
 
242
+ .#{$prefix}--text-area--fluid
243
+ .#{$prefix}--text-area__wrapper--decorator
244
+ .#{$prefix}--text-area--invalid
245
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator
246
+ > *,
247
+ .#{$prefix}--text-area--fluid
248
+ .#{$prefix}--text-area__wrapper--decorator
249
+ .#{$prefix}--text-area--warn
250
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator
251
+ > *,
252
+ .#{$prefix}--text-area--fluid
253
+ .#{$prefix}--text-area__wrapper--slug
254
+ .#{$prefix}--text-area--invalid
255
+ ~ .#{$prefix}--ai-label,
256
+ .#{$prefix}--text-area--fluid
257
+ .#{$prefix}--text-area__wrapper--slug
258
+ .#{$prefix}--text-area--warn
259
+ ~ .#{$prefix}--ai-label,
229
260
  .#{$prefix}--text-area--fluid
230
261
  .#{$prefix}--text-area__wrapper--slug
231
262
  .#{$prefix}--text-area--invalid
@@ -238,6 +269,9 @@
238
269
  }
239
270
 
240
271
  // Remove ai border when invalid
272
+ .#{$prefix}--text-area--fluid
273
+ .#{$prefix}--text-area__wrapper--decorator
274
+ .#{$prefix}--text-area--invalid,
241
275
  .#{$prefix}--text-area--fluid
242
276
  .#{$prefix}--text-area__wrapper--slug
243
277
  .#{$prefix}--text-area--invalid {
@@ -205,13 +205,34 @@
205
205
  inset-inline-start: $spacing-05;
206
206
  }
207
207
 
208
- // Slug styles
208
+ // AILabel styles
209
+ .#{$prefix}--text-input--fluid
210
+ .#{$prefix}--text-input__field-wrapper--decorator
211
+ .#{$prefix}--text-input__field-inner-wrapper--decorator
212
+ > *,
213
+ .#{$prefix}--text-input--fluid
214
+ .#{$prefix}--text-input__field-wrapper--slug
215
+ .#{$prefix}--ai-label,
209
216
  .#{$prefix}--text-input--fluid
210
217
  .#{$prefix}--text-input__field-wrapper--slug
211
218
  .#{$prefix}--slug {
212
219
  inset-block-start: convert.to-rem(42px);
213
220
  }
214
221
 
222
+ .#{$prefix}--text-input--fluid
223
+ .#{$prefix}--text-input--invalid
224
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
225
+ > *,
226
+ .#{$prefix}--text-input--fluid
227
+ .#{$prefix}--text-input--warning
228
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
229
+ > *,
230
+ .#{$prefix}--text-input--fluid
231
+ .#{$prefix}--text-input--invalid
232
+ ~ .#{$prefix}--ai-label,
233
+ .#{$prefix}--text-input--fluid
234
+ .#{$prefix}--text-input--warning
235
+ ~ .#{$prefix}--ai-label,
215
236
  .#{$prefix}--text-input--fluid
216
237
  .#{$prefix}--text-input--invalid
217
238
  ~ .#{$prefix}--slug,
@@ -221,6 +242,15 @@
221
242
  inset-inline-end: $spacing-05;
222
243
  }
223
244
 
245
+ .#{$prefix}--text-input--fluid
246
+ .#{$prefix}--text-input__field-wrapper--decorator
247
+ .#{$prefix}--text-input,
248
+ .#{$prefix}--text-input--fluid
249
+ .#{$prefix}--text-input__field-wrapper--decorator
250
+ .#{$prefix}--text-input--invalid,
251
+ .#{$prefix}--text-input--fluid
252
+ .#{$prefix}--text-input__field-wrapper--decorator
253
+ .#{$prefix}--text-input--warning,
224
254
  .#{$prefix}--text-input--fluid
225
255
  .#{$prefix}--text-input__field-wrapper--slug
226
256
  .#{$prefix}--text-input,