@bi-digital/css 0.11.10 → 0.11.11

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 (35) hide show
  1. package/dist/baseline.css +4 -2
  2. package/dist/components/alert.css +109 -111
  3. package/dist/components/avatar.css +45 -47
  4. package/dist/components/badge.css +88 -88
  5. package/dist/components/button.css +117 -117
  6. package/dist/components/card.css +268 -282
  7. package/dist/components/checkbox-subsection.css +15 -15
  8. package/dist/components/chip.css +146 -146
  9. package/dist/components/details.css +88 -92
  10. package/dist/components/dialog.css +99 -97
  11. package/dist/components/dropdown.css +23 -25
  12. package/dist/components/field.css +204 -202
  13. package/dist/components/fieldset.css +20 -22
  14. package/dist/components/filter-group.css +80 -80
  15. package/dist/components/footer.css +110 -124
  16. package/dist/components/icons.css +30 -30
  17. package/dist/components/input.css +184 -186
  18. package/dist/components/label.css +17 -17
  19. package/dist/components/link.css +47 -47
  20. package/dist/components/logo.css +32 -34
  21. package/dist/components/navbar.css +46 -50
  22. package/dist/components/pagination.css +29 -27
  23. package/dist/components/popover.css +40 -40
  24. package/dist/components/search.css +12 -8
  25. package/dist/components/skip-link.css +8 -10
  26. package/dist/components/spinner.css +22 -25
  27. package/dist/components/sticky-header.css +1 -3
  28. package/dist/components/sub-navbar.css +23 -25
  29. package/dist/components/tabs.css +109 -113
  30. package/dist/components/tooltip.css +30 -30
  31. package/dist/components/validation-message.css +9 -9
  32. package/dist/components.css +1996 -2037
  33. package/dist/index.css +4 -2
  34. package/dist/salesforce.css +1996 -2037
  35. package/package.json +2 -2
@@ -6,15 +6,13 @@
6
6
  --bic-alert-icon-size: var(--bi-icon-medium);
7
7
  --bic-alert-gap: var(--bi-scale-1x);
8
8
  --bic-alert-padding: var(--bi-scale-2x);
9
- }
10
9
 
11
- .bi-alert[data-dark="true"] {
12
- --bic-alert-background: var(--bi-primary-95);
13
- --bic-alert-border-color: var(--bi-primary-85);
14
- --bic-alert-color: var(--bi-primary-5);
15
- }
10
+ &[data-dark="true"] {
11
+ --bic-alert-background: var(--bi-primary-95);
12
+ --bic-alert-border-color: var(--bi-primary-85);
13
+ --bic-alert-color: var(--bi-primary-5);
14
+ }
16
15
 
17
- .bi-alert {
18
16
  background: var(--bic-alert-background);
19
17
  color: var(--bic-alert-color);
20
18
  border: var(--bic-alert-border-width) solid var(--bic-alert-border-color);
@@ -25,111 +23,111 @@
25
23
  width: fit-content;
26
24
  display: grid;
27
25
  position: relative;
28
- }
29
26
 
30
- .bi-alert > svg {
31
- font-size: var(--bic-alert-icon-size);
32
- }
27
+ & > svg {
28
+ font-size: var(--bic-alert-icon-size);
29
+ }
33
30
 
34
- .bi-alert:has( > svg:first-child) {
35
- grid-template-columns: auto 1fr;
36
- }
31
+ &:has( > svg:first-child) {
32
+ grid-template-columns: auto 1fr;
33
+ }
37
34
 
38
- .bi-alert:has( > .bi-button:last-child) {
39
- grid-template-columns: 1fr auto;
40
- }
35
+ &:has( > .bi-button:last-child) {
36
+ grid-template-columns: 1fr auto;
41
37
 
42
- .bi-alert:has( > .bi-button:last-child):has( > svg:first-child) {
43
- grid-template-columns: auto 1fr auto;
44
- }
38
+ &:has( > svg:first-child) {
39
+ grid-template-columns: auto 1fr auto;
40
+ }
41
+ }
45
42
 
46
- .bi-alert > .bi-button {
47
- margin: calc(var(--bic-alert-padding) * -1);
48
- grid-area: 1 / 3;
49
- margin-left: 0;
50
- }
43
+ & > .bi-button {
44
+ margin: calc(var(--bic-alert-padding) * -1);
45
+ grid-area: 1 / 3;
46
+ margin-left: 0;
47
+ }
51
48
 
52
- .bi-alert[data-size="small"] {
53
- --bic-alert-icon-size: var(--bi-icon-small);
54
- --bic-alert-padding: var(--bi-scale-1x);
55
- --bic-alert-gap: var(--bi-scale-1x);
56
- }
49
+ &[data-size="small"] {
50
+ --bic-alert-icon-size: var(--bi-icon-small);
51
+ --bic-alert-padding: var(--bi-scale-1x);
52
+ --bic-alert-gap: var(--bi-scale-1x);
53
+ }
57
54
 
58
- .bi-alert[data-size="large"] {
59
- --bic-alert-padding: var(--bi-scale-3x);
60
- --bic-alert-gap: var(--bi-scale-2x);
61
- }
55
+ &[data-size="large"] {
56
+ --bic-alert-padding: var(--bi-scale-3x);
57
+ --bic-alert-gap: var(--bi-scale-2x);
58
+ }
62
59
 
63
- .bi-alert[data-variant="success"] {
64
- --bic-alert-background: var(--bi-success-5);
65
- --bic-alert-border-color: var(--bi-success-10);
66
- --bic-alert-color: var(--bi-success-90);
67
- }
60
+ &[data-variant="success"] {
61
+ --bic-alert-background: var(--bi-success-5);
62
+ --bic-alert-border-color: var(--bi-success-10);
63
+ --bic-alert-color: var(--bi-success-90);
68
64
 
69
- .bi-alert[data-variant="success"][data-dark="true"] {
70
- --bic-alert-background: var(--bi-success-95);
71
- --bic-alert-border-color: var(--bi-success-85);
72
- --bic-alert-color: var(--bi-success-5);
73
- }
65
+ &[data-dark="true"] {
66
+ --bic-alert-background: var(--bi-success-95);
67
+ --bic-alert-border-color: var(--bi-success-85);
68
+ --bic-alert-color: var(--bi-success-5);
69
+ }
70
+ }
74
71
 
75
- .bi-alert[data-variant="alert"] {
76
- --bic-alert-background: var(--bi-alert-10);
77
- --bic-alert-border-color: var(--bi-alert-15);
78
- --bic-alert-color: var(--bi-alert-90);
79
- }
72
+ &[data-variant="alert"] {
73
+ --bic-alert-background: var(--bi-alert-10);
74
+ --bic-alert-border-color: var(--bi-alert-15);
75
+ --bic-alert-color: var(--bi-alert-90);
80
76
 
81
- .bi-alert[data-variant="alert"][data-dark="true"] {
82
- --bic-alert-background: var(--bi-alert-95);
83
- --bic-alert-border-color: var(--bi-alert-85);
84
- --bic-alert-color: var(--bi-alert-5);
85
- }
77
+ &[data-dark="true"] {
78
+ --bic-alert-background: var(--bi-alert-95);
79
+ --bic-alert-border-color: var(--bi-alert-85);
80
+ --bic-alert-color: var(--bi-alert-5);
81
+ }
82
+ }
86
83
 
87
- .bi-alert[data-variant="warning"] {
88
- --bic-alert-background: var(--bi-warning-10);
89
- --bic-alert-border-color: var(--bi-warning-15);
90
- --bic-alert-color: var(--bi-warning-90);
91
- }
84
+ &[data-variant="warning"] {
85
+ --bic-alert-background: var(--bi-warning-10);
86
+ --bic-alert-border-color: var(--bi-warning-15);
87
+ --bic-alert-color: var(--bi-warning-90);
92
88
 
93
- .bi-alert[data-variant="warning"][data-dark="true"] {
94
- --bic-alert-background: var(--bi-warning-95);
95
- --bic-alert-border-color: var(--bi-warning-85);
96
- --bic-alert-color: var(--bi-warning-5);
97
- }
89
+ &[data-dark="true"] {
90
+ --bic-alert-background: var(--bi-warning-95);
91
+ --bic-alert-border-color: var(--bi-warning-85);
92
+ --bic-alert-color: var(--bi-warning-5);
93
+ }
94
+ }
98
95
 
99
- .bi-alert[data-variant="info"] {
100
- --bic-alert-background: var(--bi-info-5);
101
- --bic-alert-border-color: var(--bi-info-10);
102
- --bic-alert-color: var(--bi-info-90);
103
- }
96
+ &[data-variant="info"] {
97
+ --bic-alert-background: var(--bi-info-5);
98
+ --bic-alert-border-color: var(--bi-info-10);
99
+ --bic-alert-color: var(--bi-info-90);
104
100
 
105
- .bi-alert[data-variant="info"][data-dark="true"] {
106
- --bic-alert-background: var(--bi-info-90);
107
- --bic-alert-border-color: var(--bi-info-80);
108
- --bic-alert-color: var(--bi-info-10);
109
- }
101
+ &[data-dark="true"] {
102
+ --bic-alert-background: var(--bi-info-90);
103
+ --bic-alert-border-color: var(--bi-info-80);
104
+ --bic-alert-color: var(--bi-info-10);
105
+ }
106
+ }
110
107
 
111
- .bi-alert[data-variant="neutral"] {
112
- --bic-alert-background: var(--bi-neutral-10);
113
- --bic-alert-border-color: var(--bi-neutral-15);
114
- --bic-alert-color: var(--bi-neutral-95);
115
- }
108
+ &[data-variant="neutral"] {
109
+ --bic-alert-background: var(--bi-neutral-10);
110
+ --bic-alert-border-color: var(--bi-neutral-15);
111
+ --bic-alert-color: var(--bi-neutral-95);
116
112
 
117
- .bi-alert[data-variant="neutral"][data-dark="true"] {
118
- --bic-alert-background: var(--bi-neutral-90);
119
- --bic-alert-border-color: var(--bi-neutral-90);
120
- --bic-alert-color: var(--bi-neutral-30);
121
- }
113
+ &[data-dark="true"] {
114
+ --bic-alert-background: var(--bi-neutral-90);
115
+ --bic-alert-border-color: var(--bi-neutral-90);
116
+ --bic-alert-color: var(--bi-neutral-30);
117
+ }
118
+ }
122
119
 
123
- .bi-alert:has( > .bi-alert--footer) {
124
- width: 100%;
125
- }
120
+ &:has( > .bi-alert--footer) {
121
+ width: 100%;
122
+ }
126
123
 
127
- .bi-alert .bi-alert--footer {
128
- justify-content: flex-end;
129
- align-items: center;
130
- gap: var(--bic-alert-gap);
131
- grid-column: 1 / -1;
132
- display: flex;
124
+ & .bi-alert--footer {
125
+ justify-content: flex-end;
126
+ align-items: center;
127
+ gap: var(--bic-alert-gap);
128
+ grid-column: 1 / -1;
129
+ display: flex;
130
+ }
133
131
  }
134
132
 
135
133
  .bi-avatar {
@@ -137,14 +135,12 @@
137
135
  --bic-avatar-color: var(--bi-primary-90);
138
136
  --bic-avatar-size: var(--bi-scale-24x);
139
137
  --bic-avatar-font-size: 1.75rem;
140
- }
141
138
 
142
- .bi-avatar[data-dark="true"] {
143
- --bic-avatar-background-color: var(--bi-primary-85);
144
- --bic-avatar-color: var(--bi-primary-10);
145
- }
139
+ &[data-dark="true"] {
140
+ --bic-avatar-background-color: var(--bi-primary-85);
141
+ --bic-avatar-color: var(--bi-primary-10);
142
+ }
146
143
 
147
- .bi-avatar {
148
144
  border-radius: var(--bi-radius-full);
149
145
  background-color: var(--bic-avatar-background-color);
150
146
  color: var(--bic-avatar-color);
@@ -164,57 +160,57 @@
164
160
  text-decoration: none;
165
161
  display: flex;
166
162
  overflow: hidden;
167
- }
168
163
 
169
- .bi-avatar[data-color="info"] {
170
- --bic-avatar-background-color: var(--bi-info-10);
171
- --bic-avatar-color: var(--bi-info-90);
172
- }
164
+ &[data-color="info"] {
165
+ --bic-avatar-background-color: var(--bi-info-10);
166
+ --bic-avatar-color: var(--bi-info-90);
173
167
 
174
- .bi-avatar[data-color="info"][data-dark="true"] {
175
- --bic-avatar-background-color: var(--bi-info-85);
176
- --bic-avatar-color: var(--bi-info-10);
177
- }
168
+ &[data-dark="true"] {
169
+ --bic-avatar-background-color: var(--bi-info-85);
170
+ --bic-avatar-color: var(--bi-info-10);
171
+ }
172
+ }
178
173
 
179
- .bi-avatar[data-color="warning"] {
180
- --bic-avatar-background-color: var(--bi-warning-10);
181
- --bic-avatar-color: var(--bi-warning-90);
182
- }
174
+ &[data-color="warning"] {
175
+ --bic-avatar-background-color: var(--bi-warning-10);
176
+ --bic-avatar-color: var(--bi-warning-90);
183
177
 
184
- .bi-avatar[data-color="warning"][data-dark="true"] {
185
- --bic-avatar-background-color: var(--bi-warning-85);
186
- --bic-avatar-color: var(--bi-warning-10);
187
- }
178
+ &[data-dark="true"] {
179
+ --bic-avatar-background-color: var(--bi-warning-85);
180
+ --bic-avatar-color: var(--bi-warning-10);
181
+ }
182
+ }
188
183
 
189
- .bi-avatar[data-color="success"] {
190
- --bic-avatar-background-color: var(--bi-success-10);
191
- --bic-avatar-color: var(--bi-success-90);
192
- }
184
+ &[data-color="success"] {
185
+ --bic-avatar-background-color: var(--bi-success-10);
186
+ --bic-avatar-color: var(--bi-success-90);
193
187
 
194
- .bi-avatar[data-color="success"][data-dark="true"] {
195
- --bic-avatar-background-color: var(--bi-success-85);
196
- --bic-avatar-color: var(--bi-success-10);
197
- }
188
+ &[data-dark="true"] {
189
+ --bic-avatar-background-color: var(--bi-success-85);
190
+ --bic-avatar-color: var(--bi-success-10);
191
+ }
192
+ }
198
193
 
199
- .bi-avatar[data-color="alert"] {
200
- --bic-avatar-background-color: var(--bi-alert-10);
201
- --bic-avatar-color: var(--bi-alert-90);
202
- }
194
+ &[data-color="alert"] {
195
+ --bic-avatar-background-color: var(--bi-alert-10);
196
+ --bic-avatar-color: var(--bi-alert-90);
203
197
 
204
- .bi-avatar[data-color="alert"][data-dark="true"] {
205
- --bic-avatar-background-color: var(--bi-alert-85);
206
- --bic-avatar-color: var(--bi-alert-10);
207
- }
198
+ &[data-dark="true"] {
199
+ --bic-avatar-background-color: var(--bi-alert-85);
200
+ --bic-avatar-color: var(--bi-alert-10);
201
+ }
202
+ }
208
203
 
209
- .bi-avatar[data-size="small"] {
210
- --bic-avatar-size: var(--bi-scale-16x);
211
- --bic-avatar-font-size: 1.25rem;
212
- }
204
+ &[data-size="small"] {
205
+ --bic-avatar-size: var(--bi-scale-16x);
206
+ --bic-avatar-font-size: 1.25rem;
207
+ }
213
208
 
214
- .bi-avatar > img {
215
- object-fit: cover;
216
- width: 100%;
217
- height: 100%;
209
+ & > img {
210
+ object-fit: cover;
211
+ width: 100%;
212
+ height: 100%;
213
+ }
218
214
  }
219
215
 
220
216
  .bi-badge {
@@ -239,95 +235,95 @@
239
235
  justify-content: center;
240
236
  align-items: center;
241
237
  display: inline-flex;
242
- }
243
238
 
244
- .bi-badge[data-dark="true"] {
245
- --bic-badge-border-color: var(--bi-neutral-50);
246
- --bic-badge-color: var(--bi-neutral-10);
247
- }
239
+ &[data-dark="true"] {
240
+ --bic-badge-border-color: var(--bi-neutral-50);
241
+ --bic-badge-color: var(--bi-neutral-10);
242
+ }
248
243
 
249
- .bi-badge[data-single-letter="true"]:not([data-size="xs"]) {
250
- --bic-badge-border-radius: var(--bi-radius-full);
251
- min-width: var(--bic-badge-height);
252
- }
244
+ &[data-single-letter="true"]:not([data-size="xs"]) {
245
+ --bic-badge-border-radius: var(--bi-radius-full);
246
+ min-width: var(--bic-badge-height);
247
+ }
253
248
 
254
- .bi-badge[data-size="xs"] {
255
- --bic-badge-padding: 0 var(--bi-scale-0-50x);
256
- --bic-badge-font: var(--bi-font-body-xs);
257
- --bic-badge-border-radius: var(--bi-radius-small);
258
- --bic-badge-height: var(--bi-scale-4x);
259
- }
249
+ &[data-size="xs"] {
250
+ --bic-badge-padding: 0 var(--bi-scale-0-50x);
251
+ --bic-badge-font: var(--bi-font-body-xs);
252
+ --bic-badge-border-radius: var(--bi-radius-small);
253
+ --bic-badge-height: var(--bi-scale-4x);
254
+ }
260
255
 
261
- .bi-badge[data-size="small"] {
262
- --bic-badge-padding: 0 var(--bi-scale-1x);
263
- --bic-badge-font: var(--bi-font-body-xs);
264
- --bic-badge-height: var(--bi-scale-5x);
265
- }
256
+ &[data-size="small"] {
257
+ --bic-badge-padding: 0 var(--bi-scale-1x);
258
+ --bic-badge-font: var(--bi-font-body-xs);
259
+ --bic-badge-height: var(--bi-scale-5x);
260
+ }
266
261
 
267
- .bi-badge[data-color="warning"] {
268
- --bic-badge-background: var(--bi-secondary-10);
269
- --bic-badge-color: var(--bi-secondary-95);
270
- --bic-badge-border-color: var(--bic-badge-background);
271
- }
262
+ &[data-color="warning"] {
263
+ --bic-badge-background: var(--bi-secondary-10);
264
+ --bic-badge-color: var(--bi-secondary-95);
265
+ --bic-badge-border-color: var(--bic-badge-background);
272
266
 
273
- .bi-badge[data-color="warning"][data-dark="true"] {
274
- --bic-badge-background: var(--bi-secondary-100);
275
- --bic-badge-color: var(--bi-secondary-10);
276
- }
267
+ &[data-dark="true"] {
268
+ --bic-badge-background: var(--bi-secondary-100);
269
+ --bic-badge-color: var(--bi-secondary-10);
270
+ }
271
+ }
277
272
 
278
- .bi-badge[data-color="alert"] {
279
- --bic-badge-background: var(--bi-alert-10);
280
- --bic-badge-color: var(--bi-alert-85);
281
- --bic-badge-border-color: var(--bic-badge-background);
282
- }
273
+ &[data-color="alert"] {
274
+ --bic-badge-background: var(--bi-alert-10);
275
+ --bic-badge-color: var(--bi-alert-85);
276
+ --bic-badge-border-color: var(--bic-badge-background);
283
277
 
284
- .bi-badge[data-color="alert"][data-dark="true"] {
285
- --bic-badge-background: var(--bi-alert-100);
286
- --bic-badge-color: var(--bi-alert-10);
287
- }
278
+ &[data-dark="true"] {
279
+ --bic-badge-background: var(--bi-alert-100);
280
+ --bic-badge-color: var(--bi-alert-10);
281
+ }
282
+ }
288
283
 
289
- .bi-badge[data-color="success"] {
290
- --bic-badge-background: var(--bi-success-10);
291
- --bic-badge-color: var(--bi-success-95);
292
- --bic-badge-border-color: var(--bic-badge-background);
293
- }
284
+ &[data-color="success"] {
285
+ --bic-badge-background: var(--bi-success-10);
286
+ --bic-badge-color: var(--bi-success-95);
287
+ --bic-badge-border-color: var(--bic-badge-background);
294
288
 
295
- .bi-badge[data-color="success"][data-dark="true"] {
296
- --bic-badge-background: var(--bi-success-100);
297
- --bic-badge-color: var(--bi-success-10);
298
- }
289
+ &[data-dark="true"] {
290
+ --bic-badge-background: var(--bi-success-100);
291
+ --bic-badge-color: var(--bi-success-10);
292
+ }
293
+ }
299
294
 
300
- .bi-badge[data-color="brand"] {
301
- --bic-badge-background: var(--bi-primary-10);
302
- --bic-badge-color: var(--bi-primary-85);
303
- --bic-badge-border-color: var(--bic-badge-background);
304
- }
295
+ &[data-color="brand"] {
296
+ --bic-badge-background: var(--bi-primary-10);
297
+ --bic-badge-color: var(--bi-primary-85);
298
+ --bic-badge-border-color: var(--bic-badge-background);
305
299
 
306
- .bi-badge[data-color="brand"][data-dark="true"] {
307
- --bic-badge-background: var(--bi-primary-100);
308
- --bic-badge-color: var(--bi-primary-10);
309
- }
300
+ &[data-dark="true"] {
301
+ --bic-badge-background: var(--bi-primary-100);
302
+ --bic-badge-color: var(--bi-primary-10);
303
+ }
304
+ }
310
305
 
311
- .bi-badge[data-color="info"] {
312
- --bic-badge-background: var(--bi-info-10);
313
- --bic-badge-color: var(--bi-info-9);
314
- --bic-badge-border-color: var(--bic-badge-background);
315
- }
306
+ &[data-color="info"] {
307
+ --bic-badge-background: var(--bi-info-10);
308
+ --bic-badge-color: var(--bi-info-9);
309
+ --bic-badge-border-color: var(--bic-badge-background);
316
310
 
317
- .bi-badge[data-color="info"][data-dark="true"] {
318
- --bic-badge-background: var(--bi-info-100);
319
- --bic-badge-color: var(--bi-info-10);
320
- }
311
+ &[data-dark="true"] {
312
+ --bic-badge-background: var(--bi-info-100);
313
+ --bic-badge-color: var(--bi-info-10);
314
+ }
315
+ }
321
316
 
322
- .bi-badge[data-color="negative"] {
323
- --bic-badge-background: var(--bi-neutral-90);
324
- --bic-badge-color: var(--bi-basic-white);
325
- --bic-badge-border-color: var(--bic-badge-background);
326
- }
317
+ &[data-color="negative"] {
318
+ --bic-badge-background: var(--bi-neutral-90);
319
+ --bic-badge-color: var(--bi-basic-white);
320
+ --bic-badge-border-color: var(--bic-badge-background);
327
321
 
328
- .bi-badge[data-color="negative"][data-dark="true"] {
329
- --bic-badge-background: var(--bi-neutral-100);
330
- --bic-badge-color: var(--bi-neutral-10);
322
+ &[data-dark="true"] {
323
+ --bic-badge-background: var(--bi-neutral-100);
324
+ --bic-badge-color: var(--bi-neutral-10);
325
+ }
326
+ }
331
327
  }
332
328
 
333
329
  .bi-button {
@@ -372,156 +368,156 @@
372
368
  display: flex;
373
369
  position: relative;
374
370
  overflow: hidden;
375
- }
376
371
 
377
- .bi-button[data-dark="true"] {
378
- --bic-button-active-color: var(--bi-primary-30);
379
- --bic-button-focus-shadow-color: var(--bi-neutral-95);
380
- --bic-button-focus-outline-color: var(--bi-primary-30);
381
- }
372
+ &[data-dark="true"] {
373
+ --bic-button-active-color: var(--bi-primary-30);
374
+ --bic-button-focus-shadow-color: var(--bi-neutral-95);
375
+ --bic-button-focus-outline-color: var(--bi-primary-30);
376
+ }
382
377
 
