@carbon/styles 1.114.0 → 1.115.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 (47) hide show
  1. package/css/styles.css +3356 -1547
  2. package/css/styles.min.css +7 -1
  3. package/package.json +10 -10
  4. package/scss/components/Tearsheet/_index.scss +11 -0
  5. package/scss/components/Tearsheet/_tearsheet.scss +715 -0
  6. package/scss/components/__tests__/data-table-test.js +49 -0
  7. package/scss/components/_index.scss +5 -2
  8. package/scss/components/big-number/_big-number.scss +1 -0
  9. package/scss/components/button/_button.scss +11 -12
  10. package/scss/components/button/_vars.scss +4 -4
  11. package/scss/components/card/_card.scss +2 -2
  12. package/scss/components/checkbox/_checkbox.scss +69 -26
  13. package/scss/components/combo-box/_combo-box.scss +32 -21
  14. package/scss/components/data-table/action/_data-table-action.scss +54 -22
  15. package/scss/components/data-table/sort/_data-table-sort.scss +37 -3
  16. package/scss/components/date-picker/_date-picker-next.scss +60 -0
  17. package/scss/components/date-picker/_date-picker.scss +73 -0
  18. package/scss/components/date-picker/_flatpickr.scss +10 -0
  19. package/scss/components/dropdown/_dropdown.scss +26 -4
  20. package/scss/components/fluid-date-picker/_fluid-date-picker.scss +95 -11
  21. package/scss/components/fluid-list-box/_fluid-list-box.scss +102 -23
  22. package/scss/components/fluid-number-input/_fluid-number-input.scss +204 -24
  23. package/scss/components/fluid-search/_fluid-search.scss +7 -4
  24. package/scss/components/fluid-select/_fluid-select.scss +31 -2
  25. package/scss/components/fluid-text-input/_fluid-text-input.scss +34 -4
  26. package/scss/components/form/_form.scss +1 -14
  27. package/scss/components/guidebanner/_guidebanner.scss +322 -0
  28. package/scss/components/guidebanner/_index.scss +11 -0
  29. package/scss/components/list-box/_list-box.scss +116 -8
  30. package/scss/components/menu/_menu.scss +18 -1
  31. package/scss/components/multiselect/_multiselect.scss +82 -47
  32. package/scss/components/notifications-panel/_index.scss +11 -0
  33. package/scss/components/notifications-panel/_notifications-panel.scss +459 -0
  34. package/scss/components/number-input/_number-input.scss +94 -8
  35. package/scss/components/radio-button/_radio-button.scss +93 -27
  36. package/scss/components/search/_search.scss +35 -8
  37. package/scss/components/select/_select.scss +65 -5
  38. package/scss/components/tabs/_tabs.scss +2 -1
  39. package/scss/components/tag/_mixins.scss +19 -1
  40. package/scss/components/tag/_tag.scss +46 -16
  41. package/scss/components/text-input/_text-input.scss +53 -121
  42. package/scss/components/tile/_tile.scss +131 -13
  43. package/scss/utilities/_skeleton.scss +7 -1
  44. /package/scss/components/{EditInPlace → edit-in-place}/_edit-in-place.scss +0 -0
  45. /package/scss/components/{EditInPlace → edit-in-place}/_index.scss +0 -0
  46. /package/scss/components/{OptionsTile → options-tile}/_index.scss +0 -0
  47. /package/scss/components/{OptionsTile → options-tile}/_options-tile.scss +0 -0
@@ -1,13 +1,15 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2025
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
8
  @use '../form';
9
+ @use '../../border-radius' as *;
9
10
  @use '../../colors' as *;
10
11
  @use '../../config' as *;
12
+ @use '../../feature-flags' as *;
11
13
  @use '../../motion' as *;
12
14
  @use '../../spacing' as *;
13
15
  @use '../../theme' as *;
