css-zero 3.0.1 → 4.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +807 -0
  3. data/LICENSE.txt +21 -0
  4. data/app/assets/stylesheets/css-zero/animations.css +50 -50
  5. data/app/assets/stylesheets/css-zero/effects.css +14 -7
  6. data/app/assets/stylesheets/css-zero/filters.css +33 -41
  7. data/app/assets/stylesheets/css-zero/reset.css +19 -17
  8. data/app/assets/stylesheets/css-zero/transitions.css +12 -0
  9. data/app/assets/stylesheets/css-zero/typography.css +5 -2
  10. data/app/assets/stylesheets/css-zero/utilities.css +20 -23
  11. data/lib/css_zero/version.rb +1 -1
  12. data/lib/generators/css_zero/add/USAGE +1 -1
  13. data/lib/generators/css_zero/add/resources.yml +17 -13
  14. data/lib/generators/css_zero/add/templates/app/assets/images/{menu.svg → panel-left.svg} +1 -1
  15. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +16 -6
  16. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +1 -1
  17. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/autoanimate.css +2 -1
  18. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +11 -11
  19. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +2 -3
  20. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +19 -9
  21. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +1 -1
  22. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/carousel.css +2 -2
  23. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/combobox.css +21 -17
  24. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/command.css +8 -15
  25. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/datepicker.css +27 -19
  26. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +14 -9
  27. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dropzone.css +1 -1
  28. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/flash.css +49 -30
  29. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/group.css +4 -0
  30. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/icons.css +2 -2
  31. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +1 -1
  32. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input_clearable.css +1 -1
  33. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/keyboard.css +21 -0
  34. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/layouts.css +7 -1
  35. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lexxy.css +46 -0
  36. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lightbox.css +2 -2
  37. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/list.css +1 -1
  38. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/menu.css +5 -3
  39. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css +17 -0
  40. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/popover.css +51 -5
  41. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +8 -8
  42. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/separator.css +4 -4
  43. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sheet.css +18 -12
  44. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sidebar_menu.css +3 -1
  45. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css +17 -7
  46. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/tabs.css +24 -8
  47. data/lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js +1 -1
  48. data/lib/generators/css_zero/add/templates/app/javascript/controllers/chart_controller.js +22 -5
  49. data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js +4 -4
  50. data/lib/generators/css_zero/add/templates/app/javascript/controllers/command_controller.js +5 -0
  51. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js +3 -5
  52. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dropzone_controller.js +2 -2
  53. data/lib/generators/css_zero/add/templates/app/javascript/controllers/flash_controller.js +1 -1
  54. data/lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js +4 -0
  55. data/lib/generators/css_zero/add/templates/app/javascript/controllers/interest_controller.js +27 -0
  56. data/lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js +2 -2
  57. data/lib/generators/css_zero/add/templates/app/javascript/controllers/sound_controller.js +70 -0
  58. data/lib/generators/css_zero/add/templates/app/javascript/controllers/toggle_class_controller.js +17 -0
  59. data/lib/generators/css_zero/authentication/templates/app/views/passwords/edit.html.erb.tt +1 -1
  60. data/lib/generators/css_zero/authentication/templates/app/views/passwords/new.html.erb.tt +1 -1
  61. data/lib/generators/css_zero/authentication/templates/app/views/sessions/new.html.erb.tt +2 -2
  62. data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +2 -3
  63. data/lib/generators/css_zero/install/templates/app/views/layouts/application.html.erb +2 -2
  64. data/lib/generators/css_zero/scaffold/templates/index.html.erb.tt +1 -1
  65. data/lib/generators/css_zero/scaffold/templates/partial.html.erb.tt +2 -2
  66. metadata +26 -7
  67. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +0 -140
  68. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/trix.css +0 -210
  69. data/lib/generators/css_zero/add/templates/app/javascript/controllers/popover_controller.js +0 -55
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2024 Nixon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -3,91 +3,91 @@
3
3
  *****************************************************************/
4
4
 