383
- .bi-button[data-fullwidth="true"] {
384
- width: 100%;
385
- }
378
+ &[data-fullwidth="true"] {
379
+ width: 100%;
380
+ }
386
381
 
387
- .bi-button[data-active="true"], .bi-button[aria-expanded="true"] {
388
- box-shadow: 0px 0px 0px 1.5px var(--bic-button-active-color) inset;
389
- }
382
+ &[data-active="true"], &[aria-expanded="true"] {
383
+ box-shadow: 0px 0px 0px 1.5px var(--bic-button-active-color) inset;
384
+ }
390
385
 
391
- .bi-button:focus-visible {
392
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-button-focus-shadow-color), var(--bic-button-box-shadow));
393
- outline: var(--_bi--focus, 3px solid var(--bic-button-focus-outline-color));
394
- outline-offset: var(--_bi--focus, 2px);
395
- }
386
+ &:focus-visible {
387
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-button-focus-shadow-color), var(--bic-button-box-shadow));
388
+ outline: var(--_bi--focus, 3px solid var(--bic-button-focus-outline-color));
389
+ outline-offset: var(--_bi--focus, 2px);
396
390
 
397
- .bi-button:focus-visible * {
398
- --_bi--focus: ;
399
- }
391
+ & * {
392
+ --_bi--focus: ;
393
+ }
394
+ }
400
395
 
401
- .bi-button[data-size="small"] {
402
- --bic-button-font-size: .875rem;
403
- --bic-button-line-height: 1.25rem;
404
- --bic-button-padding-block: var(--bi-scale-1-5x);
405
- --bic-button-padding-inline: calc(var(--bi-scale-3x) + var(--bi-scale-0-50x));
406
- --bic-button-icon-size: var(--bi-icon-small);
407
- --bic-button-size: var(--bi-scale-8x);
408
- }
396
+ &[data-size="small"] {
397
+ --bic-button-font-size: .875rem;
398
+ --bic-button-line-height: 1.25rem;
399
+ --bic-button-padding-block: var(--bi-scale-1-5x);
400
+ --bic-button-padding-inline: calc(var(--bi-scale-3x) + var(--bi-scale-0-50x));
401
+ --bic-button-icon-size: var(--bi-icon-small);
402
+ --bic-button-size: var(--bi-scale-8x);
403
+ }
409
404
 
410
- .bi-button[data-size="large"] {
411
- --bic-button-padding-block: var(--bi-scale-2x);
412
- --bic-button-padding-inline: calc(var(--bi-scale-9x) + var(--bi-scale-0-50x));
413
- --bic-button-icon-size: var(--bi-icon-large);
414
- --bic-button-size: var(--bi-scale-14x);
415
- }
405
+ &[data-size="large"] {
406
+ --bic-button-padding-block: var(--bi-scale-2x);
407
+ --bic-button-padding-inline: calc(var(--bi-scale-9x) + var(--bi-scale-0-50x));
408
+ --bic-button-icon-size: var(--bi-icon-large);
409
+ --bic-button-size: var(--bi-scale-14x);
410
+ }
416
411
 
417
- .bi-button[data-icon] {
418
- width: var(--bic-button-size);
419
- height: var(--bic-button-size);
420
- --bic-button-font-size: var(--bic-button-icon-size);
421
- padding: 0;
422
- }
412
+ &[data-icon] {
413
+ width: var(--bic-button-size);
414
+ height: var(--bic-button-size);
415
+ --bic-button-font-size: var(--bic-button-icon-size);
416
+ padding: 0;
417
+ }
423
418
 
424
- .bi-button[data-skewed] {
425
- --_bic-button-skew-dist: calc(var(--bi-scale-1x) + (var(--bic-button-icon-size) * .25));
426
- --bic-button-padding-inline: var(--_bic-button-skew-dist);
427
- }
419
+ &[data-skewed] {
420
+ --_bic-button-skew-dist: calc(var(--bi-scale-1x) + (var(--bic-button-icon-size) * .25));
421
+ --bic-button-padding-inline: var(--_bic-button-skew-dist);
428
422
 
429
- .bi-button[data-skewed][data-skewed="start"] {
430
- margin-left: calc(var(--_bic-button-skew-dist) * -1);
431
- }
423
+ &[data-skewed="start"] {
424
+ margin-left: calc(var(--_bic-button-skew-dist) * -1);
432
425
 
433
- .bi-button[data-skewed][data-skewed="start"]:has(.bi-button--start-icon) {
434
- --bic-button-padding-inline: var(--bi-scale-0-50x) var(--bi-scale-2x);
435
- }
426
+ &:has(.bi-button--start-icon) {
427
+ --bic-button-padding-inline: var(--bi-scale-0-50x) var(--bi-scale-2x);
428
+ }
429
+ }
436
430
 
437
- .bi-button[data-skewed][data-skewed="end"] {
438
- margin-right: calc(var(--_bic-button-skew-dist) * -1);
439
- }
431
+ &[data-skewed="end"] {
432
+ margin-right: calc(var(--_bic-button-skew-dist) * -1);
440
433
 
441
- .bi-button[data-skewed][data-skewed="end"]:has(.bi-button--end-icon) {
442
- --bic-button-padding-inline: var(--bi-scale-2x) var(--bi-scale-0-50x);
443
- }
434
+ &:has(.bi-button--end-icon) {
435
+ --bic-button-padding-inline: var(--bi-scale-2x) var(--bi-scale-0-50x);
436
+ }
437
+ }
438
+ }
444
439
 
445
- .bi-button:not([data-variant]), .bi-button[data-variant="filled"] {
446
- --bic-button-color: var(--bi-basic-white);
447
- --bic-button-background: var(--bi-primary-50);
448
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
440
+ &:not([data-variant]), &[data-variant="filled"] {
441
+ --bic-button-color: var(--bi-basic-white);
442
+ --bic-button-background: var(--bi-primary-50);
443
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
449
444
  var(--bic-button-background);
450
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
445
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
451
446
  var(--bic-button-background);
452
- --bic-button-box-shadow: 0px 0px 0px 2px #ffffff1f inset, 0px 0px 0px 1px #0a0d122e inset,
447
+ --bic-button-box-shadow: 0px 0px 0px 2px #ffffff1f inset, 0px 0px 0px 1px #0a0d122e inset,
453
448
  0px -2px 0px 0px #0a0d120d inset, 0px 1px 2px 0px #0a0d120d;
454
- }
455
-
456
- .bi-button[data-variant="outlined"] {
457
- --bic-button-color: var(--bi-primary-50);
458
- --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
459
- --bic-button-background-hover: var(--bi-states-hover-dark);
460
- --bic-button-background-press: var(--bi-states-press-dark);
461
- }
449
+ }
462
450
 
463
- .bi-button[data-variant="outlined"][data-dark="true"] {
464
- --bic-button-color: var(--bi-basic-white);
465
- --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-basic-white) inset;
466
- --bic-button-background-hover: var(--bi-states-hover-light);
467
- --bic-button-background-press: var(--bi-states-press-light);
468
- }
451
+ &[data-variant="outlined"] {
452
+ --bic-button-color: var(--bi-primary-50);
453
+ --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
454
+ --bic-button-background-hover: var(--bi-states-hover-dark);
455
+ --bic-button-background-press: var(--bi-states-press-dark);
456
+
457
+ &[data-dark="true"] {
458
+ --bic-button-color: var(--bi-basic-white);
459
+ --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-basic-white) inset;
460
+ --bic-button-background-hover: var(--bi-states-hover-light);
461
+ --bic-button-background-press: var(--bi-states-press-light);
462
+ }
463
+ }
469
464
 
470
- .bi-button[data-variant="text"] {
471
- --bic-button-color: var(--bi-neutral-90);
472
- --bic-button-background-hover: var(--bi-states-hover-dark);
473
- --bic-button-background-press: var(--bi-states-press-dark);
474
- }
465
+ &[data-variant="text"] {
466
+ --bic-button-color: var(--bi-neutral-90);
467
+ --bic-button-background-hover: var(--bi-states-hover-dark);
468
+ --bic-button-background-press: var(--bi-states-press-dark);
475
469
 
476
- .bi-button[data-variant="text"][data-dark="true"] {
477
- --bic-button-color: var(--bi-basic-white);
478
- --bic-button-background-hover: var(--bi-states-hover-light);
479
- --bic-button-background-press: var(--bi-states-press-light);
480
- }
470
+ &[data-dark="true"] {
471
+ --bic-button-color: var(--bi-basic-white);
472
+ --bic-button-background-hover: var(--bi-states-hover-light);
473
+ --bic-button-background-press: var(--bi-states-press-light);
474
+ }
475
+ }
481
476
 
482
- .bi-button[data-variant="flat"] {
483
- --bic-button-color: var(--bi-primary-90);
484
- --bic-button-background: var(--bi-primary-5);
485
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
477
+ &[data-variant="flat"] {
478
+ --bic-button-color: var(--bi-primary-90);
479
+ --bic-button-background: var(--bi-primary-5);
480
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
486
481
  var(--bic-button-background);
487
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
482
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
488
483
  var(--bic-button-background);
489
- }
490
484
 
491
- .bi-button[data-variant="flat"][data-dark="true"] {
492
- --bic-button-color: var(--bi-basic-white);
493
- --bic-button-background: #ffffff1a;
494
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
485
+ &[data-dark="true"] {
486
+ --bic-button-color: var(--bi-basic-white);
487
+ --bic-button-background: #ffffff1a;
488
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
495
489
  var(--bic-button-background);
496
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
490
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
497
491
  var(--bic-button-background);
498
- }
492
+ }
493
+ }
499
494
 
500
- @media (hover: hover) and (pointer: fine) {
501
- .bi-button:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):hover {
502
- background: var(--bic-button-background-hover);
495
+ @media (hover: hover) and (pointer: fine) {
496
+ &:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):hover {
497
+ background: var(--bic-button-background-hover);
498
+ }
503
499
  }
504
- }
505
500
 
506
- .bi-button[aria-busy="true"] {
507
- cursor: progress;
508
- }
501
+ &[aria-busy="true"] {
502
+ cursor: progress;
503
+ }
509
504
 
510
- .bi-button:is(:disabled, [aria-disabled="true"]) {
511
- cursor: not-allowed;
512
- }
505
+ &:is(:disabled, [aria-disabled="true"]) {
506
+ cursor: not-allowed;
513
507
 
514
- .bi-button:is(:disabled, [aria-disabled="true"])[aria-busy="true"] {
515
- cursor: progress;
516
- }
508
+ &[aria-busy="true"] {
509
+ cursor: progress;
510
+ }
511
+ }
517
512
 
518
- .bi-button:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):active {
519
- background: var(--bic-button-background-press);
520
- }
513
+ &:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):active {
514
+ background: var(--bic-button-background-press);
515
+ }
521
516
 
522
- .bi-button .bi-button--start-icon, .bi-button .bi-button--end-icon {
523
- display: inherit;
524
- font-size: var(--bic-button-icon-size);
517
+ & .bi-button--start-icon, & .bi-button--end-icon {
518
+ display: inherit;
519
+ font-size: var(--bic-button-icon-size);
520
+ }
525
521
  }
526
522
 
527
523
  .bi-card {
@@ -552,30 +548,28 @@
552
548
  --bic-card-box-shadow-active-color: #0000000d;
553
549
  --bic-card-box-shadow-active-outer-border: 20px;
554
550
  --bic-card-box-shadow-active-inner-border: 10px;
555
- }
556
551
 
557
- .bi-card[data-dark="true"] {
558
- --bic-card-background-color: var(--bi-neutral-90);
559
- --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-neutral-70);
560
- --bic-card-border-color: var(--bi-neutral-70);
561
- --bic-card-color: var(--bi-neutral-5);
562
- --bic-card-header-title-color: var(--bi-neutral-5);
563
- --bic-card-header-bold-color: var(--bi-primary-20);
564
- --bic-card-header-label-color: var(--bi-neutral-30);
565
- --bic-card-content-color: var(--bi-neutral-30);
566
- --bic-card-actions-background-color: var(--bi-neutral-75);
567
- --bic-card-actions-icon-color: var(--bi-neutral-10);
568
- --bic-card-border-hover-color: var(--bi-neutral-25);
569
- --bic-card-box-shadow-hover-color: #b2cdf40d;
570
- --bic-card-box-shadow-focus-color: var(--bi-primary-30);
571
- --bic-card-box-shadow-focus-background-color: var(--bi-neutral-95);
572
- --bic-card-box-shadow-focus-outer-border: 4.5px;
573
- --bic-card-box-shadow-focus-inner-border: 4px;
574
- --bic-card-border-active-color: var(--bi-primary-50);
575
- --bic-card-box-shadow-active-color: #b2cdf40d;
576
- }
552
+ &[data-dark="true"] {
553
+ --bic-card-background-color: var(--bi-neutral-90);
554
+ --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-neutral-70);
555
+ --bic-card-border-color: var(--bi-neutral-70);
556
+ --bic-card-color: var(--bi-neutral-5);
557
+ --bic-card-header-title-color: var(--bi-neutral-5);
558
+ --bic-card-header-bold-color: var(--bi-primary-20);
559
+ --bic-card-header-label-color: var(--bi-neutral-30);
560
+ --bic-card-content-color: var(--bi-neutral-30);
561
+ --bic-card-actions-background-color: var(--bi-neutral-75);
562
+ --bic-card-actions-icon-color: var(--bi-neutral-10);
563
+ --bic-card-border-hover-color: var(--bi-neutral-25);
564
+ --bic-card-box-shadow-hover-color: #b2cdf40d;
565
+ --bic-card-box-shadow-focus-color: var(--bi-primary-30);
566
+ --bic-card-box-shadow-focus-background-color: var(--bi-neutral-95);
567
+ --bic-card-box-shadow-focus-outer-border: 4.5px;
568
+ --bic-card-box-shadow-focus-inner-border: 4px;
569
+ --bic-card-border-active-color: var(--bi-primary-50);
570
+ --bic-card-box-shadow-active-color: #b2cdf40d;
571
+ }
577
572
 
578
- .bi-card {
579
573
  width: 100%;
580
574
  box-shadow: var(--bic-card-box-shadow);
581
575
  border-radius: var(--bic-card-border-radius);
@@ -583,322 +577,310 @@
583
577
  color: var(--bic-card-color);
584
578
  flex-direction: row;
585
579
  display: flex;
586
- }
587
580
 
588
- .bi-card[data-orientation="horizontal"] > div:first-child {
589
- border-top-left-radius: var(--bic-card-border-radius);
590
- border-bottom-left-radius: var(--bic-card-border-radius);
591
- }
581
+ &[data-orientation="horizontal"] {
582
+ & > div:first-child {
583
+ border-top-left-radius: var(--bic-card-border-radius);
584
+ border-bottom-left-radius: var(--bic-card-border-radius);
585
+ }
592
586
 
593
- .bi-card[data-orientation="horizontal"] > div:last-child {
594
- border-top-right-radius: var(--bic-card-border-radius);
595
- border-bottom-right-radius: var(--bic-card-border-radius);
596
- }
587
+ & > div:last-child {
588
+ border-top-right-radius: var(--bic-card-border-radius);
589
+ border-bottom-right-radius: var(--bic-card-border-radius);
590
+ }
597
591
 
598
- .bi-card[data-orientation="horizontal"] {
599
- --bic-card-media-width: 15.75rem;
600
- }
592
+ --bic-card-media-width: 15.75rem;
601
593
 
602
- @media (width < 1024px) {
603
- .bi-card[data-orientation="horizontal"] {
604
- --bic-card-media-width: 14.5rem;
605
- }
606
- }
594
+ @media (width < 1024px) {
595
+ --bic-card-media-width: 14.5rem;
596
+ }
607
597
 
608
- @media (width < 600px) {
609
- .bi-card[data-orientation="horizontal"] {
610
- --bic-card-media-width: 8.4375rem;
598
+ @media (width < 600px) {
599
+ --bic-card-media-width: 8.4375rem;
600
+ }
611
601
  }
612
- }
613
-
614
- .bi-card[data-orientation="vertical"] {
615
- --bic-card-actions-flex-direction: row;
616
- --bic-card-content-lines: 4;
617
- --bic-card-media-date-width: 4rem;
618
- --bic-card-media-date-height: 3.5625rem;
619
- flex-direction: column;
620
- }
621
602
 
622
- .bi-card[data-orientation="vertical"] > div:first-child {
623
- border-top-left-radius: var(--bic-card-border-radius);
624
- border-top-right-radius: var(--bic-card-border-radius);
625
- }
603
+ &[data-orientation="vertical"] {
604
+ --bic-card-actions-flex-direction: row;
605
+ --bic-card-content-lines: 4;
606
+ --bic-card-media-date-width: 4rem;
607
+ --bic-card-media-date-height: 3.5625rem;
608
+ flex-direction: column;
626
609
 
627
- .bi-card[data-orientation="vertical"] > div:last-child {
628
- border-bottom-left-radius: var(--bic-card-border-radius);
629
- border-bottom-right-radius: var(--bic-card-border-radius);
630
- }
610
+ & > div:first-child {
611
+ border-top-left-radius: var(--bic-card-border-radius);
612
+ border-top-right-radius: var(--bic-card-border-radius);
613
+ }
631
614
 
632
- .bi-card[data-orientation="vertical"] .bi-card--actions {
633
- width: 100%;
634
- }
615
+ & > div:last-child {
616
+ border-bottom-left-radius: var(--bic-card-border-radius);
617
+ border-bottom-right-radius: var(--bic-card-border-radius);
618
+ }
635
619
 
636
- .bi-card[data-color="info"] {
637
- --bic-card-background-color: var(--bi-info-5);
638
- --bic-card-color: var(--bi-info-90);
639
- --bic-card-border-color: var(--bi-info-15);
640
- --bic-card-header-title-color: var(--bi-info-90);
641
- --bic-card-header-bold-color: var(--bi-info-90);
642
- --bic-card-header-label-color: var(--bi-info-90);
643
- }
620
+ & .bi-card--actions {
621
+ width: 100%;
622
+ }
623
+ }
644
624
 
645
- .bi-card[data-color="warning"] {
646
- --bic-card-background-color: var(--bi-warning-10);
647
- --bic-card-color: var(--bi-warning-90);
648
- --bic-card-border-color: var(--bi-warning-15);
649
- --bic-card-header-title-color: var(--bi-warning-90);
650
- --bic-card-header-bold-color: var(--bi-warning-90);
651
- --bic-card-header-label-color: var(--bi-warning-90);
652
- }
625
+ &[data-color="info"] {
626
+ --bic-card-background-color: var(--bi-info-5);
627
+ --bic-card-color: var(--bi-info-90);
628
+ --bic-card-border-color: var(--bi-info-15);
629
+ --bic-card-header-title-color: var(--bi-info-90);
630
+ --bic-card-header-bold-color: var(--bi-info-90);
631
+ --bic-card-header-label-color: var(--bi-info-90);
632
+ }
653
633
 
654
- .bi-card[data-color="primary"][data-dark="true"] {
655
- --bic-card-background-color: var(--bi-primary-90);
656
- --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-primary-75);
657
- --bic-card-border-color: var(--bi-primary-75);
658
- --bic-card-color: var(--bi-neutral-5);
659
- --bic-card-header-title-color: var(--bi-neutral-5);
660
- --bic-card-header-bold-color: var(--bi-primary-20);
661
- --bic-card-header-label-color: var(--bi-neutral-30);
662
- --bic-card-content-color: var(--bi-neutral-30);
663
- --bic-card-actions-background-color: var(--bi-primary-85);
664
- --bic-card-actions-icon-color: var(--bi-primary-10);
665
- --bic-card-border-hover-color: var(--bi-primary-40);
666
- --bic-card-box-shadow-focus-color: var(--bi-neutral-15);
667
- --bic-card-box-shadow-focus-background-color: var(--bi-primary-30);
668
- --bic-card-border-active-color: var(--bi-primary-10);
669
- }
634
+ &[data-color="warning"] {
635
+ --bic-card-background-color: var(--bi-warning-10);
636
+ --bic-card-color: var(--bi-warning-90);
637
+ --bic-card-border-color: var(--bi-warning-15);
638
+ --bic-card-header-title-color: var(--bi-warning-90);
639
+ --bic-card-header-bold-color: var(--bi-warning-90);
640
+ --bic-card-header-label-color: var(--bi-warning-90);
641
+ }
670
642
 
671
- .bi-card[data-error="true"] {
672
- box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-alert-50);
673
- --bic-card-border-color: transparent;
674
- }
643
+ &[data-color="primary"][data-dark="true"] {
644
+ --bic-card-background-color: var(--bi-primary-90);
645
+ --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-primary-75);
646
+ --bic-card-border-color: var(--bi-primary-75);
647
+ --bic-card-color: var(--bi-neutral-5);
648
+ --bic-card-header-title-color: var(--bi-neutral-5);
649
+ --bic-card-header-bold-color: var(--bi-primary-20);
650
+ --bic-card-header-label-color: var(--bi-neutral-30);
651
+ --bic-card-content-color: var(--bi-neutral-30);
652
+ --bic-card-actions-background-color: var(--bi-primary-85);
653
+ --bic-card-actions-icon-color: var(--bi-primary-10);
654
+ --bic-card-border-hover-color: var(--bi-primary-40);
655
+ --bic-card-box-shadow-focus-color: var(--bi-neutral-15);
656
+ --bic-card-box-shadow-focus-background-color: var(--bi-primary-30);
657
+ --bic-card-border-active-color: var(--bi-primary-10);
658
+ }
675
659
 
676
- .bi-card .bi-card--content {
677
- padding: var(--bic-card-content-padding);
678
- gap: var(--bi-scale-4x);
679
- border-radius: inherit;
680
- background: none;
681
- border: none;
682
- flex-direction: column;
683
- flex: auto;
684
- display: flex;
685
- overflow: hidden;
686
- }
660
+ &[data-error="true"] {
661
+ box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-alert-50);
662
+ --bic-card-border-color: transparent;
663
+ }
687
664
 