@@ -68,6 +70,20 @@
68
70
  background-color $duration-fast-01 motion(standard, productive),
69
71
  outline $duration-fast-01 motion(standard, productive);
70
72
 
73
+ @if enabled('enable-v12-release') {
74
+ border: 1px solid transparent;
75
+ border-radius: $border-radius-04;
76
+ // (gray-20 → gray-50)
77
+ background:
78
+ linear-gradient($field, $field) padding-box,
79
+ linear-gradient(
80
+ to bottom,
81
+ $border-subtle calc(100% - 4px),
82
+ $border-strong 100%
83
+ )
84
+ border-box;
85
+ }
86
+
71
87
  &:focus {
72
88
  @include focus-outline('outline');
73
89
  }
@@ -133,6 +149,11 @@
133
149
  background-color: $field;
134
150
  color: $text-disabled;
135
151
  cursor: not-allowed;
152
+
153
+ @if enabled('enable-v12-release') {
154
+ border: none;
155
+ background: $field;
156
+ }
136
157
  }
137
158
 
138
159
  .#{$prefix}--number__input-wrapper {
@@ -191,6 +212,16 @@
191
212
  color: $text-disabled;
192
213
  cursor: not-allowed;
193
214
  }
215
+
216
+ @if enabled('enable-v12-release') {
217
+ border: 1px solid transparent;
218
+ border-radius: $border-radius-04;
219
+ background-clip: padding-box;
220
+
221
+ &:hover {
222
+ box-shadow: none;
223
+ }
224
+ }
194
225
  }
195
226
 
196
227
  // set orders to facilitate styling for rule dividers
@@ -227,6 +258,10 @@
227
258
  border-color: $focus;
228
259
  box-shadow: none;
229
260
  outline-offset: -2px;
261
+
262
+ @if enabled('enable-v12-release') {
263
+ border-color: transparent;
264
+ }
230
265
  }
231
266
 
232
267
  .#{$prefix}--number
@@ -255,16 +290,20 @@
255
290
  .#{$prefix}--number
256
291
  input[type='number'][data-invalid]:not(:focus)
257
292
  ~ .#{$prefix}--number__controls
258
- .#{$prefix}--number__control-btn:hover,
293
+ .#{$prefix}--number__control-btn,
259
294
  .#{$prefix}--number
260
295
  input[type='text'][data-invalid]:not(:focus)
261
296
  ~ .#{$prefix}--number__controls
262
- .#{$prefix}--number__control-btn:hover {
297
+ .#{$prefix}--number__control-btn {
263
298
  border-width: 2px 0;
264
299
  border-style: solid;
265
300
  border-color: $support-error;
266
301
  box-shadow: none;
267
302
  outline-offset: -2px;
303
+
304
+ @if enabled('enable-v12-release') {
305
+ border-color: transparent;
306
+ }
268
307
  }
269
308
 
270
309
  .#{$prefix}--number
@@ -288,6 +327,10 @@
288
327
  &:first-of-type {
289
328
  order: 0;
290
329
  }
330
+
331
+ @if enabled('enable-v12-release') {
332
+ display: none;
333
+ }
291
334
  }
292
335
 
293
336
  // rule divider styles
@@ -449,12 +492,20 @@
449
492
  .#{$prefix}--number--readonly input[type='text'] {
450
493
  background: transparent;
451
494
  border-block-end-color: $border-subtle;
495
+
496
+ @if enabled('enable-v12-release') {
497
+ border-radius: $border-radius-00;
498
+ }
452
499
  }
453
500
 
454
501
  .#{$prefix}--number--readonly .#{$prefix}--number__control-btn {
455
502
  color: $icon-disabled;
456
503
  pointer-events: none;
457
504
 
