css-zero 0.0.40 → 0.0.42

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: 4b3d3e06335e4a698ebc061696a679ed778bb627ec9d7d7ecf860aab7e802212
4
- data.tar.gz: f78370339a7f2608e198498814810f3601b5ee77556fc548edf6461a611a7e4d
3
+ metadata.gz: 9147bdaa40d0da67f7bfa6c4ee6ec20485051188a857184f858c051148a544b6
4
+ data.tar.gz: efc47b5ed912f4a6739482d492e65523ffa95dea8d5c237e44ff1a94ce2b9f88
5
5
  SHA512:
6
- metadata.gz: 25d4acd29c0c630f307c20e49d1650b4f54df0f5afe49cfd20016c293edbdc54e296b631fa3e66cad4b5f90adec0fd3383f9252107716bc90c9fd353cad7c736
7
- data.tar.gz: d4b932c7b8114c315634fe90f52f30f6570faa360c6ef9bdeaabf2fe1432b1ea791cff439b8d97a0b2aa1ed78da940c1eb0633d698c3dfdbb3de8eea9ea88693
6
+ metadata.gz: cec2e300f215ab9f92d50cd61b6336ccbdb6189e071eb266841198fbda4b7ac6f20385832065674a4732f3e35677cb4e4382e483c0f6334423e082f4b73538fd
7
+ data.tar.gz: 16f064b7bc328519e52e58c635a1fc6941176d7e7098852072fb1dd7a209ccc7107e20108372a3bfba5037fe4101824d1fe77ae62a24a8f0e0d285c4e44385fb
data/README.md CHANGED
@@ -19,7 +19,7 @@ bin/rails generate css_zero:install
19
19
  Add only the components you need. (Optional)
20
20
 
21
21
  ```
22
- bin/rails generate css_zero:add accordion alert avatar badge breadcrumb button card carousel command collapsible dialog flash fullscreen hotkey input input_concerns layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs upload_preview toggle web_share
22
+ bin/rails generate css_zero:add accordion alert avatar badge breadcrumb button card carousel check_all command collapsible dialog flash fullscreen hotkey input input_concerns layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs upload_preview toggle web_share
23
23
  ```
24
24
 
25
25
  ### Requirements
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "0.0.40"
2
+ VERSION = "0.0.42"
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 carousel command collapsible dialog flash fullscreen hotkey input input_concerns layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs upload_preview toggle web_share
5
+ accordion alert avatar badge breadcrumb button card carousel check_call command collapsible dialog flash fullscreen hotkey input input_concerns layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs upload_preview toggle web_share
6
6
 
7
7
  Example:
8
8
  bin/rails generate css_zero:add [components...]
@@ -20,9 +20,11 @@ carousel:
20
20
  - app/javascript/controllers/carousel_controller.js
21
21
  - app/assets/images/arrow-left.svg
22
22
  - app/assets/images/arrow-right.svg
23
+ check_all:
24
+ - app/assets/stylesheets/check_all_controller.js
23
25
  command:
24
26
  - app/assets/stylesheets/command.css
25
- - app/javascript/controllers/command_controller.js
27
+ - app/javascript/controllers/filter_controller.js
26
28
  - app/assets/images/search.svg
27
29
  collapsible:
28
30
  - app/javascript/controllers/collapsible_controller.js
@@ -35,13 +37,13 @@ flash:
35
37
  - app/javascript/controllers/element_removal_controller.js
36
38
  fullscreen:
37
39
  - app/javascript/controllers/fullscreen_controller.js
38
- - app/assets/images/maximize.svg
39
40
  hotkey:
40
41
  - app/javascript/controllers/hotkey_controller.js
41
42
  input:
42
43
  - app/assets/stylesheets/input.css
43
44
  - app/assets/images/select-arrow.svg
44
45
  input_concerns:
46
+ - app/javascript/controllers/autoselect_controller.js
45
47
  - app/javascript/controllers/copyable_input_controller.js
46
48
  - app/assets/images/copy.svg
47
49
  - app/assets/images/check.svg
@@ -50,7 +52,6 @@ input_concerns:
50
52
  - app/javascript/controllers/revealable_input_controller.js
51
53
  - app/assets/images/eye.svg
52
54
  - app/assets/images/eye-off.svg
53
- - app/javascript/controllers/autoselect_controller.js
54
55
  layouts:
55
56
  - app/assets/stylesheets/layouts.css
56
57
  - app/assets/images/menu.svg
@@ -4,7 +4,7 @@
4
4
  display: flex;
5
5
  flex-wrap: wrap;
6
6
  font-size: var(--text-sm);
7
- gap: var(--size-2);
7
+ gap: var(--size-1);
8
8
  overflow-wrap: break-word;
9
9
 
10
10
  img {
@@ -15,7 +15,7 @@
15
15
  color: var(--color-text);
16
16
  }
17
17
 
