css-zero 1.1.14 → 2.0.0

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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -5
  3. data/app/assets/stylesheets/css-zero/reset.css +30 -14
  4. data/app/assets/stylesheets/css-zero/transitions.css +8 -0
  5. data/app/assets/stylesheets/css-zero/utilities.css +9 -15
  6. data/app/assets/stylesheets/css-zero/variables.css +1 -1
  7. data/lib/css_zero/version.rb +1 -1
  8. data/lib/generators/css_zero/add/USAGE +1 -1
  9. data/lib/generators/css_zero/add/add_generator.rb +7 -1
  10. data/lib/generators/css_zero/add/resources.yml +54 -34
  11. data/lib/generators/css_zero/add/templates/app/assets/images/avatar.svg +1 -0
  12. data/lib/generators/css_zero/add/templates/app/assets/images/camera.svg +1 -1
  13. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-down-zinc-500.svg +1 -0
  14. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-down.svg +1 -1
  15. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-left.svg +1 -1
  16. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-right.svg +1 -1
  17. data/lib/generators/css_zero/add/templates/app/assets/images/chevrons-up-down.svg +1 -0
  18. data/lib/generators/css_zero/add/templates/app/assets/images/copy.svg +1 -1
  19. data/lib/generators/css_zero/add/templates/app/assets/images/download.svg +1 -1
  20. data/lib/generators/css_zero/add/templates/app/assets/images/ellipsis.svg +1 -1
  21. data/lib/generators/css_zero/add/templates/app/assets/images/eye-off.svg +1 -0
  22. data/lib/generators/css_zero/add/templates/app/assets/images/eye.svg +1 -1
  23. data/lib/generators/css_zero/add/templates/app/assets/images/grip-horizontal-zink-500.svg +1 -0
  24. data/lib/generators/css_zero/add/templates/app/assets/images/grip-vertical-zink-500.svg +1 -0
  25. data/lib/generators/css_zero/add/templates/app/assets/images/loading.svg +4 -0
  26. data/lib/generators/css_zero/add/templates/app/assets/images/menu.svg +1 -1
  27. data/lib/generators/css_zero/add/templates/app/assets/images/minus.svg +1 -1
  28. data/lib/generators/css_zero/add/templates/app/assets/images/moon.svg +1 -0
  29. data/lib/generators/css_zero/add/templates/app/assets/images/search.svg +1 -1
  30. data/lib/generators/css_zero/add/templates/app/assets/images/share.svg +1 -1
  31. data/lib/generators/css_zero/add/templates/app/assets/images/sun.svg +1 -0
  32. data/lib/generators/css_zero/add/templates/app/assets/images/x.svg +1 -1
  33. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +4 -8
  34. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +8 -11
  35. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +1 -3
  36. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +11 -2
  37. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/breadcrumb.css +1 -9
  38. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +12 -19
  39. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +4 -4
  40. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/carousel.css +5 -5
  41. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/color_scheme.css +33 -0
  42. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/combobox.css +3 -3
  43. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/command.css +2 -4
  44. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/datepicker.css +1 -1
  45. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +2 -6
  46. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dropzone.css +14 -13
  47. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/flash.css +3 -4
  48. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/group.css +33 -6
  49. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/icons.css +41 -0
  50. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input-clearable.css +7 -0
  51. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input-copyable.css +4 -0
  52. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input-revealable.css +7 -0
  53. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +24 -30
  54. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/menu.css +2 -4
  55. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +2 -2
  56. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +1 -5
  57. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/range.css +27 -0
  58. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/resizable.css +22 -7
  59. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sheet.css +2 -2
  60. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sidebar_menu.css +6 -8
  61. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/skeleton.css +1 -0
  62. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css +1 -1
  63. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/tabs.css +1 -1
  64. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/toggle.css +8 -10
  65. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/trix.css +24 -3
  66. data/lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js +10 -16
  67. data/lib/generators/css_zero/add/templates/app/javascript/controllers/back_navigation_controller.js +13 -0
  68. data/lib/generators/css_zero/add/templates/app/javascript/controllers/chart_controller.js +10 -14
  69. data/lib/generators/css_zero/add/templates/app/javascript/controllers/color_scheme_controller.js +26 -0
  70. data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js +1 -1
  71. data/lib/generators/css_zero/add/templates/app/javascript/controllers/context_menu_controller.js +5 -5
  72. data/lib/generators/css_zero/add/templates/app/javascript/controllers/datepicker_controller.js +0 -1
  73. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js +4 -4
  74. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dropzone_controller.js +1 -1
  75. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dual_range_controller.js +15 -0
  76. data/lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js +13 -9
  77. data/lib/generators/css_zero/add/templates/app/javascript/controllers/{copyable_input_controller.js → input_copyable_controller.js} +4 -4
  78. data/lib/generators/css_zero/add/templates/app/javascript/controllers/{revealable_input_controller.js → input_revealable_controller.js} +2 -2
  79. data/lib/generators/css_zero/add/templates/app/javascript/controllers/inputmask_controller.js +1 -1
  80. data/lib/generators/css_zero/add/templates/app/javascript/controllers/menu_controller.js +42 -7
  81. data/lib/generators/css_zero/add/templates/app/javascript/controllers/popover_controller.js +13 -13
  82. data/lib/generators/css_zero/add/templates/app/javascript/controllers/resizable_controller.js +31 -0
  83. data/lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js +1 -1
  84. data/lib/generators/css_zero/add/templates/app/javascript/controllers/timezone_cookie_controller.js +11 -0
  85. data/lib/generators/css_zero/add/templates/app/javascript/controllers/turbo_confirm_controller.js +1 -1
  86. data/lib/generators/css_zero/add/templates/app/javascript/controllers/{otp_input_controller.js → web_otp_controller.js} +5 -7
  87. data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +16 -51
  88. metadata +26 -15
  89. data/lib/generators/css_zero/add/templates/app/assets/images/arrow-left.svg +0 -1
  90. data/lib/generators/css_zero/add/templates/app/assets/images/arrow-right.svg +0 -1
  91. data/lib/generators/css_zero/add/templates/app/assets/images/circle-alert.svg +0 -1
  92. data/lib/generators/css_zero/add/templates/app/assets/images/default-picture.webp +0 -0
  93. data/lib/generators/css_zero/add/templates/app/assets/images/loader-circle.svg +0 -1
  94. data/lib/generators/css_zero/add/templates/app/assets/images/off.svg +0 -1
  95. data/lib/generators/css_zero/add/templates/app/assets/images/select-arrow.svg +0 -1
  96. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input_concerns.css +0 -19
  97. data/lib/generators/css_zero/add/templates/app/javascript/controllers/navigation_controller.js +0 -16
  98. /data/lib/generators/css_zero/add/templates/app/javascript/controllers/{clearable_input_controller.js → input_clearable_controller.js} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d12ea13a67b496f1781d2b19b1f7cdbe3571247ccfba8058e6f86224a78ca96
