godown 3.1.0 → 3.3.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.
- package/README.md +2 -2
- package/build/godown+lit.iife.js +12 -12
- package/build/godown+lit.iife.js.map +1 -1
- package/build/godown+lit.js +12 -12
- package/build/godown+lit.js.map +1 -1
- package/build/godown+lit.umd.js +12 -12
- package/build/godown+lit.umd.js.map +1 -1
- package/build/godown.iife.js +10 -10
- package/build/godown.js +10 -10
- package/build/godown.js.map +1 -1
- package/build/godown.umd.js +10 -10
- package/build/godown.umd.js.map +1 -1
- package/components/alert.d.ts +1 -3
- package/components/alert.d.ts.map +1 -1
- package/components/alert.js +1 -1
- package/components/alert.js.map +1 -1
- package/components/button.d.ts +1 -1
- package/components/button.d.ts.map +1 -1
- package/components/button.js.map +1 -1
- package/components/carousel.d.ts +5 -11
- package/components/carousel.d.ts.map +1 -1
- package/components/carousel.js +1 -1
- package/components/carousel.js.map +1 -1
- package/components/input.js +1 -1
- package/components/input.js.map +1 -1
- package/components/link.d.ts +34 -7
- package/components/link.d.ts.map +1 -1
- package/components/link.js +1 -1
- package/components/link.js.map +1 -1
- package/components/range.d.ts +7 -12
- package/components/range.d.ts.map +1 -1
- package/components/range.js +1 -1
- package/components/range.js.map +1 -1
- package/components/router.d.ts +9 -1
- package/components/router.d.ts.map +1 -1
- package/components/router.js +1 -1
- package/components/router.js.map +1 -1
- package/components/split.d.ts.map +1 -1
- package/components/split.js +1 -1
- package/components/split.js.map +1 -1
- package/components/text.js +1 -1
- package/components/text.js.map +1 -1
- package/components/time.d.ts +0 -3
- package/components/time.d.ts.map +1 -1
- package/components/time.js +1 -1
- package/components/time.js.map +1 -1
- package/components/typewriter.d.ts.map +1 -1
- package/components/typewriter.js +1 -1
- package/components/typewriter.js.map +1 -1
- package/core/global-style.d.ts +1 -0
- package/core/global-style.d.ts.map +1 -1
- package/core/global-style.js +1 -1
- package/core/global-style.js.map +1 -1
- package/core/super-anchor.d.ts +1 -0
- package/core/super-anchor.d.ts.map +1 -1
- package/core/super-anchor.js +1 -1
- package/core/super-anchor.js.map +1 -1
- package/custom-elements.json +1 -1
- package/dev/components/alert.d.ts +1 -3
- package/dev/components/alert.d.ts.map +1 -1
- package/dev/components/alert.js +32 -56
- package/dev/components/alert.js.map +1 -1
- package/dev/components/button.d.ts +1 -1
- package/dev/components/button.d.ts.map +1 -1
- package/dev/components/button.js.map +1 -1
- package/dev/components/carousel.d.ts +5 -11
- package/dev/components/carousel.d.ts.map +1 -1
- package/dev/components/carousel.js +38 -37
- package/dev/components/carousel.js.map +1 -1
- package/dev/components/input.js +2 -2
- package/dev/components/link.d.ts +34 -7
- package/dev/components/link.d.ts.map +1 -1
- package/dev/components/link.js +70 -12
- package/dev/components/link.js.map +1 -1
- package/dev/components/range.d.ts +7 -12
- package/dev/components/range.d.ts.map +1 -1
- package/dev/components/range.js +40 -54
- package/dev/components/range.js.map +1 -1
- package/dev/components/router.d.ts +9 -1
- package/dev/components/router.d.ts.map +1 -1
- package/dev/components/router.js +28 -21
- package/dev/components/router.js.map +1 -1
- package/dev/components/split.d.ts.map +1 -1
- package/dev/components/split.js +2 -9
- package/dev/components/split.js.map +1 -1
- package/dev/components/text.js +2 -2
- package/dev/components/time.d.ts +0 -3
- package/dev/components/time.d.ts.map +1 -1
- package/dev/components/time.js +6 -20
- package/dev/components/time.js.map +1 -1
- package/dev/components/typewriter.d.ts.map +1 -1
- package/dev/components/typewriter.js +2 -2
- package/dev/components/typewriter.js.map +1 -1
- package/dev/core/global-style.d.ts +1 -0
- package/dev/core/global-style.d.ts.map +1 -1
- package/dev/core/global-style.js +13 -9
- package/dev/core/global-style.js.map +1 -1
- package/dev/core/super-anchor.d.ts +1 -0
- package/dev/core/super-anchor.d.ts.map +1 -1
- package/dev/core/super-anchor.js +3 -4
- package/dev/core/super-anchor.js.map +1 -1
- package/package.json +3 -3
- package/src/components/alert.ts +33 -64
- package/src/components/button.ts +1 -1
- package/src/components/carousel.ts +43 -42
- package/src/components/input.ts +2 -2
- package/src/components/link.ts +75 -12
- package/src/components/range.ts +48 -62
- package/src/components/router.ts +32 -21
- package/src/components/split.ts +2 -10
- package/src/components/text.ts +2 -2
- package/src/components/time.ts +8 -23
- package/src/components/typewriter.ts +9 -7
- package/src/core/global-style.ts +13 -9
- package/src/core/super-anchor.ts +5 -1
- package/vscode.html-custom-data.json +1 -1
- package/web-types.json +1 -1
package/dev/components/link.js
CHANGED
@@ -4,37 +4,92 @@ import { property } from "lit/decorators.js";
|
|
4
4
|
import SuperAnchor from "../core/super-anchor.js";
|
5
5
|
import Router from "./router.js";
|
6
6
|
const protoName = "link";
|
7
|
+
const linkTypes = {
|
8
|
+
push: "push",
|
9
|
+
replace: "replace",
|
10
|
+
normal: "normal",
|
11
|
+
auto: "auto",
|
12
|
+
};
|
7
13
|
/**
|
8
|
-
* {@linkcode Link} is used for link jumping.
|
14
|
+
* {@linkcode Link} is used for link jumping, works standalone or in {@linkcode Router}.
|
15
|
+
*
|
16
|
+
* Set `type` to `"normal"`,
|
17
|
+
* behave like a normal anchor.
|
9
18
|
*
|
10
19
|
* Set `type` to `"push" `or `"replace"`,
|
11
|
-
*
|
20
|
+
* update history state by `history.pushState` or `history.replaceState`,
|
21
|
+
* update all routers whether current pathname is registered or not.
|
22
|
+
*
|
23
|
+
* Set `type` to `"auto"`,
|
24
|
+
* only update the routers if the current pathname is registered,
|
25
|
+
* if not registered, behave like `"normal"`.
|
26
|
+
*
|
27
|
+
* `replace` property will enforce `history.replaceState`.
|
12
28
|
*
|
29
|
+
* @fires navigate - Fires when the link is clicked.
|
13
30
|
* @category navigation
|
14
31
|
*/
|
15
32
|
let Link = class Link extends SuperAnchor {
|
16
33
|
constructor() {
|
17
34
|
super(...arguments);
|
18
35
|
/**
|
19
|
-
* If "
|
36
|
+
* If `"normal"`, behave like a normal anchor.
|
20
37
|
*
|
21
|
-
* If "
|
38
|
+
* If `"auto"` or `"push"`, call `history.pushState` if `replace` is false,
|
22
39
|
*
|
23
|
-
* If "
|
40
|
+
* If `"replace"`, call `history.replaceState`.
|
24
41
|
*/
|
25
|
-
this.type =
|
42
|
+
this.type = linkTypes.auto;
|
26
43
|
/**
|
27
|
-
*
|
44
|
+
* If `true`, the {@linkcode Router} will not be updated.
|
28
45
|
*/
|
29
46
|
this.suppress = false;
|
47
|
+
/**
|
48
|
+
* Use `replaceState` instead of `pushState`.
|
49
|
+
*/
|
50
|
+
this.replace = false;
|
51
|
+
/**
|
52
|
+
* Location state object.
|
53
|
+
*/
|
54
|
+
this.state = {};
|
55
|
+
this.handleState = () => {
|
56
|
+
switch (this.type) {
|
57
|
+
case linkTypes.auto:
|
58
|
+
// biome-ignore lint: if replace is true, fallthrough to replace case
|
59
|
+
case linkTypes.push:
|
60
|
+
if (!this.replace) {
|
61
|
+
// type is auto or push and replace is false
|
62
|
+
history.pushState(this.state, "", this.href);
|
63
|
+
break;
|
64
|
+
}
|
65
|
+
case linkTypes.replace:
|
66
|
+
history.replaceState(this.state, "", this.href);
|
67
|
+
break;
|
68
|
+
}
|
69
|
+
};
|
30
70
|
}
|
31
71
|
_handleClick(e) {
|
32
|
-
|
72
|
+
const { state, type, href, pathname, suppress } = this;
|
73
|
+
this.dispatchCustomEvent("navigate", {
|
74
|
+
...this.observedRecord,
|
75
|
+
pathname,
|
76
|
+
state,
|
77
|
+
});
|
78
|
+
if (href.startsWith("#") || type === linkTypes.normal) {
|
79
|
+
return;
|
80
|
+
}
|
81
|
+
this.handleState();
|
82
|
+
const routers = [...Router.routerInstances];
|
83
|
+
if (
|
84
|
+
// only runs when suppress is false
|
85
|
+
!suppress &&
|
86
|
+
(type !== linkTypes.auto ||
|
87
|
+
// in auto mode, only update the routers if the current pathname is registered
|
88
|
+
routers.some((i) => i.search(location.pathname)))) {
|
33
89
|
e.preventDefault();
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
}
|
90
|
+
Router.routerInstances.forEach((i) => {
|
91
|
+
i.handlePopstate();
|
92
|
+
});
|
38
93
|
}
|
39
94
|
}
|
40
95
|
};
|
@@ -44,6 +99,9 @@ __decorate([
|
|
44
99
|
__decorate([
|
45
100
|
property({ type: Boolean })
|
46
101
|
], Link.prototype, "suppress", void 0);
|
102
|
+
__decorate([
|
103
|
+
property({ type: Boolean })
|
104
|
+
], Link.prototype, "replace", void 0);
|
47
105
|
Link = __decorate([
|
48
106
|
godown(protoName)
|
49
107
|
], Link);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/components/link.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/components/link.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX;;;;;;;;;;;;;;;;;;GAkBG;AAEH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,WAAW;IAA9B;;QACE;;;;;;WAMG;QAEH,SAAI,GAAa,SAAS,CAAC,IAAI,CAAC;QAEhC;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;WAEG;QACH,UAAK,GAAG,EAAE,CAAC;QA4BX,gBAAW,GAAe,GAAG,EAAE;YAC7B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,SAAS,CAAC,IAAI,CAAC;gBACpB,qEAAqE;gBACrE,KAAK,SAAS,CAAC,IAAI;oBACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAClB,4CAA4C;wBAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,MAAM;oBACR,CAAC;gBACH,KAAK,SAAS,CAAC,OAAO;oBACpB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM;YACV,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAzCW,YAAY,CAAC,CAAa;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE;YACnC,GAAG,IAAI,CAAC,cAAc;YACtB,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5C;QACE,mCAAmC;QACnC,CAAC,QAAQ;YACT,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;gBACtB,8EAA8E;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnD,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CAiBF,CAAA;AA5DC;IADC,QAAQ,EAAE;kCACqB;AAMhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACX;AAMjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACZ;AArBZ,IAAI;IADT,MAAM,CAAC,SAAS,CAAC;GACZ,IAAI,CAqET;AAED,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { Ranger } from "@godown/element";
|
1
2
|
import { type TemplateResult } from "lit";
|
2
3
|
import SuperInput from "../core/super-input.js";
|
3
4
|
/**
|
@@ -44,11 +45,8 @@ declare class Range extends SuperInput {
|
|
44
45
|
protected _root: HTMLElement;
|
45
46
|
protected _handles: NodeListOf<HTMLElement>;
|
46
47
|
lastFocus?: number;
|
48
|
+
protected _ranger: Ranger;
|
47
49
|
private __focusStack;
|
48
|
-
/**
|
49
|
-
* Returns true when the second number is greater than the first number.
|
50
|
-
*/
|
51
|
-
get reverse(): boolean;
|
52
50
|
/**
|
53
51
|
* If value is array.
|
54
52
|
*/
|
@@ -63,25 +61,22 @@ declare class Range extends SuperInput {
|
|
63
61
|
* @returns Array with length of len.
|
64
62
|
*/
|
65
63
|
padValue(len: number, value?: number): number[];
|
64
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
66
65
|
protected render(): TemplateResult<1>;
|
67
66
|
protected _renderHandle(index: number): TemplateResult<1>;
|
68
67
|
private __keydownEvent;
|
69
68
|
focusHandle(index: number): void;
|
70
69
|
blurHandle(): void;
|
71
70
|
protected createKeydownEvent(index: number): (e: KeyboardEvent) => void;
|
72
|
-
createMouseDown(index: number): (e: MouseEvent) => void;
|
73
|
-
createSetValue(index: number): (
|
71
|
+
protected createMouseDown(index: number): (e: MouseEvent) => void;
|
72
|
+
protected createSetValue(index: number): (value: number) => void;
|
74
73
|
/**
|
75
74
|
* Compute value from event.
|
76
75
|
*/
|
77
|
-
protected _computeValue(
|
78
|
-
/**
|
79
|
-
* Ensure that the values do not exceed the range of max and min.
|
80
|
-
*/
|
81
|
-
normalizeValue(value: number): number;
|
76
|
+
protected _computeValue({ clientX, clientY }: MouseEvent): number;
|
82
77
|
protected _handleMousedownRoot(e: MouseEvent): void;
|
83
78
|
protected createMousedownListener(mouseMoveCallback: (arg0: number) => void): (e: MouseEvent) => void;
|
84
|
-
protected createMousemoveListener(callback: (
|
79
|
+
protected createMousemoveListener(callback: (newValue: number) => void): (e: MouseEvent) => void;
|
85
80
|
protected _connectedInit(): void;
|
86
81
|
reset(): void;
|
87
82
|
sort(): number | number[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/components/range.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/components/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7G,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAKhD;;;;;;;;;;;;;GAaG;AACH,cA8FM,KAAM,SAAQ,UAAU;IAC5B;;OAEG;IAEH,GAAG,SAAK;IAER;;OAEG;IAEH,GAAG,SAAO;IAEV;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;OAEG;IAEH,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAG3B,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAG7B,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,YAAY,CAAgB;IAEpC;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE;IAS1C,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOvF,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAyBrC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAqBzD,OAAO,CAAC,cAAc,CAAqC;IAE3D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAehC,UAAU,IAAI,IAAI;IAMlB,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,OAK7B,aAAa,KAAG,IAAI;IAYjC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,OAC1B,UAAU,KAAG,IAAI;IAM9B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,WACrB,MAAM,KAAG,IAAI;IAY9B;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,MAAM;IAKjE,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAgBnD,SAAS,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,OAC9D,UAAU,KAAG,IAAI;IAa9B,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,OACzD,UAAU,KAAG,IAAI;IAS9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAahC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM,GAAG,MAAM,EAAE;IAIzB,QAAQ,IAAI,MAAM,GAAG,MAAM,EAAE;CAM9B;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dev/components/range.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { attr,
|
2
|
+
import { attr, tokenList, godown, isNil, joinProperties, loop, part, styles, Ranger } from "@godown/element";
|
3
3
|
import { css, html } from "lit";
|
4
4
|
import { property, queryAll, state } from "lit/decorators.js";
|
5
5
|
import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
|
@@ -37,12 +37,6 @@ let Range = class Range extends SuperInput {
|
|
37
37
|
this.vertical = false;
|
38
38
|
this.__focusStack = [];
|
39
39
|
}
|
40
|
-
/**
|
41
|
-
* Returns true when the second number is greater than the first number.
|
42
|
-
*/
|
43
|
-
get reverse() {
|
44
|
-
return this.range ? this.value[0] > this.value[1] : false;
|
45
|
-
}
|
46
40
|
/**
|
47
41
|
* If value is array.
|
48
42
|
*/
|
@@ -68,43 +62,49 @@ let Range = class Range extends SuperInput {
|
|
68
62
|
}
|
69
63
|
return rangeValue;
|
70
64
|
}
|
65
|
+
attributeChangedCallback(name, _old, value) {
|
66
|
+
super.attributeChangedCallback(name, _old, value);
|
67
|
+
if (name === "max" || name === "min" || name === "step") {
|
68
|
+
this._ranger = new Ranger(this.min, this.max, this.step);
|
69
|
+
}
|
70
|
+
}
|
71
71
|
render() {
|
72
72
|
const rangeValue = this.padValue(2);
|
73
73
|
const from = Math.min(...rangeValue);
|
74
74
|
const to = Math.max(...rangeValue);
|
75
|
-
const gap = this.
|
75
|
+
const gap = this._ranger.diff;
|
76
76
|
return html `
|
77
77
|
<div
|
78
78
|
part="root"
|
79
79
|
${attr(this.observedRecord)}
|
80
80
|
@mousedown="${this.disabled ? null : this._handleMousedownRoot}"
|
81
|
-
style="${joinProperties(
|
82
|
-
"--from"
|
83
|
-
"--to"
|
84
|
-
...(this.
|
85
|
-
|
86
|
-
: {}),
|
87
|
-
})}"
|
81
|
+
style="${joinProperties([
|
82
|
+
["--from", `${((from - this.min) / gap) * 100}%`],
|
83
|
+
["--to", `${((to - this.min) / gap) * 100}%`],
|
84
|
+
...rangeValue.map((value, index) => [`--handle-${index}`, `${((value - this.min) / gap) * 100}%`]),
|
85
|
+
])}"
|
88
86
|
>
|
89
87
|
<div part="track"></div>
|
90
|
-
${this.
|
88
|
+
${loop(this.rangeValue.length, (index) => this._renderHandle(index))}
|
91
89
|
</div>
|
92
90
|
`;
|
93
91
|
}
|
94
92
|
_renderHandle(index) {
|
95
|
-
const {
|
96
|
-
|
93
|
+
const { rangeValue, disabled } = this;
|
94
|
+
// in single-handle mod or last handle.
|
95
|
+
const end = index === rangeValue.length - 1;
|
97
96
|
return html `
|
98
97
|
<i
|
99
98
|
tabindex="0"
|
100
99
|
part="handle"
|
101
|
-
class="${
|
102
|
-
@mousedown="${
|
103
|
-
@focus="${
|
104
|
-
@blur="${
|
105
|
-
style="
|
106
|
-
|
107
|
-
|
100
|
+
class="${tokenList({ "last-focus": this.lastFocus === index })}"
|
101
|
+
@mousedown="${disabled ? null : this.createMouseDown(index)}"
|
102
|
+
@focus="${disabled ? null : () => this.focusHandle(index)}"
|
103
|
+
@blur="${disabled ? null : this.blurHandle}"
|
104
|
+
style="${joinProperties({
|
105
|
+
"z-index": this.__focusStack.indexOf(index) + 1,
|
106
|
+
"--handle": `var(--${end ? "to" : `handle-${index}`})`,
|
107
|
+
})}"
|
108
108
|
></i>
|
109
109
|
`;
|
110
110
|
}
|
@@ -128,17 +128,19 @@ let Range = class Range extends SuperInput {
|
|
128
128
|
this.dispatchEvent(new CustomEvent("blur"));
|
129
129
|
}
|
130
130
|
createKeydownEvent(index) {
|
131
|
-
|
131
|
+
const { rangeValue, step } = this;
|
132
|
+
if (rangeValue.length < 2) {
|
132
133
|
index = 0;
|
133
134
|
}
|
134
135
|
return (e) => {
|
136
|
+
const old = rangeValue[index];
|
135
137
|
if (e.key === "ArrowLeft" || e.key === "ArrowDown") {
|
136
138
|
e.preventDefault();
|
137
|
-
this.createSetValue(index)(
|
139
|
+
this.createSetValue(index)(old - step);
|
138
140
|
}
|
139
141
|
else if (e.key === "ArrowRight" || e.key === "ArrowUp") {
|
140
142
|
e.preventDefault();
|
141
|
-
this.createSetValue(index)(
|
143
|
+
this.createSetValue(index)(old + step);
|
142
144
|
}
|
143
145
|
};
|
144
146
|
}
|
@@ -149,14 +151,12 @@ let Range = class Range extends SuperInput {
|
|
149
151
|
};
|
150
152
|
}
|
151
153
|
createSetValue(index) {
|
152
|
-
return (
|
153
|
-
const
|
154
|
-
|
155
|
-
: numberOrModifier(this.rangeValue[index]);
|
156
|
-
let newValue = number;
|
154
|
+
return (value) => {
|
155
|
+
const normalizeValue = this._ranger.normalize(value);
|
156
|
+
let newValue = normalizeValue;
|
157
157
|
if (this.range) {
|
158
|
-
newValue = [...this.
|
159
|
-
newValue[index] =
|
158
|
+
newValue = [...this.value];
|
159
|
+
newValue[index] = normalizeValue;
|
160
160
|
}
|
161
161
|
this.value = newValue;
|
162
162
|
this.dispatchEvent(new CustomEvent("range", { detail: this.value }));
|
@@ -165,23 +165,9 @@ let Range = class Range extends SuperInput {
|
|
165
165
|
/**
|
166
166
|
* Compute value from event.
|
167
167
|
*/
|
168
|
-
_computeValue(
|
169
|
-
const
|
170
|
-
|
171
|
-
const value = Math.round((div * (this.max - this.min)) / this.step) * this.step;
|
172
|
-
return this.normalizeValue(value);
|
173
|
-
}
|
174
|
-
/**
|
175
|
-
* Ensure that the values do not exceed the range of max and min.
|
176
|
-
*/
|
177
|
-
normalizeValue(value) {
|
178
|
-
if (value > this.max) {
|
179
|
-
value -= this.step;
|
180
|
-
}
|
181
|
-
else if (value < this.min) {
|
182
|
-
value += this.step;
|
183
|
-
}
|
184
|
-
return value;
|
168
|
+
_computeValue({ clientX, clientY }) {
|
169
|
+
const { top, left, height, width } = this._root.getBoundingClientRect();
|
170
|
+
return this._ranger.present(this.vertical ? (clientY - top) / height : (clientX - left) / width);
|
185
171
|
}
|
186
172
|
_handleMousedownRoot(e) {
|
187
173
|
const value = this._computeValue(e);
|
@@ -213,14 +199,14 @@ let Range = class Range extends SuperInput {
|
|
213
199
|
createMousemoveListener(callback) {
|
214
200
|
return (e) => {
|
215
201
|
const value = this._computeValue(e);
|
216
|
-
if (value
|
202
|
+
if (value !== this._ranger.restrict(value)) {
|
217
203
|
return;
|
218
204
|
}
|
219
205
|
callback?.call(this, value);
|
220
206
|
};
|
221
207
|
}
|
222
208
|
_connectedInit() {
|
223
|
-
const gap = this.
|
209
|
+
const gap = this._ranger.diff;
|
224
210
|
this.step ||= gap / 100;
|
225
211
|
if (isNil(this.value)) {
|
226
212
|
if (!isNil(this.default)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/components/range.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/components/range.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { RouteTree } from "@godown/element";
|
1
2
|
import { type PropertyValueMap, type TemplateResult } from "lit";
|
2
3
|
import { GlobalStyle } from "../core/global-style.js";
|
3
4
|
interface RouteState {
|
@@ -14,6 +15,12 @@ interface RouteItem {
|
|
14
15
|
render?: (state?: RouteState) => unknown;
|
15
16
|
component?: unknown;
|
16
17
|
}
|
18
|
+
declare const routerTypes: {
|
19
|
+
readonly field: "field";
|
20
|
+
readonly slotted: "slotted";
|
21
|
+
readonly united: "united";
|
22
|
+
};
|
23
|
+
type RouterType = keyof typeof routerTypes;
|
17
24
|
/**
|
18
25
|
* {@linkcode Router} has basic routing control.
|
19
26
|
*
|
@@ -69,7 +76,7 @@ declare class Router extends GlobalStyle {
|
|
69
76
|
*
|
70
77
|
* This property should not be changed after the rendering is complete.
|
71
78
|
*/
|
72
|
-
type:
|
79
|
+
type: RouterType;
|
73
80
|
/**
|
74
81
|
* Cache accessed records.
|
75
82
|
*
|
@@ -101,6 +108,7 @@ declare class Router extends GlobalStyle {
|
|
101
108
|
*/
|
102
109
|
collectFieldRoutes(value: typeof this.routes): void;
|
103
110
|
static updateAll(): void;
|
111
|
+
search(pathname: string): RouteTree;
|
104
112
|
handlePopstate: () => void;
|
105
113
|
}
|
106
114
|
export default Router;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/components/router.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/components/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkC,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAO,MAAM,KAAK,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAY,SAAQ,UAAU;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,SAAS;IACjB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,WAAW;;;;CAIP,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAI3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,cAMM,MAAO,SAAQ,WAAW;IAC9B,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IAExD,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAc;IAE9B;;OAEG;IAEH,SAAS,EAAE,OAAO,GAAG,cAAc,CAAQ;IAE3C;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKnC;IAED;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,QAAQ,EAAE,MAAM,CAAqB;IAErC;;OAEG;IAEH,OAAO,EAAE,cAAc,CAAc;IAErC;;;;;;OAMG;IAEH,IAAI,EAAE,UAAU,CAAsB;IAEtC;;;;OAIG;IAEH,KAAK,UAAS;IAEd,IACI,MAAM,CAAC,KAAK,EAKF,SAAS,EAAE,AALT,EAGf;IAED,IAAI,MAAM,IAAI,SAAS,EAAE,CAExB;IAED,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,MAAM,IAAI,OAAO;IAsB3B,iBAAiB,IAAI,IAAI;IAczB,oBAAoB,IAAI,IAAI;IAK5B,SAAS,IAAI,WAAW;IASxB,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAWlE;;OAEG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAoBvC;;OAEG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAiBnD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAQ5B;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI;IAQnD,MAAM,CAAC,SAAS,IAAI,IAAI;IAMxB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAInC,cAAc,EAAE,MAAM,IAAI,CAEvB;CACJ;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dev/components/router.js
CHANGED
@@ -4,6 +4,11 @@ import { RouteTree, godown, htmlSlot, omit, styles } from "@godown/element";
|
|
4
4
|
import { css } from "lit";
|
5
5
|
import { property, state } from "lit/decorators.js";
|
6
6
|
import { GlobalStyle } from "../core/global-style.js";
|
7
|
+
const routerTypes = {
|
8
|
+
field: "field",
|
9
|
+
slotted: "slotted",
|
10
|
+
united: "united",
|
11
|
+
};
|
7
12
|
const protoName = "router";
|
8
13
|
/**
|
9
14
|
* {@linkcode Router} has basic routing control.
|
@@ -52,7 +57,7 @@ let Router = Router_1 = class Router extends GlobalStyle {
|
|
52
57
|
*
|
53
58
|
* This property should not be changed after the rendering is complete.
|
54
59
|
*/
|
55
|
-
this.type =
|
60
|
+
this.type = routerTypes.united;
|
56
61
|
/**
|
57
62
|
* Cache accessed records.
|
58
63
|
*
|
@@ -83,22 +88,23 @@ let Router = Router_1 = class Router extends GlobalStyle {
|
|
83
88
|
this.__cacheRecord.clear();
|
84
89
|
}
|
85
90
|
render() {
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
}
|
91
|
+
let cached;
|
92
|
+
if (this.cache && (cached = this.__cacheRecord.get(this.pathname))) {
|
93
|
+
this.component = cached.component;
|
94
|
+
this.path = cached.path;
|
95
|
+
this.pathname = cached.pathname;
|
92
96
|
}
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
97
|
+
if (!cached) {
|
98
|
+
switch (this.type) {
|
99
|
+
case routerTypes.field:
|
100
|
+
this.component = this.fieldComponent();
|
101
|
+
break;
|
102
|
+
case routerTypes.slotted:
|
103
|
+
this.component = this.slottedComponent();
|
104
|
+
break;
|
105
|
+
default:
|
106
|
+
this.component = this.fieldComponent() ?? this.slottedComponent();
|
107
|
+
}
|
102
108
|
}
|
103
109
|
return this.component ?? this.default;
|
104
110
|
}
|
@@ -106,10 +112,9 @@ let Router = Router_1 = class Router extends GlobalStyle {
|
|
106
112
|
super.connectedCallback();
|
107
113
|
Router_1.routerInstances.add(this);
|
108
114
|
if (this.type !== "field") {
|
109
|
-
|
110
|
-
mutationObserver.observe(this, {
|
111
|
-
attributeFilter: ["slot"],
|
115
|
+
this.observers.add(this, MutationObserver, this.collectSlottedRoutes, {
|
112
116
|
attributes: true,
|
117
|
+
attributeFilter: ["slot"],
|
113
118
|
subtree: true,
|
114
119
|
});
|
115
120
|
this.collectSlottedRoutes();
|
@@ -131,8 +136,7 @@ let Router = Router_1 = class Router extends GlobalStyle {
|
|
131
136
|
const shouldDispatch = changedProperties.has("pathname") || changedProperties.has("path");
|
132
137
|
if (shouldDispatch) {
|
133
138
|
const ur = this.useRouter();
|
134
|
-
|
135
|
-
if (noRecord) {
|
139
|
+
if (!this.__cacheRecord.has(this.pathname) && this.path) {
|
136
140
|
this.__cacheRecord.set(this.pathname, ur);
|
137
141
|
}
|
138
142
|
this.dispatchEvent(new CustomEvent("change", { detail: ur }));
|
@@ -197,6 +201,9 @@ let Router = Router_1 = class Router extends GlobalStyle {
|
|
197
201
|
i.handlePopstate();
|
198
202
|
});
|
199
203
|
}
|
204
|
+
search(pathname) {
|
205
|
+
return this.__fieldRouteTree.search(pathname) || this.__slottedRouteTree.search(pathname);
|
206
|
+
}
|
200
207
|
};
|
201
208
|
Router.routerInstances = new Set();
|
202
209
|
__decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAA8C,GAAG,EAAE,MAAM,KAAK,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAmBtD,MAAM,SAAS,GAAG,QAAQ,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,WAAW;IAAhC;;QAGU,qBAAgB,GAAc,IAAI,SAAS,EAAE,CAAC;QAC9C,uBAAkB,GAAc,IAAI,SAAS,EAAE,CAAC;QAChD,kBAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QAGvD;;WAEG;QAEH,cAAS,GAA6B,IAAI,CAAC;QAkB3C;;WAEG;QAEH,aAAQ,GAAW,QAAQ,CAAC,QAAQ,CAAC;QAErC;;WAEG;QAEH,YAAO,GAAmB,QAAQ,EAAE,CAAC;QAErC;;;;;;WAMG;QAEH,SAAI,
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/components/split.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,
|
1
|
+
{"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/components/split.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAyC,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAKhD;;;;;;;;;;;;GAYG;AACH,cA+CM,KAAM,SAAQ,UAAU;IAC5B;;OAEG;IAEH,GAAG,SAAK;IAER;;OAEG;IAEH,KAAK,SAAM;IAGX,OAAO,SAAM;IAGb,YAAY,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAM;IAErC,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAgCrC,iBAAiB,IAAI,IAAI;IAKzB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,IAAI;IAY3E;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA2C9C,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMxB,IAAI,IAAI,IAAI;IAOZ,KAAK,IAAI,IAAI;CAQd;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dev/components/split.js
CHANGED
@@ -1,18 +1,11 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { attr,
|
2
|
+
import { attr, tokenList, godown, styles, loop } from "@godown/element";
|
3
3
|
import { css, html } from "lit";
|
4
4
|
import { property, state } from "lit/decorators.js";
|
5
5
|
import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
|
6
6
|
import SuperInput from "../core/super-input.js";
|
7
7
|
const protoName = "split";
|
8
8
|
const cssScope = scopePrefix(protoName);
|
9
|
-
const loop = (len, fn) => {
|
10
|
-
const result = new Array(len);
|
11
|
-
for (let index = 0; index < len; index++) {
|
12
|
-
result[index] = fn(index);
|
13
|
-
}
|
14
|
-
return result;
|
15
|
-
};
|
16
9
|
/**
|
17
10
|
* {@linkcode Split} renders multiple input boxes.
|
18
11
|
*
|
@@ -49,7 +42,7 @@ let Split = class Split extends SuperInput {
|
|
49
42
|
${loop(this.len, (index) => html `
|
50
43
|
<span
|
51
44
|
part="input-box"
|
52
|
-
class="${
|
45
|
+
class="${tokenList({ focus: this.current === index })}"
|
53
46
|
@click="${this.disabled ? null : () => this.focusAt(index)}"
|
54
47
|
>
|
55
48
|
${this.currentValue[index]}
|