505
+ @if enabled('enable-v12-release') {
506
+ border-radius: $border-radius-00;
507
+ }
508
+
458
509
  &:hover {
459
510
  background-color: transparent;
460
511
  cursor: pointer;
@@ -516,6 +567,10 @@
516
567
  block-size: convert.to-rem(16px);
517
568
  content: '';
518
569
  inline-size: convert.to-rem(1px);
570
+
571
+ @if enabled('enable-v12-release') {
572
+ display: none;
573
+ }
519
574
  }
520
575
 
521
576
  .#{$prefix}--number__input-wrapper--decorator
@@ -540,6 +595,10 @@
540
595
  .#{$prefix}--number__control-btn::after {
541
596
  display: block;
542
597
  inset-inline-end: 0;
598
+
599
+ @if enabled('enable-v12-release') {
600
+ display: none;
601
+ }
543
602
  }
544
603
 
545
604
  .#{$prefix}--number__input-wrapper--decorator
@@ -650,6 +709,31 @@
650
709
  @include ai-gradient;
651
710
 
652
711
  padding-inline-end: convert.to-rem(145px);
712
+
713
+ @if enabled('enable-v12-release') {
714
+ border: 1px solid transparent;
715
+ border-radius: $border-radius-04;
716
+ // Reset the bottom-edge color override from @include ai-gradient so the
717
+ // border-box gradient layer controls all four sides uniformly.
718
+ background:
719
+ linear-gradient(
720
+ 0deg,
721
+ $ai-aura-start-sm 0%,
722
+ 15%,
723
+ $ai-aura-end 50%,
724
+ transparent 100%
725
+ )
726
+ padding-box,
727
+ linear-gradient($field, $field) padding-box,
728
+ // (ai-border-start → ai-border-end), mirroring the default v12 border gradient
729
+ linear-gradient(
730
+ to bottom,
731
+ $ai-border-start calc(100% - 4px),
732
+ $ai-border-strong 100%
733
+ )
734
+ border-box;
735
+ border-block-end-color: transparent;
736
+ }
653
737
  }
654
738
 
655
739
  // Skeleton State
@@ -698,11 +782,13 @@
698
782
  display: none;
699
783
  }
700
784
 
701
- .#{$prefix}--number__input-wrapper--decorator
702
- .#{$prefix}--number__control-btn:hover,
703
- .#{$prefix}--number__input-wrapper--slug
704
- .#{$prefix}--number__control-btn:hover {
705
- box-shadow: 0 -1px 0 $ai-border-strong inset;
785
+ @if not enabled('enable-v12-release') {
786
+ .#{$prefix}--number__input-wrapper--decorator
787
+ .#{$prefix}--number__control-btn:hover,
788
+ .#{$prefix}--number__input-wrapper--slug
789
+ .#{$prefix}--number__control-btn:hover {
790
+ box-shadow: 0 -1px 0 $ai-border-strong inset;
791
+ }
706
792
  }
707
793
 
708
794
  //hide dividers on button focus
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -289,48 +289,114 @@ $radio-border-width: 1px !default;
289
289
  }
290
290
 
291
291
  // AILabel styles
