@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
@@ -11,6 +11,8 @@
11
11
  @use '../../utilities/ai-gradient' as *;
12
12
  @use '../../utilities/convert' as *;
13
13
  @use '../../utilities/skeleton' as *;
14
+ @use '../../feature-flags' as *;
15
+ @use '../../border-radius' as *;
14
16
 
15
17
  /// Shared v12 date-picker rules for both React and Web Components. Each one
16
18
  /// scopes them differently so they don't clash with the v11 date picker:
@@ -132,6 +134,10 @@
132
134
  inset-block-start: 100%;
133
135
  inset-inline-start: 0;
134
136
  margin-block-start: 0;
137
+
138
+ @if enabled('enable-v12-release') {
139
+ margin-block-start: $spacing-02;
140
+ }
135
141
  }
136
142
 
137
143
  // DATE PICKER INPUT STYLES
@@ -183,6 +189,24 @@
183
189
  // Range date picker sizing
184
190
  .#{$prefix}--date-picker-container--from {
185
191
  margin-inline-end: rem(1px);
192
+
193
+ @if enabled('enable-v12-release') {
194
+ .#{$prefix}--date-picker__input {
195
+ border-end-end-radius: $border-radius-00;
196
+ border-inline-end: none;
197
+ border-start-end-radius: $border-radius-00;
198
+ }
199
+ }
200
+ }
201
+
202
+ .#{$prefix}--date-picker-container--to {
203
+ @if enabled('enable-v12-release') {
204
+ .#{$prefix}--date-picker__input {
205
+ border-end-start-radius: $border-radius-00;
206
+ border-inline-start: none;
207
+ border-start-start-radius: $border-radius-00;
208
+ }
209
+ }
186
210
  }
187
211
 
188
212
  .#{$prefix}--date-picker-container--from,
@@ -198,6 +222,29 @@
198
222
  .#{$prefix}--date-picker-container--ai-label {
199
223
  .#{$prefix}--date-picker__input--decorator {
200
224
  @include ai-gradient;
225
+
226
+ @if enabled('enable-v12-release') {
227
+ // Reset the bottom-edge color override from @include ai-gradient so the
228
+ // border-box gradient layer controls all four sides uniformly.
229
+ background:
230
+ linear-gradient(
231
+ 0deg,
232
+ $ai-aura-start-sm 0%,
233
+ 15%,
234
+ $ai-aura-end 50%,
235
+ transparent 100%
236
+ )
237
+ padding-box,
238
+ linear-gradient($field, $field) padding-box,
239
+ // (ai-border-start → ai-border-end), mirroring the default v12 border gradient
240
+ linear-gradient(
241
+ to bottom,
242
+ $ai-border-start calc(100% - 4px),
243
+ $ai-border-strong 100%
244
+ )
245
+ border-box;
246
+ border-block-end-color: transparent;
247
+ }
201
248
  }
202
249
  }
203
250
 
@@ -262,6 +309,11 @@
262
309
  max-inline-size: rem(288px);
263
310
  outline: none;
264
311
 
312
+ @if enabled('enable-v12-release') {
313
+ border: 1px solid $border-subtle;
314
+ border-radius: $border-radius-08;
315
+ }
316
+
265
317
  &:focus {
266
318
  outline: none;
267
319
  }
@@ -297,6 +349,10 @@
297
349
  svg {
298
350
  fill: $icon-primary;
299
351
  }
352
+
353
+ @if enabled('enable-v12-release') {
354
+ border-radius: $border-radius-04;
355
+ }
300
356
  }
301
357
 
302
358
  .#{$prefix}--date-picker__current-month {
@@ -405,6 +461,10 @@
405
461
  outline: 2px solid $focus;
406
462
  outline-offset: -2px;
407
463
  }
464
+
465
+ @if enabled('enable-v12-release') {
466
+ border-radius: $border-radius-04;
467
+ }
408
468
  }
409
469
  }
410
470
 
@@ -13,6 +13,8 @@
13
13
  @use '../../theme' as *;
14
14
  @use '../../spacing' as *;
15
15
  @use '../../type' 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';
