@carbon/styles 1.69.0 → 1.70.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 (39) hide show
  1. package/css/styles.css +693 -111
  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 +39 -2
  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/fluid-time-picker/_fluid-time-picker.scss +6 -0
  19. package/scss/components/list-box/_list-box.scss +136 -2
  20. package/scss/components/modal/_modal.scss +45 -5
  21. package/scss/components/multiselect/_multiselect.scss +1 -1
  22. package/scss/components/number-input/_number-input.scss +67 -3
  23. package/scss/components/radio-button/_radio-button.scss +24 -1
  24. package/scss/components/select/_select.scss +23 -3
  25. package/scss/components/slug/_slug.scss +374 -1
  26. package/scss/components/tag/_tag.scss +26 -1
  27. package/scss/components/text-area/_text-area.scss +54 -2
  28. package/scss/components/text-input/_text-input.scss +56 -2
  29. package/scss/components/tile/_tile.scss +91 -5
  30. package/scss/fonts/__tests__/__snapshots__/fonts-test.js.snap +180 -180
  31. package/scss/fonts/_mono.scss +66 -9
  32. package/scss/fonts/_sans-arabic.scss +17 -8
  33. package/scss/fonts/_sans-devanagari.scss +17 -8
  34. package/scss/fonts/_sans-hebrew.scss +17 -8
  35. package/scss/fonts/_sans-thai-looped.scss +17 -8
  36. package/scss/fonts/_sans-thai.scss +17 -8
  37. package/scss/fonts/_sans.scss +66 -9
  38. package/scss/fonts/_serif.scss +66 -9
  39. package/scss/fonts/_src.scss +39 -12
@@ -51,6 +51,10 @@ $list-box-menu-width: convert.to-rem(300px);
51
51
  @mixin list-box {
52
52
  // The overall container element for a `list-box`. Has two variants,
53
53
  // `disabled` and `inline`.
54
+ .#{$prefix}--list-box__wrapper {
55
+ display: block;
56
+ }
57
+
54
58
  .#{$prefix}--list-box__wrapper--inline {
55
59
  display: inline-grid;
56
60
  align-items: center;
@@ -95,6 +99,10 @@ $list-box-menu-width: convert.to-rem(300px);
95
99
  }
96
100
  }
97
101
 
102
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly.#{$prefix}--list-box {
103
+ cursor: default;
104
+ }
105
+
98
106
  .#{$prefix}--list-box--lg {
99
107
  block-size: convert.to-rem(48px);
100
108
  max-block-size: convert.to-rem(48px);
@@ -885,7 +893,11 @@ $list-box-menu-width: convert.to-rem(300px);
885
893
  text-overflow: ellipsis;
886
894
  }
887
895
 
888
- // Slug styles
896
+ // AILabel styles
897
+ .#{$prefix}--list-box__wrapper--decorator
898
+ .#{$prefix}--list-box__inner-wrapper--decorator
899
+ > *,
900
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label,
889
901
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug {
890
902
  position: absolute;
891
903
  inset-block-start: 50%;
@@ -894,6 +906,14 @@ $list-box-menu-width: convert.to-rem(300px);
894
906
  transform: translateY(-50%);
895
907
  }
896
908
 
909
+ .#{$prefix}--list-box__wrapper--decorator
910
+ .#{$prefix}--list-box__inner-wrapper--decorator
911
+ > *::after,
912
+ .#{$prefix}--list-box__wrapper--decorator
913
+ .#{$prefix}--list-box__inner-wrapper--decorator
914
+ > *::before,
915
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label::after,
916
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label::before,
897
917
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug::after,
898
918
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug::before {
899
919
  position: absolute;
@@ -903,42 +923,89 @@ $list-box-menu-width: convert.to-rem(300px);
903
923
  inline-size: convert.to-rem(1px);
904
924
  }
905
925
 
926
+ .#{$prefix}--list-box__wrapper--decorator
927
+ .#{$prefix}--list-box__inner-wrapper--decorator
928
+ > *::before,
929
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label::before,
906
930
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug::before {
907
931
  display: none;
908
932
  inset-inline-start: convert.to-rem(-9px);
909
933
  }
