@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
@@ -128,13 +128,21 @@
128
128
  border-block-end-color: $border-subtle;
129
129
  }
130
130
 
131
- // Styles for `Slug` rendered inside `TextArea`
131
+ // Styles for `AILabel` rendered inside `TextArea`
132
+ .#{$prefix}--text-area__wrapper--decorator
133
+ .#{$prefix}--text-area__inner-wrapper--decorator
134
+ > *,
135
+ .#{$prefix}--text-area__wrapper--slug .#{$prefix}--ai-label,
132
136
  .#{$prefix}--text-area__wrapper--slug .#{$prefix}--slug {
133
137
  position: absolute;
134
138
  inset-block-start: $spacing-04;
135
139
  inset-inline-end: $spacing-05;
136
140
  }
137
141
 
142
+ .#{$prefix}--text-area__wrapper--decorator
143
+ .#{$prefix}--ai-label.#{$prefix}--ai-label--revert,
144
+ .#{$prefix}--text-area__wrapper--slug
145
+ .#{$prefix}--ai-label.#{$prefix}--ai-label--revert,
138
146
  .#{$prefix}--text-area__wrapper--slug
139
147
  .#{$prefix}--slug.#{$prefix}--slug--revert {
140
148
  inset-block-start: $spacing-02;
@@ -142,23 +150,67 @@
142
150
  transform: translate(0);
143
151
  }
144
152
 
153
+ .#{$prefix}--text-area__wrapper--decorator
154
+ .#{$prefix}--text-area:has(
155
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator .#{$prefix}--ai-label
156
+ ):not(
157
+ :has(
158
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator
159
+ .#{$prefix}--ai-label--revert
160
+ )
161
+ ),
162
+ .#{$prefix}--text-area__wrapper--slug
163
+ .#{$prefix}--text-area:has(~ .#{$prefix}--ai-label):not(
164
+ :has(~ .#{$prefix}--ai-label--revert)
165
+ ),
145
166
  .#{$prefix}--text-area__wrapper--slug
146
- .#{$prefix}--text-area:not(:has(~ .#{$prefix}--slug--revert)) {
167
+ .#{$prefix}--text-area:has(~ .#{$prefix}--slug):not(
168
+ :has(~ .#{$prefix}--slug--revert)
169
+ ) {
147
170
  @include ai-gradient;
171
+ }
148
172
 
173
+ .#{$prefix}--text-area__wrapper--decorator
174
+ .#{$prefix}--text-area:has(
175
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator > *
176
+ ),
177
+ .#{$prefix}--text-area__wrapper--slug
178
+ .#{$prefix}--text-area:has(~ .#{$prefix}--ai-label),
179
+ .#{$prefix}--text-area__wrapper--slug
180
+ .#{$prefix}--text-area:has(~ .#{$prefix}--slug) {
149
181
  padding-inline-end: $spacing-08;
150
182
  }
151
183
 
184
+ .#{$prefix}--text-area--invalid:has(
185
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator > *
186
+ ),
187
+ .#{$prefix}--text-area--warn:has(
188
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator > *
189
+ ),
190
+ .#{$prefix}--text-area--invalid:has(~ .#{$prefix}--ai-label),
191
+ .#{$prefix}--text-area--warn:has(~ .#{$prefix}--ai-label),
152
192
  .#{$prefix}--text-area--invalid:has(~ .#{$prefix}--slug),
153
193
  .#{$prefix}--text-area--warn:has(~ .#{$prefix}--slug) {
154
194
  padding-inline-end: $spacing-10;
155
195
  }
156
196
 
197
+ .#{$prefix}--text-area--invalid
198
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator
199
+ > *,
200
+ .#{$prefix}--text-area--warn
201
+ ~ .#{$prefix}--text-area__inner-wrapper--decorator
202
+ > *,
203
+ .#{$prefix}--text-area--invalid ~ .#{$prefix}--ai-label,
204
+ .#{$prefix}--text-area--warn ~ .#{$prefix}--ai-label,
157
205
  .#{$prefix}--text-area--invalid ~ .#{$prefix}--slug,
158
206
  .#{$prefix}--text-area--warn ~ .#{$prefix}--slug {
159
207
  inset-inline-end: $spacing-08;
160
208
  }
161
209
 
210
+ .#{$prefix}--text-area--invalid
211
+ ~ .#{$prefix}--ai-label.#{$prefix}--ai-label--revert,
212
+ .#{$prefix}--text-area--warn
213
+ ~ .#{$prefix}--ai-label.#{$prefix}--ai-label--revert,
162
214
  .#{$prefix}--text-area--invalid ~ .#{$prefix}--slug.#{$prefix}--slug--revert,