4
- data.tar.gz: 1205cd68c1a55d97f7f145d035176c0fe554f60191c7bdef3e6f1d14e62315ed
3
+ metadata.gz: d628d36d9cf6c6bd62e165bb74e76ba226cb438824f131bf58a8feb78dd116ca
4
+ data.tar.gz: 685ce250accb6575865a7a527203535a40a1619af7c2d1c6b5a36522a9b580c2
5
5
  SHA512:
6
- metadata.gz: 2e4be07882ae3121a041a18de96ddb6b9c9210b0e999b63271ac58645f1b7ae959cbc9b69aa38dd6fe15580899fed6949f80424b45026fb1d791efe1a2a09d07
7
- data.tar.gz: 6ea61906b720da2f4a391768eca9844113f4f8ab7891917d71a0f473d7439ff0a3a79696752342030229e953424fbb88f1c7e952a6dff229de72baaf1d586785
6
+ metadata.gz: dc3269f7abefbf85ff31df3bbecb2861d3456efb5b7f5d25cf2f8b6052fad64509cf1d53b18d16a134a3db07e168e1753753cdf6d081c0fbba891065d0ca5c13
7
+ data.tar.gz: 805eddba51906ccc77195b635a57327fd3f482cdfd92b2695306a80aa9543e7e90d6bab609f9c2521194d7e8760bb7b73c8a11e15a1f1492b0b3b54a405ab8e7
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # CSS Zero
2
2
 
