css-zero 0.0.17 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -393
  3. data/app/assets/stylesheets/_reset.css +10 -21
  4. data/app/assets/stylesheets/animations.css +144 -16
  5. data/app/assets/stylesheets/effects.css +0 -1
  6. data/app/assets/stylesheets/typography.css +16 -4
  7. data/app/assets/stylesheets/zutilities.css +7 -15
  8. data/app/helpers/dialog_helper.rb +5 -0
  9. data/lib/css_zero/version.rb +1 -1
  10. data/lib/generators/css_zero/add/USAGE +1 -1
  11. data/lib/generators/css_zero/add/resources.yml +7 -0
  12. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-left.svg +1 -0
  13. data/lib/generators/css_zero/add/templates/app/assets/images/ellipsis.svg +1 -0
  14. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +1 -1
  15. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +1 -1
  16. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +7 -9
  17. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +3 -1
  18. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +1 -1
  19. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +1 -1
  20. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +10 -2
  21. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +22 -5
  22. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css +33 -0
  23. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +1 -1
  24. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +135 -0
  25. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css +1 -1
  26. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css +1 -1
  27. data/lib/generators/css_zero/add/templates/app/javascript/controllers/collapsible_controller.js +10 -2
  28. data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +4 -2
  29. metadata +7 -2
@@ -54,13 +54,25 @@
54
54
  --leading-10: 2.5rem; /* 40px */
55
55
 
56
56
  /****************************************************************
57
- * Font Family
57
+ * Font Family (https://modernfontstacks.com)
58
58
  * Variables for controlling the font family of an element.
59
59
  * font-family: var(--font-sans);
60
60
  *****************************************************************/
61
- --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
62
- --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
63
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
61
+ --font-system-ui: system-ui, sans-serif;
62
+ --font-transitional: Charter, Bitstream Charter, Sitka Text, Cambria, serif;
63
+ --font-old-style: Iowan Old Style, Palatino Linotype, URW Palladio L, P052, serif;
64
+ --font-humanist: Seravek, Gill Sans Nova, Ubuntu, Calibri, DejaVu Sans, source-sans-pro, sans-serif;
65
+ --font-geometric-humanist: Avenir, Montserrat, Corbel, URW Gothic, source-sans-pro, sans-serif;
66
+ --font-classical-humanist: Optima, Candara, Noto Sans, source-sans-pro, sans-serif;
67
+ --font-neo-grotesque: Inter, Roboto, Helvetica Neue, Arial Nova, Nimbus Sans, Arial, sans-serif;
68
+ --font-monospace-slab-serif: Nimbus Mono PS, Courier New, monospace;
69
+ --font-monospace-code: Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro, Cascadia Code, Menlo, Consolas, DejaVu Sans Mono, monospace;
70
+ --font-industrial: Bahnschrift, DIN Alternate, Franklin Gothic Medium, Nimbus Sans Narrow, sans-serif-condensed, sans-serif;
71
+ --font-rounded-sans: ui-rounded, Hiragino Maru Gothic ProN, Quicksand, Comfortaa, Manjari, Arial Rounded MT, Arial Rounded MT Bold, Calibri, source-sans-pro, sans-serif;
72
+ --font-slab-serif: Rockwell, Rockwell Nova, Roboto Slab, DejaVu Serif, Sitka Small, serif;
73
+ --font-antique: Superclarendon, Bookman Old Style, URW Bookman, URW Bookman L, Georgia Pro, Georgia, serif;
74
+ --font-didone: Didot, Bodoni MT, Noto Serif Display, URW Palladio L, P052, Sylfaen, serif;
75
+ --font-handwritten: Segoe Print, Bradley Hand, Chilanka, TSCu_Comic, casual, cursive;
64
76
 
