css-zero 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ffc5f62e22b31b31e16f686c8b0bfa28f0705883feba2c8a1e0ee3c3fba899b
4
- data.tar.gz: d95a6605554c3edaa33467c21f5d3f3c6a444d4d2b52b959b93ead0ba21a82e2
3
+ metadata.gz: 1df435159a0e593064dafabc6c26d6942ec4dfe4c9b9b5111f9a5ced978b83a8
4
+ data.tar.gz: c458933c27cc49630c79682bee8574b79282d269a67a297f3b5fc425a00d51fa
5
5
  SHA512:
6
- metadata.gz: c44ca53734614ef31bc070444a9fe428bb8c74a20b2b067737c81d1dde48e06af1720ae648887757caa70af0ea9959cddf48eb0221dd7e445451997efc1fa960
7
- data.tar.gz: a65c232a3e2d7e94457572f45ffba5663faabba287a485e9d318e3638d216b82c1e31b3a61e45adaaaad7a8c48e2c30c21cd41de26a88d7f3e6452cf6d4597ac
6
+ metadata.gz: 9926f066aa386058745a0a7725c973e01cf6f5f1f51bff8431d6a5b84a9a6497aa499812f3c79a429e4fe615f9f5a6a95efbbfd7d3b87d0a05a3ad641772af5c
7
+ data.tar.gz: e0eb15ea207ab7778175ce4a1fe8a2ff59010e0c081f1cf303375ceb35bd368cb1002145b804787e9aac2f60e63dd0a053f2a51d0c593adbfbd60ec8d6fcca5d
data/README.md CHANGED
@@ -30,20 +30,32 @@ This gem requires [propshaft](https://github.com/rails/propshaft) as the asset p
30
30
  }
31
31
  ```
32
32
 
33
- ## Reference
33
+ ## Buttons
34
+
35
+ <img width="302" alt="Button Light" src="https://github.com/lazaronixon/css-zero/assets/2651240/5523f0f1-9f55-42fb-8d3f-77e66f16035c">
36
+ <img width="302" alt="Button Dark" src="https://github.com/lazaronixon/css-zero/assets/2651240/7079d7f9-5141-447d-9a4e-0d098a642d32">
34
37
 
35
- - [Sizes](app/assets/stylesheets/sizes.css)
36
- - [Colors](app/assets/stylesheets/colors.css)
37
- - [Border](app/assets/stylesheets/borders.css)
38
- - [Typography](app/assets/stylesheets/typography.css)
39
- - [Effects](app/assets/stylesheets/effects.css)
40
- - [Grid](app/assets/stylesheets/grid.css)
41
- - [Filters](app/assets/stylesheets/filters.css)
42
- - [Transform](app/assets/stylesheets/transform.css)
43
- - [Transition](app/assets/stylesheets/transition.css)
44
- - [Animations](app/assets/stylesheets/animations.css)
45
- - [Buttons](app/assets/stylesheets/buttons.css)
46
- - [Utilities](app/assets/stylesheets/zutilities.css)
38
+
39
+ ```html+erb
40
+ <div class="flex flex-col items-center gap">
41
+ <button class="btn btn--primary">Primary button</button>
42
+ <button class="btn">Outline button</button>
43
+ <button class="btn btn--plain">Plain button</button>
44
+ <button class="btn" disabled>Disabled button</button>
45
+
46
+ <button class="btn btn--primary">
47
+ <%= image_tag "plus.svg", class: "invert" %> <span>Icon Button</span>
48
+ </button>
49
+
50
+ <button class="btn btn--primary" style="--btn-background: var(--cyan-300); --btn-color: var(--cyan-950);">
51
+ Colored button
52
+ </button>
53
+
54
+ <button class="btn btn--small">
55
+ Button small
56
+ </button>
57
+ </div>
58
+ ```
47
59
 
48
60
  ## Customization
49
61
 
@@ -77,6 +89,21 @@ Style level
77
89
  </div>
78
90
  ```
