@bi-digital/css 0.2.18 → 0.2.19

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.
@@ -48,3 +48,9 @@
48
48
  --bic-avatar-size: var(--bi-scale-16x);
49
49
  --bic-avatar-font-size: 1.25rem;
50
50
  }
51
+
52
+ .bi-avatar > img {
53
+ object-fit: cover;
54
+ width: 100%;
55
+ height: 100%;
56
+ }
@@ -49,18 +49,18 @@
49
49
  }
50
50
 
51
51
  .bi-card[data-orientation="horizontal"] {
52
- --bic-card-media-width: 252px;
52
+ --bic-card-media-width: 15.75rem;
53
53
  }
54
54
 
55
55
  @media not (min-width: 1024px) {
56
56
  .bi-card[data-orientation="horizontal"] {
57
- --bic-card-media-width: 220px;
57
+ --bic-card-media-width: 14.5rem;
58
58
  }
59
59
  }
60
60
 
61
- @media not (min-width: 768px) {
61
+ @media not (min-width: 600px) {
62
62
  .bi-card[data-orientation="horizontal"] {
63
- --bic-card-media-width: 135px;
63
+ --bic-card-media-width: 8.4375rem;
64
64
  }
65
65
  }
66
66
 
@@ -109,15 +109,95 @@
109
109
  .bi-card .bi-card--content {
110
110
  padding: var(--bic-card-content-padding);
111
111
  gap: var(--bi-scale-4x);
112
+ border-radius: inherit;
113
+ background: none;
114
+ border: none;
112
115
  flex-direction: column;
113
116
  flex: auto;
114
117
  display: flex;
118
+ overflow: hidden;
119
+ }
120
+
121
+ .bi-card .bi-card--content > p {
122
+ color: var(--bic-card-content-color);
123
+ white-space: break-spaces;
124
+ text-overflow: ellipsis;
125
+ -webkit-line-clamp: 2;
126
+ line-clamp: 2;
127
+ -webkit-box-orient: vertical;
128
+ margin: 0;
129
+ font-size: .875rem;
130
+ font-weight: 500;
131
+ line-height: 1.5;
132
+ display: -webkit-box;
133
+ overflow: hidden;
134
+ }
135
+
136
+ @media not (min-width: 600px) {
137
+ .bi-card .bi-card--content {
138
+ --bic-card-content-padding: var(--bi-scale-3x);
139
+ gap: var(--bi-scale-3x);
140
+ }
141
+ }
142
+
143
+ .bi-card:-webkit-any(a, button) {
144
+ cursor: pointer;
145
+ text-decoration: none;
146
+ position: relative;
147
+ }
148
+
149
+ .bi-card:-webkit-any(a, button):not(.disabled):focus-visible {
150
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bi-basic-white), var(--bic-button-box-shadow));
151
+ outline: var(--_bi--focus, 1.5px solid var(--bi-primary-50));
152
+ outline-offset: var(--_bi--focus, 2px);
153
+ }
154
+
155
+ .bi-card:-webkit-any(a, button):not(.disabled):focus-visible * {
156
+ --_bi--focus: ;
157
+ }
158
+
159
+ .bi-card:-webkit-any(a, button):not(.disabled):hover {
160
+ box-shadow: 0px 0px 0px 2px var(--bi-neutral-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
161
+ }
162
+
163
+ .bi-card:-webkit-any(a, button):not(.disabled):active {
164
+ box-shadow: 0px 0px 0px var(--bi-stroke-default) var(--bi-primary-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
165
+ }
166
+
167
+ .bi-card:-webkit-any(a, button):disabled {
168
+ cursor: not-allowed;
169
+ }
170
+
171
+ .bi-card:is(a, button) {
172
+ cursor: pointer;
173
+ text-decoration: none;
174
+ position: relative;
175
+ }
176
+
177
+ .bi-card:is(a, button):not(.disabled):focus-visible {
178
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bi-basic-white), var(--bic-button-box-shadow));
179
+ outline: var(--_bi--focus, 1.5px solid var(--bi-primary-50));
180
+ outline-offset: var(--_bi--focus, 2px);
181
+ }
182
+
183
+ .bi-card:is(a, button):not(.disabled):focus-visible * {
184
+ --_bi--focus: ;
185
+ }
186
+
187
+ .bi-card:is(a, button):not(.disabled):hover {
188
+ box-shadow: 0px 0px 0px 2px var(--bi-neutral-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
189
+ }
190
+
191
+ .bi-card:is(a, button):not(.disabled):active {
192
+ box-shadow: 0px 0px 0px var(--bi-stroke-default) var(--bi-primary-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
193
+ }
194
+
195
+ .bi-card:is(a, button):disabled {
196
+ cursor: not-allowed;
115
197
  }
116
198
 
117
199
  .bi-card .bi-card--content:-webkit-any(a, button) {
118
200
  cursor: pointer;
119
- background: none;
120
- border: none;
121
201
  text-decoration: none;
122
202
  position: relative;
123
203
  }
@@ -146,8 +226,6 @@
146
226
 
147
227
  .bi-card .bi-card--content:is(a, button) {
148
228
  cursor: pointer;
149
- background: none;
150
- border: none;
151
229
  text-decoration: none;
152
230
  position: relative;
153
231
  }
@@ -174,28 +252,6 @@
174
252
  cursor: not-allowed;
175
253
  }
176
254
 
177
- .bi-card .bi-card--content > p {
178
- color: var(--bic-card-content-color);
179
- white-space: break-spaces;
180
- text-overflow: ellipsis;
181
- -webkit-line-clamp: 2;
182
- line-clamp: 2;
183
- -webkit-box-orient: vertical;
184
- margin: 0;
185
- font-size: .875rem;
186
- font-weight: 500;
187
- line-height: 1.5;
188
- display: -webkit-box;
189
- overflow: hidden;
190
- }
191
-
192
- @media not (min-width: 768px) {
193
- .bi-card .bi-card--content {
194
- --bic-card-content-padding: var(--bi-scale-3x);
195
- gap: var(--bi-scale-3x);
196
- }
197
- }
198
-
199
255
  .bi-card .bi-card--actions {
200
256
  flex-direction: var(--bic-card-actions-flex-direction, column);
201
257
  justify-content: center;
@@ -205,7 +261,7 @@
205
261
  display: flex;
206
262
  }
207
263
 
208
- @media not (min-width: 768px) {
264
+ @media not (min-width: 600px) {
209
265
  .bi-card .bi-card--actions {
210
266
  width: var(--bi-scale-11x);
211
267
  }
@@ -215,10 +271,10 @@
215
271
  --bic-button-font-size: var(--bi-icon-medium);
216
272
  --bic-button-color: var(--bic-card-actions-icon-color);
217
273
  --bic-button-size: var(--bi-scale-14x);
218
- height: 100%;
274
+ flex: 1;
219
275
  }
220
276
 
221
- @media not (min-width: 768px) {
277
+ @media not (min-width: 600px) {
222
278
  .bi-card .bi-card--actions .bi-card--action {
223
279
  --bic-button-size: var(--bi-scale-11x);
224
280
  }
@@ -241,7 +297,7 @@
241
297
  font-size: .875rem;
242
298
  }
243
299
 
244
- @media not (min-width: 768px) {
300
+ @media not (min-width: 600px) {
245
301
  .bi-card .bi-card--header .bi-card--header-label {
246
302
  font-size: .8125rem;
247
303
  }
@@ -276,7 +332,7 @@
276
332
  overflow: hidden;
277
333
  }
278
334
 
279
- @media not (min-width: 768px) {
335
+ @media not (min-width: 600px) {
280
336
  .bi-card .bi-card--header .bi-card--header-title {
281
337
  font-size: 1rem;
282
338
  }
@@ -0,0 +1,22 @@
1
+ .bi-checkbox-subsection {
2
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
3
+ display: flex;
4
+ }
5
+
6
+ .bi-checkbox-subsection[data-dark="true"] {
7
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
8
+ }
9
+
10
+ .bi-checkbox-subsection > div:first-child {
11
+ margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
12
+ background-color: var(--bic-checkbox-subsection-line-bg);
13
+ width: var(--bi-stroke-default);
14
+ }
15
+
16
+ .bi-checkbox-subsection > div:last-child {
17
+ align-items: flex-start;
18
+ gap: var(--bi-scale-0-50x);
19
+ flex-direction: column;
20
+ flex: 1;
21
+ display: flex;
22
+ }
@@ -17,9 +17,10 @@
17
17
  font-family: museo-sans, Arial, sans-serif;
18
18
  font-size: var(--bic-chip-font-size);
19
19
  line-height: var(--bic-chip-line-height);
20
- justify-content: center;
20
+ justify-content: flex-start;
21
21
  align-items: center;
22
22
  display: inline-flex;
23
+ overflow: hidden;
23
24
  }
24
25
 
25
26
  .bi-chip:-webkit-any(button) {
@@ -89,6 +89,10 @@
89
89
  display: grid;
90
90
  }
91
91
 
92
+ .bi-field:has(.bi-input:-webkit-any([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
93
+ width: 100%;
94
+ }
95
+
92
96
  .bi-field:has(.bi-input:-webkit-any([type="radio"], [type="checkbox"])) > * {
93
97
  grid-column: content;
94
98
  margin-top: 0;
@@ -160,6 +164,10 @@
160
164
  display: grid;
161
165
  }
162
166
 
167
+ .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
168
+ width: 100%;
169
+ }
170
+
163
171
  .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) > * {
164
172
  grid-column: content;
165
173
  margin-top: 0;
@@ -0,0 +1,90 @@
1
+ .bi-filter-group {
2
+ --bic-filter-group-background-color: var(--bi-basic-white);
3
+ --bic-filter-group-background-color-hover: var(--bi-primary-5);
4
+ --bic-filter-group-background-color-expanded: var(--bi-neutral-15);
5
+ --bic-filter-group-border-color: var(--bi-neutral-15);
6
+ --bic-filter-group-text-color: var(--bi-neutral-90);
7
+ }
8
+
9
+ .bi-filter-group[data-dark="true"] {
10
+ --bic-filter-group-background-color: var(--bi-neutral-90);
11
+ --bic-filter-group-background-color-hover: var(--bi-primary-90);
12
+ --bic-filter-group-background-color-expanded: var(--bi-neutral-80);
13
+ --bic-filter-group-border-color: var(--bi-neutral-70);
14
+ --bic-filter-group-text-color: var(--bi-basic-white);
15
+ }
16
+
17
+ .bi-filter-group {
18
+ flex-direction: column;
19
+ display: flex;
20
+ }
21
+
22
+ .bi-filter-group > button {
23
+ border: none;
24
+ border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
25
+ height: var(--bi-scale-12x);
26
+ color: var(--bic-filter-group-text-color);
27
+ align-items: center;
28
+ gap: var(--bi-scale-2x);
29
+ width: 100%;
30
+ padding: var(--bi-scale-2x) var(--bi-scale-1-5x);
31
+ background: var(--bic-filter-group-background-color);
32
+ cursor: pointer;
33
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
34
+ -webkit-user-select: none;
35
+ user-select: none;
36
+ flex-direction: row;
37
+ display: flex;
38
+ }
39
+
40
+ .bi-filter-group > button:hover {
41
+ background: var(--bic-filter-group-background-color-hover);
42
+ }
43
+
44
+ .bi-filter-group > button:focus-visible {
45
+ box-shadow: 0 0 0 4.5px var(--bi-basic-white);
46
+ outline: 1.5px solid var(--bi-primary-50);
47
+ outline-offset: 2px;
48
+ border-radius: var(--bi-radius-small);
49
+ }
50
+
51
+ .bi-filter-group > button > [data-bi-icon="true"] {
52
+ width: var(--bi-scale-6x);
53
+ height: var(--bi-scale-6x);
54
+ font-size: var(--bi-icon-medium);
55
+ }
56
+
57
+ .bi-filter-group > button > h3 {
58
+ text-align: left;
59
+ flex: 1;
60
+ margin: 0;
61
+ font-family: museo-sans, Arial, sans-serif;
62
+ font-size: 1rem;
63
+ font-weight: 700;
64
+ line-height: 1.5;
65
+ }
66
+
67
+ .bi-filter-group > div {
68
+ gap: var(--bi-scale-2x);
69
+ padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
70
+ flex-direction: column;
71
+ display: none;
72
+ }
73
+
74
+ .bi-filter-group > div > .bi-field:has(.bi-input[type="checkbox"]) {
75
+ width: 100%;
76
+ }
77
+
78
+ .bi-filter-group:last-of-type > div {
79
+ padding: var(--bi-scale-2x) 0;
80
+ }
81
+
82
+ .bi-filter-group[data-expanded="true"] > button {
83
+ --bic-filter-group-background-color: var(--bic-filter-group-background-color-expanded);
84
+ border-radius: var(--bi-radius-small);
85
+ border-bottom-color: #0000;
86
+ }
87
+
88
+ .bi-filter-group[data-expanded="true"] > div {
89
+ display: flex;
90
+ }
@@ -13,7 +13,7 @@
13
13
  --bic-navbar-color: var(--bi-basic-white);
14
14
  }
15
15
 
16
- .bi-navbar .bi-navbar__header {
16
+ .bi-navbar > header {
17
17
  height: var(--bi-layout-navbar-height);
18
18
  align-items: center;
19
19
  gap: var(--bi-scale-6x);
@@ -24,38 +24,20 @@
24
24
  display: flex;
25
25
  }
26
26
 
27
- .bi-navbar .bi-navbar__header > :first-child {
27
+ @media (prefers-reduced-motion: no-preference) {
28
+ .bi-navbar > header {
29
+ transition: transform .2s ease-in-out;
30
+ }
31
+ }
32
+
33
+ .bi-navbar > header > :first-child {
28
34
  margin-right: auto;
29
35
  }
30
36
 
31
- .bi-navbar[data-fixed="true"] .bi-navbar__header {
32
- z-index: 100;
37
+ .bi-navbar[data-fixed="true"] > header {
38
+ z-index: 110;
33
39
  position: fixed;
34
40
  top: 0;
35
41
  left: 0;
36
42
  right: 0;
37
43
  }
38
-
39
- .bi-navbar .bi-navbar__skip-link {
40
- background: var(--bi-primary-50);
41
- color: var(--bi-basic-white);
42
- outline-offset: 0px;
43
- border-radius: 4px;
44
- align-content: center;
45
- height: 44px;
46
- padding: 0 7px;
47
- font-size: .75rem;
48
- font-weight: 400;
49
- position: absolute;
50
- left: 50%;
51
- transform: translate(-50%, -62px);
52
- }
53
-
54
- .bi-navbar .bi-navbar__skip-link:focus {
55
- border-radius: var(--bi-radius-medium);
56
- outline-offset: 2px;
57
- outline: 1.5px solid var(--bi-primary-50);
58
- box-shadow: 0 0 0 2px var(--bi-basic-white);
59
- transition: transform .3s;
60
- transform: translate(-50%);
61
- }
@@ -0,0 +1,32 @@
1
+ .bi-skip-link {
2
+ --bic-skip-link-color: var(--bi-basic-white);
3
+ --bic-skip-link-background: var(--bi-primary-50);
4
+ background: var(--bic-skip-link-background);
5
+ color: var(--bic-skip-link-color);
6
+ outline-offset: 0px;
7
+ z-index: 200;
8
+ border-radius: 4px;
9
+ align-content: center;
10
+ height: 44px;
11
+ padding: 0 7px;
12
+ font-size: 1rem;
13
+ font-weight: 500;
14
+ transition: transform .3s ease-in-out;
15
+ position: absolute;
16
+ left: 50%;
17
+ transform: translate(-50%, -110%);
18
+ }
19
+
20
+ @media (prefers-reduced-motion: reduce) {
21
+ .bi-skip-link {
22
+ transition: none;
23
+ }
24
+ }
25
+
26
+ .bi-skip-link:focus {
27
+ transform: translate(-50%, var(--bi-scale-2x));
28
+ border-radius: var(--bi-radius-medium);
29
+ outline-offset: 2px;
30
+ outline: 1.5px solid var(--bi-primary-50);
31
+ box-shadow: 0 0 0 2px var(--bi-basic-white);
32
+ }
@@ -0,0 +1,11 @@
1
+ .bi-sticky-header {
2
+ z-index: 100;
3
+ position: -webkit-sticky;
4
+ position: sticky;
5
+ }
6
+
7
+ @media (prefers-reduced-motion: no-preference) {
8
+ .bi-sticky-header {
9
+ transition: top .2s ease-in-out;
10
+ }
11
+ }
@@ -0,0 +1,34 @@
1
+ .bi-sub-navbar--wrapper {
2
+ height: var(--bi-layout-navbar-height);
3
+ position: relative;
4
+ }
5
+
6
+ .bi-sub-navbar--wrapper .bi-sub-navbar {
7
+ --bic-sub-navbar-background-color: var(--bi-basic-white);
8
+ --bic-sub-navbar-color: var(--bi-basic-key);
9
+ --bic-sub-navbar-border-color: var(--bi-neutral-15);
10
+ height: var(--bi-layout-navbar-height);
11
+ background-color: var(--bic-sub-navbar-background-color);
12
+ border-bottom: 1px solid var(--bic-sub-navbar-border-color);
13
+ width: 100%;
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ }
18
+
19
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-dark="true"] {
20
+ --bic-sub-navbar-background-color: var(--bi-primary-95);
21
+ --bic-sub-navbar-color: var(--bi-basic-white);
22
+ --bic-sub-navbar-border-color: var(--bi-neutral-70);
23
+ }
24
+
25
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
26
+ z-index: 120;
27
+ position: fixed;
28
+ }
29
+
30
+ @media (prefers-reduced-motion: no-preference) {
31
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
32
+ transition: top .2s ease-in-out;
33
+ }
34
+ }
@@ -25,6 +25,8 @@
25
25
  overflow-y: auto;
26
26
  overflow-x: unset;
27
27
  flex-direction: column;
28
+ width: -webkit-fit-content;
29
+ width: fit-content;
28
30
  }
29
31
 
30
32
  .bi-tabs .bi-tabs--list .bi-tabs--tab {
@@ -153,6 +153,12 @@
153
153
  --bic-avatar-font-size: 1.25rem;
154
154
  }
155
155
 
156
+ .bi-avatar > img {
157
+ object-fit: cover;
158
+ width: 100%;
159
+ height: 100%;
160
+ }
161
+
156
162
  .bi-badge {
157
163
  --bic-badge-background: transparent;
158
164
  --bic-badge-color: var(--bi-neutral-60);
@@ -501,18 +507,18 @@
501
507
  }
502
508
 
503
509
  .bi-card[data-orientation="horizontal"] {
504
- --bic-card-media-width: 252px;
510
+ --bic-card-media-width: 15.75rem;
505
511
  }
506
512
 
507
513
  @media not (min-width: 1024px) {
508
514
  .bi-card[data-orientation="horizontal"] {
509
- --bic-card-media-width: 220px;
515
+ --bic-card-media-width: 14.5rem;
510
516
  }
511
517
  }
512
518
 
513
- @media not (min-width: 768px) {
519
+ @media not (min-width: 600px) {
514
520
  .bi-card[data-orientation="horizontal"] {
515
- --bic-card-media-width: 135px;
521
+ --bic-card-media-width: 8.4375rem;
516
522
  }
517
523
  }
518
524
 
@@ -561,15 +567,95 @@
561
567
  .bi-card .bi-card--content {
562
568
  padding: var(--bic-card-content-padding);
563
569
  gap: var(--bi-scale-4x);
570
+ border-radius: inherit;
571
+ background: none;
572
+ border: none;
564
573
  flex-direction: column;
565
574
  flex: auto;
566
575
  display: flex;
576
+ overflow: hidden;
577
+ }
578
+
579
+ .bi-card .bi-card--content > p {
580
+ color: var(--bic-card-content-color);
581
+ white-space: break-spaces;
582
+ text-overflow: ellipsis;
583
+ -webkit-line-clamp: 2;
584
+ line-clamp: 2;
585
+ -webkit-box-orient: vertical;
586
+ margin: 0;
587
+ font-size: .875rem;
588
+ font-weight: 500;
589
+ line-height: 1.5;
590
+ display: -webkit-box;
591
+ overflow: hidden;
592
+ }
593
+
594
+ @media not (min-width: 600px) {
595
+ .bi-card .bi-card--content {
596
+ --bic-card-content-padding: var(--bi-scale-3x);
597
+ gap: var(--bi-scale-3x);
598
+ }
599
+ }
600
+
601
+ .bi-card:-webkit-any(a, button) {
602
+ cursor: pointer;
603
+ text-decoration: none;
604
+ position: relative;
605
+ }
606
+
607
+ .bi-card:-webkit-any(a, button):not(.disabled):focus-visible {
608
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bi-basic-white), var(--bic-button-box-shadow));
609
+ outline: var(--_bi--focus, 1.5px solid var(--bi-primary-50));
610
+ outline-offset: var(--_bi--focus, 2px);
611
+ }
612
+
613
+ .bi-card:-webkit-any(a, button):not(.disabled):focus-visible * {
614
+ --_bi--focus: ;
615
+ }
616
+
617
+ .bi-card:-webkit-any(a, button):not(.disabled):hover {
618
+ box-shadow: 0px 0px 0px 2px var(--bi-neutral-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
619
+ }
620
+
621
+ .bi-card:-webkit-any(a, button):not(.disabled):active {
622
+ box-shadow: 0px 0px 0px var(--bi-stroke-default) var(--bi-primary-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
623
+ }
624
+
625
+ .bi-card:-webkit-any(a, button):disabled {
626
+ cursor: not-allowed;
627
+ }
628
+
629
+ .bi-card:is(a, button) {
630
+ cursor: pointer;
631
+ text-decoration: none;
632
+ position: relative;
633
+ }
634
+
635
+ .bi-card:is(a, button):not(.disabled):focus-visible {
636
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bi-basic-white), var(--bic-button-box-shadow));
637
+ outline: var(--_bi--focus, 1.5px solid var(--bi-primary-50));
638
+ outline-offset: var(--_bi--focus, 2px);
639
+ }
640
+
641
+ .bi-card:is(a, button):not(.disabled):focus-visible * {
642
+ --_bi--focus: ;
643
+ }
644
+
645
+ .bi-card:is(a, button):not(.disabled):hover {
646
+ box-shadow: 0px 0px 0px 2px var(--bi-neutral-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
647
+ }
648
+
649
+ .bi-card:is(a, button):not(.disabled):active {
650
+ box-shadow: 0px 0px 0px var(--bi-stroke-default) var(--bi-primary-50), 0px 0px 20px var(--bi-scale-1-5x) #0000000d, 0px 0px 10px 0px #0000000d;
651
+ }
652
+
653
+ .bi-card:is(a, button):disabled {
654
+ cursor: not-allowed;
567
655
  }
568
656
 
569
657
  .bi-card .bi-card--content:-webkit-any(a, button) {
570
658
  cursor: pointer;
571
- background: none;
572
- border: none;
573
659
  text-decoration: none;
574
660
  position: relative;
575
661
  }
@@ -598,8 +684,6 @@
598
684
 
599
685
  .bi-card .bi-card--content:is(a, button) {
600
686
  cursor: pointer;
601
- background: none;
602
- border: none;
603
687
  text-decoration: none;
604
688
  position: relative;
605
689
  }
@@ -626,28 +710,6 @@
626
710
  cursor: not-allowed;
627
711
  }
628
712
 
629
- .bi-card .bi-card--content > p {
630
- color: var(--bic-card-content-color);
631
- white-space: break-spaces;
632
- text-overflow: ellipsis;
633
- -webkit-line-clamp: 2;
634
- line-clamp: 2;
635
- -webkit-box-orient: vertical;
636
- margin: 0;
637
- font-size: .875rem;
638
- font-weight: 500;
639
- line-height: 1.5;
640
- display: -webkit-box;
641
- overflow: hidden;
642
- }
643
-
644
- @media not (min-width: 768px) {
645
- .bi-card .bi-card--content {
646
- --bic-card-content-padding: var(--bi-scale-3x);
647
- gap: var(--bi-scale-3x);
648
- }
649
- }
650
-
651
713
  .bi-card .bi-card--actions {
652
714
  flex-direction: var(--bic-card-actions-flex-direction, column);
653
715
  justify-content: center;
@@ -657,7 +719,7 @@
657
719
  display: flex;
658
720
  }
659
721
 
660
- @media not (min-width: 768px) {
722
+ @media not (min-width: 600px) {
661
723
  .bi-card .bi-card--actions {
662
724
  width: var(--bi-scale-11x);
663
725
  }
@@ -667,10 +729,10 @@
667
729
  --bic-button-font-size: var(--bi-icon-medium);
668
730
  --bic-button-color: var(--bic-card-actions-icon-color);
669
731
  --bic-button-size: var(--bi-scale-14x);
670
- height: 100%;
732
+ flex: 1;
671
733
  }
672
734
 
673
- @media not (min-width: 768px) {
735
+ @media not (min-width: 600px) {
674
736
  .bi-card .bi-card--actions .bi-card--action {
675
737
  --bic-button-size: var(--bi-scale-11x);
676
738
  }
@@ -693,7 +755,7 @@
693
755
  font-size: .875rem;
694
756
  }
695
757
 
696
- @media not (min-width: 768px) {
758
+ @media not (min-width: 600px) {
697
759
  .bi-card .bi-card--header .bi-card--header-label {
698
760
  font-size: .8125rem;
699
761
  }
@@ -728,7 +790,7 @@
728
790
  overflow: hidden;
729
791
  }
730
792
 
731
- @media not (min-width: 768px) {
793
+ @media not (min-width: 600px) {
732
794
  .bi-card .bi-card--header .bi-card--header-title {
733
795
  font-size: 1rem;
734
796
  }
@@ -794,6 +856,29 @@
794
856
  line-height: 1.15;
795
857
  }
796
858
 
859
+ .bi-checkbox-subsection {
860
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
861
+ display: flex;
862
+ }
863
+
864
+ .bi-checkbox-subsection[data-dark="true"] {
865
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
866
+ }
867
+
868
+ .bi-checkbox-subsection > div:first-child {
869
+ margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
870
+ background-color: var(--bic-checkbox-subsection-line-bg);
871
+ width: var(--bi-stroke-default);
872
+ }
873
+
874
+ .bi-checkbox-subsection > div:last-child {
875
+ align-items: flex-start;
876
+ gap: var(--bi-scale-0-50x);
877
+ flex-direction: column;
878
+ flex: 1;
879
+ display: flex;
880
+ }
881
+
797
882
  .bi-chip {
798
883
  --bic-chip-background: var(--bi-primary-5);
799
884
  --bic-chip-background-hover: var(--bi-primary-10);
@@ -813,9 +898,10 @@
813
898
  font-family: museo-sans, Arial, sans-serif;
814
899
  font-size: var(--bic-chip-font-size);
815
900
  line-height: var(--bic-chip-line-height);
816
- justify-content: center;
901
+ justify-content: flex-start;
817
902
  align-items: center;
818
903
  display: inline-flex;
904
+ overflow: hidden;
819
905
  }
820
906
 
821
907
  .bi-chip:-webkit-any(button) {
@@ -1359,6 +1445,10 @@ body:has(.bi-dialog:modal) {
1359
1445
  display: grid;
1360
1446
  }
1361
1447
 
1448
+ .bi-field:has(.bi-input:-webkit-any([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
1449
+ width: 100%;
1450
+ }
1451
+
1362
1452
  .bi-field:has(.bi-input:-webkit-any([type="radio"], [type="checkbox"])) > * {
1363
1453
  grid-column: content;
1364
1454
  margin-top: 0;
@@ -1430,6 +1520,10 @@ body:has(.bi-dialog:modal) {
1430
1520
  display: grid;
1431
1521
  }
1432
1522
 
1523
+ .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
1524
+ width: 100%;
1525
+ }
1526
+
1433
1527
  .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) > * {
1434
1528
  grid-column: content;
1435
1529
  margin-top: 0;
@@ -1633,6 +1727,97 @@ body:has(.bi-dialog:modal) {
1633
1727
  opacity: var(--ds-opacity-disabled);
1634
1728
  }
1635
1729
 
1730
+ .bi-filter-group {
1731
+ --bic-filter-group-background-color: var(--bi-basic-white);
1732
+ --bic-filter-group-background-color-hover: var(--bi-primary-5);
1733
+ --bic-filter-group-background-color-expanded: var(--bi-neutral-15);
1734
+ --bic-filter-group-border-color: var(--bi-neutral-15);
1735
+ --bic-filter-group-text-color: var(--bi-neutral-90);
1736
+ }
1737
+
1738
+ .bi-filter-group[data-dark="true"] {
1739
+ --bic-filter-group-background-color: var(--bi-neutral-90);
1740
+ --bic-filter-group-background-color-hover: var(--bi-primary-90);
1741
+ --bic-filter-group-background-color-expanded: var(--bi-neutral-80);
1742
+ --bic-filter-group-border-color: var(--bi-neutral-70);
1743
+ --bic-filter-group-text-color: var(--bi-basic-white);
1744
+ }
1745
+
1746
+ .bi-filter-group {
1747
+ flex-direction: column;
1748
+ display: flex;
1749
+ }
1750
+
1751
+ .bi-filter-group > button {
1752
+ border: none;
1753
+ border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
1754
+ height: var(--bi-scale-12x);
1755
+ color: var(--bic-filter-group-text-color);
1756
+ align-items: center;
1757
+ gap: var(--bi-scale-2x);
1758
+ width: 100%;
1759
+ padding: var(--bi-scale-2x) var(--bi-scale-1-5x);
1760
+ background: var(--bic-filter-group-background-color);
1761
+ cursor: pointer;
1762
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
1763
+ -webkit-user-select: none;
1764
+ user-select: none;
1765
+ flex-direction: row;
1766
+ display: flex;
1767
+ }
1768
+
1769
+ .bi-filter-group > button:hover {
1770
+ background: var(--bic-filter-group-background-color-hover);
1771
+ }
1772
+
1773
+ .bi-filter-group > button:focus-visible {
1774
+ box-shadow: 0 0 0 4.5px var(--bi-basic-white);
1775
+ outline: 1.5px solid var(--bi-primary-50);
1776
+ outline-offset: 2px;
1777
+ border-radius: var(--bi-radius-small);
1778
+ }
1779
+
1780
+ .bi-filter-group > button > [data-bi-icon="true"] {
1781
+ width: var(--bi-scale-6x);
1782
+ height: var(--bi-scale-6x);
1783
+ font-size: var(--bi-icon-medium);
1784
+ }
1785
+
1786
+ .bi-filter-group > button > h3 {
1787
+ text-align: left;
1788
+ flex: 1;
1789
+ margin: 0;
1790
+ font-family: museo-sans, Arial, sans-serif;
1791
+ font-size: 1rem;
1792
+ font-weight: 700;
1793
+ line-height: 1.5;
1794
+ }
1795
+
1796
+ .bi-filter-group > div {
1797
+ gap: var(--bi-scale-2x);
1798
+ padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
1799
+ flex-direction: column;
1800
+ display: none;
1801
+ }
1802
+
1803
+ .bi-filter-group > div > .bi-field:has(.bi-input[type="checkbox"]) {
1804
+ width: 100%;
1805
+ }
1806
+
1807
+ .bi-filter-group:last-of-type > div {
1808
+ padding: var(--bi-scale-2x) 0;
1809
+ }
1810
+
1811
+ .bi-filter-group[data-expanded="true"] > button {
1812
+ --bic-filter-group-background-color: var(--bic-filter-group-background-color-expanded);
1813
+ border-radius: var(--bi-radius-small);
1814
+ border-bottom-color: #0000;
1815
+ }
1816
+
1817
+ .bi-filter-group[data-expanded="true"] > div {
1818
+ display: flex;
1819
+ }
1820
+
1636
1821
  .bi-footer {
1637
1822
  --bic-footer-color: var(--bi-basic-key);
1638
1823
  --bic-footer-background: var(--bi-basic-white);
@@ -2319,7 +2504,7 @@ body:has(.bi-dialog:modal) {
2319
2504
  --bic-navbar-color: var(--bi-basic-white);
2320
2505
  }
2321
2506
 
2322
- .bi-navbar .bi-navbar__header {
2507
+ .bi-navbar > header {
2323
2508
  height: var(--bi-layout-navbar-height);
2324
2509
  align-items: center;
2325
2510
  gap: var(--bi-scale-6x);
@@ -2330,40 +2515,57 @@ body:has(.bi-dialog:modal) {
2330
2515
  display: flex;
2331
2516
  }
2332
2517
 
2333
- .bi-navbar .bi-navbar__header > :first-child {
2518
+ @media (prefers-reduced-motion: no-preference) {
2519
+ .bi-navbar > header {
2520
+ transition: transform .2s ease-in-out;
2521
+ }
2522
+ }
2523
+
2524
+ .bi-navbar > header > :first-child {
2334
2525
  margin-right: auto;
2335
2526
  }
2336
2527
 
2337
- .bi-navbar[data-fixed="true"] .bi-navbar__header {
2338
- z-index: 100;
2528
+ .bi-navbar[data-fixed="true"] > header {
2529
+ z-index: 110;
2339
2530
  position: fixed;
2340
2531
  top: 0;
2341
2532
  left: 0;
2342
2533
  right: 0;
2343
2534
  }
2344
2535
 
2345
- .bi-navbar .bi-navbar__skip-link {
2346
- background: var(--bi-primary-50);
2347
- color: var(--bi-basic-white);
2348
- outline-offset: 0px;
2349
- border-radius: 4px;
2350
- align-content: center;
2351
- height: 44px;
2352
- padding: 0 7px;
2353
- font-size: .75rem;
2354
- font-weight: 400;
2536
+ .bi-sub-navbar--wrapper {
2537
+ height: var(--bi-layout-navbar-height);
2538
+ position: relative;
2539
+ }
2540
+
2541
+ .bi-sub-navbar--wrapper .bi-sub-navbar {
2542
+ --bic-sub-navbar-background-color: var(--bi-basic-white);
2543
+ --bic-sub-navbar-color: var(--bi-basic-key);
2544
+ --bic-sub-navbar-border-color: var(--bi-neutral-15);
2545
+ height: var(--bi-layout-navbar-height);
2546
+ background-color: var(--bic-sub-navbar-background-color);
2547
+ border-bottom: 1px solid var(--bic-sub-navbar-border-color);
2548
+ width: 100%;
2355
2549
  position: absolute;
2356
- left: 50%;
2357
- transform: translate(-50%, -62px);
2550
+ top: 0;
2551
+ left: 0;
2358
2552
  }
2359
2553
 
2360
- .bi-navbar .bi-navbar__skip-link:focus {
2361
- border-radius: var(--bi-radius-medium);
2362
- outline-offset: 2px;
2363
- outline: 1.5px solid var(--bi-primary-50);
2364
- box-shadow: 0 0 0 2px var(--bi-basic-white);
2365
- transition: transform .3s;
2366
- transform: translate(-50%);
2554
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-dark="true"] {
2555
+ --bic-sub-navbar-background-color: var(--bi-primary-95);
2556
+ --bic-sub-navbar-color: var(--bi-basic-white);
2557
+ --bic-sub-navbar-border-color: var(--bi-neutral-70);
2558
+ }
2559
+
2560
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2561
+ z-index: 120;
2562
+ position: fixed;
2563
+ }
2564
+
2565
+ @media (prefers-reduced-motion: no-preference) {
2566
+ .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2567
+ transition: top .2s ease-in-out;
2568
+ }
2367
2569
  }
2368
2570
 
2369
2571
  .bi-pagination {
@@ -2502,6 +2704,39 @@ body:has(.bi-dialog:modal) {
2502
2704
  display: none;
2503
2705
  }
2504
2706
 
2707
+ .bi-skip-link {
2708
+ --bic-skip-link-color: var(--bi-basic-white);
2709
+ --bic-skip-link-background: var(--bi-primary-50);
2710
+ background: var(--bic-skip-link-background);
2711
+ color: var(--bic-skip-link-color);
2712
+ outline-offset: 0px;
2713
+ z-index: 200;
2714
+ border-radius: 4px;
2715
+ align-content: center;
2716
+ height: 44px;
2717
+ padding: 0 7px;
2718
+ font-size: 1rem;
2719
+ font-weight: 500;
2720
+ transition: transform .3s ease-in-out;
2721
+ position: absolute;
2722
+ left: 50%;
2723
+ transform: translate(-50%, -110%);
2724
+ }
2725
+
2726
+ @media (prefers-reduced-motion: reduce) {
2727
+ .bi-skip-link {
2728
+ transition: none;
2729
+ }
2730
+ }
2731
+
2732
+ .bi-skip-link:focus {
2733
+ transform: translate(-50%, var(--bi-scale-2x));
2734
+ border-radius: var(--bi-radius-medium);
2735
+ outline-offset: 2px;
2736
+ outline: 1.5px solid var(--bi-primary-50);
2737
+ box-shadow: 0 0 0 2px var(--bi-basic-white);
2738
+ }
2739
+
2505
2740
  .bi-spinner {
2506
2741
  --bic-spinner-color: currentColor;
2507
2742
  aspect-ratio: 1;
@@ -2554,6 +2789,18 @@ body:has(.bi-dialog:modal) {
2554
2789
  }
2555
2790
  }
2556
2791
 
2792
+ .bi-sticky-header {
2793
+ z-index: 100;
2794
+ position: -webkit-sticky;
2795
+ position: sticky;
2796
+ }
2797
+
2798
+ @media (prefers-reduced-motion: no-preference) {
2799
+ .bi-sticky-header {
2800
+ transition: top .2s ease-in-out;
2801
+ }
2802
+ }
2803
+
2557
2804
  .bi-tabs {
2558
2805
  --bic-tabs-tab-color-selected: var(--bi-primary-50);
2559
2806
  --bic-tabs-panel-padding: var(--bi-scale-4x) var(--bi-scale-5x);
@@ -2581,6 +2828,8 @@ body:has(.bi-dialog:modal) {
2581
2828
  overflow-y: auto;
2582
2829
  overflow-x: unset;
2583
2830
  flex-direction: column;
2831
+ width: -webkit-fit-content;
2832
+ width: fit-content;
2584
2833
  }
2585
2834
 
2586
2835
  .bi-tabs .bi-tabs--list .bi-tabs--tab {
@@ -2676,3 +2925,39 @@ body:has(.bi-dialog:modal) {
2676
2925
  left: var(--bic-validation-message-padding);
2677
2926
  position: absolute;
2678
2927
  }
2928
+
2929
+ html:has(.bi-navbar) {
2930
+ scroll-padding-top: var(--bi-layout-navbar-height);
2931
+ }
2932
+
2933
+ html:has(.bi-sub-navbar) {
2934
+ scroll-padding-top: var(--bi-layout-navbar-height);
2935
+ }
2936
+
2937
+ html .bi-sticky-header {
2938
+ top: 0;
2939
+ }
2940
+
2941
+ html:has(.bi-navbar[data-fixed="true"]) .bi-sticky-header {
2942
+ top: var(--bi-layout-navbar-height);
2943
+ }
2944
+
2945
+ html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-navbar > header {
2946
+ transform: translateY(-100%);
2947
+ }
2948
+
2949
+ html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-sub-navbar {
2950
+ top: 0;
2951
+ }
2952
+
2953
+ html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-navbar > header {
2954
+ transform: translateY(0);
2955
+ }
2956
+
2957
+ html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sub-navbar {
2958
+ top: var(--bi-layout-navbar-height);
2959
+ }
2960
+
2961
+ html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sticky-header {
2962
+ top: calc(var(--bi-layout-navbar-height) + var(--bi-layout-navbar-height));
2963
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bi-digital/css",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "description": "CSS for the BI Design System",
5
5
  "author": "BI Digital",
6
6
  "license": "ISC",
@@ -23,7 +23,7 @@
23
23
  "lightningcss": "^1.30.1",
24
24
  "modern-normalize": "^3.0.1",
25
25
  "rimraf": "^6.0.1",
26
- "@bi-digital/tokens": "0.2.18"
26
+ "@bi-digital/tokens": "0.2.19"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "rimraf dist && node config.js",