godown 3.4.0 → 3.5.1
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.
- package/build/godown+lit.iife.js +2 -2
- package/build/godown+lit.iife.js.map +1 -1
- package/build/godown+lit.js +2 -2
- package/build/godown+lit.js.map +1 -1
- package/build/godown+lit.umd.js +2 -2
- package/build/godown+lit.umd.js.map +1 -1
- package/build/godown.iife.js +5 -5
- package/build/godown.js +4 -4
- package/build/godown.js.map +1 -1
- package/build/godown.umd.js +5 -5
- package/build/godown.umd.js.map +1 -1
- package/components/avatar.d.ts.map +1 -1
- package/components/avatar.js +1 -1
- package/components/avatar.js.map +1 -1
- package/components/badge.js +1 -1
- package/components/badge.js.map +1 -1
- package/components/button.js +1 -1
- package/components/button.js.map +1 -1
- package/components/card.js +1 -1
- package/components/card.js.map +1 -1
- package/components/details.js +1 -1
- package/components/details.js.map +1 -1
- package/components/dialog.js +1 -1
- package/components/dialog.js.map +1 -1
- package/components/divider.d.ts.map +1 -1
- package/components/divider.js +1 -1
- package/components/divider.js.map +1 -1
- package/components/range.d.ts +7 -6
- package/components/range.d.ts.map +1 -1
- package/components/range.js.map +1 -1
- package/components/split.js +1 -1
- package/components/split.js.map +1 -1
- package/components/switch.d.ts +5 -13
- package/components/switch.d.ts.map +1 -1
- package/components/switch.js +1 -1
- package/components/switch.js.map +1 -1
- package/core/global-style.js +1 -1
- package/core/super-input.d.ts +2 -2
- package/core/super-input.d.ts.map +1 -1
- package/core/super-input.js +1 -1
- package/core/super-input.js.map +1 -1
- package/core/super-openable.d.ts +0 -1
- package/core/super-openable.d.ts.map +1 -1
- package/core/super-openable.js +1 -1
- package/core/super-openable.js.map +1 -1
- package/custom-elements.json +1 -1
- package/package.json +6 -18
- package/src/components/avatar.ts +2 -1
- package/src/components/button.ts +2 -3
- package/src/components/card.ts +4 -0
- package/src/components/details.ts +1 -1
- package/src/components/dialog.ts +4 -6
- package/src/components/divider.ts +2 -1
- package/src/components/range.ts +13 -11
- package/src/components/split.ts +2 -1
- package/src/components/switch.ts +43 -60
- package/src/core/global-style.ts +2 -2
- package/src/core/super-input.ts +13 -8
- package/src/core/super-openable.ts +0 -4
- package/tsconfig.json +33 -0
- package/vscode.html-custom-data.json +1 -1
- package/web-types.json +1 -1
- package/dev/alert.d.ts +0 -9
- package/dev/alert.d.ts.map +0 -1
- package/dev/alert.js +0 -5
- package/dev/alert.js.map +0 -1
- package/dev/avatar.d.ts +0 -9
- package/dev/avatar.d.ts.map +0 -1
- package/dev/avatar.js +0 -5
- package/dev/avatar.js.map +0 -1
- package/dev/badge.d.ts +0 -9
- package/dev/badge.d.ts.map +0 -1
- package/dev/badge.js +0 -5
- package/dev/badge.js.map +0 -1
- package/dev/breath.d.ts +0 -9
- package/dev/breath.d.ts.map +0 -1
- package/dev/breath.js +0 -5
- package/dev/breath.js.map +0 -1
- package/dev/button.d.ts +0 -9
- package/dev/button.d.ts.map +0 -1
- package/dev/button.js +0 -5
- package/dev/button.js.map +0 -1
- package/dev/card.d.ts +0 -9
- package/dev/card.d.ts.map +0 -1
- package/dev/card.js +0 -5
- package/dev/card.js.map +0 -1
- package/dev/carousel.d.ts +0 -9
- package/dev/carousel.d.ts.map +0 -1
- package/dev/carousel.js +0 -5
- package/dev/carousel.js.map +0 -1
- package/dev/components/alert.d.ts +0 -55
- package/dev/components/alert.d.ts.map +0 -1
- package/dev/components/alert.js +0 -236
- package/dev/components/alert.js.map +0 -1
- package/dev/components/avatar.d.ts +0 -33
- package/dev/components/avatar.d.ts.map +0 -1
- package/dev/components/avatar.js +0 -118
- package/dev/components/avatar.js.map +0 -1
- package/dev/components/badge.d.ts +0 -31
- package/dev/components/badge.d.ts.map +0 -1
- package/dev/components/badge.js +0 -122
- package/dev/components/badge.js.map +0 -1
- package/dev/components/breath.d.ts +0 -36
- package/dev/components/breath.d.ts.map +0 -1
- package/dev/components/breath.js +0 -135
- package/dev/components/breath.js.map +0 -1
- package/dev/components/button.d.ts +0 -60
- package/dev/components/button.d.ts.map +0 -1
- package/dev/components/button.js +0 -288
- package/dev/components/button.js.map +0 -1
- package/dev/components/card.d.ts +0 -27
- package/dev/components/card.d.ts.map +0 -1
- package/dev/components/card.js +0 -83
- package/dev/components/card.js.map +0 -1
- package/dev/components/carousel.d.ts +0 -39
- package/dev/components/carousel.d.ts.map +0 -1
- package/dev/components/carousel.js +0 -184
- package/dev/components/carousel.js.map +0 -1
- package/dev/components/details.d.ts +0 -24
- package/dev/components/details.d.ts.map +0 -1
- package/dev/components/details.js +0 -124
- package/dev/components/details.js.map +0 -1
- package/dev/components/dialog.d.ts +0 -43
- package/dev/components/dialog.d.ts.map +0 -1
- package/dev/components/dialog.js +0 -154
- package/dev/components/dialog.js.map +0 -1
- package/dev/components/divider.d.ts +0 -17
- package/dev/components/divider.d.ts.map +0 -1
- package/dev/components/divider.js +0 -63
- package/dev/components/divider.js.map +0 -1
- package/dev/components/dragbox.d.ts +0 -42
- package/dev/components/dragbox.d.ts.map +0 -1
- package/dev/components/dragbox.js +0 -126
- package/dev/components/dragbox.js.map +0 -1
- package/dev/components/flex.d.ts +0 -34
- package/dev/components/flex.d.ts.map +0 -1
- package/dev/components/flex.js +0 -73
- package/dev/components/flex.js.map +0 -1
- package/dev/components/form.d.ts +0 -24
- package/dev/components/form.d.ts.map +0 -1
- package/dev/components/form.js +0 -76
- package/dev/components/form.js.map +0 -1
- package/dev/components/grid.d.ts +0 -38
- package/dev/components/grid.d.ts.map +0 -1
- package/dev/components/grid.js +0 -67
- package/dev/components/grid.js.map +0 -1
- package/dev/components/heading.d.ts +0 -31
- package/dev/components/heading.d.ts.map +0 -1
- package/dev/components/heading.js +0 -127
- package/dev/components/heading.js.map +0 -1
- package/dev/components/input.d.ts +0 -23
- package/dev/components/input.d.ts.map +0 -1
- package/dev/components/input.js +0 -99
- package/dev/components/input.js.map +0 -1
- package/dev/components/layout.d.ts +0 -28
- package/dev/components/layout.d.ts.map +0 -1
- package/dev/components/layout.js +0 -96
- package/dev/components/layout.js.map +0 -1
- package/dev/components/link.d.ts +0 -54
- package/dev/components/link.d.ts.map +0 -1
- package/dev/components/link.js +0 -110
- package/dev/components/link.js.map +0 -1
- package/dev/components/progress.d.ts +0 -16
- package/dev/components/progress.d.ts.map +0 -1
- package/dev/components/progress.js +0 -101
- package/dev/components/progress.js.map +0 -1
- package/dev/components/range.d.ts +0 -121
- package/dev/components/range.d.ts.map +0 -1
- package/dev/components/range.js +0 -391
- package/dev/components/range.js.map +0 -1
- package/dev/components/rotate.d.ts +0 -30
- package/dev/components/rotate.d.ts.map +0 -1
- package/dev/components/rotate.js +0 -93
- package/dev/components/rotate.js.map +0 -1
- package/dev/components/router.d.ts +0 -116
- package/dev/components/router.d.ts.map +0 -1
- package/dev/components/router.js +0 -240
- package/dev/components/router.js.map +0 -1
- package/dev/components/select.d.ts +0 -53
- package/dev/components/select.d.ts.map +0 -1
- package/dev/components/select.js +0 -269
- package/dev/components/select.js.map +0 -1
- package/dev/components/skeleton.d.ts +0 -28
- package/dev/components/skeleton.d.ts.map +0 -1
- package/dev/components/skeleton.js +0 -122
- package/dev/components/skeleton.js.map +0 -1
- package/dev/components/split.d.ts +0 -56
- package/dev/components/split.d.ts.map +0 -1
- package/dev/components/split.js +0 -219
- package/dev/components/split.js.map +0 -1
- package/dev/components/switch.d.ts +0 -40
- package/dev/components/switch.d.ts.map +0 -1
- package/dev/components/switch.js +0 -166
- package/dev/components/switch.js.map +0 -1
- package/dev/components/text.d.ts +0 -21
- package/dev/components/text.d.ts.map +0 -1
- package/dev/components/text.js +0 -96
- package/dev/components/text.js.map +0 -1
- package/dev/components/time.d.ts +0 -36
- package/dev/components/time.d.ts.map +0 -1
- package/dev/components/time.js +0 -75
- package/dev/components/time.js.map +0 -1
- package/dev/components/tooltip.d.ts +0 -51
- package/dev/components/tooltip.d.ts.map +0 -1
- package/dev/components/tooltip.js +0 -140
- package/dev/components/tooltip.js.map +0 -1
- package/dev/components/typewriter.d.ts +0 -49
- package/dev/components/typewriter.d.ts.map +0 -1
- package/dev/components/typewriter.js +0 -149
- package/dev/components/typewriter.js.map +0 -1
- package/dev/core/direction.d.ts +0 -27
- package/dev/core/direction.d.ts.map +0 -1
- package/dev/core/direction.js +0 -56
- package/dev/core/direction.js.map +0 -1
- package/dev/core/global-style.d.ts +0 -20
- package/dev/core/global-style.d.ts.map +0 -1
- package/dev/core/global-style.js +0 -82
- package/dev/core/global-style.js.map +0 -1
- package/dev/core/outline.d.ts +0 -20
- package/dev/core/outline.d.ts.map +0 -1
- package/dev/core/outline.js +0 -44
- package/dev/core/outline.js.map +0 -1
- package/dev/core/super-anchor.d.ts +0 -18
- package/dev/core/super-anchor.d.ts.map +0 -1
- package/dev/core/super-anchor.js +0 -60
- package/dev/core/super-anchor.js.map +0 -1
- package/dev/core/super-input.d.ts +0 -43
- package/dev/core/super-input.d.ts.map +0 -1
- package/dev/core/super-input.js +0 -197
- package/dev/core/super-input.js.map +0 -1
- package/dev/core/super-openable.d.ts +0 -16
- package/dev/core/super-openable.d.ts.map +0 -1
- package/dev/core/super-openable.js +0 -36
- package/dev/core/super-openable.js.map +0 -1
- package/dev/details.d.ts +0 -9
- package/dev/details.d.ts.map +0 -1
- package/dev/details.js +0 -5
- package/dev/details.js.map +0 -1
- package/dev/dialog.d.ts +0 -9
- package/dev/dialog.d.ts.map +0 -1
- package/dev/dialog.js +0 -5
- package/dev/dialog.js.map +0 -1
- package/dev/divider.d.ts +0 -9
- package/dev/divider.d.ts.map +0 -1
- package/dev/divider.js +0 -5
- package/dev/divider.js.map +0 -1
- package/dev/dragbox.d.ts +0 -9
- package/dev/dragbox.d.ts.map +0 -1
- package/dev/dragbox.js +0 -5
- package/dev/dragbox.js.map +0 -1
- package/dev/flex.d.ts +0 -9
- package/dev/flex.d.ts.map +0 -1
- package/dev/flex.js +0 -5
- package/dev/flex.js.map +0 -1
- package/dev/form.d.ts +0 -9
- package/dev/form.d.ts.map +0 -1
- package/dev/form.js +0 -5
- package/dev/form.js.map +0 -1
- package/dev/grid.d.ts +0 -9
- package/dev/grid.d.ts.map +0 -1
- package/dev/grid.js +0 -5
- package/dev/grid.js.map +0 -1
- package/dev/heading.d.ts +0 -9
- package/dev/heading.d.ts.map +0 -1
- package/dev/heading.js +0 -5
- package/dev/heading.js.map +0 -1
- package/dev/index.d.ts +0 -31
- package/dev/index.d.ts.map +0 -1
- package/dev/index.js +0 -31
- package/dev/index.js.map +0 -1
- package/dev/input.d.ts +0 -9
- package/dev/input.d.ts.map +0 -1
- package/dev/input.js +0 -5
- package/dev/input.js.map +0 -1
- package/dev/layout.d.ts +0 -9
- package/dev/layout.d.ts.map +0 -1
- package/dev/layout.js +0 -5
- package/dev/layout.js.map +0 -1
- package/dev/link.d.ts +0 -9
- package/dev/link.d.ts.map +0 -1
- package/dev/link.js +0 -5
- package/dev/link.js.map +0 -1
- package/dev/progress.d.ts +0 -9
- package/dev/progress.d.ts.map +0 -1
- package/dev/progress.js +0 -5
- package/dev/progress.js.map +0 -1
- package/dev/range.d.ts +0 -9
- package/dev/range.d.ts.map +0 -1
- package/dev/range.js +0 -5
- package/dev/range.js.map +0 -1
- package/dev/rotate.d.ts +0 -9
- package/dev/rotate.d.ts.map +0 -1
- package/dev/rotate.js +0 -5
- package/dev/rotate.js.map +0 -1
- package/dev/router.d.ts +0 -9
- package/dev/router.d.ts.map +0 -1
- package/dev/router.js +0 -5
- package/dev/router.js.map +0 -1
- package/dev/select.d.ts +0 -9
- package/dev/select.d.ts.map +0 -1
- package/dev/select.js +0 -5
- package/dev/select.js.map +0 -1
- package/dev/skeleton.d.ts +0 -9
- package/dev/skeleton.d.ts.map +0 -1
- package/dev/skeleton.js +0 -5
- package/dev/skeleton.js.map +0 -1
- package/dev/split.d.ts +0 -9
- package/dev/split.d.ts.map +0 -1
- package/dev/split.js +0 -5
- package/dev/split.js.map +0 -1
- package/dev/switch.d.ts +0 -9
- package/dev/switch.d.ts.map +0 -1
- package/dev/switch.js +0 -5
- package/dev/switch.js.map +0 -1
- package/dev/text.d.ts +0 -9
- package/dev/text.d.ts.map +0 -1
- package/dev/text.js +0 -5
- package/dev/text.js.map +0 -1
- package/dev/time.d.ts +0 -9
- package/dev/time.d.ts.map +0 -1
- package/dev/time.js +0 -5
- package/dev/time.js.map +0 -1
- package/dev/tooltip.d.ts +0 -9
- package/dev/tooltip.d.ts.map +0 -1
- package/dev/tooltip.js +0 -5
- package/dev/tooltip.js.map +0 -1
- package/dev/typewriter.d.ts +0 -9
- package/dev/typewriter.d.ts.map +0 -1
- package/dev/typewriter.js +0 -5
- package/dev/typewriter.js.map +0 -1
package/package.json
CHANGED
@@ -1,22 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "godown",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.5.1",
|
4
4
|
"description": "Non Composite Web Components Library",
|
5
5
|
"type": "module",
|
6
6
|
"main": "index.js",
|
7
|
-
"exports": {
|
8
|
-
".": {
|
9
|
-
"development": "./dev/index.js",
|
10
|
-
"default": "./index.js"
|
11
|
-
},
|
12
|
-
"./*": {
|
13
|
-
"development": "./dev/*",
|
14
|
-
"default": "./*"
|
15
|
-
},
|
16
|
-
"./build/*": "./build/*",
|
17
|
-
"./src/*": "./src/*",
|
18
|
-
"./*.json": "./*.json"
|
19
|
-
},
|
20
7
|
"repository": {
|
21
8
|
"type": "git",
|
22
9
|
"url": "https://github.com/startracex/godown.git",
|
@@ -33,8 +20,8 @@
|
|
33
20
|
"lit": "^3.0.0",
|
34
21
|
"tslib": "^2.7.0",
|
35
22
|
"@godown/colors": "^1.0.0",
|
36
|
-
"@godown/element": "^1.3.
|
37
|
-
"@godown/f7-icon": "^1.0.
|
23
|
+
"@godown/element": "^1.3.1",
|
24
|
+
"@godown/f7-icon": "^1.0.4"
|
38
25
|
},
|
39
26
|
"publishConfig": {
|
40
27
|
"access": "public"
|
@@ -44,7 +31,8 @@
|
|
44
31
|
"custom-elements.json",
|
45
32
|
"web-types.json",
|
46
33
|
"vscode.{css,html}-custom-data.json",
|
47
|
-
"src"
|
34
|
+
"src",
|
35
|
+
"tsconfig.json"
|
48
36
|
],
|
49
37
|
"custom-elements": "./custom-elements.json",
|
50
38
|
"customElements": "./custom-elements.json",
|
@@ -53,7 +41,7 @@
|
|
53
41
|
"dev": "tsc --watch",
|
54
42
|
"check-types": "tsc --noEmit",
|
55
43
|
"clean": "tsc --build tsconfig.prod.json --clean",
|
56
|
-
"build": "
|
44
|
+
"build": "tsx build.ts",
|
57
45
|
"build:ts": "tsc",
|
58
46
|
"fmt": "prettier src --write",
|
59
47
|
"lint": "biome lint",
|
package/src/components/avatar.ts
CHANGED
@@ -2,7 +2,7 @@ import { attr, godown, htmlSlot, omit, styles } from "@godown/element";
|
|
2
2
|
import { type TemplateResult, css, html } from "lit";
|
3
3
|
import { property } from "lit/decorators.js";
|
4
4
|
|
5
|
-
import { GlobalStyle, scopePrefix } from "../core/global-style.js";
|
5
|
+
import { GlobalStyle, scopePrefix, cssGlobalVars } from "../core/global-style.js";
|
6
6
|
|
7
7
|
const protoName = "avatar";
|
8
8
|
const cssScope = scopePrefix(protoName);
|
@@ -22,6 +22,7 @@ const cssScope = scopePrefix(protoName);
|
|
22
22
|
${cssScope}--size: 2em;
|
23
23
|
width: var(${cssScope}--size);
|
24
24
|
height: var(${cssScope}--size);
|
25
|
+
background: var(${cssGlobalVars.passive});
|
25
26
|
vertical-align: bottom;
|
26
27
|
border-radius: 0.2em;
|
27
28
|
}
|
package/src/components/button.ts
CHANGED
@@ -95,7 +95,6 @@ const colors: Record<Colors, string> = constructCSSObject(
|
|
95
95
|
}
|
96
96
|
|
97
97
|
:host([round]) {
|
98
|
-
${cssScope}--padding-x: .75em;
|
99
98
|
border-radius: calc(infinity * 1px);
|
100
99
|
}
|
101
100
|
|
@@ -118,8 +117,8 @@ const colors: Record<Colors, string> = constructCSSObject(
|
|
118
117
|
`,
|
119
118
|
css`
|
120
119
|
:host {
|
121
|
-
${cssScope}--padding-x: .
|
122
|
-
${cssScope}--padding-y:
|
120
|
+
${cssScope}--padding-x: .8em;
|
121
|
+
${cssScope}--padding-y: calc(var(${cssScope}--padding-x) / 4);
|
123
122
|
${cssScope}--padding: var(${cssScope}--padding-y) var(${cssScope}--padding-x);
|
124
123
|
${cssScope}--modal-animation-duration: 1s;
|
125
124
|
${cssScope}--ghost-width: .08em;
|
package/src/components/card.ts
CHANGED
package/src/components/dialog.ts
CHANGED
@@ -34,24 +34,22 @@ const cssScope = scopePrefix(protoName);
|
|
34
34
|
${cssScope}--opacity-modal: 0.2;
|
35
35
|
background: var(${cssScope}--background);
|
36
36
|
pointer-events: none;
|
37
|
-
visibility: hidden;
|
38
37
|
position: fixed;
|
39
38
|
z-index: 1;
|
40
39
|
inset: 0;
|
41
40
|
}
|
42
41
|
|
43
|
-
:host([open]) {
|
44
|
-
visibility:
|
42
|
+
:host(:not([open])) {
|
43
|
+
visibility: hidden;
|
45
44
|
}
|
46
45
|
|
47
|
-
:host([
|
46
|
+
:host([modal]) [part="modal"] {
|
48
47
|
pointer-events: all;
|
49
|
-
visibility: visible;
|
50
48
|
opacity: var(${cssScope}--opacity-modal);
|
51
49
|
}
|
52
50
|
|
53
51
|
[part="modal"] {
|
54
|
-
visibility:
|
52
|
+
visibility: inherit;
|
55
53
|
opacity: 0;
|
56
54
|
width: 100%;
|
57
55
|
height: 100%;
|
@@ -2,7 +2,7 @@ import { attr, godown, styles } from "@godown/element";
|
|
2
2
|
import { type TemplateResult, css, html } from "lit";
|
3
3
|
import { property } from "lit/decorators.js";
|
4
4
|
|
5
|
-
import { GlobalStyle } from "../core/global-style.js";
|
5
|
+
import { cssGlobalVars, GlobalStyle } from "../core/global-style.js";
|
6
6
|
|
7
7
|
const protoName = "divider";
|
8
8
|
|
@@ -19,6 +19,7 @@ const protoName = "divider";
|
|
19
19
|
margin: auto;
|
20
20
|
display: block;
|
21
21
|
background: currentColor;
|
22
|
+
color: var(${cssGlobalVars.passive});
|
22
23
|
}
|
23
24
|
|
24
25
|
:host([vertical]) {
|
package/src/components/range.ts
CHANGED
@@ -8,6 +8,8 @@ import { SuperInput } from "../core/super-input.js";
|
|
8
8
|
const protoName = "range";
|
9
9
|
const cssScope = scopePrefix(protoName);
|
10
10
|
|
11
|
+
type RangeValue = number | number[];
|
12
|
+
|
11
13
|
/**
|
12
14
|
* {@linkcode Range} is similar to `<input type="range">`.
|
13
15
|
*
|
@@ -116,7 +118,7 @@ const cssScope = scopePrefix(protoName);
|
|
116
118
|
}
|
117
119
|
`,
|
118
120
|
)
|
119
|
-
class Range extends SuperInput {
|
121
|
+
class Range<V extends RangeValue = RangeValue> extends SuperInput<RangeValue> {
|
120
122
|
/**
|
121
123
|
* Minimum value.
|
122
124
|
*/
|
@@ -147,13 +149,13 @@ class Range extends SuperInput {
|
|
147
149
|
* Accepts number or array of numbers.
|
148
150
|
*/
|
149
151
|
@property({ type: Array })
|
150
|
-
value:
|
152
|
+
value: V;
|
151
153
|
|
152
154
|
/**
|
153
155
|
* The default of `{@linkcode this.value}`.
|
154
156
|
*/
|
155
157
|
@property({ type: Array })
|
156
|
-
default:
|
158
|
+
default: V;
|
157
159
|
|
158
160
|
@part("root")
|
159
161
|
protected _root: HTMLElement;
|
@@ -167,8 +169,8 @@ class Range extends SuperInput {
|
|
167
169
|
protected _ranger: Ranger;
|
168
170
|
private __focusStack: number[] = [];
|
169
171
|
|
170
|
-
get range():
|
171
|
-
return Array.isArray(this.value);
|
172
|
+
get range(): V extends number ? false : true {
|
173
|
+
return Array.isArray(this.value) as any;
|
172
174
|
}
|
173
175
|
|
174
176
|
/**
|
@@ -319,12 +321,12 @@ class Range extends SuperInput {
|
|
319
321
|
protected createSetValue(index: number) {
|
320
322
|
return (value: number): void => {
|
321
323
|
const normalizeValue = this._ranger.normalize(value);
|
322
|
-
let newValue:
|
324
|
+
let newValue: RangeValue = normalizeValue;
|
323
325
|
if (this.range) {
|
324
326
|
newValue = [...(this.value as number[])];
|
325
327
|
newValue[index] = normalizeValue;
|
326
328
|
}
|
327
|
-
this.value = newValue;
|
329
|
+
this.value = newValue as V;
|
328
330
|
this.dispatchEvent(new CustomEvent("range", { detail: this.value }));
|
329
331
|
};
|
330
332
|
}
|
@@ -399,7 +401,7 @@ class Range extends SuperInput {
|
|
399
401
|
if (!isNil(this.default)) {
|
400
402
|
this.value = this.default;
|
401
403
|
} else {
|
402
|
-
this.value = Math.round(gap / 2 / this.step) * this.step;
|
404
|
+
(this.value as number) = Math.round(gap / 2 / this.step) * this.step;
|
403
405
|
}
|
404
406
|
}
|
405
407
|
this.default ??= this.value;
|
@@ -409,13 +411,13 @@ class Range extends SuperInput {
|
|
409
411
|
this.value = this.default;
|
410
412
|
}
|
411
413
|
|
412
|
-
sort():
|
414
|
+
sort(): V {
|
413
415
|
return (this.value = this.toSorted());
|
414
416
|
}
|
415
417
|
|
416
|
-
toSorted():
|
418
|
+
toSorted(): V {
|
417
419
|
if (this.range) {
|
418
|
-
return [...(this.value as number[])].sort((a, b) => a - b);
|
420
|
+
return [...(this.value as number[])].sort((a, b) => a - b) as V;
|
419
421
|
}
|
420
422
|
return this.value;
|
421
423
|
}
|
package/src/components/split.ts
CHANGED
package/src/components/switch.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { attr, godown, omit, styles } from "@godown/element";
|
2
2
|
import { type TemplateResult, css, html } from "lit";
|
3
|
-
import { property
|
3
|
+
import { property } from "lit/decorators.js";
|
4
4
|
|
5
5
|
import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
|
6
6
|
import { SuperInput } from "../core/super-input.js";
|
@@ -27,7 +27,7 @@ const cssScope = scopePrefix(protoName);
|
|
27
27
|
${cssScope}-width: 3em;
|
28
28
|
${cssScope}-height: calc(var(${cssScope}-width) / 2);
|
29
29
|
${cssScope}-handle-size: 1.25em;
|
30
|
-
${cssScope}-handle-space:
|
30
|
+
${cssScope}-handle-space: calc(var(${cssScope}-width) / 4 - var(${cssScope}-handle-size) / 2);
|
31
31
|
${cssScope}-transition: .2s ease-in-out;
|
32
32
|
border-radius: calc(var(${cssScope}-height) / 2);
|
33
33
|
background: var(${cssGlobalVars.passive});
|
@@ -40,63 +40,54 @@ const cssScope = scopePrefix(protoName);
|
|
40
40
|
background: var(${cssGlobalVars.active});
|
41
41
|
}
|
42
42
|
|
43
|
-
[part="root"],
|
44
|
-
[part="handle"] {
|
45
|
-
transition: inherit;
|
46
|
-
}
|
47
|
-
|
48
43
|
[part="root"] {
|
49
|
-
position: relative;
|
50
44
|
height: inherit;
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
width: 100%;
|
56
|
-
height: 100%;
|
45
|
+
display: flex;
|
46
|
+
align-items: center;
|
47
|
+
position: relative;
|
48
|
+
transition: inherit;
|
57
49
|
}
|
58
50
|
|
59
51
|
[part="handle"] {
|
60
|
-
|
61
|
-
display: inline-flex;
|
52
|
+
display: flex;
|
62
53
|
align-items: center;
|
63
54
|
justify-content: center;
|
64
55
|
position: absolute;
|
56
|
+
transition: inherit;
|
65
57
|
left: 0;
|
66
|
-
|
58
|
+
top: 50%;
|
67
59
|
pointer-events: none;
|
60
|
+
border-radius: 100%;
|
61
|
+
background: currentColor;
|
62
|
+
--size: var(${cssScope}-handle-size);
|
63
|
+
width: var(--size);
|
64
|
+
height: var(--size);
|
65
|
+
transform: translateY(-50%) translateX(var(${cssScope}-handle-space));
|
68
66
|
}
|
69
67
|
|
70
68
|
:host([checked]) [part="handle"] {
|
71
69
|
left: 50%;
|
72
70
|
}
|
73
71
|
|
74
|
-
[part="
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
width: var(--size);
|
79
|
-
height: var(--size);
|
80
|
-
margin: var(${cssScope}-handle-space);
|
72
|
+
[part="input"] {
|
73
|
+
opacity: 0;
|
74
|
+
width: 100%;
|
75
|
+
height: 100%;
|
81
76
|
}
|
82
77
|
`)
|
83
|
-
class Switch extends SuperInput {
|
78
|
+
class Switch extends SuperInput<boolean> {
|
84
79
|
/**
|
85
80
|
* @deprecated
|
86
81
|
*/
|
87
82
|
round: boolean;
|
88
83
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
@property({ type: Boolean, reflect: true })
|
93
|
-
checked = false;
|
84
|
+
set checked(v: boolean) {
|
85
|
+
this.value = v;
|
86
|
+
}
|
94
87
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
@property({ type: Boolean, reflect: true })
|
99
|
-
disabled = false;
|
88
|
+
get checked(): boolean {
|
89
|
+
return this.value;
|
90
|
+
}
|
100
91
|
|
101
92
|
/**
|
102
93
|
* Default checked state.
|
@@ -105,13 +96,10 @@ class Switch extends SuperInput {
|
|
105
96
|
default = false;
|
106
97
|
|
107
98
|
/**
|
108
|
-
*
|
99
|
+
* The current value of the switch component. Reflects the "checked" attribute.
|
109
100
|
*/
|
110
|
-
@property()
|
111
|
-
value =
|
112
|
-
|
113
|
-
@query("input")
|
114
|
-
protected _input: HTMLInputElement;
|
101
|
+
@property({ type: Boolean, attribute: "checked", reflect: true })
|
102
|
+
value = false;
|
115
103
|
|
116
104
|
get observedRecord(): Record<string, any> {
|
117
105
|
return omit(super.observedRecord, "outline-type");
|
@@ -128,40 +116,35 @@ class Switch extends SuperInput {
|
|
128
116
|
part="input"
|
129
117
|
type="checkbox"
|
130
118
|
?disabled="${this.disabled}"
|
131
|
-
?checked="${this.
|
132
|
-
name="${this.name}"
|
119
|
+
?checked="${this.value}"
|
133
120
|
id="${this.makeId}"
|
134
121
|
@change="${this._handleChange}"
|
135
122
|
/>
|
136
|
-
<span
|
137
|
-
part="handle"
|
138
|
-
class="${this.checked}"
|
139
|
-
></span>
|
123
|
+
<span part="handle"></span>
|
140
124
|
</div>
|
141
125
|
`;
|
142
126
|
}
|
143
127
|
|
144
128
|
reset(): void {
|
145
|
-
this.
|
146
|
-
this._input.checked = this.
|
129
|
+
this.value = this.default;
|
130
|
+
this._input.checked = this.value;
|
147
131
|
}
|
148
132
|
|
149
133
|
protected _connectedInit(): void {
|
150
|
-
if (this.
|
151
|
-
this.
|
152
|
-
}
|
153
|
-
|
154
|
-
|
134
|
+
if (this.default) {
|
135
|
+
this.value = true;
|
136
|
+
} else {
|
137
|
+
if (this.value) {
|
138
|
+
this.value = true;
|
139
|
+
this.default = true;
|
140
|
+
}
|
155
141
|
}
|
156
142
|
}
|
157
143
|
|
158
144
|
protected _handleChange(): void {
|
159
|
-
|
160
|
-
this.
|
161
|
-
|
162
|
-
|
163
|
-
namevalue(): [string, boolean] {
|
164
|
-
return [this.name, this.checked];
|
145
|
+
const { checked } = this._input;
|
146
|
+
this.value = checked;
|
147
|
+
this.dispatchCustomEvent("change", this.value);
|
165
148
|
}
|
166
149
|
}
|
167
150
|
|
package/src/core/global-style.ts
CHANGED
@@ -50,8 +50,8 @@ GlobalStyle.styles = [
|
|
50
50
|
return `${colorKey}:rgb(${rgb});`;
|
51
51
|
}, presetsRGB).join("") +
|
52
52
|
joinProperties([
|
53
|
-
[cssGlobalVars.active, `var(${cssGlobalVars._colors.blue[
|
54
|
-
[cssGlobalVars.passive, `var(${cssGlobalVars._colors.darkgray[
|
53
|
+
[cssGlobalVars.active, `var(${cssGlobalVars._colors.blue[5]})`],
|
54
|
+
[cssGlobalVars.passive, `var(${cssGlobalVars._colors.darkgray[5]})`],
|
55
55
|
[
|
56
56
|
cssGlobalVars.clipBackground,
|
57
57
|
`linear-gradient(to bottom, var(${cssGlobalVars._colors.lightgray[0]}), var(${cssGlobalVars._colors.darkgray[5]}))`,
|
package/src/core/super-input.ts
CHANGED
@@ -7,7 +7,6 @@ import { OutlineBuilder, type OutlineType } from "./outline.js";
|
|
7
7
|
|
8
8
|
const fieldStyle = css`
|
9
9
|
.input-field {
|
10
|
-
--space: var(${cssGlobalVars.input}-space);
|
11
10
|
display: flex;
|
12
11
|
position: relative;
|
13
12
|
align-items: center;
|
@@ -20,13 +19,14 @@ const fieldStyle = css`
|
|
20
19
|
height: 100%;
|
21
20
|
width: 100%;
|
22
21
|
color: inherit;
|
23
|
-
padding:
|
22
|
+
padding: var(${cssGlobalVars.input}-space);
|
24
23
|
}
|
25
24
|
|
26
25
|
.input-field [part="icon"] {
|
27
26
|
display: flex;
|
28
27
|
align-items: center;
|
29
28
|
justify-content: center;
|
29
|
+
color: var(${cssGlobalVars.input}-icon-color);
|
30
30
|
}
|
31
31
|
|
32
32
|
.input-field [part="prefix"],
|
@@ -36,11 +36,11 @@ const fieldStyle = css`
|
|
36
36
|
}
|
37
37
|
|
38
38
|
.input-field [part="suffix"] [part="icon"] {
|
39
|
-
padding-inline-end: var(
|
39
|
+
padding-inline-end: var(${cssGlobalVars.input}-space);
|
40
40
|
}
|
41
41
|
|
42
42
|
.input-field [part="prefix"] [part="icon"] {
|
43
|
-
padding-inline-start: var(
|
43
|
+
padding-inline-start: var(${cssGlobalVars.input}-space);
|
44
44
|
}
|
45
45
|
`;
|
46
46
|
|
@@ -51,7 +51,8 @@ const inputStyle = css`
|
|
51
51
|
${cssGlobalVars.input}-space: 0.2em;
|
52
52
|
${cssGlobalVars.input}-control: currentColor;
|
53
53
|
${cssGlobalVars.input}-outline-width: .075em;
|
54
|
-
${cssGlobalVars.input}-outline-color: var(${cssGlobalVars.
|
54
|
+
${cssGlobalVars.input}-outline-color: var(${cssGlobalVars._colors.darkgray[4]});
|
55
|
+
${cssGlobalVars.input}-icon-color: var(${cssGlobalVars._colors.darkgray[4]});
|
55
56
|
border-radius: 0.2em;
|
56
57
|
}
|
57
58
|
|
@@ -60,6 +61,10 @@ const inputStyle = css`
|
|
60
61
|
filter: brightness(0.85);
|
61
62
|
}
|
62
63
|
|
64
|
+
:host(:focus-within) {
|
65
|
+
${cssGlobalVars.input}-icon-color: currentColor;
|
66
|
+
}
|
67
|
+
|
63
68
|
input:disabled {
|
64
69
|
cursor: inherit;
|
65
70
|
}
|
@@ -78,7 +83,7 @@ const inputStyle = css`
|
|
78
83
|
}).styleSheet,
|
79
84
|
inputStyle,
|
80
85
|
)
|
81
|
-
class SuperInput extends GlobalStyle {
|
86
|
+
class SuperInput<V = string> extends GlobalStyle {
|
82
87
|
autofocus = false;
|
83
88
|
@property()
|
84
89
|
autocomplete: string | boolean;
|
@@ -99,7 +104,7 @@ class SuperInput extends GlobalStyle {
|
|
99
104
|
name: string;
|
100
105
|
|
101
106
|
@property()
|
102
|
-
value:
|
107
|
+
value: V;
|
103
108
|
|
104
109
|
get observedRecord(): Record<string, any> {
|
105
110
|
return omit(super.observedRecord, "default", "value");
|
@@ -145,7 +150,7 @@ class SuperInput extends GlobalStyle {
|
|
145
150
|
if (this.compositing) {
|
146
151
|
return;
|
147
152
|
}
|
148
|
-
this.value = e.target.value?.trim();
|
153
|
+
(this.value as string) = e.target.value?.trim();
|
149
154
|
this.dispatchEvent(
|
150
155
|
new CustomEvent("input", {
|
151
156
|
detail: this.value,
|
@@ -28,10 +28,6 @@ class SuperOpenable extends GlobalStyle {
|
|
28
28
|
this.dispatchEvent(new CustomEvent("change", { detail: this.open, composed: true }));
|
29
29
|
}
|
30
30
|
}
|
31
|
-
|
32
|
-
protected _handelClick(_: MouseEvent): void {
|
33
|
-
this.toggle();
|
34
|
-
}
|
35
31
|
}
|
36
32
|
|
37
33
|
export default SuperOpenable;
|
package/tsconfig.json
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"target": "ES2021",
|
4
|
+
"module": "NodeNext",
|
5
|
+
"moduleResolution": "NodeNext",
|
6
|
+
"customConditions": [
|
7
|
+
"development",
|
8
|
+
"import",
|
9
|
+
"default"
|
10
|
+
],
|
11
|
+
"lib": [
|
12
|
+
"DOM",
|
13
|
+
"DOM.Iterable",
|
14
|
+
"ESNext"
|
15
|
+
],
|
16
|
+
"types": [],
|
17
|
+
"allowJs": false,
|
18
|
+
"skipDefaultLibCheck": true,
|
19
|
+
"skipLibCheck": true,
|
20
|
+
"declaration": true,
|
21
|
+
"declarationMap": true,
|
22
|
+
"sourceMap": true,
|
23
|
+
"importHelpers": true,
|
24
|
+
"noImplicitThis": true,
|
25
|
+
"experimentalDecorators": true,
|
26
|
+
"useDefineForClassFields": false,
|
27
|
+
"isolatedDeclarations": true,
|
28
|
+
"outDir": ".",
|
29
|
+
"rootDir": "src"
|
30
|
+
},
|
31
|
+
"include": ["src"],
|
32
|
+
"exclude": []
|
33
|
+
}
|