79
91
 
92
+ ## Reference
93
+
94
+ - [Animations](app/assets/stylesheets/animations.css)
95
+ - [Border](app/assets/stylesheets/borders.css)
96
+ - [Buttons](app/assets/stylesheets/buttons.css)
97
+ - [Colors](app/assets/stylesheets/colors.css)
98
+ - [Effects](app/assets/stylesheets/effects.css)
99
+ - [Filters](app/assets/stylesheets/filters.css)
100
+ - [Grid](app/assets/stylesheets/grid.css)
101
+ - [Sizes](app/assets/stylesheets/sizes.css)
102
+ - [Transform](app/assets/stylesheets/transform.css)
103
+ - [Transition](app/assets/stylesheets/transition.css)
104
+ - [Typography](app/assets/stylesheets/typography.css)
105
+ - [Utilities](app/assets/stylesheets/zutilities.css)
106
+
80
107
  ## Development
81
108
 
82
109
  To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
@@ -1,9 +1,9 @@
1
1
  .btn {
2
2
  align-items: center;
3
- background-color: var(--btn-background, var(--color-primary));
3
+ background-color: var(--btn-background, transparent);
4
4
  border-radius: var(--btn-border-radius, var(--rounded-lg));
5
- border: 1px solid var(--btn-border-color, transparent);
6
- color: var(--btn-color, white);
5
+ border: 1px solid var(--btn-border-color, var(--color-border));
6
+ color: var(--btn-color, var(--color-text));
7
7
  column-gap: var(--btn-column-gap, var(--size-1));
8
8
  cursor: pointer;
9
9
  display: inline-flex;
@@ -15,18 +15,22 @@
15
15
  text-align: center;
16
16
 
17
17
  &:disabled {
18
+ opacity: var(--opacity-50);
18
19
  pointer-events: none;
19
- filter: var(--grayscale) opacity(0.5);
20
20
  }
21
21
  }
22
22
 
23
+ .btn--primary {
24
+ --btn-background: var(--color-primary);
25
+ --btn-border-color: transparent;
26
+ --btn-color: white;
27
+ }
28
+
23
29
  .btn--plain {
24
- --btn-background: transparent;
25
- --btn-border-color: var(--color-border);
26
- --btn-color: var(--color-text);
30
+ --btn-border-color: transparent;
27
31
  }
28
32
 
29
- .btn--outline {
30
- --btn-background: transparent;
31
- --btn-color: var(--color-text);
33
+ .btn--small {
34
+ --btn-font-size: var(--text-xs);
35
+ --btn-line-height: var(--leading-5);
32
36
  }
@@ -270,9 +270,13 @@
270
270
  --color-bg-surface: var(--zinc-100);
271
271
  --color-text: var(--zinc-950);
272
272
  --color-text-reversed: white;
273
- --color-text-subtle: var(--zinc-500);
273
+ --color-text-subtle: var(--zinc-600);
274
274
  --color-border: var(--zinc-200);
275
275
 
276
+ /* Filtered color values */
277
+ --color-filter-black: var(--invert-0);
278
+ --color-filter-white: var(--invert);
279
+
276
280
  /* Redefine named color values for dark mode */
277
281
  @media (prefers-color-scheme: dark) {
278
282
  --color-primary: var(--zinc-600);
@@ -280,7 +284,8 @@
280
284
  --color-bg-surface: var(--zinc-950);
281
285
  --color-text: white;
282
286
  --color-text-reversed: var(--zinc-950);
283
- --color-text-subtle: var(--zinc-400);
284
- --color-border: rgba(255, 255, 255, 0.1);
287
+ --color-border: rgba(255, 255, 255, 0.15);
288
+ --color-filter-black: var(--invert);
289
+ --color-filter-white: var(--invert-0);
285
290
  }
286
291
  }