910
934
 
935
+ .#{$prefix}--list-box__wrapper--decorator
936
+ .#{$prefix}--list-box__inner-wrapper--decorator
937
+ > *::after,
938
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label::after,
911
939
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug::after {
912
940
  display: block;
941
+ inset-block-start: 0;
913
942
  inset-inline-end: convert.to-rem(-9px);
914
943
  }
915
944
 
945
+ .#{$prefix}--list-box__wrapper--decorator
946
+ .#{$prefix}--list-box__inner-wrapper--decorator
947
+ .#{$prefix}--ai-label--revert::after,
948
+ .#{$prefix}--list-box__wrapper--slug .#{$prefix}--ai-label--revert::after,
916
949
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--slug--revert::after {
917
950
  inset-block-start: convert.to-rem(8px);
918
951
  inset-inline-end: convert.to-rem(-1px);
919
952
  }
920
953
 
954
+ .#{$prefix}--list-box__wrapper--decorator
955
+ .#{$prefix}--list-box:has(
956
+ .#{$prefix}--list-box__inner-wrapper--decorator .#{$prefix}--ai-label
957
+ ):not(
958
+ :has(
959
+ .#{$prefix}--list-box__inner-wrapper--decorator
960
+ .#{$prefix}--ai-label--revert
961
+ )
962
+ ),
963
+ .#{$prefix}--list-box__wrapper--slug
964
+ .#{$prefix}--list-box:has(.#{$prefix}--ai-label):not(
965
+ :has(.#{$prefix}--ai-label--revert)
966
+ ),
921
967
  .#{$prefix}--list-box__wrapper--slug
922
- .#{$prefix}--list-box:not(:has(.#{$prefix}--slug--revert)) {
968
+ .#{$prefix}--list-box:has(.#{$prefix}--slug):not(
969
+ :has(.#{$prefix}--slug--revert)
970
+ ) {
923
971
  @include ai-gradient;
924
972
  }
925
973
 
974
+ .#{$prefix}--list-box__wrapper--decorator
975
+ .#{$prefix}--list-box
976
+ input[role='combobox'],
926
977
  .#{$prefix}--list-box__wrapper--slug
927
978
  .#{$prefix}--list-box
928
979
  input[role='combobox'] {
929
980
  border-block-end-color: transparent;
930
981
  }
931
982
 
983
+ .#{$prefix}--list-box__wrapper--decorator .#{$prefix}--list-box__field,
984
+ .#{$prefix}--list-box__wrapper--decorator .#{$prefix}--text-input--empty,
932
985
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--list-box__field,
933
986
  .#{$prefix}--list-box__wrapper--slug .#{$prefix}--text-input--empty {
934
987
  padding-inline-end: $spacing-10;
935
988
  }
936
989
 
990
+ .#{$prefix}--list-box__wrapper--decorator
991
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
937
992
  .#{$prefix}--list-box__wrapper--slug
938
993
  .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty) {
939
994
  padding-inline-end: $spacing-12;
940
995
  }
941
996
 
997
+ .#{$prefix}--list-box__wrapper--decorator
998
+ .#{$prefix}--list-box--invalid[data-invalid]
999
+ .#{$prefix}--text-input--empty,
1000
+ .#{$prefix}--list-box__wrapper--decorator
1001
+ .#{$prefix}--list-box--invalid[data-invalid]
1002
+ .#{$prefix}--list-box__field,
1003
+ .#{$prefix}--list-box__wrapper--decorator
1004
+ .#{$prefix}--list-box--warning
1005
+ .#{$prefix}--text-input--empty,
1006
+ .#{$prefix}--list-box__wrapper--decorator
1007
+ .#{$prefix}--list-box--warning
1008
+ .#{$prefix}--list-box__field,
942
1009
  .#{$prefix}--list-box__wrapper--slug
943
1010
  .#{$prefix}--list-box--invalid[data-invalid]
944
1011
  .#{$prefix}--text-input--empty,