688
- .bi-card .bi-card--content > p {
689
- color: var(--bic-card-content-color);
690
- font: var(--bi-font-body-medium);
691
- white-space: break-spaces;
692
- text-overflow: ellipsis;
693
- -webkit-line-clamp: var(--bic-card-content-lines);
694
- line-clamp: var(--bic-card-content-lines);
695
- -webkit-box-orient: vertical;
696
- margin: 0;
697
- display: -webkit-box;
698
- overflow: hidden;
699
- }
665
+ & .bi-card--content {
666
+ padding: var(--bic-card-content-padding);
667
+ gap: var(--bi-scale-4x);
668
+ border-radius: inherit;
669
+ background: none;
670
+ border: none;
671
+ flex-direction: column;
672
+ flex: auto;
673
+ display: flex;
674
+ overflow: hidden;
675
+
676
+ & > p {
677
+ color: var(--bic-card-content-color);
678
+ font: var(--bi-font-body-medium);
679
+ white-space: break-spaces;
680
+ text-overflow: ellipsis;
681
+ -webkit-line-clamp: var(--bic-card-content-lines);
682
+ line-clamp: var(--bic-card-content-lines);
683
+ -webkit-box-orient: vertical;
684
+ margin: 0;
685
+ display: -webkit-box;
686
+ overflow: hidden;
687
+ }
700
688
 
701
- @media (width < 600px) {
702
- .bi-card .bi-card--content {
703
- --bic-card-content-padding: var(--bi-scale-3x);
704
- gap: var(--bi-scale-3x);
689
+ @media (width < 600px) {
690
+ --bic-card-content-padding: var(--bi-scale-3x);
691
+ gap: var(--bi-scale-3x);
692
+ }
705
693
  }
706
- }
707
694
 
708
- :is(.bi-card, .bi-card .bi-card--content):is(a, button) {
709
- cursor: pointer;
710
- text-decoration: none;
711
- transition: box-shadow .25s ease-in-out;
712
- position: relative;
713
- }
695
+ &, & .bi-card--content {
696
+ &:is(a, button) {
697
+ cursor: pointer;
698
+ text-decoration: none;
699
+ transition: box-shadow .25s ease-in-out;
700
+ position: relative;
714
701
 
715
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):focus-visible {
716
- box-shadow: 0 0 0 var(--bic-card-box-shadow-focus-inner-border) var(--bic-card-box-shadow-focus-background-color),
702
+ &:not(.disabled) {
703
+ &:focus-visible {
704
+ box-shadow: 0 0 0 var(--bic-card-box-shadow-focus-inner-border) var(--bic-card-box-shadow-focus-background-color),
717
705
  0 0 0 var(--bic-card-box-shadow-focus-outer-border) var(--bic-card-box-shadow-focus-color);
718
- outline: var(--_bi--focus, 1.5px solid var(--bic-card-box-shadow-focus-color));
719
- outline-offset: var(--_bi--focus, 2px);
720
- }
706
+ outline: var(--_bi--focus, 1.5px solid var(--bic-card-box-shadow-focus-color));
707
+ outline-offset: var(--_bi--focus, 2px);
721
708
 
722
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):focus-visible * {
723
- --_bi--focus: ;
724
- }
709
+ & * {
710
+ --_bi--focus: ;
711
+ }
712
+ }
725
713
 
726
- @media (hover: hover) and (pointer: fine) {
727
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):hover {
728
- box-shadow: 0px 0px 0px var(--bi-stroke-thick) var(--bic-card-border-hover-color),
714
+ @media (hover: hover) and (pointer: fine) {
715
+ &:hover {
716
+ box-shadow: 0px 0px 0px var(--bi-stroke-thick) var(--bic-card-border-hover-color),
729
717
  0px 0px 20px var(--bi-scale-1-5x) var(--bic-card-box-shadow-hover-color),
730
718
  0px 0px 10px 0px var(--bic-card-box-shadow-hover-color);
731
- }
732
- }
719
+ }
720
+ }
733
721
 
734
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):active {
735
- box-shadow: 0px 0px 0px var(--bi-stroke-medium) var(--bic-card-border-active-color),
722
+ &:active {
723
+ box-shadow: 0px 0px 0px var(--bi-stroke-medium) var(--bic-card-border-active-color),
736
724
  0px 0px 20px var(--bi-scale-1-5x) var(--bic-card-box-shadow-active-color),
737
725
  0px 0px 10px 0px var(--bic-card-box-shadow-active-color);
738
- }
726
+ }
727
+ }
739
728
 
740
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):disabled {
741
- cursor: not-allowed;
742
- }
729
+ &:disabled {
730
+ cursor: not-allowed;
731
+ }
732
+ }
733
+ }
743
734
 