3
- An opinionated CSS starter kit for your Ruby on Rails application. You can think of it like a "no build" Tailwind CSS.
3
+ An opinionated front-end starter kit for your Ruby on Rails application. You can think of it like a "no build" Tailwind CSS.
4
4
 
5
5
  ## Installation
6
6
 
@@ -10,6 +10,12 @@ Add this gem to your project.
10
10
  bundle add css-zero
11
11
  ```
12
12
 
13
+ Or install directly from GitHub.
14
+
15
+ ```
16
+ bundle add css-zero --github=lazaronixon/css-zero
17
+ ```
18
+
13
19
  Run the install command.
14
20
 
15
21
  ```
@@ -30,10 +36,6 @@ bin/rails generate css_zero:add --help
30
36
 
31
37
  Check the [CSS files](app/assets/stylesheets/css-zero) in the repository to see the available variables and utility classes.
32
38
 
33
- ## Icons
34
-
35
- If you're looking for high-quality icons, I recommend checking out [Lucide](https://lucide.dev).
36
-
37
39
  ## Scaffold
38
40
 
39
41
  This gem implements custom templates for scaffolds and authentication.
@@ -271,7 +271,7 @@ textarea,
271
271
 
272
272
  ::placeholder {
273
273
  opacity: 1; /* 1 */
274
- color: color-mix(in oklab, currentColor 50%, transparent); /* 2 */
274
+ color: color-mix(in oklab, currentcolor 50%, transparent); /* 2 */
275
275
  }
276
276
 
277
277
  /*
@@ -328,6 +328,14 @@ textarea {
328
328
  padding-block: 0;
329
329
  }
330
330
 
331
+ /*
332
+ Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
333
+ */
334
+
335
+ ::-webkit-calendar-picker-indicator {
336
+ line-height: 1;
337
+ }
338
+
331
339
  /*
332
340
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
333
341
  */
@@ -380,35 +388,35 @@ turbo-frame {
380
388
  }
381
389
 
382
390
  /*
383
- Enables size interpolation to allow animation.
391
+ Make field with errors become pseudo-box by default.
384
392
  */
385
393
 
386
- :root {
387
- interpolate-size: allow-keywords;
394
+ .field_with_errors {
395
+ display: contents;
388
396
  }
389
397
 
390
398
  /*
391
- Set color scheme to light and dark.
399
+ Make invalid-feedback become hidden by default.
392
400
  */
393
401
 
394
- :root {
395
- color-scheme: light dark;
402
+ .invalid-feedback {
403
+ display: none;
396
404
  }
397
405
 
398
406
  /*
399
- Correct the arrow style of datalist in Chrome.
407
+ Enables size interpolation to allow animation.
400
408
  */
401
409
 
402
- ::-webkit-calendar-picker-indicator {
403
- line-height: 1em;
410
+ :root {
411
+ interpolate-size: allow-keywords;
404
412
  }
405
413
 
406
414
  /*
407
- Restore space between options.
415
+ Set color scheme to light and dark.
408
416
  */
409
417
 
410
- option {
411
- padding: 2px 4px;
418
+ :root {
419
+ color-scheme: light dark;
412
420
  }
413
421
 
414
422
  /*
@@ -424,9 +432,17 @@ html:has(dialog:modal[open]) {
424
432
  */
425
433
 
426
434
  @media (prefers-reduced-motion: reduce) {
427
- *, ::before, ::after, ::backdrop {
435
+ *,
436
+ *::before,
437
+ *::after,
438
+ *::backdrop {
428
439
  animation-duration: 0.01ms !important;
429
440
  animation-iteration-count: 1 !important;
430
441
  transition-duration: 0.01ms !important;
442
+ scroll-behavior: auto !important;
443
+ }
444
+
445
+ html {
446
+ scroll-behavior: initial;
431
447
  }
432
448
  }
@@ -32,41 +32,49 @@
32
32
  --ease-3: cubic-bezier(.25, 0, .3, 1);
33
33
  --ease-4: cubic-bezier(.25, 0, .2, 1);
34
34
  --ease-5: cubic-bezier(.25, 0, .1, 1);
35
+
35
36
  --ease-in-1: cubic-bezier(.25, 0, 1, 1);
36
37
  --ease-in-2: cubic-bezier(.50, 0, 1, 1);
37
38
  --ease-in-3: cubic-bezier(.70, 0, 1, 1);
38
39
  --ease-in-4: cubic-bezier(.90, 0, 1, 1);
39
40
  --ease-in-5: cubic-bezier(1, 0, 1, 1);
41
+
40
42
  --ease-out-1: cubic-bezier(0, 0, .75, 1);
41
43
  --ease-out-2: cubic-bezier(0, 0, .50, 1);
42
44
  --ease-out-3: cubic-bezier(0, 0, .3, 1);
43
45
  --ease-out-4: cubic-bezier(0, 0, .1, 1);
44
46
  --ease-out-5: cubic-bezier(0, 0, 0, 1);
47
+
45
48
  --ease-in-out-1: cubic-bezier(.1, 0, .9, 1);
46
49
  --ease-in-out-2: cubic-bezier(.3, 0, .7, 1);
47
50
  --ease-in-out-3: cubic-bezier(.5, 0, .5, 1);
48
51
  --ease-in-out-4: cubic-bezier(.7, 0, .3, 1);
49
52
  --ease-in-out-5: cubic-bezier(.9, 0, .1, 1);
53
+
50
54
  --ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);
51
55
  --ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);
52
56
  --ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);
53
57
  --ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);
54
58
  --ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);
