css-zero 4.0.2 → 4.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69a344da6cc617d2132cb91f0ba9912e68194ad31b5d751657c3bb69cd56ffe3
4
- data.tar.gz: 822f6f73459d60c11e97cb87174419ea533e9d48de2c686b1c9b35b6f58494ea
3
+ metadata.gz: 102ef4b7727a825a523e0aa058e503f788e591b5ae9239eb14340fc9edb378a1
4
+ data.tar.gz: 16a552a5832745f62b46643b0418d43ade6297b3f0e214f649f2160245eb7dc8
5
5
  SHA512:
6
- metadata.gz: cd7f4fb30f2d00e6c505736ef0e3434da566997fc451d6d3748b8b5a63c800721eecd747ca4c7688c5ccdd6a355ad9ab4b7182dcc8aefb8a42aabf6c60b6ef76
7
- data.tar.gz: 0ac061455ac6952b5f7dcbe9fdf6714d4ced0245c75558c56816b5d998c282f09249512551384dbc49a7ebdaef8085596038110071ce7d6e6433498e69d479a8
6
+ metadata.gz: 406054c28bb36ab1883a09cb8469c1ec9aa9ea2d19feb26efbe4a6ca4dd53a27a802c1007008c435c396b3cc54925a2809ad11edfeb31eba4b99d970b358621c
7
+ data.tar.gz: 47978e63fa903de1e63e8f7ccc9148b38f77f353e16e28302824dccb4c4d1720653c980832b2d133f235bc9ceb7527a63518927b4a4ebe6f2de284d5b9dc3b83
data/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## 4.1.0 - 2026-08-11
2
+ - Add --color-surface-negative
3
+ - Add --color-text-negative
4
+ - Add .bg-negative
5
+ - Remove --color-negative
6
+ - Remove --color-positive
7
+ - Remove positive variants
8
+ - Remove .text-positive
9
+ - Cosmetic dropzone text message
10
+ - Table with checkbox
11
+
12
+ ## 4.0.3 - 2026-08-10
13
+ - Add data-sound-volume-value
14
+ - Button sizes
15
+ - Avatar sizes
16
+ - Switch small
17
+ - Adjust icon sizes
18
+
1
19
  ## 4.0.2 - 2026-08-09
2
20
  - Introduce --btn-column-gap
3
21
  - Add avatar badge
@@ -66,8 +66,7 @@
66
66
  .text-primary { color: var(--color-text); }
67
67
  .text-reversed { color: var(--color-text-reversed); }
68
68
  .text-subtle { color: var(--color-text-subtle); }
69
- .text-positive { color: var(--color-positive); }
70
- .text-negative { color: var(--color-negative); }
69
+ .text-negative { color: var(--color-text-negative); }
71
70
  .text-link { color: var(--color-link); text-decoration: underline; }
72
71
 
73
72
  .text-xs { font-size: var(--text-xs); }
@@ -90,6 +89,7 @@
90
89
  .bg-shade { background-color: var(--color-border-light); }
91
90
  .bg-selected { background-color: var(--color-selected); }
92
91
  .bg-highlight { background-color: var(--color-highlight); }
92
+ .bg-negative { background-color: var(--color-surface-negative); }
93
93
  .bg-transparent { background-color: transparent; }
94
94
 