163
215
  .#{$prefix}--text-area--warn ~ .#{$prefix}--slug.#{$prefix}--slug--revert {
164
216
  inset-inline-end: $spacing-07;
@@ -443,7 +443,11 @@
443
443
  border-block-end-color: $border-subtle;
444
444
  }
445
445
 
446
- // Styles for Slug rendered inside TextInput
446
+ // Styles for AILabel rendered inside TextInput
447
+ .#{$prefix}--text-input__field-wrapper--decorator
448
+ .#{$prefix}--text-input__field-inner-wrapper--decorator
449
+ > *,
450
+ .#{$prefix}--text-input__field-wrapper .#{$prefix}--ai-label,
447
451
  .#{$prefix}--text-input__field-wrapper .#{$prefix}--slug {
448
452
  position: absolute;
449
453
  inset-block-start: 50%;
@@ -451,23 +455,73 @@
451
455
  transform: translateY(-50%);
452
456
  }
453
457
 
458
+ .#{$prefix}--text-input__field-wrapper--decorator
459
+ .#{$prefix}--text-input:has(
460
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
461
+ .#{$prefix}--ai-label
462
+ ):not(
463
+ :has(
464
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
465
+ .#{$prefix}--ai-label--revert
466
+ )
467
+ ),
454
468
  .#{$prefix}--text-input__field-wrapper--slug
455
- .#{$prefix}--text-input:not(:has(~ .#{$prefix}--slug--revert)) {
469
+ .#{$prefix}--text-input:has(~ .#{$prefix}--ai-label):not(
470
+ :has(~ .#{$prefix}--ai-label--revert)
471
+ ),
472
+ .#{$prefix}--text-input__field-wrapper--slug
473
+ .#{$prefix}--text-input:has(~ .#{$prefix}--slug):not(
474
+ :has(~ .#{$prefix}--slug--revert)
475
+ ) {
456
476
  @include ai-gradient;
477
+ }
457
478
 
479
+ .#{$prefix}--text-input__field-wrapper--decorator
480
+ .#{$prefix}--text-input:has(
481
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator > *
482
+ ),
483
+ .#{$prefix}--text-input__field-wrapper--slug
484
+ .#{$prefix}--text-input:has(~ .#{$prefix}--ai-label),
485
+ .#{$prefix}--text-input__field-wrapper--slug
486
+ .#{$prefix}--text-input:has(~ .#{$prefix}--slug) {
458
487
  padding-inline-end: $spacing-08;
459
488
  }
460
489
 
490
+ .#{$prefix}--text-input--invalid:has(
491
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator > *
492
+ ),
493
+ .#{$prefix}--text-input--warning:has(
494
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator > *
495
+ ),
496
+ .#{$prefix}--text-input--invalid:has(~ .#{$prefix}--ai-label),
497
+ .#{$prefix}--text-input--warning:has(~ .#{$prefix}--ai-label),
461
498
  .#{$prefix}--text-input--invalid:has(~ .#{$prefix}--slug),
462
499
  .#{$prefix}--text-input--warning:has(~ .#{$prefix}--slug) {
463
500
  padding-inline-end: $spacing-10;
464
501
  }
465
502
 
503
+ .#{$prefix}--text-input--invalid
504
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
505
+ > *,
506
+ .#{$prefix}--text-input--warning
507
+ ~ .#{$prefix}--text-input__field-inner-wrapper--decorator
508
+ > *,
509
+ .#{$prefix}--text-input--invalid ~ .#{$prefix}--ai-label,
510
+ .#{$prefix}--text-input--warning ~ .#{$prefix}--ai-label,
466
511
  .#{$prefix}--text-input--invalid ~ .#{$prefix}--slug,
467
512
  .#{$prefix}--text-input--warning ~ .#{$prefix}--slug {
468
513
  inset-inline-end: $spacing-08;
469
514
  }
470
515
 
516
+ // Decorator
517
+ .#{$prefix}--text-input__field-wrapper--decorator
518
+ .#{$prefix}--text-input__field-inner-wrapper--decorator:not(
519
+ :has(.#{$prefix}--ai-label)
520
+ )
521
+ > * {
522
+ block-size: 1rem;
523
+ }
524
+
471
525
  // Windows HCM fix
472
526
  .#{$prefix}--btn.#{$prefix}--btn--icon-only.#{$prefix}--text-input--password__visibility__toggle.#{$prefix}--tooltip__trigger
473
527
  svg,
@@ -387,7 +387,9 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
387
387
  fill: $icon-disabled;
388
388
  }
389
389
 
390
- // Slug styles
390
+ // AILabel styles
391
+ .#{$prefix}--tile > .#{$prefix}--ai-label,
392
+ .#{$prefix}--tile--expandable > div > .#{$prefix}--ai-label,
391
393
  .#{$prefix}--tile > .#{$prefix}--slug,