59
+
55
60
  --ease-elastic-in-1: cubic-bezier(.5, -0.25, .75, 1);
56
61
  --ease-elastic-in-2: cubic-bezier(.5, -0.50, .75, 1);
57
62
  --ease-elastic-in-3: cubic-bezier(.5, -0.75, .75, 1);
58
63
  --ease-elastic-in-4: cubic-bezier(.5, -1.00, .75, 1);
59
64
  --ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);
65
+
60
66
  --ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);
61
67
  --ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);
62
68
  --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
63
69
  --ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);
64
70
  --ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);
71
+
65
72
  --ease-spring-1: linear(0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%, 0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001);
66
73
  --ease-spring-2: linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1);
67
74
  --ease-spring-3: linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, 0.991, 0.977 51%, 0.974 53.8%, 0.975 57.1%, 0.997 69.8%, 1.003 76.9%, 1);
68
75
  --ease-spring-4: linear(0, 0.009, 0.037 1.7%, 0.153 3.6%, 0.776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, 0.973, 0.955 39.2%, 0.953 41.1%, 0.957 43.3%, 0.998 53.3%, 1.009 59.1% 63.7%, 0.998 78.9%, 1);
69
76
  --ease-spring-5: linear(0, 0.01, 0.04 1.6%, 0.161 3.3%, 0.816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, 0.999 29.4%, 0.955 32.1%, 0.942, 0.935 34.9%, 0.933, 0.939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, 0.996 70.2%, 1.001 87.2%, 1);
77
+
70
78
  --ease-bounce-1: linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141, 0.191, 0.25, 0.316, 0.391 36.8%, 0.563, 0.766, 1 58.8%, 0.946, 0.908 69.1%, 0.895, 0.885, 0.879, 0.878, 0.879, 0.885, 0.895, 0.908 89.7%, 0.946, 1);
71
79
  --ease-bounce-2: linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141 15.1%, 0.25, 0.391, 0.562, 0.765, 1, 0.892 45.2%, 0.849, 0.815, 0.788, 0.769, 0.757, 0.753, 0.757, 0.769, 0.788, 0.815, 0.85, 0.892 75.2%, 1 80.2%, 0.973, 0.954, 0.943, 0.939, 0.943, 0.954, 0.973, 1);
72
80
  --ease-bounce-3: linear(0, 0.004, 0.016, 0.035, 0.062, 0.098, 0.141 11.4%, 0.25, 0.39, 0.562, 0.764, 1 30.3%, 0.847 34.8%, 0.787, 0.737, 0.699, 0.672, 0.655, 0.65, 0.656, 0.672, 0.699, 0.738, 0.787, 0.847 61.7%, 1 66.2%, 0.946, 0.908, 0.885 74.2%, 0.879, 0.878, 0.879, 0.885 79.5%, 0.908, 0.946, 1 87.4%, 0.981, 0.968, 0.96, 0.957, 0.96, 0.968, 0.981, 1);
@@ -7,13 +7,14 @@
7
7
  .inline-flex { display: inline-flex; }
8
8
 