@@ -954,6 +1021,12 @@ $list-box-menu-width: convert.to-rem(300px);
954
1021
  padding-inline-end: $spacing-12;
955
1022
  }
956
1023
 
1024
+ .#{$prefix}--list-box__wrapper--decorator
1025
+ .#{$prefix}--list-box--invalid[data-invalid]
1026
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
1027
+ .#{$prefix}--list-box__wrapper--decorator
1028
+ .#{$prefix}--list-box--warning
1029
+ .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
957
1030
  .#{$prefix}--list-box__wrapper--slug
958
1031
  .#{$prefix}--list-box--invalid[data-invalid]
959
1032
  .#{$prefix}--text-input:not(.#{$prefix}--text-input--empty),
@@ -963,6 +1036,16 @@ $list-box-menu-width: convert.to-rem(300px);
963
1036
  padding-inline-end: convert.to-rem(141px);
964
1037
  }
965
1038
 
1039
+ .#{$prefix}--list-box__wrapper--decorator
1040
+ .#{$prefix}--list-box--invalid[data-invalid]
1041
+ .#{$prefix}--text-input--empty
1042
+ + .#{$prefix}--list-box__invalid-icon,
1043
+ .#{$prefix}--list-box__wrapper--decorator
1044
+ .#{$prefix}--list-box--invalid[data-invalid]
1045
+ .#{$prefix}--list-box__invalid-icon,
1046
+ .#{$prefix}--list-box__wrapper--decorator
1047
+ .#{$prefix}--list-box--warning
1048
+ .#{$prefix}--list-box__invalid-icon.#{$prefix}--list-box__invalid-icon--warning,
966
1049
  .#{$prefix}--list-box__wrapper--slug
967
1050
  .#{$prefix}--list-box--invalid[data-invalid]
968
1051
  .#{$prefix}--text-input--empty
@@ -976,6 +1059,24 @@ $list-box-menu-width: convert.to-rem(300px);
976
1059
  inset-inline-end: convert.to-rem(83px);
977
1060
  }
978
1061
 
1062
+ .#{$prefix}--list-box__wrapper--decorator
1063
+ .#{$prefix}--list-box--invalid[data-invalid]
1064
+ > *::before,
1065
+ .#{$prefix}--list-box__wrapper--decorator
1066
+ .#{$prefix}--list-box--warning
1067
+ > *::before,
1068
+ .#{$prefix}--list-box__wrapper--slug
1069
+ .#{$prefix}--list-box--invalid[data-invalid]
1070
+ .#{$prefix}--ai-label::before,
1071
+ .#{$prefix}--list-box__wrapper--slug
1072
+ .#{$prefix}--list-box--warning
1073
+ .#{$prefix}--ai-label::before,
1074
+ .#{$prefix}--list-box__wrapper--slug
1075
+ .#{$prefix}--list-box--invalid[data-invalid]
1076
+ .#{$prefix}--ai-label::before,
1077
+ .#{$prefix}--list-box__wrapper--slug
1078
+ .#{$prefix}--list-box--warning
1079
+ .#{$prefix}--ai-label::before,
979
1080
  .#{$prefix}--list-box__wrapper--slug
980
1081
  .#{$prefix}--list-box--invalid[data-invalid]
981
1082
  .#{$prefix}--slug::before,
@@ -985,6 +1086,27 @@ $list-box-menu-width: convert.to-rem(300px);
985
1086
  display: block;
986
1087
  }
987
1088
 
1089
+ .#{$prefix}--list-box__wrapper--decorator
1090
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1091
+ ~ .#{$prefix}--ai-label,
1092
+ .#{$prefix}--list-box__wrapper--decorator
1093
+ .#{$prefix}--list-box--warning
1094
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1095
+ ~ .#{$prefix}--ai-label,
1096
+ .#{$prefix}--list-box__wrapper--slug
1097
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1098
+ ~ .#{$prefix}--ai-label,
1099
+ .#{$prefix}--list-box__wrapper--slug
1100
+ .#{$prefix}--list-box--warning
1101
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1102
+ ~ .#{$prefix}--ai-label,
1103
+ .#{$prefix}--list-box__wrapper--slug
1104
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1105
+ ~ .#{$prefix}--ai-label,
1106
+ .#{$prefix}--list-box__wrapper--slug
1107
+ .#{$prefix}--list-box--warning
1108
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1109
+ ~ .#{$prefix}--ai-label,
988
1110
  .#{$prefix}--list-box__wrapper--slug