@@ -133,6 +135,50 @@
133
135
  }
134
136
  }
135
137
 
138
+ @if enabled('enable-v12-release') {
139
+ .#{$prefix}--date-picker__calendar.open.arrowTop {
140
+ // flatpickr calendar renders with 2px margin-top, add $spacing-01 to get 4px
141
+ margin-block-start: $spacing-01;
142
+ }
143
+ .#{$prefix}--date-picker__calendar.open {
144
+ border: 1px solid $border-subtle;
145
+ border-radius: $border-radius-08;
146
+ }
147
+
148
+ .#{$prefix}--date-picker__input {
149
+ border: 1px solid transparent;
150
+ border-radius: $border-radius-04;
151
+
152
+ &:not(:disabled) {
153
+ // (gray-20 → gray-50)
154
+ background:
155
+ linear-gradient($field, $field) padding-box,
156
+ linear-gradient(
157
+ to bottom,
158
+ $border-subtle calc(100% - 4px),
159
+ $border-strong 100%
160
+ )
161
+ border-box;
162
+ }
163
+ }
164
+
165
+ .#{$prefix}--date-picker--range {
166
+ .#{$prefix}--date-picker-container:first-of-type
167
+ .#{$prefix}--date-picker__input {
168
+ border-end-end-radius: $border-radius-00;
169
+ border-inline-end: none;
170
+ border-start-end-radius: $border-radius-00;
171
+ }
172
+
173
+ .#{$prefix}--date-picker-container:last-of-type
174
+ .#{$prefix}--date-picker__input {
175
+ border-end-start-radius: $border-radius-00;
176
+ border-inline-start: none;
177
+ border-start-start-radius: $border-radius-00;
178
+ }
179
+ }
180
+ }
181
+
136
182
  // Size variant styles
137
183
  .#{$prefix}--date-picker__input--lg {
138
184
  block-size: convert.to-rem(48px);
@@ -232,6 +278,29 @@
232
278
  @include ai-gradient;
233
279
 
234
280
  padding-inline-end: $spacing-10;
281
+
282
+ @if enabled('enable-v12-release') {
283
+ // Reset the bottom-edge color override from @include ai-gradient so the
284
+ // border-box gradient layer controls all four sides uniformly.
285
+ background:
286
+ linear-gradient(
287
+ 0deg,
288
+ $ai-aura-start-sm 0%,
289
+ 15%,
290
+ $ai-aura-end 50%,
291
+ transparent 100%
292
+ )
293
+ padding-box,
294
+ linear-gradient($field, $field) padding-box,
295
+ // (ai-border-start → ai-border-end), mirroring the default v12 border gradient
296
+ linear-gradient(
297
+ to bottom,
298
+ $ai-border-start calc(100% - 4px),
299
+ $ai-border-strong 100%
300
+ )
301
+ border-box;
302
+ border-block-end-color: transparent;
303
+ }
235
304
  }
236
305
 
237
306
  // Read-only State
@@ -239,6 +308,10 @@
239
308
  background: transparent;
240
309
  border-block-end-color: $border-subtle;
241
310
  cursor: text;
311
+
312
+ @if enabled('enable-v12-release') {
313
+ border-radius: $border-radius-00;
314
+ }
242
315
  }
243
316
 
244
317
  .#{$prefix}--date-picker__input[readonly] + .#{$prefix}--date-picker__icon {
@@ -10,8 +10,10 @@
10
10
  @use '../../spacing' as *;
11
11
  @use '../../type' as *;
12
12
  @use '../../utilities/box-shadow' as *;
13
+ @use '../../border-radius' as *;
13
14
  @use '../../utilities/convert';
14
15
  @use '../../utilities/focus-outline' as *;
16
+ @use '../../feature-flags' as *;
15
17
  @use '../../utilities/high-contrast-mode' as *;
16
18
 
17
19
  @use '../button/tokens' as *;
@@ -276,6 +278,14 @@
276
278
  }
277
279
  }
278
280
 