392
394
  .#{$prefix}--tile--expandable > div > .#{$prefix}--slug,
393
395
  .#{$prefix}--tile--clickable .#{$prefix}--tile--slug-icon {
@@ -396,10 +398,13 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
396
398
  inset-inline-end: $spacing-05;
397
399
  }
398
400
 
401
+ .#{$prefix}--tile.#{$prefix}--tile--selectable > .#{$prefix}--ai-label,
399
402
  .#{$prefix}--tile.#{$prefix}--tile--selectable > .#{$prefix}--slug {
400
403
  inset-inline-end: $spacing-08;
401
404
  }
402
405
 
406
+ .#{$prefix}--tile.#{$prefix}--tile--selectable.#{$prefix}--tile--radio
407
+ > .#{$prefix}--ai-label,
403
408
  .#{$prefix}--tile.#{$prefix}--tile--selectable.#{$prefix}--tile--radio
404
409
  > .#{$prefix}--slug {
405
410
  inset-inline-end: $spacing-05;
@@ -413,11 +418,14 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
413
418
  }
414
419
  }
415
420
 
421
+ .#{$prefix}--tile.#{$prefix}--tile--selectable.#{$prefix}--tile--radio.#{$prefix}--tile--is-selected
422
+ > .#{$prefix}--ai-label,
416
423
  .#{$prefix}--tile.#{$prefix}--tile--selectable.#{$prefix}--tile--radio.#{$prefix}--tile--is-selected
417
424
  > .#{$prefix}--slug {
418
425
  inset-inline-end: $spacing-08;
419
426
  }
420
427
 
428
+ .#{$prefix}--tile.#{$prefix}--tile--clickable > .#{$prefix}--ai-label,
421
429
  .#{$prefix}--tile.#{$prefix}--tile--clickable > .#{$prefix}--slug {
422
430
  pointer-events: none;
423
431
  }
@@ -502,21 +510,28 @@ $-icon-container-size: calc(#{layout.density('padding-inline')} * 2 + 1rem);
502
510
  .#{$prefix}--tile--slug.#{$prefix}--tile--clickable .#{$prefix}--tile-content,
503
511
  .#{$prefix}--tile--slug.#{$prefix}--tile--selectable
504
512
  > .#{$prefix}--tile__checkmark,
513
+ .#{$prefix}--tile--slug.#{$prefix}--tile--is-selected .#{$prefix}--ai-label,
505
514
  .#{$prefix}--tile--slug.#{$prefix}--tile--is-selected .#{$prefix}--slug {
506
515
  z-index: 1;
507
516
  }
508
517
 
518
+ .#{$prefix}--tile--slug.#{$prefix}--tile--selectable
519
+ .#{$prefix}--ai-label:has(> .#{$prefix}--popover--open),
509
520
  .#{$prefix}--tile--slug.#{$prefix}--tile--selectable
510
521
  .#{$prefix}--slug:has(> .#{$prefix}--popover--open) {
511
522
  z-index: 2;
512
523
  }
513
524
 
525
+ .#{$prefix}--tile--slug.#{$prefix}--tile--selectable > .#{$prefix}--ai-label,
514
526
  .#{$prefix}--tile--slug.#{$prefix}--tile--selectable > .#{$prefix}--slug,
515
527
  .#{$prefix}--tile--slug.#{$prefix}--tile--selectable
516
528
  > .#{$prefix}--tile__checkmark {
517
529
  z-index: 1;
518
530
  }
519
531
 
532
+ .#{$prefix}--tile--expandable:has(
533
+ .#{$prefix}--ai-label > .#{$prefix}--popover--open
534
+ ),
520
535
  .#{$prefix}--tile--expandable:has(
521
536
  .#{$prefix}--slug > .#{$prefix}--popover--open
522
537
  ) {
@@ -79,9 +79,16 @@
79
79
  .#{$prefix}--toggle__switch,
80
80
  .#{$prefix}--toggle:not(.#{$prefix}--toggle--disabled):active
81
81
  .#{$prefix}--toggle__switch {
82
- box-shadow:
83
- 0 0 0 1px $focus-inset,
84
- 0 0 0 3px $focus;
82
+ &::after {
83
+ display: block;
84
+ border: 2px solid $focus;
85
+ border-radius: convert.to-rem(16px);
86
+ block-size: calc(100% + convert.to-rem(6px));
87
+ content: '';
88
+ inline-size: calc(100% + convert.to-rem(6px));
89
+ margin-block-start: convert.to-rem(-3px);
90
+ margin-inline-start: convert.to-rem(-3px);
91
+ }
85
92
  }
86
93
 
87
94
  .#{$prefix}--toggle__switch--checked {