989
1111
  .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
990
1112
  ~ .#{$prefix}--slug,
@@ -995,6 +1117,14 @@ $list-box-menu-width: convert.to-rem(300px);
995
1117
  inset-inline-end: calc($spacing-10 + 18px);
996
1118
  }
997
1119
 
1120
+ .#{$prefix}--list-box__wrapper--decorator
1121
+ .#{$prefix}--list-box--invalid
1122
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1123
+ .#{$prefix}--list-box__invalid-icon,
1124
+ .#{$prefix}--list-box__wrapper--decorator
1125
+ .#{$prefix}--list-box--warning
1126
+ .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
1127
+ .#{$prefix}--list-box__invalid-icon,
998
1128
  .#{$prefix}--list-box__wrapper--slug
999
1129
  .#{$prefix}--list-box--invalid
1000
1130
  .#{$prefix}--list-box__field:has(.#{$prefix}--list-box__selection)
@@ -1049,11 +1179,15 @@ $list-box-menu-width: convert.to-rem(300px);
1049
1179
  }
1050
1180
  }
1051
1181
 
1182
+ .#{$prefix}--list-box__wrapper--decorator:has(.#{$prefix}--multi-select)
1183
+ .#{$prefix}--list-box__menu-icon,
1052
1184
  .#{$prefix}--list-box__wrapper--slug:has(.#{$prefix}--multi-select)
1053
1185
  .#{$prefix}--list-box__menu-icon {
1054
1186
  inset-inline-end: $spacing-04;
1055
1187
  }
1056
1188
 
1189
+ .#{$prefix}--list-box__wrapper--decorator:has(.#{$prefix}--dropdown)
1190
+ .#{$prefix}--list-box__menu-icon,
1057
1191
  .#{$prefix}--list-box__wrapper--slug:has(.#{$prefix}--dropdown)
1058
1192
  .#{$prefix}--list-box__menu-icon {
1059
1193
  inset-inline-end: $spacing-04;
@@ -365,12 +365,15 @@
365
365
  margin: 0;
366
366
  }
367
367
 
368
- // Slug styles
369
- .#{$prefix}--modal--slug.#{$prefix}--modal {
368
+ // AIlabel styles
369
+ .#{$prefix}--modal--slug.#{$prefix}--modal,
370
+ .#{$prefix}--modal--decorator:has(.#{$prefix}--ai-label).#{$prefix}--modal {
370
371
  background-color: $ai-overlay;
371
372
  }
372
373
 
373
- .#{$prefix}--modal--slug .#{$prefix}--modal-container {
374
+ .#{$prefix}--modal--slug .#{$prefix}--modal-container,
375
+ .#{$prefix}--modal--decorator:has(.#{$prefix}--ai-label)
376
+ .#{$prefix}--modal-container {
374
377
  @include ai-popover-gradient('default', 0, 'layer');
375
378
 
376
379
  border: 1px solid transparent;
@@ -381,6 +384,8 @@
381
384
  }
382
385
 
383
386
  .#{$prefix}--modal--slug
387
+ .#{$prefix}--modal-container:has(.#{$prefix}--modal-footer),
388
+ .#{$prefix}--modal--decorator:has(.#{$prefix}--ai-label)
384
389
  .#{$prefix}--modal-container:has(.#{$prefix}--modal-footer) {
385
390
  @include ai-popover-gradient('default', 64px, 'layer');
386
391
 
@@ -391,6 +396,8 @@
391
396
  }
392
397
 
393
398
  .#{$prefix}--modal--slug