744
- .bi-card .bi-card--actions {
745
- flex-direction: var(--bic-card-actions-flex-direction, column);
746
- justify-content: center;
747
- gap: var(--bi-scale-1x);
748
- width: var(--bi-scale-14x);
749
- background-color: var(--bic-card-actions-background-color);
750
- display: flex;
751
- }
735
+ & .bi-card--actions {
736
+ flex-direction: var(--bic-card-actions-flex-direction, column);
737
+ justify-content: center;
738
+ gap: var(--bi-scale-1x);
739
+ width: var(--bi-scale-14x);
740
+ background-color: var(--bic-card-actions-background-color);
741
+ display: flex;
742
+
743
+ @media (width < 600px) {
744
+ width: var(--bi-scale-11x);
745
+ }
752
746
 
753
- @media (width < 600px) {
754
- .bi-card .bi-card--actions {
755
- width: var(--bi-scale-11x);
747
+ & .bi-card--action {
748
+ --bic-button-font-size: var(--bi-icon-medium);
749
+ --bic-button-color: var(--bic-card-actions-icon-color);
750
+ --bic-button-size: var(--bi-scale-14x);
751
+ flex: 1;
752
+
753
+ @media (width < 600px) {
754
+ --bic-button-size: var(--bi-scale-11x);
755
+ }
756
+ }
756
757
  }
757
- }
758
758
 
759
- .bi-card .bi-card--actions .bi-card--action {
760
- --bic-button-font-size: var(--bi-icon-medium);
761
- --bic-button-color: var(--bic-card-actions-icon-color);
762
- --bic-button-size: var(--bi-scale-14x);
763
- flex: 1;
764
- }
759
+ & .bi-card--header {
760
+ font: var(--bi-font-body-medium);
761
+ gap: var(--bi-scale-0-50x);
762
+ word-wrap: break-word;
763
+ word-break: break-word;
764
+ flex-direction: column;
765
+ width: 100%;
766
+ display: flex;
767
+
768
+ & .bi-card--header-label {
769
+ color: var(--bic-card-header-label-color);
770
+ margin: 0;
771
+
772
+ @media (width < 600px) {
773
+ font: var(--bi-font-body-small);
774
+ }
775
+
776
+ & .bi-card--header-bold {
777
+ color: var(--bic-card-header-bold-color);
778
+ font-weight: var(--bi-font-weight-bold);
779
+ }
780
+
781
+ & .bi-card--header-dot {
782
+ width: var(--bi-scale-0-50x);
783
+ height: var(--bi-scale-0-50x);
784
+ margin: auto var(--bi-scale-1x);
785
+ vertical-align: middle;
786
+ background-color: currentColor;
787
+ border-radius: 50%;
788
+ display: inline-block;
789
+ }
790
+ }
765
791
 
766
- @media (width < 600px) {
767
- .bi-card .bi-card--actions .bi-card--action {
768
- --bic-button-size: var(--bi-scale-11x);
792
+ & .bi-card--header-title {
793
+ font: var(--bi-font-title-bold-small);
794
+ color: var(--bic-card-header-title-color);
795
+ text-overflow: ellipsis;
796
+ -webkit-line-clamp: 2;
797
+ line-clamp: 2;
798
+ -webkit-box-orient: vertical;
799
+ margin: 0;
800
+ display: -webkit-box;
801
+ overflow: hidden;
802
+
803
+ @media (width < 600px) {
804
+ font: var(--bi-font-title-bold-xs);
805
+ }
806
+ }
769
807
  }
770
- }
771
808
 
772
- .bi-card .bi-card--header {
773
- font: var(--bi-font-body-medium);
774
- gap: var(--bi-scale-0-50x);
775
- word-wrap: break-word;
776
- word-break: break-word;
777
- flex-direction: column;
778
- width: 100%;
779
- display: flex;
780
- }
809
+ & .bi-card--media {
810
+ width: var(--bic-card-media-width);
811
+ min-width: var(--bic-card-media-width);
812
+ display: block;
813
+ position: relative;
814
+
815
+ & > :is(audio, figure, iframe, img, video) {
816
+ border-radius: inherit;
817
+ object-fit: cover;
818
+ aspect-ratio: 4 / 3;
819
+ width: 100%;
820
+ display: block;
821
+
822
+ @media (width < 600px) {
823
+ aspect-ratio: 3 / 2;
824
+ }
825
+ }
781
826
 
782
- .bi-card .bi-card--header .bi-card--header-label {
783
- color: var(--bic-card-header-label-color);
784
- margin: 0;
785
- }
827
+ & .bi-card--media-overlay {
828
+ top: var(--bi-scale-4x);
829
+ left: var(--bi-scale-4x);
830
+ right: var(--bi-scale-4x);
831
+ flex-wrap: wrap;
832
+ width: fit-content;
833
+ display: flex;
834
+ position: absolute;
835
+ }
836
+ }
786
837
 
787
- @media (width < 600px) {
788
- .bi-card .bi-card--header .bi-card--header-label {
789
- font: var(--bi-font-body-small);
838
+ & .bi-card--date {
839
+ width: var(--bic-card-media-date-width);
840
+ height: var(--bic-card-media-date-height);
841
+ padding: var(--bi-scale-1x) var(--bi-scale-1x) var(--bi-scale-2x);
842
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) var(--bi-radius-large) var(--bi-radius-large);
843
+ background: var(--bic-card-background-color);
844
+ box-shadow: 0px 8px 16px var(--bi-scale-1-5x) #26333f0d,
845
+ 0px 4px 6px 0px #26333f0d;
846
+ color: var(--bic-card-header-title-color);
847
+ text-align: center;
848
+ font: var(--bi-font-title-bold-medium);
849
+ flex-direction: column;
850
+ justify-content: center;
851
+ align-items: center;
852
+ margin: 0;
853
+ display: flex;
854
+
855
+ & span {
856
+ color: var(--bic-card-header-bold-color);
857
+ font-size: .8125rem;
858
+ line-height: 1.15;
859
+ }
790
860
  }
791
861
  }
792
862
 
793
- .bi-card .bi-card--header .bi-card--header-label .bi-card--header-bold {
794
- color: var(--bic-card-header-bold-color);
795
- font-weight: var(--bi-font-weight-bold);
796
- }
863
+ .bi-checkbox-subsection {
864
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
865
+ display: flex;
797
866
 
798
- .bi-card .bi-card--header .bi-card--header-label .bi-card--header-dot {
799
- width: var(--bi-scale-0-50x);
800
- height: var(--bi-scale-0-50x);
801
- margin: auto var(--bi-scale-1x);
802
- vertical-align: middle;
803
- background-color: currentColor;
804
- border-radius: 50%;
805
- display: inline-block;
806
- }
807
-
808
- .bi-card .bi-card--header .bi-card--header-title {
809
- font: var(--bi-font-title-bold-small);
810
- color: var(--bic-card-header-title-color);
811
- text-overflow: ellipsis;
812
- -webkit-line-clamp: 2;
813
- line-clamp: 2;
814
- -webkit-box-orient: vertical;
815
- margin: 0;
816
- display: -webkit-box;
817
- overflow: hidden;
818
- }
819
-
820
- @media (width < 600px) {
821
- .bi-card .bi-card--header .bi-card--header-title {
822
- font: var(--bi-font-title-bold-xs);
867
+ &[data-dark="true"] {
868
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
823
869
  }
824
- }
825
-
826
- .bi-card .bi-card--media {
827
- width: var(--bic-card-media-width);
828
- min-width: var(--bic-card-media-width);
829
- display: block;
830
- position: relative;
831
- }
832
870
 
833
- .bi-card .bi-card--media > :is(audio, figure, iframe, img, video) {
834
- border-radius: inherit;
835
- object-fit: cover;
836
- aspect-ratio: 4 / 3;
837
- width: 100%;
838
- display: block;
839
- }
840
-
841
- @media (width < 600px) {
842
- .bi-card .bi-card--media > :is(audio, figure, iframe, img, video) {
843
- aspect-ratio: 3 / 2;
871
+ & > div:first-child {
872
+ margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
873
+ background-color: var(--bic-checkbox-subsection-line-bg);
874
+ width: var(--bi-stroke-medium);
844
875
  }
845
- }
846
-
847
- .bi-card .bi-card--media .bi-card--media-overlay {
848
- top: var(--bi-scale-4x);
849
- left: var(--bi-scale-4x);
850
- right: var(--bi-scale-4x);
851
- flex-wrap: wrap;
852
- width: fit-content;
853
- display: flex;
854
- position: absolute;
855
- }
856
-
857
- .bi-card .bi-card--date {
858
- width: var(--bic-card-media-date-width);
859
- height: var(--bic-card-media-date-height);
860
- padding: var(--bi-scale-1x) var(--bi-scale-1x) var(--bi-scale-2x);
861
- border-radius: var(--bi-radius-small) var(--bi-radius-small) var(--bi-radius-large) var(--bi-radius-large);
862
- background: var(--bic-card-background-color);
863
- box-shadow: 0px 8px 16px var(--bi-scale-1-5x) #26333f0d,
864
- 0px 4px 6px 0px #26333f0d;
865
- color: var(--bic-card-header-title-color);
866
- text-align: center;
867
- font: var(--bi-font-title-bold-medium);
868
- flex-direction: column;
869
- justify-content: center;
870
- align-items: center;
871
- margin: 0;
872
- display: flex;
873
- }
874
-
875
- .bi-card .bi-card--date span {
876
- color: var(--bic-card-header-bold-color);
877
- font-size: .8125rem;
878
- line-height: 1.15;
879
- }
880
-
881
- .bi-checkbox-subsection {
882
- --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
883
- display: flex;
884
- }
885
-
886
- .bi-checkbox-subsection[data-dark="true"] {
887
- --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
888
- }
889
-
890
- .bi-checkbox-subsection > div:first-child {
891
- margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
892
- background-color: var(--bic-checkbox-subsection-line-bg);
893
- width: var(--bi-stroke-medium);
894
- }
895
876
 
896
- .bi-checkbox-subsection > div:last-child {
897
- align-items: flex-start;
898
- gap: var(--bi-scale-0-50x);
899
- flex-direction: column;
900
- flex: 1;
901
- display: flex;
877
+ & > div:last-child {
878
+ align-items: flex-start;
879
+ gap: var(--bi-scale-0-50x);
880
+ flex-direction: column;
881
+ flex: 1;
882
+ display: flex;
883
+ }
902
884
  }
903
885
 
904
886
  .bi-chip {
@@ -922,191 +904,191 @@
922
904
  align-items: center;
923
905
  display: inline-flex;
924
906
  overflow: hidden;
925
- }
926
907
 
927
- .bi-chip[data-size="small"] {
928
- --bic-chip-padding: var(--bi-scale-0-50x) var(--bi-scale-2x);
929
- --bic-chip-font: var(--bi-font-body-small);
930
- --bic-chip-icon-size: var(--bi-scale-5x);
931
- }
908
+ &[data-size="small"] {
909
+ --bic-chip-padding: var(--bi-scale-0-50x) var(--bi-scale-2x);
910
+ --bic-chip-font: var(--bi-font-body-small);
911
+ --bic-chip-icon-size: var(--bi-scale-5x);
912
+ }
932
913
 
933
- .bi-chip[data-size="large"] {
934
- --bic-chip-padding: var(--bi-scale-2x) var(--bi-scale-4x);
935
- --bic-chip-font: var(--bi-font-body-large);
936
- }
914
+ &[data-size="large"] {
915
+ --bic-chip-padding: var(--bi-scale-2x) var(--bi-scale-4x);
916
+ --bic-chip-font: var(--bi-font-body-large);
917
+ }
937
918
 
938
- .bi-chip[data-dark="true"] {
939
- --bic-chip-focus-inner: var(--bi-neutral-95);
940
- --bic-chip-focus-outer: var(--bi-primary-30);
941
- --bic-chip-background-hover: var(--bi-states-hover-light);
942
- --bic-chip-background-press: var(--bi-states-press-light);
943
- }
919
+ &[data-dark="true"] {
920
+ --bic-chip-focus-inner: var(--bi-neutral-95);
921
+ --bic-chip-focus-outer: var(--bi-primary-30);
922
+ --bic-chip-background-hover: var(--bi-states-hover-light);
923
+ --bic-chip-background-press: var(--bi-states-press-light);
924
+ }
944
925
 
945
- .bi-chip[data-selected="true"] {
946
- --bic-chip-background-hover: var(--bi-states-hover-light);
947
- --bic-chip-background-press: var(--bi-states-press-light);
948
- }
926
+ &[data-selected="true"] {
927
+ --bic-chip-background-hover: var(--bi-states-hover-light);
928
+ --bic-chip-background-press: var(--bi-states-press-light);
929
+ }
949
930
 
950
- .bi-chip[data-color="white"] {
951
- --bic-chip-background: var(--bi-basic-white);
952
- }
931
+ &[data-color="white"] {
932
+ --bic-chip-background: var(--bi-basic-white);
953
933
 
954
- .bi-chip[data-color="white"][data-selected="true"] {
955
- --bic-chip-background: var(--bi-neutral-60);
956
- --bic-chip-text-color: var(--bi-basic-white);
957
- }
934
+ &[data-selected="true"] {
935
+ --bic-chip-background: var(--bi-neutral-60);
936
+ --bic-chip-text-color: var(--bi-basic-white);
937
+ }
958
938
 
959
- .bi-chip[data-color="white"][data-dark="true"] {
960
- --bic-chip-background: var(--bi-neutral-100);
961
- --bic-chip-text-color: var(--bi-basic-white);
962
- }
939
+ &[data-dark="true"] {
940
+ --bic-chip-background: var(--bi-neutral-100);
941
+ --bic-chip-text-color: var(--bi-basic-white);
942
+ }
963
943
 
964
- .bi-chip[data-color="white"][data-dark="true"][data-selected="true"] {
965
- --bic-chip-background: var(--bi-neutral-50);
966
- --bic-chip-text-color: var(--bi-basic-white);
967
- }
944
+ &[data-dark="true"][data-selected="true"] {
945
+ --bic-chip-background: var(--bi-neutral-50);
946
+ --bic-chip-text-color: var(--bi-basic-white);
947
+ }
948
+ }
968
949
 
969
- .bi-chip[data-color="neutral"] {
970
- --bic-chip-background: var(--bi-neutral-5);
971
- }
950
+ &[data-color="neutral"] {
951
+ --bic-chip-background: var(--bi-neutral-5);
972
952
 
973
- .bi-chip[data-color="neutral"][data-selected="true"] {
974
- --bic-chip-background: var(--bi-neutral-60);
975
- --bic-chip-text-color: var(--bi-basic-white);
976
- }
953
+ &[data-selected="true"] {
954
+ --bic-chip-background: var(--bi-neutral-60);
955
+ --bic-chip-text-color: var(--bi-basic-white);
956
+ }
977
957
 
978
- .bi-chip[data-color="neutral"][data-dark="true"] {
979
- --bic-chip-background: var(--bi-neutral-95);
980
- --bic-chip-text-color: var(--bi-basic-white);
981
- }
958
+ &[data-dark="true"] {
959
+ --bic-chip-background: var(--bi-neutral-95);
960
+ --bic-chip-text-color: var(--bi-basic-white);
961
+ }
982
962
 
983
- .bi-chip[data-color="neutral"][data-dark="true"][data-selected="true"] {
984
- --bic-chip-background: var(--bi-neutral-50);
985
- --bic-chip-text-color: var(--bi-basic-white);
986
- }
963
+ &[data-dark="true"][data-selected="true"] {
964
+ --bic-chip-background: var(--bi-neutral-50);
965
+ --bic-chip-text-color: var(--bi-basic-white);
966
+ }
967
+ }
987
968
 
988
- .bi-chip[data-color="primary"] {
989
- --bic-chip-background: var(--bi-primary-5);
990
- }
969
+ &[data-color="primary"] {
970
+ --bic-chip-background: var(--bi-primary-5);
991
971
 
992
- .bi-chip[data-color="primary"][data-selected="true"] {
993
- --bic-chip-background: var(--bi-primary-50);
994
- --bic-chip-text-color: var(--bi-basic-white);
995
- }
972
+ &[data-selected="true"] {
973
+ --bic-chip-background: var(--bi-primary-50);
974
+ --bic-chip-text-color: var(--bi-basic-white);
975
+ }
996
976
 
997
- .bi-chip[data-color="primary"][data-dark="true"] {
998
- --bic-chip-background: var(--bi-primary-85);
999
- --bic-chip-text-color: var(--bi-primary-10);
1000
- }
977
+ &[data-dark="true"] {
978
+ --bic-chip-background: var(--bi-primary-85);
979
+ --bic-chip-text-color: var(--bi-primary-10);
980
+ }
1001
981
 
1002
- .bi-chip[data-color="primary"][data-dark="true"][data-selected="true"] {
1003
- --bic-chip-background: var(--bi-primary-50);
1004
- --bic-chip-text-color: var(--bi-basic-white);
1005
- }
982
+ &[data-dark="true"][data-selected="true"] {
983
+ --bic-chip-background: var(--bi-primary-50);
984
+ --bic-chip-text-color: var(--bi-basic-white);
985
+ }
986
+ }
1006
987
 
1007
- .bi-chip[data-color="info"] {
1008
- --bic-chip-background: var(--bi-info-5);
1009
- }
988
+ &[data-color="info"] {
989
+ --bic-chip-background: var(--bi-info-5);
1010
990
 
1011
- .bi-chip[data-color="info"][data-selected="true"] {
1012
- --bic-chip-background: var(--bi-info-50);
1013
- --bic-chip-text-color: var(--bi-basic-white);
1014
- }
991
+ &[data-selected="true"] {
992
+ --bic-chip-background: var(--bi-info-50);
993
+ --bic-chip-text-color: var(--bi-basic-white);
994
+ }
1015
995
 
1016
- .bi-chip[data-color="info"][data-dark="true"] {
1017
- --bic-chip-background: var(--bi-info-95);
1018
- --bic-chip-text-color: var(--bi-info-15);
1019
- }
996
+ &[data-dark="true"] {
997
+ --bic-chip-background: var(--bi-info-95);
998
+ --bic-chip-text-color: var(--bi-info-15);
999
+ }
1020
1000
 
1021
- .bi-chip[data-color="info"][data-dark="true"][data-selected="true"] {
1022
- --bic-chip-background: var(--bi-info-50);
1023
- --bic-chip-text-color: var(--bi-basic-white);
1024
- }
1001
+ &[data-dark="true"][data-selected="true"] {
1002
+ --bic-chip-background: var(--bi-info-50);
1003
+ --bic-chip-text-color: var(--bi-basic-white);
1004
+ }
1005
+ }
1025
1006
 
1026
- .bi-chip[data-color="alert"] {
1027
- --bic-chip-background: var(--bi-alert-10);
1028
- }
1007
+ &[data-color="alert"] {
1008
+ --bic-chip-background: var(--bi-alert-10);
1029
1009
 
1030
- .bi-chip[data-color="alert"][data-selected="true"] {
1031
- --bic-chip-background: var(--bi-alert-60);
1032
- --bic-chip-text-color: var(--bi-basic-white);
1033
- }
1010
+ &[data-selected="true"] {
1011
+ --bic-chip-background: var(--bi-alert-60);
1012
+ --bic-chip-text-color: var(--bi-basic-white);
1013
+ }
1034
1014
 
1035
- .bi-chip[data-color="alert"][data-dark="true"] {
1036
- --bic-chip-background: var(--bi-alert-95);
1037
- --bic-chip-text-color: var(--bi-alert-15);
1038
- }
1015
+ &[data-dark="true"] {
1016
+ --bic-chip-background: var(--bi-alert-95);
1017
+ --bic-chip-text-color: var(--bi-alert-15);
1018
+ }
1039
1019
 
1040
- .bi-chip[data-color="alert"][data-dark="true"][data-selected="true"] {
1041
- --bic-chip-background: var(--bi-alert-60);
1042
- --bic-chip-text-color: var(--bi-basic-white);
1043
- }
1020
+ &[data-dark="true"][data-selected="true"] {
1021
+ --bic-chip-background: var(--bi-alert-60);
1022
+ --bic-chip-text-color: var(--bi-basic-white);
1023
+ }
1024
+ }
1044
1025
 
1045
- .bi-chip[data-color="warning"] {
1046
- --bic-chip-background: var(--bi-warning-10);
1047
- }
1026
+ &[data-color="warning"] {
1027
+ --bic-chip-background: var(--bi-warning-10);
1048
1028
 
1049
- .bi-chip[data-color="warning"][data-selected="true"] {
1050
- --bic-chip-background: var(--bi-warning-75);
1051
- --bic-chip-text-color: var(--bi-basic-white);
1052
- }
1029
+ &[data-selected="true"] {
1030
+ --bic-chip-background: var(--bi-warning-75);
1031
+ --bic-chip-text-color: var(--bi-basic-white);
1032
+ }
1053
1033
 
1054
- .bi-chip[data-color="warning"][data-dark="true"] {
1055
- --bic-chip-background: var(--bi-warning-90);
1056
- --bic-chip-text-color: var(--bi-warning-15);
1057
- }
1034
+ &[data-dark="true"] {
1035
+ --bic-chip-background: var(--bi-warning-90);
1036
+ --bic-chip-text-color: var(--bi-warning-15);
1037
+ }
1058
1038
 
1059
- .bi-chip[data-color="warning"][data-dark="true"][data-selected="true"] {
1060
- --bic-chip-background: var(--bi-warning-70);
1061
- --bic-chip-text-color: var(--bi-basic-white);
1062
- }
1039
+ &[data-dark="true"][data-selected="true"] {
1040
+ --bic-chip-background: var(--bi-warning-70);
1041
+ --bic-chip-text-color: var(--bi-basic-white);
1042
+ }
1043
+ }
1063
1044
 
1064
- .bi-chip[data-color="success"] {
1065
- --bic-chip-background: var(--bi-success-5);
1066
- }
1045
+ &[data-color="success"] {
1046
+ --bic-chip-background: var(--bi-success-5);
1067
1047
 
1068
- .bi-chip[data-color="success"][data-selected="true"] {
1069
- --bic-chip-background: var(--bi-success-70);
1070
- --bic-chip-text-color: var(--bi-basic-white);
1071
- }
1048
+ &[data-selected="true"] {
1049
+ --bic-chip-background: var(--bi-success-70);
1050
+ --bic-chip-text-color: var(--bi-basic-white);
1051
+ }
1072
1052
 
1073
- .bi-chip[data-color="success"][data-dark="true"] {
1074
- --bic-chip-background: var(--bi-success-90);
1075
- --bic-chip-text-color: var(--bi-success-10);
1076
- }
1053
+ &[data-dark="true"] {
1054
+ --bic-chip-background: var(--bi-success-90);
1055
+ --bic-chip-text-color: var(--bi-success-10);
1056
+ }
1077
1057
 
1078
- .bi-chip[data-color="success"][data-dark="true"][data-selected="true"] {
1079
- --bic-chip-background: var(--bi-success-70);
1080
- --bic-chip-text-color: var(--bi-basic-white);
1081
- }
1058
+ &[data-dark="true"][data-selected="true"] {
1059
+ --bic-chip-background: var(--bi-success-70);
1060
+ --bic-chip-text-color: var(--bi-basic-white);
1061
+ }
1062
+ }
1082
1063
 
1083
- .bi-chip:is(button), .bi-chip:is(a) {
1084
- cursor: pointer;
1085
- border: none;
1086
- text-decoration: none;
1087
- }
1064
+ &:is(button), &:is(a) {
1065
+ cursor: pointer;
1066
+ border: none;
1067
+ text-decoration: none;
1088
1068
 
1089
- :is(.bi-chip:is(button), .bi-chip:is(a)):focus-visible {
1090
- box-shadow: var(--bic-chip-focus-outer), var(--_bi--focus, 0 0 0 4.5px var(--bic-chip-focus-inner));
1091
- outline: var(--_bi--focus, 3px solid var(--bic-chip-focus-outer));
1092
- outline-offset: var(--_bi--focus, 2px);
1093
- }
1069
+ &:focus-visible {
1070
+ box-shadow: var(--bic-chip-focus-outer), var(--_bi--focus, 0 0 0 4.5px var(--bic-chip-focus-inner));
1071
+ outline: var(--_bi--focus, 3px solid var(--bic-chip-focus-outer));
1072
+ outline-offset: var(--_bi--focus, 2px);
1073
+ }
1094
1074
 
1095
- @media (hover: hover) and (pointer: fine) {
1096
- :is(.bi-chip:is(button), .bi-chip:is(a)):hover {
1097
- background: linear-gradient(0deg, var(--bic-chip-background-hover) 0%, var(--bic-chip-background-hover) 100%),
1075
+ @media (hover: hover) and (pointer: fine) {
1076
+ &:hover {
1077
+ background: linear-gradient(0deg, var(--bic-chip-background-hover) 0%, var(--bic-chip-background-hover) 100%),
1098
1078
  var(--bic-chip-background);
1099
- }
1100
- }
1079
+ }
1080
+ }
1101
1081
 
1102
- :is(.bi-chip:is(button), .bi-chip:is(a)):active {
1103
- background: linear-gradient(0deg, var(--bic-chip-background-press) 0%, var(--bic-chip-background-press) 100%),
1082
+ &:active {
1083
+ background: linear-gradient(0deg, var(--bic-chip-background-press) 0%, var(--bic-chip-background-press) 100%),
1104
1084
  var(--bic-chip-background);
1105
- }
1085
+ }
1086
+ }
1106
1087
 
1107
- .bi-chip > svg {
1108
- display: inherit;
1109
- font-size: var(--bic-chip-icon-size);
1088
+ & > svg {
1089
+ display: inherit;
1090
+ font-size: var(--bic-chip-icon-size);
1091
+ }
1110
1092
  }
1111
1093
 
1112
1094
  details.bi-details {
@@ -1120,21 +1102,19 @@ details.bi-details {
1120
1102
  --bic-details-padding: var(--bi-scale-4x);
1121
1103
  --bic-details-focus-shadow-color: var(--bi-basic-white);
1122
1104
  --bic-details-focus-outline-color: var(--bi-primary-50);
1123
- }
1124
1105
 
1125
- details.bi-details[data-dark="true"] {
1126
- --bic-details-background: var(--bi-neutral-90);
1127
- --bic-details-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
1106
+ &[data-dark="true"] {
1107
+ --bic-details-background: var(--bi-neutral-90);
1108
+ --bic-details-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
1128
1109
  var(--bic-details-background);
1129
- --bic-details-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
1110
+ --bic-details-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
1130
1111
  var(--bic-details-background);
1131
- --bic-details-border-color: var(--bi-neutral-70);
1132
- --bic-details-color: var(--bi-basic-white);
1133
- --bic-details-focus-shadow-color: var(--bi-neutral-95);
1134
- --bic-details-focus-outline-color: var(--bi-primary-30);
1135
- }
1112
+ --bic-details-border-color: var(--bi-neutral-70);
1113
+ --bic-details-color: var(--bi-basic-white);
1114
+ --bic-details-focus-shadow-color: var(--bi-neutral-95);
1115
+ --bic-details-focus-outline-color: var(--bi-primary-30);
1116
+ }
1136
1117
 
1137
- details.bi-details {
1138
1118
  font: var(--bi-font-body-large);
1139
1119
  background-color: var(--bic-details-background);
1140
1120
  color: var(--bic-details-color);
@@ -1143,113 +1123,111 @@ details.bi-details {
1143
1123
  border-style: solid;
1144
1124
  border-top-width: var(--bi-stroke-thin);
1145
1125
  border-bottom-width: var(--bi-stroke-thin);
1146
- }
1147
1126
 
1148
- details.bi-details + :is(details.bi-details) {
1149
- border-top: 0;
1150
- }
1151
-
1152
- details.bi-details summary {
1153
- padding: var(--bic-details-padding);
1154
- cursor: pointer;
1155
- justify-content: space-between;
1156
- align-items: center;
1157
- gap: var(--bi-scale-2x);
1158
- -webkit-user-select: none;
1159
- user-select: none;
1160
- font-weight: var(--bi-font-weight-bold);
1161
- flex-direction: row;
1162
- list-style: none;
1163
- display: flex;
1164
- position: relative;
1165
- }
1166
-
1167
- @media (hover: hover) and (pointer: fine) {
1168
- details.bi-details summary:hover {
1169
- background: var(--bic-details-background-hover);
1127
+ & + & {
1128
+ border-top: 0;
1170
1129
  }
1171
- }
1172
1130
 
1173
- details.bi-details summary:active {
1174
- background: var(--bic-details-background-press);
1175
- }
1131
+ & summary {
1132
+ padding: var(--bic-details-padding);
1133
+ cursor: pointer;
1134
+ justify-content: space-between;
1135
+ align-items: center;
1136
+ gap: var(--bi-scale-2x);
1137
+ -webkit-user-select: none;
1138
+ user-select: none;
1139
+ font-weight: var(--bi-font-weight-bold);
1140
+ flex-direction: row;
1141
+ list-style: none;
1142
+ display: flex;
1143
+ position: relative;
1144
+
1145
+ @media (hover: hover) and (pointer: fine) {
1146
+ &:hover {
1147
+ background: var(--bic-details-background-hover);
1148
+ }
1149
+ }
1176
1150
 
1177
- details.bi-details summary:focus-visible {
1178
- box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-details-focus-shadow-color));
1179
- outline: var(--_bi--focus, var(--bi-stroke-thick) solid var(--bic-details-focus-outline-color));
1180
- outline-offset: var(--_bi--focus, -2px);
1181
- border-radius: var(--bi-radius-medium);
1182
- }
1151
+ &:active {
1152
+ background: var(--bic-details-background-press);
1153
+ }
1183
1154
 
1184
- details.bi-details summary:focus-visible * {
1185
- --_bi--focus: ;
1186
- }
1155
+ &:focus-visible {
1156
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-details-focus-shadow-color));
1157
+ outline: var(--_bi--focus, var(--bi-stroke-thick) solid var(--bic-details-focus-outline-color));
1158
+ outline-offset: var(--_bi--focus, -2px);
1159
+ border-radius: var(--bi-radius-medium);
1187
1160
 
1188
- details.bi-details summary::marker {
1189
- display: none;
1190
- }
1161
+ & * {
1162
+ --_bi--focus: ;
1163
+ }
1164
+ }
1191
1165
 
1192
- details.bi-details summary::-webkit-details-marker {
1193
- display: none;
1194
- }
1166
+ &::marker {
1167
+ display: none;
1168
+ }
1195
1169
 
1196
- details.bi-details summary > svg {
1197
- font-size: var(--bi-icon-medium);
1198
- width: var(--bi-scale-6x);
1199
- height: var(--bi-scale-6x);
1200
- flex-shrink: 0;
1201
- margin-left: auto;
1202
- }
1170
+ &::-webkit-details-marker {
1171
+ display: none;
1172
+ }
1203
1173
 
1204
- @media (prefers-reduced-motion: no-preference) {
1205
- details.bi-details summary > svg {
1206
- transition: transform .2s ease-in-out;
1174
+ & > svg {
1175
+ font-size: var(--bi-icon-medium);
1176
+ width: var(--bi-scale-6x);
1177
+ height: var(--bi-scale-6x);
1178
+ flex-shrink: 0;
1179
+ margin-left: auto;
1180
+
1181
+ @media (prefers-reduced-motion: no-preference) {
1182
+ transition: transform .2s ease-in-out;
1183
+ }
1184
+ }
1207
1185
  }
1208
- }
1209
1186
 
1210
- details.bi-details[open] summary > svg {
1211
- transform: rotate(180deg);
1212
- }
1187
+ &[open] summary > svg {
1188
+ transform: rotate(180deg);
1189
+ }
1213
1190
 
1214
- @supports (interpolate-size: allow-keywords) and selector(::details-content) {
1215
- @media (prefers-reduced-motion: no-preference) {
1216
- details.bi-details {
1191
+ @supports (interpolate-size: allow-keywords) and selector(::details-content) {
1192
+ @media (prefers-reduced-motion: no-preference) {
1217
1193
  interpolate-size: allow-keywords;
1218
1194
  }
1219
- }
1220
1195
 
1221
- details.bi-details::details-content {
1222
- transition: height .2s ease-in-out,
1196
+ &::details-content {
1197
+ transition: height .2s ease-in-out,
1223
1198
  content-visibility .2s ease-in-out allow-discrete;
1224
- height: 0;
1225
- overflow: clip;
1226
- }
1199
+ height: 0;
1200
+ overflow: clip;
1201
+ }
1227
1202
 
1228
- details.bi-details[open]::details-content {
1229
- height: auto;
1203
+ &[open]::details-content {
1204
+ height: auto;
1205
+ }
1230
1206
  }
1231
- }
1232
1207
 
1233
- details.bi-details > * {
1234
- padding: var(--bic-details-padding);
1235
- margin: 0;
1236
- overflow: clip;
1237
- }
1208
+ & > * {
1209
+ padding: var(--bic-details-padding);
1210
+ margin: 0;
1211
+ overflow: clip;
1238
1212
 
1239
- details.bi-details > *:not(summary) + * {
1240
- padding-top: 0;
1213
+ &:not(summary) + * {
1214
+ padding-top: 0;
1215
+ }
1216
+ }
1241
1217
  }
1242
1218
 
1243
1219
  .bi-card:has( > .bi-details) {
1244
1220
  overflow: clip;
1245
- }
1246
1221
 
1247
- .bi-card:has( > .bi-details) > .bi-details:first-child {
1248
- border-top: 0;
1249
- }
1222
+ & > .bi-details {
1223
+ &:first-child {
1224
+ border-top: 0;
1225
+ }
1250
1226
 
1251
- .bi-card:has( > .bi-details) > .bi-details:last-child {
1252
- border-bottom: 0;
1227
+ &:last-child {
1228
+ border-bottom: 0;
1229
+ }
1230
+ }
1253
1231
  }
1254
1232
 
1255
1233
  .bi-dialog {
@@ -1268,15 +1246,13 @@ details.bi-details > *:not(summary) + * {
1268
1246
  --bic-dialog-max-height: 80vh;
1269
1247
  --bic-dialog-max-width: 40rem;
1270
1248
  --bic-dialog-padding: var(--bi-scale-4x);
1271
- }
1272
1249
 
1273
- .bi-dialog[data-dark="true"] {
1274
- --bic-dialog-background: var(--bi-primary-95);
1275
- --bic-dialog-border-color: var(--bi-neutral-70);
1276
- --bic-dialog-color: var(--bi-basic-white);
1277
- }
1250
+ &[data-dark="true"] {
1251
+ --bic-dialog-background: var(--bi-primary-95);
1252
+ --bic-dialog-border-color: var(--bi-neutral-70);
1253
+ --bic-dialog-color: var(--bi-basic-white);
1254
+ }
1278
1255
 
1279
- .bi-dialog {
1280
1256
  animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) forwards;
1281
1257
  background: var(--bic-dialog-background);
1282
1258
  border-radius: var(--bic-dialog-border-radius);
@@ -1292,116 +1268,120 @@ details.bi-details > *:not(summary) + * {
1292
1268
  position: fixed;
1293
1269
  inset: 0;
1294
1270
  overflow: auto;
1295
- }
1296
1271
 
1297
- .bi-dialog::backdrop {
1298
- animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1299
- background: var(--bic-dialog-backdrop-background, #00000080);
1300
- }
1272
+ &::backdrop {
1273
+ animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1274
+ background: var(--bic-dialog-backdrop-background, #00000080);
1275
+ }
1301
1276
 
1302
- .bi-dialog[open] {
1303
- animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out,
1277
+ &[open] {
1278
+ animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out,
1304
1279
  bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1305
- display: flex;
1306
- }
1280
+ display: flex;
1281
+ }
1307
1282
 
1308
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"]) {
1309
- --bic-dialog-max-height: unset;
1310
- border-radius: var(--bic-dialog-anchor-border-radius);
1311
- transition: display var(--bic-dialog-animation-duration) allow-discrete,
1283
+ &:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"]) {
1284
+ --bic-dialog-max-height: unset;
1285
+ border-radius: var(--bic-dialog-anchor-border-radius);
1286
+ transition: display var(--bic-dialog-animation-duration) allow-discrete,
1312
1287
  overlay var(--bic-dialog-animation-duration) allow-discrete;
1313
- transform: translate(var(--bic-dialog-anchor-closed-translate));
1314
- animation: bi-dialog-slide-out-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1315
- }
1288
+ transform: translate(var(--bic-dialog-anchor-closed-translate));
1289
+ animation: bi-dialog-slide-out-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1316
1290
 
1317
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"])[open] {
1318
- animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1319
- transform: translate(0);
1320
- }
1291
+ &[open] {
1292
+ animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1293
+ transform: translate(0);
1294
+ }
1295
+ }
1321
1296
 
1322
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"]) {
1323
- min-height: var(--bic-dialog-anchor-block-min-height);
1324
- max-height: calc(100dvh - var(--bi-layout-navbar-height));
1325
- max-width: 100dvw;
1326
- }
1297
+ &:where([data-anchor="bottom"], [data-anchor="top"]) {
1298
+ min-height: var(--bic-dialog-anchor-block-min-height);
1299
+ max-height: calc(100dvh - var(--bi-layout-navbar-height));
1300
+ max-width: 100dvw;
1301
+ }
1327
1302
 
1328
- .bi-dialog:where([data-anchor="left"], [data-anchor="right"]) {
1329
- min-width: var(--bic-dialog-anchor-inline-min-width);
1330
- max-width: var(--bic-dialog-anchor-inline-max-width);
1331
- width: fit-content;
1332
- height: 100dvh;
1333
- }
1303
+ &:where([data-anchor="left"], [data-anchor="right"]) {
1304
+ min-width: var(--bic-dialog-anchor-inline-min-width);
1305
+ max-width: var(--bic-dialog-anchor-inline-max-width);
1306
+ width: fit-content;
1307
+ height: 100dvh;
1308
+ }
1334
1309
 
1335
- .bi-dialog[data-anchor="bottom"] {
1336
- --bic-dialog-anchor-closed-translate: 0, 100%;
1337
- border-bottom-right-radius: 0;
1338
- border-bottom-left-radius: 0;
1339
- top: auto;
1340
- }
1310
+ &[data-anchor="bottom"] {
1311
+ --bic-dialog-anchor-closed-translate: 0, 100%;
1312
+ border-bottom-right-radius: 0;
1313
+ border-bottom-left-radius: 0;
1314
+ top: auto;
1315
+ }
1341
1316
 
1342
- .bi-dialog[data-anchor="top"] {
1343
- --bic-dialog-anchor-closed-translate: 0, -100%;
1344
- border-top-left-radius: 0;
1345
- border-top-right-radius: 0;
1346
- bottom: auto;
1347
- }
1317
+ &[data-anchor="top"] {
1318
+ --bic-dialog-anchor-closed-translate: 0, -100%;
1319
+ border-top-left-radius: 0;
1320
+ border-top-right-radius: 0;
1321
+ bottom: auto;
1322
+ }
1348
1323
 
1349
- .bi-dialog[data-anchor="left"] {
1350
- --bic-dialog-anchor-closed-translate: -100%, 0;
1351
- border-top-left-radius: 0;
1352
- border-bottom-left-radius: 0;
1353
- right: auto;
1354
- }
1324
+ &[data-anchor="left"] {
1325
+ --bic-dialog-anchor-closed-translate: -100%, 0;
1326
+ border-top-left-radius: 0;
1327
+ border-bottom-left-radius: 0;
1328
+ right: auto;
1329
+ }
1355
1330
 
1356
- .bi-dialog[data-anchor="right"] {
1357
- --bic-dialog-anchor-closed-translate: 100%, 0;
1358
- border-top-right-radius: 0;
1359
- border-bottom-right-radius: 0;
1360
- left: auto;
1361
- }
1331
+ &[data-anchor="right"] {
1332
+ --bic-dialog-anchor-closed-translate: 100%, 0;
1333
+ border-top-right-radius: 0;
1334
+ border-bottom-right-radius: 0;
1335
+ left: auto;
1336
+ }
1362
1337
 
1363
- @media (prefers-reduced-motion: reduce) {
1364
- .bi-dialog[open], .bi-dialog::backdrop {
1365
- animation: none;
1338
+ @media (prefers-reduced-motion: reduce) {
1339
+ &[open], &::backdrop {
1340
+ animation: none;
1341
+ }
1366
1342
  }
1367
- }
1368
1343
 
1369
- .bi-dialog > button.bi-dialog--close {
1370
- top: var(--bic-dialog-icon-spacing);
1371
- right: var(--bic-dialog-icon-spacing);
1372
- position: absolute;
1373
- }
1344
+ & > button.bi-dialog--close {
1345
+ top: var(--bic-dialog-icon-spacing);
1346
+ right: var(--bic-dialog-icon-spacing);
1347
+ position: absolute;
1348
+ }
1374
1349
 
1375
- .bi-dialog .bi-dialog--header {
1376
- padding: var(--bic-dialog-padding);
1377
- min-height: var(--bi-scale-16x);
1378
- font: var(--bi-font-title-bold-medium);
1379
- align-items: center;
1380
- margin: 0;
1381
- display: flex;
1382
- }
1350
+ & .bi-dialog--header {
1351
+ padding: var(--bic-dialog-padding);
1352
+ min-height: var(--bi-scale-16x);
1353
+ font: var(--bi-font-title-bold-medium);
1354
+ align-items: center;
1355
+ margin: 0;
1356
+ display: flex;
1357
+ }
1383
1358
 
1384
- .bi-dialog:has( > button.bi-dialog--close) .bi-dialog--header {
1385
- padding-right: var(--bi-scale-14x);
1386
- }
1359
+ &:has( > button.bi-dialog--close) {
1360
+ & .bi-dialog--header {
1361
+ padding-right: var(--bi-scale-14x);
1362
+ }
1363
+ }
1387
1364
 
1388
- .bi-dialog .bi-dialog--content {
1389
- padding: var(--bic-dialog-padding);
1390
- overflow-behavior: contain;
1391
- overflow: auto;
1392
- }
1365
+ & .bi-dialog--content {
1366
+ padding: var(--bic-dialog-padding);
1367
+ overflow-behavior: contain;
1368
+ overflow: auto;
1369
+ }
1393
1370
 
1394
- .bi-dialog .bi-dialog--footer {
1395
- padding: var(--bic-dialog-padding);
1396
- justify-content: flex-end;
1397
- align-items: center;
1398
- gap: var(--bi-scale-4x);
1399
- margin-top: auto;
1400
- display: flex;
1401
- }
1371
+ & .bi-dialog--footer {
1372
+ padding: var(--bic-dialog-padding);
1373
+ justify-content: flex-end;
1374
+ align-items: center;
1375
+ gap: var(--bi-scale-4x);
1376
+ margin-top: auto;
1377
+ display: flex;
1378
+ }
1402
1379
 
1403
- :is(.bi-dialog .bi-dialog--header, .bi-dialog .bi-dialog--content, .bi-dialog .bi-dialog--footer):not([data-no-border="true"]):not(:first-child) {
1404
- border-top: var(--bi-stroke-thin) solid var(--bic-dialog-border-color);
1380
+ & .bi-dialog--header, & .bi-dialog--content, & .bi-dialog--footer {
1381
+ &:not([data-no-border="true"]):not(:first-child) {
1382
+ border-top: var(--bi-stroke-thin) solid var(--bic-dialog-border-color);
1383
+ }
1384
+ }
1405
1385
  }
1406
1386
 
1407
1387
  body:has(.bi-dialog:modal) {
@@ -1448,17 +1428,15 @@ body:has(.bi-dialog:modal) {
1448
1428
  --bic-popover-padding: var(--bi-scale-1x);
1449
1429
  --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1450
1430
  0px 2px 2px -1px #26333f0a;
1451
- }
1452
1431
 
1453
- .bi-popover[data-dark="true"] {
1454
- --bic-popover-background: var(--bi-neutral-95);
1455
- --bic-popover-border-color: var(--bi-neutral-70);
1456
- --bic-popover-color: var(--bi-neutral-5);
1457
- --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1432
+ &[data-dark="true"] {
1433
+ --bic-popover-background: var(--bi-neutral-95);
1434
+ --bic-popover-border-color: var(--bi-neutral-70);
1435
+ --bic-popover-color: var(--bi-neutral-5);
1436
+ --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1458
1437
  0px 2px 2px -1px #26333f0a;
1459
- }
1438
+ }
1460
1439
 
1461
- .bi-popover {
1462
1440
  background: var(--bic-popover-background);
1463
1441
  border-radius: var(--bic-popover-border-radius);
1464
1442
  border-width: var(--bic-popover-border-width);
@@ -1474,41 +1452,43 @@ body:has(.bi-dialog:modal) {
1474
1452
  position: fixed;
1475
1453
  inset: 0 auto auto 0;
1476
1454
  overflow: visible;
1477
- }
1478
1455
 
1479
- .bi-popover[aria-hidden="false"] {
1480
- display: block;
1481
- }
1456
+ &[aria-hidden="false"] {
1457
+ display: block;
1458
+ }
1482
1459
 
1483
- .bi-popover[data-arrow="true"]:before {
1484
- background: var(--bic-popover-background);
1485
- border: inherit;
1486
- box-sizing: border-box;
1487
- content: "";
1488
- height: var(--bic-popover-arrow-size);
1489
- left: var(--bic-popover-arrow-x);
1490
- top: var(--bic-popover-arrow-y);
1491
- width: var(--bic-popover-arrow-size);
1492
- border-top-color: #0000;
1493
- border-left-color: #0000;
1494
- position: absolute;
1495
- translate: -50% -50%;
1496
- }
1460
+ &[data-arrow="true"] {
1461
+ &:before {
1462
+ background: var(--bic-popover-background);
1463
+ border: inherit;
1464
+ box-sizing: border-box;
1465
+ content: "";
1466
+ height: var(--bic-popover-arrow-size);
1467
+ left: var(--bic-popover-arrow-x);
1468
+ top: var(--bic-popover-arrow-y);
1469
+ width: var(--bic-popover-arrow-size);
1470
+ border-top-color: #0000;
1471
+ border-left-color: #0000;
1472
+ position: absolute;
1473
+ translate: -50% -50%;
1474
+ }
1497
1475
 
1498
- .bi-popover[data-arrow="true"][data-placement="top"]:before {
1499
- rotate: 45deg;
1500
- }
1476
+ &[data-placement="top"]:before {
1477
+ rotate: 45deg;
1478
+ }
1501
1479
 
1502
- .bi-popover[data-arrow="true"][data-placement="left"]:before {
1503
- rotate: -45deg;
1504
- }
1480
+ &[data-placement="left"]:before {
1481
+ rotate: -45deg;
1482
+ }
1505
1483
 
1506
- .bi-popover[data-arrow="true"][data-placement="right"]:before {
1507
- rotate: 135deg;
1508
- }
1484
+ &[data-placement="right"]:before {
1485
+ rotate: 135deg;
1486
+ }
1509
1487
 
1510
- .bi-popover[data-arrow="true"][data-placement="bottom"]:before {
1511
- rotate: -135deg;
1488
+ &[data-placement="bottom"]:before {
1489
+ rotate: -135deg;
1490
+ }
1491
+ }
1512
1492
  }
1513
1493
 
1514
1494
  [data-popover="inline"] {
@@ -1518,10 +1498,10 @@ body:has(.bi-dialog:modal) {
1518
1498
  font-size: inherit;
1519
1499
  -webkit-text-decoration: underline dotted;
1520
1500
  text-decoration: underline dotted;
1521
- }
1522
1501
 
1523
- [data-popover="inline"]:not([hidden]) {
1524
- display: inline;
1502
+ &:not([hidden]) {
1503
+ display: inline;
1504
+ }
1525
1505
  }
1526
1506
 
1527
1507
  .bi-dropdown {
@@ -1535,17 +1515,15 @@ body:has(.bi-dialog:modal) {
1535
1515
  --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1536
1516
  0px 2px 2px -1px #26333f0a;
1537
1517
  --bic-dropdown-min-width: var(--bi-scale-64x);
1538
- }
1539
1518
 
1540
- .bi-dropdown[data-dark="true"] {
1541
- --bic-dropdown-background: var(--bi-neutral-100);
1542
- --bic-dropdown-border-color: var(--bi-neutral-90);
1543
- --bic-dropdown-color: var(--bi-neutral-5);
1544
- --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1519
+ &[data-dark="true"] {
1520
+ --bic-dropdown-background: var(--bi-neutral-100);
1521
+ --bic-dropdown-border-color: var(--bi-neutral-90);
1522
+ --bic-dropdown-color: var(--bi-neutral-5);
1523
+ --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1545
1524
  0px 2px 2px -1px #26333f0a;
1546
- }
1525
+ }
1547
1526
 
1548
- .bi-dropdown {
1549
1527
  background: var(--bic-dropdown-background);
1550
1528
  border-radius: var(--bi-radius-medium);
1551
1529
  border-width: var(--bic-dropdown-border-width);
@@ -1556,26 +1534,26 @@ body:has(.bi-dialog:modal) {
1556
1534
  min-width: max(var(--bic-dropdown-min-width), var(--bic-popover-trigger-width, 0px));
1557
1535
  padding: var(--bic-dropdown-padding);
1558
1536
  list-style: none;
1559
- }
1560
1537
 
1561
- .bi-dropdown ul {
1562
- gap: var(--bi-scale-1x);
1563
- flex-direction: column;
1564
- margin: 0;
1565
- padding: 0;
1566
- list-style: none;
1567
- display: flex;
1568
- }
1538
+ & ul {
1539
+ gap: var(--bi-scale-1x);
1540
+ flex-direction: column;
1541
+ margin: 0;
1542
+ padding: 0;
1543
+ list-style: none;
1544
+ display: flex;
1545
+ }
1569
1546
 
1570
- .bi-dropdown :is(a, button, [role="button"]) {
1571
- padding: var(--bic-dropdown-item-padding);
1572
- min-height: var(--bic-dropdown-item-size);
1573
- justify-content: start;
1574
- width: 100%;
1575
- }
1547
+ & :is(a, button, [role="button"]) {
1548
+ padding: var(--bic-dropdown-item-padding);
1549
+ min-height: var(--bic-dropdown-item-size);
1550
+ justify-content: start;
1551
+ width: 100%;
1576
1552
 
1577
- .bi-dropdown :is(a, button, [role="button"]) .bi-button--end-icon {
1578
- margin-left: auto;
1553
+ & .bi-button--end-icon {
1554
+ margin-left: auto;
1555
+ }
1556
+ }
1579
1557
  }
1580
1558
 
1581
1559
  :where(.bi-input) {
@@ -1605,22 +1583,20 @@ body:has(.bi-dialog:modal) {
1605
1583
  --bic-input-focus-outline-color: var(--bi-primary-50);
1606
1584
  --bic-input-focus-shadow-color: var(--bi-basic-white);
1607
1585
  --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"%23222d38\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1608
- }
1609
1586
 
1610
- .bi-input[data-dark="true"] {
1611
- --bic-input-background: var(--bi-neutral-95);
1612
- --bic-input-background-readonly: var(--bi-neutral-50);
1613
- --bic-input-border-color-hover: var(--bi-neutral-25);
1614
- --bic-input-color-readonly: var(--bi-basic-white);
1615
- --bic-input-color: var(--bi-basic-white);
1616
- --bic-input-disabled-color: var(--bi-neutral-40);
1617
- --bic-input-placeholder-color: var(--bi-neutral-30);
1618
- --bic-input-focus-outline-color: var(--bi-primary-30);
1619
- --bic-input-focus-shadow-color: var(--bi-neutral-95);
1620
- --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"white\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1621
- }
1587
+ &[data-dark="true"] {
1588
+ --bic-input-background: var(--bi-neutral-95);
1589
+ --bic-input-background-readonly: var(--bi-neutral-50);
1590
+ --bic-input-border-color-hover: var(--bi-neutral-25);
1591
+ --bic-input-color-readonly: var(--bi-basic-white);
1592
+ --bic-input-color: var(--bi-basic-white);
1593
+ --bic-input-disabled-color: var(--bi-neutral-40);
1594
+ --bic-input-placeholder-color: var(--bi-neutral-30);
1595
+ --bic-input-focus-outline-color: var(--bi-primary-30);
1596
+ --bic-input-focus-shadow-color: var(--bi-neutral-95);
1597
+ --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"white\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1598
+ }
1622
1599
 
1623
- .bi-input {
1624
1600
  appearance: none;
1625
1601
  background: var(--bic-input-background);
1626
1602
  border-radius: var(--bi-radius-medium);
@@ -1638,181 +1614,181 @@ body:has(.bi-dialog:modal) {
1638
1614
  border: none;
1639
1615
  line-height: 1;
1640
1616
  position: relative;
1641
- }
1642
1617
 
1643
- .bi-input[data-size="large"] {
1644
- --bic-input-size: var(--bi-scale-14x);
1645
- --bic-input-font-size: 1.25rem;
1646
- }
1618
+ &[data-size="large"] {
1619
+ --bic-input-size: var(--bi-scale-14x);
1620
+ --bic-input-font-size: 1.25rem;
1621
+ }
1647
1622
 
1648
- .bi-input:where(:not([type="checkbox"], [type="radio"])):hover {
1649
- box-shadow: var(--_bi--hover, var(--bic-input-box-shadow-hover));
1650
- }
1623
+ &:where(:not([type="checkbox"], [type="radio"])) {
1624
+ &:hover {
1625
+ box-shadow: var(--_bi--hover, var(--bic-input-box-shadow-hover));
1626
+ }
1651
1627
 
1652
- .bi-input:where(:not([type="checkbox"], [type="radio"])):focus-visible {
1653
- --bic-input-border-color: var(--bic-input-focus-outline-color);
1654
- }
1628
+ &:focus-visible {
1629
+ --bic-input-border-color: var(--bic-input-focus-outline-color);
1630
+ }
1631
+ }
1655
1632
 
1656
- .bi-input:focus-visible {
1657
- outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1658
- outline-offset: 0;
1659
- box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
1633
+ &:focus-visible {
1634
+ outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1635
+ outline-offset: 0;
1636
+ box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
1660
1637
  0px 0px 10px 0px #0000000d);
1661
- }
1662
-
1663
- .bi-input:focus-visible * {
1664
- --_bi--focus: ;
1665
- }
1666
-
1667
- .bi-input::placeholder {
1668
- color: var(--bic-input-placeholder-color);
1669
- }
1670
-
1671
- .bi-input:not([size], [cols]) {
1672
- width: 100%;
1673
- }
1674
-
1675
- .bi-input:disabled, .bi-input[aria-disabled="true"] {
1676
- cursor: not-allowed;
1677
- }
1678
-
1679
- .bi-input[aria-invalid="true"] {
1680
- --bic-input-border-color: var(--bic-input-border-color-invalid);
1681
- }
1682
-
1683
- .bi-input[readonly], .bi-input:disabled, .bi-input[aria-disabled="true"] {
1684
- background: var(--bic-input-background-readonly);
1685
- --bic-input-border-color: var(--bic-input-border-color-readonly);
1686
- color: var(--bic-input-color-readonly);
1687
- }
1688
-
1689
- .bi-input:is(textarea) {
1690
- height: auto;
1691
- min-height: calc(var(--bic-input-size) * 2);
1692
- resize: vertical;
1693
- }
1694
-
1695
- .bi-input:is(textarea):not([rows]) {
1696
- field-sizing: content;
1697
- }
1698
-
1699
- .bi-input:is(select):not([readonly], [aria-disabled="true"], :disabled) {
1700
- cursor: pointer;
1701
- }
1702
-
1703
- .bi-input:is(select) {
1704
- background-image: var(--bic-input-select-chevron);
1705
- background-position: calc(100% - .5em);
1706
- background-repeat: no-repeat;
1707
- background-size: 1.5em;
1708
- }
1709
1638
 
1710
- .bi-input[type="checkbox"], .bi-input[type="radio"] {
1711
- padding: var(--bi-scale-0-50x);
1712
- line-height: inherit;
1713
- height: var(--bic-input-toggle-size);
1714
- width: var(--bic-input-toggle-size);
1715
- box-shadow: none;
1716
- border-width: var(--bi-stroke-medium);
1717
- border-style: solid;
1718
- border-color: var(--bic-input-border-color);
1719
- background: none;
1720
- flex-shrink: 0;
1721
- }
1722
-
1723
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):focus-visible {
1724
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-input-focus-shadow-color));
1725
- outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1726
- outline-offset: var(--_bi--focus, 3px);
1727
- }
1639
+ & * {
1640
+ --_bi--focus: ;
1641
+ }
1642
+ }
1728
1643
 
1729
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):focus-visible * {
1730
- --_bi--focus: ;
1731
- }
1644
+ &::placeholder {
1645
+ color: var(--bic-input-placeholder-color);
1646
+ }
1732
1647
 
1733
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):read-only:not([readonly], [aria-disabled="true"], :disabled) {
1734
- cursor: pointer;
1735
- }
1648
+ &:not([size], [cols]) {
1649
+ width: 100%;
1650
+ }
1736
1651
 
1737
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"] {
1738
- border-radius: var(--bi-radius-full);
1739
- }
1652
+ &:disabled, &[aria-disabled="true"] {
1653
+ cursor: not-allowed;
1654
+ }
1740
1655
 
1741
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:before {
1742
- content: "";
1743
- background-color: var(--bic-input-toggle-background);
1744
- border-radius: 100%;
1745
- width: 0;
1746
- height: 0;
1747
- transition: width .1s ease-in-out, height .1s ease-in-out;
1748
- display: block;
1749
- position: absolute;
1750
- top: 50%;
1751
- left: 50%;
1752
- transform: translate(-50%, -50%);
1753
- }
1656
+ &[aria-invalid="true"] {
1657
+ --bic-input-border-color: var(--bic-input-border-color-invalid);
1658
+ }
1754
1659
 
1755
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:checked {
1756
- --bic-input-border-color: var(--bic-input-toggle-background);
1757
- }
1660
+ &[readonly], &:disabled, &[aria-disabled="true"] {
1661
+ background: var(--bic-input-background-readonly);
1662
+ --bic-input-border-color: var(--bic-input-border-color-readonly);
1663
+ color: var(--bic-input-color-readonly);
1664
+ }
1758
1665
 
1759
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:checked:before {
1760
- width: 12px;
1761
- height: 12px;
1762
- }
1666
+ &:is(textarea) {
1667
+ height: auto;
1668
+ min-height: calc(var(--bic-input-size) * 2);
1669
+ resize: vertical;
1763
1670
 
1764
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]) {
1765
- border-radius: var(--bi-radius-small);
1766
- place-content: center;
1767
- display: grid;
1768
- }
1671
+ &:not([rows]) {
1672
+ field-sizing: content;
1673
+ }
1674
+ }
1769
1675
 
1770
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):before {
1771
- content: "";
1772
- width: .7em;
1773
- height: .7em;
1774
- box-shadow: inset 1em 1em var(--bic-input-toggle-color);
1775
- transform-origin: center;
1776
- clip-path: polygon(9.73% 39.66%, 0% 49.25%, 34.81% 84.58%, 100% 20%, 90.45% 10.31%, 34.81% 65.12%);
1777
- transition: transform .2s ease-in-out;
1778
- transform: scale(0);
1779
- }
1676
+ &:is(select) {
1677
+ &:not([readonly], [aria-disabled="true"], :disabled) {
1678
+ cursor: pointer;
1679
+ }
1780
1680
 
1781
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):where(:checked, :indeterminate) {
1782
- background: var(--bic-input-toggle-background);
1783
- --bic-input-border-color: var(--bic-input-toggle-background);
1784
- }
1681
+ background-image: var(--bic-input-select-chevron);
1682
+ background-position: calc(100% - .5em);
1683
+ background-repeat: no-repeat;
1684
+ background-size: 1.5em;
1685
+ }
1785
1686
 
1786
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):where(:checked, :indeterminate):before {
1787
- transform: scale(1);
1788
- }
1687
+ &[type="checkbox"], &[type="radio"] {
1688
+ padding: var(--bi-scale-0-50x);
1689
+ line-height: inherit;
1690
+ height: var(--bic-input-toggle-size);
1691
+ width: var(--bic-input-toggle-size);
1692
+ box-shadow: none;
1693
+ border-width: var(--bi-stroke-medium);
1694
+ border-style: solid;
1695
+ border-color: var(--bic-input-border-color);
1696
+ background: none;
1697
+ flex-shrink: 0;
1698
+
1699
+ &:focus-visible {
1700
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-input-focus-shadow-color));
1701
+ outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1702
+ outline-offset: var(--_bi--focus, 3px);
1703
+
1704
+ & * {
1705
+ --_bi--focus: ;
1706
+ }
1707
+ }
1789
1708
 
1790
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):indeterminate:before {
1791
- clip-path: polygon(0% 42%, 0% 58%, 100% 58%, 100% 42%);
1792
- }
1709
+ &:read-only:not([readonly], [aria-disabled="true"], :disabled) {
1710
+ cursor: pointer;
1711
+ }
1793
1712
 
1794
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"] {
1795
- --_bic-input-circle-position-x: var(--bi-scale-0-50x);
1796
- background: var(--bi-neutral-50);
1797
- }
1713
+ &[type="radio"] {
1714
+ border-radius: var(--bi-radius-full);
1715
+
1716
+ &:before {
1717
+ content: "";
1718
+ background-color: var(--bic-input-toggle-background);
1719
+ border-radius: 100%;
1720
+ width: 0;
1721
+ height: 0;
1722
+ transition: width .1s ease-in-out, height .1s ease-in-out;
1723
+ display: block;
1724
+ position: absolute;
1725
+ top: 50%;
1726
+ left: 50%;
1727
+ transform: translate(-50%, -50%);
1728
+ }
1729
+
1730
+ &:checked {
1731
+ --bic-input-border-color: var(--bic-input-toggle-background);
1732
+
1733
+ &:before {
1734
+ width: 12px;
1735
+ height: 12px;
1736
+ }
1737
+ }
1738
+ }
1798
1739
 