9
9
  .justify-start { justify-content: start; }
10
- .justify-center { justify-content: center; }
11
10
  .justify-end { justify-content: end; }
11
+ .justify-center { justify-content: center; }
12
12
  .justify-between { justify-content: space-between; }
13
13
 
14
14
  .items-start { align-items: start; }
15
15
  .items-end { align-items: end; }
16
16
  .items-center { align-items: center; }
17
+ .items-baseline { align-items: baseline; }
17
18
 
18
19
  .grow { flex-grow: 1; }
19
20
  .grow-0 { flex-grow: 0; }
@@ -26,7 +27,7 @@
26
27
  .self-center { align-self: center; }
27
28
 
28
29
  .gap { column-gap: var(--column-gap, 0.5rem); row-gap: var(--row-gap, 1rem); }
29
- .gap-half { column-gap: 0.25rem; row-gap: 0.5rem; }
30
+ .gap-half { column-gap: var(--column-gap, 0.25rem); row-gap: var(--row-gap, 0.5rem); }
30
31
 
31
32
  /****************************************************************
32
33
  * Text
@@ -36,10 +37,8 @@
36
37
  .font-semibold { font-weight: var(--font-semibold); }
37
38
  .font-bold { font-weight: var(--font-bold); }
38
39
 
39
- .underline { text-decoration: underline; }
40
- .no-underline { text-decoration: none; }
41
-
42
40
  .uppercase { text-transform: uppercase; }
41
+ .capitalize { text-transform: capitalize; }
43
42
  .normal-case { text-transform: none; }
44
43
 
45
44
  .whitespace-nowrap { white-space: nowrap; }
@@ -63,9 +62,10 @@
63
62
 
64
63
  .text-primary { color: var(--color-text); }
65
64
  .text-reversed { color: var(--color-text-reversed); }
66
- .text-negative { color: var(--color-negative); }
67
- .text-positive { color: var(--color-positive); }
68
65
  .text-subtle { color: var(--color-text-subtle); }
66
+ .text-positive { color: var(--color-positive); }
67
+ .text-negative { color: var(--color-negative); }
68
+ .text-link { color: var(--color-link); text-decoration: underline; }
69
69
 
70
70
  .text-xs { font-size: var(--text-xs); }
71
71
  .text-sm { font-size: var(--text-sm); }
@@ -92,16 +92,10 @@
92
92
  .bg-black { background-color: var(--color-text); }
93
93
  .bg-white { background-color: var(--color-text-reversed); }
94
94
  .bg-shade { background-color: var(--color-border-light); }
95
+ .bg-selected { background-color: var(--color-selected); }
96
+ .bg-highlight { background-color: var(--color-highlight); }
95
97
  .bg-transparent { background-color: transparent; }
96
98
 
97
- /****************************************************************
98
- * SVG colors
99
- *****************************************************************/
100
- .colorize-black { filter: var(--color-filter-text); }
101
- .colorize-white { filter: var(--color-filter-text-reversed); }
102
- .colorize-negative { filter: var(--color-filter-negative); }
103
- .colorize-positive { filter: var(--color-filter-positive); }
104
-
105
99
  /****************************************************************
106
100
  * Border
107
101
  *****************************************************************/
@@ -6,4 +6,4 @@
6
6
  @import url("sizes.css");
7
7
  @import url("transforms.css");
8
8
  @import url("transitions.css");
9
- @import url("typography.css");
9
+ @import url("typography.css");
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "1.1.14"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -2,7 +2,7 @@ Description:
2
2
  This will add components into your project.
3
3
 
4
4
  Components:
5
- accordion alert autoanimate autosave avatar badge breadcrumb button card carousel chart check_all combobox command collapsible datepicker dialog dropdown dropzone flash form fullscreen group hotkey input input_concerns inputmask layouts lightbox local_time navigation pagination popover progress prose resizable sheet skeleton sortable switch table tabs trix turbo_confirm upload_preview toggle web_share
5
+ accordion alert autoanimate autosave autoselect avatar back_navigation badge breadcrumb button card carousel chart check_all collapsible color_scheme combobox command context_menu datepicker dialog dropdown dropzone dual_range flash form fullscreen group hotkey icons input input_clearable input_copyable input_revealable inputmask layouts lightbox local_time popover progress prose resizable sheet skeleton sortable switch table tabs timezone_cookie trix turbo_confirm upload_preview toggle web_otp web_share
6
6
 