292
+ .#{$prefix}--radio-button-group--decorator,
293
+ .#{$prefix}--radio-button-group--slug {
294
+ display: block;
295
+ }
296
+
297
+ .#{$prefix}--radio-button-group--decorator::after,
298
+ .#{$prefix}--radio-button-group--slug::after {
299
+ display: block;
300
+ clear: both;
301
+ content: '';
302
+ }
303
+
304
+ .#{$prefix}--radio-button-wrapper--decorator,
305
+ .#{$prefix}--radio-button-wrapper--slug {
306
+ display: flex;
307
+ flex-wrap: wrap;
308
+ align-items: center;
309
+ }
310
+
311
+ .#{$prefix}--radio-button-wrapper--decorator .#{$prefix}--radio-button__label,
312
+ .#{$prefix}--radio-button-wrapper--slug .#{$prefix}--radio-button__label {
313
+ margin-inline-end: 0;
314
+ }
315
+
316
+ .#{$prefix}--radio-button-group--decorator legend.#{$prefix}--label,
317
+ .#{$prefix}--radio-button-group--slug legend.#{$prefix}--label {
318
+ float: inline-start;
319
+ }
320
+
321
+ .#{$prefix}--radio-button-group--decorator
322
+ > .#{$prefix}--radio-button-group-inner--decorator,
323
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--ai-label,
324
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--slug {
325
+ float: inline-start;
326
+ }
327
+
328
+ .#{$prefix}--radio-button-group--decorator:not(
329
+ .#{$prefix}--radio-button-group--vertical
330
+ )
331
+ > .#{$prefix}--radio-button-wrapper,
332
+ .#{$prefix}--radio-button-group--slug:not(
333
+ .#{$prefix}--radio-button-group--vertical
334
+ )
335
+ > .#{$prefix}--radio-button-wrapper {
336
+ float: inline-start;
337
+ }
338
+
339
+ .#{$prefix}--radio-button-group--decorator
340
+ > .#{$prefix}--radio-button-group-inner--decorator
341
+ + .#{$prefix}--radio-button-wrapper,
342
+ .#{$prefix}--radio-button-group--slug
343
+ > .#{$prefix}--ai-label
344
+ + .#{$prefix}--radio-button-wrapper,
345
+ .#{$prefix}--radio-button-group--slug
346
+ > .#{$prefix}--slug
347
+ + .#{$prefix}--radio-button-wrapper,
348
+ .#{$prefix}--radio-button-group--vertical.#{$prefix}--radio-button-group--decorator
349
+ > .#{$prefix}--radio-button-wrapper,
350
+ .#{$prefix}--radio-button-group--vertical.#{$prefix}--radio-button-group--slug
351
+ > .#{$prefix}--radio-button-wrapper {
352
+ clear: both;
353
+ }
354
+
292
355
  .#{$prefix}--radio-button-group--decorator legend.#{$prefix}--label,
293
356
  .#{$prefix}--radio-button-wrapper--decorator
294
357
  .#{$prefix}--radio-button__label-text,
358
+ .#{$prefix}--radio-button-group--decorator
359
+ > .#{$prefix}--radio-button-group-inner--decorator,
295
360
  .#{$prefix}--radio-button-group--slug legend.#{$prefix}--label,
296
- .#{$prefix}--radio-button-wrapper--slug
297
- .#{$prefix}--radio-button__label-text {
298
- display: flex;
361
+ .#{$prefix}--radio-button-wrapper--slug .#{$prefix}--radio-button__label-text,
362
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--ai-label,
363
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--slug {
364
+ display: inline-flex;
299
365
  }
300
366
 
301
367
  .#{$prefix}--radio-button-group--decorator
302
- legend.#{$prefix}--label
303
- .#{$prefix}--radio-button-group-inner--decorator
368
+ > .#{$prefix}--radio-button-group-inner--decorator
304
369
  > *,
305
370
  .#{$prefix}--radio-button-wrapper--decorator
306
- .#{$prefix}--radio-button__label-text
307
- .#{$prefix}--radio-button-wrapper-inner--decorator
371
+ > .#{$prefix}--radio-button-wrapper-inner--decorator
308
372
  > *,
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,
315
- .#{$prefix}--radio-button-group--slug
316
- legend.#{$prefix}--label
317
- .#{$prefix}--slug,
318
- .#{$prefix}--radio-button-wrapper--slug
319
- .#{$prefix}--radio-button__label-text
320
- .#{$prefix}--slug {
373
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--ai-label,
374
+ .#{$prefix}--radio-button-group--slug > .#{$prefix}--slug,
375
+ .#{$prefix}--radio-button-wrapper--slug > .#{$prefix}--ai-label,
376
+ .#{$prefix}--radio-button-wrapper--slug > .#{$prefix}--slug {
321
377
  margin-inline-start: $spacing-03;
322
378
  }
