css-zero 0.0.51 → 0.0.52
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/_reset.css +1 -1
- data/lib/css_zero/version.rb +1 -1
- data/lib/generators/css_zero/add/USAGE +1 -1
- data/lib/generators/css_zero/add/resources.yml +4 -0
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +2 -2
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/ztrix.css +1 -1
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js +64 -0
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js +4 -4
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/inputmask_controller.js +46 -0
- data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +2 -2
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c157fd23d2088eadf6b3ddd2301b2c6bb5e819e0fcebb3e2fd92bde924469a64
|
4
|
+
data.tar.gz: a68db27229c7b3c9118a008dc2f4417ff84b2dd99a54a637ed156a01c5aabd46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d06cd1f0e6c178496ecca303119b7d880f1d384c3ebd7549bedf3ae18c19bc90a8702016fd8bd9c0d913ffc48b68081d10b5e2e17e21eb2844644b80c331c36
|
7
|
+
data.tar.gz: 5bcd076df9a20544d488289894c858f426d88b0805a79fe47c326c48bf679de340542924510df37c6b06707ee537e0d396033a3db6bb082dd9ce7cf9142af90f
|
data/lib/css_zero/version.rb
CHANGED
@@ -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 combobox check_all command collapsible dialog dropdown flash form fullscreen hotkey input input_concerns layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs trix upload_preview toggle web_share
|
5
|
+
accordion alert autosave avatar badge breadcrumb button card carousel combobox check_all command collapsible dialog dropdown flash form fullscreen hotkey input input_concerns inputmask layouts lightbox local_time pagination progress prose sheet skeleton switch table tabs trix upload_preview toggle web_share
|
6
6
|
|
7
7
|
Example:
|
8
8
|
bin/rails generate css_zero:add [components...]
|
@@ -3,6 +3,8 @@ accordion:
|
|
3
3
|
- app/assets/images/chevron-down.svg
|
4
4
|
alert:
|
5
5
|
- app/assets/stylesheets/alert.css
|
6
|
+
autosave:
|
7
|
+
- app/javascript/controllers/autosave_controller.js
|
6
8
|
avatar:
|
7
9
|
- app/assets/stylesheets/avatar.css
|
8
10
|
badge:
|
@@ -65,6 +67,8 @@ input_concerns:
|
|
65
67
|
- app/javascript/controllers/revealable_input_controller.js
|
66
68
|
- app/assets/images/eye.svg
|
67
69
|
- app/assets/images/eye-off.svg
|
70
|
+
inputmask:
|
71
|
+
- app/javascript/controllers/inputmask_controller.js
|
68
72
|
layouts:
|
69
73
|
- app/assets/stylesheets/layouts.css
|
70
74
|
- app/assets/images/menu.svg
|
@@ -24,11 +24,11 @@
|
|
24
24
|
.badge--positive {
|
25
25
|
--badge-background: var(--color-positive);
|
26
26
|
--badge-border-color: transparent;
|
27
|
-
--badge-color:
|
27
|
+
--badge-color: var(--color-text-reversed);
|
28
28
|
}
|
29
29
|
|
30
30
|
.badge--negative {
|
31
31
|
--badge-background: var(--color-negative);
|
32
32
|
--badge-border-color: transparent;
|
33
|
-
--badge-color:
|
33
|
+
--badge-color: var(--color-text-reversed);
|
34
34
|
}
|
@@ -66,7 +66,7 @@ trix-editor {
|
|
66
66
|
padding-block: var(--size-6) var(--size-2);
|
67
67
|
|
68
68
|
&:empty:not(:focus)::before {
|
69
|
-
color: color-mix(in
|
69
|
+
color: color-mix(in oklch, currentColor 50%, transparent);
|
70
70
|
}
|
71
71
|
|
72
72
|
[data-trix-mutable].attachment img,
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
import { FetchRequest } from "@rails/request.js"
|
3
|
+
|
4
|
+
const AUTOSAVE_INTERVAL = 3000
|
5
|
+
|
6
|
+
export default class extends Controller {
|
7
|
+
static targets = [ "submitter" ]
|
8
|
+
|
9
|
+
#timer
|
10
|
+
|
11
|
+
disconnect() {
|
12
|
+
this.#submit()
|
13
|
+
}
|
14
|
+
|
15
|
+
change() {
|
16
|
+
!this.#dirty && this.#scheduleSave()
|
17
|
+
!this.#dirty && this.#updateAppearance()
|
18
|
+
}
|
19
|
+
|
20
|
+
async #submit() {
|
21
|
+
this.#dirty && await this.#save()
|
22
|
+
}
|
23
|
+
|
24
|
+
async #save() {
|
25
|
+
this.#updateAppearance(true)
|
26
|
+
this.#resetTimer()
|
27
|
+
await submitForm(this.element)
|
28
|
+
this.#updateAppearance()
|
29
|
+
}
|
30
|
+
|
31
|
+
#updateAppearance(saving = false) {
|
32
|
+
if (saving) {
|
33
|
+
this.element.setAttribute("aria-busy", true)
|
34
|
+
this.submitterTarget.setAttribute("aria-disabled", true)
|
35
|
+
this.submitterTarget.disabled = true
|
36
|
+
} else {
|
37
|
+
this.element.removeAttribute("aria-busy")
|
38
|
+
this.submitterTarget.removeAttribute("aria-disabled")
|
39
|
+
this.submitterTarget.disabled = false
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
#scheduleSave() {
|
44
|
+
this.#timer = setTimeout(() => this.#save(), AUTOSAVE_INTERVAL)
|
45
|
+
}
|
46
|
+
|
47
|
+
#resetTimer() {
|
48
|
+
clearTimeout(this.#timer); this.#timer = null
|
49
|
+
}
|
50
|
+
|
51
|
+
get #dirty() {
|
52
|
+
return !!this.#timer
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
// Helpers
|
57
|
+
|
58
|
+
async function submitForm(form) {
|
59
|
+
const request = new FetchRequest(form.method, form.action, {
|
60
|
+
body: new FormData(form)
|
61
|
+
})
|
62
|
+
|
63
|
+
return await request.perform()
|
64
|
+
}
|
data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js
CHANGED
@@ -3,7 +3,7 @@ import { get } from "@rails/request.js"
|
|
3
3
|
import TomSelect from "tom-select"
|
4
4
|
|
5
5
|
export default class extends Controller {
|
6
|
-
static values = { url: String,
|
6
|
+
static values = { url: String, optionCreate: { type: String, default: "Add" }, noResults: { type: String, default: "No results found" } }
|
7
7
|
|
8
8
|
initialize() {
|
9
9
|
this.load = this.load.bind(this)
|
@@ -28,17 +28,17 @@ export default class extends Controller {
|
|
28
28
|
}
|
29
29
|
|
30
30
|
get #inputSettings() {
|
31
|
-
return { render: this.#render, load:
|
31
|
+
return { render: this.#render, load: this.hasUrlValue && this.load, persist: false, createOnBlur: true, create: true }
|
32
32
|
}
|
33
33
|
|
34
34
|
get #selectSettings() {
|
35
|
-
return { render: this.#render, load:
|
35
|
+
return { render: this.#render, load: this.hasUrlValue && this.load }
|
36
36
|
}
|
37
37
|
|
38
38
|
get #render() {
|
39
39
|
return {
|
40
40
|
option_create: (data, escape) => {
|
41
|
-
return `<div class="create">${this.
|
41
|
+
return `<div class="create">${this.optionCreateValue} <b>${escape(data.input)}</b>...</div>`
|
42
42
|
},
|
43
43
|
no_results: () => {
|
44
44
|
return `<div class="no-results">${this.noResultsValue}</div>`
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
import Inputmask from "inputmask"
|
3
|
+
|
4
|
+
export default class extends Controller {
|
5
|
+
static values = {
|
6
|
+
mask: String,
|
7
|
+
alias: String,
|
8
|
+
groupSeparator: { type: String, default: "" },
|
9
|
+
radixPoint: { type: String, default: "." },
|
10
|
+
digits: { type: String, default: "*" },
|
11
|
+
digitsOptional: { type: Boolean, default: true },
|
12
|
+
inputFormat: { type: String, default: "mm/dd/yyyy HH:MM" },
|
13
|
+
outputFormat: { type: String, default: "yyyy-mm-dd HH:MM" }
|
14
|
+
}
|
15
|
+
|
16
|
+
connect() {
|
17
|
+
if (this.hasMaskValue) {
|
18
|
+
Inputmask.default({ mask: this.maskValue }).mask(this.element)
|
19
|
+
} else if (this.aliasValue == "numeric") {
|
20
|
+
Inputmask.default(this.#numericOptions).mask(this.element)
|
21
|
+
} else if (this.aliasValue == "datetime") {
|
22
|
+
Inputmask.default(this.#datetimeOptions).mask(this.element)
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
get #numericOptions() {
|
27
|
+
return {
|
28
|
+
alias: "numeric",
|
29
|
+
unmaskAsNumber: true,
|
30
|
+
removeMaskOnSubmit: true,
|
31
|
+
groupSeparator: this.groupSeparatorValue,
|
32
|
+
radixPoint: this.radixPointValue,
|
33
|
+
digits: this.digitsValue,
|
34
|
+
digitsOptional: this.digitsOptionalValue
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
get #datetimeOptions() {
|
39
|
+
return {
|
40
|
+
alias: "datetime",
|
41
|
+
removeMaskOnSubmit: true,
|
42
|
+
inputFormat: this.inputFormatValue,
|
43
|
+
outputFormat: this.outputFormatValue
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
@@ -47,8 +47,8 @@
|
|
47
47
|
--color-filter-text: invert(100%);
|
48
48
|
--color-filter-text-reversed: invert(2%) sepia(3%) saturate(3904%) hue-rotate(201deg) brightness(98%) contrast(97%);
|
49
49
|
--color-filter-text-subtle: invert(76%) sepia(8%) saturate(230%) hue-rotate(201deg) brightness(84%) contrast(87%);
|
50
|
-
--color-filter-negative: invert(
|
51
|
-
--color-filter-positive: invert(
|
50
|
+
--color-filter-negative: invert(54%) sepia(16%) saturate(2119%) hue-rotate(313deg) brightness(111%) contrast(94%);
|
51
|
+
--color-filter-positive: invert(81%) sepia(23%) saturate(1237%) hue-rotate(80deg) brightness(95%) contrast(83%);
|
52
52
|
}
|
53
53
|
}
|
54
54
|
|
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.52
|
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-
|
11
|
+
date: 2024-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email: lazaronixon@hotmail.com
|
@@ -83,6 +83,7 @@ files:
|
|
83
83
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/tom-select.css
|
84
84
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/zcombobox.css
|
85
85
|
- lib/generators/css_zero/add/templates/app/assets/stylesheets/ztrix.css
|
86
|
+
- lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js
|
86
87
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/autoselect_controller.js
|
87
88
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
|
88
89
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/check_all_controller.js
|
@@ -96,6 +97,7 @@ files:
|
|
96
97
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js
|
97
98
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/fullscreen_controller.js
|
98
99
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/hotkey_controller.js
|
100
|
+
- lib/generators/css_zero/add/templates/app/javascript/controllers/inputmask_controller.js
|
99
101
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/lightbox_controller.js
|
100
102
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/list_controller.js
|
101
103
|
- lib/generators/css_zero/add/templates/app/javascript/controllers/local_time_controller.js
|