@anyblades/pico 2.1.1-alpha → 2.1.1-alpha.2

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.
@@ -0,0 +1,974 @@
1
+ /**
2
+ * Accordion (<details>)
3
+ */
4
+ details {
5
+ display: block;
6
+ margin-bottom: var(--pico-spacing);
7
+ }
8
+ details summary {
9
+ line-height: 1rem;
10
+ list-style-type: none;
11
+ cursor: pointer;
12
+ transition: color var(--pico-transition);
13
+ }
14
+ details summary:not([role]) {
15
+ color: var(--pico-accordion-close-summary-color);
16
+ }
17
+ details summary::-webkit-details-marker {
18
+ display: none;
19
+ }
20
+ details summary::marker {
21
+ display: none;
22
+ }
23
+ details summary::-moz-list-bullet {
24
+ list-style-type: none;
25
+ }
26
+ details summary::after {
27
+ display: block;
28
+ width: 1rem;
29
+ height: 1rem;
30
+ margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
31
+ float: right;
32
+ transform: rotate(-90deg);
33
+ background-image: var(--pico-icon-chevron);
34
+ background-position: right center;
35
+ background-size: 1rem auto;
36
+ background-repeat: no-repeat;
37
+ content: "";
38
+ transition: transform var(--pico-transition);
39
+ }
40
+ details summary:focus {
41
+ outline: none;
42
+ }
43
+ details summary:focus:not([role]) {
44
+ color: var(--pico-accordion-active-summary-color);
45
+ }
46
+ details summary:focus-visible:not([role]) {
47
+ outline: var(--pico-outline-width) solid var(--pico-primary-focus);
48
+ outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
49
+ color: var(--pico-primary);
50
+ }
51
+ details summary[role="button"] {
52
+ width: 100%;
53
+ text-align: left;
54
+ }
55
+ details summary[role="button"]::after {
56
+ height: calc(1rem * var(--pico-line-height, 1.5));
57
+ }
58
+ details[open] > summary {
59
+ margin-bottom: var(--pico-spacing);
60
+ }
61
+ details[open] > summary:not([role]):not(:focus) {
62
+ color: var(--pico-accordion-open-summary-color);
63
+ }
64
+ details[open] > summary::after {
65
+ transform: rotate(0);
66
+ }
67
+
68
+ [dir="rtl"] details summary {
69
+ text-align: right;
70
+ }
71
+ [dir="rtl"] details summary::after {
72
+ float: left;
73
+ background-position: left center;
74
+ }
75
+
76
+ /**
77
+ * Card (<article>)
78
+ */
79
+ article {
80
+ margin-bottom: var(--pico-block-spacing-vertical);
81
+ padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
82
+ border-radius: var(--pico-border-radius);
83
+ background: var(--pico-card-background-color);
84
+ box-shadow: var(--pico-card-box-shadow);
85
+ }
86
+ article > header,
87
+ article > footer {
88
+ margin-right: calc(var(--pico-block-spacing-horizontal) * -1);
89
+ margin-left: calc(var(--pico-block-spacing-horizontal) * -1);
90
+ padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal);
91
+ background-color: var(--pico-card-sectioning-background-color);
92
+ }
93
+ article > header {
94
+ margin-top: calc(var(--pico-block-spacing-vertical) * -1);
95
+ margin-bottom: var(--pico-block-spacing-vertical);
96
+ border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
97
+ border-top-right-radius: var(--pico-border-radius);
98
+ border-top-left-radius: var(--pico-border-radius);
99
+ }
100
+ article > footer {
101
+ margin-top: var(--pico-block-spacing-vertical);
102
+ margin-bottom: calc(var(--pico-block-spacing-vertical) * -1);
103
+ border-top: var(--pico-border-width) solid var(--pico-card-border-color);
104
+ border-bottom-right-radius: var(--pico-border-radius);
105
+ border-bottom-left-radius: var(--pico-border-radius);
106
+ }
107
+
108
+ /**
109
+ * Dropdown (details.dropdown)
110
+ */
111
+ details.dropdown {
112
+ position: relative;
113
+ border-bottom: none;
114
+ }
115
+ details.dropdown > summary::after,
116
+ details.dropdown > button::after,
117
+ details.dropdown > a::after {
118
+ display: block;
119
+ width: 1rem;
120
+ height: calc(1rem * var(--pico-line-height, 1.5));
121
+ margin-inline-start: 0.25rem;
122
+ float: right;
123
+ transform: rotate(0deg) translateX(0.2rem);
124
+ background-image: var(--pico-icon-chevron);
125
+ background-position: right center;
126
+ background-size: 1rem auto;
127
+ background-repeat: no-repeat;
128
+ content: "";
129
+ }
130
+
131
+ nav details.dropdown {
132
+ margin-bottom: 0;
133
+ }
134
+
135
+ details.dropdown > summary:not([role]) {
136
+ height: calc(
137
+ 1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 +
138
+ var(--pico-border-width) * 2
139
+ );
140
+ padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
141
+ border: var(--pico-border-width) solid var(--pico-form-element-border-color);
142
+ border-radius: var(--pico-border-radius);
143
+ background-color: var(--pico-form-element-background-color);
144
+ color: var(--pico-form-element-placeholder-color);
145
+ line-height: inherit;
146
+ cursor: pointer;
147
+ -webkit-user-select: none;
148
+ -moz-user-select: none;
149
+ user-select: none;
150
+ transition:
151
+ background-color var(--pico-transition),
152
+ border-color var(--pico-transition),
153
+ color var(--pico-transition),
154
+ box-shadow var(--pico-transition);
155
+ }
156
+ details.dropdown > summary:not([role]):active,
157
+ details.dropdown > summary:not([role]):focus {
158
+ border-color: var(--pico-form-element-active-border-color);
159
+ background-color: var(--pico-form-element-active-background-color);
160
+ }
161
+ details.dropdown > summary:not([role]):focus {
162
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
163
+ }
164
+ details.dropdown > summary:not([role]):focus-visible {
165
+ outline: none;
166
+ }
167
+ details.dropdown > summary:not([role])[aria-invalid="false"] {
168
+ --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
169
+ --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
170
+ --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
171
+ }
172
+ details.dropdown > summary:not([role])[aria-invalid="true"] {
173
+ --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
174
+ --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
175
+ --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
176
+ }
177
+
178
+ nav details.dropdown {
179
+ display: inline;
180
+ margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
181
+ }
182
+ nav details.dropdown > summary::after {
183
+ transform: rotate(0deg) translateX(0rem);
184
+ }
185
+ nav details.dropdown > summary:not([role]) {
186
+ height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
187
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
188
+ var(--pico-nav-link-spacing-horizontal);
189
+ }
190
+ nav details.dropdown > summary:not([role]):focus-visible {
191
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
192
+ }
193
+
194
+ details.dropdown > summary + ul {
195
+ display: flex;
196
+ z-index: 99;
197
+ position: absolute;
198
+ left: 0;
199
+ flex-direction: column;
200
+ width: 100%;
201
+ min-width: -moz-fit-content;
202
+ min-width: fit-content;
203
+ margin: 0;
204
+ margin-top: var(--pico-outline-width);
205
+ padding: 0;
206
+ border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
207
+ border-radius: var(--pico-border-radius);
208
+ background-color: var(--pico-dropdown-background-color);
209
+ box-shadow: var(--pico-dropdown-box-shadow);
210
+ color: var(--pico-dropdown-color);
211
+ white-space: nowrap;
212
+ opacity: 0;
213
+ transition:
214
+ opacity var(--pico-transition),
215
+ transform 0s ease-in-out 1s;
216
+ }
217
+ details.dropdown > summary + ul[dir="rtl"] {
218
+ right: 0;
219
+ left: auto;
220
+ }
221
+ details.dropdown > summary + ul li {
222
+ width: 100%;
223
+ margin-bottom: 0;
224
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
225
+ var(--pico-form-element-spacing-horizontal);
226
+ list-style: none;
227
+ }
228
+ details.dropdown > summary + ul li:first-of-type {
229
+ margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
230
+ }
231
+ details.dropdown > summary + ul li:last-of-type {
232
+ margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
233
+ }
234
+ details.dropdown > summary + ul li a {
235
+ display: block;
236
+ margin: calc(var(--pico-form-element-spacing-vertical) * -0.5)
237
+ calc(var(--pico-form-element-spacing-horizontal) * -1);
238
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
239
+ var(--pico-form-element-spacing-horizontal);
240
+ overflow: hidden;
241
+ border-radius: 0;
242
+ color: var(--pico-dropdown-color);
243
+ text-decoration: none;
244
+ text-overflow: ellipsis;
245
+ }
246
+ details.dropdown > summary + ul li a:hover,
247
+ details.dropdown > summary + ul li a:focus,
248
+ details.dropdown > summary + ul li a:active,
249
+ details.dropdown > summary + ul li a:focus-visible,
250
+ details.dropdown > summary + ul li a[aria-current]:not([aria-current="false"]) {
251
+ background-color: var(--pico-dropdown-hover-background-color);
252
+ }
253
+ details.dropdown > summary + ul li label {
254
+ width: 100%;
255
+ }
256
+ details.dropdown > summary + ul li:has(label):hover {
257
+ background-color: var(--pico-dropdown-hover-background-color);
258
+ }
259
+
260
+ details.dropdown[open] > summary {
261
+ margin-bottom: 0;
262
+ }
263
+
264
+ details.dropdown[open] > summary + ul {
265
+ transform: scaleY(1);
266
+ opacity: 1;
267
+ transition:
268
+ opacity var(--pico-transition),
269
+ transform 0s ease-in-out 0s;
270
+ }
271
+
272
+ details.dropdown[open] > summary::before {
273
+ display: block;
274
+ z-index: 1;
275
+ position: fixed;
276
+ width: 100vw;
277
+ height: 100vh;
278
+ inset: 0;
279
+ background: none;
280
+ content: "";
281
+ cursor: default;
282
+ }
283
+
284
+ label > details.dropdown {
285
+ margin-top: calc(var(--pico-spacing) * 0.25);
286
+ }
287
+
288
+ /**
289
+ * Group ([role="group"], [role="search"])
290
+ */
291
+ [role="search"],
292
+ [role="group"] {
293
+ display: inline-flex;
294
+ position: relative;
295
+ width: 100%;
296
+ margin-bottom: var(--pico-spacing);
297
+ border-radius: var(--pico-border-radius);
298
+ box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
299
+ vertical-align: middle;
300
+ transition: box-shadow var(--pico-transition);
301
+ }
302
+ [role="search"] > *,
303
+ [role="search"] input:not([type="checkbox"], [type="radio"]),
304
+ [role="search"] select,
305
+ [role="group"] > *,
306
+ [role="group"] input:not([type="checkbox"], [type="radio"]),
307
+ [role="group"] select {
308
+ position: relative;
309
+ flex: 1 1 auto;
310
+ margin-bottom: 0;
311
+ }
312
+ [role="search"] > *:not(:first-child),
313
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
314
+ [role="search"] select:not(:first-child),
315
+ [role="group"] > *:not(:first-child),
316
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
317
+ [role="group"] select:not(:first-child) {
318
+ margin-left: 0;
319
+ border-top-left-radius: 0;
320
+ border-bottom-left-radius: 0;
321
+ }
322
+ [role="search"] > *:not(:last-child),
323
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
324
+ [role="search"] select:not(:last-child),
325
+ [role="group"] > *:not(:last-child),
326
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
327
+ [role="group"] select:not(:last-child) {
328
+ border-top-right-radius: 0;
329
+ border-bottom-right-radius: 0;
330
+ }
331
+ [role="search"] > *:focus,
332
+ [role="search"] input:not([type="checkbox"], [type="radio"]):focus,
333
+ [role="search"] select:focus,
334
+ [role="group"] > *:focus,
335
+ [role="group"] input:not([type="checkbox"], [type="radio"]):focus,
336
+ [role="group"] select:focus {
337
+ z-index: 2;
338
+ }
339
+ [role="search"] button:not(:first-child),
340
+ [role="search"] [type="submit"]:not(:first-child),
341
+ [role="search"] [type="reset"]:not(:first-child),
342
+ [role="search"] [type="button"]:not(:first-child),
343
+ [role="search"] [role="button"]:not(:first-child),
344
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
345
+ [role="search"] select:not(:first-child),
346
+ [role="group"] button:not(:first-child),
347
+ [role="group"] [type="submit"]:not(:first-child),
348
+ [role="group"] [type="reset"]:not(:first-child),
349
+ [role="group"] [type="button"]:not(:first-child),
350
+ [role="group"] [role="button"]:not(:first-child),
351
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
352
+ [role="group"] select:not(:first-child) {
353
+ margin-left: calc(var(--pico-border-width) * -1);
354
+ }
355
+ [role="search"] button,
356
+ [role="search"] [type="submit"],
357
+ [role="search"] [type="reset"],
358
+ [role="search"] [type="button"],
359
+ [role="search"] [role="button"],
360
+ [role="group"] button,
361
+ [role="group"] [type="submit"],
362
+ [role="group"] [type="reset"],
363
+ [role="group"] [type="button"],
364
+ [role="group"] [role="button"] {
365
+ width: auto;
366
+ }
367
+ @supports selector(:has(*)) {
368
+ [role="search"]:has(
369
+ button:focus,
370
+ [type="submit"]:focus,
371
+ [type="button"]:focus,
372
+ [role="button"]:focus
373
+ ),
374
+ [role="group"]:has(
375
+ button:focus,
376
+ [type="submit"]:focus,
377
+ [type="button"]:focus,
378
+ [role="button"]:focus
379
+ ) {
380
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
381
+ }
382
+ [role="search"]:has(
383
+ button:focus,
384
+ [type="submit"]:focus,
385
+ [type="button"]:focus,
386
+ [role="button"]:focus
387
+ )
388
+ input:not([type="checkbox"], [type="radio"]),
389
+ [role="search"]:has(
390
+ button:focus,
391
+ [type="submit"]:focus,
392
+ [type="button"]:focus,
393
+ [role="button"]:focus
394
+ )
395
+ select,
396
+ [role="group"]:has(
397
+ button:focus,
398
+ [type="submit"]:focus,
399
+ [type="button"]:focus,
400
+ [role="button"]:focus
401
+ )
402
+ input:not([type="checkbox"], [type="radio"]),
403
+ [role="group"]:has(
404
+ button:focus,
405
+ [type="submit"]:focus,
406
+ [type="button"]:focus,
407
+ [role="button"]:focus
408
+ )
409
+ select {
410
+ border-color: transparent;
411
+ }
412
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus),
413
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) {
414
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
415
+ }
416
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
417
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
418
+ [type="submit"],
419
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
420
+ [type="button"],
421
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
422
+ [role="button"],
423
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
424
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
425
+ [type="submit"],
426
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
427
+ [type="button"],
428
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
429
+ [role="button"] {
430
+ --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
431
+ --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
432
+ }
433
+ [role="search"] button:focus,
434
+ [role="search"] [type="submit"]:focus,
435
+ [role="search"] [type="reset"]:focus,
436
+ [role="search"] [type="button"]:focus,
437
+ [role="search"] [role="button"]:focus,
438
+ [role="group"] button:focus,
439
+ [role="group"] [type="submit"]:focus,
440
+ [role="group"] [type="reset"]:focus,
441
+ [role="group"] [type="button"]:focus,
442
+ [role="group"] [role="button"]:focus {
443
+ box-shadow: none;
444
+ }
445
+ }
446
+
447
+ [role="search"] > *:first-child {
448
+ border-top-left-radius: 5rem;
449
+ border-bottom-left-radius: 5rem;
450
+ }
451
+ [role="search"] > *:last-child {
452
+ border-top-right-radius: 5rem;
453
+ border-bottom-right-radius: 5rem;
454
+ }
455
+
456
+ /**
457
+ * Loading ([aria-busy=true])
458
+ */
459
+ [aria-busy="true"]:not(input, select, textarea, html, form) {
460
+ white-space: nowrap;
461
+ }
462
+ [aria-busy="true"]:not(input, select, textarea, html, form)::before {
463
+ display: inline-block;
464
+ width: 1em;
465
+ height: 1em;
466
+ background-image: var(--pico-icon-loading);
467
+ background-size: 1em auto;
468
+ background-repeat: no-repeat;
469
+ content: "";
470
+ vertical-align: -0.125em;
471
+ }
472
+ [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty)::before {
473
+ margin-inline-end: calc(var(--pico-spacing) * 0.5);
474
+ }
475
+ [aria-busy="true"]:not(input, select, textarea, html, form):empty {
476
+ text-align: center;
477
+ }
478
+
479
+ button[aria-busy="true"],
480
+ [type="submit"][aria-busy="true"],
481
+ [type="button"][aria-busy="true"],
482
+ [type="reset"][aria-busy="true"],
483
+ [role="button"][aria-busy="true"],
484
+ a[aria-busy="true"] {
485
+ pointer-events: none;
486
+ }
487
+
488
+ /**
489
+ * Modal (<dialog>)
490
+ */
491
+ :root,
492
+ :host {
493
+ --pico-scrollbar-width: 0px;
494
+ }
495
+
496
+ dialog {
497
+ display: flex;
498
+ z-index: 999;
499
+ position: fixed;
500
+ top: 0;
501
+ right: 0;
502
+ bottom: 0;
503
+ left: 0;
504
+ align-items: center;
505
+ justify-content: center;
506
+ width: inherit;
507
+ min-width: 100%;
508
+ height: inherit;
509
+ min-height: 100%;
510
+ padding: 0;
511
+ border: 0;
512
+ -webkit-backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
513
+ backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
514
+ background-color: var(--pico-modal-overlay-background-color);
515
+ color: var(--pico-color);
516
+ }
517
+ dialog > article {
518
+ width: 100%;
519
+ max-height: calc(100vh - var(--pico-spacing) * 2);
520
+ margin: var(--pico-spacing);
521
+ overflow: auto;
522
+ }
523
+ @media (min-width: 576px) {
524
+ dialog > article {
525
+ max-width: 510px;
526
+ }
527
+ }
528
+ @media (min-width: 768px) {
529
+ dialog > article {
530
+ max-width: 700px;
531
+ }
532
+ }
533
+ dialog > article > header > * {
534
+ margin-bottom: 0;
535
+ }
536
+ dialog > article > header .close,
537
+ dialog > article > header :is(a, button)[rel="prev"] {
538
+ margin: 0;
539
+ margin-left: var(--pico-spacing);
540
+ padding: 0;
541
+ float: right;
542
+ }
543
+ dialog > article > footer {
544
+ text-align: right;
545
+ }
546
+ dialog > article > footer button,
547
+ dialog > article > footer [role="button"] {
548
+ margin-bottom: 0;
549
+ }
550
+ dialog > article > footer button:not(:first-of-type),
551
+ dialog > article > footer [role="button"]:not(:first-of-type) {
552
+ margin-left: calc(var(--pico-spacing) * 0.5);
553
+ }
554
+ dialog > article .close,
555
+ dialog > article :is(a, button)[rel="prev"] {
556
+ display: block;
557
+ width: 1rem;
558
+ height: 1rem;
559
+ margin-top: calc(var(--pico-spacing) * -1);
560
+ margin-bottom: var(--pico-spacing);
561
+ margin-left: auto;
562
+ border: none;
563
+ background-image: var(--pico-icon-close);
564
+ background-position: center;
565
+ background-size: auto 1rem;
566
+ background-repeat: no-repeat;
567
+ background-color: transparent;
568
+ opacity: 0.5;
569
+ transition: opacity var(--pico-transition);
570
+ }
571
+ dialog > article .close:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus),
572
+ dialog
573
+ > article
574
+ :is(a, button)[rel="prev"]:is(
575
+ [aria-current]:not([aria-current="false"]),
576
+ :hover,
577
+ :active,
578
+ :focus
579
+ ) {
580
+ opacity: 1;
581
+ }
582
+ dialog:not([open]),
583
+ dialog[open="false"] {
584
+ display: none;
585
+ }
586
+
587
+ .modal-is-open {
588
+ padding-right: var(--pico-scrollbar-width, 0px);
589
+ overflow: hidden;
590
+ pointer-events: none;
591
+ touch-action: none;
592
+ }
593
+ .modal-is-open dialog {
594
+ pointer-events: auto;
595
+ touch-action: auto;
596
+ }
597
+
598
+ :where(.modal-is-opening, .modal-is-closing) dialog,
599
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
600
+ animation-duration: 0.2s;
601
+ animation-timing-function: ease-in-out;
602
+ animation-fill-mode: both;
603
+ }
604
+ :where(.modal-is-opening, .modal-is-closing) dialog {
605
+ animation-duration: 0.8s;
606
+ animation-name: modal-overlay;
607
+ }
608
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
609
+ animation-delay: 0.2s;
610
+ animation-name: modal;
611
+ }
612
+
613
+ .modal-is-closing dialog,
614
+ .modal-is-closing dialog > article {
615
+ animation-delay: 0s;
616
+ animation-direction: reverse;
617
+ }
618
+
619
+ @keyframes modal-overlay {
620
+ from {
621
+ -webkit-backdrop-filter: none;
622
+ backdrop-filter: none;
623
+ background-color: transparent;
624
+ }
625
+ }
626
+ @keyframes modal {
627
+ from {
628
+ transform: translateY(-100%);
629
+ opacity: 0;
630
+ }
631
+ }
632
+ /**
633
+ * Nav
634
+ */
635
+ :where(nav li)::before {
636
+ float: left;
637
+ content: "​";
638
+ }
639
+
640
+ nav,
641
+ nav ul {
642
+ display: flex;
643
+ }
644
+
645
+ nav {
646
+ justify-content: space-between;
647
+ overflow: visible;
648
+ }
649
+ nav ol,
650
+ nav ul {
651
+ align-items: center;
652
+ margin-bottom: 0;
653
+ padding: 0;
654
+ list-style: none;
655
+ }
656
+ nav ol:first-of-type,
657
+ nav ul:first-of-type {
658
+ margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
659
+ }
660
+ nav ol:last-of-type,
661
+ nav ul:last-of-type {
662
+ margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
663
+ }
664
+ nav li {
665
+ display: inline-block;
666
+ margin: 0;
667
+ padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
668
+ }
669
+ nav li :where(a, [role="link"]) {
670
+ display: inline-block;
671
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1)
672
+ calc(var(--pico-nav-link-spacing-horizontal) * -1);
673
+ padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
674
+ border-radius: var(--pico-border-radius);
675
+ }
676
+ nav li :where(a, [role="link"]):not(:hover) {
677
+ text-decoration: none;
678
+ }
679
+ nav li button,
680
+ nav li [role="button"],
681
+ nav li [type="button"],
682
+ nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
683
+ nav li select {
684
+ height: auto;
685
+ margin-right: inherit;
686
+ margin-bottom: 0;
687
+ margin-left: inherit;
688
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
689
+ var(--pico-nav-link-spacing-horizontal);
690
+ }
691
+ nav[aria-label="breadcrumb"] {
692
+ align-items: center;
693
+ justify-content: start;
694
+ }
695
+ nav[aria-label="breadcrumb"] ul li:not(:first-child) {
696
+ margin-inline-start: var(--pico-nav-link-spacing-horizontal);
697
+ }
698
+ nav[aria-label="breadcrumb"] ul li a {
699
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
700
+ margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
701
+ }
702
+ nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
703
+ display: inline-block;
704
+ position: absolute;
705
+ width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
706
+ margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
707
+ content: var(--pico-nav-breadcrumb-divider);
708
+ color: var(--pico-muted-color);
709
+ text-align: center;
710
+ text-decoration: none;
711
+ white-space: nowrap;
712
+ }
713
+ nav[aria-label="breadcrumb"] a[aria-current]:not([aria-current="false"]) {
714
+ background-color: transparent;
715
+ color: inherit;
716
+ text-decoration: none;
717
+ pointer-events: none;
718
+ }
719
+
720
+ aside nav,
721
+ aside ol,
722
+ aside ul,
723
+ aside li {
724
+ display: block;
725
+ }
726
+ aside li {
727
+ padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5)
728
+ var(--pico-nav-element-spacing-horizontal);
729
+ }
730
+ aside li a {
731
+ display: block;
732
+ }
733
+ aside li [role="button"] {
734
+ margin: inherit;
735
+ }
736
+
737
+ [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child) ::after {
738
+ content: "\\";
739
+ }
740
+
741
+ /**
742
+ * Progress
743
+ */
744
+ progress {
745
+ display: inline-block;
746
+ vertical-align: baseline;
747
+ }
748
+
749
+ progress {
750
+ -webkit-appearance: none;
751
+ -moz-appearance: none;
752
+ display: inline-block;
753
+ appearance: none;
754
+ width: 100%;
755
+ height: 0.5rem;
756
+ margin-bottom: calc(var(--pico-spacing) * 0.5);
757
+ overflow: hidden;
758
+ border: 0;
759
+ border-radius: var(--pico-border-radius);
760
+ background-color: var(--pico-progress-background-color);
761
+ color: var(--pico-progress-color);
762
+ }
763
+ progress::-webkit-progress-bar {
764
+ border-radius: var(--pico-border-radius);
765
+ background: none;
766
+ }
767
+ progress[value]::-webkit-progress-value {
768
+ background-color: var(--pico-progress-color);
769
+ -webkit-transition: inline-size var(--pico-transition);
770
+ transition: inline-size var(--pico-transition);
771
+ }
772
+ progress::-moz-progress-bar {
773
+ background-color: var(--pico-progress-color);
774
+ }
775
+ @media (prefers-reduced-motion: no-preference) {
776
+ progress:indeterminate {
777
+ background: var(--pico-progress-background-color)
778
+ linear-gradient(
779
+ to right,
780
+ var(--pico-progress-color) 30%,
781
+ var(--pico-progress-background-color) 30%
782
+ )
783
+ top left/150% 150% no-repeat;
784
+ animation: progress-indeterminate 1s linear infinite;
785
+ }
786
+ progress:indeterminate[value]::-webkit-progress-value {
787
+ background-color: transparent;
788
+ }
789
+ progress:indeterminate::-moz-progress-bar {
790
+ background-color: transparent;
791
+ }
792
+ }
793
+
794
+ @media (prefers-reduced-motion: no-preference) {
795
+ [dir="rtl"] progress:indeterminate {
796
+ animation-direction: reverse;
797
+ }
798
+ }
799
+
800
+ @keyframes progress-indeterminate {
801
+ 0% {
802
+ background-position: 200% 0;
803
+ }
804
+ 100% {
805
+ background-position: -200% 0;
806
+ }
807
+ }
808
+ /**
809
+ * Tooltip ([data-tooltip])
810
+ */
811
+ [data-tooltip] {
812
+ position: relative;
813
+ }
814
+ [data-tooltip]:not(a, button, input, [role="button"]) {
815
+ border-bottom: 1px dotted;
816
+ text-decoration: none;
817
+ cursor: help;
818
+ }
819
+ [data-tooltip][data-placement="top"]::before,
820
+ [data-tooltip][data-placement="top"]::after,
821
+ [data-tooltip]::before,
822
+ [data-tooltip]::after {
823
+ display: block;
824
+ z-index: 99;
825
+ position: absolute;
826
+ bottom: 100%;
827
+ left: 50%;
828
+ padding: 0.25rem 0.5rem;
829
+ overflow: hidden;
830
+ transform: translate(-50%, -0.25rem);
831
+ border-radius: var(--pico-border-radius);
832
+ background: var(--pico-tooltip-background-color);
833
+ content: attr(data-tooltip);
834
+ color: var(--pico-tooltip-color);
835
+ font-style: normal;
836
+ font-weight: var(--pico-font-weight);
837
+ font-size: 0.875rem;
838
+ text-decoration: none;
839
+ text-overflow: ellipsis;
840
+ white-space: nowrap;
841
+ opacity: 0;
842
+ pointer-events: none;
843
+ }
844
+ [data-tooltip][data-placement="top"]::after,
845
+ [data-tooltip]::after {
846
+ padding: 0;
847
+ transform: translate(-50%, 0rem);
848
+ border-top: 0.3rem solid;
849
+ border-right: 0.3rem solid transparent;
850
+ border-left: 0.3rem solid transparent;
851
+ border-radius: 0;
852
+ background-color: transparent;
853
+ content: "";
854
+ color: var(--pico-tooltip-background-color);
855
+ }
856
+ [data-tooltip][data-placement="bottom"]::before,
857
+ [data-tooltip][data-placement="bottom"]::after {
858
+ top: 100%;
859
+ bottom: auto;
860
+ transform: translate(-50%, 0.25rem);
861
+ }
862
+ [data-tooltip][data-placement="bottom"]:after {
863
+ transform: translate(-50%, -0.3rem);
864
+ border: 0.3rem solid transparent;
865
+ border-bottom: 0.3rem solid;
866
+ }
867
+ [data-tooltip][data-placement="left"]::before,
868
+ [data-tooltip][data-placement="left"]::after {
869
+ top: 50%;
870
+ right: 100%;
871
+ bottom: auto;
872
+ left: auto;
873
+ transform: translate(-0.25rem, -50%);
874
+ }
875
+ [data-tooltip][data-placement="left"]:after {
876
+ transform: translate(0.3rem, -50%);
877
+ border: 0.3rem solid transparent;
878
+ border-left: 0.3rem solid;
879
+ }
880
+ [data-tooltip][data-placement="right"]::before,
881
+ [data-tooltip][data-placement="right"]::after {
882
+ top: 50%;
883
+ right: auto;
884
+ bottom: auto;
885
+ left: 100%;
886
+ transform: translate(0.25rem, -50%);
887
+ }
888
+ [data-tooltip][data-placement="right"]:after {
889
+ transform: translate(-0.3rem, -50%);
890
+ border: 0.3rem solid transparent;
891
+ border-right: 0.3rem solid;
892
+ }
893
+ [data-tooltip]:focus::before,
894
+ [data-tooltip]:focus::after,
895
+ [data-tooltip]:hover::before,
896
+ [data-tooltip]:hover::after {
897
+ opacity: 1;
898
+ }
899
+ @media (hover: hover) and (pointer: fine) {
900
+ [data-tooltip]:focus::before,
901
+ [data-tooltip]:focus::after,
902
+ [data-tooltip]:hover::before,
903
+ [data-tooltip]:hover::after {
904
+ --pico-tooltip-slide-to: translate(-50%, -0.25rem);
905
+ transform: translate(-50%, 0.75rem);
906
+ animation-duration: 0.2s;
907
+ animation-fill-mode: forwards;
908
+ animation-name: tooltip-slide;
909
+ opacity: 0;
910
+ }
911
+ [data-tooltip]:focus::after,
912
+ [data-tooltip]:hover::after {
913
+ --pico-tooltip-caret-slide-to: translate(-50%, 0rem);
914
+ transform: translate(-50%, -0.25rem);
915
+ animation-name: tooltip-caret-slide;
916
+ }
917
+ [data-tooltip][data-placement="bottom"]:focus::before,
918
+ [data-tooltip][data-placement="bottom"]:focus::after,
919
+ [data-tooltip][data-placement="bottom"]:hover::before,
920
+ [data-tooltip][data-placement="bottom"]:hover::after {
921
+ --pico-tooltip-slide-to: translate(-50%, 0.25rem);
922
+ transform: translate(-50%, -0.75rem);
923
+ animation-name: tooltip-slide;
924
+ }
925
+ [data-tooltip][data-placement="bottom"]:focus::after,
926
+ [data-tooltip][data-placement="bottom"]:hover::after {
927
+ --pico-tooltip-caret-slide-to: translate(-50%, -0.3rem);
928
+ transform: translate(-50%, -0.5rem);
929
+ animation-name: tooltip-caret-slide;
930
+ }
931
+ [data-tooltip][data-placement="left"]:focus::before,
932
+ [data-tooltip][data-placement="left"]:focus::after,
933
+ [data-tooltip][data-placement="left"]:hover::before,
934
+ [data-tooltip][data-placement="left"]:hover::after {
935
+ --pico-tooltip-slide-to: translate(-0.25rem, -50%);
936
+ transform: translate(0.75rem, -50%);
937
+ animation-name: tooltip-slide;
938
+ }
939
+ [data-tooltip][data-placement="left"]:focus::after,
940
+ [data-tooltip][data-placement="left"]:hover::after {
941
+ --pico-tooltip-caret-slide-to: translate(0.3rem, -50%);
942
+ transform: translate(0.05rem, -50%);
943
+ animation-name: tooltip-caret-slide;
944
+ }
945
+ [data-tooltip][data-placement="right"]:focus::before,
946
+ [data-tooltip][data-placement="right"]:focus::after,
947
+ [data-tooltip][data-placement="right"]:hover::before,
948
+ [data-tooltip][data-placement="right"]:hover::after {
949
+ --pico-tooltip-slide-to: translate(0.25rem, -50%);
950
+ transform: translate(-0.75rem, -50%);
951
+ animation-name: tooltip-slide;
952
+ }
953
+ [data-tooltip][data-placement="right"]:focus::after,
954
+ [data-tooltip][data-placement="right"]:hover::after {
955
+ --pico-tooltip-caret-slide-to: translate(-0.3rem, -50%);
956
+ transform: translate(-0.05rem, -50%);
957
+ animation-name: tooltip-caret-slide;
958
+ }
959
+ }
960
+ @keyframes tooltip-slide {
961
+ to {
962
+ transform: var(--pico-tooltip-slide-to);
963
+ opacity: 1;
964
+ }
965
+ }
966
+ @keyframes tooltip-caret-slide {
967
+ 50% {
968
+ opacity: 0;
969
+ }
970
+ to {
971
+ transform: var(--pico-tooltip-caret-slide-to);
972
+ opacity: 1;
973
+ }
974
+ }