399
+ .#{$prefix}--modal-content.#{$prefix}--modal-scroll-content,
400
+ .#{$prefix}--modal--decorator
394
401
  .#{$prefix}--modal-content.#{$prefix}--modal-scroll-content {
395
402
  mask-image: linear-gradient(
396
403
  to bottom,
@@ -403,6 +410,27 @@
403
410
  linear-gradient(to top, $layer 0, 2px, transparent 2px);
404
411
  }
405
412
 
413
+ .#{$prefix}--modal-header
414
+ > .#{$prefix}--modal--inner__decorator:has(
415
+ + .#{$prefix}--modal-close-button
416
+ )
417
+ > *,
418
+ .#{$prefix}--modal-header
419
+ > .#{$prefix}--modal-close-button
420
+ ~ .#{$prefix}--modal--inner__decorator
421
+ > *,
422
+ .#{$prefix}--modal--decorator
423
+ .#{$prefix}--modal-container-body
424
+ > .#{$prefix}--modal--inner__decorator
425
+ > *,
426
+ .#{$prefix}--modal-header
427
+ > .#{$prefix}--ai-label:has(+ .#{$prefix}--modal-close-button),
428
+ .#{$prefix}--modal-header
429
+ > .#{$prefix}--modal-close-button
430
+ ~ .#{$prefix}--ai-label,
431
+ .#{$prefix}--modal--slug
432
+ .#{$prefix}--modal-container-body
433
+ > .#{$prefix}--ai-label,
406
434
  .#{$prefix}--modal-header
407
435
  > .#{$prefix}--slug:has(+ .#{$prefix}--modal-close-button),
408
436
  .#{$prefix}--modal-header
@@ -416,9 +444,21 @@
416
444
  inset-inline-end: convert.to-rem(48px);
417
445
  }
418
446
 
419
- .#{$prefix}--modal--slug
447
+ .#{$prefix}--modal-header
448
+ > .#{$prefix}--modal--inner__decorator:not(:has(.#{$prefix}--ai-label))
449
+ > * {
450
+ inset-block-start: 1rem;
451
+ }
452
+
453
+ .#{$prefix}--modal-header
454
+ > .#{$prefix}--modal--inner__decorator:has(.#{$prefix}--ai-label--revert)
455
+ > * {
456
+ inset-block-start: 1.475rem;
457
+ }
458
+
459
+ .#{$prefix}--modal--decorator
420
460
  .#{$prefix}--modal-content--overflow-indicator::before,
421
- .#{$prefix}--modal--slug .#{$prefix}--modal-content--overflow-indicator {
461
+ .#{$prefix}--modal--decorator .#{$prefix}--modal-content--overflow-indicator {
422
462
  display: none;
423
463
  }
424
464
 
@@ -201,7 +201,7 @@
201
201
 
202
202
  .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
203
203
  .#{$prefix}--tag--filter {
204
- box-shadow: 0 0 0 1px $background-inverse;
204
+ box-shadow: 0 0 0 1px $border-subtle;
205
205
  }
206
206
 
207
207
  .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
@@ -426,7 +426,11 @@
426
426
  background-color: $border-subtle;
427
427
  }
428
428
 
429
- // Styles for `Slug` rendered inside `NumberInput`
429
+ // Styles for `AILabel` rendered inside `NumberInput`
430
+ .#{$prefix}--number__input-wrapper--decorator
431
+ .#{$prefix}--number__input-inner-wrapper--decorator
432
+ > *,
433
+ .#{$prefix}--number__input-wrapper--slug .#{$prefix}--ai-label,
430
434
  .#{$prefix}--number__input-wrapper--slug .#{$prefix}--slug {
431
435
  position: absolute;
432
436
  inset-block-start: 50%;
@@ -434,6 +438,22 @@
434
438
  transform: translateY(-50%);
435
439
  }
436
440
 
