@anyblades/blades 3.1.0-beta.4 → 3.1.0-beta.6

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