281
+ @if enabled('enable-v12-release') {
282
+ .flatpickr-prev-month,
283
+ .flatpickr-next-month,
284
+ .flatpickr-day {
285
+ border-radius: $border-radius-04;
286
+ }
287
+ }
288
+
279
289
  .numInputWrapper {
280
290
  position: relative;
281
291
  inline-size: convert.to-rem(60px);
@@ -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.
@@ -7,6 +7,7 @@
7
7
 
8
8
  @use '../list-box';
9
9
  @use '../../config' as *;
10
+ @use '../../feature-flags' as *;
10
11
  @use '../../layer' as *;
11
12
  @use '../../motion' as *;
12
13
  @use '../../spacing' as *;
@@ -68,6 +69,10 @@
68
69
  &:hover {
69
70
  background-color: $field-hover;
70
71
  }
72
+
73
+ @if enabled('enable-v12-release') {
74
+ border: 1px solid transparent;
75
+ }
71
76
  }
72
77
 
73
78
  // Menu's triggering element updated to button with Downshift v5 upgrade
@@ -94,15 +99,32 @@
94
99
  }
95
100
 
96
101
  .#{$prefix}--dropdown--open {
97
- border-block-end-color: $border-subtle;
102
+ @if not enabled('enable-v12-release') {
103
+ border-block-end-color: $border-subtle;
104
+ }
98
105
  }
99
106
 
100
107
  .#{$prefix}--dropdown--open .#{$prefix}--list-box__field {
101
108
  outline: none;
102
109
  }
103
110
 
104
- .#{$prefix}--dropdown--focus .#{$prefix}--list-box__field {
105
- @include focus-outline('outline');
111
+ @if not enabled('enable-v12-release') {
112
+ .#{$prefix}--dropdown--focus .#{$prefix}--list-box__field {
113
+ @include focus-outline('outline');
114
+ }
115
+ } @else {
116
+ // v12 focus outline is on the dropdown itself
117
+ .#{$prefix}--dropdown--focus,
118
+ .#{$prefix}--dropdown:not(.#{$prefix}--dropdown--open):has(
119
+ .#{$prefix}--list-box__field:focus
120
+ ) {
121
+ @include focus-outline('outline');
122
+ }
123
+
124
+ // prevent nested borders
125
+ .#{$prefix}--dropdown .#{$prefix}--list-box__field:focus {
126
+ outline: transparent;
127
+ }
106
128
  }
107
129
 
108
130
  .#{$prefix}--dropdown--invalid {
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2022
2
+ // Copyright IBM Corp. 2022, 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.
@@ -15,12 +15,43 @@
15
15
  @use '../../utilities/ai-gradient' as *;
16
16
  @use '../../utilities/convert';
17
17
  @use '../../utilities/focus-outline' as *;
18
+ @use '../../border-radius' as *;
19
+ @use '../../feature-flags' as *;
18
20
  @use '../date-picker';
19
21
 
20
22
  @mixin fluid-date-picker {
21
23
  .#{$prefix}--date-picker--fluid {
22
24
  display: inline-flex;
23
25
  background: $field;
26
+
27
+ @if enabled('enable-v12-release') {
28
+ border: 1px solid transparent;
29
+
30
+ &:not(.#{$prefix}--date-picker--fluid--readonly) {
31
+ border-radius: $border-radius-04;
32
+ // (gray-20 → gray-50)
33
+ &:not([disabled]) {
34
+ background:
35
+ linear-gradient($field, $field) padding-box,
36
+ linear-gradient(
37
+ to bottom,
38
+ $border-subtle calc(100% - 4px),
39
+ $border-strong 100%
40
+ )
41
+ border-box;
42
+ }
43
+ }
44
+
45
+ &.#{$prefix}--date-picker--fluid--readonly {
46
+ border-block-end: 1px solid $border-subtle;
47
+ }
48
+
49
+ &:focus-within {
50
+ .#{$prefix}--date-picker__input {
51
+ outline-offset: convert.to-rem(-1.5px);
52
+ }
53
+ }
54
+ }
24
55
  }
25
56
 
26
57
  .#{$prefix}--date-picker--fluid .#{$prefix}--date-picker {
@@ -93,7 +124,9 @@
93
124
  .#{$prefix}--date-picker--fluid