323
379
 
324
380
  .#{$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
381
+ > .#{$prefix}--radio-button-wrapper-inner--decorator,
382
+ .#{$prefix}--radio-button-wrapper--slug > .#{$prefix}--ai-label,
383
+ .#{$prefix}--radio-button-wrapper--slug > .#{$prefix}--slug {
384
+ margin-inline-end: $spacing-05;
385
+ }
386
+
387
+ .#{$prefix}--radio-button-wrapper--decorator
388
+ > .#{$prefix}--radio-button-wrapper-inner--decorator
329
389
  .#{$prefix}--ai-label__button--inline,
330
- .#{$prefix}--radio-button-wrapper--slug
331
- .#{$prefix}--radio-button__label-text
332
- .#{$prefix}--slug__button--inline {
390
+ .#{$prefix}--radio-button-wrapper--slug .#{$prefix}--ai-label__button--inline,
391
+ .#{$prefix}--radio-button-wrapper--slug .#{$prefix}--slug__button--inline {
333
392
  line-height: inherit;
334
393
  margin-block-start: convert.to-rem(-1px);
335
394
  }
395
+
396
+ .#{$prefix}--radio-button-wrapper--decorator
397
+ > .#{$prefix}--radio-button__validation-msg,
398
+ .#{$prefix}--radio-button-wrapper--slug
399
+ > .#{$prefix}--radio-button__validation-msg {
400
+ inline-size: 100%;
401
+ }
336
402
  }
@@ -10,6 +10,8 @@
10
10
  //-----------------------------
11
11
 
12
12
  @use '../text-input';
13
+ @use '../../border-radius' as *;
14
+ @use '../../feature-flags' as *;
13
15
  @use '../../theme' as *;
14
16
  @use '../../config' as *;
15
17
  @use '../../type';
@@ -64,7 +66,7 @@
64
66
  padding: 0 layout.size('height');
65
67
  border: none;
66
68
  appearance: none;
67
- background-color: $field;
69
+ background: $field;
68
70
  block-size: layout.size('height');
69
71
  border-block-end: 1px solid $border-strong;
70
72
  color: $text-primary;
@@ -75,6 +77,20 @@
75
77
  background-color $duration-fast-02 motion(standard, productive),
76
78
  outline $duration-fast-02 motion(standard, productive);
77
79
 
80
+ @if enabled('enable-v12-release') {
81
+ border: 1px solid transparent;
82
+ border-radius: $border-radius-04;
83
+ // (gray-20 → gray-50)
84
+ background:
85
+ linear-gradient($field, $field) padding-box,
86
+ linear-gradient(
87
+ to bottom,
88
+ $border-subtle calc(100% - 4px),
89
+ $border-strong 100%
90
+ )
91
+ border-box;
92
+ }
93
+
78
94
  &:focus {
79
95
  @include focus-outline('outline');
80
96
  }
@@ -98,7 +114,7 @@
98
114
  }
99
115
 
100
116
  .#{$prefix}--search-input[disabled] {
101
- background-color: $field;
117
+ background: $field;
102
118
  border-block-end: 1px solid transparent;
103
119
  color: $text-disabled;
104
120
  cursor: not-allowed;
@@ -135,12 +151,9 @@
135
151
  @include focus-outline('reset');
136
152
 
137
153
  position: absolute;
154
+ background-clip: padding-box;
138
155
  inset-block-start: 0;
139
156
  inset-inline-end: 0;
140
-
141
- &:hover {
142
- border-block-end: 1px solid $border-strong;
143
- }
144
157
  }
145
158
 
146
159
  .#{$prefix}--search-button {
@@ -168,7 +181,7 @@
168
181
  display: flex;
169
182
  align-items: center;
170
183
  justify-content: center;
171
- border-width: 0 0 1px;
184
+ border-width: 1px;
172
185
  border-style: solid;
173
186
  border-color: transparent;