65
77
  /****************************************************************
66
78
  * Letter Spacing
@@ -88,7 +88,7 @@
88
88
  .bg-main { background-color: var(--color-bg); }
89
89
  .bg-black { background-color: var(--color-text); }
90
90
  .bg-white { background-color: var(--color-text-reversed); }
91
- .bg-shade { background-color: var(--color-secondary); }
91
+ .bg-shade { background-color: var(--color-border-light); }
92
92
  .bg-transparent { background-color: transparent; }
93
93
 
94
94
  /****************************************************************
@@ -110,6 +110,12 @@
110
110
  .border-is { border-inline-start-width: var(--border-size, 1px); }
111
111
  .border-ie { border-inline-end-width: var(--border-size, 1px); }
112
112
 
113
+ .border-main { border-color: var(--color-border); }
114
+ .border-dark { border-color: var(--color-border-dark); }
115
+
116
+ .border-solid { border-style: solid; }
117
+ .border-dashed { border-style: dashed; }
118
+
113
119
  .rounded-none { border-radius: none; }
114
120
  .rounded-sm { border-radius: var(--rounded-sm); }
115
121
  .rounded { border-radius: var(--rounded); }
@@ -159,7 +165,6 @@
159
165
  .m-0\.5 { margin: var(--size-0_5); }
160
166
  .m-1 { margin: var(--size-1); }
161
167
  .m-2 { margin: var(--size-2); }
162
- .m-3 { margin: var(--size-3); }
163
168
  .m-4 { margin: var(--size-4); }
164
169
  .m-6 { margin: var(--size-6); }
165
170
  .m-8 { margin: var(--size-8); }
@@ -170,7 +175,6 @@
170
175
  .mb-0\.5 { margin-block: var(--size-0_5); }
171
176
  .mb-1 { margin-block: var(--size-1); }
172
177
  .mb-2 { margin-block: var(--size-2); }
173
- .mb-3 { margin-block: var(--size-3); }
174
178
  .mb-4 { margin-block: var(--size-4); }
175
179
  .mb-6 { margin-block: var(--size-6); }
176
180
  .mb-8 { margin-block: var(--size-8); }
@@ -181,7 +185,6 @@
181
185
  .mbs-0\.5 { margin-block-start: var(--size-0_5); }
182
186
  .mbs-1 { margin-block-start: var(--size-1); }
183
187
  .mbs-2 { margin-block-start: var(--size-2); }
184
- .mbs-3 { margin-block-start: var(--size-3); }
185
188
  .mbs-4 { margin-block-start: var(--size-4); }
186
189
  .mbs-6 { margin-block-start: var(--size-6); }
187
190
  .mbs-8 { margin-block-start: var(--size-8); }
@@ -192,7 +195,6 @@
192
195
  .mbe-0\.5 { margin-block-end: var(--size-0_5); }
193
196
  .mbe-1 { margin-block-end: var(--size-1); }
194
197
  .mbe-2 { margin-block-end: var(--size-2); }
195
- .mbe-3 { margin-block-end: var(--size-3); }
196
198
  .mbe-4 { margin-block-end: var(--size-4); }
197
199
  .mbe-6 { margin-block-end: var(--size-6); }
198
200
  .mbe-8 { margin-block-end: var(--size-8); }
@@ -203,7 +205,6 @@
203
205
  .mi-0\.5 { margin-inline: var(--size-0_5); }
204
206
  .mi-1 { margin-inline: var(--size-1); }
205
207
  .mi-2 { margin-inline: var(--size-2); }
206
- .mi-3 { margin-inline: var(--size-3); }
207
208
  .mi-4 { margin-inline: var(--size-4); }
208
209
  .mi-6 { margin-inline: var(--size-6); }
209
210
  .mi-8 { margin-inline: var(--size-8); }
@@ -214,7 +215,6 @@
214
215
  .mis-0\.5 { margin-inline-start: var(--size-0_5); }
215
216
  .mis-1 { margin-inline-start: var(--size-1); }
216
217
  .mis-2 { margin-inline-start: var(--size-2); }
217
- .mis-3 { margin-inline-start: var(--size-3); }
218
218
  .mis-4 { margin-inline-start: var(--size-4); }
219
219
  .mis-6 { margin-inline-start: var(--size-6); }
220
220
  .mis-8 { margin-inline-start: var(--size-8); }
@@ -225,7 +225,6 @@
225
225
  .mie-0\.5 { margin-inline-end: var(--size-0_5); }
226
226
  .mie-1 { margin-inline-end: var(--size-1); }
227
227
  .mie-2 { margin-inline-end: var(--size-2); }
228
- .mie-3 { margin-inline-end: var(--size-3); }
229
228
  .mie-4 { margin-inline-end: var(--size-4); }
230
229
  .mie-6 { margin-inline-end: var(--size-6); }
231
230
  .mie-8 { margin-inline-end: var(--size-8); }
@@ -239,7 +238,6 @@
239
238
  .p-0\.5 { padding: var(--size-0_5); }
240
239
  .p-1 { padding: var(--size-1); }
241
240
  .p-2 { padding: var(--size-2); }
242
- .p-3 { padding: var(--size-3); }
243
241
  .p-4 { padding: var(--size-4); }
244
242
  .p-6 { padding: var(--size-6); }
245
243
  .p-8 { padding: var(--size-8); }
@@ -249,7 +247,6 @@
249
247
  .pb-0\.5 { padding-block: var(--size-0_5); }
250
248
  .pb-1 { padding-block: var(--size-1); }
251
249
  .pb-2 { padding-block: var(--size-2); }
252
- .pb-3 { padding-block: var(--size-3); }
253
250
  .pb-4 { padding-block: var(--size-4); }
254
251
  .pb-6 { padding-block: var(--size-6); }
255
252
  .pb-8 { padding-block: var(--size-8); }
@@ -259,7 +256,6 @@
259
256
  .pbs-0\.5 { padding-block-start: var(--size-0_5); }
260
257
  .pbs-1 { padding-block-start: var(--size-1); }
261
258
  .pbs-2 { padding-block-start: var(--size-2); }
262
- .pbs-3 { padding-block-start: var(--size-3); }
263
259
  .pbs-4 { padding-block-start: var(--size-4); }
264
260
  .pbs-6 { padding-block-start: var(--size-6); }
265
261
  .pbs-8 { padding-block-start: var(--size-8); }
@@ -269,7 +265,6 @@
269
265
  .pbe-0\.5 { padding-block-end: var(--size-0_5); }
270
266
  .pbe-1 { padding-block-end: var(--size-1); }
271
267
  .pbe-2 { padding-block-end: var(--size-2); }
272
- .pbe-3 { padding-block-end: var(--size-3); }
273
268
  .pbe-4 { padding-block-end: var(--size-4); }
274
269
  .pbe-6 { padding-block-end: var(--size-6); }
275
270
  .pbe-8 { padding-block-end: var(--size-8); }
@@ -279,7 +274,6 @@
279
274
  .pi-0\.5 { padding-inline: var(--size-0_5); }
280
275
  .pi-1 { padding-inline: var(--size-1); }
281
276
  .pi-2 { padding-inline: var(--size-2); }
282
- .pi-3 { padding-inline: var(--size-3); }
283
277
  .pi-4 { padding-inline: var(--size-4); }
284
278
  .pi-6 { padding-inline: var(--size-6); }
285
279
  .pi-8 { padding-inline: var(--size-8); }
@@ -289,7 +283,6 @@
289
283
  .pis-0\.5 { padding-inline-start: var(--size-0_5); }
290
284
  .pis-1 { padding-inline-start: var(--size-1); }
291
285
  .pis-2 { padding-inline-start: var(--size-2); }
292
- .pis-3 { padding-inline-start: var(--size-3); }
293
286
  .pis-4 { padding-inline-start: var(--size-4); }
294
287
  .pis-6 { padding-inline-start: var(--size-6); }
295
288
  .pis-8 { padding-inline-start: var(--size-8); }
@@ -299,7 +292,6 @@
299
292
  .pie-0\.5 { padding-inline-end: var(--size-0_5); }
300
293
  .pie-1 { padding-inline-end: var(--size-1); }
301
294
  .pie-2 { padding-inline-end: var(--size-2); }
302
- .pie-3 { padding-inline-end: var(--size-3); }
303
295
  .pie-4 { padding-inline-end: var(--size-4); }
304
296
  .pie-6 { padding-inline-end: var(--size-6); }
305
297
  .pie-8 { padding-inline-end: var(--size-8); }
@@ -0,0 +1,5 @@
1
+ module DialogHelper
2
+ def button_to_close_dialog(content = nil, **, &)
3
+ tag.form tag.button(content, **, &), method: :dialog
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.19"
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 avatar badge breadcrumb button card collapsible dialog input progress switch table
5
+ accordion alert avatar badge breadcrumb button card collapsible dialog input pagination progress prose switch table
6
6
 
7
7
  Example:
8
8
  bin/rails generate css_zero:add [components...]
@@ -24,8 +24,15 @@ dialog:
24
24
  input:
25
25
  - app/assets/stylesheets/input.css
26
26
  - app/assets/images/select-arrow.svg
27
+ pagination:
28
+ - app/assets/stylesheets/pagination.css
29
+ - app/assets/images/chevron-right.svg
30
+ - app/assets/images/chevron-left.svg
31
+ - app/assets/images/ellipsis.svg
27
32
  progress:
28
33
  - app/assets/stylesheets/progress.css
34
+ prose:
35
+ - app/assets/stylesheets/prose.css
29
36
  switch:
30
37
  - app/assets/stylesheets/switch.css
31
38
  table:
@@ -0,0 +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>
@@ -0,0 +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>
@@ -23,7 +23,7 @@
23
23
  padding-block: var(--size-4);
24
24
 
25
25
  &:focus-visible {
26
- outline: var(--border-2) solid var(--color-border-darker);
26
+ outline: var(--border-2) solid var(--color-primary);
27
27
  outline-offset: var(--border-2);
28
28
  }
29
29
 
@@ -7,7 +7,7 @@
7
7
  inline-size: var(--size-full);
8
8
 
9
9
  img {
10
- filter: var(--alert-icon-color, var(--color-filter-text-reversed));
10
+ filter: var(--alert-icon-color, var(--color-filter-text));
11
11
  }
12
12
  }
13
13
 
@@ -1,13 +1,11 @@
1
- :root {
2
- --avatar-size: var(--size-10);
3
- }
4
-
5
1
  .avatar {
6
- block-size: var(--avatar-size);
2
+ --size: var(--avatar-size, var(--size-10));
3
+
4
+ block-size: var(--size);
7
5
  border-radius: var(--rounded-full);
8
6
  display: flex;
9
7
  flex-shrink: 0;
10
- inline-size: var(--avatar-size);
8
+ inline-size: var(--size);
11
9
  overflow: hidden;
12
10
 
13
11
  img {
@@ -20,12 +18,12 @@
20
18
 
21
19
  .avatar__fallback {
22
20
  align-items: center;
23
- background-color: var(--color-secondary);
21
+ background-color: var(--color-border-light);
24
22
  block-size: var(--size-full);
25
23
  border-radius: var(--rounded-full);
26
24
  display: flex;
27
- font-size: calc(var(--avatar-size) * .4);
25
+ font-size: calc(var(--size) * .4);
28
26
  inline-size: var(--size-full);
29
27
  justify-content: center;
30
28
  user-select: none;
31
- }
29
+ }
@@ -1,8 +1,10 @@
1
1
  .badge {
2
+ align-items: center;
2
3
  background-color: var(--badge-background, var(--color-primary));
3
4
  border-radius: var(--rounded-full);
4
5
  border-width: var(--badge-border-width, 0);
5
6
  color: var(--badge-color, var(--color-text-reversed));
7
+ display: inline-flex;
6
8
  font-size: var(--text-xs);
7
9
  font-weight: var(--font-semibold);
8
10
  padding: var(--size-0_5) var(--size-2_5);
@@ -15,8 +17,8 @@
15
17
 
16
18
  .badge--outline {
17
19
  --badge-background: transparent;
20
+ --badge-border-width: var(--border);
18
21
  --badge-color: var(--color-text);
19
- --btn-border-width: var(--border);
20
22
  }
21
23
 
22
24
  .badge--positive {
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  &:focus-visible {
23
- outline: var(--border-2) solid var(--color-border-darker);
23
+ outline: var(--border-2) solid var(--color-primary);
24
24
  outline-offset: var(--border-2);
25
25
  }
26
26
 
@@ -2,5 +2,5 @@
2
2
  border-radius: var(--rounded-lg);
3
3
  border-width: var(--border);
4
4
  padding: var(--size-6);
5
- shadow: var(--shadow-sm);
5
+ box-shadow: var(--shadow-sm);
6
6
  }
@@ -6,7 +6,7 @@
6
6
  color: var(--color-text);
7
7
  inline-size: var(--size-full);
8
8
  margin: auto;
9
- max-inline-size: var(--width-lg);
9
+ max-inline-size: var(--dialog-width, var(--width-lg));
10
10
  padding: var(--size-6);
11
11
 
12
12
  &::backdrop {
@@ -49,7 +49,10 @@
49
49
 
50
50
  /* Small screens and below */