18
- @media (width < 40rem) {
19
- gap: var(--size-1);
18
+ @media (width >= 40rem) {
19
+ gap: var(--size-2);
20
20
  }
21
21
  }
@@ -9,10 +9,11 @@
9
9
  font-size: var(--btn-font-size, var(--text-sm));
10
10
  font-weight: var(--btn-font-weight, var(--font-medium));
11
11
  gap: var(--size-2);
12
+ inline-size: var(--btn-inline-size, auto);
12
13
  justify-content: var(--btn-justify-content, center);
13
- white-space: nowrap;
14
14
  padding: var(--btn-padding, 0.5rem 1rem);
15
15
  text-align: center;
16
+ white-space: nowrap;
16
17
 
17
18
  img:not([class]) {
18
19
  filter: var(--btn-icon-color, var(--color-filter-text));
@@ -1,13 +1,14 @@
1
1
  .carousel__content {
2
2
  display: flex;
3
3
  gap: var(--size-6);
4
+ inline-size: var(--size-full);
4
5
  overflow: hidden;
5
6
  padding: var(--size-1);
6
7
  scroll-snap-type: x mandatory;
7
8
 
8
9
  > * {
9
- flex: 0 0 100%;
10
+ flex: 0 0 var(--carousel-item-size, 100%);
10
11
  scroll-snap-stop: always;
11
- scroll-snap-align: center;
12
+ scroll-snap-align: start;
12
13
  }
13
14
  }
@@ -10,9 +10,11 @@
10
10
  --input-background: transparent;
11
11
  --input-border-color: transparent;
12
12
  --input-outline-size: 0;
13
+ --input-padding: 0.75rem 1rem;
13
14
  }
14
15
 
15
16
  .command__list {
17
+ border-block-start-width: var(--border);
16
18
  max-block-size: 300px;
17
19
  overflow-y: auto;
18
20
  }
@@ -30,6 +32,13 @@
30
32
  padding: var(--size-1_5) var(--size-2);
31
33
  }
32
34
 
35
+ .command__empty {
36
+ display: none;
37
+ font-size: var(--text-sm);
38
+ justify-content: center;
39
+ padding-block: var(--size-6);
40
+ }
41
+
33
42
  .command__item {
34
43
  --btn-border-color: transparent;
35
44
  --btn-font-weight: var(--font-normal);
@@ -49,6 +58,7 @@
49
58
  }
50
59
 
51
60
  .command__list--filtering {
61
+ &:not(:has(.selected)) > .command__empty { display: flex; }
52
62
  .command__group { display: none; }
53
63
  .command__group:has(.selected) { display: flex; }
54
64
  .command__item { display: none; }
@@ -46,6 +46,7 @@
46
46
  }
47
47
  }
48
48
 
49
+ /* Drawer component on mobile */
49
50
  @media (width < 40rem) {
50
51
  border-end-end-radius: 0;
51
52
  border-end-start-radius: 0;
@@ -1,13 +1,28 @@
1
1
  .flash {
2
+ align-items: center;
2
3
  animation: appear-then-fade 4s 300ms both;
3
4
  background-color: var(--color-text);
4
5
  border-radius: var(--rounded-full);
5
6
  color: var(--color-text-reversed);
6
- margin-block-start: var(--size-4);
7
+ display: flex;
8
+ gap: var(--size-2);
9
+ inset: 0;
10
+ justify-content: center;
11
+ line-height: var(--leading-none);
12
+ margin-block-start: var(--flash-position, 0);
7
13
  margin-inline: auto;
8
- padding: var(--size-2) var(--size-4);
14
+ min-block-size: var(--size-11);
15
+ padding: var(--size-1) var(--size-4);
9
16
  position: fixed;
10
17
  text-align: center;
18
+
19
+ @media (width >= 40rem) {
20
+ font-size: var(--text-lg);
21
+ }
22
+
23
+ @media (width >= 64rem) {
24
+ font-size: var(--text-xl);
25
+ }
11
26
  }
12
27
 
13
28
  @keyframes appear-then-fade {
@@ -8,7 +8,7 @@
8
8
  padding: var(--input-padding, 0.5rem 1rem);
9
9
 
10
10
  option {
11
- padding-block: revert;
11
+ padding-block: 2px;
12
12
  }
13
13
 
14
14
  &:is(textarea[rows=auto]) {
@@ -7,7 +7,6 @@
7
7
  inline-size: var(--size-3-4);
8
8
  margin-inline: var(--sheet-margin);
9
9
  max-block-size: unset;
10
- max-inline-size: var(--max-i-sm);
11
10
 
12
11
  &::backdrop {
13
12
  background-color: rgba(0, 0, 0, .8);
@@ -46,8 +45,8 @@
46
45
  }
47
46
  }
48
47
 
49
- @media (width < 40rem) {
50
- max-inline-size: none;
48
+ @media (width >= 40rem) {
49
+ max-inline-size: var(--max-i-sm);
51
50
  }
52
51
  }
53
52
 
@@ -12,8 +12,7 @@
12
12
  --btn-background: transparent;
13
13
  --btn-border-color: transparent;
14
14
  --btn-hover-lightness: 100%;
15
-
16
- inline-size: var(--size-full);
15
+ --btn-inline-size: var(--size-full);
17
16
 
18
17
  &[aria-selected=true] {
19
18
  --btn-background: var(--color-bg);
@@ -0,0 +1,34 @@
1
+ import { Controller } from "@hotwired/stimulus"
2
+
3
+ export default class extends Controller {
4
+ static targets = [ "dependee", "dependant" ]
5
+
6
+ connect() {
7
+ this.#checkDependee()
8
+ }
9
+
10
+ check({ target }) {
11
+ target === this.dependeeTarget ? this.#checkDependants() : this.#checkDependee()
12
+ }
13
+
14
+ #checkDependants() {
15
+ this.dependantTargets.forEach(e => e.checked = this.dependeeTarget.checked)
16
+ }
17
+
18
+ #checkDependee() {
19
+ this.dependeeTarget.checked = this.#allChecked
20
+ this.dependeeTarget.indeterminate = this.#indeterminate
21
+ }
22
+
23
+ get #indeterminate() {
24
+ return this.#atLeastOneChecked && !this.#allChecked;
25
+ }
26
+
27
+ get #atLeastOneChecked() {
28
+ return this.dependantTargets.some(e => e.checked)
29
+ }
30
+
31
+ get #allChecked() {
32
+ return this.dependantTargets.every(e => e.checked)
33
+ }
34
+ }
@@ -32,7 +32,7 @@ export default class extends Controller {
32
32
  }
