@anyblades/blades 3.0.0 → 3.1.0-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.
Files changed (57) hide show
  1. package/README.md +79 -12
  2. package/css/blades.css +219 -419
  3. package/css/blades.min.css +41 -30
  4. package/css/pico.conditional.css +219 -419
  5. package/css/pico.conditional.min.css +41 -30
  6. package/css/pico.css +219 -419
  7. package/css/pico.layered.css +2990 -0
  8. package/css/pico.layered.min.css +118 -0
  9. package/css/pico.min.css +41 -30
  10. package/package.json +27 -7
  11. package/src/pico/_index.css +4 -4
  12. package/src/pico/_utilities.css +0 -21
  13. package/src/pico/_variables.css +76 -386
  14. package/src/pico/components/_accordion.css +82 -0
  15. package/src/pico/components/_card.css +45 -0
  16. package/src/pico/components/_dropdown.css +188 -0
  17. package/src/pico/components/_group.css +205 -0
  18. package/src/pico/components/_index.css +9 -0
  19. package/src/pico/components/_loading.css +40 -0
  20. package/src/pico/components/_modal.css +157 -0
  21. package/src/pico/components/_nav.css +114 -0
  22. package/src/pico/components/_progress.css +73 -0
  23. package/src/pico/components/_tooltip.css +173 -0
  24. package/src/pico/content/_button.css +205 -0
  25. package/src/pico/content/_code.css +61 -0
  26. package/src/pico/content/_embedded-content.css +37 -0
  27. package/src/pico/content/_figure.css +12 -0
  28. package/src/pico/content/_index.css +8 -0
  29. package/src/pico/content/_link.css +81 -0
  30. package/src/pico/content/_misc.css +19 -0
  31. package/src/pico/content/_table.css +30 -0
  32. package/src/pico/content/_typography.css +156 -0
  33. package/src/pico/forms/_basics.css +335 -0
  34. package/src/pico/forms/_checkbox-radio-switch.css +161 -0
  35. package/src/pico/forms/_index.css +7 -0
  36. package/src/pico/forms/_input-color.css +17 -0
  37. package/src/pico/forms/_input-datetime.css +54 -0
  38. package/src/pico/forms/_input-file.css +26 -0
  39. package/src/pico/forms/_input-range.css +118 -0
  40. package/src/pico/forms/_input-search.css +63 -0
  41. package/src/pico/layout/_container.css +39 -0
  42. package/src/pico/layout/_document.css +36 -0
  43. package/src/pico/layout/_grid.css +19 -0
  44. package/src/pico/layout/_index.css +6 -0
  45. package/src/pico/layout/_landmarks.css +17 -0
  46. package/src/pico/layout/_overflow-auto.css +6 -0
  47. package/src/pico/layout/_section.css +6 -0
  48. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
  49. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  50. package/CODE_OF_CONDUCT.md +0 -92
  51. package/context7.json +0 -4
  52. package/css/postcss.config.js +0 -23
  53. package/index.html +0 -63
  54. package/src/pico/_components.css +0 -974
  55. package/src/pico/_content.css +0 -608
  56. package/src/pico/_forms.css +0 -747
  57. package/src/pico/_layout.css +0 -128
@@ -1,974 +0,0 @@
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: start;
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: end;
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-block;
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
- :scope,
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: end;
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
- }