441
+ .#{$prefix}--number__input-wrapper--decorator
442
+ .#{$prefix}--number__input-inner-wrapper--decorator:not(
443
+ :has(.#{$prefix}--ai-label)
444
+ )
445
+ > * {
446
+ block-size: 1rem;
447
+ }
448
+
449
+ .#{$prefix}--number__input-wrapper--decorator
450
+ .#{$prefix}--number__input-inner-wrapper--decorator
451
+ > *::before,
452
+ .#{$prefix}--number__input-wrapper--decorator
453
+ .#{$prefix}--number__control-btn::before,
454
+ .#{$prefix}--number__input-wrapper--decorator
455
+ .#{$prefix}--number__control-btn::after,
456
+ .#{$prefix}--number__input-wrapper--slug .#{$prefix}--ai-label::before,
437
457
  .#{$prefix}--number__input-wrapper--slug .#{$prefix}--slug::before,
438
458
  .#{$prefix}--number__input-wrapper--slug
439
459
  .#{$prefix}--number__control-btn::before,
@@ -445,7 +465,10 @@
445
465
  content: '';
446
466
  inline-size: convert.to-rem(1px);
447
467
  }
448
-
468
+ .#{$prefix}--number__input-wrapper--decorator
469
+ .#{$prefix}--number__input-inner-wrapper--decorator
470
+ > *::before,
471
+ .#{$prefix}--number__input-wrapper--slug .#{$prefix}--ai-label::before,
449
472
  .#{$prefix}--number__input-wrapper--slug .#{$prefix}--slug::before {
450
473
  display: none;
451
474
  inset-inline-start: convert.to-rem(-16px);
@@ -456,12 +479,16 @@
456
479
  inset-inline-end: 0;
457
480
  }
458
481
 
482
+ .#{$prefix}--number__input-wrapper--decorator
483
+ .#{$prefix}--number__control-btn::before,
459
484
  .#{$prefix}--number__input-wrapper--slug
460
485
  .#{$prefix}--number__control-btn::before {
461
486
  display: block;
462
487
  inset-inline-end: $spacing-08;
463
488
  }
464
489
 
490
+ .#{$prefix}--number__input-wrapper--decorator
491
+ .#{$prefix}--number__control-btn:focus::before,
465
492
  .#{$prefix}--number__input-wrapper--slug
466
493
  .#{$prefix}--number__control-btn:focus::before {
467
494
  display: none;
@@ -473,6 +500,8 @@
473
500
  inset-inline-end: 0;
474
501
  }
475
502
 
503
+ .#{$prefix}--number__input-wrapper:has(.#{$prefix}--number__control-btn:hover)
504
+ ~ .#{$prefix}--number__input-wrapper--decorator::after,
476
505
  .#{$prefix}--number__input-wrapper:has(.#{$prefix}--number__control-btn:hover)
477
506
  ~ .#{$prefix}--number__input-wrapper--slug::after {
478
507
  display: none;
@@ -483,15 +512,31 @@
483
512
  display: none;
484
513
  }
485
514
 
515
+ .#{$prefix}--number__input-wrapper--decorator .#{$prefix}--number__invalid,
486
516
  .#{$prefix}--number__input-wrapper--slug .#{$prefix}--number__invalid {
487
517
  inset-inline-end: $spacing-13 - $spacing-05;
488
518
  }
489
519
 
520
+ .#{$prefix}--number__input-wrapper--decorator:has(
521
+ .#{$prefix}--number__invalid
522
+ )
523
+ .#{$prefix}--number__input-inner-wrapper--decorator
524
+ > *::before,
525
+ .#{$prefix}--number__input-wrapper--slug:has(.#{$prefix}--number__invalid)
526
+ .#{$prefix}--ai-label::before,
527
+ .#{$prefix}--number__input-wrapper--slug:has(.#{$prefix}--number__invalid)
528
+ .#{$prefix}--ai-label::before,
490
529
  .#{$prefix}--number__input-wrapper--slug:has(.#{$prefix}--number__invalid)
491
530
  .#{$prefix}--slug::before {
492
531
  display: block;
493
532
  }
494
533
 
534
+ .#{$prefix}--number
535
+ .#{$prefix}--number__input-wrapper--decorator
536
+ input[data-invalid],
537
+ .#{$prefix}--number
538
+ .#{$prefix}--number__input-wrapper--decorator.#{$prefix}--number__input-wrapper--warning
539
+ input,
495
540
  .#{$prefix}--number