95
95
  /****************************************************************
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "4.0.2"
2
+ VERSION = "4.1.0"
3
3
  end
@@ -8,10 +8,6 @@
8
8
  padding: var(--size-2) var(--size-2_5);
9
9
  }
10
10
 
11
- .alert--positive {
12
- --alert-color: light-dark(var(--green-600), var(--green-400));
13
- }
14
-
15
11
  .alert--negative {
16
12
  --alert-color: light-dark(var(--red-600), var(--red-400));
17
13
  }
@@ -40,13 +40,17 @@
40
40
  inline-size: var(--size-full);
41
41
  justify-content: center;
42
42
  user-select: none;
43
-
44
- .icon {
45
- --icon-size: 1em;
46
- }
47
43
  }
48
44
  }
49
45
 
46
+ .avatar--sm {
47
+ --avatar-size: var(--size-6);
48
+ }
49
+
50
+ .avatar--lg {
51
+ --avatar-size: var(--size-10);
52
+ }
53
+
50
54
  .avatar__badge {
51
55
  background-color: var(--avatar-badge-color, var(--color-primary));
52
56
  block-size: var(--avatar-badge-size);
@@ -16,7 +16,7 @@
16
16
  white-space: nowrap;
17
17
 
18
18
  .icon {
19
- --icon-size: 1em;
19
+ --icon-size: var(--size-3);
20
20
  }
21
21
  }
22
22
 
@@ -32,14 +32,8 @@
32
32
  --badge-color: var(--color-text);
33
33
  }
34
34
 
35
- .badge--positive {
36
- --badge-background: var(--color-positive);
37
- --badge-border-color: transparent;
38
- --badge-color: white;
39
- }
40
-
41
35
  .badge--negative {
42
- --badge-background: var(--color-negative);
36
+ --badge-background: var(--color-surface-negative);
43
37
  --badge-border-color: transparent;
44
- --badge-color: white;
38
+ --badge-color: var(--color-text-negative);
45
39
  }
@@ -17,6 +17,10 @@
17
17
  position: relative;
18
18
  white-space: nowrap;
19
19
 
20
+ .icon {
21
+ --icon-size: var(--btn-icon-size, 1rem);
22
+ }
23
+
20
24
  &:hover {
21
25
  background-color: var(--btn-hover-color, var(--color-border-light));
22
26
  }
@@ -31,6 +35,8 @@
31
35
  }
32
36
  }
33
37
 
38
+ /* Variants */
39
+
34
40
  .btn--primary {
35
41
  --btn-background: var(--color-primary);
36
42
  --btn-border-color: transparent;
@@ -50,18 +56,11 @@
50
56
  --btn-box-shadow: none;
51
57
  }
52
58
 
53
- .btn--positive {
54
- --btn-background: var(--color-positive);
55
- --btn-border-color: transparent;
56
- --btn-color: white;
57
- --btn-hover-color: rgb(from var(--color-positive) r g b / .9);
58
- }
59
-
60
59
  .btn--negative {
61
- --btn-background: var(--color-negative);
60
+ --btn-background: var(--color-surface-negative);
62
61
  --btn-border-color: transparent;
63
- --btn-color: white;
64
- --btn-hover-color: rgb(from var(--color-negative) r g b / .9);
62
+ --btn-color: var(--color-text-negative);
63
+ --btn-hover-color: rgb(from var(--color-surface-negative) r g b / .9);
65
64
  }
66
65
 
67
66
  .btn--plain {
@@ -76,6 +75,36 @@
76
75
  --btn-padding: var(--size-1_5);
77
76
  }
78
77
 
78
+ /* Sizes */
79
+
80
+ .btn--xs {
81
+ --btn-font-size: var(--text-xs);
82
+ --btn-padding: var(--size-0_5) var(--size-2);
83
+ }
84
+
85
+ .btn--icon-xs {
86
+ --btn-icon-size: var(--size-3_5);
87
+ --btn-padding: var(--size-1);
88
+ }
89
+
90
+ .btn--sm {
91
+ --btn-padding: var(--size-0_5) var(--size-2_5);
92
+ }
93
+
94
+ .btn--icon-sm {
95
+ --btn-padding: var(--size-1);
96
+ }
97
+
98
+ .btn--lg {
99
+ --btn-padding: var(--size-1_5) var(--size-3);
100
+ }
101
+
102
+ .btn--icon-lg {
103
+ --btn-padding: var(--size-2);
104
+ }
105
+
106
+ /* Extras */
107
+
79
108
  .btn--feedback {
80
109
  transition-duration: var(--time-150);
81
110
  transition-property: transform;
@@ -131,7 +131,7 @@
131
131
  }
132
132
 
133
133
  .invalid .ts-control {
134
- border-color: var(--color-negative);
134
+ border-color: var(--color-text-negative);
135
135
  }
136
136
 
137
137
  [data-controller~="combobox"] {
@@ -11,13 +11,15 @@
11
11
  }
12
12
 
13
13
  .dropzone .dz-preview .dz-error-message {
14
- background: var(--color-negative);
14
+ background: var(--color-surface-negative);
15
+ color: var(--color-text-negative);
15
16
  text-align: center;
16
17
  text-wrap: balance;
18
+ overflow-wrap: anywhere;
17
19
  }
18
20
 
19
21
  .dropzone .dz-preview .dz-error-message::after {
20
- border-bottom: 6px solid var(--color-negative);
22
+ border-bottom: 6px solid var(--color-surface-negative);
21
23
  }
22
24
 
23
25
  .dropzone .dz-preview:has(.dz-remove) .dz-error-message {
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  &:user-invalid {
46
- border-color: var(--color-negative);
46
+ border-color: var(--color-text-negative);
47
47
  }
48
48
 
49
49
  &:user-invalid + [feedback] {
@@ -59,7 +59,7 @@
59
59
  }
60
60
 
61
61
  .field_with_errors & {
62
- border-color: var(--color-negative);
62
+ border-color: var(--color-text-negative);
63
63
  }
64
64
  }