5
5
  :root {
6
- --animate-fade-in: fade-in .5s var(--ease-3);
7
- --animate-fade-in-bloom: fade-in-bloom 2s var(--ease-3);
8
- --animate-fade-out: fade-out .5s var(--ease-3);
9
- --animate-fade-out-bloom: fade-out-bloom 2s var(--ease-3);
10
- --animate-scale-up: scale-up .5s var(--ease-3);
11
- --animate-scale-down: scale-down .5s var(--ease-3);
12
- --animate-slide-out-up: slide-out-up .5s var(--ease-3);
13
- --animate-slide-out-down: slide-out-down .5s var(--ease-3);
14
- --animate-slide-out-right: slide-out-right .5s var(--ease-3);
15
- --animate-slide-out-left: slide-out-left .5s var(--ease-3);
16
- --animate-slide-in-up: slide-in-up .5s var(--ease-3);
17
- --animate-slide-in-down: slide-in-down .5s var(--ease-3);
18
- --animate-slide-in-right: slide-in-right .5s var(--ease-3);
19
- --animate-slide-in-left: slide-in-left .5s var(--ease-3);
20
- --animate-shake-x: shake-x .75s var(--ease-out-5);
21
- --animate-shake-y: shake-y .75s var(--ease-out-5);
22
- --animate-shake-z: shake-z 1s var(--ease-in-out-3);
23
- --animate-spin: spin 2s linear infinite;
24
- --animate-ping: ping 5s var(--ease-out-3) infinite;
25
- --animate-blink: blink 1s var(--ease-out-3) infinite;
26
- --animate-float: float 3s var(--ease-in-out-3) infinite;
27
- --animate-bounce: bounce 2s var(--ease-squish-2) infinite;
28
- --animate-pulse: pulse 2s var(--ease-out-3) infinite;
29
- }
30
-
31
- @keyframes fade-in {
6
+ --animate-fade-in: x-fade-in .5s var(--ease-3);
7
+ --animate-fade-in-bloom: x-fade-in-bloom 2s var(--ease-3);
8
+ --animate-fade-out: x-fade-out .5s var(--ease-3);
9
+ --animate-fade-out-bloom: x-fade-out-bloom 2s var(--ease-3);
10
+ --animate-scale-up: x-scale-up .5s var(--ease-3);
11
+ --animate-scale-down: x-scale-down .5s var(--ease-3);
12
+ --animate-slide-out-up: x-slide-out-up .5s var(--ease-3);
13
+ --animate-slide-out-down: x-slide-out-down .5s var(--ease-3);
14
+ --animate-slide-out-right: x-slide-out-right .5s var(--ease-3);
15
+ --animate-slide-out-left: x-slide-out-left .5s var(--ease-3);
16
+ --animate-slide-in-up: x-slide-in-up .5s var(--ease-3);
17
+ --animate-slide-in-down: x-slide-in-down .5s var(--ease-3);
18
+ --animate-slide-in-right: x-slide-in-right .5s var(--ease-3);
19
+ --animate-slide-in-left: x-slide-in-left .5s var(--ease-3);
20
+ --animate-shake-x: x-shake-x .75s var(--ease-out-5);
21
+ --animate-shake-y: x-shake-y .75s var(--ease-out-5);
22
+ --animate-shake-z: x-shake-z 1s var(--ease-in-out-3);
23
+ --animate-spin: x-spin 2s linear infinite;
24
+ --animate-ping: x-ping 5s var(--ease-out-3) infinite;
25
+ --animate-blink: x-blink 1s var(--ease-out-3) infinite;
26
+ --animate-float: x-float 3s var(--ease-in-out-3) infinite;
27
+ --animate-bounce: x-bounce 2s var(--ease-squish-2) infinite;
28
+ --animate-pulse: x-pulse 2s var(--ease-out-3) infinite;
29
+ }
30
+
31
+ @keyframes x-fade-in {
32
32
  to { opacity: 1 }
33
33
  }
34
34
 