496
541
  .#{$prefix}--number__input-wrapper--slug
497
542
  input[data-invalid],
@@ -501,8 +546,24 @@
501
546
  padding-inline-end: convert.to-rem(144px);
502
547
  }
503
548
 
549
+ .#{$prefix}--number__input-wrapper--decorator
550
+ input[type='number']:has(
551
+ ~ .#{$prefix}--number__input-inner-wrapper--decorator
552
+ .#{$prefix}--ai-label
553
+ ):not(
554
+ :has(
555
+ ~ .#{$prefix}--number__input-inner-wrapper--decorator
556
+ .#{$prefix}--ai-label--revert
557
+ )
558
+ ),
559
+ .#{$prefix}--number__input-wrapper--slug
560
+ input[type='number']:has(~ .#{$prefix}--ai-label):not(
561
+ :has(~ .#{$prefix}--ai-label--revert)
562
+ ),
504
563
  .#{$prefix}--number__input-wrapper--slug
505
- input[type='number']:not(:has(~ .#{$prefix}--slug--revert)),
564
+ input[type='number']:has(~ .#{$prefix}--slug):not(
565
+ :has(~ .#{$prefix}--slug--revert)
566
+ ),
506
567
  .#{$prefix}--number__input-wrapper--slug input[type='number']:disabled {
507
568
  @include ai-gradient;
508
569
 
@@ -553,10 +614,13 @@
553
614
  display: none;
554
615
  }
555
616
 
617
+ .#{$prefix}--number__input-wrapper--decorator .#{$prefix}--number__rule-divider,
556
618
  .#{$prefix}--number__input-wrapper--slug .#{$prefix}--number__rule-divider {
557
619
  display: none;
558
620
  }
559
621
 
622
+ .#{$prefix}--number__input-wrapper--decorator
623
+ .#{$prefix}--number__control-btn:hover,
560
624
  .#{$prefix}--number__input-wrapper--slug
561
625
  .#{$prefix}--number__control-btn:hover {
562
626
  box-shadow: 0 -1px 0 $ai-border-strong inset;
@@ -288,13 +288,30 @@ $radio-border-width: 1px !default;
288
288
  margin-inline: $spacing-03 0;
289
289
  }
290
290
 
291
- // Slug styles
291
+ // AILabel styles
292
+ .#{$prefix}--radio-button-group--decorator legend.#{$prefix}--label,
293
+ .#{$prefix}--radio-button-wrapper--decorator
294
+ .#{$prefix}--radio-button__label-text,
292
295
  .#{$prefix}--radio-button-group--slug legend.#{$prefix}--label,
293
296
  .#{$prefix}--radio-button-wrapper--slug
294
297
  .#{$prefix}--radio-button__label-text {
295
298
  display: flex;
296
299
  }
297
300
 
301
+ .#{$prefix}--radio-button-group--decorator
302
+ legend.#{$prefix}--label
303
+ .#{$prefix}--radio-button-group-inner--decorator
304
+ > *,
305
+ .#{$prefix}--radio-button-wrapper--decorator
306
+ .#{$prefix}--radio-button__label-text
307
+ .#{$prefix}--radio-button-wrapper-inner--decorator
308
+ > *,
309
+ .#{$prefix}--radio-button-group--slug
310
+ legend.#{$prefix}--label
311
+ .#{$prefix}--ai-label,
312
+ .#{$prefix}--radio-button-wrapper--slug
313
+ .#{$prefix}--radio-button__label-text
314
+ .#{$prefix}--ai-label,
298
315
  .#{$prefix}--radio-button-group--slug
299
316
  legend.#{$prefix}--label
300
317
  .#{$prefix}--slug,
@@ -304,6 +321,12 @@ $radio-border-width: 1px !default;
304
321
  margin-inline-start: $spacing-03;
305
322
  }
306
323
 