51
51
  @media (width < 40rem) {
52
- border-radius: 0;
52
+ border-end-end-radius: 0;
53
+ border-end-start-radius: 0;
54
+ margin-block-end: 0;
55
+ max-inline-size: none !important;
53
56
  }
54
57
  }
55
58
 
@@ -57,6 +60,11 @@
57
60
  inset-block-start: var(--size-4);
58
61
  inset-inline-end: var(--size-4);
59
62
  position: absolute;
63
+
64
+ /* Small screens and below */
65
+ @media (width < 40rem) {
66
+ display: none;
67
+ }
60
68
  }
61
69
 
62
70
  /* Prevent page scroll when dialog is open */
@@ -4,10 +4,20 @@
4
4
  border-color: var(--color-border);
5
5
  border-radius: var(--rounded-md);
6
6
  border-width: var(--border);
7
- box-shadow: var(--shadow-xs);
8
7
  font-size: var(--text-sm);
9
8
  inline-size: var(--size-full);
10
9
  padding: var(--size-2) var(--size-3);
10
+ resize: none;
11
+
12
+ option {
13
+ padding-block: var(--size-1);
14
+ }
15
+
16
+ &:is(textarea):not([rows]) {
17
+ field-sizing: content;
18
+ max-block-size: calc(10lh + var(--size-6));
19
+ min-block-size: calc(3lh + var(--size-6));
20
+ }
11
21
 