7
7
  Example:
8
8
  bin/rails generate css_zero:add [components...]
@@ -12,12 +12,18 @@ class CssZero::AddGenerator < Rails::Generators::Base
12
12
  private
13
13
  def copy_resources_for(component)
14
14
  if resources.has_key?(component)
15
- resources[component].each { |resource| copy_file(resource) }
15
+ copy_resources(resources, component)
16
16
  else
17
17
  say_status :invalid, component, :red
18
18
  end
19
19
  end
20
20
 
21
+ def copy_resources(resources, component)
22
+ resources[component].each do |resource|
23
+ resource.end_with?('/') ? directory(resource) : copy_file(resource)
24
+ end
25
+ end
26
+
21
27
  def resources
22
28
  @resources ||= YAML.load_file(resources_path)
23
29
  end
@@ -7,50 +7,56 @@ autoanimate:
7
7
  - app/assets/stylesheets/autoanimate.css
8
8
  autosave:
9
9
  - app/javascript/controllers/autosave_controller.js
10
+ autoselect:
11
+ - app/javascript/controllers/autoselect_controller.js
10
12
  avatar:
11
13
  - app/assets/stylesheets/avatar.css
14
+ back_navigation:
15
+ - app/javascript/controllers/back_navigation_controller.js
12
16
  badge:
13
17
  - app/assets/stylesheets/badge.css
14
18
  breadcrumb:
15
19
  - app/assets/stylesheets/breadcrumb.css
16
- - app/assets/images/chevron-right.svg
17
20
  button:
18
21
  - app/assets/stylesheets/button.css
19
- - app/assets/images/loader-circle.svg
22
+ - app/assets/images/loading.svg
20
23
  card:
21
24
  - app/assets/stylesheets/card.css
22
25
  carousel:
23
26
  - app/assets/stylesheets/carousel.css
24
27
  - app/javascript/controllers/carousel_controller.js
25
- - app/assets/images/arrow-left.svg
26
- - app/assets/images/arrow-right.svg
27
28
  chart:
28
29
  - app/javascript/controllers/chart_controller.js
29
30
  check_all:
30
31
  - app/javascript/controllers/check_all_controller.js
32
+ color_scheme:
33
+ - app/assets/stylesheets/color_scheme.css
34
+ - app/javascript/controllers/color_scheme_controller.js
31
35
  collapsible:
32
36
  - app/javascript/controllers/collapsible_controller.js
33
37
  combobox:
34
38
  - app/assets/stylesheets/combobox.css
35
39
  - app/javascript/controllers/combobox_controller.js
36
- - app/assets/images/select-arrow.svg
40
+ - app/assets/images/chevron-down-zinc-500.svg
37
41
  command:
38
42
  - app/assets/stylesheets/command.css
39
43
  - app/javascript/controllers/command_controller.js
40
- - app/assets/images/search.svg
44
+ context_menu:
45
+ - app/assets/stylesheets/popover.css
46
+ - app/javascript/controllers/popover_controller.js
47
+ - app/assets/stylesheets/menu.css
48
+ - app/javascript/controllers/context_menu_controller.js
41
49
  datepicker:
42
50
  - app/assets/stylesheets/datepicker.css
43
51
  - app/javascript/controllers/datepicker_controller.js
44
52
  dialog:
45
53
  - app/assets/stylesheets/dialog.css
46
54
  - app/javascript/controllers/dialog_controller.js
47
- - app/assets/images/x.svg
48
55
  dropdown:
49
56
  - app/assets/stylesheets/popover.css
50
57
  - app/javascript/controllers/popover_controller.js
51
58
  - app/assets/stylesheets/menu.css
52
59
  - app/javascript/controllers/menu_controller.js
53
- - app/javascript/controllers/context_menu_controller.js
54
60
  dropzone:
55
61
  - app/assets/stylesheets/dropzone.css
56
62
  - app/javascript/controllers/dropzone_controller.js
@@ -65,42 +71,49 @@ group:
65
71
  - app/assets/stylesheets/group.css
66
72
  hotkey:
67
73
  - app/javascript/controllers/hotkey_controller.js