94
125
  .#{$prefix}--date-picker--simple
95
126
  .#{$prefix}--date-picker--fluid--warn {
96
- border-block-end: 1px solid $border-strong;
127
+ @if not enabled('enable-v12-release') {
128
+ border-block-end: 1px solid $border-strong;
129
+ }
97
130
  }
98
131
 
99
132
  // Single, Range
@@ -117,7 +150,9 @@
117
150
  .#{$prefix}--date-picker__input--invalid
118
151
  ),
119
152
  .#{$prefix}--date-picker--single .#{$prefix}--date-picker--fluid--warn {
120
- border-block-end: 1px solid $border-strong;
153
+ @if not enabled('enable-v12-release') {
154
+ border-block-end: 1px solid $border-strong;
155
+ }
121
156
  }
122
157
 
123
158
  // Range
@@ -128,7 +163,9 @@
128
163
  .#{$prefix}--date-picker-container:not(
129
164
  .#{$prefix}--date-picker--fluid--invalid
130
165
  ) {
131
- border-block-end: 1px solid $border-strong;
166
+ @if not enabled('enable-v12-release') {
167
+ border-block-end: 1px solid $border-strong;
168
+ }
132
169
  }
133
170
 
134
171
  .#{$prefix}--date-picker--fluid
@@ -153,14 +190,34 @@
153
190
  > .#{$prefix}--date-picker-container:last-child
154
191
  .#{$prefix}--date-picker__input {
155
192
  border-inline-start: 1px solid $border-strong;
193
+
194
+ @if enabled('enable-v12-release') {
195
+ border-inline-start-color: $border-subtle;
196
+ }
197
+ }
198
+
199
+ @if enabled('enable-v12-release') {
200
+ .#{$prefix}--date-picker--fluid:focus-within
201
+ .#{$prefix}--date-picker--range
202
+ > .#{$prefix}--date-picker-container:last-child
203
+ .#{$prefix}--date-picker__input {
204
+ border-inline-start-color: transparent;
205
+ }
156
206
  }
157
207
 
158
208
  // Invalid
159
209
  // Entire input
160
- .#{$prefix}--date-picker--fluid.#{$prefix}--date-picker--fluid--invalid,
210
+
211
+ @if enabled('enable-v12-release') {
212
+ .#{$prefix}--date-picker--fluid.#{$prefix}--date-picker--fluid--invalid {
213
+ @include focus-outline('invalid');
214
+ }
215
+ } @else {
216
+ .#{$prefix}--date-picker--fluid.#{$prefix}--date-picker--fluid--invalid,
161
217
  // Just one input invalid
162
218
  .#{$prefix}--date-picker-container.#{$prefix}--date-picker--fluid--invalid {
163
- @include focus-outline('invalid');
219
+ @include focus-outline('invalid');
220
+ }
164
221
  }
165
222
 
166
223
  .#{$prefix}--date-picker--fluid
@@ -228,18 +285,35 @@
228
285
  > .#{$prefix}--date-picker-container:first-child::after,
229
286
  .#{$prefix}--date-picker--fluid
230
287
  .#{$prefix}--date-picker--range
231
- .#{$prefix}--date-picker--fluid--warn.#{$prefix}--date-picker-container:first-child::after,
232
- .#{$prefix}--date-picker--fluid
233
- .#{$prefix}--date-picker--range
234
- .#{$prefix}--date-picker--fluid--warn.#{$prefix}--date-picker-container:last-child::after {
288
+ .#{$prefix}--date-picker--fluid--warn.#{$prefix}--date-picker-container:first-child::after {
235
289
  position: absolute;
236
290
  display: block;
237
- background: $border-strong;
238
291
  block-size: calc(100% - 1rem);
239
292
  content: '';
240
293
  inline-size: 1px;
241
294
  inset-block-start: convert.to-rem(8px);
242
295
  inset-inline-end: 0;
