@bi-digital/css 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/baseline.css CHANGED
@@ -1,5 +1,5 @@
1
1
  body, :host {
2
- font-family: museo-sans, Arial, sans-serif, system-ui;
2
+ font-family: var(--bi-font-family-plain), system-ui;
3
3
  line-height: 1.5;
4
4
  }
5
5
 
@@ -17,6 +17,9 @@
17
17
  width: var(--bic-avatar-size);
18
18
  height: var(--bic-avatar-size);
19
19
  font-size: var(--bic-avatar-font-size);
20
+ font-weight: var(--bi-font-weight-regular);
21
+ line-height: 1;
22
+ font-family: var(--bi-font-family-plain);
20
23
  text-transform: uppercase;
21
24
  -webkit-user-select: none;
22
25
  user-select: none;
@@ -24,9 +27,6 @@
24
27
  flex-shrink: 0;
25
28
  justify-content: center;
26
29
  align-items: center;
27
- font-family: museo-sans, Arial, sans-serif;
28
- font-weight: 500;
29
- line-height: 1;
30
30
  text-decoration: none;
31
31
  display: flex;
32
32
  overflow: hidden;
@@ -5,16 +5,13 @@
5
5
  --bic-badge-border-radius: var(--bi-radius-medium);
6
6
  --bic-badge-border-width: var(--bi-stroke-thin);
7
7
  --bic-badge-height: var(--bi-scale-6x);
8
- --bic-badge-font-size: .875rem;
9
- --bic-badge-line-height: 1.4;
8
+ --bic-badge-font: var(--bi-font-body-medium);
10
9
  --bic-badge-padding: 0 var(--bi-scale-1-5x);
11
10
  padding: var(--bic-badge-padding);
12
11
  border-radius: var(--bic-badge-border-radius);
13
12
  background-color: var(--bic-badge-background);
14
13
  color: var(--bic-badge-color);
15
- font-family: museo-sans, Arial, sans-serif;
16
- font-size: var(--bic-badge-font-size);
17
- line-height: var(--bic-badge-line-height);
14
+ font: var(--bic-badge-font);
18
15
  width: max-content;
19
16
  height: fit-content;
20
17
  min-height: var(--bic-badge-height);
@@ -22,7 +19,6 @@
22
19
  word-break: break-word;
23
20
  justify-content: center;
24
21
  align-items: center;
25
- font-weight: 500;
26
22
  display: inline-flex;
27
23
  }
28
24
 
@@ -38,16 +34,14 @@
38
34
 
39
35
  .bi-badge[data-size="xs"] {
40
36
  --bic-badge-padding: 0 var(--bi-scale-0-50x);
41
- --bic-badge-font-size: .8125rem;
42
- --bic-badge-line-height: 1.15;
37
+ --bic-badge-font: var(--bi-font-body-xs);
43
38
  --bic-badge-border-radius: var(--bi-radius-small);
44
39
  --bic-badge-height: var(--bi-scale-4x);
45
40
  }
46
41
 
47
42
  .bi-badge[data-size="small"] {
48
43
  --bic-badge-padding: 0 var(--bi-scale-1x);
49
- --bic-badge-font-size: .8125rem;
50
- --bic-badge-line-height: 1.15;
44
+ --bic-badge-font: var(--bi-font-body-xs);
51
45
  --bic-badge-height: var(--bi-scale-5x);
52
46
  }
53
47
 
@@ -5,13 +5,14 @@
5
5
  --bic-button-size: var(--bi-scale-11x);
6
6
  --bic-button-font-size: 1rem;
7
7
  --bic-button-line-height: 1.5;
8
- --bic-button-color: 1.5rem;
8
+ --bic-button-color: var(--bi-basic-white);
9
9
  --bic-button-background: transparent;
10
10
  --bic-button-background-hover: transparent;
11
11
  --bic-button-background-press: transparent;
12
+ --bic-button-active-color: var(--bi-primary-50);
12
13
  --bic-button-focus-shadow-color: var(--bi-basic-white);
13
14
  --bic-button-focus-outline-color: var(--bi-primary-50);
14
- font-family: museo-sans, Arial, sans-serif;
15
+ font-family: var(--bi-font-family-plain);
15
16
  font-size: var(--bic-button-font-size);