324
+ .#{$prefix}--radio-button-wrapper--decorator
325
+ .#{$prefix}--radio-button__label-text
326
+ .#{$prefix}--ai-label__button--inline,
327
+ .#{$prefix}--radio-button-wrapper--slug
328
+ .#{$prefix}--radio-button__label-text
329
+ .#{$prefix}--ai-label__button--inline,
307
330
  .#{$prefix}--radio-button-wrapper--slug
308
331
  .#{$prefix}--radio-button__label-text
309
332
  .#{$prefix}--slug__button--inline {
@@ -279,10 +279,11 @@
279
279
  display: none;
280
280
  }
281
281
 
282
- // Slug styles
282
+ // AILabel styles
283
283
 
284
284
  $divider-width: 1px;
285
285
 
286
+ .#{$prefix}--select--slug .#{$prefix}--ai-label,
286
287
  .#{$prefix}--select--slug .#{$prefix}--slug {
287
288
  position: absolute;
288
289
  inset-block-start: 50%;
@@ -291,6 +292,8 @@
291
292
  transform: translateY(-50%);
292
293
  }
293
294
 
295
+ .#{$prefix}--select--slug .#{$prefix}--ai-label::after,
296
+ .#{$prefix}--select--slug .#{$prefix}--ai-label::before,
294
297
  .#{$prefix}--select--slug .#{$prefix}--slug::after,
295
298
  .#{$prefix}--select--slug .#{$prefix}--slug::before {
296
299
  position: absolute;
@@ -300,33 +303,50 @@
300
303
  inline-size: convert.to-rem(1px);
301
304
  }
302
305
 
306
+ .#{$prefix}--select--slug .#{$prefix}--ai-label::before,
303
307
  .#{$prefix}--select--slug .#{$prefix}--slug::before {
304
308
  display: none;
305
309
  inset-inline-start: calc(-#{$spacing-03} - #{$divider-width});
306
310
  }
307
311
 
312
+ .#{$prefix}--select--slug .#{$prefix}--ai-label::after,
308
313
  .#{$prefix}--select--slug .#{$prefix}--slug::after {
309
314
  display: block;
310
315
  inset-inline-end: calc(-#{$spacing-03} - #{$divider-width});
311
316
  }
312
317
 
318
+ .#{$prefix}--select--slug .#{$prefix}--ai-label--revert::after,
313
319
  .#{$prefix}--select--slug .#{$prefix}--slug--revert::after {
314
320
  inset-block-start: convert.to-rem(8px);
315
321
  inset-inline-end: convert.to-rem(-1px);
316
322
  }
317
323
 
318
324
  .#{$prefix}--select--slug
319
- .#{$prefix}--select-input:not(:has(~ .#{$prefix}--slug--revert)) {
325
+ .#{$prefix}--select-input:has(~ .#{$prefix}--ai-label):not(
326
+ :has(~ .#{$prefix}--ai-label--revert)
327
+ ),
328
+ .#{$prefix}--select--slug
329
+ .#{$prefix}--select-input:has(~ .#{$prefix}--slug):not(
330
+ :has(~ .#{$prefix}--slug--revert)
331
+ ) {
320
332
  @include ai-gradient;
321
333
 
322
334
  padding-inline-end: $spacing-10;
323
335
  }
324
336
 
325
337
  .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
326
- .#{$prefix}--select-input:not(:has(~ .#{$prefix}--slug--revert)) {
338
+ .#{$prefix}--select-input:has(~ .#{$prefix}--ai-label):not(
339
+ :has(~ .#{$prefix}--ai-label--revert)
340
+ ),
341
+ .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
342
+ .#{$prefix}--select-input:has(~ .#{$prefix}--slug):not(
343
+ :has(~ .#{$prefix}--slug--revert)
344
+ ) {
327
345
  padding-inline-end: $spacing-12;
328
346
  }
329
347
 
348
+ .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
349
+ .#{$prefix}--ai-label::before,
330
350
  .#{$prefix}--select--slug:has(.#{$prefix}--select__invalid-icon)
331
351
  .#{$prefix}--slug::before {
332
352
  display: block;