68
- input:
69
- - app/assets/stylesheets/input.css
70
- - app/assets/images/select-arrow.svg
71
- input_concerns:
72
- - app/assets/stylesheets/input_concerns.css
73
- - app/javascript/controllers/autoselect_controller.js
74
- - app/javascript/controllers/copyable_input_controller.js
75
- - app/assets/images/copy.svg
76
- - app/javascript/controllers/clearable_input_controller.js
74
+ icons:
75
+ - app/assets/stylesheets/icons.css
76
+ - app/assets/images/loading.svg
77
+ - app/assets/images/chevron-left.svg
78
+ - app/assets/images/chevron-right.svg
79
+ - app/assets/images/ellipsis.svg
80
+ - app/assets/images/chevrons-up-down.svg
81
+ - app/assets/images/menu.svg
77
82
  - app/assets/images/x.svg
78
- - app/javascript/controllers/revealable_input_controller.js
83
+ - app/assets/images/search.svg
79
84
  - app/assets/images/eye.svg
80
- - app/assets/images/off.svg
81
- - app/javascript/controllers/otp_input_controller.js
85
+ - app/assets/images/eye-off.svg
86
+ - app/assets/images/copy.svg
87
+ - app/assets/images/download.svg
88
+ - app/assets/images/share.svg
89
+ - app/assets/images/camera.svg
90
+ - app/assets/images/minus.svg
91
+ - app/assets/images/sun.svg
92
+ - app/assets/images/moon.svg
93
+ input:
94
+ - app/assets/stylesheets/input.css
95
+ - app/assets/images/chevron-down-zinc-500.svg
96
+ input_clearable:
97
+ - app/javascript/controllers/input_clearable_controller.js
98
+ - app/assets/stylesheets/input-clearable.css
99
+ input_copyable:
100
+ - app/javascript/controllers/input_copyable_controller.js
101
+ - app/assets/stylesheets/input-copyable.css
102
+ input_revealable:
103
+ - app/javascript/controllers/input_revealable_controller.js
104
+ - app/assets/stylesheets/input-revealable.css
82
105
  inputmask:
83
106
  - app/javascript/controllers/inputmask_controller.js
84
107
  layouts:
85
108
  - app/assets/stylesheets/layouts.css
86
109
  - app/assets/stylesheets/sidebar_menu.css
87
- - app/assets/images/menu.svg
88
110
  - app/assets/images/chevron-right.svg
89
111
  lightbox:
90
112
  - app/assets/stylesheets/lightbox.css
91
113
  - app/javascript/controllers/lightbox_controller.js
92
114
  - app/javascript/controllers/web_share_controller.js
93
- - app/assets/images/download.svg
94
- - app/assets/images/share.svg
95
- - app/assets/images/x.svg
96
115
  local_time:
97
116
  - app/javascript/controllers/local_time_controller.js
98
- navigation:
99
- - app/javascript/controllers/navigation_controller.js
100
- pagination:
101
- - app/assets/images/chevron-right.svg
102
- - app/assets/images/chevron-left.svg
103
- - app/assets/images/ellipsis.svg
104
117
  popover:
105
118
  - app/assets/stylesheets/popover.css
106
119
  - app/javascript/controllers/popover_controller.js
@@ -108,12 +121,17 @@ progress:
108
121
  - app/assets/stylesheets/progress.css
109
122
  prose:
110
123
  - app/assets/stylesheets/prose.css
124
+ range:
125
+ - app/assets/stylesheets/range.css
126
+ - app/javascript/controllers/dual_range_controller.js
111
127
  resizable:
112
128
  - app/assets/stylesheets/resizable.css
129
+ - app/assets/stylesheets/resizable_controller.js
130
+ - app/assets/images/grip-horizontal-zink-500.svg
131
+ - app/assets/images/grip-vertical-zink-500.svg
113
132
  sheet:
114
133
  - app/assets/stylesheets/sheet.css
115
134
  - app/javascript/controllers/dialog_controller.js
116
- - app/assets/images/x.svg
117
135
  skeleton:
118
136
  - app/assets/stylesheets/skeleton.css
119
137
  sortable:
@@ -125,6 +143,8 @@ table:
125
143
  tabs:
126
144
  - app/assets/stylesheets/tabs.css