35
- @keyframes fade-in-bloom {
35
+ @keyframes x-fade-in-bloom {
36
36
  0% { opacity: 0; filter: brightness(1) blur(20px) }
37
37
  10% { opacity: 1; filter: brightness(2) blur(10px) }
38
38
  100% { opacity: 1; filter: brightness(1) blur(0) }
39
39
  }
40
40
 
41
- @keyframes fade-out {
41
+ @keyframes x-fade-out {
42
42
  to { opacity: 0 }
43
43
  }
44
44
 
45
- @keyframes fade-out-bloom {
45
+ @keyframes x-fade-out-bloom {
46
46
  100% { opacity: 0; filter: brightness(1) blur(20px) }
47
47
  10% { opacity: 1; filter: brightness(2) blur(10px) }
48
48
  0% { opacity: 1; filter: brightness(1) blur(0) }
49
49
  }
50
- @keyframes scale-up {
50
+ @keyframes x-scale-up {
51
51
  to { transform: scale(1.25) }
52
52
  }
53
53
 
54
- @keyframes scale-down {
54
+ @keyframes x-scale-down {
55
55
  to { transform: scale(.75) }
56
56
  }
57
57
 
58
- @keyframes slide-out-up {
58
+ @keyframes x-slide-out-up {
59
59
  to { transform: translateY(-100%) }
60
60
  }
61
61
 
62
- @keyframes slide-out-down {
62
+ @keyframes x-slide-out-down {
63
63
  to { transform: translateY(100%) }
64
64
  }
65
65
 
66
- @keyframes slide-out-right {
66
+ @keyframes x-slide-out-right {
67
67
  to { transform: translateX(100%) }
68
68
  }
69
69
 
70
- @keyframes slide-out-left {
70
+ @keyframes x-slide-out-left {
71
71
  to { transform: translateX(-100%) }
72
72
  }
73
73
 
74
- @keyframes slide-in-up {
74
+ @keyframes x-slide-in-up {
75
75
  from { transform: translateY(100%) }
76
76
  }
77
77
 
78
- @keyframes slide-in-down {
78
+ @keyframes x-slide-in-down {
79
79
  from { transform: translateY(-100%) }
80
80
  }
81
81
 
82
- @keyframes slide-in-right {
82
+ @keyframes x-slide-in-right {
83
83
  from { transform: translateX(-100%) }
84
84
  }
85
85
 
86
- @keyframes slide-in-left {
86
+ @keyframes x-slide-in-left {
87
87
  from { transform: translateX(100%) }
88
88
  }
89
89
 
90
- @keyframes shake-x {
90
+ @keyframes x-shake-x {
91
91
  0%, 100% { transform: translateX(0%) }
92
92
  20% { transform: translateX(-5%) }
93
93
  40% { transform: translateX(5%) }
@@ -95,7 +95,7 @@
95
95
  80% { transform: translateX(5%) }
96
96
  }
97
97
 
98
- @keyframes shake-y {
98
+ @keyframes x-shake-y {
99
99
  0%, 100% { transform: translateY(0%) }
100
100
  20% { transform: translateY(-5%) }
101
101
  40% { transform: translateY(5%) }
@@ -103,7 +103,7 @@
103
103
  80% { transform: translateY(5%) }
104
104
  }
105
105
 
106
- @keyframes shake-z {
106
+ @keyframes x-shake-z {
107
107
  0%, 100% { transform: rotate(0deg) }
108
108
  20% { transform: rotate(-2deg) }
109
109
  40% { transform: rotate(2deg) }
@@ -111,18 +111,18 @@
111
111
  80% { transform: rotate(2deg) }
112
112
  }
113
113
 
114
- @keyframes spin {
114
+ @keyframes x-spin {
115
115
  to { transform: rotate(1turn) }
116
116
  }
117
117
 
118
- @keyframes ping {
118
+ @keyframes x-ping {
119
119
  90%, 100% {
120
120
  transform: scale(2);
121
121
  opacity: 0;
122
122
  }
123
123
  }
124
124
 
125
- @keyframes blink {
125
+ @keyframes x-blink {
126
126
  0%, 100% {
127
127
  opacity: 1
128
128
  }
@@ -131,22 +131,22 @@
131
131
  }
132
132
  }
133
133
 
134
- @keyframes float {
134
+ @keyframes x-float {
135
135
  50% { transform: translateY(-25%) }
136
136
  }
137
137
 
138
- @keyframes bounce {
138
+ @keyframes x-bounce {
139
139
  25% { transform: translateY(-20%) }
140
140
  40% { transform: translateY(-3%) }
141
141
  0%, 60%, 100% { transform: translateY(0) }
142
142
  }
143
143
 
144
- @keyframes pulse {
144
+ @keyframes x-pulse {
145
145
  50% { transform: scale(.9,.9) }
146
146
  }
147
147
 
148
148
  @media (prefers-color-scheme: dark) {
149
- @keyframes fade-in-bloom {
149
+ @keyframes x-fade-in-bloom {
150
150
  0% { opacity: 0; filter: brightness(1) blur(20px) }
151
151
  10% { opacity: 1; filter: brightness(0.5) blur(10px) }
152
152
  100% { opacity: 1; filter: brightness(1) blur(0) }
@@ -154,7 +154,7 @@
154
154
  }
155
155
 
156
156
  @media (prefers-color-scheme: dark) {
157
- @keyframes fade-out-bloom {
157
+ @keyframes x-fade-out-bloom {
158
158
  100% { opacity: 0; filter: brightness(1) blur(20px) }
159
159
  10% { opacity: 1; filter: brightness(0.5) blur(10px) }
160
160
  0% { opacity: 1; filter: brightness(1) blur(0) }
@@ -1,14 +1,21 @@
1
1
  :root {
2
+ /****************************************************************
3
+ * Private Variables
4
+ ****************************************************************/
5
+ --color-shadow-light: light-dark(rgb(0 0 0 / 0.05), transparent);
6
+ --color-shadow: light-dark(rgb(0 0 0 / 0.1), transparent);
7
+ --color-shadow-dark: light-dark(rgb(0 0 0 / 0.25), transparent);
8
+
2
9
  /****************************************************************
3
10
  * box-shadow: var(--shadow-sm);
4
11
  ****************************************************************/
5
- --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
6
- --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
7
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
8
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
9
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
10
- --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
11
- --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
12
+ --shadow-xs: 0 1px 2px 0 var(--color-shadow-light);
13
+ --shadow-sm: 0 1px 3px 0 var(--color-shadow), 0 1px 2px -1px var(--color-shadow);
14
+ --shadow-md: 0 4px 6px -1px var(--color-shadow), 0 2px 4px -2px var(--color-shadow);
15
+ --shadow-lg: 0 10px 15px -3px var(--color-shadow), 0 4px 6px -4px var(--color-shadow);
16
+ --shadow-xl: 0 20px 25px -5px var(--color-shadow), 0 8px 10px -6px var(--color-shadow);
17
+ --shadow-2xl: 0 25px 50px -12px var(--color-shadow-dark);
18
+ --shadow-inner: inset 0 2px 4px 0 var(--color-shadow-light);
12
19
 
13
20
  /****************************************************************
14
21
  * opacity: var(--opacity-25);
@@ -1,4 +1,16 @@
1
1
  :root {
2
+ /****************************************************************
3
+ * Private Variables
4
+ ****************************************************************/
5
+ --color-drop-shadow-3: light-dark(rgb(0 0 0 / 0.03), transparent);
6
+ --color-drop-shadow-4: light-dark(rgb(0 0 0 / 0.04), transparent);
7
+ --color-drop-shadow-5: light-dark(rgb(0 0 0 / 0.05), transparent);
8
+ --color-drop-shadow-6: light-dark(rgb(0 0 0 / 0.06), transparent);
9
+ --color-drop-shadow-7: light-dark(rgb(0 0 0 / 0.07), transparent);
10
+ --color-drop-shadow-8: light-dark(rgb(0 0 0 / 0.08), transparent);
11
+ --color-drop-shadow-10: light-dark(rgb(0 0 0 / 0.1), transparent);
12
+ --color-drop-shadow-15: light-dark(rgb(0 0 0 / 0.15), transparent);
13
+
2
14
  /****************************************************************
3
15
  * filter|backdrop-filter: var(--blur-sm);
4
16
  *****************************************************************/
@@ -38,29 +50,23 @@
38
50
  --contrast-200: contrast(2);
39
51
 
40
52
  /****************************************************************
41
- * Drop Shadow
42
- * Variables for applying drop-shadow filters to an element.
43
53
  * filter: var(--drop-shadow);
44
54
  *****************************************************************/
45
55
  --drop-shadow-none: drop-shadow(0 0 #0000);
46
- --drop-shadow-sm: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05));
47
- --drop-shadow: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));
48
- --drop-shadow-md: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
49
- --drop-shadow-lg: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
50
- --drop-shadow-xl: drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08));
51
- --drop-shadow-2xl: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15));
56
+ --drop-shadow-sm: drop-shadow(0 1px 1px var(--color-drop-shadow-5));
57
+ --drop-shadow: drop-shadow(0 1px 2px var(--color-drop-shadow-10)) drop-shadow(0 1px 1px var(--color-drop-shadow-6));
58
+ --drop-shadow-md: drop-shadow(0 4px 3px var(--color-drop-shadow-7)) drop-shadow(0 2px 2px var(--color-drop-shadow-6));
59
+ --drop-shadow-lg: drop-shadow(0 10px 8px var(--color-drop-shadow-4)) drop-shadow(0 4px 3px var(--color-drop-shadow-10));
60
+ --drop-shadow-xl: drop-shadow(0 20px 13px var(--color-drop-shadow-3)) drop-shadow(0 8px 5px var(--color-drop-shadow-8));
61
+ --drop-shadow-2xl: drop-shadow(0 25px 25px var(--color-drop-shadow-15));
52
62
 
53
63
  /****************************************************************
54
- * Grayscale
55
- * Variables for applying grayscale filters to an element.
56
64
  * filter|backdrop-filter: var(--grayscale);
57
65
  *****************************************************************/
58
66
  --grayscale-0: grayscale(0);
59
67
  --grayscale: grayscale(100%);
60
68
 
61
69
  /****************************************************************
62
- * Hue Rotate
63
- * Variables for applying hue-rotate filters to an element.
64
70
  * filter|backdrop-filter: var(--hue-rotate-15);
65
71
  *****************************************************************/
66
72
  --hue-rotate-0: hue-rotate(0deg);
@@ -71,16 +77,12 @@
71
77
  --hue-rotate-180: hue-rotate(180deg);
72
78
 
73
79
  /****************************************************************
74
- * Invert
75
- * Variables for applying invert filters to an element.
76
80
  * filter|backdrop-filter: var(--invert);
77
81
  *****************************************************************/
78
82
  --invert-0: invert(0);
79
83
  --invert: invert(100%);
80
84
 
81
85
  /****************************************************************
82
- * Saturate
83
- * Variables for applying saturation filters to an element.
84
86
  * filter|backdrop-filter: var(--saturate-50);
85
87
  *****************************************************************/
86
88
  --saturate-0: saturate(0);
@@ -90,37 +92,27 @@
90
92
  --saturate-200: saturate(2);
91
93
 
92
94
  /****************************************************************
93
- * Sepia
94
- * Variables for applying sepia filters to an element.
95
95
  * filter|backdrop-filter: var(--sepia);
96
96
  *****************************************************************/
97
97
  --sepia-0: sepia(0);
98
98
  --sepia: sepia(100%);
99
99
 
100
100
  /****************************************************************
101
- * Opacity
102
- * Utilities for applying backdrop opacity filters to an element.
103
- * backdrop-filter: var(--alpha-45);
101
+ * backdrop-filter: var(--alpha-50);
104
102
  *****************************************************************/
105
- --alpha-0: opacity(0);
106
- --alpha-5: opacity(0.05);
107
- --alpha-10: opacity(0.1);
108
- --alpha-15: opacity(0.15);
109
- --alpha-20: opacity(0.2);
110
- --alpha-25: opacity(0.25);
111
- --alpha-30: opacity(0.3);
112
- --alpha-35: opacity(0.35);
113
- --alpha-40: opacity(0.4);
114
- --alpha-45: opacity(0.45);
115
- --alpha-50: opacity(0.5);
116
- --alpha-55: opacity(0.55);
117
- --alpha-60: opacity(0.6);
118
- --alpha-65: opacity(0.65);
119
- --alpha-70: opacity(0.7);
120
- --alpha-75: opacity(0.75);
121
- --alpha-80: opacity(0.8);
122
- --alpha-85: opacity(0.85);
123
- --alpha-90: opacity(0.9);
124
- --alpha-95: opacity(0.95);
103
+ --alpha-0: opacity(0);
104
+ --alpha-5: opacity(0.05);
105
+ --alpha-10: opacity(0.1);
106
+ --alpha-20: opacity(0.2);
107
+ --alpha-25: opacity(0.25);
108
+ --alpha-30: opacity(0.3);
109
+ --alpha-40: opacity(0.4);
110
+ --alpha-50: opacity(0.5);
111
+ --alpha-60: opacity(0.6);
112
+ --alpha-70: opacity(0.7);
113
+ --alpha-75: opacity(0.75);
114
+ --alpha-80: opacity(0.8);
115
+ --alpha-90: opacity(0.9);
116
+ --alpha-95: opacity(0.95);
125
117
  --alpha-100: opacity(1);
126
118
  }
@@ -30,20 +30,12 @@ html,
30
30
  line-height: 1.5; /* 1 */
31
31
  -webkit-text-size-adjust: 100%; /* 2 */
32
32
  tab-size: 4; /* 3 */
33
- font-family: var(--default-font-family, system-ui, sans-serif); /* 4 */
33
+ font-family: var(--default-font-family, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'); /* 4 */
34
34
  font-feature-settings: var(--default-font-feature-settings, normal); /* 5 */
35
35
  font-variation-settings: var(--default-font-variation-settings, normal); /* 6 */
36
36
  -webkit-tap-highlight-color: transparent; /* 7 */
37
37
  }
38
38
 
39
- /*
40
- Inherit line-height from `html` so users can set them as a class directly on the `html` element.
41
- */
42
-
43
- body {
44
- line-height: inherit;
45
- }
46
-
47
39
  /*
48
40
  1. Add the correct height in Firefox.
49
41
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
@@ -109,9 +101,9 @@ code,
109
101
  kbd,
110
102
  samp,
111
103
  pre {
112
- font-family: var(--default-mono-font-family, ui-monospace, monospace); /* 4 */
113
- font-feature-settings: var(--default-mono-font-feature-settings, normal); /* 5 */
114
- font-variation-settings: var(--default-mono-font-variation-settings, normal); /* 6 */
104
+ font-family: var(--default-mono-font-family, ui-monospace, monospace); /* 1 */
105
+ font-feature-settings: var(--default-mono-font-feature-settings, normal); /* 2 */
106
+ font-variation-settings: var(--default-mono-font-variation-settings, normal); /* 3 */
115
107
  font-size: 1em; /* 4 */
116
108
  }
117
109
 
@@ -265,13 +257,23 @@ textarea,
265
257
  }
266
258
 
267
259
  /*
268
- 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
269
- 2. Set the default placeholder color to a semi-transparent version of the current text color.
260
+ Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
270
261
  */
271
262
 
272
263
  ::placeholder {
273
- opacity: 1; /* 1 */
274
- color: color-mix(in oklab, currentcolor 50%, transparent); /* 2 */
264
+ opacity: 1;
265
+ }
266
+
267
+ /*
268
+ Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
269
+ crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
270
+ */
271
+
272
+ @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
273
+ (contain-intrinsic-size: 1px) /* Safari 17+ */ {
274
+ ::placeholder {
275
+ color: color-mix(in oklab, currentcolor 50%, transparent);
276
+ }
275
277
  }
276
278
 
277
279
  /*
@@ -423,6 +425,6 @@ turbo-frame {
423
425
  Prevent page scroll when modal dialog is open.
424
426
  */
425
427
 
426
- html:has(dialog:modal[open]) {
428
+ body:has(dialog:modal) {
427
429
  overflow: hidden;
428
430
  }
@@ -63,6 +63,18 @@
63
63
  --ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);
64
64
  --ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);
65
65
 
66
+ --ease-elastic-1: var(--ease-elastic-out-1);
67
+ --ease-elastic-2: var(--ease-elastic-out-2);
68
+ --ease-elastic-3: var(--ease-elastic-out-3);
69
+ --ease-elastic-4: var(--ease-elastic-out-4);
70
+ --ease-elastic-5: var(--ease-elastic-out-5);
71
+
72
+ --ease-squish-1: var(--ease-elastic-in-out-1);
73
+ --ease-squish-2: var(--ease-elastic-in-out-2);
74
+ --ease-squish-3: var(--ease-elastic-in-out-3);
75
+ --ease-squish-4: var(--ease-elastic-in-out-4);
76
+ --ease-squish-5: var(--ease-elastic-in-out-5);
77
+
66
78
  --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);
67
79
  --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);
68
80
  --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);
@@ -16,6 +16,9 @@
16
16
  --text-8xl: 6rem; /* 96px */
17
17
  --text-9xl: 8rem; /* 128px */
18
18
 
19
+ /****************************************************************
20
+ * font-size: var(--text-fluid-xs);
21
+ *****************************************************************/
19
22
  --text-fluid-xs: clamp(0.75rem, 0.64rem + 0.57vw, 1rem); /* 12px..16px */
20
23
  --text-fluid-sm: clamp(0.875rem, 0.761rem + 0.568vw, 1.125rem); /* 14px..18px */
21
24
  --text-fluid-base: clamp(1rem, 0.89rem + 0.57vw, 1.25rem); /* 16px..20px */
@@ -29,7 +32,7 @@
29
32
  --text-fluid-7xl: clamp(4.5rem, 2.91rem + 7.95vw, 8rem); /* 72px..128px */
30
33
 
31
34
  /****************************************************************
32
- * font-weight: var(--font-hairline);
35
+ * font-weight: var(--font-thin);
33
36
  *****************************************************************/
34
37
  --font-thin: 100;
35
38
  --font-extralight: 200;
@@ -60,7 +63,7 @@
60
63
  --leading-10: 2.5rem; /* 40px */
61
64
 
62
65
  /****************************************************************
63
- * font-family: var(--font-sans);
66
+ * font-family: var(--font-system-ui);
64
67
  *****************************************************************/
65
68
  --font-system-ui: system-ui, sans-serif;
66
69
  --font-transitional: Charter, Bitstream Charter, Sitka Text, Cambria, serif;
@@ -35,6 +35,7 @@
35
35
  .font-medium { font-weight: var(--font-medium); }
36
36
  .font-semibold { font-weight: var(--font-semibold); }
37
37
  .font-bold { font-weight: var(--font-bold); }
38
+ .font-black { font-weight: var(--font-black); }
38
39
 
39
40
  .uppercase { text-transform: uppercase; }
40
41
  .capitalize { text-transform: capitalize; }
@@ -42,8 +43,11 @@
42
43
  .whitespace-nowrap { white-space: nowrap; }
43
44
  .whitespace-normal { white-space: normal; }
44
45
 
45
- .break-words { overflow-wrap: break-word; }
46
- .break-all { word-break: break-all; }
46
+ .text-balance { text-wrap: balance; }
47
+ .text-pretty { text-wrap: pretty; }
48
+
49
+ .wrap-break-word { overflow-wrap: break-word; }
50
+ .wrap-anywhere { overflow-wrap: anywhere; }
47
51
 
48
52
  .overflow-clip { text-overflow: clip; white-space: nowrap; overflow: hidden; }
49
53
  .overflow-ellipsis { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
@@ -58,6 +62,7 @@
58
62
  .text-end { text-align: end; }
59
63
  .text-center { text-align: center; }
60
64
 
65
+ .text-current { color: currentColor; }
61
66
  .text-primary { color: var(--color-text); }
62
67
  .text-reversed { color: var(--color-text-reversed); }
63
68
  .text-subtle { color: var(--color-text-subtle); }
@@ -75,14 +80,6 @@
75
80
  .text-4xl { font-size: var(--text-4xl); }
76
81
  .text-5xl { font-size: var(--text-5xl); }
77
82
 
78
- .text-fluid-xs { font-size: var(--text-fluid-xs); }
79
- .text-fluid-sm { font-size: var(--text-fluid-sm); }
80
- .text-fluid-base { font-size: var(--text-fluid-base); }
81
- .text-fluid-lg { font-size: var(--text-fluid-lg); }
82
- .text-fluid-xl { font-size: var(--text-fluid-xl); }
83
- .text-fluid-2xl { font-size: var(--text-fluid-2xl); }
84
- .text-fluid-3xl { font-size: var(--text-fluid-3xl); }
85
-
86
83
  /****************************************************************
87
84
  * Background
88
85
  *****************************************************************/
@@ -128,6 +125,12 @@
128
125
  .shadow-md { box-shadow: var(--shadow-md); }
129
126
  .shadow-lg { box-shadow: var(--shadow-lg); }
130
127
 
128
+ /****************************************************************
129
+ * Mouse pointer
130
+ *****************************************************************/
131
+ .cursor-pointer { cursor: pointer; }
132
+ .pointer-events-none { cursor: default; pointer-events: none; }
133
+
131
134
  /****************************************************************
132
135
  * Layout
133
136
  *****************************************************************/
@@ -136,7 +139,7 @@
136
139
  .inline-block { display: inline-block; }
137
140
 
138
141
  .relative { position: relative; }
139
- .sticky { position: sticky; inset-block-start: 0; z-index: 1; }
142
+ .sticky { position: sticky; inset-block-start: 0; z-index: 1; }
140
143
 
141
144
  .min-i-0 { min-inline-size: 0; }
142
145
  .max-i-none { max-inline-size: none; }
@@ -152,8 +155,8 @@
152
155
  .overflow-y-auto { overflow-y: auto; scroll-snap-type: y mandatory; }
153
156
  .overflow-hidden { overflow: hidden; }
154
157
 
155
- .object-contain { object-fit: contain; }
156
- .object-cover { object-fit: cover; }
158
+ .object-contain { object-fit: contain; }
159
+ .object-cover { object-fit: cover; }
157
160
 
158
161
  .aspect-square { aspect-ratio: 1; }
159
162
  .aspect-widescreen { aspect-ratio: 16 / 9; }
@@ -314,22 +317,16 @@
314
317
  /****************************************************************
315
318
  * Hiding/Showing
316
319
  *****************************************************************/
317
- .show\@sm, .show\@md, .show\@lg, .show\@xl { display: none; }
318
- .show\@sm { @media (width >= 40rem) { display: flex; } }
319
- .show\@md { @media (width >= 48rem) { display: flex; } }
320
- .show\@lg { @media (width >= 64rem) { display: flex; } }
321
- .show\@xl { @media (width >= 80rem) { display: flex; } }
320
+ .show\@sm { display: none; @media (width >= 40rem) { display: flex; } }
321
+ .show\@md { display: none; @media (width >= 48rem) { display: flex; } }
322
+ .show\@lg { display: none; @media (width >= 64rem) { display: flex; } }
323
+ .show\@xl { display: none; @media (width >= 80rem) { display: flex; } }
322
324
 
323
325
  .hide\@sm { @media (width >= 40rem) { display: none; } }
324
326
  .hide\@md { @media (width >= 48rem) { display: none; } }
325
327
  .hide\@lg { @media (width >= 64rem) { display: none; } }
326
328
  .hide\@xl { @media (width >= 80rem) { display: none; } }
327
329
 
328
- .hide\@pwa { @media (display-mode: standalone) { display: none; } }
329
- .hide\@browser { @media (display-mode: browser) { display: none; } }
330
- .hide\@print { @media print { display: none; } }
331
- .hide\@touch { @media (any-hover: none) { display: none; } }
332
-
333
330
  /****************************************************************
334
331
  * Accessibility
335
332
  *****************************************************************/
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "3.0.1"
2
+ VERSION = "4.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 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_otp input_revealable inputmask layouts lightbox list local_time popover progress prose resizable separator sheet skeleton sortable switch table tabs timezone_cookie 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_otp input_revealable inputmask keyboard layouts lexxy lightbox list local_time pagination popover progress resizable separator sheet skeleton sortable sound switch table tabs timezone_cookie toggle turbo_confirm upload_preview web_share
6
6
 
7
7
  Example:
8
8
  bin/rails generate css_zero:add [components...]