css-zero 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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