65
65
 
@@ -44,3 +44,7 @@
44
44
  cursor: not-allowed; opacity: var(--opacity-50);
45
45
  }
46
46
  }
47
+
48
+ .switch--sm {
49
+ --switch-size: var(--size-3);
50
+ }
@@ -20,6 +20,10 @@
20
20
  background-color: rgb(from var(--color-border-light) r g b / .5);
21
21
  }
22
22
 
23
+ tr:has(:checked) {
24
+ background-color: var(--color-border-light);
25
+ }
26
+
23
27
  th {
24
28
  font-weight: var(--font-medium);
25
29
  text-align: start;
@@ -2,69 +2,73 @@ import { Controller } from "@hotwired/stimulus"
2
2
  import { play } from "https://esm.sh/cuelume@0.2.2?standalone"
3
3
 
4
4
  export default class extends Controller {
5
- static values = { connect: String, disconnect: String }
5
+ static values = { connect: String, disconnect: String, volume: { type: Number, default: 1 } }
6
6
 
7
7
  connect() {
8
- this.hasConnectValue && play(this.connectValue)
8
+ this.hasConnectValue && this.#play(this.connectValue)
9
9
  }
10
10
 
11
11
  disconnect() {
12
- this.hasDisconnectValue && play(this.disconnectValue)
12
+ this.hasDisconnectValue && this.#play(this.disconnectValue)
13
13
  }
14
14
 
15
15
  chime() {
16
- play("chime")
16
+ this.#play("chime")
17
17
  }
18
18
 
19
19
  sparkle() {
20
- play("sparkle")
20
+ this.#play("sparkle")
21
21
  }
22
22
 
23
23
  droplet() {
24
- play("droplet")
24
+ this.#play("droplet")
25
25
  }
26
26
 
27
27
  bloom() {
28
- play("bloom")
28
+ this.#play("bloom")
29
29
  }
30
30
 
31
31
  whisper() {
32
- play("whisper")
32
+ this.#play("whisper")
33
33
  }
34
34
 
35
35
  tick() {
36
- play("tick")
36
+ this.#play("tick")
37
37
  }
38
38
 
39
39
  press() {
40
- play("press")
40
+ this.#play("press")
41
41
  }
42
42
 
43
43
  release() {
44
- play("release")
44
+ this.#play("release")
45
45
  }
46
46
 
47
47
  toggle() {
48
- play("toggle")
48
+ this.#play("toggle")
49
49
  }
50
50
 
51
51
  success() {
52
- play("success")
52
+ this.#play("success")
53
53
  }
54
54
 
55
55
  error() {
56
- play("error")
56
+ this.#play("error")
57
57
  }
58
58
 
59
59
  page() {
60
- play("page")
60
+ this.#play("page")
61
61
  }
62
62
 
63
63
  loading() {
64
- play("loading")
64
+ this.#play("loading")
65
65
  }
66
66
 
67
67
  ready() {
68
- play("ready")
68
+ this.#play("ready")
69
+ }
70
+
71
+ #play(sound) {
72
+ play(sound, { volume: this.volumeValue })
69
73
  }
70
74
  }
@@ -1,9 +1,11 @@
1
1
  :root {
2
2
  --color-bg: light-dark(white, var(--zinc-950));
3
3
  --color-surface: light-dark(white, var(--zinc-900));
4
+ --color-surface-negative: light-dark(var(--red-100), var(--red-950));
4
5
  --color-text: light-dark(var(--zinc-950), white);
5
6
  --color-text-reversed: light-dark(white, var(--zinc-950));
6
7
  --color-text-subtle: light-dark(var(--zinc-500), var(--zinc-400));
8
+ --color-text-negative: light-dark(var(--red-600), var(--red-400));
7
9
  --color-link: light-dark(var(--blue-700), var(--blue-400));
8
10
  --color-border-light: light-dark(var(--zinc-100), var(--zinc-800));
9
11
  --color-border: light-dark(var(--zinc-200), var(--zinc-700));
@@ -13,8 +15,6 @@
13
15
  --color-highlight: light-dark(var(--yellow-200), var(--yellow-900));
14
16
  --color-primary: light-dark(var(--zinc-900), var(--zinc-50));
15
17
  --color-secondary: light-dark(var(--zinc-100), var(--zinc-800));
16
- --color-negative: light-dark(var(--red-600), var(--red-600));
17
- --color-positive: light-dark(var(--green-700), var(--green-700));
18
18
  }
19
19
 
20
20
  * {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: css-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lázaro Nixon