296
+
297
+ @if enabled('enable-v12-release') {
298
+ background: $border-subtle;
299
+ } @else {
300
+ background: $border-strong;
301
+ }
302
+ }
303
+
304
+ @if not enabled('enable-v12-release') {
305
+ .#{$prefix}--date-picker--fluid
306
+ .#{$prefix}--date-picker--range
307
+ .#{$prefix}--date-picker--fluid--warn.#{$prefix}--date-picker-container:last-child::after {
308
+ position: absolute;
309
+ display: block;
310
+ background: $border-strong;
311
+ block-size: calc(100% - 1rem);
312
+ content: '';
313
+ inline-size: 1px;
314
+ inset-block-start: convert.to-rem(8px);
315
+ inset-inline-end: 0;
316
+ }
243
317
  }
244
318
 
245
319
  .#{$prefix}--date-picker--fluid
@@ -318,6 +392,10 @@
318
392
  background: $skeleton-background;
319
393
  block-size: convert.to-rem(64px);
320
394
  border-block-end: 1px solid $skeleton-element;
395
+
396
+ @if enabled('enable-v12-release') {
397
+ border-radius: $border-radius-04;
398
+ }
321
399
  }
322
400
 
323
401
  .#{$prefix}--date-picker--fluid__skeleton--container {
@@ -463,4 +541,10 @@
463
541
  .#{$prefix}--date-picker__input {
464
542
  padding-inline-end: $spacing-10;
465
543
  }
544
+
545
+ @if enabled('enable-v12-release') {
546
+ .#{$prefix}--date-picker__calendar.#{$prefix}--date-picker__calendar--fluid.open.arrowTop {
547
+ margin-block-start: $spacing-02;
548
+ }
549
+ }
466
550
  }
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2022
2
+ // Copyright IBM Corp. 2022, 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.
@@ -12,6 +12,8 @@
12
12
  @use '../../motion' as *;
13
13
  @use '../../spacing' as *;
14
14
  @use '../../theme' as *;
15
+ @use '../../border-radius' as *;
16
+ @use '../../feature-flags' as *;
15
17
  @use '../../utilities/convert';
16
18
  @use '../../utilities/focus-outline' as *;
17
19
  @use '../../utilities/skeleton' as *;
@@ -24,6 +26,52 @@
24
26
  transition:
25
27
  background-color $duration-fast-01 motion(standard, productive),
26
28
  outline $duration-fast-01 motion(standard, productive);
29
+
30
+ @if enabled('enable-v12-release') {
31
+ .#{$prefix}--list-box[data-invalid],
32
+ .#{$prefix}--list-box--warning {
33
+ background: none;
34
+ }
35
+
36
+ &:has(.#{$prefix}--list-box--warning) {
37
+ border: 1px solid transparent;
38
+ background:
39
+ linear-gradient($field, $field) padding-box,
40
+ linear-gradient(
41
+ to bottom,
42
+ $border-subtle calc(100% - 4px),
43
+ $border-strong 100%
44
+ )
45
+ border-box;
46
+
47
+ // 2px to offset the wrapper's border, keeping the field 64px.
48
+ .#{$prefix}--list-box {
49
+ border: none;
50
+ min-block-size: convert.to-rem(62px);
51
+ }
52
+ .#{$prefix}--label {
53
+ inline-size: calc(100% - 2rem + 2px);
54
+ inset-block-start: convert.to-rem(12px);
55
+ inset-inline-start: calc(#{$spacing-05} - 1px);
56
+ }
57
+
58
+ &:focus-within {
59
+ .#{$prefix}--list-box {
60
+ outline-offset: -1px;
61
+ }
62
+ }
63
+ }
64
+
65
+ &:not(
66
+ :has(
67
+ .#{$prefix}--dropdown--readonly,
68
+ .#{$prefix}--combo-box--readonly,
69
+ .#{$prefix}--multi-select--readonly
70
+ )
71
+ ) {
72
+ border-radius: $border-radius-04;
73
+ }
74
+ }
27
75
  }
28
76
 
29
77
  .#{$prefix}--list-box__wrapper--fluid .#{$prefix}--list-box {