@@ -46,7 +46,7 @@
46
46
  /****************************************************************
47
47
  * Drop Shadow
48
48
  * Variables for applying drop-shadow filters to an element.
49
- * filter|backdrop-filter: var(--drop-shadow);
49
+ * filter: var(--drop-shadow);
50
50
  *****************************************************************/
51
51
  --drop-shadow-none: drop-shadow(0 0 #0000);
52
52
  --drop-shadow-sm: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05));
@@ -102,4 +102,31 @@
102
102
  *****************************************************************/
103
103
  --sepia-0: sepia(0);
104
104
  --sepia: sepia(100%);
105
+
106
+ /****************************************************************
107
+ * Opacity
108
+ * Utilities for applying backdrop opacity filters to an element.
109
+ * backdrop-filter: var(--opaqueness-45);
110
+ *****************************************************************/
111
+ --opaqueness-0: opacity(0);
112
+ --opaqueness-5: opacity(0.05);
113
+ --opaqueness-10: opacity(0.1);
114
+ --opaqueness-15: opacity(0.15);
115
+ --opaqueness-20: opacity(0.2);
116
+ --opaqueness-25: opacity(0.25);
117
+ --opaqueness-30: opacity(0.3);
118
+ --opaqueness-35: opacity(0.35);
119
+ --opaqueness-40: opacity(0.4);
120
+ --opaqueness-45: opacity(0.45);
121
+ --opaqueness-50: opacity(0.5);
122
+ --opaqueness-55: opacity(0.55);
123
+ --opaqueness-60: opacity(0.6);
124
+ --opaqueness-65: opacity(0.65);
125
+ --opaqueness-70: opacity(0.7);
126
+ --opaqueness-75: opacity(0.75);
127
+ --opaqueness-80: opacity(0.8);
128
+ --opaqueness-85: opacity(0.85);
129
+ --opaqueness-90: opacity(0.9);
130
+ --opaqueness-95: opacity(0.95);
131
+ --opaqueness-100: opacity(1);
105
132
  }
@@ -1,7 +1,11 @@
1
1
  :root {
2
- --space-sm: var(--size-2); /* 8px */
3
- --space-md: var(--size-4); /* 16px */
4
- --space-lg: var(--size-8); /* 32px */
2
+ --space-2xs: var(--size-0_5); /* 2px */
3
+ --space-xs: var(--size-1); /* 4px */
4
+ --space-sm: var(--size-2); /* 8px */
5
+ --space-md: var(--size-4); /* 16px */
6
+ --space-lg: var(--size-6); /* 24px */
7
+ --space-xl: var(--size-8); /* 32px */
8
+ --space-2xl: var(--size-10); /* 40px */
5
9
  }
6
10
 
7
11
  /****************************************************************
@@ -28,27 +32,15 @@
28
32
  .self-start { align-self: start; }
29
33
  .self-center { align-self: center; }
30
34
 
31
- .gap {
32
- column-gap: var(--column-gap, var(--space-md));
33
- row-gap: var(--row-gap, var(--space-md));
34
- }
35
-
36
- /****************************************************************
37
- * Alignment
38
- *****************************************************************/
39
- .align-top { vertical-align: top; }
40
- .align-bottom { vertical-align: bottom; }
41
- .align-middle { vertical-align: middle; }
42
-
43
- .text-start { text-align: start; }
44
- .text-end { text-align: end; }
45
- .text-center { text-align: center; }
35
+ .gap { column-gap: var(--column-gap, 1rem); row-gap: var(--row-gap, 1rem); }
46
36
 
47
37
  /****************************************************************
48
38
  * Text
49
39
  *****************************************************************/
50
- .font-normal { font-weight: var(--font-normal); font-style: normal; }
40
+ .font-light { font-weight: var(--font-light); }
41
+ .font-normal { font-weight: var(--font-normal); }
51
42
  .font-medium { font-weight: var(--font-medium); }
43
+ .font-semibold { font-weight: var(--font-semibold); }
52
44
  .font-bold { font-weight: var(--font-bold); }
53
45
 
54
46
  .underline { text-decoration-line: underline; }