12
22
  &:is(select):not([multiple], [size]) {
13
23
  background-image: url("select-arrow.svg");
@@ -44,8 +54,15 @@
44
54
  transform: scale(1.15);
45
55
  }
46
56
 
47
- /* Keyboard navigation */
48
- :is(.input, .range, .checkbox, .radio):focus-visible {
49
- outline: var(--border-2) solid var(--color-border-darker);
50
- outline-offset: var(--border-2);
57
+ :is(.input, .range, .checkbox, .radio) {
58
+ /* Keyboard navigation */
59
+ &:focus-visible {
60
+ outline: var(--border-2) solid var(--color-primary);
61
+ outline-offset: var(--border-2);
62
+ }
63
+
64
+ /* Server side validation */
65
+ .field_with_errors & {
66
+ border-color: var(--color-negative);
67
+ }
51
68
  }
@@ -0,0 +1,33 @@
1
+ :where(.pagination) {
2
+ align-items: center;
3
+ display: flex;
4
+ gap: var(--size-1);
5
+
6
+ img {
7
+ filter: var(--color-filter-text);
8
+ }
9
+
10
+ a {
11
+ align-items: center;
12
+ border-radius: var(--rounded-md);
13
+ display: inline-flex;
14
+ font-size: var(--text-sm);
15
+ font-weight: var(--font-medium);
16
+ gap: var(--size-2);
17
+ justify-content: center;
18
+ min-inline-size: fit-content;
19
+ padding: var(--size-2) var(--size-4);
20
+ }
21
+
22
+ a:is([aria-current]) {
23
+ border-width: var(--border);
24
+ }
25
+
26
+ a:is([aria-disabled]) {
27
+ pointer-events: none;
28
+ }
29
+
30
+ a:not([aria-disabled]):hover {
31
+ background-color: var(--color-border-light);
32
+ }
33
+ }
@@ -1,5 +1,5 @@
1
1
  .progress {
2
- --track: var(--color-secondary);
2
+ --track: var(--color-border-light);
3
3
  --progress: var(--color-primary);
4
4
 
5
5
  background-color: var(--track);
@@ -0,0 +1,135 @@
1
+ :where(.prose) {
2
+ -moz-osx-font-smoothing: grayscale;
3
+ -webkit-font-smoothing: antialiased;
4
+ font-size: clamp(1rem, 2.5cqi, 1.4rem);
5
+
6
+ :is(h1, h2, h3, h4, h5, h6) {
7
+ font-weight: 800;
8
+ hyphens: auto;
9
+ letter-spacing: -0.02ch;
10
+ line-height: 1.1;
11
+ margin-block: 0.65em;
12
+ overflow-wrap: break-word;
13
+ text-wrap: balance;
14
+ }
15
+
16
+ h1 {
17
+ font-size: 2em;
18
+ }
19
+
20
+ h2 {
21
+ font-size: 1.5em;
22
+ }
23
+
24
+ h3 {
25
+ font-size: 1.17em;
26
+ }
27
+
28
+ h4 {
29
+ font-size: 1em;
30
+ }
31
+
32
+ h5 {
33
+ font-size: 0.83em;
34
+ }
35
+
36
+ h6 {
37
+ font-size: 0.67em;
38
+ }
39
+
40
+ :is(ul, ol, menu) {
41
+ list-style: revert;
42
+ padding-inline-start: revert;
43
+ }
44
+
45
+ :is(p, ul, ol, dl, blockquote, pre, figure, table, hr) {
46
+ margin-block: 0.65lh;
47
+ overflow-wrap: break-word;
48
+ text-wrap: pretty;
49
+ }
50
+
51
+ hr {
52
+ border-color: var(--color-border-dark);
53
+ border-style: var(--border-style, solid) none none;
54
+ margin: 2lh auto;
55
+ }
56
+
57
+ :is(b, strong) {
58
+ font-weight: 700;
59
+ }
60
+
61
+ :is(pre, code) {
62
+ background-color: var(--color-border-light);
63
+ border: 1px solid var(--color-border);
64
+ border-radius: 0.3em;
65
+ font-family: var(--font-monospace-code);
66
+ font-size: 0.85em;
67
+ }
68
+
69
+ code {
70
+ padding: 0.1em 0.3em;
71
+ white-space: pre-wrap;
72
+ }
73
+
74
+ pre {
75
+ border-radius: 0.5em;
76
+ padding: 0.5lh 2ch;
77
+ }
78
+
79
+ pre code {
80
+ background-color: transparent;
81
+ border: 0;
82
+ font-size: 1em;
83
+ padding: 0;
84
+ }
85
+
86
+ p {
87
+ hyphens: auto;
88
+ letter-spacing: -0.005ch;
89
+ }
90
+
91
+ blockquote {
92
+ font-style: italic;
93
+ margin: 0 3ch;
94
+ }
95
+
96
+ blockquote p {
97
+ hyphens: none;
98
+ }
99
+
100
+ table {
101
+ border: 1px solid var(--color-border-dark);
102
+ border-collapse: collapse;
103
+ margin: 1lh 0;
104
+ }
105
+
106
+ th {
107
+ font-weight: 700;
108
+ }
109
+
110
+ :is(th, td) {
111
+ border: 1px solid var(--color-border-dark);
112
+ padding: 0.2lh 1ch;
113
+ text-align: start;
114
+ }
115
+
116
+ th {
117
+ border-block-end-width: 3px;
118
+ }
119
+
120
+ del {
121
+ background-color: hsl(from var(--color-negative) h s l / .1);
122
+ color: var(--color-negative);
123
+ }
124
+
125
+ ins {
126
+ background-color: hsl(from var(--color-positive) h s l / .1);
127
+ color: var(--color-positive);
128
+ }
129
+
130
+ a {
131
+ color: var(--blue-700);
132
+ text-decoration: underline;
133
+ text-decoration-skip-ink: auto;
134
+ }
135
+ }
@@ -30,7 +30,7 @@
30
30
  }
31
31
 
32
32
  &:focus-visible {
33
- outline: var(--border-2) solid var(--color-border-darker);
33
+ outline: var(--border-2) solid var(--color-primary);
34
34
  outline-offset: var(--border-2);
35
35
  }
36
36
 
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  tfoot {
23
- background-color: var(--color-secondary);
23
+ background-color: var(--color-border-light);
24
24
  border-block-start-width: var(--border);
25
25
  font-weight: var(--font-medium);
26
26
  }
@@ -1,9 +1,17 @@
1
1
  import { Controller } from "@hotwired/stimulus"
2
2
 
3
3
  export default class extends Controller {
4
- static targets = [ "summary" ]
4
+ static targets = [ "details" ]
5
+
6
+ open() {
7
+ this.detailsTarget.open = true
8
+ }
9
+
10
+ close() {
11
+ this.detailsTarget.open = false
12
+ }
5
13
 
6
14
  toggle() {
7
- this.summaryTarget.click()
15
+ this.detailsTarget.open ? this.close() : this.open()
8
16
  }
9
17
  }
@@ -4,8 +4,9 @@
4
4
  --color-text: black;
5
5
  --color-text-reversed: white;
6
6
  --color-text-subtle: var(--zinc-500);
7
+ --color-border-light: var(--zinc-100);
7
8
  --color-border: var(--zinc-200);
8
- --color-border-darker: var(--zinc-400);
9
+ --color-border-dark: var(--zinc-400);
9
10
 
10
11
  /* Accent colors */
11
12
  --color-primary: var(--zinc-900);
@@ -26,8 +27,9 @@
26
27
  --color-text: white;
27
28
  --color-text-reversed: black;
28
29
  --color-text-subtle: var(--zinc-400);
30
+ --color-border-light: var(--zinc-800);
29
31
  --color-border: var(--zinc-800);
30
- --color-border-darker: var(--zinc-300);
32
+ --color-border-dark: var(--zinc-600);
31
33
 
32
34
  /* Accent colors */
33
35
  --color-primary: var(--zinc-50);
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.17
4
+ version: 0.0.19
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-07-06 00:00:00.000000000 Z
11
+ date: 2024-07-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: lazaronixon@hotmail.com
@@ -30,6 +30,7 @@ files:
30
30
  - app/assets/stylesheets/transition.css
31
31
  - app/assets/stylesheets/typography.css
32
32
  - app/assets/stylesheets/zutilities.css
33
+ - app/helpers/dialog_helper.rb
33
34
  - lib/css-zero.rb
34
35
  - lib/css_zero/engine.rb
35
36
  - lib/css_zero/version.rb
@@ -37,8 +38,10 @@ files:
37
38
  - lib/generators/css_zero/add/add_generator.rb
38
39
  - lib/generators/css_zero/add/resources.yml
39
40
  - lib/generators/css_zero/add/templates/app/assets/images/chevron-down.svg
41
+ - lib/generators/css_zero/add/templates/app/assets/images/chevron-left.svg
40
42
  - lib/generators/css_zero/add/templates/app/assets/images/chevron-right.svg
41
43
  - lib/generators/css_zero/add/templates/app/assets/images/circle-alert.svg
44
+ - lib/generators/css_zero/add/templates/app/assets/images/ellipsis.svg
42
45
  - lib/generators/css_zero/add/templates/app/assets/images/loader-circle.svg
43
46
  - lib/generators/css_zero/add/templates/app/assets/images/select-arrow.svg
44
47
  - lib/generators/css_zero/add/templates/app/assets/images/x.svg
@@ -51,7 +54,9 @@ files:
51
54
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css
52
55
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css
53
56
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css
57
+ - lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css
54
58
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css
59
+ - lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css
55
60
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css
56
61
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css
57
62
  - lib/generators/css_zero/add/templates/app/javascript/controllers/collapsible_controller.js