@@ -132,22 +180,28 @@
132
180
  ) {
133
181
  @include focus-outline('invalid');
134
182
 
135
- z-index: 2;
136
- outline-offset: 0;
183
+ @if not enabled('enable-v12-release') {
184
+ z-index: 2;
185
+ &:not(:has(.#{$prefix}--list-box__wrapper--fluid-invalid)) {
186
+ outline-offset: 0;
187
+ }
188
+ }
137
189
  }
138
190
 
139
- .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
140
- .#{$prefix}--list-box:not(.#{$prefix}--list-box--invalid),
141
- .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
142
- .#{$prefix}--list-box
143
- .#{$prefix}--text-input,
144
- .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
145
- .#{$prefix}--list-box
146
- .#{$prefix}--text-input,
147
- .#{$prefix}--list-box__wrapper--fluid
148
- .#{$prefix}--combo-box.#{$prefix}--list-box--warning
149
- .#{$prefix}--text-input {
150
- border-block-end: 1px solid transparent;
191
+ @if not enabled('enable-v12-release') {
192
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
193
+ .#{$prefix}--list-box:not(.#{$prefix}--list-box--invalid),
194
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
195
+ .#{$prefix}--list-box
196
+ .#{$prefix}--text-input,
197
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
198
+ .#{$prefix}--list-box
199
+ .#{$prefix}--text-input,
200
+ .#{$prefix}--list-box__wrapper--fluid
201
+ .#{$prefix}--combo-box.#{$prefix}--list-box--warning
202
+ .#{$prefix}--text-input {
203
+ border-block-end: 1px solid transparent;
204
+ }
151
205
  }
152
206
 
153
207
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
@@ -162,13 +216,19 @@
162
216
  }
163
217
 
164
218
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid:focus-within {
165
- outline-offset: 0;
219
+ @if not enabled('enable-v12-release') {
220
+ &:not(:has(.#{$prefix}--list-box__wrapper--fluid-invalid)) {
221
+ outline-offset: 0;
222
+ }
223
+ }
166
224
  }
167
225
 
168
- .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
169
- .#{$prefix}--list-box,
170
- .#{$prefix}--list-box__wrapper--fluid .#{$prefix}--list-box--warning {
171
- border-block-end: 1px solid transparent;
226
+ @if not enabled('enable-v12-release') {
227
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
228
+ .#{$prefix}--list-box,
229
+ .#{$prefix}--list-box__wrapper--fluid .#{$prefix}--list-box--warning {
230
+ border-block-end: 1px solid transparent;
231
+ }
172
232
  }
173
233
 
174
234
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
@@ -178,12 +238,18 @@
178
238
  ~ .#{$prefix}--form-requirement {
179
239
  padding: convert.to-rem(8px) 4rem convert.to-rem(8px) $spacing-05;
180
240
  margin-block-start: 0;
241
+
242
+ @if enabled('enable-v12-release') {
243
+ border-radius: $border-radius-04;
244
+ }
181
245
  }
182
246
 
183
247
  .#{$prefix}--list-box__wrapper--fluid
184
248
  .#{$prefix}--list-box--warning
185
249
  ~ .#{$prefix}--form-requirement {
186
- border-block-end: 1px solid $border-strong;
250
+ @if not enabled('enable-v12-release') {
251
+ border-block-end: 1px solid $border-strong;
252
+ }
187
253
  }
188
254
 
189
255
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
@@ -252,8 +318,21 @@
252
318
 
253
319
  // Skeleton styles
254
320
  .#{$prefix}--list-box__wrapper--fluid .#{$prefix}--skeleton {
255
- background: $skeleton-background;
256
- border-block-end: 1px solid $skeleton-element;
321
+ @if enabled('enable-v12-release') {
322
+ border: 1px solid transparent;
323
+ border-radius: $border-radius-04;
324
+ background:
325
+ linear-gradient($skeleton-background, $skeleton-background) padding-box,
326
+ linear-gradient(
327
+ to bottom,
328
+ $border-subtle calc(100% - 4px),
329
+ $skeleton-element 100%
330
+ )
331
+ border-box;
332
+ } @else {
333
+ background: $skeleton-background;
334
+ border-block-end: 1px solid $skeleton-element;
335
+ }
257
336
  }
258
337
 
259
338
  .#{$prefix}--list-box__wrapper--fluid