1799
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"]:where(:checked) {
1800
- --_bic-input-circle-position-x: calc(100% - var(--bi-scale-0-50x));
1801
- background: var(--bic-input-toggle-background);
1802
- --bic-input-border-color: var(--bic-input-toggle-background);
1803
- }
1740
+ &[type="checkbox"]:not([role="switch"]) {
1741
+ border-radius: var(--bi-radius-small);
1742
+ place-content: center;
1743
+ display: grid;
1744
+
1745
+ &:before {
1746
+ content: "";
1747
+ width: .7em;
1748
+ height: .7em;
1749
+ box-shadow: inset 1em 1em var(--bic-input-toggle-color);
1750
+ transform-origin: center;
1751
+ clip-path: polygon(9.73% 39.66%, 0% 49.25%, 34.81% 84.58%, 100% 20%, 90.45% 10.31%, 34.81% 65.12%);
1752
+ transition: transform .2s ease-in-out;
1753
+ transform: scale(0);
1754
+ }
1755
+
1756
+ &:where(:checked, :indeterminate) {
1757
+ background: var(--bic-input-toggle-background);
1758
+ --bic-input-border-color: var(--bic-input-toggle-background);
1759
+
1760
+ &:before {
1761
+ transform: scale(1);
1762
+ }
1763
+ }
1764
+
1765
+ &:indeterminate:before {
1766
+ clip-path: polygon(0% 42%, 0% 58%, 100% 58%, 100% 42%);
1767
+ }
1768
+ }
1804
1769
 
1805
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"] {
1806
- background-image: radial-gradient(circle closest-side, var(--bi-basic-white) 95%, transparent 100%);
1807
- background-origin: content-box;
1808
- background-position: var(--_bic-input-circle-position-x);
1809
- background-repeat: no-repeat;
1810
- background-size: calc(var(--bic-input-toggle-size)) 100%;
1811
- border-radius: var(--bi-radius-full);
1812
- width: var(--bi-scale-11x);
1813
- height: var(--bi-scale-6x);
1814
- padding-inline: 0;
1815
- transition: background-position .2s;
1770
+ &[type="checkbox"][role="switch"] {
1771
+ --_bic-input-circle-position-x: var(--bi-scale-0-50x);
1772
+ background: var(--bi-neutral-50);
1773
+
1774
+ &:where(:checked) {
1775
+ --_bic-input-circle-position-x: calc(100% - var(--bi-scale-0-50x));
1776
+ background: var(--bic-input-toggle-background);
1777
+ --bic-input-border-color: var(--bic-input-toggle-background);
1778
+ }
1779
+
1780
+ background-image: radial-gradient(circle closest-side, var(--bi-basic-white) 95%, transparent 100%);
1781
+ background-origin: content-box;
1782
+ background-position: var(--_bic-input-circle-position-x);
1783
+ background-repeat: no-repeat;
1784
+ background-size: calc(var(--bic-input-toggle-size)) 100%;
1785
+ border-radius: var(--bi-radius-full);
1786
+ width: var(--bi-scale-11x);
1787
+ height: var(--bi-scale-6x);
1788
+ padding-inline: 0;
1789
+ transition: background-position .2s;
1790
+ }
1791
+ }
1816
1792
  }
1817
1793
 
1818
1794
  .bi-field {
@@ -1835,248 +1811,248 @@ body:has(.bi-dialog:modal) {
1835
1811
  --bic-field-label-required-color: var(--bi-primary-50);
1836
1812
  --bic-field-focus-outline-color: var(--bi-primary-50);
1837
1813
  --bic-field-focus-shadow-color: var(--bi-basic-white);
1838
- }
1839
-
1840
- .bi-field[data-dark="true"] {
1841
- --bic-field-affix-color: var(--bi-neutral-30);
1842
- --bic-field-background: var(--bi-neutral-95);
1843
- --bic-field-background-hover: var(--bi-states-hover-light);
1844
- --bic-field-background-press: var(--bi-states-press-light);
1845
- --bic-field-background-readonly: var(--bi-neutral-50);
1846
- --bic-field-border-color-hover: var(--bi-neutral-25);
1847
- --bic-field-disabled-color: var(--bi-neutral-40);
1848
- --bic-field-description-color: var(--bi-neutral-15);
1849
- --bic-field-label-color: var(--bi-basic-white);
1850
- --bic-field-label-required-color: var(--bi-secondary-50);
1851
- --bic-field-focus-outline-color: var(--bi-primary-30);
1852
- --bic-field-focus-shadow-color: var(--bi-neutral-95);
1853
- }
1854
-
1855
- .bi-field > * {
1856
- margin-block: 0;
1857
- }
1858
1814
 
1859
- .bi-field > * + * {
1860
- margin-top: var(--bic-field-content-spacing);
1861
- }
1815
+ &[data-dark="true"] {
1816
+ --bic-field-affix-color: var(--bi-neutral-30);
1817
+ --bic-field-background: var(--bi-neutral-95);
1818
+ --bic-field-background-hover: var(--bi-states-hover-light);
1819
+ --bic-field-background-press: var(--bi-states-press-light);
1820
+ --bic-field-background-readonly: var(--bi-neutral-50);
1821
+ --bic-field-border-color-hover: var(--bi-neutral-25);
1822
+ --bic-field-disabled-color: var(--bi-neutral-40);
1823
+ --bic-field-description-color: var(--bi-neutral-15);
1824
+ --bic-field-label-color: var(--bi-basic-white);
1825
+ --bic-field-label-required-color: var(--bi-secondary-50);
1826
+ --bic-field-focus-outline-color: var(--bi-primary-30);
1827
+ --bic-field-focus-shadow-color: var(--bi-neutral-95);
1828
+ }
1862
1829
 
1863
- .bi-field .bi-field--description {
1864
- color: var(--bic-field-description-color);
1865
- font: var(--bi-font-body-small);
1866
- line-height: 1.15;
1867
- }
1830
+ & > * {
1831
+ margin-block: 0;
1832
+ }
1868
1833
 
1869
- .bi-field .bi-input:where(:not([hidden])) {
1870
- display: block;
1871
- }
1834
+ & > * + * {
1835
+ margin-top: var(--bic-field-content-spacing);
1836
+ }
1872
1837
 
1873
- .bi-field:has(.bi-input[aria-invalid="true"]) {
1874
- --bic-field-border-color: var(--bic-field-border-color-invalid);
1875
- }
1838
+ & .bi-field--description {
1839
+ color: var(--bic-field-description-color);
1840
+ font: var(--bi-font-body-small);
1841
+ line-height: 1.15;
1842
+ }
1876
1843
 
1877
- .bi-field:has([aria-disabled="true"]:not([role="option"][aria-disabled="true"]), :disabled:not(option)) > * {
1878
- cursor: not-allowed;
1879
- --bic-field-label-color: var(--bic-field-disabled-color);
1880
- --bic-field-description-color: var(--bic-field-disabled-color);
1881
- --bic-field-affix-color: var(--bic-field-disabled-color);
1882
- --bic-input-toggle-background: var(--bic-field-disabled-color);
1883
- }
1844
+ & .bi-input:where(:not([hidden])) {
1845
+ display: block;
1846
+ }
1884
1847
 
1885
- .bi-field[data-fullwidth="true"] {
1886
- width: 100%;
1887
- }
1848
+ &:has(.bi-input[aria-invalid="true"]) {
1849
+ --bic-field-border-color: var(--bic-field-border-color-invalid);
1850
+ }
1888
1851
 
1889
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) {
1890
- border-radius: var(--bi-radius-medium);
1891
- gap: 0 var(--bi-scale-3x);
1892
- width: fit-content;
1893
- padding: var(--bi-scale-2x) var(--bi-scale-3x);
1894
- grid-template-columns: auto 1fr;
1895
- grid-template-areas: "input content";
1896
- align-items: center;
1897
- }
1852
+ &:has([aria-disabled="true"]:not([role="option"][aria-disabled="true"]), :disabled:not(option)) > * {
1853
+ cursor: not-allowed;
1854
+ --bic-field-label-color: var(--bic-field-disabled-color);
1855
+ --bic-field-description-color: var(--bic-field-disabled-color);
1856
+ --bic-field-affix-color: var(--bic-field-disabled-color);
1857
+ --bic-input-toggle-background: var(--bic-field-disabled-color);
1858
+ }
1898
1859
 