@@ -71,6 +63,10 @@
71
63
  .leading-tight { line-height: var(--leading-tight); }
72
64
  .leading-normal { line-height: var(--leading-normal); }
73
65
 
66
+ .text-start { text-align: start; }
67
+ .text-end { text-align: end; }
68
+ .text-center { text-align: center; }
69
+
74
70
  .text-primary { color: var(--color-text); }
75
71
  .text-reversed { color: var(--color-text-reversed); }
76
72
  .text-subtle { color: var(--color-text-subtle); }
@@ -84,6 +80,10 @@
84
80
  .text-3xl { font-size: var(--text-3xl); }
85
81
  .text-4xl { font-size: var(--text-4xl); }
86
82
  .text-5xl { font-size: var(--text-5xl); }
83
+ .text-6xl { font-size: var(--text-6xl); }
84
+ .text-7xl { font-size: var(--text-7xl); }
85
+ .text-8xl { font-size: var(--text-8xl); }
86
+ .text-9xl { font-size: var(--text-9xl); }
87
87
 
88
88
  /****************************************************************
89
89
  * Background
@@ -93,6 +93,10 @@
93
93
  .bg-surface { background-color: var(--color-bg-surface); }
94
94
  .bg-transparent { background-color: transparent; }
95
95
 
96
+ .invert { filter: var(--invert); }
97
+ .colorize-black { filter: var(--color-filter-black); }
98
+ .colorize-white { filter: var(--color-filter-white); }
99
+
96
100
  /****************************************************************
97
101
  * Border
98
102
  *****************************************************************/
@@ -105,16 +109,25 @@
105
109
 
106
110
  .rounded-sm { border-radius: var(--rounded-sm); }
107
111
  .rounded { border-radius: var(--rounded); }
112
+ .rounded-md { border-radius: var(--rounded-md); }
108
113
  .rounded-lg { border-radius: var(--rounded-lg); }
114
+ .rounded-xl { border-radius: var(--rounded-xl); }
115
+ .rounded-2xl { border-radius: var(--rounded-2xl); }
116
+ .rounded-3xl { border-radius: var(--rounded-3xl); }
109
117
  .rounded-full { border-radius: var(--rounded-full); }
118
+ .rounded-none { border-radius: none; }
110
119
 
111
120
  /****************************************************************
112
121
  * Shadow
113
122
  *****************************************************************/
123
+ .shadow-xs { box-shadow: var(--shadow-xs); }
124
+ .shadow-sm { box-shadow: var(--shadow-sm); }
114
125
  .shadow { box-shadow: var(--shadow); }
115
126
  .shadow-md { box-shadow: var(--shadow-md); }
116
127
  .shadow-lg { box-shadow: var(--shadow-lg); }
117
128
  .shadow-xl { box-shadow: var(--shadow-xl); }
129
+ .shadow-2xl { box-shadow: var(--shadow-2xl); }
130
+ .shadow-none { box-shadow: none; }
118
131
 
119
132
  /****************************************************************
120
133
  * Layout
@@ -138,77 +151,136 @@
138
151
  * Margin
139
152
  *****************************************************************/
140
153
  .m-0 { margin: 0; }
154
+ .m-2xs { margin: var(--space-2xs); }
155
+ .m-xs { margin: var(--space-xs); }
141
156
  .m-sm { margin: var(--space-sm); }
142
157
  .m-md { margin: var(--space-md); }
143
158
  .m-lg { margin: var(--space-lg); }
159
+ .m-xl { margin: var(--space-xl); }
160
+ .m-2xl { margin: var(--space-2xl); }
144
161
 
145
162
  .mb-0 { margin-block: 0; }
163
+ .mb-2xs { margin-block: var(--space-2xs); }
164
+ .mb-xs { margin-block: var(--space-xs); }
146
165
  .mb-sm { margin-block: var(--space-sm); }
147
166
  .mb-md { margin-block: var(--space-md); }
148
167
  .mb-lg { margin-block: var(--space-lg); }