33
33
 
34
34
  #update() {
35
- this.copyIconTarget.hidden = this.copiedValue
35
+ this.copyIconTarget.hidden = this.copiedValue
36
36
  this.successIconTarget.hidden = !this.copiedValue
37
37
  }
38
38
  }
@@ -20,10 +20,6 @@ export default class extends Controller {
20
20
  if (this.indexValue < this.#lastIndex) this.indexValue++
21
21
  }
22
22
 
23
- get #lastIndex() {
24
- return this.tabTargets.length -1
25
- }
26
-
27
23
  #showSelectedTab() {
28
24
  this.buttonTargets.forEach((element, index) => {
29
25
  element.ariaSelected = index === this.indexValue
@@ -33,4 +29,8 @@ export default class extends Controller {
33
29
  element.hidden = index !== this.indexValue
34
30
  })
35
31
  }
32
+
33
+ get #lastIndex() {
34
+ return this.tabTargets.length -1
35
+ }
36
36
  }
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.40
4
+ version: 0.0.42
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-10-01 00:00:00.000000000 Z
11
+ date: 2024-10-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: lazaronixon@hotmail.com
@@ -50,7 +50,6 @@ files:
50
50
  - lib/generators/css_zero/add/templates/app/assets/images/eye-off.svg
51
51
  - lib/generators/css_zero/add/templates/app/assets/images/eye.svg
52
52
  - lib/generators/css_zero/add/templates/app/assets/images/loader-circle.svg
53
- - lib/generators/css_zero/add/templates/app/assets/images/maximize.svg
54
53
  - lib/generators/css_zero/add/templates/app/assets/images/menu.svg
55
54
  - lib/generators/css_zero/add/templates/app/assets/images/minus.svg
56
55
  - lib/generators/css_zero/add/templates/app/assets/images/search.svg
@@ -81,12 +80,13 @@ files:
81
80
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/toggle.css
82
81
  - lib/generators/css_zero/add/templates/app/javascript/controllers/autoselect_controller.js
83
82
  - lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
83
+ - lib/generators/css_zero/add/templates/app/javascript/controllers/check_all_controller.js
84
84
  - lib/generators/css_zero/add/templates/app/javascript/controllers/clearable_input_controller.js
85
85
  - lib/generators/css_zero/add/templates/app/javascript/controllers/collapsible_controller.js
86
- - lib/generators/css_zero/add/templates/app/javascript/controllers/command_controller.js
87
86
  - lib/generators/css_zero/add/templates/app/javascript/controllers/copyable_input_controller.js
88
87
  - lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js
89
88
  - lib/generators/css_zero/add/templates/app/javascript/controllers/element_removal_controller.js
89
+ - lib/generators/css_zero/add/templates/app/javascript/controllers/filter_controller.js
90
90
  - lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js
91
91
  - lib/generators/css_zero/add/templates/app/javascript/controllers/fullscreen_controller.js
92
92
  - lib/generators/css_zero/add/templates/app/javascript/controllers/hotkey_controller.js
@@ -1 +0,0 @@
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" class="lucide lucide-maximize"><path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/></svg>