1899
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):not([hidden]) {
1900
- display: grid;
1901
- }
1860
+ &[data-fullwidth="true"] {
1861
+ width: 100%;
1862
+ }
1902
1863
 
1903
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
1904
- width: 100%;
1905
- }
1864
+ &:has(.bi-input:is([type="radio"], [type="checkbox"])) {
1865
+ border-radius: var(--bi-radius-medium);
1866
+ gap: 0 var(--bi-scale-3x);
1867
+ width: fit-content;
1868
+ padding: var(--bi-scale-2x) var(--bi-scale-3x);
1869
+ grid-template-columns: auto 1fr;
1870
+ grid-template-areas: "input content";
1871
+ align-items: center;
1872
+
1873
+ &:not([hidden]) {
1874
+ display: grid;
1875
+ }
1906
1876
 
1907
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]) {
1908
- border-radius: var(--bi-scale-24x);
1909
- padding: var(--bi-scale-1x) var(--bi-scale-2x);
1910
- }
1877
+ &[data-fullwidth="true"] {
1878
+ width: 100%;
1879
+ }
1911
1880
 
1912
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]):has(.bi-label)[data-position="start"] {
1913
- padding-inline-end: var(--bi-scale-4x);
1914
- }
1881
+ &:has(.bi-input[role="switch"]) {
1882
+ border-radius: var(--bi-scale-24x);
1883
+ padding: var(--bi-scale-1x) var(--bi-scale-2x);
1915
1884
 
1916
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]):has(.bi-label)[data-position="end"] {
1917
- padding-inline-start: var(--bi-scale-4x);
1918
- }
1885
+ &:has(.bi-label) {
1886
+ &[data-position="start"] {
1887
+ padding-inline-end: var(--bi-scale-4x);
1888
+ }
1919
1889
 
1920
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) > * {
1921
- grid-column: content;
1922
- margin-block: 0;
1923
- }
1890
+ &[data-position="end"] {
1891
+ padding-inline-start: var(--bi-scale-4x);
1892
+ }
1893
+ }
1894
+ }
1924
1895
 
1925
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) .bi-label {
1926
- margin: var(--bi-scale-0-50x) 0;
1927
- -webkit-user-select: none;
1928
- user-select: none;
1929
- font-size: 1rem;
1930
- line-height: 1.5;
1931
- }
1896
+ & > * {
1897
+ grid-column: content;
1898
+ margin-block: 0;
1899
+ }
1932
1900
 
1933
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) .bi-input {
1934
- margin: var(--bi-scale-1x) auto;
1935
- grid-area: 1 / input;
1936
- align-self: flex-start;
1937
- }
1901
+ & .bi-label {
1902
+ margin: var(--bi-scale-0-50x) 0;
1903
+ -webkit-user-select: none;
1904
+ user-select: none;
1905
+ font-size: 1rem;
1906
+ line-height: 1.5;
1907
+ }
1938
1908
 
1939
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):is(label):not(:has([readonly], [aria-disabled="true"], :disabled)) {
1940
- cursor: pointer;
1941
- }
1909
+ & .bi-input {
1910
+ margin: var(--bi-scale-1x) auto;
1911
+ grid-area: 1 / input;
1912
+ align-self: flex-start;
1913
+ }
1942
1914
 
1943
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(input:only-child) {
1944
- gap: 0;
1945
- }
1915
+ &:is(label):not(:has([readonly], [aria-disabled="true"], :disabled)) {
1916
+ cursor: pointer;
1917
+ }
1946
1918
 
1947
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) {
1948
- background: var(--_bi--hover, var(--bic-field-background-hover));
1949
- }
1919
+ &:has(input:only-child) {
1920
+ gap: 0;
1921
+ }
1950
1922
 
1951
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) * {
1952
- --_bi--hover: ;
1953
- }
1923
+ &:hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) {
1924
+ background: var(--_bi--hover, var(--bic-field-background-hover));
1954
1925
 
1955
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) {
1956
- background: var(--_bi--hover, var(--bic-field-background-press));
1957
- }
1926
+ & * {
1927
+ --_bi--hover: ;
1928
+ }
1929
+ }
1958
1930
 
1959
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) * {
1960
- --_bi--hover: ;
1961
- }
1931
+ &:active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) {
1932
+ background: var(--_bi--hover, var(--bic-field-background-press));
1962
1933
 
1963
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input:focus-visible) {
1964
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-field-focus-shadow-color));
1965
- outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
1966
- outline-offset: var(--_bi--focus, 2px);
1967
- }
1934
+ & * {
1935
+ --_bi--hover: ;
1936
+ }
1937
+ }
1968
1938
 
1969
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input:focus-visible) * {
1970
- --_bi--focus: ;
1971
- }
1939
+ &:has(.bi-input:focus-visible) {
1940
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-field-focus-shadow-color));
1941
+ outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
1942
+ outline-offset: var(--_bi--focus, 2px);
1972
1943
 
1973
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-position="end"] {
1974
- grid-template-columns: 1fr auto;
1975
- grid-template-areas: "content input";
1976
- }
1944
+ & * {
1945
+ --_bi--focus: ;
1946
+ }
1947
+ }
1977
1948
 
1978
- .bi-field .bi-field--affixes {
1979
- background: var(--bic-field-background);
1980
- border-radius: var(--bi-radius-medium);
1981
- box-sizing: border-box;
1982
- white-space: nowrap;
1983
- max-width: 100%;
1984
- box-shadow: var(--bic-field-box-shadow);
1985
- }
1949
+ &[data-position="end"] {
1950
+ grid-template-columns: 1fr auto;
1951
+ grid-template-areas: "content input";
1952
+ }
1953
+ }
1986
1954
 
1987
- .bi-field .bi-field--affixes .bi-input {
1988
- --bic-input-background: ;
1989
- --bic-input-box-shadow: ;
1990
- flex: auto;
1991
- }
1955
+ & .bi-field--affixes {
1956
+ background: var(--bic-field-background);
1957
+ border-radius: var(--bi-radius-medium);
1958
+ box-sizing: border-box;
1959
+ white-space: nowrap;
1960
+ max-width: 100%;
1961
+ box-shadow: var(--bic-field-box-shadow);
1962
+
1963
+ & .bi-input {
1964
+ --bic-input-background: ;
1965
+ --bic-input-box-shadow: ;
1966
+ flex: auto;
1967
+ }
1992
1968
 
1993
- .bi-field .bi-field--affixes:not([hidden]) {
1994
- display: flex;
1995
- }
1969
+ &:not([hidden]) {
1970
+ display: flex;
1971
+ }
1996
1972
 
1997
- .bi-field .bi-field--affixes:has(.bi-input[size]) {
1998
- width: fit-content;
1999
- }
1973
+ &:has(.bi-input[size]) {
1974
+ width: fit-content;
1975
+ }
2000
1976
 
2001
- .bi-field .bi-field--affixes:hover {
2002
- box-shadow: var(--_bi--hover, var(--bic-field-box-shadow-hover));
2003
- }
1977
+ &:hover {
1978
+ box-shadow: var(--_bi--hover, var(--bic-field-box-shadow-hover));
2004
1979
 
2005
- .bi-field .bi-field--affixes:hover * {
2006
- --_bi--hover: ;
2007
- }
1980
+ & * {
1981
+ --_bi--hover: ;
1982
+ }
1983
+ }
2008
1984
 
2009
- .bi-field .bi-field--affixes:has(.bi-input:focus-visible) {
2010
- outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
2011
- outline-offset: 0;
2012
- box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
1985
+ &:has(.bi-input:focus-visible) {
1986
+ outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
1987
+ outline-offset: 0;
1988
+ box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
2013
1989
  0px 0px 10px 0px #0000000d);
2014
- }
2015
-
2016
- .bi-field .bi-field--affixes:has(.bi-input:focus-visible) * {
2017
- --_bi--focus: ;
2018
- }
2019
-
2020
- .bi-field .bi-field--affixes .bi-field--affix {
2021
- padding-inline: var(--bic-field-padding-inline);
2022
- color: var(--bic-field-affix-color);
2023
- flex-shrink: 0;
2024
- align-items: center;
2025
- }
2026
1990
 
2027
- .bi-field .bi-field--affixes .bi-field--affix:not([hidden]) {
2028
- display: flex;
2029
- }
2030
-
2031
- .bi-field .bi-field--affixes .bi-field--affix:first-child {
2032
- border-inline-end: 0;
2033
- border-start-start-radius: inherit;
2034
- border-end-start-radius: inherit;
2035
- padding-inline-end: 0;
2036
- }
1991
+ & * {
1992
+ --_bi--focus: ;
1993
+ }
1994
+ }
2037
1995
 
2038
- .bi-field .bi-field--affixes .bi-field--affix:last-child {
2039
- border-inline-start: 0;
2040
- border-start-end-radius: inherit;
2041
- border-end-end-radius: inherit;
2042
- padding-inline-start: 0;
1996
+ & .bi-field--affix {
1997
+ padding-inline: var(--bic-field-padding-inline);
1998
+ color: var(--bic-field-affix-color);
1999
+ flex-shrink: 0;
2000
+ align-items: center;
2001
+
2002
+ &:not([hidden]) {
2003
+ display: flex;
2004
+ }
2005
+
2006
+ &:first-child {
2007
+ border-inline-end: 0;
2008
+ border-start-start-radius: inherit;
2009
+ border-end-start-radius: inherit;
2010
+ padding-inline-end: 0;
2011
+ }
2012
+
2013
+ &:last-child {
2014
+ border-inline-start: 0;
2015
+ border-start-end-radius: inherit;
2016
+ border-end-end-radius: inherit;
2017
+ padding-inline-start: 0;
2018
+ }
2019
+ }
2020
+ }
2043
2021
  }
2044
2022
 
2045
2023
  .bi-fieldset {
2046
2024
  --bic-fieldset-color: var(--bi-neutral-95);
2047
2025
  --bic-fieldset-description-color: var(--bi-neutral-60);
2048
- }
2049
2026
 
2050
- .bi-fieldset[data-dark="true"] {
2051
- --bic-fieldset-color: var(--bi-basic-white);
2052
- --bic-fieldset-description-color: var(--bi-neutral-15);
2053
- }
2027
+ &[data-dark="true"] {
2028
+ --bic-fieldset-color: var(--bi-basic-white);
2029
+ --bic-fieldset-description-color: var(--bi-neutral-15);
2030
+ }
2054
2031
 
2055
- .bi-fieldset {
2056
2032
  border: 0;
2057
2033
  min-width: 0;
2058
2034
  margin: 0;
2059
2035
  padding: 0;
2060
- }
2061
2036
 
2062
- .bi-fieldset > legend {
2063
- color: var(--bic-fieldset-color);
2064
- padding: 0;
2065
- font-size: 1rem;
2066
- }
2037
+ & > legend {
2038
+ color: var(--bic-fieldset-color);
2039
+ padding: 0;
2040
+ font-size: 1rem;
2041
+ }
2067
2042
 
2068
- .bi-fieldset > * + * {
2069
- margin-block-start: var(--bi-scale-1x);
2070
- }
2043
+ & > * + * {
2044
+ margin-block-start: var(--bi-scale-1x);
2045
+ }
2071
2046
 
2072
- .bi-fieldset > legend + p {
2073
- margin-block: var(--bi-scale-1x) 0;
2074
- color: var(--bic-fieldset-description-color);
2075
- font: var(--bi-font-body-large);
2076
- }
2047
+ & > legend + p {
2048
+ margin-block: var(--bi-scale-1x) 0;
2049
+ color: var(--bic-fieldset-description-color);
2050
+ font: var(--bi-font-body-large);
2051
+ }
2077
2052
 
2078
- .bi-fieldset:disabled > legend, .bi-fieldset:disabled > legend + p {
2079
- opacity: var(--ds-opacity-disabled);
2053
+ &:disabled > legend, &:disabled > legend + p {
2054
+ opacity: var(--ds-opacity-disabled);
2055
+ }
2080
2056
  }
2081
2057
 
2082
2058
  .bi-filter-group {
@@ -2090,118 +2066,116 @@ body:has(.bi-dialog:modal) {
2090
2066
  --bic-filter-group-text-color: var(--bi-neutral-90);
2091
2067
  --bic-filter-focus-shadow-color: var(--bi-basic-white);
2092
2068
  --bic-filter-focus-outline-color: var(--bi-primary-50);
2093
- }
2094
2069
 
2095
- .bi-filter-group[data-dark="true"] {
2096
- --bic-filter-group-background: var(--bi-neutral-90);
2097
- --bic-filter-group-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
2070
+ &[data-dark="true"] {
2071
+ --bic-filter-group-background: var(--bi-neutral-90);
2072
+ --bic-filter-group-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
2098
2073
  var(--bic-filter-group-background);
2099
- --bic-filter-group-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
2074
+ --bic-filter-group-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
2100
2075
  var(--bic-filter-group-background);
2101
- --bic-filter-group-background-expanded: var(--bi-neutral-80);
2102
- --bic-filter-group-border-color: var(--bi-neutral-70);
2103
- --bic-filter-group-text-color: var(--bi-basic-white);
2104
- --bic-filter-focus-shadow-color: var(--bi-neutral-95);
2105
- --bic-filter-focus-outline-color: var(--bi-primary-30);
2106
- }
2076
+ --bic-filter-group-background-expanded: var(--bi-neutral-80);
2077
+ --bic-filter-group-border-color: var(--bi-neutral-70);
2078
+ --bic-filter-group-text-color: var(--bi-basic-white);
2079
+ --bic-filter-focus-shadow-color: var(--bi-neutral-95);
2080
+ --bic-filter-focus-outline-color: var(--bi-primary-30);
2081
+ }
2107
2082
 
2108
- .bi-filter-group {
2109
2083
  flex-direction: column;
2110
2084
  display: flex;
2111
- }
2112
-
2113
- .bi-filter-group > button {
2114
- border: none;
2115
- border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
2116
- height: var(--bi-scale-12x);
2117
- color: var(--bic-filter-group-text-color);
2118
- align-items: center;
2119
- gap: calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2120
- width: 100%;
2121
- padding: var(--bi-scale-2x) calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2122
- background: var(--bic-filter-group-background);
2123
- cursor: pointer;
2124
- border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2125
- -webkit-user-select: none;
2126
- user-select: none;
2127
- flex-direction: row;
2128
- display: flex;
2129
- }
2130
2085
 
2131
- @media (hover: hover) and (pointer: fine) {
2132
- .bi-filter-group > button:hover {
2133
- background: var(--bic-filter-group-background-hover);
2134
- }
2135
- }
2086
+ & > button {
2087
+ border: none;
2088
+ border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
2089
+ height: var(--bi-scale-12x);
2090
+ color: var(--bic-filter-group-text-color);
2091
+ align-items: center;
2092
+ gap: calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2093
+ width: 100%;
2094
+ padding: var(--bi-scale-2x) calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2095
+ background: var(--bic-filter-group-background);
2096
+ cursor: pointer;
2097
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2098
+ -webkit-user-select: none;
2099
+ user-select: none;
2100
+ flex-direction: row;
2101
+ display: flex;
2102
+
2103
+ @media (hover: hover) and (pointer: fine) {
2104
+ &:hover {
2105
+ background: var(--bic-filter-group-background-hover);
2106
+ }
2107
+ }
2136
2108
 
2137
- .bi-filter-group > button:active {
2138
- background: var(--bic-filter-group-background-press);
2139
- }
2109
+ &:active {
2110
+ background: var(--bic-filter-group-background-press);
2111
+ }
2140
2112
 
2141
- .bi-filter-group > button:focus-visible {
2142
- box-shadow: 0 0 0 4.5px var(--bic-filter-focus-shadow-color);
2143
- outline: 3px solid var(--bic-filter-focus-outline-color);
2144
- outline-offset: 3px;
2145
- border-radius: var(--bi-radius-small);
2146
- }
2113
+ &:focus-visible {
2114
+ box-shadow: 0 0 0 4.5px var(--bic-filter-focus-shadow-color);
2115
+ outline: 3px solid var(--bic-filter-focus-outline-color);
2116
+ outline-offset: 3px;
2117
+ border-radius: var(--bi-radius-small);
2118
+ }
2147
2119
 
2148
- .bi-filter-group > button > svg {
2149
- width: var(--bi-scale-6x);
2150
- height: var(--bi-scale-6x);
2151
- font-size: var(--bi-icon-medium);
2152
- }
2120
+ & > svg {
2121
+ width: var(--bi-scale-6x);
2122
+ height: var(--bi-scale-6x);
2123
+ font-size: var(--bi-icon-medium);
2124
+ }
2153
2125
 
2154
- .bi-filter-group > button > h3 {
2155
- text-align: left;
2156
- font: var(--bi-font-title-bold-xs);
2157
- flex: 1;
2158
- margin: 0;
2159
- }
2126
+ & > h3 {
2127
+ text-align: left;
2128
+ font: var(--bi-font-title-bold-xs);
2129
+ flex: 1;
2130
+ margin: 0;
2131
+ }
2132
+ }
2160
2133
 
2161
- .bi-filter-group > div {
2162
- gap: var(--bi-scale-2x);
2163
- padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
2164
- flex-direction: column;
2165
- display: none;
2166
- }
2134
+ & > div {
2135
+ gap: var(--bi-scale-2x);
2136
+ padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
2137
+ flex-direction: column;
2138
+ display: none;
2167
2139
 
2168
- .bi-filter-group > div > .bi-field:has(.bi-input[type="checkbox"]) {
2169
- width: 100%;
2170
- }
2140
+ & > .bi-field:has(.bi-input[type="checkbox"]) {
2141
+ width: 100%;
2142
+ }
2143
+ }
2171
2144
 
2172
- .bi-filter-group:last-of-type > button {
2173
- border-radius: var(--bi-radius-small);
2174
- border-bottom-color: #0000;
2175
- }
2145
+ &:last-of-type {
2146
+ & > button {
2147
+ border-radius: var(--bi-radius-small);
2148
+ border-bottom-color: #0000;
2149
+ }
2176
2150
 
2177
- .bi-filter-group:last-of-type > div {
2178
- padding: var(--bi-scale-2x) 0;
2179
- }
2151
+ & > div {
2152
+ padding: var(--bi-scale-2x) 0;
2153
+ }
2154
+ }
2180
2155
 
2181
- .bi-filter-group[data-expanded="true"] {
2182
- --bic-filter-group-background: var(--bic-filter-group-background-expanded);
2183
- }
2156
+ &[data-expanded="true"] {
2157
+ --bic-filter-group-background: var(--bic-filter-group-background-expanded);
2184
2158
 
2185
- .bi-filter-group[data-expanded="true"] > button {
2186
- border-radius: var(--bi-radius-small);
2187
- border-bottom-color: #0000;
2188
- }
2159
+ & > button {
2160
+ border-radius: var(--bi-radius-small);
2161
+ border-bottom-color: #0000;
2162
+ }
2189
2163
 
2190
- .bi-filter-group[data-expanded="true"] > div {
2191
- display: flex;
2164
+ & > div {
2165
+ display: flex;
2166
+ }
2167
+ }
2192
2168
  }
2193
2169
 
2194
2170
  .bi-footer {
2195
2171
  --bic-footer-color: var(--bi-basic-key);
2196
2172
  --bic-footer-background: var(--bi-basic-white);
2197
- }
2198
2173
 
2199
- .bi-footer[data-dark="true"] {
2200
- --bic-footer-color: var(--bi-basic-white);
2201
- --bic-footer-background: var(--bi-primary-95);
2202
- }
2174
+ &[data-dark="true"] {
2175
+ --bic-footer-color: var(--bi-basic-white);
2176
+ --bic-footer-background: var(--bi-primary-95);
2177
+ }
2203
2178
 
2204
- .bi-footer {
2205
2179
  width: 100%;
2206
2180
  color: var(--bic-footer-color);
2207
2181
  background-color: var(--bic-footer-background);
@@ -2215,208 +2189,196 @@ body:has(.bi-dialog:modal) {
2215
2189
  width: 100%;
2216
2190
  margin-top: -1px;
2217
2191
  display: flex;
2218
- }
2219
-
2220
- .bi-footer .bi-footer--links-container {
2221
- gap: var(--bi-scale-4x) var(--bi-scale-14x);
2222
- flex-wrap: wrap;
2223
- justify-content: center;
2224
- display: flex;
2225
- }
2226
-
2227
- @media (width < 768px) {
2228
- .bi-footer .bi-footer--links-container {
2229
- flex-direction: column;
2230
- }
2231
- }
2232
-
2233
- .bi-footer .bi-footer--links-container .bi-footer--links {
2234
- min-height: 44px;
2235
- font: var(--bi-font-label-large);
2236
- flex-direction: row;
2237
- justify-content: center;
2238
- align-items: center;
2239
- margin: auto;
2240
- display: flex;
2241
- }
2242
-
2243
- @media (width < 768px) {
2244
- .bi-footer .bi-footer--links-container .bi-footer--links {
2245
- flex-direction: column;
2246
- }
2247
- }
2248
-
2249
- .bi-footer .bi-footer--links-container .bi-footer--links > p {
2250
- margin: 0 var(--bi-scale-0-50x) 0 0;
2251
- font-weight: 300;
2252
- }
2253
2192
 
2254
- @media (width < 768px) {
2255
- .bi-footer .bi-footer--links-container .bi-footer--links > p {
2256
- margin: var(--bi-scale-3x) 0;
2257
- }
2258
- }
2193
+ & .bi-footer--links-container {
2194
+ gap: var(--bi-scale-4x) var(--bi-scale-14x);
2195
+ flex-wrap: wrap;
2196
+ justify-content: center;
2197
+ display: flex;
2259
2198
 
2260
- .bi-footer .bi-footer--links-container .bi-footer--links > div {
2261
- justify-content: center;
2262
- align-items: center;
2263
- gap: var(--bi-scale-3x) var(--bi-scale-10x);
2264
- white-space: nowrap;
2265
- flex-direction: row;
2266
- width: 100%;
2267
- display: flex;
2268
- }
2199
+ @media (width < 768px) {
2200
+ flex-direction: column;
2201
+ }
2269
2202
 
2270
- @media (width < 768px) {
2271
- .bi-footer .bi-footer--links-container .bi-footer--links > div {
2272
- flex-direction: column;
2203
+ & .bi-footer--links {
2204
+ min-height: 44px;
2205
+ font: var(--bi-font-label-large);
2206
+ flex-direction: row;
2207
+ justify-content: center;
2208
+ align-items: center;
2209
+ margin: auto;
2210
+ display: flex;
2211
+
2212
+ @media (width < 768px) {
2213
+ flex-direction: column;
2214
+ }
2215
+
2216
+ & > p {
2217
+ margin: 0 var(--bi-scale-0-50x) 0 0;
2218
+ font-weight: 300;
2219
+
2220
+ @media (width < 768px) {
2221
+ margin: var(--bi-scale-3x) 0;
2222
+ }
2223
+ }
2224
+
2225
+ & > div {
2226
+ justify-content: center;
2227
+ align-items: center;
2228
+ gap: var(--bi-scale-3x) var(--bi-scale-10x);
2229
+ white-space: nowrap;
2230
+ flex-direction: row;
2231
+ width: 100%;
2232
+ display: flex;
2233
+
2234
+ @media (width < 768px) {
2235
+ flex-direction: column;
2236
+ }
2237
+ }
2238
+ }
2273
2239
  }
2274
- }
2275
2240
 
2276
- .bi-footer .bi-footer--accreditations {
2277
- justify-content: center;
2278
- align-items: center;
2279
- gap: var(--bi-scale-12x);
2280
- flex-wrap: wrap;
2281
- min-height: 58px;
2282
- display: flex;
2283
- }
2241
+ & .bi-footer--accreditations {
2242
+ justify-content: center;
2243
+ align-items: center;
2244
+ gap: var(--bi-scale-12x);
2245
+ flex-wrap: wrap;
2246
+ min-height: 58px;
2247
+ display: flex;
2284
2248
 
2285
- @media (width < 600px) {
2286
- .bi-footer .bi-footer--accreditations {
2287
- gap: var(--bi-scale-2x) var(--bi-scale-1x);
2288
- }
2289
- }
2249
+ @media (width < 600px) {
2250
+ gap: var(--bi-scale-2x) var(--bi-scale-1x);
2251
+ }
2290
2252
 
2291
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb, .bi-footer .bi-footer--accreditations .bi-footer--amba, .bi-footer .bi-footer--accreditations .bi-footer--equis {
2292
- background-position: center;
2293
- background-repeat: no-repeat;
2294
- background-size: contain;
2295
- height: 58px;
2296
- display: block;
2297
- }
2253
+ & .bi-footer--aacsb, & .bi-footer--amba, & .bi-footer--equis {
2254
+ background-position: center;
2255
+ background-repeat: no-repeat;
2256
+ background-size: contain;
2257
+ height: 58px;
2258
+ display: block;
2259
+ }
2298
2260
 
2299
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb {
2300
- background-image: url("./assets/accreditations/aacsb.svg");
2301
- width: 127px;
2302
- }
2261
+ & .bi-footer--aacsb {
2262
+ background-image: url("./assets/accreditations/aacsb.svg");
2263
+ width: 127px;
2303
2264
 
2304
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb:is([data-dark="true"] .bi-footer--aacsb) {
2305
- background-image: url("./assets/accreditations/aacsb-neg.svg");
2306
- }
2265
+ &:is([data-dark="true"] .bi-footer--aacsb) {
2266
+ background-image: url("./assets/accreditations/aacsb-neg.svg");
2267
+ }
2268
+ }
2307
2269
 
2308
- .bi-footer .bi-footer--accreditations .bi-footer--amba {
2309
- background-image: url("./assets/accreditations/amba.svg");
2310
- width: 122px;
2311
- }
2270
+ & .bi-footer--amba {
2271
+ background-image: url("./assets/accreditations/amba.svg");
2272
+ width: 122px;
2312
2273
 
2313
- .bi-footer .bi-footer--accreditations .bi-footer--amba:is([data-dark="true"] .bi-footer--amba) {
2314
- background-image: url("./assets/accreditations/amba-neg.svg");
2315
- }
2274
+ &:is([data-dark="true"] .bi-footer--amba) {
2275
+ background-image: url("./assets/accreditations/amba-neg.svg");
2276
+ }
2277
+ }
2316
2278
 
2317
- .bi-footer .bi-footer--accreditations .bi-footer--equis {
2318
- background-image: url("./assets/accreditations/equis.svg");
2319
- width: 104px;
2320
- }
2279
+ & .bi-footer--equis {
2280
+ background-image: url("./assets/accreditations/equis.svg");
2281
+ width: 104px;
2321
2282
 
2322
- .bi-footer .bi-footer--accreditations .bi-footer--equis:is([data-dark="true"] .bi-footer--equis) {
2323
- background-image: url("./assets/accreditations/equis-neg.svg");
2324
- }
2283
+ &:is([data-dark="true"] .bi-footer--equis) {
2284
+ background-image: url("./assets/accreditations/equis-neg.svg");
2285
+ }
2286
+ }
2287
+ }
2325
2288
 
2326
- .bi-footer .bi-footer--socials {
2327
- justify-content: center;
2328
- align-items: center;
2329
- gap: var(--bi-scale-8x);
2330
- flex-wrap: wrap;
2331
- display: flex;
2332
- }
2289
+ & .bi-footer--socials {
2290
+ justify-content: center;
2291
+ align-items: center;
2292
+ gap: var(--bi-scale-8x);
2293
+ flex-wrap: wrap;
2294
+ display: flex;
2333
2295
 
2334
- @media (width < 600px) {
2335
- .bi-footer .bi-footer--socials {
2336
- gap: var(--bi-scale-2x);
2296
+ @media (width < 600px) {
2297
+ gap: var(--bi-scale-2x);
2298
+ }
2337
2299
  }
2338
- }
2339
2300
 
2340
- .bi-footer .bi-footer--copyright {
2341
- text-align: center;
2342
- font: var(--bi-font-body-large);
2343
- font-weight: var(--bi-font-weight-regular);
2344
- margin: 0;
2301
+ & .bi-footer--copyright {
2302
+ text-align: center;
2303
+ font: var(--bi-font-body-large);
2304
+ font-weight: var(--bi-font-weight-regular);
2305
+ margin: 0;
2306
+ }
2345
2307
  }
2346
2308
 
2347
2309
  svg {
2348
2310
  --bic-icon-size: inherit;
2349
2311
  font-size: var(--bic-icon-size);
2350
2312
  display: inline-block;
2351
- }
2352
2313
 
2353
- svg[data-size="2xl"] {
2354
- --bic-icon-size: var(--bi-icon-2xl) !important;
2355
- }
2314
+ &[data-size="2xl"] {
2315
+ --bic-icon-size: var(--bi-icon-2xl) !important;
2316
+ }
2356
2317
 
2357
- svg[data-size="xl"] {
2358
- --bic-icon-size: var(--bi-icon-xl) !important;
2359
- }
2318
+ &[data-size="xl"] {
2319
+ --bic-icon-size: var(--bi-icon-xl) !important;
2320
+ }
2360
2321
 
2361
- svg[data-size="large"] {
2362
- --bic-icon-size: var(--bi-icon-large) !important;
2363
- }
2322
+ &[data-size="large"] {
2323
+ --bic-icon-size: var(--bi-icon-large) !important;
2324
+ }
2364
2325
 
2365
- svg[data-size="medium"] {
2366
- --bic-icon-size: var(--bi-icon-medium) !important;
2367
- }
2326
+ &[data-size="medium"] {
2327
+ --bic-icon-size: var(--bi-icon-medium) !important;
2328
+ }
2368
2329
 
2369
- svg[data-size="small"] {
2370
- --bic-icon-size: var(--bi-icon-small) !important;
2371
- }
2330
+ &[data-size="small"] {
2331
+ --bic-icon-size: var(--bi-icon-small) !important;
2332
+ }
2372
2333
 
2373
- svg[data-color="inherit"] {
2374
- color: inherit;
2375
- }
2334
+ &[data-color="inherit"] {
2335
+ color: inherit;
2336
+ }
2376
2337
 
2377
- svg[data-color="primary"] {
2378
- color: #01417b;
2379
- }
2338
+ &[data-color="primary"] {
2339
+ color: #01417b;
2340
+ }
2380
2341
 
2381
- svg[data-color="gray"] {
2382
- color: #1c1b1b;
2383
- }
2342
+ &[data-color="gray"] {
2343
+ color: #1c1b1b;
2344
+ }
2384
2345
 
2385
- svg[data-color="black"] {
2386
- color: var(--bi-basic-key);
2387
- }
2346
+ &[data-color="black"] {
2347
+ color: var(--bi-basic-key);
2348
+ }
2388
2349
 
2389
- svg[data-color="white"] {
2390
- color: var(--bi-basic-white);
2350
+ &[data-color="white"] {
2351
+ color: var(--bi-basic-white);
2352
+ }
2391
2353
  }
2392
2354
 
2393
2355
  .bi-label {
2394
2356
  --bic-label-color: var(--bic-field-label-color, var(--bi-neutral-95));
2395
2357
  --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-primary-50));
2396
- }
2397
2358
 
2398
- .bi-label[data-dark="true"] {
2399
- --bic-label-color: var(--bic-field-label-color, var(--bi-basic-white));
2400
- --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-secondary-50));
2401
- }
2359
+ &[data-dark="true"] {
2360
+ --bic-label-color: var(--bic-field-label-color, var(--bi-basic-white));
2361
+ --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-secondary-50));
2362
+ }
2402
2363
 