16
17
  line-height: var(--bic-button-line-height);
17
18
  -webkit-font-smoothing: antialiased;
@@ -22,6 +23,7 @@
22
23
  cursor: pointer;
23
24
  color: var(--bic-button-color);
24
25
  background: var(--bic-button-background);
26
+ font-weight: var(--bi-font-weight-bold);
25
27
  box-shadow: var(--bic-button-box-shadow);
26
28
  height: fit-content;
27
29
  min-height: var(--bic-button-size);
@@ -33,23 +35,23 @@
33
35
  text-align: inherit;
34
36
  border: none;
35
37
  flex-shrink: 0;
36
- font-weight: 600;
37
38
  display: flex;
38
39
  position: relative;
39
40
  overflow: hidden;
40
41
  }
41
42
 
42
- .bi-button[data-stretch="true"] {
43
- width: 100%;
43
+ .bi-button[data-dark="true"] {
44
+ --bic-button-active-color: var(--bi-primary-30);
45
+ --bic-button-focus-shadow-color: var(--bi-neutral-95);
46
+ --bic-button-focus-outline-color: var(--bi-primary-30);
44
47
  }
45
48
 
46
- .bi-button[data-active="true"] {
47
- box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
49
+ .bi-button[data-fullwidth="true"] {
50
+ width: 100%;
48
51
  }
49
52
 
50
- .bi-button[data-dark="true"] {
51
- --bic-button-focus-shadow-color: var(--bi-neutral-95);
52
- --bic-button-focus-outline-color: var(--bi-primary-30);
53
+ .bi-button[data-active="true"], .bi-button[aria-expanded="true"] {
54
+ box-shadow: 0px 0px 0px 1.5px var(--bic-button-active-color) inset;
53
55
  }
54
56
 
55
57
  .bi-button:focus-visible {
@@ -161,15 +161,13 @@
161
161
 
162
162
  .bi-card .bi-card--content > p {
163
163
  color: var(--bic-card-content-color);
164
+ font: var(--bi-font-body-medium);
164
165
  white-space: break-spaces;
165
166
  text-overflow: ellipsis;
166
167
  -webkit-line-clamp: var(--bic-card-content-lines);
167
168
  line-clamp: var(--bic-card-content-lines);
168
169
  -webkit-box-orient: vertical;
169
170
  margin: 0;
170
- font-size: .875rem;
171
- font-weight: 500;
172
- line-height: 1.5;
173
171
  display: -webkit-box;
174
172
  overflow: hidden;
175
173
  }
@@ -246,31 +244,29 @@
246
244
  }
247
245
 
248
246
  .bi-card .bi-card--header {
247
+ font: var(--bi-font-body-medium);
249
248
  gap: var(--bi-scale-0-50x);
250
249
  word-wrap: break-word;
251
250
  word-break: break-word;
252
251
  flex-direction: column;
253
252
  width: 100%;
254
- font-family: museo-sans, Arial, sans-serif;
255
- line-height: 1.5;
256
253
  display: flex;
257
254
  }
258
255
 
259
256
  .bi-card .bi-card--header .bi-card--header-label {
260
257
  color: var(--bic-card-header-label-color);
261
258
  margin: 0;
262
- font-size: .875rem;
263
259
  }
264
260
 
265
261
  @media (width < 600px) {
266
262
  .bi-card .bi-card--header .bi-card--header-label {
267
- font-size: .8125rem;
263
+ font: var(--bi-font-body-small);
268
264
  }
269
265
  }
270
266
 
271
267
  .bi-card .bi-card--header .bi-card--header-label .bi-card--header-bold {
272
268
  color: var(--bic-card-header-bold-color);
273
- font-weight: 600;
269
+ font-weight: var(--bi-font-weight-bold);
274
270
  }
275
271
 
276
272
  .bi-card .bi-card--header .bi-card--header-label .bi-card--header-dot {
@@ -284,22 +280,20 @@
284
280
  }
285
281
 
286
282
  .bi-card .bi-card--header .bi-card--header-title {
283
+ font: var(--bi-font-title-bold-small);
287
284
  color: var(--bic-card-header-title-color);
288
285
  text-overflow: ellipsis;
289
286
  -webkit-line-clamp: 2;
290
287
  line-clamp: 2;
291
288
  -webkit-box-orient: vertical;
292
289
  margin: 0;
293
- font-size: 1.125rem;
294
- font-weight: 600;
295
- line-height: 1.3;
296
290
  display: -webkit-box;
297
291
  overflow: hidden;
298
292
  }
299
293
 
300
294
  @media (width < 600px) {
301
295
  .bi-card .bi-card--header .bi-card--header-title {
302
- font-size: 1rem;
296
+ font: var(--bi-font-title-bold-xs);
303
297
  }
304
298
  }
305
299
 
@@ -344,14 +338,11 @@
344
338
  0px 4px 6px 0px #26333f0d;
345
339
  color: var(--bic-card-header-title-color);
346
340
  text-align: center;
341
+ font: var(--bi-font-title-bold-medium);
347
342
  flex-direction: column;
348
343
  justify-content: center;
349
344
  align-items: center;
350
345
  margin: 0;
351
- font-family: museo-sans, Arial, sans-serif;
352
- font-size: 1.25rem;
353
- font-weight: 700;
354
- line-height: 1.3;
355
346
  display: flex;
356
347
  }
357
348
 
@@ -7,17 +7,14 @@
7
7
  --bic-chip-text-color: var(--bi-neutral-90);
8
8
  --bic-chip-padding: var(--bi-scale-1x) var(--bi-scale-2x);
9
9
  --bic-chip-icon-size: var(--bi-scale-6x);
10
- --bic-chip-font-size: .875rem;
11
- --bic-chip-line-height: 1.5rem;
10
+ --bic-chip-font: var(--bi-font-body-medium);
11
+ font: var(--bic-chip-font);
12
12
  gap: var(--bi-scale-1x);
13
13
  border-radius: var(--bi-radius-full);
14
14
  width: fit-content;
15
15
  color: var(--bic-chip-text-color);
16
16
  background-color: var(--bic-chip-background);
17
17
  padding: var(--bic-chip-padding);
18
- font-family: museo-sans, Arial, sans-serif;
19
- font-size: var(--bic-chip-font-size);
20
- line-height: var(--bic-chip-line-height);
21
18
  justify-content: flex-start;
22
19
  align-items: center;
23
20
  display: inline-flex;
@@ -26,14 +23,13 @@
26
23
 
27
24
  .bi-chip[data-size="small"] {
28
25
  --bic-chip-padding: var(--bi-scale-0-50x) var(--bi-scale-2x);
29
- --bic-chip-font-size: .8125rem;
30
- --bic-chip-line-height: 1.25rem;
26
+ --bic-chip-font: var(--bi-font-body-small);
31
27
  --bic-chip-icon-size: var(--bi-scale-5x);
32
28
  }
33
29
 
34
30
  .bi-chip[data-size="large"] {
35
31
  --bic-chip-padding: var(--bi-scale-2x) var(--bi-scale-4x);
36
- --bic-chip-font-size: 1rem;
32
+ --bic-chip-font: var(--bi-font-body-large);
37
33
  }
38
34
 
39
35
  .bi-chip[data-dark="true"] {
@@ -24,6 +24,7 @@ details.bi-details[data-dark="true"] {
24
24
  }
25
25
 
26
26
  details.bi-details {
27
+ font: var(--bi-font-body-large);
27
28
  background-color: var(--bic-details-background);
28
29
  color: var(--bic-details-color);
29
30
  border: 0;
@@ -31,10 +32,6 @@ details.bi-details {
31
32
  border-style: solid;
32
33
  border-top-width: var(--bi-stroke-thin);
33
34
  border-bottom-width: var(--bi-stroke-thin);
34
- font-family: museo-sans, Arial, sans-serif;
35
- font-size: 1rem;
36
- font-weight: 500;
37
- line-height: 1.5;
38
35
  }
39
36
 
40
37
  details.bi-details + :is(details.bi-details) {
@@ -49,8 +46,8 @@ details.bi-details summary {
49
46
  gap: var(--bi-scale-2x);
50
47
  -webkit-user-select: none;
51
48
  user-select: none;
49
+ font-weight: var(--bi-font-weight-bold);
52
50
  flex-direction: row;
53
- font-weight: 700;
54
51
  list-style: none;
55
52
  display: flex;
56
53
  position: relative;
@@ -1,7 +1,13 @@
1
1
  .bi-dialog {
2
+ --bic-dialog-anchor-inline-min-width: 23.5rem;
3
+ --bic-dialog-anchor-inline-max-width: 40rem;
4
+ --bic-dialog-anchor-block-min-height: 20rem;
5
+ --bic-dialog-anchor-border-radius: var(--bi-radius-medium);
6
+ --bic-dialog-anchor-closed-translate: 0, var(--bi-scale-12x);
2
7
  --bic-dialog-animation-duration: .2s;
3
8
  --bic-dialog-backdrop-background: #00000080;
4
9
  --bic-dialog-background: var(--bi-basic-white);
10
+ --bic-dialog-border-radius: var(--bi-radius-large);
5
11
  --bic-dialog-border-color: var(--bi-neutral-15);
6
12
  --bic-dialog-icon-spacing: .625rem;
7
13
  --bic-dialog-color: var(--bi-neutral-90);
@@ -19,7 +25,7 @@
19
25
  .bi-dialog {
20
26
  animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) forwards;
21
27
  background: var(--bic-dialog-background);
22
- border-radius: var(--bi-radius-large);
28
+ border-radius: var(--bic-dialog-border-radius);
23
29
  box-shadow: 0 var(--bi-scale-1x) var(--bi-scale-1x) 0 #00000040;
24
30
  color: var(--bic-dialog-color);
25
31
  max-height: var(--bic-dialog-max-height);
@@ -45,13 +51,68 @@
45
51
  display: flex;
46
52
  }
47
53
 
54
+ .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"]) {
55
+ --bic-dialog-max-height: unset;
56
+ border-radius: var(--bic-dialog-anchor-border-radius);
57
+ transition: display var(--bic-dialog-animation-duration) allow-discrete,
58
+ overlay var(--bic-dialog-animation-duration) allow-discrete;
59
+ transform: translate(var(--bic-dialog-anchor-closed-translate));
60
+ animation: bi-dialog-slide-out-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
61
+ }
62
+
63
+ .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"])[open] {
64
+ animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
65
+ transform: translate(0);
66
+ }
67
+
68
+ .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"]) {
69
+ min-height: var(--bic-dialog-anchor-block-min-height);
70
+ max-height: calc(100dvh - var(--bi-layout-navbar-height));
71
+ max-width: 100dvw;
72
+ }
73
+
74
+ .bi-dialog:where([data-anchor="left"], [data-anchor="right"]) {
75
+ min-width: var(--bic-dialog-anchor-inline-min-width);
76
+ max-width: var(--bic-dialog-anchor-inline-max-width);
77
+ width: fit-content;
78
+ height: 100dvh;
79
+ }
80
+
81
+ .bi-dialog[data-anchor="bottom"] {
82
+ --bic-dialog-anchor-closed-translate: 0, 100%;
83
+ border-bottom-right-radius: 0;
84
+ border-bottom-left-radius: 0;
85
+ top: auto;
86
+ }
87
+
88
+ .bi-dialog[data-anchor="top"] {
89
+ --bic-dialog-anchor-closed-translate: 0, -100%;
90
+ border-top-left-radius: 0;
91
+ border-top-right-radius: 0;
92
+ bottom: auto;
93
+ }
94
+
95
+ .bi-dialog[data-anchor="left"] {
96
+ --bic-dialog-anchor-closed-translate: -100%, 0;
97
+ border-top-left-radius: 0;
98
+ border-bottom-left-radius: 0;
99
+ right: auto;
100
+ }
101
+
102
+ .bi-dialog[data-anchor="right"] {
103
+ --bic-dialog-anchor-closed-translate: 100%, 0;
104
+ border-top-right-radius: 0;
105
+ border-bottom-right-radius: 0;
106
+ left: auto;
107
+ }
108
+
48
109
  @media (prefers-reduced-motion: reduce) {
49
110
  .bi-dialog[open], .bi-dialog::backdrop {
50
111
  animation: none;
51
112
  }
52
113
  }
53
114
 
54
- .bi-dialog > form[method="dialog"]:first-child > button:only-child {
115
+ .bi-dialog > button[command="close"]:first-child, .bi-dialog > form[method="dialog"]:first-child > button:only-child {
55
116
  top: var(--bic-dialog-icon-spacing);
56
117
  right: var(--bic-dialog-icon-spacing);
57
118
  position: absolute;
@@ -60,15 +121,13 @@
60
121
  .bi-dialog .bi-dialog--header {
61
122
  padding: var(--bic-dialog-padding);
62
123
  min-height: var(--bi-scale-16x);
124
+ font: var(--bi-font-title-bold-medium);
63
125
  align-items: center;
64
126
  margin: 0;
65
- font-size: 1.25rem;
66
- font-weight: 700;
67
- line-height: 1.3;
68
127
  display: flex;
69
128
  }
70
129
 
71
- .bi-dialog:has( > form[method="dialog"]) .bi-dialog--header {
130
+ .bi-dialog:has( > form[method="dialog"], > button[command="close"]:first-child) .bi-dialog--header {
72
131
  padding-right: var(--bi-scale-14x);
73
132
  }
74
133
 
@@ -97,7 +156,23 @@ body:has(.bi-dialog:modal) {
97
156
 
98
157
  @keyframes bi-dialog-slide-in-animation {
99
158
  from {
100
- translate: 0 var(--bi-scale-12x);
159
+ transform: translate(var(--bic-dialog-anchor-closed-translate));
160
+ }
161
+
162
+ to {
163
+ transform: translate(0);
164
+ }
165
+ }
166
+
167
+ @keyframes bi-dialog-slide-out-animation {
168
+ from {
169
+ opacity: 1;
170
+ transform: translate(0);
171
+ }
172
+
173
+ to {
174
+ transform: translate(var(--bic-dialog-anchor-closed-translate));
175
+ opacity: 0;
101
176
  }
102
177
  }
103
178
 
@@ -51,7 +51,3 @@
51
51
  .bi-dropdown :is(a, button, [role="button"]) .bi-button--end-icon {
52
52
  margin-left: auto;
53
53
  }
54
-
55
- .bi-button[aria-expanded="true"] {
56
- box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
57
- }
@@ -45,9 +45,7 @@
45
45
 
46
46
  .bi-field .bi-field--description {
47
47
  color: var(--bic-field-description-color);
48
- font-family: museo-sans, Arial, sans-serif;
49
- font-size: .8125rem;
50
- font-weight: 500;
48
+ font: var(--bi-font-body-small);
51
49
  line-height: 1.15;
52
50
  }
53
51
 
@@ -28,10 +28,7 @@
28
28
  .bi-fieldset > legend + p {
29
29
  margin-block: var(--bi-scale-1x) 0;
30
30
  color: var(--bic-fieldset-description-color);
31
- font-family: museo-sans, Arial, sans-serif;
32
- font-size: 1rem;
33
- font-weight: 500;
34
- line-height: 1.15;
31
+ font: var(--bi-font-body-large);
35
32
  }
36
33
 
37
34
  .bi-fieldset:disabled > legend, .bi-fieldset:disabled > legend + p {
@@ -72,12 +72,9 @@
72
72
 
73
73
  .bi-filter-group > button > h3 {
74
74
  text-align: left;
75
+ font: var(--bi-font-title-bold-xs);
75
76
  flex: 1;
76
77
  margin: 0;
77
- font-family: museo-sans, Arial, sans-serif;
78
- font-size: 1rem;
79
- font-weight: 700;
80
- line-height: 1.5;
81
78
  }
82
79
 
83
80
  .bi-filter-group > div {
@@ -12,6 +12,7 @@
12
12
  width: 100%;
13
13
  color: var(--bic-footer-color);
14
14
  background-color: var(--bic-footer-background);
15
+ font-family: var(--bi-font-family-plain);
15
16
  padding: var(--bi-scale-16x) 0;
16
17
  justify-content: center;
17
18
  align-items: center;
@@ -20,7 +21,6 @@
20
21
  align-items: center;
21
22
  width: 100%;
22
23
  margin-top: -1px;
23
- font-family: museo-sans, Arial, sans-serif;
24
24
  display: flex;
25
25
  }
26
26
 
@@ -38,15 +38,12 @@
38
38
  }
39
39
 
40
40
  .bi-footer .bi-footer--links-container .bi-footer--links {
41
+ min-height: 44px;
42
+ font: var(--bi-font-label-large);
41
43
  flex-direction: row;
42
44
  justify-content: center;
43
45
  align-items: center;
44
- min-height: 44px;
45
46
  margin: auto;
46
- font-family: museo-sans, Arial, sans-serif;
47
- font-size: 1rem;
48
- font-weight: 700;
49
- line-height: 1.5;
50
47
  display: flex;
51
48
  }
52
49
 
@@ -149,9 +146,7 @@
149
146
 
150
147
  .bi-footer .bi-footer--copyright {
151
148
  text-align: center;
149
+ font: var(--bi-font-body-large);
150
+ font-weight: var(--bi-font-weight-regular);
152
151
  margin: 0;
153
- font-family: museo-slab, serif;
154
- font-size: 1rem;
155
- font-weight: 500;
156
- line-height: 1.5;
157
152
  }
@@ -10,14 +10,11 @@
10
10
 
11
11
  .bi-label {
12
12
  color: var(--bic-label-color);
13
- font-family: museo-sans, Arial, sans-serif;
14
- font-size: .875rem;
15
- font-weight: 700;
16
- line-height: 1.4;
13
+ font: var(--bi-font-label-medium);
17
14
  }
18
15
 
19
16
  .bi-label[data-weight="medium"] {
20
- font-weight: 500;
17
+ font-weight: var(--bi-font-weight-regular);
21
18
  }
22
19
 
23
20
  .bi-label[data-weight="regular"] {
@@ -1,6 +1,7 @@
1
1
  .bi-skip-link {
2
2
  --bic-skip-link-color: var(--bi-basic-white);
3
3
  --bic-skip-link-background: var(--bi-primary-50);
4
+ font: var(--bi-font-body-large);
4
5
  background: var(--bic-skip-link-background);
5
6
  color: var(--bic-skip-link-color);
6
7
  outline-offset: 0px;
@@ -9,8 +10,6 @@
9
10
  align-content: center;
10
11
  height: 44px;
11
12
  padding: 0 7px;
12
- font-size: 1rem;
13
- font-weight: 500;
14
13
  transition: transform .3s ease-in-out;
15
14
  position: absolute;
16
15
  left: 50%;
@@ -1,5 +1,9 @@
1
1
  .bi-tabs {
2
+ --bic-tabs-tab-color: var(--bi-neutral-90);
2
3
  --bic-tabs-tab-color-selected: var(--bi-primary-50);
4
+ --bic-tabs-tab-background-hover: var(--bi-states-hover-dark);
5
+ --bic-tabs-tab-background-press: var(--bi-states-press-dark);
6
+ --bic-tabs-tab-font: var(--bi-font-title-bold-xs);
3
7
  --bic-tabs-panel-padding: var(--bi-scale-4x) var(--bi-scale-5x);
4
8
  --bic-tabs-focus-shadow-color: var(--bi-basic-white);
5
9
  --bic-tabs-focus-outline-color: var(--bi-primary-50);
@@ -7,6 +11,8 @@
7
11
 
8
12
  .bi-tabs[data-dark="true"] {
9
13
  --bic-tabs-tab-color-selected: var(--bi-primary-30);
14
+ --bic-tabs-tab-background-hover: var(--bi-states-hover-light);
15
+ --bic-tabs-tab-background-press: var(--bi-states-press-light);
10
16
  --bic-tabs-focus-shadow-color: var(--bi-neutral-95);
11
17
  --bic-tabs-focus-outline-color: var(--bi-primary-30);
12
18
  }
@@ -17,43 +23,74 @@
17
23
  overflow: hidden;
18
24
  }
19
25
 
20
- .bi-tabs .bi-tabs--list {
26
+ .bi-tabs :is([role="tablist"], ds-tablist) {
21
27
  scrollbar-width: none;
22
28
  flex-direction: row;
23
29
  flex-shrink: 0;
24
- display: flex;
25
30
  position: relative;
26
31
  overflow-x: auto;
27
32
  }
28
33
 
29
- .bi-tabs .bi-tabs--list[data-orientation="vertical"] {
30
- overflow-y: auto;
31
- overflow-x: unset;
32
- flex-direction: column;
33
- width: fit-content;
34
+ .bi-tabs :is([role="tablist"], ds-tablist):not([hidden]) {
35
+ display: flex;
34
36
  }
35
37
 
36
- .bi-tabs .bi-tabs--list .bi-tabs--tab {
38
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab) {
39
+ font: var(--bic-tabs-tab-font);
40
+ border-radius: var(--bi-radius-medium);
41
+ box-sizing: border-box;
42
+ color: var(--bic-tabs-tab-color);
43
+ cursor: pointer;
44
+ align-items: center;
45
+ gap: var(--bi-scale-1x);
46
+ padding: .625rem var(--bi-scale-6x);
47
+ text-align: center;
37
48
  white-space: nowrap;
49
+ background: none;
50
+ border: 0;
51
+ flex-direction: row;
52
+ justify-content: center;
53
+ margin: 0;
54
+ line-height: 1.5;
38
55
  transition: color .2s ease-in-out;
56
+ position: relative;
57
+ }
58
+
59
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):not([hidden]) {
60
+ display: flex;
39
61
  }
40
62
 
41
- .bi-tabs .bi-tabs--list .bi-tabs--tab:not(:focus-visible) {
63
+ @media (hover: hover) and (pointer: fine) {
64
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):hover {
65
+ background: var(--bic-tabs-tab-background-hover);
66
+ }
67
+ }
68
+
69
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):active {
70
+ background: var(--bic-tabs-tab-background-press);
71
+ }
72
+
73
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):not(:focus-visible) {
42
74
  border-bottom-right-radius: 0;
43
75
  border-bottom-left-radius: 0;
44
76
  }
45
77
 
46
- .bi-tabs .bi-tabs--list .bi-tabs--tab:focus-visible {
78
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):focus-visible {
47
79
  box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-tabs-focus-shadow-color));
48
80
  outline: var(--_bi--focus, 3px solid var(--bic-tabs-focus-outline-color));
49
81
  outline-offset: var(--_bi--focus, -3px);
50
82
  }
51
83
 
52
- .bi-tabs .bi-tabs--list .bi-tabs--tab:focus-visible:after {
84
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):focus-visible:after {
53
85
  bottom: 3px;
54
86
  }
55
87
 
56
- .bi-tabs .bi-tabs--list .bi-tabs--tab:after {
88
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab) :where(img, svg) {
89
+ font-size: var(--bi-icon-medium);
90
+ flex-shrink: 0;
91
+ }
92
+
93
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):after {
57
94
  background: var(--bic-tabs-tab-color-selected);
58
95
  content: "";
59
96
  border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
@@ -68,24 +105,24 @@
68
105
  }
69
106
 
70
107
  @media (prefers-reduced-motion: reduce) {
71
- .bi-tabs .bi-tabs--list .bi-tabs--tab {
108
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab) {
72
109
  transition: none;
73
110
  }
74
111
 
75
- .bi-tabs .bi-tabs--list .bi-tabs--tab:after {
112
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab):after {
76
113
  transition: none;
77
114
  }
78
115
  }
79
116
 
80
- .bi-tabs .bi-tabs--list .bi-tabs--tab[data-state="active"] {
117
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab)[aria-selected="true"] {
81
118
  color: var(--bic-tabs-tab-color-selected);
82
119
  }
83
120
 
84
- .bi-tabs .bi-tabs--list .bi-tabs--tab[data-state="active"]:after {
121
+ .bi-tabs :is([role="tablist"], ds-tablist) > :is([role="tab"], ds-tab)[aria-selected="true"]:after {
85
122
  width: calc(100% - var(--bi-scale-6x));
86
123
  }
87
124
 
88
- .bi-tabs .bi-tabs--panel {
125
+ .bi-tabs :is([role="tabpanel"], ds-tabpanel) {
89
126
  padding: var(--bic-tabs-panel-padding);
90
127
  outline: none;
91
128
  flex-grow: 1;