@bccampus/ui-components 0.9.17 → 0.9.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.
@@ -1,410 +1,420 @@
1
- @layer base {
2
- /* Typography */
3
- h1,
4
- h2,
5
- h3,
6
- h4,
7
- h5,
8
- h6,
9
- .heading-1,
10
- .heading-2,
11
- .heading-3 {
12
- @apply font-sans-accent font-normal text-balance leading-[1.25em] text-brand-1 dark:text-complement-1-50;
13
- }
14
-
15
- h1,
16
- .heading-1 {
17
- font-size: calc(var(--text-base) * 2.5);
18
-
19
- @variant lg {
20
- font-size: calc(var(--text-base) * 4);
21
- }
22
- }
23
-
24
- h1.big,
25
- .heading-1.big {
26
- @variant lg {
27
- font-size: calc(var(--text-base) * 5);
28
- }
29
- }
30
-
31
- h2,
32
- .heading-2 {
33
- @apply font-semibold;
34
-
35
- font-size: calc(var(--text-base) * 1.5);
36
-
37
- @variant lg {
38
- font-size: calc(var(--text-base) * 1.875);
39
- }
40
- }
41
-
42
- h2.big,
43
- .heading-2.big {
44
- font-size: calc(var(--text-base) * 1.875);
45
-
46
- @variant lg {
47
- font-size: calc(var(--text-base) * 4);
48
- }
49
- }
50
-
51
- h3,
52
- .heading-3 {
53
- @apply font-medium;
54
-
55
- font-size: calc(var(--text-base) * 1.25);
56
-
57
- @variant lg {
58
- font-size: calc(var(--text-base) * 1.5);
59
- }
60
- }
61
-
62
- p {
63
- @apply leading-6 text-foreground;
64
- }
65
-
66
- a {
67
- @apply underline underline-offset-4 rounded-xs;
68
-
69
- &:hover {
70
- @apply text-complement-1-500;
71
- }
72
-
73
- &:focus-visible {
74
- @apply outline-ring outline-offset-2 outline-solid outline-2;
75
- }
76
-
77
- &[data-slot] {
78
- @apply no-underline;
79
- }
80
- }
81
-
82
- footer {
83
- a {
84
- @apply no-underline;
85
-
86
- &:hover {
87
- @apply underline outline-none text-foreground;
88
- }
89
-
90
- &[data-slot] {
91
- @apply no-underline;
92
- }
93
- }
94
- }
95
-
96
- a:not([data-slot="button-icon"], .no-external)[href^="http"]::after,
97
- .external::after {
98
- @apply bg-current inline-block w-4 h-4 ml-1 mr-1 -mb-0.75;
99
-
100
- content: "";
101
- mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWV4dGVybmFsLWxpbmstaWNvbiBsdWNpZGUtZXh0ZXJuYWwtbGluayI+PHBhdGggZD0iTTE1IDNoNnY2Ii8+PHBhdGggZD0iTTEwIDE0IDIxIDMiLz48cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiIvPjwvc3ZnPg==");
102
- mask-position: bottom center;
103
- mask-repeat: no-repeat;
104
- mask-size: contain;
105
- }
106
-
107
- .bcc-typography {
108
- blockquote {
109
- @apply text-primary font-sans-accent mx-4 my-6;
110
-
111
- & > cite {
112
- display: block;
113
- text-align: end;
114
- }
115
-
116
- @variant sm {
117
- @apply mx-16;
118
- }
119
- }
120
-
121
- aside {
122
- @apply w-xs mt-4 mb-2 mx-auto p-4 border-y-4 text-sidebar-accent-foreground bg-sidebar-accent border-sidebar-border;
123
-
124
- display: block;
125
- float: none;
126
-
127
- @variant sm {
128
- @apply mx-16;
129
- }
130
-
131
- @media (width >= 40rem) {
132
- @apply ml-2 border-y-0 border-s-4;
133
-
134
- float: inline-end;
135
- }
136
- }
137
-
138
- ul,
139
- ol {
140
- @apply ml-4 text-foreground;
141
-
142
- & > li {
143
- @apply mt-2;
144
- }
145
-
146
- @variant sm {
147
- @apply ml-8;
148
- }
149
- }
150
- ul {
151
- list-style-type: disc;
152
- }
153
- li > ul {
154
- list-style-type: circle;
155
- }
156
- li > ul > li > ul {
157
- list-style-type: square;
158
- }
159
-
160
- ol {
161
- list-style-type: decimal;
162
- }
163
- li > ol {
164
- list-style-type: lower-alpha;
165
- }
166
- li > ol > li > ol {
167
- list-style-type: lower-roman;
168
- }
169
-
170
- dl {
171
- @apply mt-2 text-foreground;
172
-
173
- & > dt {
174
- @apply font-sans-accent font-medium italic mt-1;
175
-
176
- &::after {
177
- content: ": ";
178
- }
179
- }
180
-
181
- & > dd {
182
- @apply ml-4 text-sm;
183
- }
184
- }
185
-
186
- details {
187
- @apply text-foreground mt-4 border rounded transition ease-in duration-200;
188
-
189
- &:hover {
190
- @apply bg-muted;
191
- }
192
-
193
- &:focus-within {
194
- @apply outline-offset-0 outline-ring outline-2 outline-solid;
195
- }
196
-
197
- & > summary {
198
- @apply rounded px-4 py-2 list-none;
199
-
200
- &::-webkit-details-marker {
201
- display: none;
202
- }
203
-
204
- &:focus-visible {
205
- @apply outline-none;
206
- }
207
- }
208
-
209
- &[open] {
210
- @apply bg-muted;
211
-
212
- & > summary {
213
- @apply border-b rounded-br-none rounded-bl-none;
214
- }
215
-
216
- & > p {
217
- @apply m-0 p-4;
218
- }
219
- }
220
- }
221
-
222
- details + details {
223
- @apply mt-1;
224
- }
225
-
226
- address {
227
- @apply text-foreground italic my-4;
228
- }
229
-
230
- code,
231
- kbd,
232
- samp {
233
- @apply relative text-sm text-primary font-mono font-medium;
234
- }
235
-
236
- code {
237
- @apply bg-muted rounded-sm px-2 py-1;
238
- }
239
-
240
- kbd {
241
- @apply text-shadow-sm;
242
-
243
- > kbd {
244
- @apply px-2 py-1 bg-muted rounded-sm border whitespace-nowrap;
245
-
246
- box-shadow:
247
- 0 1px 1px color-mix(in oklab, var(--color-foreground) 20%, transparent),
248
- 0 2px 0 0 color-mix(in oklab, var(--color-background) 20%, transparent) inset;
249
- }
250
- }
251
-
252
- pre {
253
- @apply bg-muted text-foreground rounded-sm p-4 leading-6 text-sm;
254
-
255
- code {
256
- @apply p-0;
257
- }
258
- }
259
-
260
- del {
261
- @apply no-underline bg-red-200 text-foreground px-1;
262
-
263
- @variant dark {
264
- @apply bg-red-900;
265
- }
266
- }
267
-
268
- ins {
269
- @apply no-underline bg-green-200 text-foreground px-1;
270
-
271
- @variant dark {
272
- @apply bg-green-900;
273
- }
274
- }
275
-
276
- mark {
277
- @apply no-underline bg-amber-100 text-foreground px-1;
278
-
279
- @variant dark {
280
- @apply bg-amber-900;
281
- }
282
- }
283
-
284
- abbr {
285
- @apply underline-offset-4;
286
- }
287
-
288
- small {
289
- @apply text-sm leading-4;
290
- }
291
-
292
- /* Table */
293
- .scroll-enclosure {
294
- @apply relative block w-full overflow-auto;
295
- }
296
-
297
- .bordered-enclosure {
298
- @apply border rounded;
299
- }
300
-
301
- table.no-wrap {
302
- td {
303
- @apply whitespace-nowrap;
304
- }
305
- }
306
-
307
- table {
308
- @apply table-auto relative block border-spacing-0 border-separate caption-bottom bg-background text-foreground w-fit max-w-full overflow-x-auto mx-auto;
309
-
310
- .scroll-enclosure > & {
311
- @apply table overflow-x-auto w-full h-full;
312
- }
313
- }
314
-
315
- caption {
316
- @apply text-muted-foreground m-0 p-2 border-t text-center font-sans-accent text-sm font-medium leading-5;
317
- }
318
-
319
- tr {
320
- @apply p-0 m-0;
321
- }
322
- th,
323
- td {
324
- @apply px-4 py-2 text-left align-top whitespace-pre-wrap;
325
-
326
- &[align="center"] {
327
- @apply text-center;
328
- }
329
- &[align="right"] {
330
- @apply text-right;
331
- }
332
- }
333
-
334
- thead {
335
- @apply sticky z-5 top-0;
336
- & th {
337
- @apply bg-background text-foreground align-bottom font-sans-accent font-semibold border-b;
338
- }
339
- }
340
-
341
- tbody {
342
- & > tr:not(:last-child) {
343
- th,
344
- td {
345
- @apply border-b;
346
- }
347
- }
348
- }
349
-
350
- tfoot {
351
- @apply sticky z-5 bottom-0;
352
- th,
353
- td {
354
- @apply bg-muted text-foreground font-sans-accent font-medium border-t;
355
- }
356
- }
357
-
358
- /* Media */
359
- :is(img, audio, video, iframe) {
360
- @apply border rounded overflow-hidden max-w-full mx-auto;
361
- }
362
-
363
- :is(audio, video, iframe)::-webkit-media-controls-enclosure {
364
- @apply rounded-none;
365
- }
366
-
367
- video,
368
- iframe {
369
- @apply object-cover;
370
- }
371
-
372
- /* Figure */
373
- figure {
374
- @apply relative border rounded overflow-hidden mx-auto w-fit max-w-full;
375
-
376
- & > figcaption {
377
- @apply text-muted-foreground m-0 p-2 text-center font-sans-accent text-sm font-medium leading-6;
378
-
379
- &:first-child {
380
- @apply font-bold border-b;
381
- }
382
- &:last-child {
383
- @apply border-t;
384
- }
385
- }
386
-
387
- :is(img, audio, video, iframe, .bordered-enclosure) {
388
- @apply border-none rounded-none;
389
- }
390
-
391
- :is(img, video, iframe) {
392
- @apply object-contain;
393
- }
394
- }
395
-
396
- h1,
397
- h2,
398
- h3,
399
- h4,
400
- h5,
401
- h6,
402
- p,
403
- pre,
404
- figure {
405
- &:not(:first-child) {
406
- @apply mt-4;
407
- }
408
- }
409
- }
410
- }
1
+ @layer base {
2
+ /* Typography */
3
+ h1,
4
+ h2,
5
+ h3,
6
+ h4,
7
+ h5,
8
+ h6,
9
+ .heading-1,
10
+ .heading-2,
11
+ .heading-3 {
12
+ @apply font-sans-accent font-normal text-balance leading-[1.25em] text-brand-1 dark:text-complement-1-50;
13
+ }
14
+
15
+ h1,
16
+ .heading-1 {
17
+ font-size: calc(var(--text-base) * 2.5);
18
+
19
+ @variant lg {
20
+ font-size: calc(var(--text-base) * 4);
21
+ }
22
+ }
23
+
24
+ h1.big,
25
+ .heading-1.big {
26
+ @variant lg {
27
+ font-size: calc(var(--text-base) * 5);
28
+ }
29
+ }
30
+
31
+ h2,
32
+ .heading-2 {
33
+ @apply font-semibold;
34
+
35
+ font-size: calc(var(--text-base) * 1.5);
36
+
37
+ @variant lg {
38
+ font-size: calc(var(--text-base) * 1.875);
39
+ }
40
+ }
41
+
42
+ h2.big,
43
+ .heading-2.big {
44
+ font-size: calc(var(--text-base) * 1.875);
45
+
46
+ @variant lg {
47
+ font-size: calc(var(--text-base) * 4);
48
+ }
49
+ }
50
+
51
+ h3,
52
+ .heading-3 {
53
+ @apply font-medium;
54
+
55
+ font-size: calc(var(--text-base) * 1.25);
56
+
57
+ @variant lg {
58
+ font-size: calc(var(--text-base) * 1.5);
59
+ }
60
+ }
61
+
62
+ p {
63
+ @apply leading-6 text-foreground;
64
+ }
65
+
66
+ a {
67
+ @apply underline underline-offset-4 rounded-xs;
68
+
69
+ &:hover {
70
+ @apply text-complement-1-500;
71
+ }
72
+
73
+ &:focus-visible {
74
+ @apply outline-ring outline-offset-2 outline-solid outline-2;
75
+ }
76
+
77
+ &[data-slot] {
78
+ @apply no-underline;
79
+ }
80
+ }
81
+
82
+ footer {
83
+ a {
84
+ @apply no-underline;
85
+
86
+ &:hover {
87
+ @apply underline outline-none text-foreground;
88
+ }
89
+
90
+ &[data-slot] {
91
+ @apply no-underline;
92
+ }
93
+ }
94
+ }
95
+
96
+ a:not([data-slot="button-icon"], .no-external)[href^="http"]::after,
97
+ .external::after {
98
+ @apply bg-current inline-block w-4 h-4 ml-1 mr-1 -mb-0.75;
99
+
100
+ content: "";
101
+ mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWV4dGVybmFsLWxpbmstaWNvbiBsdWNpZGUtZXh0ZXJuYWwtbGluayI+PHBhdGggZD0iTTE1IDNoNnY2Ii8+PHBhdGggZD0iTTEwIDE0IDIxIDMiLz48cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiIvPjwvc3ZnPg==");
102
+ mask-position: bottom center;
103
+ mask-repeat: no-repeat;
104
+ mask-size: contain;
105
+ }
106
+
107
+ .bcc-typography {
108
+ blockquote {
109
+ @apply text-primary font-sans-accent mx-4 my-6;
110
+
111
+ & > cite {
112
+ display: block;
113
+ text-align: end;
114
+ }
115
+
116
+ @variant sm {
117
+ @apply mx-16;
118
+ }
119
+ }
120
+
121
+ aside {
122
+ @apply w-xs mt-4 mb-2 mx-auto p-4 border-y-4 text-sidebar-accent-foreground bg-sidebar-accent border-sidebar-border;
123
+
124
+ display: block;
125
+ float: none;
126
+
127
+ @variant sm {
128
+ @apply mx-16;
129
+ }
130
+
131
+ @media (width >= 40rem) {
132
+ @apply ml-2 border-y-0 border-s-4;
133
+
134
+ float: inline-end;
135
+ }
136
+ }
137
+
138
+ ul,
139
+ ol {
140
+ @apply ml-4 text-foreground;
141
+
142
+ & > li {
143
+ @apply mt-2;
144
+ }
145
+
146
+ @variant sm {
147
+ @apply ml-8;
148
+ }
149
+ }
150
+ ul {
151
+ list-style-type: disc;
152
+ }
153
+ li > ul {
154
+ list-style-type: circle;
155
+ }
156
+ li > ul > li > ul {
157
+ list-style-type: square;
158
+ }
159
+
160
+ ol {
161
+ list-style-type: decimal;
162
+ }
163
+ li > ol {
164
+ list-style-type: lower-alpha;
165
+ }
166
+ li > ol > li > ol {
167
+ list-style-type: lower-roman;
168
+ }
169
+
170
+ dl {
171
+ @apply mt-2 text-foreground;
172
+
173
+ & > dt {
174
+ @apply font-sans-accent font-medium italic mt-1;
175
+
176
+ &::after {
177
+ content: ": ";
178
+ }
179
+ }
180
+
181
+ & > dd {
182
+ @apply ml-4 text-sm;
183
+ }
184
+ }
185
+
186
+ details {
187
+ @apply text-foreground mt-4 border rounded transition ease-in duration-200;
188
+
189
+ &:hover {
190
+ @apply bg-muted;
191
+ }
192
+
193
+ &:focus-within {
194
+ @apply outline-offset-0 outline-ring outline-2 outline-solid;
195
+ }
196
+
197
+ & > summary {
198
+ @apply rounded px-4 py-2 list-none;
199
+
200
+ &::-webkit-details-marker {
201
+ display: none;
202
+ }
203
+
204
+ &:focus-visible {
205
+ @apply outline-none;
206
+ }
207
+ }
208
+
209
+ &[open] {
210
+ @apply bg-muted;
211
+
212
+ & > summary {
213
+ @apply border-b rounded-br-none rounded-bl-none;
214
+ }
215
+
216
+ & > p {
217
+ @apply m-0 p-4;
218
+ }
219
+ }
220
+ }
221
+
222
+ details + details {
223
+ @apply mt-1;
224
+ }
225
+
226
+ address {
227
+ @apply text-foreground italic my-4;
228
+ }
229
+
230
+ code,
231
+ kbd,
232
+ samp {
233
+ @apply relative text-sm text-primary font-mono font-medium;
234
+ }
235
+
236
+ code {
237
+ @apply bg-muted rounded-sm px-2 py-1;
238
+ }
239
+
240
+ kbd {
241
+ @apply text-shadow-sm;
242
+
243
+ > kbd {
244
+ @apply px-2 py-1 bg-muted rounded-sm border whitespace-nowrap;
245
+
246
+ box-shadow:
247
+ 0 1px 1px color-mix(in oklab, var(--color-foreground) 20%, transparent),
248
+ 0 2px 0 0 color-mix(in oklab, var(--color-background) 20%, transparent) inset;
249
+ }
250
+ }
251
+
252
+ pre {
253
+ @apply bg-muted text-foreground rounded-sm p-4 leading-6 text-sm;
254
+
255
+ code {
256
+ @apply p-0;
257
+ }
258
+ }
259
+
260
+ del {
261
+ @apply no-underline bg-red-200 text-foreground px-1;
262
+
263
+ @variant dark {
264
+ @apply bg-red-900;
265
+ }
266
+ }
267
+
268
+ ins {
269
+ @apply no-underline bg-green-200 text-foreground px-1;
270
+
271
+ @variant dark {
272
+ @apply bg-green-900;
273
+ }
274
+ }
275
+
276
+ mark {
277
+ @apply no-underline bg-amber-100 text-foreground px-1;
278
+
279
+ @variant dark {
280
+ @apply bg-amber-900;
281
+ }
282
+ }
283
+
284
+ abbr {
285
+ @apply underline-offset-4;
286
+ }
287
+
288
+ small {
289
+ @apply text-sm leading-4;
290
+ }
291
+
292
+ .scroll-enclosure {
293
+ @apply relative block w-full overflow-auto;
294
+ }
295
+
296
+ .bordered-enclosure {
297
+ @apply border rounded-sm;
298
+ }
299
+
300
+ /* Table */
301
+ table.no-wrap {
302
+ td {
303
+ @apply whitespace-nowrap;
304
+ }
305
+ }
306
+
307
+ table {
308
+ @apply table-auto relative block border rounded-sm border-spacing-0 border-separate caption-bottom bg-background text-foreground w-fit max-w-full overflow-x-auto mx-auto;
309
+
310
+ .scroll-enclosure > & {
311
+ @apply table overflow-x-auto w-full h-full;
312
+ }
313
+ figure &,
314
+ .bordered-enclosure > & {
315
+ @apply border-0;
316
+ }
317
+ }
318
+
319
+ caption {
320
+ @apply text-muted-foreground m-0 p-2 border-t text-center font-sans-accent text-sm font-medium leading-5;
321
+ }
322
+
323
+ tr {
324
+ @apply p-0 m-0;
325
+ }
326
+ th,
327
+ td {
328
+ @apply px-4 py-2 text-left align-top whitespace-pre-wrap;
329
+
330
+ &[align="center"] {
331
+ @apply text-center;
332
+ }
333
+ &[align="right"] {
334
+ @apply text-right;
335
+ }
336
+ }
337
+
338
+ thead {
339
+ @apply sticky z-5 top-0;
340
+ & th {
341
+ @apply bg-background text-foreground align-bottom font-sans-accent font-semibold border-b;
342
+ }
343
+ }
344
+
345
+ tbody {
346
+ & > tr:not(:last-child) {
347
+ th,
348
+ td {
349
+ @apply border-b;
350
+ }
351
+ }
352
+ & th {
353
+ @apply bg-background text-foreground align-bottom font-sans-accent font-semibold border-b;
354
+ }
355
+ }
356
+
357
+ tfoot {
358
+ @apply sticky z-5 bottom-0;
359
+ th,
360
+ td {
361
+ @apply bg-muted text-foreground font-sans-accent font-medium border-t;
362
+ }
363
+ }
364
+
365
+ /* Media */
366
+ :is(img, audio, video, iframe) {
367
+ @apply border rounded overflow-hidden max-w-full mx-auto;
368
+ }
369
+
370
+ :is(audio, video, iframe)::-webkit-media-controls-enclosure {
371
+ @apply rounded-none;
372
+ }
373
+
374
+ video,
375
+ iframe {
376
+ @apply object-cover;
377
+ }
378
+
379
+ /* Figure */
380
+ figure {
381
+ @apply relative border rounded-sm overflow-hidden mx-auto w-fit max-w-full;
382
+
383
+ & > figcaption {
384
+ @apply text-muted-foreground m-0 p-2 text-center font-sans-accent text-sm font-medium leading-6;
385
+
386
+ &:first-child {
387
+ @apply font-bold border-b;
388
+ }
389
+ &:last-child {
390
+ @apply border-t;
391
+ }
392
+ }
393
+
394
+ :is(img, audio, video, iframe, .bordered-enclosure) {
395
+ @apply border-none rounded-none;
396
+ }
397
+
398
+ :is(img, video, iframe) {
399
+ @apply object-contain;
400
+ }
401
+ }
402
+
403
+ h1,
404
+ h2,
405
+ h3,
406
+ h4,
407
+ h5,
408
+ h6,
409
+ p,
410
+ pre,
411
+ table,
412
+ figure,
413
+ .scroll-enclosure,
414
+ .bordered-enclosure {
415
+ &:not(:first-child) {
416
+ @apply mt-4;
417
+ }
418
+ }
419
+ }
420
+ }