2403
- .bi-label {
2404
2364
  color: var(--bic-label-color);
2405
2365
  font: var(--bi-font-label-medium);
2406
- }
2407
2366
 
2408
- .bi-label[data-weight="medium"] {
2409
- font-weight: var(--bi-font-weight-regular);
2410
- }
2367
+ &[data-weight="medium"] {
2368
+ font-weight: var(--bi-font-weight-regular);
2369
+ }
2411
2370
 
2412
- .bi-label[data-weight="regular"] {
2413
- font-weight: 300;
2414
- }
2371
+ &[data-weight="regular"] {
2372
+ font-weight: 300;
2373
+ }
2415
2374
 
2416
- .bi-label:has( ~ .bi-input:required, ~ .bi-field--affixes > .bi-input:required):before {
2417
- content: "*";
2418
- color: var(--bic-label-required-color);
2419
- padding-inline-end: var(--bi-scale-0-25x);
2375
+ &:has( ~ .bi-input:required, ~ .bi-field--affixes > .bi-input:required) {
2376
+ &:before {
2377
+ content: "*";
2378
+ color: var(--bic-label-required-color);
2379
+ padding-inline-end: var(--bi-scale-0-25x);
2380
+ }
2381
+ }
2420
2382
  }
2421
2383
 
2422
2384
  .bi-link {
@@ -2434,64 +2396,64 @@ svg[data-color="white"] {
2434
2396
  text-decoration-thickness: var(--bic-link-text-decoration-thickness);
2435
2397
  text-underline-offset: .25em;
2436
2398
  outline: none;
2437
- }
2438
-
2439
- .bi-link :is(img, svg) {
2440
- vertical-align: middle;
2441
- }
2442
2399
 
2443
- .bi-link[data-dark="true"] {
2444
- --bic-link-background-active: var(--bi-primary-80);
2445
- --bic-link-color-active: var(--bi-primary-30);
2446
- --bic-link-color-hover: var(--bi-primary-30);
2447
- --bic-link-color: var(--bi-primary-40);
2448
- --bic-link-focus-shadow-color: var(--bi-neutral-95);
2449
- --bic-link-focus-outline-color: var(--bi-primary-30);
2450
- }
2400
+ & :is(img, svg) {
2401
+ vertical-align: middle;
2402
+ }
2451
2403
 
2452
- .bi-link[data-color="neutral"] {
2453
- --bic-link-background-active: var(--bi-neutral-10);
2454
- --bic-link-color-active: var(--bi-neutral-100);
2455
- --bic-link-color-hover: var(--bi-neutral-100);
2456
- --bic-link-color: var(--bi-neutral-90);
2457
- }
2404
+ &[data-dark="true"] {
2405
+ --bic-link-background-active: var(--bi-primary-80);
2406
+ --bic-link-color-active: var(--bi-primary-30);
2407
+ --bic-link-color-hover: var(--bi-primary-30);
2408
+ --bic-link-color: var(--bi-primary-40);
2409
+ --bic-link-focus-shadow-color: var(--bi-neutral-95);
2410
+ --bic-link-focus-outline-color: var(--bi-primary-30);
2411
+ }
2458
2412
 
2459
- .bi-link[data-color="neutral"][data-dark="true"] {
2460
- --bic-link-background-active: var(--bi-neutral-90);
2461
- --bic-link-color-active: var(--bi-neutral-15);
2462
- --bic-link-color-hover: var(--bi-neutral-15);
2463
- --bic-link-color: var(--bi-neutral-5);
2464
- }
2413
+ &[data-color="neutral"] {
2414
+ --bic-link-background-active: var(--bi-neutral-10);
2415
+ --bic-link-color-active: var(--bi-neutral-100);
2416
+ --bic-link-color-hover: var(--bi-neutral-100);
2417
+ --bic-link-color: var(--bi-neutral-90);
2418
+
2419
+ &[data-dark="true"] {
2420
+ --bic-link-background-active: var(--bi-neutral-90);
2421
+ --bic-link-color-active: var(--bi-neutral-15);
2422
+ --bic-link-color-hover: var(--bi-neutral-15);
2423
+ --bic-link-color: var(--bi-neutral-5);
2424
+ }
2425
+ }
2465
2426
 
2466
- .bi-link[data-underline="hover"]:not(:hover) {
2467
- text-decoration: none;
2468
- }
2427
+ &[data-underline="hover"]:not(:hover) {
2428
+ text-decoration: none;
2429
+ }
2469
2430
 
2470
- .bi-link:visited {
2471
- color: var(--bic-link-color);
2472
- }
2431
+ &:visited {
2432
+ color: var(--bic-link-color);
2433
+ }
2473
2434
 
2474
- @media (hover: hover) and (pointer: fine) {
2475
- .bi-link:hover {
2476
- color: var(--bic-link-color-hover);
2477
- --bic-link-text-decoration-thickness: var(--bic-link-text-decoration-thickness--hover);
2435
+ @media (hover: hover) and (pointer: fine) {
2436
+ &:hover {
2437
+ color: var(--bic-link-color-hover);
2438
+ --bic-link-text-decoration-thickness: var(--bic-link-text-decoration-thickness--hover);
2439
+ }
2478
2440
  }
2479
- }
2480
2441
 
2481
- .bi-link:focus-visible {
2482
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-link-focus-shadow-color), var(--bic-button-box-shadow));
2483
- outline: var(--_bi--focus, 3px solid var(--bic-link-focus-outline-color));
2484
- outline-offset: var(--_bi--focus, 2px);
2485
- border-radius: var(--bi-radius-small);
2486
- }
2442
+ &:focus-visible {
2443
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-link-focus-shadow-color), var(--bic-button-box-shadow));
2444
+ outline: var(--_bi--focus, 3px solid var(--bic-link-focus-outline-color));
2445
+ outline-offset: var(--_bi--focus, 2px);
2446
+ border-radius: var(--bi-radius-small);
2487
2447
 
2488
- .bi-link:focus-visible * {
2489
- --_bi--focus: ;
2490
- }
2448
+ & * {
2449
+ --_bi--focus: ;
2450
+ }
2451
+ }
2491
2452
 
2492
- .bi-link:active {
2493
- background: var(--bic-link-background-active);
2494
- color: var(--bic-link-color-active);
2453
+ &:active {
2454
+ background: var(--bic-link-background-active);
2455
+ color: var(--bic-link-color-active);
2456
+ }
2495
2457
  }
2496
2458
 