174
187
  block-size: layout.size('height');
@@ -178,6 +191,10 @@
178
191
  opacity: 1;
179
192
  visibility: inherit;
180
193
 
194
+ @if enabled('enable-v12-release') {
195
+ border-radius: $border-radius-04;
196
+ }
197
+
181
198
  &:hover {
182
199
  background-color: $field-hover;
183
200
  }
@@ -252,6 +269,12 @@
252
269
  inline-size: 100%;
253
270
  }
254
271
 
272
+ .#{$prefix}--search--expandable:not(.#{$prefix}--search--expanded)
273
+ .#{$prefix}--search-input {
274
+ border: 0;
275
+ background: none;
276
+ }
277
+
255
278
  .#{$prefix}--search--expandable .#{$prefix}--search-input {
256
279
  padding: 0;
257
280
  inline-size: 0;
@@ -283,8 +306,12 @@
283
306
  position: absolute;
284
307
  cursor: pointer;
285
308
 
309
+ @if enabled('enable-v12-release') {
310
+ border-radius: $border-radius-04;
311
+ }
312
+
286
313
  &:focus {
287
- outline: 2px solid $focus;
314
+ @include focus-outline('outline');
288
315
  }
289
316
  }
290
317
 
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -13,6 +13,8 @@
13
13
  @use '../../type' as *;
14
14
  @use '../../breakpoint' as *;
15
15
  @use '../../theme' as *;
16
+ @use '../../border-radius' as *;
17
+ @use '../../feature-flags' as *;
16
18
  @use '../../utilities/ai-gradient' as *;
17
19
  @use '../../utilities/component-reset';
18
20
  @use '../../utilities/convert';
@@ -52,7 +54,7 @@
52
54
  border: none;
53
55
  border-radius: 0;
54
56
  appearance: none;
55
- background-color: $field;
57
+ background: $field;
56
58
  block-size: layout.size('height');
57
59
  border-block-end: 1px solid $border-strong;
58
60
  color: $text-primary;
@@ -68,8 +70,33 @@
68
70
  // Do not transition on background-color (see: https://github.com/carbon-design-system/carbon/issues/4464)
69
71
  transition: outline $duration-fast-01 motion(standard, productive);
70
72
 
73
+ @if enabled('enable-v12-release') {
74
+ border: 1px solid transparent;
75
+ border-radius: $border-radius-04;
76
+ // (gray-20 → gray-50)
77
+ background:
78
+ linear-gradient($field, $field) padding-box,
79
+ linear-gradient(
80
+ to bottom,
81
+ $border-subtle calc(100% - 4px),
82
+ $border-strong 100%
83
+ )
84
+ border-box;
85
+ }
86
+
71
87
  &:hover {
72
88
  background-color: $field-hover;
89
+
90
+ @if enabled('enable-v12-release') {
91
+ background:
92
+ linear-gradient($field-hover, $field-hover) padding-box,
93
+ linear-gradient(
94
+ to bottom,
95
+ $border-subtle calc(100% - 4px),
96
+ $border-strong 100%
97
+ )
98
+ border-box;
99
+ }
73
100
  }
74
101
 
75
102
  // Hide default select arrow in IE10+
@@ -99,7 +126,7 @@
99
126
 
100
127
  &:disabled,
101
128
  &:hover:disabled {
102
- background-color: $field;
129
+ background: $field;
103
130
  border-block-end-color: transparent;
104
131
  color: $text-disabled;
105
132
  cursor: not-allowed;
@@ -213,6 +240,12 @@
213
240
  inline-size: 100%;
214
241
  padding-inline: $spacing-03 $spacing-09;
215
242
 
243
+ @if enabled('enable-v12-release') {
244
+ // Restore the bottom border width removed above so the border-box
245
+ // gradient renders on all four sides, matching inline text input.
246
+ border-block-end: 1px solid transparent;
247
+ }
248
+
216
249
  &:hover {
217
250
  background-color: $field-hover;
218
251
  }
@@ -262,9 +295,13 @@
262
295
 
263
296
  // readonly
264
297
  .#{$prefix}--select--readonly .#{$prefix}--select-input {
265
- background-color: transparent;
298
+ background: transparent;
266
299
  border-block-end-color: $border-subtle;
267
300
  cursor: default;
301
+
302
+ @if enabled('enable-v12-release') {
303
+ border-radius: $border-radius-00;
304
+ }
268
305
  }
