@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
package/css/blades.css CHANGED
@@ -37,24 +37,10 @@
37
37
  --pico-grid-row-gap: var(--pico-spacing);
38
38
  --pico-form-element-spacing-vertical: 0.75rem;
39
39
  --pico-form-element-spacing-horizontal: 1rem;
40
- --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
41
- --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
42
- var(--pico-primary-focus);
43
- --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
44
- --pico-modal-overlay-backdrop-filter: blur(0.375rem);
45
40
  --pico-nav-element-spacing-vertical: 1rem;
46
- --pico-nav-element-spacing-horizontal: 0.5rem;
47
41
  --pico-nav-link-spacing-vertical: 0.5rem;
48
42
  --pico-nav-link-spacing-horizontal: 0.5rem;
49
- --pico-nav-breadcrumb-divider: ">";
50
- --pico-icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
51
- --pico-icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
52
43
  --pico-icon-chevron: 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
53
- --pico-icon-date: 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
54
- --pico-icon-time: 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
55
- --pico-icon-search: 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='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
56
- --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");
57
- --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");
58
44
  }
59
45
  @media (min-width: 576px) {
60
46
  :scope,
@@ -200,36 +186,6 @@ nav details.dropdown summary:focus-visible {
200
186
  --pico-border-radius: 5rem;
201
187
  }
202
188
 
203
- [role="search"]:has(
204
- button.secondary:focus,
205
- [type="submit"].secondary:focus,
206
- [type="button"].secondary:focus,
207
- [role="button"].secondary:focus
208
- ),
209
- [role="group"]:has(
210
- button.secondary:focus,
211
- [type="submit"].secondary:focus,
212
- [type="button"].secondary:focus,
213
- [role="button"].secondary:focus
214
- ) {
215
- --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
216
- var(--pico-secondary-focus);
217
- }
218
- [role="search"]:has(
219
- button.contrast:focus,
220
- [type="submit"].contrast:focus,
221
- [type="button"].contrast:focus,
222
- [role="button"].contrast:focus
223
- ),
224
- [role="group"]:has(
225
- button.contrast:focus,
226
- [type="submit"].contrast:focus,
227
- [type="button"].contrast:focus,
228
- [role="button"].contrast:focus
229
- ) {
230
- --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
231
- var(--pico-contrast-focus);
232
- }
233
189
  [role="search"] button,
234
190
  [role="search"] [type="submit"],
235
191
  [role="search"] [type="button"],
@@ -257,273 +213,121 @@ details summary[role="button"]:not(.outline)::after {
257
213
 
258
214
  /**
259
215
  * Color schemes
216
+ * One palette for both schemes: light-dark() picks the value from the used color-scheme,
217
+ * so the dark scheme only has to switch color-scheme (same selectors as before).
260
218
  */
219
+ :scope,
220
+ :host,
261
221
  [data-theme="light"],
262
- :scope:not([data-theme="dark"]),
263
- :host(:not([data-theme="dark"])) {
222
+ [data-theme="dark"] {
264
223
  color-scheme: light;
265
- --pico-background-color: #fff;
266
- --pico-color: #373c44;
267
- --pico-text-selection-color: rgba(2, 154, 232, 0.25);
268
- --pico-muted-color: #646b79;
269
- --pico-muted-border-color: rgb(231, 234, 239.5);
270
- --pico-primary: #0172ad;
224
+ --pico-background-color: light-dark(#fff, rgb(19, 22.5, 30.5));
225
+ --pico-color: light-dark(#373c44, #c2c7d0);
226
+ --pico-text-selection-color: light-dark(rgba(2, 154, 232, 0.25), rgba(1, 170, 255, 0.1875));
227
+ --pico-muted-color: light-dark(#646b79, #7b8495);
228
+ --pico-muted-border-color: light-dark(rgb(231, 234, 239.5), #202632);
229
+ --pico-primary: light-dark(#0172ad, #01aaff);
271
230
  --pico-primary-background: #0172ad;
272
231
  --pico-primary-border: var(--pico-primary-background);
273
- --pico-primary-underline: rgba(1, 114, 173, 0.5);
274
- --pico-primary-hover: #015887;
275
- --pico-primary-hover-background: #02659a;
232
+ --pico-primary-underline: light-dark(rgba(1, 114, 173, 0.5), rgba(1, 170, 255, 0.5));
233
+ --pico-primary-hover: light-dark(#015887, #79c0ff);
234
+ --pico-primary-hover-background: light-dark(#02659a, #017fc0);
276
235
  --pico-primary-hover-border: var(--pico-primary-hover-background);
277
236
  --pico-primary-hover-underline: var(--pico-primary-hover);
278
- --pico-primary-focus: rgba(2, 154, 232, 0.5);
237
+ --pico-primary-focus: light-dark(rgba(2, 154, 232, 0.5), rgba(1, 170, 255, 0.375));
279
238
  --pico-primary-inverse: #fff;
280
- --pico-secondary: #5d6b89;
239
+ --pico-secondary: light-dark(#5d6b89, #969eaf);
281
240
  --pico-secondary-background: #525f7a;
282
241
  --pico-secondary-border: var(--pico-secondary-background);
283
- --pico-secondary-underline: rgba(93, 107, 137, 0.5);
284
- --pico-secondary-hover: #48536b;
285
- --pico-secondary-hover-background: #48536b;
242
+ --pico-secondary-underline: light-dark(rgba(93, 107, 137, 0.5), rgba(150, 158, 175, 0.5));
243
+ --pico-secondary-hover: light-dark(#48536b, #b3b9c5);
244
+ --pico-secondary-hover-background: light-dark(#48536b, #5d6b89);
286
245
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
287
246
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
288
- --pico-secondary-focus: rgba(93, 107, 137, 0.25);
247
+ --pico-secondary-focus: light-dark(rgba(93, 107, 137, 0.25), rgba(144, 158, 190, 0.25));
289
248
  --pico-secondary-inverse: #fff;
290
- --pico-contrast: #181c25;
291
- --pico-contrast-background: #181c25;
249
+ --pico-contrast: light-dark(#181c25, #dfe3eb);
250
+ --pico-contrast-background: light-dark(#181c25, #eff1f4);
292
251
  --pico-contrast-border: var(--pico-contrast-background);
293
- --pico-contrast-underline: rgba(24, 28, 37, 0.5);
294
- --pico-contrast-hover: #000;
295
- --pico-contrast-hover-background: #000;
252
+ --pico-contrast-underline: light-dark(rgba(24, 28, 37, 0.5), rgba(223, 227, 235, 0.5));
253
+ --pico-contrast-hover: light-dark(#000, #fff);
254
+ --pico-contrast-hover-background: light-dark(#000, #fff);
296
255
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
297
- --pico-contrast-hover-underline: var(--pico-secondary-hover);
298
- --pico-contrast-focus: rgba(93, 107, 137, 0.25);
299
- --pico-contrast-inverse: #fff;
300
- --pico-box-shadow: 0 0.5rem 2.5rem rgba(129, 145, 181, 0.2);
301
- --pico-h1-color: #2d3138;
302
- --pico-h2-color: #373c44;
303
- --pico-h3-color: #424751;
304
- --pico-h4-color: #4d535e;
305
- --pico-h5-color: #5c6370;
306
- --pico-h6-color: #646b79;
307
- --pico-mark-background-color: rgb(252.5, 230.5, 191.5);
308
- --pico-mark-color: #0f1114;
309
- --pico-ins-color: rgb(28.5, 105.5, 84);
310
- --pico-del-color: rgb(136, 56.5, 53);
256
+ --pico-contrast-hover-underline: light-dark(
257
+ var(--pico-secondary-hover),
258
+ var(--pico-contrast-hover)
259
+ );
260
+ --pico-contrast-focus: light-dark(rgba(93, 107, 137, 0.25), rgba(207, 213, 226, 0.25));
261
+ --pico-contrast-inverse: light-dark(#fff, #000);
262
+ --pico-box-shadow: 0 0.5rem 2.5rem light-dark(rgba(129, 145, 181, 0.2), rgba(7, 8.5, 12, 0.2));
263
+ --pico-h1-color: light-dark(#2d3138, #f0f1f3);
264
+ --pico-h2-color: light-dark(#373c44, #e0e3e7);
265
+ --pico-h3-color: light-dark(#424751, #c2c7d0);
266
+ --pico-h4-color: light-dark(#4d535e, #b3b9c5);
267
+ --pico-h5-color: light-dark(#5c6370, #a4acba);
268
+ --pico-h6-color: light-dark(#646b79, #8891a4);
269
+ --pico-mark-background-color: light-dark(rgb(252.5, 230.5, 191.5), #014063);
270
+ --pico-mark-color: light-dark(#0f1114, #fff);
271
+ --pico-ins-color: light-dark(rgb(28.5, 105.5, 84), #62af9a);
272
+ --pico-del-color: light-dark(rgb(136, 56.5, 53), rgb(205.5, 126, 123));
311
273
  --pico-blockquote-border-color: var(--pico-muted-border-color);
312
274
  --pico-blockquote-footer-color: var(--pico-muted-color);
313
275
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
314
276
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
315
277
  --pico-table-border-color: var(--pico-muted-border-color);
316
278
  --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
317
- --pico-code-background-color: rgb(243, 244.5, 246.75);
318
- --pico-code-color: #646b79;
279
+ --pico-code-background-color: light-dark(rgb(243, 244.5, 246.75), rgb(26, 30.5, 40.25));
280
+ --pico-code-color: light-dark(#646b79, #8891a4);
319
281
  --pico-code-kbd-background-color: var(--pico-color);
320
282
  --pico-code-kbd-color: var(--pico-background-color);
321
- --pico-form-element-background-color: rgb(251, 251.5, 252.25);
322
- --pico-form-element-selected-background-color: #dfe3eb;
323
- --pico-form-element-border-color: #cfd5e2;
324
- --pico-form-element-color: #23262c;
325
- --pico-form-element-placeholder-color: var(--pico-muted-color);
326
- --pico-form-element-active-background-color: #fff;
283
+ --pico-form-element-background-color: light-dark(rgb(251, 251.5, 252.25), rgb(28, 33, 43.5));
284
+ --pico-form-element-selected-background-color: light-dark(#dfe3eb, #2a3140);
285
+ --pico-form-element-border-color: light-dark(#cfd5e2, #2a3140);
286
+ --pico-form-element-color: light-dark(#23262c, #e0e3e7);
287
+ --pico-form-element-placeholder-color: light-dark(var(--pico-muted-color), #8891a4);
288
+ --pico-form-element-active-background-color: light-dark(#fff, rgb(26, 30.5, 40.25));
327
289
  --pico-form-element-active-border-color: var(--pico-primary-border);
328
290
  --pico-form-element-focus-color: var(--pico-primary-border);
329
291
  --pico-form-element-disabled-opacity: 0.5;
330
- --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
331
- --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
292
+ --pico-form-element-invalid-border-color: light-dark(
293
+ rgb(183.5, 105.5, 106.5),
294
+ rgb(149.5, 74, 80)
295
+ );
296
+ --pico-form-element-invalid-active-border-color: light-dark(
297
+ rgb(200.25, 79.25, 72.25),
298
+ rgb(183.25, 63.5, 59)
299
+ );
332
300
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
333
- --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5);
334
- --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
301
+ --pico-form-element-valid-border-color: light-dark(rgb(76, 154.5, 137.5), #2a7b6f);
302
+ --pico-form-element-valid-active-border-color: light-dark(
303
+ rgb(39, 152.75, 118.75),
304
+ rgb(22, 137, 105.5)
305
+ );
335
306
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
336
- --pico-switch-background-color: #bfc7d9;
337
- --pico-switch-checked-background-color: var(--pico-primary-background);
338
- --pico-switch-color: #fff;
339
- --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
340
- --pico-range-border-color: #dfe3eb;
341
- --pico-range-active-border-color: #bfc7d9;
342
- --pico-range-thumb-border-color: var(--pico-background-color);
343
- --pico-range-thumb-color: var(--pico-secondary-background);
344
- --pico-range-thumb-active-color: var(--pico-primary-background);
345
- --pico-accordion-border-color: var(--pico-muted-border-color);
346
- --pico-accordion-active-summary-color: var(--pico-primary-hover);
347
- --pico-accordion-close-summary-color: var(--pico-color);
348
- --pico-accordion-open-summary-color: var(--pico-muted-color);
349
- --pico-card-background-color: var(--pico-background-color);
350
- --pico-card-border-color: var(--pico-muted-border-color);
351
- --pico-card-box-shadow: var(--pico-box-shadow);
352
- --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25);
353
- --pico-dropdown-background-color: #fff;
354
- --pico-dropdown-border-color: #eff1f4;
355
- --pico-dropdown-box-shadow: var(--pico-box-shadow);
356
- --pico-dropdown-color: var(--pico-color);
357
- --pico-dropdown-hover-background-color: #eff1f4;
358
- --pico-loading-spinner-opacity: 0.5;
359
- --pico-modal-overlay-background-color: rgba(232, 234, 237, 0.75);
360
- --pico-progress-background-color: #dfe3eb;
361
- --pico-progress-color: var(--pico-primary-background);
362
- --pico-tooltip-background-color: var(--pico-contrast-background);
363
- --pico-tooltip-color: var(--pico-contrast-inverse);
307
+ /* One stroke color for both schemes, at least 3:1 on light and dark form backgrounds */
364
308
  --pico-icon-valid: 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(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
365
309
  --pico-icon-invalid: 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(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
366
310
  }
367
- [data-theme="light"]
368
- input:is(
369
- [type="submit"],
370
- [type="button"],
371
- [type="reset"],
372
- [type="checkbox"],
373
- [type="radio"],
374
- [type="file"]
375
- ),
376
- :scope:not([data-theme="dark"])
377
- input:is(
378
- [type="submit"],
379
- [type="button"],
380
- [type="reset"],
381
- [type="checkbox"],
382
- [type="radio"],
383
- [type="file"]
384
- ),
385
- :host(:not([data-theme="dark"]))
386
- input:is(
387
- [type="submit"],
388
- [type="button"],
389
- [type="reset"],
390
- [type="checkbox"],
391
- [type="radio"],
392
- [type="file"]
393
- ) {
311
+
312
+ input:is(
313
+ [type="submit"],
314
+ [type="button"],
315
+ [type="reset"],
316
+ [type="checkbox"],
317
+ [type="radio"],
318
+ [type="file"]
319
+ ) {
394
320
  --pico-form-element-focus-color: var(--pico-primary-focus);
395
321
  }
396
322
 
323
+ /* Dark scheme: switch color-scheme, plus filters that light-dark() can't pick */
397
324
  @media only screen and (prefers-color-scheme: dark) {
398
325
  :scope:not([data-theme]),
399
326
  :host(:not([data-theme])) {
400
327
  color-scheme: dark;
401
- --pico-background-color: rgb(19, 22.5, 30.5);
402
- --pico-color: #c2c7d0;
403
- --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
404
- --pico-muted-color: #7b8495;
405
- --pico-muted-border-color: #202632;
406
- --pico-primary: #01aaff;
407
- --pico-primary-background: #0172ad;
408
- --pico-primary-border: var(--pico-primary-background);
409
- --pico-primary-underline: rgba(1, 170, 255, 0.5);
410
- --pico-primary-hover: #79c0ff;
411
- --pico-primary-hover-background: #017fc0;
412
- --pico-primary-hover-border: var(--pico-primary-hover-background);
413
- --pico-primary-hover-underline: var(--pico-primary-hover);
414
- --pico-primary-focus: rgba(1, 170, 255, 0.375);
415
- --pico-primary-inverse: #fff;
416
- --pico-secondary: #969eaf;
417
- --pico-secondary-background: #525f7a;
418
- --pico-secondary-border: var(--pico-secondary-background);
419
- --pico-secondary-underline: rgba(150, 158, 175, 0.5);
420
- --pico-secondary-hover: #b3b9c5;
421
- --pico-secondary-hover-background: #5d6b89;
422
- --pico-secondary-hover-border: var(--pico-secondary-hover-background);
423
- --pico-secondary-hover-underline: var(--pico-secondary-hover);
424
- --pico-secondary-focus: rgba(144, 158, 190, 0.25);
425
- --pico-secondary-inverse: #fff;
426
- --pico-contrast: #dfe3eb;
427
- --pico-contrast-background: #eff1f4;
428
- --pico-contrast-border: var(--pico-contrast-background);
429
- --pico-contrast-underline: rgba(223, 227, 235, 0.5);
430
- --pico-contrast-hover: #fff;
431
- --pico-contrast-hover-background: #fff;
432
- --pico-contrast-hover-border: var(--pico-contrast-hover-background);
433
- --pico-contrast-hover-underline: var(--pico-contrast-hover);
434
- --pico-contrast-focus: rgba(207, 213, 226, 0.25);
435
- --pico-contrast-inverse: #000;
436
- --pico-box-shadow: 0 0.5rem 2.5rem rgba(7, 8.5, 12, 0.2);
437
- --pico-h1-color: #f0f1f3;
438
- --pico-h2-color: #e0e3e7;
439
- --pico-h3-color: #c2c7d0;
440
- --pico-h4-color: #b3b9c5;
441
- --pico-h5-color: #a4acba;
442
- --pico-h6-color: #8891a4;
443
- --pico-mark-background-color: #014063;
444
- --pico-mark-color: #fff;
445
- --pico-ins-color: #62af9a;
446
- --pico-del-color: rgb(205.5, 126, 123);
447
- --pico-blockquote-border-color: var(--pico-muted-border-color);
448
- --pico-blockquote-footer-color: var(--pico-muted-color);
449
- --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
450
- --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
451
- --pico-table-border-color: var(--pico-muted-border-color);
452
- --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
453
- --pico-code-background-color: rgb(26, 30.5, 40.25);
454
- --pico-code-color: #8891a4;
455
- --pico-code-kbd-background-color: var(--pico-color);
456
- --pico-code-kbd-color: var(--pico-background-color);
457
- --pico-form-element-background-color: rgb(28, 33, 43.5);
458
- --pico-form-element-selected-background-color: #2a3140;
459
- --pico-form-element-border-color: #2a3140;
460
- --pico-form-element-color: #e0e3e7;
461
- --pico-form-element-placeholder-color: #8891a4;
462
- --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
463
- --pico-form-element-active-border-color: var(--pico-primary-border);
464
- --pico-form-element-focus-color: var(--pico-primary-border);
465
- --pico-form-element-disabled-opacity: 0.5;
466
- --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
467
- --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
468
- --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
469
- --pico-form-element-valid-border-color: #2a7b6f;
470
- --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
471
- --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
472
- --pico-switch-background-color: #333c4e;
473
- --pico-switch-checked-background-color: var(--pico-primary-background);
474
- --pico-switch-color: #fff;
475
- --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
476
- --pico-range-border-color: #202632;
477
- --pico-range-active-border-color: #2a3140;
478
- --pico-range-thumb-border-color: var(--pico-background-color);
479
- --pico-range-thumb-color: var(--pico-secondary-background);
480
- --pico-range-thumb-active-color: var(--pico-primary-background);
481
- --pico-accordion-border-color: var(--pico-muted-border-color);
482
- --pico-accordion-active-summary-color: var(--pico-primary-hover);
483
- --pico-accordion-close-summary-color: var(--pico-color);
484
- --pico-accordion-open-summary-color: var(--pico-muted-color);
485
- --pico-card-background-color: #181c25;
486
- --pico-card-border-color: var(--pico-card-background-color);
487
- --pico-card-box-shadow: var(--pico-box-shadow);
488
- --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
489
- --pico-dropdown-background-color: #181c25;
490
- --pico-dropdown-border-color: #202632;
491
- --pico-dropdown-box-shadow: var(--pico-box-shadow);
492
- --pico-dropdown-color: var(--pico-color);
493
- --pico-dropdown-hover-background-color: #202632;
494
- --pico-loading-spinner-opacity: 0.5;
495
- --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
496
- --pico-progress-background-color: #202632;
497
- --pico-progress-color: var(--pico-primary-background);
498
- --pico-tooltip-background-color: var(--pico-contrast-background);
499
- --pico-tooltip-color: var(--pico-contrast-inverse);
500
- --pico-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
501
- --pico-icon-invalid: 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(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
502
- }
503
- :scope:not([data-theme])
504
- input:is(
505
- [type="submit"],
506
- [type="button"],
507
- [type="reset"],
508
- [type="checkbox"],
509
- [type="radio"],
510
- [type="file"]
511
- ),
512
- :host(:not([data-theme]))
513
- input:is(
514
- [type="submit"],
515
- [type="button"],
516
- [type="reset"],
517
- [type="checkbox"],
518
- [type="radio"],
519
- [type="file"]
520
- ) {
521
- --pico-form-element-focus-color: var(--pico-primary-focus);
522
328
  }
523
329
  :scope:not([data-theme]) details summary[role="button"].contrast:not(.outline)::after,
524
- :host(:not([data-theme])) details summary[role="button"].contrast:not(.outline)::after {
525
- filter: brightness(0);
526
- }
330
+ :host(:not([data-theme])) details summary[role="button"].contrast:not(.outline)::after,
527
331
  :scope:not([data-theme])
528
332
  [aria-busy="true"]:not(input, select, textarea).contrast:is(
529
333
  button,
@@ -545,122 +349,8 @@ details summary[role="button"]:not(.outline)::after {
545
349
  }
546
350
  [data-theme="dark"] {
547
351
  color-scheme: dark;
548
- --pico-background-color: rgb(19, 22.5, 30.5);
549
- --pico-color: #c2c7d0;
550
- --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
551
- --pico-muted-color: #7b8495;
552
- --pico-muted-border-color: #202632;
553
- --pico-primary: #01aaff;
554
- --pico-primary-background: #0172ad;
555
- --pico-primary-border: var(--pico-primary-background);
556
- --pico-primary-underline: rgba(1, 170, 255, 0.5);
557
- --pico-primary-hover: #79c0ff;
558
- --pico-primary-hover-background: #017fc0;
559
- --pico-primary-hover-border: var(--pico-primary-hover-background);
560
- --pico-primary-hover-underline: var(--pico-primary-hover);
561
- --pico-primary-focus: rgba(1, 170, 255, 0.375);
562
- --pico-primary-inverse: #fff;
563
- --pico-secondary: #969eaf;
564
- --pico-secondary-background: #525f7a;
565
- --pico-secondary-border: var(--pico-secondary-background);
566
- --pico-secondary-underline: rgba(150, 158, 175, 0.5);
567
- --pico-secondary-hover: #b3b9c5;
568
- --pico-secondary-hover-background: #5d6b89;
569
- --pico-secondary-hover-border: var(--pico-secondary-hover-background);
570
- --pico-secondary-hover-underline: var(--pico-secondary-hover);
571
- --pico-secondary-focus: rgba(144, 158, 190, 0.25);
572
- --pico-secondary-inverse: #fff;
573
- --pico-contrast: #dfe3eb;
574
- --pico-contrast-background: #eff1f4;
575
- --pico-contrast-border: var(--pico-contrast-background);
576
- --pico-contrast-underline: rgba(223, 227, 235, 0.5);
577
- --pico-contrast-hover: #fff;
578
- --pico-contrast-hover-background: #fff;
579
- --pico-contrast-hover-border: var(--pico-contrast-hover-background);
580
- --pico-contrast-hover-underline: var(--pico-contrast-hover);
581
- --pico-contrast-focus: rgba(207, 213, 226, 0.25);
582
- --pico-contrast-inverse: #000;
583
- --pico-box-shadow: 0 0.5rem 2.5rem rgba(7, 8.5, 12, 0.2);
584
- --pico-h1-color: #f0f1f3;
585
- --pico-h2-color: #e0e3e7;
586
- --pico-h3-color: #c2c7d0;
587
- --pico-h4-color: #b3b9c5;
588
- --pico-h5-color: #a4acba;
589
- --pico-h6-color: #8891a4;
590
- --pico-mark-background-color: #014063;
591
- --pico-mark-color: #fff;
592
- --pico-ins-color: #62af9a;
593
- --pico-del-color: rgb(205.5, 126, 123);
594
- --pico-blockquote-border-color: var(--pico-muted-border-color);
595
- --pico-blockquote-footer-color: var(--pico-muted-color);
596
- --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
597
- --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
598
- --pico-table-border-color: var(--pico-muted-border-color);
599
- --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
600
- --pico-code-background-color: rgb(26, 30.5, 40.25);
601
- --pico-code-color: #8891a4;
602
- --pico-code-kbd-background-color: var(--pico-color);
603
- --pico-code-kbd-color: var(--pico-background-color);
604
- --pico-form-element-background-color: rgb(28, 33, 43.5);
605
- --pico-form-element-selected-background-color: #2a3140;
606
- --pico-form-element-border-color: #2a3140;
607
- --pico-form-element-color: #e0e3e7;
608
- --pico-form-element-placeholder-color: #8891a4;
609
- --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
610
- --pico-form-element-active-border-color: var(--pico-primary-border);
611
- --pico-form-element-focus-color: var(--pico-primary-border);
612
- --pico-form-element-disabled-opacity: 0.5;
613
- --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
614
- --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
615
- --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
616
- --pico-form-element-valid-border-color: #2a7b6f;
617
- --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
618
- --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
619
- --pico-switch-background-color: #333c4e;
620
- --pico-switch-checked-background-color: var(--pico-primary-background);
621
- --pico-switch-color: #fff;
622
- --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
623
- --pico-range-border-color: #202632;
624
- --pico-range-active-border-color: #2a3140;
625
- --pico-range-thumb-border-color: var(--pico-background-color);
626
- --pico-range-thumb-color: var(--pico-secondary-background);
627
- --pico-range-thumb-active-color: var(--pico-primary-background);
628
- --pico-accordion-border-color: var(--pico-muted-border-color);
629
- --pico-accordion-active-summary-color: var(--pico-primary-hover);
630
- --pico-accordion-close-summary-color: var(--pico-color);
631
- --pico-accordion-open-summary-color: var(--pico-muted-color);
632
- --pico-card-background-color: #181c25;
633
- --pico-card-border-color: var(--pico-card-background-color);
634
- --pico-card-box-shadow: var(--pico-box-shadow);
635
- --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
636
- --pico-dropdown-background-color: #181c25;
637
- --pico-dropdown-border-color: #202632;
638
- --pico-dropdown-box-shadow: var(--pico-box-shadow);
639
- --pico-dropdown-color: var(--pico-color);
640
- --pico-dropdown-hover-background-color: #202632;
641
- --pico-loading-spinner-opacity: 0.5;
642
- --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
643
- --pico-progress-background-color: #202632;
644
- --pico-progress-color: var(--pico-primary-background);
645
- --pico-tooltip-background-color: var(--pico-contrast-background);
646
- --pico-tooltip-color: var(--pico-contrast-inverse);
647
- --pico-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
648
- --pico-icon-invalid: 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(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
649
- }
650
- [data-theme="dark"]
651
- input:is(
652
- [type="submit"],
653
- [type="button"],
654
- [type="reset"],
655
- [type="checkbox"],
656
- [type="radio"],
657
- [type="file"]
658
- ) {
659
- --pico-form-element-focus-color: var(--pico-primary-focus);
660
- }
661
- [data-theme="dark"] details summary[role="button"].contrast:not(.outline)::after {
662
- filter: brightness(0);
663
352
  }
353
+ [data-theme="dark"] details summary[role="button"].contrast:not(.outline)::after,
664
354
  [data-theme="dark"]
665
355
  [aria-busy="true"]:not(input, select, textarea).contrast:is(
666
356
  button,
@@ -740,7 +430,6 @@ body > footer {
740
430
  section {
741
431
  margin-bottom: var(--pico-block-spacing-vertical);
742
432
  }
743
-
744
433
  /**
745
434
  * Container
746
435
  */
@@ -780,7 +469,6 @@ section {
780
469
  max-width: 1450px;
781
470
  }
782
471
  }
783
-
784
472
  /**
785
473
  * Grid
786
474
  * Minimal grid system with auto-layout columns
@@ -800,7 +488,6 @@ section {
800
488
  min-width: 0;
801
489
  margin-bottom: 0; /* https://github.com/picocss/pico/issues/738 */
802
490
  }
803
-
804
491
  /**
805
492
  * Overflow auto
806
493
  */
@@ -1396,7 +1083,6 @@ figure figcaption {
1396
1083
  padding: calc(var(--pico-spacing) * 0.5) 0;
1397
1084
  color: var(--pico-muted-color);
1398
1085
  }
1399
-
1400
1086
  /**
1401
1087
  * Misc
1402
1088
  */
@@ -1756,6 +1442,19 @@ label > :where(input, select, textarea) {
1756
1442
  /**
1757
1443
  * Checkboxes, Radios and Switches
1758
1444
  */
1445
+ :where(:scope),
1446
+ :host {
1447
+ --pico-icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
1448
+ --pico-icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
1449
+ }
1450
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
1451
+ :host {
1452
+ --pico-switch-background-color: light-dark(#bfc7d9, #333c4e);
1453
+ --pico-switch-checked-background-color: var(--pico-primary-background);
1454
+ --pico-switch-color: #fff;
1455
+ --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
1456
+ }
1457
+
1759
1458
  label:has([type="checkbox"], [type="radio"]) {
1760
1459
  width: -moz-fit-content;
1761
1460
  width: fit-content;
@@ -1901,7 +1600,6 @@ label:has([type="checkbox"], [type="radio"]) {
1901
1600
  [type="checkbox"][role="switch"]:checked:focus[aria-invalid="true"] {
1902
1601
  --pico-border-color: var(--pico-form-element-invalid-border-color);
1903
1602
  }
1904
-
1905
1603
  /**
1906
1604
  * Input type color
1907
1605
  */
@@ -1919,10 +1617,15 @@ label:has([type="checkbox"], [type="radio"]) {
1919
1617
  border: 0;
1920
1618
  border-radius: calc(var(--pico-border-radius) * 0.5);
1921
1619
  }
1922
-
1923
1620
  /**
1924
1621
  * Input type datetime
1925
1622
  */
1623
+ :where(:scope),
1624
+ :host {
1625
+ --pico-icon-date: 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
1626
+ --pico-icon-time: 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
1627
+ }
1628
+
1926
1629
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is(
1927
1630
  [type="date"],
1928
1631
  [type="datetime-local"],
@@ -1968,7 +1671,6 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1968
1671
  :is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
1969
1672
  text-align: end;
1970
1673
  }
1971
-
1972
1674
  /**
1973
1675
  * Input type file
1974
1676
  */
@@ -1995,10 +1697,18 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1995
1697
  var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),
1996
1698
  0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
1997
1699
  }
1998
-
1999
1700
  /**
2000
1701
  * Input type range
2001
1702
  */
1703
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
1704
+ :host {
1705
+ --pico-range-border-color: light-dark(#dfe3eb, #202632);
1706
+ --pico-range-active-border-color: light-dark(#bfc7d9, #2a3140);
1707
+ --pico-range-thumb-border-color: var(--pico-background-color);
1708
+ --pico-range-thumb-color: var(--pico-secondary-background);
1709
+ --pico-range-thumb-active-color: var(--pico-primary-background);
1710
+ }
1711
+
2002
1712
  [type="range"] {
2003
1713
  -webkit-appearance: none;
2004
1714
  -moz-appearance: none;
@@ -2105,10 +1815,14 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
2105
1815
  [type="range"]:active::-ms-thumb {
2106
1816
  transform: scale(1.25);
2107
1817
  }
2108
-
2109
1818
  /**
2110
1819
  * Input type search
2111
1820
  */
1821
+ :where(:scope),
1822
+ :host {
1823
+ --pico-icon-search: 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='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
1824
+ }
1825
+
2112
1826
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"] {
2113
1827
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);
2114
1828
  background-image: var(--pico-icon-search);
@@ -2167,6 +1881,14 @@ input:not(
2167
1881
  /**
2168
1882
  * Accordion (<details>)
2169
1883
  */
1884
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
1885
+ :host {
1886
+ --pico-accordion-border-color: var(--pico-muted-border-color);
1887
+ --pico-accordion-active-summary-color: var(--pico-primary-hover);
1888
+ --pico-accordion-close-summary-color: var(--pico-color);
1889
+ --pico-accordion-open-summary-color: var(--pico-muted-color);
1890
+ }
1891
+
2170
1892
  details {
2171
1893
  display: block;
2172
1894
  margin-bottom: var(--pico-spacing);
@@ -2238,10 +1960,23 @@ details[open] > summary::after {
2238
1960
  float: left;
2239
1961
  background-position: left center;
2240
1962
  }
2241
-
2242
1963
  /**
2243
1964
  * Card (<article>)
2244
1965
  */
1966
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
1967
+ :host {
1968
+ --pico-card-background-color: light-dark(var(--pico-background-color), #181c25);
1969
+ --pico-card-border-color: light-dark(
1970
+ var(--pico-muted-border-color),
1971
+ var(--pico-card-background-color)
1972
+ );
1973
+ --pico-card-box-shadow: var(--pico-box-shadow);
1974
+ --pico-card-sectioning-background-color: light-dark(
1975
+ rgb(251, 251.5, 252.25),
1976
+ rgb(26, 30.5, 40.25)
1977
+ );
1978
+ }
1979
+
2245
1980
  article {
2246
1981
  margin-bottom: var(--pico-block-spacing-vertical);
2247
1982
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
@@ -2270,10 +2005,18 @@ article > footer {
2270
2005
  border-bottom-right-radius: var(--pico-border-radius);
2271
2006
  border-bottom-left-radius: var(--pico-border-radius);
2272
2007
  }
2273
-
2274
2008
  /**
2275
2009
  * Dropdown (details.dropdown)
2276
2010
  */
2011
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
2012
+ :host {
2013
+ --pico-dropdown-background-color: light-dark(#fff, #181c25);
2014
+ --pico-dropdown-border-color: light-dark(#eff1f4, #202632);
2015
+ --pico-dropdown-box-shadow: var(--pico-box-shadow);
2016
+ --pico-dropdown-color: var(--pico-color);
2017
+ --pico-dropdown-hover-background-color: light-dark(#eff1f4, #202632);
2018
+ }
2019
+
2277
2020
  details.dropdown {
2278
2021
  position: relative;
2279
2022
  border-bottom: none;
@@ -2454,6 +2197,44 @@ label > details.dropdown {
2454
2197
  /**
2455
2198
  * Group ([role="group"], [role="search"])
2456
2199
  */
2200
+ :where(:scope),
2201
+ :host {
2202
+ --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
2203
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
2204
+ var(--pico-primary-focus);
2205
+ --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
2206
+ }
2207
+ [role="search"]:has(
2208
+ button.secondary:focus,
2209
+ [type="submit"].secondary:focus,
2210
+ [type="button"].secondary:focus,
2211
+ [role="button"].secondary:focus
2212
+ ),
2213
+ [role="group"]:has(
2214
+ button.secondary:focus,
2215
+ [type="submit"].secondary:focus,
2216
+ [type="button"].secondary:focus,
2217
+ [role="button"].secondary:focus
2218
+ ) {
2219
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
2220
+ var(--pico-secondary-focus);
2221
+ }
2222
+ [role="search"]:has(
2223
+ button.contrast:focus,
2224
+ [type="submit"].contrast:focus,
2225
+ [type="button"].contrast:focus,
2226
+ [role="button"].contrast:focus
2227
+ ),
2228
+ [role="group"]:has(
2229
+ button.contrast:focus,
2230
+ [type="submit"].contrast:focus,
2231
+ [type="button"].contrast:focus,
2232
+ [role="button"].contrast:focus
2233
+ ) {
2234
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
2235
+ var(--pico-contrast-focus);
2236
+ }
2237
+
2457
2238
  [role="search"],
2458
2239
  [role="group"] {
2459
2240
  display: inline-flex;
@@ -2618,10 +2399,18 @@ label > details.dropdown {
2618
2399
  border-top-right-radius: 5rem;
2619
2400
  border-bottom-right-radius: 5rem;
2620
2401
  }
2621
-
2622
2402
  /**
2623
2403
  * Loading ([aria-busy=true])
2624
2404
  */
2405
+ :where(:scope),
2406
+ :host {
2407
+ --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");
2408
+ }
2409
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
2410
+ :host {
2411
+ --pico-loading-spinner-opacity: 0.5;
2412
+ }
2413
+
2625
2414
  [aria-busy="true"]:not(input, select, textarea, html, form) {
2626
2415
  white-space: nowrap;
2627
2416
  }
@@ -2654,6 +2443,19 @@ a[aria-busy="true"] {
2654
2443
  /**
2655
2444
  * Modal (<dialog>)
2656
2445
  */
2446
+ :where(:scope),
2447
+ :host {
2448
+ --pico-modal-overlay-backdrop-filter: blur(0.375rem);
2449
+ --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");
2450
+ }
2451
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
2452
+ :host {
2453
+ --pico-modal-overlay-background-color: light-dark(
2454
+ rgba(232, 234, 237, 0.75),
2455
+ rgba(7.5, 8.5, 10, 0.75)
2456
+ );
2457
+ }
2458
+
2657
2459
  :scope,
2658
2460
  :host {
2659
2461
  --pico-scrollbar-width: 0px;
@@ -2796,6 +2598,12 @@ dialog[open="false"] {
2796
2598
  /**
2797
2599
  * Nav
2798
2600
  */
2601
+ :where(:scope),
2602
+ :host {
2603
+ --pico-nav-element-spacing-horizontal: 0.5rem;
2604
+ --pico-nav-breadcrumb-divider: ">";
2605
+ }
2606
+
2799
2607
  :where(nav li)::before {
2800
2608
  float: left;
2801
2609
  content: "​";
@@ -2905,6 +2713,12 @@ aside li [role="button"] {
2905
2713
  /**
2906
2714
  * Progress
2907
2715
  */
2716
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
2717
+ :host {
2718
+ --pico-progress-background-color: light-dark(#dfe3eb, #202632);
2719
+ --pico-progress-color: var(--pico-primary-background);
2720
+ }
2721
+
2908
2722
  progress {
2909
2723
  display: inline-block;
2910
2724
  vertical-align: baseline;
@@ -2969,9 +2783,16 @@ progress::-moz-progress-bar {
2969
2783
  background-position: -200% 0;
2970
2784
  }
2971
2785
  }
2786
+
2972
2787
  /**
2973
2788
  * Tooltip ([data-tooltip])
2974
2789
  */
2790
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
2791
+ :host {
2792
+ --pico-tooltip-background-color: var(--pico-contrast-background);
2793
+ --pico-tooltip-color: var(--pico-contrast-inverse);
2794
+ }
2795
+
2975
2796
  [data-tooltip] {
2976
2797
  position: relative;
2977
2798
  }
@@ -3148,27 +2969,6 @@ progress::-moz-progress-bar {
3148
2969
  cursor: not-allowed;
3149
2970
  }
3150
2971
 
3151
- [aria-hidden="false"][hidden] {
3152
- display: initial;
3153
- }
3154
-
3155
- [aria-hidden="false"][hidden]:not(:focus) {
3156
- clip: rect(0, 0, 0, 0);
3157
- position: absolute;
3158
- }
3159
-
3160
- a,
3161
- area,
3162
- button,
3163
- input,
3164
- label,
3165
- select,
3166
- summary,
3167
- textarea,
3168
- [tabindex] {
3169
- -ms-touch-action: manipulation;
3170
- }
3171
-
3172
2972
  [dir="rtl"] {
3173
2973
  direction: rtl;
3174
2974
  }