2497
2459
  [data-bi-pride="true"] {
@@ -2515,51 +2477,49 @@ svg[data-color="white"] {
2515
2477
  background-size: contain;
2516
2478
  justify-content: center;
2517
2479
  display: flex;
2518
- }
2519
-
2520
- .bi-logo[data-dark="true"] {
2521
- --bic-logo-international-vertical: var(--bic-logo-pride-dark-international-vertical, url("./assets/logos/vertical-dark.svg"));
2522
- --bic-logo-international: var(--bic-logo-pride-dark-international, url("./assets/logos/international-dark.svg"));
2523
- --bic-logo-default: var(--bic-logo-pride-dark-default, url("./assets/logos/dark.svg"));
2524
- }
2525
2480
 
2526
- .bi-logo[data-size="xs"] {
2527
- --bic-logo-height: var(--bi-scale-6x);
2528
- }
2481
+ &[data-dark="true"] {
2482
+ --bic-logo-international-vertical: var(--bic-logo-pride-dark-international-vertical, url("./assets/logos/vertical-dark.svg"));
2483
+ --bic-logo-international: var(--bic-logo-pride-dark-international, url("./assets/logos/international-dark.svg"));
2484
+ --bic-logo-default: var(--bic-logo-pride-dark-default, url("./assets/logos/dark.svg"));
2485
+ }
2529
2486
 
2530
- .bi-logo[data-size="small"] {
2531
- --bic-logo-height: var(--bi-scale-8x);
2532
- }
2487
+ &[data-size="xs"] {
2488
+ --bic-logo-height: var(--bi-scale-6x);
2489
+ }
2533
2490
 
2534
- .bi-logo[data-size="medium"] {
2535
- --bic-logo-height: var(--bi-scale-11x);
2536
- }
2491
+ &[data-size="small"] {
2492
+ --bic-logo-height: var(--bi-scale-8x);
2493
+ }
2537
2494
 
2538
- .bi-logo[data-size="large"] {
2539
- --bic-logo-height: var(--bi-scale-24x);
2540
- }
2495
+ &[data-size="medium"] {
2496
+ --bic-logo-height: var(--bi-scale-11x);
2497
+ }
2541
2498
 
2542
- .bi-logo[data-size="xl"] {
2543
- --bic-logo-height: var(--bi-scale-36x);
2544
- }
2499
+ &[data-size="large"] {
2500
+ --bic-logo-height: var(--bi-scale-24x);
2501
+ }
2545
2502
 
2546
- .bi-logo[data-size="xxl"] {
2547
- --bic-logo-height: var(--bi-scale-48x);
2548
- }
2503
+ &[data-size="xl"] {
2504
+ --bic-logo-height: var(--bi-scale-36x);
2505
+ }
2549
2506
 
2550
- @media (width >= 795px) {
2551
- .bi-logo[data-international="true"][data-vertical="true"] {
2552
- background-image: var(--bic-logo-international-vertical);
2553
- aspect-ratio: .974318;
2507
+ &[data-size="xxl"] {
2508
+ --bic-logo-height: var(--bi-scale-48x);
2554
2509
  }
2555
2510
 
2556
- .bi-logo[data-international="true"] {
2557
- background-image: var(--bic-logo-international);
2558
- aspect-ratio: 2.8125;
2511
+ @media (width >= 795px) {
2512
+ &[data-international="true"] {
2513
+ &[data-vertical="true"] {
2514
+ background-image: var(--bic-logo-international-vertical);
2515
+ aspect-ratio: .974318;
2516
+ }
2517
+
2518
+ background-image: var(--bic-logo-international);
2519
+ aspect-ratio: 2.8125;
2520
+ }
2559
2521
  }
2560
- }
2561
2522
 
2562
- .bi-logo {
2563
2523
  background-image: var(--bic-logo-default);
2564
2524
  }
2565
2525
 
@@ -2581,100 +2541,94 @@ svg[data-color="white"] {
2581
2541
  width: 100%;
2582
2542
  color: var(--bic-navbar-color);
2583
2543
  display: flex;
2584
- }
2585
-
2586
- .bi-navbar[data-dark="true"] {
2587
- --bic-navbar-background-color: var(--bi-primary-95);
2588
- --bic-navbar-color: var(--bi-basic-white);
2589
- }
2590
-
2591
- .bi-navbar > header {
2592
- height: var(--bi-layout-navbar-height);
2593
- align-items: center;
2594
- gap: var(--bi-scale-6x);
2595
- width: 100%;
2596
- padding: 0 var(--bi-scale-6x);
2597
- background-color: inherit;
2598
- color: inherit;
2599
- z-index: 130;
2600
- display: flex;
2601
- }
2602
2544
 
2603
- @media (width < 768px) {
2604
- .bi-navbar > header {
2605
- padding: 0 var(--bi-scale-4x);
2545
+ &[data-dark="true"] {
2546
+ --bic-navbar-background-color: var(--bi-primary-95);
2547
+ --bic-navbar-color: var(--bi-basic-white);
2606
2548
  }
2607
- }
2608
2549
 
2609
- @media (prefers-reduced-motion: no-preference) {
2610
- .bi-navbar > header {
2611
- transition: transform .2s ease-in-out;
2612
- }
2613
- }
2550
+ & > header {
2551
+ height: var(--bi-layout-navbar-height);
2552
+ align-items: center;
2553
+ gap: var(--bi-scale-6x);
2554
+ width: 100%;
2555
+ padding: 0 var(--bi-scale-6x);
2556
+ background-color: inherit;
2557
+ color: inherit;
2558
+ z-index: 130;
2559
+ display: flex;
2560
+
2561
+ @media (width < 768px) {
2562
+ padding: 0 var(--bi-scale-4x);
2563
+ }
2614
2564
 
2615
- .bi-navbar > header > :first-child {
2616
- margin-right: auto;
2617
- }
2565
+ @media (prefers-reduced-motion: no-preference) {
2566
+ transition: transform .2s ease-in-out;
2567
+ }
2618
2568
 
2619
- .bi-navbar[data-fixed="true"] > header {
2620
- position: fixed;
2621
- top: 0;
2622
- left: 0;
2623
- right: 0;
2624
- }
2569
+ & > :first-child {
2570
+ margin-right: auto;
2571
+ }
2572
+ }
2625
2573
 
2626
- .bi-navbar:not([data-fixed="true"])[data-transparent="true"] {
2627
- --bic-navbar-background-color: transparent;
2628
- height: 0;
2629
- }
2574
+ &[data-fixed="true"] {
2575
+ & > header {
2576
+ position: fixed;
2577
+ top: 0;
2578
+ left: 0;
2579
+ right: 0;
2580
+ }
2581
+ }
2630
2582
 
2631
- .bi-navbar[data-fixed="true"][data-transparent="true"] {
2632
- height: 0;
2633
- animation-name: bi-navbar-transparent-reveal;
2634
- animation-timing-function: linear;
2635
- animation-fill-mode: both;
2636
- animation-timeline: scroll();
2637
- animation-range: 0px var(--bi-layout-navbar-height);
2638
- }
2583
+ &:not([data-fixed="true"])[data-transparent="true"] {
2584
+ --bic-navbar-background-color: transparent;
2585
+ height: 0;
2586
+ }
2639
2587
 
2640
- @media (prefers-reduced-motion: reduce) {
2641
- .bi-navbar[data-fixed="true"][data-transparent="true"] {
2642
- animation-timing-function: step-end;
2588
+ &[data-fixed="true"][data-transparent="true"] {
2589
+ height: 0;
2590
+ animation-name: bi-navbar-transparent-reveal;
2591
+ animation-timing-function: linear;
2592
+ animation-fill-mode: both;
2593
+ animation-timeline: scroll();
2594
+ animation-range: 0px var(--bi-layout-navbar-height);
2595
+
2596
+ @media (prefers-reduced-motion: reduce) {
2597
+ animation-timing-function: step-end;
2598
+ }
2643
2599
  }
2644
2600
  }
2645
2601
 
2646
2602
  .bi-sub-navbar--wrapper {
2647
2603
  height: var(--bi-layout-navbar-height);
2648
2604
  position: relative;
2649
- }
2650
-
2651
- .bi-sub-navbar--wrapper .bi-sub-navbar {
2652
- --bic-sub-navbar-background-color: var(--bi-basic-white);
2653
- --bic-sub-navbar-color: var(--bi-basic-key);
2654
- --bic-sub-navbar-border-color: var(--bi-neutral-15);
2655
- height: var(--bi-layout-navbar-height);
2656
- background-color: var(--bic-sub-navbar-background-color);
2657
- border-bottom: 1px solid var(--bic-sub-navbar-border-color);
2658
- width: 100%;
2659
- position: absolute;
2660
- top: 0;
2661
- left: 0;
2662
- }
2663
2605
 
2664
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-dark="true"] {
2665
- --bic-sub-navbar-background-color: var(--bi-primary-95);
2666
- --bic-sub-navbar-color: var(--bi-basic-white);
2667
- --bic-sub-navbar-border-color: var(--bi-neutral-70);
2668
- }
2606
+ & .bi-sub-navbar {
2607
+ --bic-sub-navbar-background-color: var(--bi-basic-white);
2608
+ --bic-sub-navbar-color: var(--bi-basic-key);
2609
+ --bic-sub-navbar-border-color: var(--bi-neutral-15);
2610
+ height: var(--bi-layout-navbar-height);
2611
+ background-color: var(--bic-sub-navbar-background-color);
2612
+ border-bottom: 1px solid var(--bic-sub-navbar-border-color);
2613
+ width: 100%;
2614
+ position: absolute;
2615
+ top: 0;
2616
+ left: 0;
2617
+
2618
+ &[data-dark="true"] {
2619
+ --bic-sub-navbar-background-color: var(--bi-primary-95);
2620
+ --bic-sub-navbar-color: var(--bi-basic-white);
2621
+ --bic-sub-navbar-border-color: var(--bi-neutral-70);
2622
+ }
2669
2623
 
2670
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2671
- z-index: 120;
2672
- position: fixed;
2673
- }
2624
+ &[data-fixed="true"] {
2625
+ z-index: 120;
2626
+ position: fixed;
2674
2627
 
2675
- @media (prefers-reduced-motion: no-preference) {
2676
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2677
- transition: top .2s ease-in-out;
2628
+ @media (prefers-reduced-motion: no-preference) {
2629
+ transition: top .2s ease-in-out;
2630
+ }
2631
+ }
2678
2632
  }
2679
2633
  }
2680
2634
 
@@ -2682,50 +2636,56 @@ svg[data-color="white"] {
2682
2636
  --bic-pagination-gap: var(--bi-scale-2x);
2683
2637
  --bic-pagination-color: var(--bi-basic-key);
2684
2638
  --bic-pagination-selected-background: var(--bi-primary-5);
2685
- }
2686
-
2687
- .bi-pagination[data-dark="true"] {
2688
- --bic-pagination-color: var(--bi-basic-white);
2689
- --bic-pagination-selected-background: var(--bi-primary-80);
2690
- }
2691
-
2692
- .bi-pagination :is(ol, ul) {
2693
- color: var(--bic-pagination-color);
2694
- gap: var(--bic-pagination-gap);
2695
- flex-wrap: wrap;
2696
- align-items: center;
2697
- width: fit-content;
2698
- margin: 0;
2699
- padding: 0;
2700
- list-style: none;
2701
- display: flex;
2702
- }
2703
-
2704
- .bi-pagination :is(ol, ul) > li:empty:before {
2705
- content: "...";
2706
- min-width: var(--bi-scale-11x);
2707
- text-align: center;
2708
- display: block;
2709
- }
2710
2639
 
2711
- .bi-pagination :is(ol, ul) > li > .bi-button {
2712
- --bic-button-font-size: 1rem;
2713
- }
2640
+ &[data-dark="true"] {
2641
+ --bic-pagination-color: var(--bi-basic-white);
2642
+ --bic-pagination-selected-background: var(--bi-primary-80);
2643
+ }
2714
2644
 
2715
- .bi-pagination :is(ol, ul) > li > .bi-button[aria-current="page"] {
2716
- background-color: var(--bic-pagination-selected-background);
2645
+ & :is(ol, ul) {
2646
+ color: var(--bic-pagination-color);
2647
+ gap: var(--bic-pagination-gap);
2648
+ flex-wrap: wrap;
2649
+ align-items: center;
2650
+ width: fit-content;
2651
+ margin: 0;
2652
+ padding: 0;
2653
+ list-style: none;
2654
+ display: flex;
2655
+
2656
+ & > li {
2657
+ &:empty:before {
2658
+ content: "...";
2659
+ min-width: var(--bi-scale-11x);
2660
+ text-align: center;
2661
+ display: block;
2662
+ }
2663
+
2664
+ & > .bi-button {
2665
+ --bic-button-font-size: 1rem;
2666
+
2667
+ &[aria-current="page"] {
2668
+ background-color: var(--bic-pagination-selected-background);
2669
+ }
2670
+ }
2671
+ }
2672
+ }
2717
2673
  }
2718
2674
 
2719
- .bi-search:has(:focus-visible) .bi-field--affix:first-child {
2720
- color: var(--bi-primary-50);
2721
- }
2675
+ .bi-search {
2676
+ &:has(:focus-visible) {
2677
+ & .bi-field--affix:first-child {
2678
+ color: var(--bi-primary-50);
2679
+ }
2680
+ }
2722
2681
 
2723
- .bi-search .bi-field--affix:last-child {
2724
- --bic-field-padding-inline: 0;
2725
- }
2682
+ & .bi-field--affix:last-child {
2683
+ --bic-field-padding-inline: 0;
2684
+ }
2726
2685
 
2727
- .bi-search:has(.bi-input:is(:read-only, :disabled, [aria-disabled="true"]), .bi-input:placeholder-shown) button[type="reset"] {
2728
- display: none;
2686
+ &:has(.bi-input:is(:read-only, :disabled, [aria-disabled="true"]), .bi-input:placeholder-shown) button[type="reset"] {
2687
+ display: none;
2688
+ }
2729
2689
  }
2730
2690
 
2731
2691
  .bi-skip-link {
@@ -2744,20 +2704,18 @@ svg[data-color="white"] {
2744
2704
  position: absolute;
2745
2705
  left: 50%;
2746
2706
  transform: translate(-50%, -110%);
2747
- }
2748
2707
 
2749
- @media (prefers-reduced-motion: reduce) {
2750
- .bi-skip-link {
2708
+ @media (prefers-reduced-motion: reduce) {
2751
2709
  transition: none;
2752
2710
  }
2753
- }
2754
2711
 
2755
- .bi-skip-link:focus {
2756
- transform: translate(-50%, var(--bi-scale-2x));
2757
- border-radius: var(--bi-radius-medium);
2758
- outline-offset: 2px;
2759
- outline: var(--bi-stroke-thick) solid var(--bi-primary-50);
2760
- box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-basic-white);
2712
+ &:focus {
2713
+ transform: translate(-50%, var(--bi-scale-2x));
2714
+ border-radius: var(--bi-radius-medium);
2715
+ outline-offset: 2px;
2716
+ outline: var(--bi-stroke-thick) solid var(--bi-primary-50);
2717
+ box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-basic-white);
2718
+ }
2761
2719
  }
2762
2720
 
2763
2721
  .bi-spinner {
@@ -2770,42 +2728,39 @@ svg[data-color="white"] {
2770
2728
  height: 1em;
2771
2729
  animation: 1s linear infinite bi-spinner;
2772
2730
  display: inline-block;
2773
- -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 4px), #000 0);
2774
2731
  mask: radial-gradient(farthest-side, #0000 calc(100% - 4px), #000 0);
2775
- }
2776
2732
 
2777
- @media (prefers-reduced-motion: reduce) {
2778
- .bi-spinner {
2733
+ @media (prefers-reduced-motion: reduce) {
2779
2734
  animation-duration: 6s;
2780
2735
  }
2781
- }
2782
2736
 
2783
- .bi-spinner[data-color="inherit"] {
2784
- --bic-spinner-color: currentColor;
2785
- }
2737
+ &[data-color="inherit"] {
2738
+ --bic-spinner-color: currentColor;
2739
+ }
2786
2740
 
2787
- .bi-spinner[data-color="black"] {
2788
- --bic-spinner-color: var(--bi-basic-key);
2789
- }
2741
+ &[data-color="black"] {
2742
+ --bic-spinner-color: var(--bi-basic-key);
2743
+ }
2790
2744
 
2791
- .bi-spinner[data-size="2xl"] {
2792
- font-size: var(--bi-scale-12x);
2793
- }
2745
+ &[data-size="2xl"] {
2746
+ font-size: var(--bi-scale-12x);
2747
+ }
2794
2748
 
2795
- .bi-spinner[data-size="xl"] {
2796
- font-size: var(--bi-scale-10x);
2797
- }
2749
+ &[data-size="xl"] {
2750
+ font-size: var(--bi-scale-10x);
2751
+ }
2798
2752
 
2799
- .bi-spinner[data-size="large"] {
2800
- font-size: var(--bi-scale-8x);
2801
- }
2753
+ &[data-size="large"] {
2754
+ font-size: var(--bi-scale-8x);
2755
+ }
2802
2756
 
2803
- .bi-spinner[data-size="medium"] {
2804
- font-size: var(--bi-scale-6x);
2805
- }
2757
+ &[data-size="medium"] {
2758
+ font-size: var(--bi-scale-6x);
2759
+ }
2806
2760
 
2807
- .bi-spinner[data-size="small"] {
2808
- font-size: var(--bi-scale-5x);
2761
+ &[data-size="small"] {
2762
+ font-size: var(--bi-scale-5x);
2763
+ }
2809
2764
  }
2810
2765
 
2811
2766
  @keyframes bi-spinner {
@@ -2817,10 +2772,8 @@ svg[data-color="white"] {
2817
2772
  .bi-sticky-header {
2818
2773
  z-index: 100;
2819
2774
  position: sticky;
2820
- }
2821
2775
 
2822
- @media (prefers-reduced-motion: no-preference) {
2823
- .bi-sticky-header {
2776
+ @media (prefers-reduced-motion: no-preference) {
2824
2777
  transition: top .2s ease-in-out;
2825
2778
  }
2826
2779
  }
@@ -2834,130 +2787,126 @@ svg[data-color="white"] {
2834
2787
  --bic-tabs-panel-padding: var(--bi-scale-4x) var(--bi-scale-5x);
2835
2788
  --bic-tabs-focus-shadow-color: var(--bi-basic-white);
2836
2789
  --bic-tabs-focus-outline-color: var(--bi-primary-50);
2837
- }
2838
2790
 
2839
- .bi-tabs[data-dark="true"] {
2840
- --bic-tabs-tab-color: var(--bi-neutral-5);
2841
- --bic-tabs-tab-color-selected: var(--bi-primary-30);
2842
- --bic-tabs-tab-background-hover: var(--bi-states-hover-light);
2843
- --bic-tabs-tab-background-press: var(--bi-states-press-light);
2844
- --bic-tabs-focus-shadow-color: var(--bi-neutral-95);
2845
- --bic-tabs-focus-outline-color: var(--bi-primary-30);
2846
- }
2791
+ &[data-dark="true"] {
2792
+ --bic-tabs-tab-color: var(--bi-neutral-5);
2793
+ --bic-tabs-tab-color-selected: var(--bi-primary-30);
2794
+ --bic-tabs-tab-background-hover: var(--bi-states-hover-light);
2795
+ --bic-tabs-tab-background-press: var(--bi-states-press-light);
2796
+ --bic-tabs-focus-shadow-color: var(--bi-neutral-95);
2797
+ --bic-tabs-focus-outline-color: var(--bi-primary-30);
2798
+ }
2847
2799
 
2848
- .bi-tabs {
2849
2800
  flex-direction: column;
2850
2801
  display: flex;
2851
2802
  overflow: hidden;
2852
- }
2853
-
2854
- .bi-tabs :is([role="tablist"], ds-tablist, nav) {
2855
- scrollbar-width: none;
2856
- flex-direction: row;
2857
- flex-shrink: 0;
2858
- position: relative;
2859
- overflow-x: auto;
2860
- }
2861
-
2862
- .bi-tabs :is([role="tablist"], ds-tablist, nav):not([hidden]) {
2863
- display: flex;
2864
- }
2865
-
2866
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) {
2867
- font: var(--bic-tabs-tab-font);
2868
- border-radius: var(--bi-radius-medium);
2869
- box-sizing: border-box;
2870
- color: var(--bic-tabs-tab-color);
2871
- cursor: pointer;
2872
- align-items: center;
2873
- gap: var(--bi-scale-1x);
2874
- padding: .625rem var(--bi-scale-6x);
2875
- text-align: center;
2876
- white-space: nowrap;
2877
- background: none;
2878
- border: 0;
2879
- flex-direction: row;
2880
- justify-content: center;
2881
- margin: 0;
2882
- line-height: 1.5;
2883
- text-decoration: none;
2884
- transition: color .2s ease-in-out;
2885
- position: relative;
2886
- }
2887
-
2888
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):not([hidden]) {
2889
- display: flex;
2890
- }
2891
-
2892
- @media (hover: hover) and (pointer: fine) {
2893
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):hover {
2894
- background: var(--bic-tabs-tab-background-hover);
2895
- }
2896
- }
2897
-
2898
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):active {
2899
- background: var(--bic-tabs-tab-background-press);
2900
- }
2901
-
2902
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):not(:focus-visible) {
2903
- border-bottom-right-radius: 0;
2904
- border-bottom-left-radius: 0;
2905
- }
2906
-
2907
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):focus-visible {
2908
- box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-tabs-focus-shadow-color));
2909
- outline: var(--_bi--focus, 3px solid var(--bic-tabs-focus-outline-color));
2910
- outline-offset: var(--_bi--focus, -3px);
2911
- }
2912
-
2913
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):focus-visible:after {
2914
- bottom: 3px;
2915
- }
2916
2803
 
2917
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) :where(img, svg) {
2918
- font-size: var(--bi-icon-medium);
2919
- flex-shrink: 0;
2920
- }
2804
+ & :is([role="tablist"], ds-tablist, nav) {
2805
+ scrollbar-width: none;
2806
+ flex-direction: row;
2807
+ flex-shrink: 0;
2808
+ position: relative;
2809
+ overflow-x: auto;
2921
2810
 
2922
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):after {
2923
- background: var(--bic-tabs-tab-color-selected);
2924
- content: "";
2925
- border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2926
- width: 0;
2927
- height: 3px;
2928
- transition: width .2s ease-in-out;
2929
- display: block;
2930
- position: absolute;
2931
- bottom: 0;
2932
- left: 50%;
2933
- transform: translateX(-50%);
2934
- }
2811
+ &:not([hidden]) {
2812
+ display: flex;
2813
+ }
2935
2814
 
2936
- @media (prefers-reduced-motion: reduce) {
2937
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) {
2938
- transition: none;
2815
+ & > :is([role="tab"], ds-tab, a) {
2816
+ font: var(--bic-tabs-tab-font);
2817
+ border-radius: var(--bi-radius-medium);
2818
+ box-sizing: border-box;
2819
+ color: var(--bic-tabs-tab-color);
2820
+ cursor: pointer;
2821
+ align-items: center;
2822
+ gap: var(--bi-scale-1x);
2823
+ padding: .625rem var(--bi-scale-6x);
2824
+ text-align: center;
2825
+ white-space: nowrap;
2826
+ background: none;
2827
+ border: 0;
2828
+ flex-direction: row;
2829
+ justify-content: center;
2830
+ margin: 0;
2831
+ line-height: 1.5;
2832
+ text-decoration: none;
2833
+ transition: color .2s ease-in-out;
2834
+ position: relative;
2835
+
2836
+ &:not([hidden]) {
2837
+ display: flex;
2838
+ }
2839
+
2840
+ @media (hover: hover) and (pointer: fine) {
2841
+ &:hover {
2842
+ background: var(--bic-tabs-tab-background-hover);
2843
+ }
2844
+ }
2845
+
2846
+ &:active {
2847
+ background: var(--bic-tabs-tab-background-press);
2848
+ }
2849
+
2850
+ &:not(:focus-visible) {
2851
+ border-bottom-right-radius: 0;
2852
+ border-bottom-left-radius: 0;
2853
+ }
2854
+
2855
+ &:focus-visible {
2856
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-tabs-focus-shadow-color));
2857
+ outline: var(--_bi--focus, 3px solid var(--bic-tabs-focus-outline-color));
2858
+ outline-offset: var(--_bi--focus, -3px);
2859
+
2860
+ &:after {
2861
+ bottom: 3px;
2862
+ }
2863
+ }
2864
+
2865
+ & :where(img, svg) {
2866
+ font-size: var(--bi-icon-medium);
2867
+ flex-shrink: 0;
2868
+ }
2869
+
2870
+ &:after {
2871
+ background: var(--bic-tabs-tab-color-selected);
2872
+ content: "";
2873
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2874
+ width: 0;
2875
+ height: 3px;
2876
+ transition: width .2s ease-in-out;
2877
+ display: block;
2878
+ position: absolute;
2879
+ bottom: 0;
2880
+ left: 50%;
2881
+ transform: translateX(-50%);
2882
+ }
2883
+
2884
+ @media (prefers-reduced-motion: reduce) {
2885
+ transition: none;
2886
+
2887
+ &:after {
2888
+ transition: none;
2889
+ }
2890
+ }
2891
+
2892
+ &[aria-selected="true"], &[aria-current="page"] {
2893
+ color: var(--bic-tabs-tab-color-selected);
2894
+
2895
+ &:after {
2896
+ width: calc(100% - var(--bi-scale-6x));
2897
+ }
2898
+ }
2899
+ }
2939
2900
  }
2940
2901
 
2941
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):after {
2942
- transition: none;
2902
+ & :is([role="tabpanel"], ds-tabpanel) {
2903
+ padding: var(--bic-tabs-panel-padding);
2904
+ color: var(--bic-tabs-tab-color);
2905
+ outline: none;
2906
+ flex-grow: 1;
2943
2907
  }
2944
2908
  }
2945
2909
 
2946
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-selected="true"], .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-current="page"] {
2947
- color: var(--bic-tabs-tab-color-selected);
2948
- }
2949
-
2950
- :is(.bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-selected="true"], .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-current="page"]):after {
2951
- width: calc(100% - var(--bi-scale-6x));
2952
- }
2953
-
2954
- .bi-tabs :is([role="tabpanel"], ds-tabpanel) {
2955
- padding: var(--bic-tabs-panel-padding);
2956
- color: var(--bic-tabs-tab-color);
2957
- outline: none;
2958
- flex-grow: 1;
2959
- }
2960
-
2961
2910
  .bi-tooltip {
2962
2911
  --_ds-floating: var(--bic-tooltip-placement);
2963
2912
  --bic-tooltip-background: var(--bi-neutral-85);
@@ -2978,42 +2927,42 @@ svg[data-color="white"] {
2978
2927
  position: absolute;
2979
2928
  inset: 0 auto auto 0;
2980
2929
  overflow: visible;
2981
- }
2982
2930
 
2983
- .bi-tooltip:after {
2984
- content: "";
2985
- box-sizing: border-box;
2986
- width: 0;
2987
- height: 0;
2988
- position: absolute;
2989
- top: 100%;
2990
- left: 50%;
2991
- }
2931
+ &:after {
2932
+ content: "";
2933
+ box-sizing: border-box;
2934
+ width: 0;
2935
+ height: 0;
2936
+ position: absolute;
2937
+ top: 100%;
2938
+ left: 50%;
2939
+ }
2992
2940
 
2993
- .bi-tooltip[data-floating="top"]:after, .bi-tooltip[data-floating="bottom"]:after {
2994
- width: 100%;
2995
- height: var(--bic-tooltip-shift-size);
2996
- top: 100%;
2997
- left: 0;
2998
- }
2941
+ &[data-floating="top"]:after, &[data-floating="bottom"]:after {
2942
+ width: 100%;
2943
+ height: var(--bic-tooltip-shift-size);
2944
+ top: 100%;
2945
+ left: 0;
2946
+ }
2999
2947
 
3000
- .bi-tooltip[data-floating="left"]:after, .bi-tooltip[data-floating="right"]:after {
3001
- width: var(--bic-tooltip-shift-size);
3002
- height: 100%;
3003
- top: 0;
3004
- left: 100%;
3005
- }
2948
+ &[data-floating="left"]:after, &[data-floating="right"]:after {
2949
+ width: var(--bic-tooltip-shift-size);
2950
+ height: 100%;
2951
+ top: 0;
2952
+ left: 100%;
2953
+ }
3006
2954
 
3007
- .bi-tooltip[data-floating="bottom"]:after {
3008
- top: calc(var(--bic-tooltip-shift-size) * -1);
3009
- }
2955
+ &[data-floating="bottom"]:after {
2956
+ top: calc(var(--bic-tooltip-shift-size) * -1);
2957
+ }
3010
2958
 
3011
- .bi-tooltip[data-floating="right"]:after {
3012
- left: calc(var(--bic-tooltip-shift-size) * -1);
3013
- }
2959
+ &[data-floating="right"]:after {
2960
+ left: calc(var(--bic-tooltip-shift-size) * -1);
2961
+ }
3014
2962
 
3015
- .bi-tooltip:not([popover]) {
3016
- display: none;
2963
+ &:not([popover]) {
2964
+ display: none;
2965
+ }
3017
2966
  }
3018
2967
 
3019
2968
  @keyframes bi-tooltip-fade-in {
@@ -3034,47 +2983,57 @@ svg[data-color="white"] {
3034
2983
  font: var(--bi-font-label-medium);
3035
2984
  margin: 0;
3036
2985
  position: relative;
3037
- }
3038
2986
 
3039
- .bi-validation-message:has( > svg) {
3040
- padding-inline-start: calc(var(--bic-validation-message-icon-size) + var(--bic-validation-message-padding) * 2);
3041
- }
2987
+ &:has( > svg) {
2988
+ padding-inline-start: calc(var(--bic-validation-message-icon-size) + var(--bic-validation-message-padding) * 2);
2989
+ }
3042
2990
 
3043
- .bi-validation-message > svg {
3044
- font-size: var(--bic-validation-message-icon-size);
3045
- top: var(--bic-validation-message-padding);
3046
- left: var(--bic-validation-message-padding);
3047
- position: absolute;
2991
+ & > svg {
2992
+ font-size: var(--bic-validation-message-icon-size);
2993
+ top: var(--bic-validation-message-padding);
2994
+ left: var(--bic-validation-message-padding);
2995
+ position: absolute;
2996
+ }
3048
2997
  }
3049
2998
 
3050
- :is(html:has(.bi-navbar), html:has(.bi-sub-navbar)) {
3051
- scroll-padding-top: var(--bi-layout-navbar-height);
3052
- }
2999
+ html {
3000
+ &:has(.bi-navbar), &:has(.bi-sub-navbar) {
3001
+ scroll-padding-top: var(--bi-layout-navbar-height);
3002
+ }
3053
3003
 
3054
- html .bi-sticky-header {
3055
- top: 0;
3056
- }
3004
+ & .bi-sticky-header {
3005
+ top: 0;
3006
+ }
3057
3007
 
3058
- html:has(.bi-navbar[data-fixed="true"]) .bi-sticky-header {
3059
- top: var(--bi-layout-navbar-height);
3060
- }
3008
+ &:has(.bi-navbar[data-fixed="true"]) {
3009
+ & .bi-sticky-header {
3010
+ top: var(--bi-layout-navbar-height);
3011
+ }
3012
+ }
3061
3013
 
3062
- html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-navbar > header {
3063
- transform: translateY(-100%);
3064
- }
3014
+ &:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) {
3015
+ & .bi-navbar > header {
3016
+ transform: translateY(-100%);
3017
+ }
3065
3018
 
3066
- html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-sub-navbar {
3067
- top: 0;
3068
- }
3019
+ & .bi-sub-navbar {
3020
+ top: 0;
3021
+ }
3022
+ }
3069
3023
 
3070
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-navbar > header {
3071
- transform: translateY(0);
3072
- }
3024
+ &:has(.bi-navbar[data-fixed="true"]) {
3025
+ &:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) {
3026
+ & .bi-navbar > header {
3027
+ transform: translateY(0);
3028
+ }
3073
3029
 
3074
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sub-navbar {
3075
- top: var(--bi-layout-navbar-height);
3076
- }
3030
+ & .bi-sub-navbar {
3031
+ top: var(--bi-layout-navbar-height);
3032
+ }
3077
3033
 
3078
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sticky-header {
3079
- top: calc(var(--bi-layout-navbar-height) + var(--bi-layout-navbar-height));
3034
+ & .bi-sticky-header {
3035
+ top: calc(var(--bi-layout-navbar-height) + var(--bi-layout-navbar-height));
3036
+ }
3037
+ }
3038
+ }
3080
3039
  }