168
+ .mb-xl { margin-block: var(--space-xl); }
169
+ .mb-2xl { margin-block: var(--space-2xl); }
170
+ .mb-auto { margin-block: auto; }
149
171
 
150
172
  .mbs-0 { margin-block-start: 0; }
173
+ .mbs-2xs { margin-block-start: var(--space-2xs); }
174
+ .mbs-xs { margin-block-start: var(--space-xs); }
151
175
  .mbs-sm { margin-block-start: var(--space-sm); }
152
176
  .mbs-md { margin-block-start: var(--space-md); }
153
177
  .mbs-lg { margin-block-start: var(--space-lg); }
178
+ .mbs-xl { margin-block-start: var(--space-xl); }
179
+ .mbs-2xl { margin-block-start: var(--space-2xl); }
180
+ .mbs-auto { margin-block-start: auto; }
154
181
 
155
182
  .mbe-0 { margin-block-end: 0; }
183
+ .mbe-2xs { margin-block-end: var(--space-2xs); }
184
+ .mbe-xs { margin-block-end: var(--space-xs); }
156
185
  .mbe-sm { margin-block-end: var(--space-sm); }
157
186
  .mbe-md { margin-block-end: var(--space-md); }
158
187
  .mbe-lg { margin-block-end: var(--space-lg); }
188
+ .mbe-xl { margin-block-end: var(--space-xl); }
189
+ .mbe-2xl { margin-block-end: var(--space-2xl); }
190
+ .mbe-auto { margin-block-end: auto; }
159
191
 
160
192
  .mi-0 { margin-inline: 0; }
193
+ .mi-2xs { margin-inline: var(--space-2xs); }
194
+ .mi-xs { margin-inline: var(--space-xs); }
161
195
  .mi-sm { margin-inline: var(--space-sm); }
162
196
  .mi-md { margin-inline: var(--space-md); }
163
197
  .mi-lg { margin-inline: var(--space-lg); }
198
+ .mi-xl { margin-inline: var(--space-xl); }
199
+ .mi-2xl { margin-inline: var(--space-2xl); }
200
+ .mi-auto { margin-inline: auto; }
164
201
 
165
202
  .mis-0 { margin-inline-start: 0; }
203
+ .mis-2xs { margin-inline-start: var(--space-2xs); }
204
+ .mis-xs { margin-inline-start: var(--space-xs); }
166
205
  .mis-sm { margin-inline-start: var(--space-sm); }
167
206
  .mis-md { margin-inline-start: var(--space-md); }
168
207
  .mis-lg { margin-inline-start: var(--space-lg); }
208
+ .mis-xl { margin-inline-start: var(--space-xl); }
209
+ .mis-2xl { margin-inline-start: var(--space-2xl); }
210
+ .mis-auto { margin-inline-start: auto; }
169
211
 
170
212
  .mie-0 { margin-inline-end: 0; }
213
+ .mie-2xs { margin-inline-end: var(--space-2xs); }
214
+ .mie-xs { margin-inline-end: var(--space-xs); }
171
215
  .mie-sm { margin-inline-end: var(--space-sm); }
172
216
  .mie-md { margin-inline-end: var(--space-md); }
173
217
  .mie-lg { margin-inline-end: var(--space-lg); }
174
-
175
- .mi-auto { margin-inline: auto; }
176
- .mb-auto { margin-block: auto; }
218
+ .mie-xl { margin-inline-end: var(--space-xl); }
219
+ .mie-2xl { margin-inline-end: var(--space-2xl); }
220
+ .mie-auto { margin-inline-end: auto; }
177
221
 
178
222
  /****************************************************************
179
223
  * Padding
180
224
  *****************************************************************/
181
225
  .p-0 { padding: 0; }
226
+ .p-2xs { padding: var(--space-2xs); }
227
+ .p-xs { padding: var(--space-xs); }
182
228
  .p-sm { padding: var(--space-sm); }