127
145
  - app/javascript/controllers/tabs_controller.js
146
+ timezone_cookie:
147
+ - app/javascript/controllers/timezone_cookie_controller.js
128
148
  toggle:
129
149
  - app/assets/stylesheets/toggle.css
130
150
  trix:
@@ -134,8 +154,8 @@ turbo_confirm:
134
154
  - app/javascript/controllers/turbo_confirm_controller.js
135
155
  upload_preview:
136
156
  - app/javascript/controllers/upload_preview_controller.js
137
- - app/assets/images/default-picture.webp
138
- - app/assets/images/camera.svg
139
- - app/assets/images/minus.svg
157
+ - app/assets/images/avatar.svg
158
+ web_otp:
159
+ - app/javascript/controllers/web_otp_controller.js
140
160
  web_share:
141
161
  - app/javascript/controllers/web_share_controller.js
@@ -0,0 +1 @@
1
+ <svg enable-background="new 0 0 17 17" viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h17v17h-17z" fill="#fff"/><path d="m0 0h17v17h-17z" fill-opacity=".33"/><path d="m10.9 11.9-.5-.2c-.2-.4-.2-.8-.1-1.2.9-.9 1.3-2.1 1.2-3.3 0-1.8-1.3-3.2-3.1-3.2s-3 1.4-3 3.2c-.1 1.1.3 2.4 1.2 3.3.2.4.2.8-.1 1.2l-.5.2c-1.9.7-3.4 1.1-3.9 2-.3.9-.6 1.8-.6 2.7 0 .2.2.4.4.4h12.9c.2 0 .4-.2.4-.4 0-.9-.2-1.8-.6-2.7-.3-.8-1.8-1.3-3.7-2z" fill-opacity=".5"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera"><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera-icon lucide-camera"><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#71717a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left-icon lucide-chevron-left"><path d="m15 18-6-6 6-6"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right"><path d="m9 18 6-6-6-6"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-up-down-icon lucide-chevrons-up-down"><path d="m7 15 5 5 5-5"/><path d="m7 9 5-5 5 5"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy-icon lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download-icon lucide-download"><path d="M12 15V3"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-icon lucide-ellipsis"><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye-off-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"/><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"/><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"/><path d="m2 2 20 20"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#71717a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-horizontal-icon lucide-grip-horizontal"><circle cx="12" cy="9" r="1"/><circle cx="19" cy="9" r="1"/><circle cx="5" cy="9" r="1"/><circle cx="12" cy="15" r="1"/><circle cx="19" cy="15" r="1"/><circle cx="5" cy="15" r="1"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#71717a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical-icon lucide-grip-vertical"><circle cx="9" cy="12" r="1"/><circle cx="9" cy="5" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="19" r="1"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
+ <circle opacity=".25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
3
+ <path opacity=".75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
4
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu-icon lucide-menu"><path d="M4 12h16"/><path d="M4 18h16"/><path d="M4 6h16"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-minus"><path d="M5 12h14"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-minus-icon lucide-minus"><path d="M5 12h14"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon-icon lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search-icon lucide-search"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-share"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"/><polyline points="16 6 12 2 8 6"/><line x1="12" x2="12" y1="2" y2="15"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-share-icon lucide-share"><path d="M12 2v13"/><path d="m16 6-4-4-4 4"/><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun-icon lucide-sun"><circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>
@@ -1,4 +1,4 @@
1
- .accordion {
1
+ :where(.accordion) {
2
2
  details {
3
3
  border-block-end-width: var(--border);
4
4
  font-size: var(--text-sm);
@@ -31,18 +31,14 @@
31
31
  outline: var(--border-2) auto var(--color-selected-dark);
32
32
  }
33
33
 
34
- &::-webkit-details-marker {
35
- display: none;
36
- }
37
-
38
34
  &::after {
39
- background-image: url("chevron-down.svg");
40
- background-size: cover;
35
+ background-color: currentColor;
41
36
  block-size: var(--size-4);
42
37
  content: "";
43
- filter: var(--color-filter-text);
44
38
  inline-size: var(--size-4);
45
39
  margin-inline-start: auto;
40
+ mask-image: url("chevron-down.svg");
41
+ mask-size: cover;
46
42
  transition: transform var(--time-200);
47
43
  }
48
44