css-zero 0.0.14 → 0.0.16
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 +4 -4
- data/README.md +18 -14
- data/app/assets/stylesheets/_reset.css +6 -6
- data/app/assets/stylesheets/zutilities.css +4 -0
- data/lib/css_zero/version.rb +1 -1
- data/lib/generators/css_zero/add/resources.yml +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +9 -8
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css +1 -1
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js +21 -0
- data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +25 -13
- metadata +3 -3
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_control_controller.js +0 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 25eac2e80a7b075843033e5db405786dd14e9f802cb47ce2fd1f0375e7841565
|
|
4
|
+
data.tar.gz: 52cd0c2ed8d8eb740d44e29210ff8652088cac7509ccf024a957f837ada2cfc2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 39e8b29cb429cf7e8d4d180682c17cef15e5105f51fc9c0b88ece548f688a41558569f2aeda76bf9365df202b6e01f791dd7520b5225ef0357a80e1d0a39ed70
|
|
7
|
+
data.tar.gz: 52d7914ad684c3b27766979afa42834796a361846dc679d2a44300ed1858a92490f1f5c09665b0bb40a0e4671303de8402dc4127eda6ab25d8cebc7df389318c
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CSS Zero
|
|
2
2
|
|
|
3
|
-
An opinionated CSS starter kit for your application. You can think of it like a "no build" Tailwind CSS.
|
|
3
|
+
An opinionated CSS starter kit for your Ruby on Rails application. You can think of it like a "no build" Tailwind CSS.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -227,8 +227,8 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
|
|
|
227
227
|
<summary>Show me the code</summary>
|
|
228
228
|
|
|
229
229
|
```html+erb
|
|
230
|
-
<div>
|
|
231
|
-
<dialog
|
|
230
|
+
<div data-controller="dialog">
|
|
231
|
+
<dialog data-dialog-target="box" class="dialog">
|
|
232
232
|
<h1 class="text-lg font-semibold">Are you absolutely sure?</h1>
|
|
233
233
|
<p class="text-sm text-subtle mbs-2">This action cannot be undone. This will permanently delete your account and remove your data from our servers.</p>
|
|
234
234
|
|
|
@@ -238,8 +238,8 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
|
|
|
238
238
|
</div>
|
|
239
239
|
</dialog>
|
|
240
240
|
|
|
241
|
-
<button class="btn" data-
|
|
242
|
-
Show
|
|
241
|
+
<button class="btn" data-action="dialog#showModal">
|
|
242
|
+
Show dialog
|
|
243
243
|
</button>
|
|
244
244
|
</div>
|
|
245
245
|
```
|
|
@@ -247,18 +247,20 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
|
|
|
247
247
|
|
|
248
248
|
#### Dismissible Dialog
|
|
249
249
|
|
|
250
|
-
<img width="400" alt="
|
|
250
|
+
<img width="400" alt="dismissible_dialog" src="https://github.com/lazaronixon/css-zero/assets/2651240/50c8af20-46bb-4bf9-a233-78877f49e086">
|
|
251
251
|
|
|
252
252
|
<details>
|
|
253
253
|
<summary>Show me the code</summary>
|
|
254
254
|
|
|
255
255
|
```html+erb
|
|
256
|
-
<div>
|
|
257
|
-
<dialog
|
|
258
|
-
<
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
<div data-controller="dialog">
|
|
257
|
+
<dialog data-dialog-target="box" data-action="click->dialog#closeOnClickOutside" class="dialog" style="max-inline-size: 430px;">
|
|
258
|
+
<form method="dialog">
|
|
259
|
+
<button class="btn btn--plain p-0 dialog__close">
|
|
260
|
+
<%= image_tag "x.svg", aria: { hidden: "true" }, size: 16 %>
|
|
261
|
+
<span class="sr-only">Close</span>
|
|
262
|
+
</button>
|
|
263
|
+
</form>
|
|
262
264
|
|
|
263
265
|
<div class="flex flex-col gap">
|
|
264
266
|
<div class="flex flex-col gap-sm">
|
|
@@ -284,8 +286,8 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
|
|
|
284
286
|
</div>
|
|
285
287
|
</dialog>
|
|
286
288
|
|
|
287
|
-
<button class="btn"
|
|
288
|
-
Show
|
|
289
|
+
<button class="btn" data-action="dialog#showModal">
|
|
290
|
+
Show dialog
|
|
289
291
|
</button>
|
|
290
292
|
</div>
|
|
291
293
|
```
|
|
@@ -411,6 +413,8 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
|
|
|
411
413
|
```
|
|
412
414
|
</details>
|
|
413
415
|
|
|
416
|
+
### More components soon...
|
|
417
|
+
|
|
414
418
|
## Development
|
|
415
419
|
|
|
416
420
|
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).
|
|
@@ -60,7 +60,7 @@ body {
|
|
|
60
60
|
*/
|
|
61
61
|
|
|
62
62
|
hr {
|
|
63
|
-
|
|
63
|
+
block-size: 0; /* 1 */
|
|
64
64
|
color: inherit; /* 2 */
|
|
65
65
|
border-block-start-width: 1px; /* 3 */
|
|
66
66
|
}
|
|
@@ -155,11 +155,11 @@ sup {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
sub {
|
|
158
|
-
|
|
158
|
+
inset-block-end: -0.25em;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
sup {
|
|
162
|
-
|
|
162
|
+
inset-block-start: -0.5em;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
/*
|
|
@@ -242,7 +242,7 @@ progress {
|
|
|
242
242
|
|
|
243
243
|
::-webkit-inner-spin-button,
|
|
244
244
|
::-webkit-outer-spin-button {
|
|
245
|
-
|
|
245
|
+
block-size: auto;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
/*
|
|
@@ -321,8 +321,8 @@ object {
|
|
|
321
321
|
|
|
322
322
|
img,
|
|
323
323
|
video {
|
|
324
|
-
max-
|
|
325
|
-
|
|
324
|
+
max-inline-size: 100%;
|
|
325
|
+
block-size: auto;
|
|
326
326
|
}
|
|
327
327
|
|
|
328
328
|
/*
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
.items-center { align-items: center; }
|
|
17
17
|
|
|
18
18
|
.grow { flex-grow: 1; }
|
|
19
|
+
.grow-0 { flex-grow: 0; }
|
|
20
|
+
|
|
21
|
+
.shrink { flex-shrink: 1; }
|
|
19
22
|
.shrink-0 { flex-shrink: 0; }
|
|
20
23
|
|
|
21
24
|
.self-start { align-self: start; }
|
|
@@ -85,6 +88,7 @@
|
|
|
85
88
|
.bg-main { background-color: var(--color-bg); }
|
|
86
89
|
.bg-black { background-color: var(--color-text); }
|
|
87
90
|
.bg-white { background-color: var(--color-text-reversed); }
|
|
91
|
+
.bg-shade { background-color: var(--color-secondary); }
|
|
88
92
|
.bg-transparent { background-color: transparent; }
|
|
89
93
|
|
|
90
94
|
/****************************************************************
|
data/lib/css_zero/version.rb
CHANGED
|
@@ -13,7 +13,7 @@ card:
|
|
|
13
13
|
dialog:
|
|
14
14
|
- app/assets/stylesheets/dialog.css
|
|
15
15
|
- app/assets/images/x.svg
|
|
16
|
-
- app/javascript/controllers/
|
|
16
|
+
- app/javascript/controllers/dialog_controller.js
|
|
17
17
|
input:
|
|
18
18
|
- app/assets/stylesheets/input.css
|
|
19
19
|
- app/assets/images/select-arrow.svg
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
font-weight: var(--font-medium);
|
|
12
12
|
gap: var(--size-2);
|
|
13
13
|
justify-content: center;
|
|
14
|
+
min-inline-size: fit-content;
|
|
14
15
|
padding: var(--size-2) var(--size-4);
|
|
15
16
|
text-align: center;
|
|
16
|
-
white-space: nowrap;
|
|
17
17
|
|
|
18
18
|
img:not([class]) {
|
|
19
19
|
filter: var(--btn-icon-color, var(--color-filter-text-reversed));
|
|
@@ -18,31 +18,31 @@
|
|
|
18
18
|
transform: var(--scale-95);
|
|
19
19
|
transition-behavior: allow-discrete;
|
|
20
20
|
transition-duration: var(--time-150);
|
|
21
|
-
transition-property: display overlay opacity transform;
|
|
21
|
+
transition-property: display, overlay, opacity, transform;
|
|
22
22
|
|
|
23
23
|
&::backdrop {
|
|
24
24
|
opacity: 0;
|
|
25
25
|
transition-behavior: allow-discrete;
|
|
26
26
|
transition-duration: var(--time-150);
|
|
27
|
-
transition-property: display overlay opacity;
|
|
27
|
+
transition-property: display, overlay, opacity;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/* In animation */
|
|
31
|
-
|
|
31
|
+
&[open] {
|
|
32
32
|
opacity: 1; transform: var(--scale-100);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
&[open]::backdrop {
|
|
36
36
|
opacity: 1;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
/* Out animation */
|
|
40
40
|
@starting-style {
|
|
41
|
-
|
|
41
|
+
&[open] {
|
|
42
42
|
opacity: 0; transform: var(--scale-95);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
&[open]::backdrop {
|
|
46
46
|
opacity: 0;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -54,11 +54,12 @@
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
.dialog__close {
|
|
57
|
+
inset-block-start: var(--size-4);
|
|
58
|
+
inset-inline-end: var(--size-4);
|
|
57
59
|
position: absolute;
|
|
58
|
-
inset: var(--size-4) var(--size-4) auto auto;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
/* Prevent page scroll when dialog is open */
|
|
62
|
-
html:has(.dialog
|
|
63
|
+
html:has(.dialog[open]) {
|
|
63
64
|
overflow: hidden;
|
|
64
65
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
|
2
|
+
|
|
3
|
+
export default class extends Controller {
|
|
4
|
+
static targets = [ "box" ]
|
|
5
|
+
|
|
6
|
+
show() {
|
|
7
|
+
this.boxTarget.show()
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
showModal() {
|
|
11
|
+
this.boxTarget.showModal()
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
close() {
|
|
15
|
+
this.boxTarget.close()
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
closeOnClickOutside({ target }) {
|
|
19
|
+
if (target.nodeName === "DIALOG") this.close()
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
/* Color Scheme */
|
|
3
|
-
color-scheme: light dark;
|
|
4
|
-
|
|
5
2
|
/* Abstractions */
|
|
6
|
-
--color-bg:
|
|
7
|
-
--color-text:
|
|
8
|
-
--color-text-reversed:
|
|
9
|
-
--color-text-subtle:
|
|
10
|
-
--color-border:
|
|
11
|
-
--color-border-darker:
|
|
3
|
+
--color-bg: white;
|
|
4
|
+
--color-text: black;
|
|
5
|
+
--color-text-reversed: white;
|
|
6
|
+
--color-text-subtle: var(--zinc-500);
|
|
7
|
+
--color-border: var(--zinc-200);
|
|
8
|
+
--color-border-darker: var(--zinc-400);
|
|
12
9
|
|
|
13
10
|
/* Accent colors */
|
|
14
|
-
--color-primary:
|
|
15
|
-
--color-secondary:
|
|
16
|
-
--color-negative:
|
|
17
|
-
--color-positive:
|
|
11
|
+
--color-primary: var(--zinc-900);
|
|
12
|
+
--color-secondary: var(--zinc-100);
|
|
13
|
+
--color-negative: var(--red-600);
|
|
14
|
+
--color-positive: var(--green-600);
|
|
18
15
|
|
|
19
16
|
/* SVG color values */
|
|
20
17
|
--color-filter-text: invert(0);
|
|
@@ -23,6 +20,21 @@
|
|
|
23
20
|
--color-filter-positive: invert(48%) sepia(74%) saturate(520%) hue-rotate(90deg) brightness(89%) contrast(90%);
|
|
24
21
|
|
|
25
22
|
@media (prefers-color-scheme: dark) {
|
|
23
|
+
/* Abstractions */
|
|
24
|
+
--color-bg: var(--zinc-950);
|
|
25
|
+
--color-text: white;
|
|
26
|
+
--color-text-reversed: black;
|
|
27
|
+
--color-text-subtle: var(--zinc-400);
|
|
28
|
+
--color-border: var(--zinc-800);
|
|
29
|
+
--color-border-darker: var(--zinc-300);
|
|
30
|
+
|
|
31
|
+
/* Accent colors */
|
|
32
|
+
--color-primary: var(--zinc-50);
|
|
33
|
+
--color-secondary: var(--zinc-800);
|
|
34
|
+
--color-negative: var(--red-900);
|
|
35
|
+
--color-positive: var(--green-900);
|
|
36
|
+
|
|
37
|
+
/* SVG color values */
|
|
26
38
|
--color-filter-text: invert(100%);
|
|
27
39
|
--color-filter-text-reversed: invert(0);
|
|
28
40
|
--color-filter-negative: invert(15%) sepia(83%) saturate(2066%) hue-rotate(345deg) brightness(87%) contrast(88%);
|
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.
|
|
4
|
+
version: 0.0.16
|
|
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-
|
|
11
|
+
date: 2024-07-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description:
|
|
14
14
|
email: lazaronixon@hotmail.com
|
|
@@ -51,7 +51,7 @@ files:
|
|
|
51
51
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css
|
|
52
52
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css
|
|
53
53
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css
|
|
54
|
-
- lib/generators/css_zero/add/templates/app/javascript/controllers/
|
|
54
|
+
- lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js
|
|
55
55
|
- lib/generators/css_zero/install/USAGE
|
|
56
56
|
- lib/generators/css_zero/install/install_generator.rb
|
|
57
57
|
- lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css
|
data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_control_controller.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Controller } from "@hotwired/stimulus"
|
|
2
|
-
|
|
3
|
-
export default class extends Controller {
|
|
4
|
-
static values = { target: String }
|
|
5
|
-
|
|
6
|
-
close() {
|
|
7
|
-
document.getElementById(this.targetValue).close()
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
show() {
|
|
11
|
-
document.getElementById(this.targetValue).show()
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
showModal() {
|
|
15
|
-
document.getElementById(this.targetValue).showModal()
|
|
16
|
-
}
|
|
17
|
-
}
|