183
229
  .p-md { padding: var(--space-md); }
184
230
  .p-lg { padding: var(--space-lg); }
231
+ .p-xl { padding: var(--space-xl); }
232
+ .p-2xl { padding: var(--space-2xl); }
185
233
 
186
234
  .pb-0 { padding-block: 0; }
235
+ .pb-2xs { padding-block: var(--space-2xs); }
236
+ .pb-xs { padding-block: var(--space-xs); }
187
237
  .pb-sm { padding-block: var(--space-sm); }
188
238
  .pb-md { padding-block: var(--space-md); }
189
239
  .pb-lg { padding-block: var(--space-lg); }
240
+ .pb-xl { padding-block: var(--space-xl); }
241
+ .pb-2xl { padding-block: var(--space-2xl); }
190
242
 
191
243
  .pbs-0 { padding-block-start: 0; }
244
+ .pbs-2xs { padding-block-start: var(--space-2xs); }
245
+ .pbs-xs { padding-block-start: var(--space-xs); }
192
246
  .pbs-sm { padding-block-start: var(--space-sm); }
193
247
  .pbs-md { padding-block-start: var(--space-md); }
194
248
  .pbs-lg { padding-block-start: var(--space-lg); }
249
+ .pbs-xl { padding-block-start: var(--space-xl); }
250
+ .pbs-2xl { padding-block-start: var(--space-2xl); }
195
251
 
196
252
  .pbe-0 { padding-block-end: 0; }
253
+ .pbe-2xs { padding-block-end: var(--space-2xs); }
254
+ .pbe-xs { padding-block-end: var(--space-xs); }
197
255
  .pbe-sm { padding-block-end: var(--space-sm); }
198
256
  .pbe-md { padding-block-end: var(--space-md); }
199
257
  .pbe-lg { padding-block-end: var(--space-lg); }
258
+ .pbe-xl { padding-block-end: var(--space-xl); }
259
+ .pbe-2xl { padding-block-end: var(--space-2xl); }
200
260
 
201
261
  .pi-0 { padding-inline: 0; }
262
+ .pi-2xs { padding-inline: var(--space-2xs); }
263
+ .pi-xs { padding-inline: var(--space-xs); }
202
264
  .pi-sm { padding-inline: var(--space-sm); }
203
265
  .pi-md { padding-inline: var(--space-md); }
204
266
  .pi-lg { padding-inline: var(--space-lg); }
267
+ .pi-xl { padding-inline: var(--space-xl); }
268
+ .pi-2xl { padding-inline: var(--space-2xl); }
205
269
 
206
270
  .pis-0 { padding-inline-start: 0; }
271
+ .pis-2xs { padding-inline-start: var(--space-2xs); }
272
+ .pis-xs { padding-inline-start: var(--space-xs); }
207
273
  .pis-sm { padding-inline-start: var(--space-sm); }
208
274
  .pis-md { padding-inline-start: var(--space-md); }
209
275
  .pis-lg { padding-inline-start: var(--space-lg); }
276
+ .pis-xl { padding-inline-start: var(--space-xl); }
277
+ .pis-2xl { padding-inline-start: var(--space-2xl); }
210
278
 
211
279
  .pie-0 { padding-inline-end: 0; }
280
+ .pie-2xs { padding-inline-end: var(--space-2xs); }
281
+ .pie-xs { padding-inline-end: var(--space-xs); }
212
282
  .pie-sm { padding-inline-end: var(--space-sm); }
213
283
  .pie-md { padding-inline-end: var(--space-md); }
214
284
  .pie-lg { padding-inline-end: var(--space-lg); }
285
+ .pie-xl { padding-inline-end: var(--space-xl); }
286
+ .pie-2xl { padding-inline-end: var(--space-2xl); }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CssZero
4
- VERSION = "0.0.5"
4
+ VERSION = "0.0.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: css-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lázaro Nixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-11 00:00:00.000000000 Z
11
+ date: 2024-06-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: lazaronixon@hotmail.com