269
306
 
270
307
  .#{$prefix}--select--readonly .#{$prefix}--select__arrow {
@@ -273,7 +310,7 @@
273
310
 
274
311
  .#{$prefix}--select--readonly.#{$prefix}--select--inline
275
312
  .#{$prefix}--select-input:hover {
276
- background-color: transparent;
313
+ background: transparent;
277
314
  }
278
315
 
279
316
  // Skeleton State
@@ -419,6 +456,29 @@
419
456
  ),
420
457
  .#{$prefix}--select-input-has--ai-label {
421
458
  @include ai-gradient;
459
+
460
+ @if enabled('enable-v12-release') {
461
+ // Reset the bottom-edge color override from @include ai-gradient so the
462
+ // border-box gradient layer controls all four sides uniformly.
463
+ background:
464
+ linear-gradient(
465
+ 0deg,
466
+ $ai-aura-start-sm 0%,
467
+ 15%,
468
+ $ai-aura-end 50%,
469
+ transparent 100%
470
+ )
471
+ padding-box,
472
+ linear-gradient($field, $field) padding-box,
473
+ // (ai-border-start → ai-border-end), mirroring the default v12 border gradient
474
+ linear-gradient(
475
+ to bottom,
476
+ $ai-border-start calc(100% - 4px),
477
+ $ai-border-strong 100%
478
+ )
479
+ border-box;
480
+ border-block-end-color: transparent;
481
+ }
422
482
  }
423
483
 
424
484
  .#{$prefix}--select--decorator:has(.#{$prefix}--select__invalid-icon)
@@ -550,7 +550,8 @@
550
550
  }
551
551
  }
552
552
 
553
- .#{$prefix}--tabs__nav-item--icon-only:not(
553
+ &.#{$prefix}--layout--size-sm
554
+ .#{$prefix}--tabs__nav-item--icon-only:not(
554
555
  .#{$prefix}--tabs__nav-item--icon-only__20
555
556
  )
556
557
  .#{$prefix}--badge-indicator {
@@ -12,11 +12,17 @@
12
12
  $bg-color,
13
13
  $text-color,
14
14
  $filter-hover-color: $bg-color,
15
- $border-color: $bg-color
15
+ $border-color: $bg-color,
16
+ $outline-color: null,
17
+ $close-focus-color: null
16
18
  ) {
17
19
  background-color: $bg-color;
18
20
  color: $text-color;
19
21
 
22
+ @if $outline-color {
23
+ box-shadow: inset 0 0 0 1px $outline-color;
24
+ }
25
+
20
26
  &.#{$prefix}--tag--operational {
21
27
  border: 1px solid $border-color;
22
28
 
@@ -28,11 +34,23 @@
28
34
  }
29
35
 
30
36
  .#{$prefix}--tag__close-icon {
37
+ @if $outline-color {
38
+ box-sizing: border-box;
39
+ padding: 1px;
40
+ background-clip: content-box;
41
+ }
42
+
31
43
  @media (any-hover: hover) {
32
44
  &:hover {
33
45
  background-color: $filter-hover-color;
34
46
  }
35
47
  }
48
+
49
+ @if $close-focus-color {
50
+ &:focus {
51
+ box-shadow: inset 0 0 0 1px $close-focus-color;
52
+ }
53
+ }
36
54
  }
37
55
 
38
56
  .#{$prefix}--definition-term {