juxscript 1.1.378 → 1.1.379
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/dist/components/button.d.ts +4 -0
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +13 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/checkbox.d.ts +2 -0
- package/dist/components/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +6 -0
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/input.d.ts +10 -0
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +39 -0
- package/dist/components/input.js.map +1 -1
- package/dist/components/link.d.ts +2 -0
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/link.js +9 -1
- package/dist/components/link.js.map +1 -1
- package/dist/components/list.d.ts +4 -0
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +22 -1
- package/dist/components/list.js.map +1 -1
- package/dist/components/nav.d.ts +4 -0
- package/dist/components/nav.d.ts.map +1 -1
- package/dist/components/nav.js +12 -0
- package/dist/components/nav.js.map +1 -1
- package/dist/components/radio.d.ts +1 -0
- package/dist/components/radio.d.ts.map +1 -1
- package/dist/components/radio.js +3 -0
- package/dist/components/radio.js.map +1 -1
- package/dist/components/select.d.ts +7 -0
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +27 -0
- package/dist/components/select.js.map +1 -1
- package/dist/components/tag.d.ts +3 -0
- package/dist/components/tag.d.ts.map +1 -1
- package/dist/components/tag.js +12 -1
- package/dist/components/tag.js.map +1 -1
- package/machinery/autowrap.js +103 -24
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ interface ButtonOptions {
|
|
|
8
8
|
style?: string;
|
|
9
9
|
target?: string;
|
|
10
10
|
icon?: string;
|
|
11
|
+
onClick?: (event: MouseEvent) => void;
|
|
11
12
|
[key: string]: any;
|
|
12
13
|
}
|
|
13
14
|
declare class Button {
|
|
@@ -25,6 +26,9 @@ declare class Button {
|
|
|
25
26
|
setStyle(val: string): this;
|
|
26
27
|
getElement(): HTMLButtonElement;
|
|
27
28
|
onChange(fn: (value: string) => void): this;
|
|
29
|
+
onClick(fn: (event: MouseEvent) => void): this;
|
|
30
|
+
/** Returns the reactive pageState proxy for this component */
|
|
31
|
+
get state(): any;
|
|
28
32
|
}
|
|
29
33
|
export declare function button(id: string, options?: ButtonOptions): Button;
|
|
30
34
|
export declare function btn(id: string, options?: ButtonOptions): Button;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../lib/components/button.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,MAAM;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../lib/components/button.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,MAAM;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAiEnD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IAEpB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE7B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAM/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,IAAI,iBAAiB;IAE/B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK3C,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAK9C,8DAA8D;IAC9D,IAAI,KAAK,IAAI,GAAG,CAEf;CACJ;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAItE;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAInE;AAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACjC,eAAe,MAAM,CAAC"}
|
|
@@ -47,10 +47,14 @@ class Button {
|
|
|
47
47
|
}
|
|
48
48
|
// Extra attributes
|
|
49
49
|
for (const [key, value] of Object.entries(this.opts)) {
|
|
50
|
-
if (['content', 'class', 'style', 'target', 'variant', 'size', 'type', 'disabled', 'icon'].includes(key))
|
|
50
|
+
if (['content', 'class', 'style', 'target', 'variant', 'size', 'type', 'disabled', 'icon', 'onClick'].includes(key))
|
|
51
51
|
continue;
|
|
52
52
|
this._element.setAttribute(`data-${key}`, String(value));
|
|
53
53
|
}
|
|
54
|
+
// Click handler
|
|
55
|
+
if (this.opts.onClick) {
|
|
56
|
+
this._element.addEventListener('click', this.opts.onClick);
|
|
57
|
+
}
|
|
54
58
|
const resolvedTarget = this.opts.target;
|
|
55
59
|
const container = resolvedTarget
|
|
56
60
|
? document.getElementById(resolvedTarget) || document.querySelector(resolvedTarget)
|
|
@@ -92,6 +96,14 @@ class Button {
|
|
|
92
96
|
this._onChange = fn;
|
|
93
97
|
return this;
|
|
94
98
|
}
|
|
99
|
+
onClick(fn) {
|
|
100
|
+
this._element.addEventListener('click', fn);
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
/** Returns the reactive pageState proxy for this component */
|
|
104
|
+
get state() {
|
|
105
|
+
return pageState[this.id];
|
|
106
|
+
}
|
|
95
107
|
}
|
|
96
108
|
export function button(id, options = {}) {
|
|
97
109
|
const b = new Button(id, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../lib/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../lib/components/button.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ interface CheckboxOptions {
|
|
|
10
10
|
disabled?: boolean;
|
|
11
11
|
class?: string;
|
|
12
12
|
style?: string;
|
|
13
|
+
onChange?: (checked: boolean, event: Event) => void;
|
|
13
14
|
}
|
|
14
15
|
interface CheckboxGroupOptions {
|
|
15
16
|
label?: string;
|
|
@@ -19,6 +20,7 @@ interface CheckboxGroupOptions {
|
|
|
19
20
|
disabled?: boolean;
|
|
20
21
|
class?: string;
|
|
21
22
|
style?: string;
|
|
23
|
+
onChange?: (values: string[], event: Event) => void;
|
|
22
24
|
}
|
|
23
25
|
declare class Checkbox {
|
|
24
26
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../lib/components/checkbox.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../lib/components/checkbox.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvD;AAED,UAAU,oBAAoB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvD;AAMD,cAAM,QAAQ;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAA2D;gBAEhE,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAKrD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,OAAO,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACpC,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE1B,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAK5D,QAAQ,IAAI,OAAO;IAInB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CAwC9C;AAMD,cAAM,aAAa;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAA2D;gBAEhE,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IAU1D,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI;IACjD,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE1B,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI;IAMrC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ5B,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAK5D,SAAS,IAAI,MAAM,EAAE;IAIrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,aAAa;IA2BrB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CA+B9C;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAK5E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAK3F;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -54,6 +54,9 @@ class Checkbox {
|
|
|
54
54
|
}
|
|
55
55
|
this._element = inp;
|
|
56
56
|
this._wrapper = wrapper;
|
|
57
|
+
// Wire up option-based handler
|
|
58
|
+
if (this.opts.onChange)
|
|
59
|
+
this._onChange = this.opts.onChange;
|
|
57
60
|
const container = target
|
|
58
61
|
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
59
62
|
: document.getElementById('app');
|
|
@@ -156,6 +159,9 @@ class CheckboxGroup {
|
|
|
156
159
|
this._buildOptions(optionsDiv);
|
|
157
160
|
wrapper.appendChild(optionsDiv);
|
|
158
161
|
this._wrapper = wrapper;
|
|
162
|
+
// Wire up option-based handler
|
|
163
|
+
if (this.opts.onChange)
|
|
164
|
+
this._onChange = this.opts.onChange;
|
|
159
165
|
const container = target
|
|
160
166
|
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
161
167
|
: document.getElementById('app');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../lib/components/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../lib/components/checkbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ interface InputOptions {
|
|
|
15
15
|
autocomplete?: string;
|
|
16
16
|
class?: string;
|
|
17
17
|
style?: string;
|
|
18
|
+
onChange?: (value: string, event: Event) => void;
|
|
19
|
+
onFocus?: (event: FocusEvent) => void;
|
|
20
|
+
onBlur?: (event: FocusEvent) => void;
|
|
21
|
+
onKeyDown?: (event: KeyboardEvent) => void;
|
|
18
22
|
}
|
|
19
23
|
declare class Input {
|
|
20
24
|
id: string;
|
|
@@ -22,6 +26,9 @@ declare class Input {
|
|
|
22
26
|
private _element;
|
|
23
27
|
private _wrapper;
|
|
24
28
|
private _onChange;
|
|
29
|
+
private _onFocus;
|
|
30
|
+
private _onBlur;
|
|
31
|
+
private _onKeyDown;
|
|
25
32
|
constructor(id: string, options?: InputOptions);
|
|
26
33
|
type(value: InputType): this;
|
|
27
34
|
label(value: string): this;
|
|
@@ -34,6 +41,9 @@ declare class Input {
|
|
|
34
41
|
style(value: string): this;
|
|
35
42
|
class(value: string): this;
|
|
36
43
|
onChange(fn: (value: string, event: Event) => void): this;
|
|
44
|
+
onFocus(fn: (event: FocusEvent) => void): this;
|
|
45
|
+
onBlur(fn: (event: FocusEvent) => void): this;
|
|
46
|
+
onKeyDown(fn: (event: KeyboardEvent) => void): this;
|
|
37
47
|
getValue(): string;
|
|
38
48
|
getFiles(): FileList | null;
|
|
39
49
|
setValue(val: string): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElK,UAAU,YAAY;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"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"}
|
package/dist/components/input.js
CHANGED
|
@@ -6,6 +6,9 @@ class Input {
|
|
|
6
6
|
this._element = null;
|
|
7
7
|
this._wrapper = null;
|
|
8
8
|
this._onChange = null;
|
|
9
|
+
this._onFocus = null;
|
|
10
|
+
this._onBlur = null;
|
|
11
|
+
this._onKeyDown = null;
|
|
9
12
|
this.id = id || generateId();
|
|
10
13
|
this.options = {
|
|
11
14
|
type: 'text',
|
|
@@ -33,6 +36,21 @@ class Input {
|
|
|
33
36
|
this._onChange = fn;
|
|
34
37
|
return this;
|
|
35
38
|
}
|
|
39
|
+
onFocus(fn) {
|
|
40
|
+
this._element?.addEventListener('focus', fn);
|
|
41
|
+
this._onFocus = fn;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
onBlur(fn) {
|
|
45
|
+
this._element?.addEventListener('blur', fn);
|
|
46
|
+
this._onBlur = fn;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
onKeyDown(fn) {
|
|
50
|
+
this._element?.addEventListener('keydown', fn);
|
|
51
|
+
this._onKeyDown = fn;
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
36
54
|
getValue() {
|
|
37
55
|
return this._element?.value ?? this.options.value ?? '';
|
|
38
56
|
}
|
|
@@ -93,6 +111,18 @@ class Input {
|
|
|
93
111
|
if (this._onChange)
|
|
94
112
|
this._onChange(input.value, e);
|
|
95
113
|
});
|
|
114
|
+
input.addEventListener('focus', (e) => {
|
|
115
|
+
if (this._onFocus)
|
|
116
|
+
this._onFocus(e);
|
|
117
|
+
});
|
|
118
|
+
input.addEventListener('blur', (e) => {
|
|
119
|
+
if (this._onBlur)
|
|
120
|
+
this._onBlur(e);
|
|
121
|
+
});
|
|
122
|
+
input.addEventListener('keydown', (e) => {
|
|
123
|
+
if (this._onKeyDown)
|
|
124
|
+
this._onKeyDown(e);
|
|
125
|
+
});
|
|
96
126
|
// For file inputs, also listen to 'change'
|
|
97
127
|
if (this.options.type === 'file') {
|
|
98
128
|
input.addEventListener('change', (e) => {
|
|
@@ -103,6 +133,15 @@ class Input {
|
|
|
103
133
|
wrapper.appendChild(input);
|
|
104
134
|
this._element = input;
|
|
105
135
|
this._wrapper = wrapper;
|
|
136
|
+
// Wire up option-based handlers
|
|
137
|
+
if (this.options.onChange)
|
|
138
|
+
this._onChange = this.options.onChange;
|
|
139
|
+
if (this.options.onFocus)
|
|
140
|
+
this._onFocus = this.options.onFocus;
|
|
141
|
+
if (this.options.onBlur)
|
|
142
|
+
this._onBlur = this.options.onBlur;
|
|
143
|
+
if (this.options.onKeyDown)
|
|
144
|
+
this._onKeyDown = this.options.onKeyDown;
|
|
106
145
|
const container = target
|
|
107
146
|
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
108
147
|
: document.getElementById('app');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ interface LinkOptions {
|
|
|
9
9
|
target?: string;
|
|
10
10
|
linkTarget?: '_blank' | '_self' | '_parent' | '_top';
|
|
11
11
|
icon?: string;
|
|
12
|
+
onClick?: (event: MouseEvent) => void;
|
|
12
13
|
[key: string]: any;
|
|
13
14
|
}
|
|
14
15
|
declare class Link {
|
|
@@ -27,6 +28,7 @@ declare class Link {
|
|
|
27
28
|
setStyle(val: string): this;
|
|
28
29
|
getElement(): HTMLAnchorElement;
|
|
29
30
|
onChange(fn: (value: string) => void): this;
|
|
31
|
+
onClick(fn: (event: MouseEvent) => void): this;
|
|
30
32
|
}
|
|
31
33
|
export declare function link(id: string, options?: LinkOptions): Link;
|
|
32
34
|
export declare function a(id: string, options?: LinkOptions): Link;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../lib/components/link.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../lib/components/link.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAiFjD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IAEpB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM3B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE1B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAU/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,IAAI,iBAAiB;IAE/B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK3C,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;CAIjD;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAIhE;AAED,wBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAI7D;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7B,eAAe,IAAI,CAAC"}
|
package/dist/components/link.js
CHANGED
|
@@ -44,10 +44,14 @@ class Link {
|
|
|
44
44
|
}
|
|
45
45
|
// Extra attributes
|
|
46
46
|
for (const [key, value] of Object.entries(this.opts)) {
|
|
47
|
-
if (['content', 'class', 'style', 'target', 'href', 'spa', 'external', 'disabled', 'icon', 'linkTarget'].includes(key))
|
|
47
|
+
if (['content', 'class', 'style', 'target', 'href', 'spa', 'external', 'disabled', 'icon', 'linkTarget', 'onClick'].includes(key))
|
|
48
48
|
continue;
|
|
49
49
|
this._element.setAttribute(`data-${key}`, String(value));
|
|
50
50
|
}
|
|
51
|
+
// Custom click handler
|
|
52
|
+
if (this.opts.onClick) {
|
|
53
|
+
this._element.addEventListener('click', this.opts.onClick);
|
|
54
|
+
}
|
|
51
55
|
// SPA navigation
|
|
52
56
|
if (this.opts.spa && !this.opts.external) {
|
|
53
57
|
this._element.addEventListener('click', (e) => {
|
|
@@ -120,6 +124,10 @@ class Link {
|
|
|
120
124
|
this._onChange = fn;
|
|
121
125
|
return this;
|
|
122
126
|
}
|
|
127
|
+
onClick(fn) {
|
|
128
|
+
this._element.addEventListener('click', fn);
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
123
131
|
}
|
|
124
132
|
export function link(id, options = {}) {
|
|
125
133
|
const l = new Link(id, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../lib/components/link.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../lib/components/link.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ interface ListOptions {
|
|
|
15
15
|
target?: string;
|
|
16
16
|
itemClass?: string;
|
|
17
17
|
activeClass?: string;
|
|
18
|
+
onItemClick?: (item: ListItem, index: number, event: MouseEvent) => void;
|
|
19
|
+
onChange?: (value: string | null) => void;
|
|
18
20
|
}
|
|
19
21
|
declare class List {
|
|
20
22
|
id: string;
|
|
@@ -24,6 +26,7 @@ declare class List {
|
|
|
24
26
|
private _value;
|
|
25
27
|
private _selectedIndex;
|
|
26
28
|
private _onChange;
|
|
29
|
+
private _onItemClick;
|
|
27
30
|
constructor(id: string, options?: ListOptions);
|
|
28
31
|
addItem(item: ListItem): this;
|
|
29
32
|
addItems(items: ListItem[]): this;
|
|
@@ -37,6 +40,7 @@ declare class List {
|
|
|
37
40
|
getContent(): string;
|
|
38
41
|
getElement(): HTMLElement;
|
|
39
42
|
onChange(fn: (value: string | null) => void): this;
|
|
43
|
+
onItemClick(fn: (item: ListItem, index: number, event: MouseEvent) => void): this;
|
|
40
44
|
private _renderItem;
|
|
41
45
|
private _renderAll;
|
|
42
46
|
private _updateActiveState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../lib/components/list.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,UAAU,WAAW;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../lib/components/list.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,UAAU,WAAW;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,YAAY,CAA6E;gBAErF,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAoCjD,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAY7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAcjC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUtC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAUlE,UAAU,IAAI,IAAI;IASlB,QAAQ,IAAI,QAAQ,EAAE;IACtB,QAAQ,IAAI,MAAM;IAMlB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAEzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQlC,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,WAAW;IAEzB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAKlD,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IASjF,OAAO,CAAC,WAAW;IA4CnB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;CAI1B;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAIhE;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACvC,eAAe,IAAI,CAAC"}
|
package/dist/components/list.js
CHANGED
|
@@ -7,6 +7,7 @@ class List {
|
|
|
7
7
|
this._value = null;
|
|
8
8
|
this._selectedIndex = -1;
|
|
9
9
|
this._onChange = null;
|
|
10
|
+
this._onItemClick = null;
|
|
10
11
|
this.id = id || generateId();
|
|
11
12
|
this.opts = {
|
|
12
13
|
ordered: false,
|
|
@@ -15,6 +16,11 @@ class List {
|
|
|
15
16
|
activeClass: 'jux-list-item--active',
|
|
16
17
|
...options
|
|
17
18
|
};
|
|
19
|
+
// Wire up option-based handlers
|
|
20
|
+
if (this.opts.onItemClick)
|
|
21
|
+
this._onItemClick = this.opts.onItemClick;
|
|
22
|
+
if (this.opts.onChange)
|
|
23
|
+
this._onChange = this.opts.onChange;
|
|
18
24
|
const tagName = this.opts.ordered ? 'ol' : 'ul';
|
|
19
25
|
this._element = document.createElement(tagName);
|
|
20
26
|
this._element.id = this.id;
|
|
@@ -106,6 +112,10 @@ class List {
|
|
|
106
112
|
this._onChange = fn;
|
|
107
113
|
return this;
|
|
108
114
|
}
|
|
115
|
+
onItemClick(fn) {
|
|
116
|
+
this._onItemClick = fn;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
109
119
|
// ═══════════════════════════════════════════════════════════
|
|
110
120
|
// INTERNAL
|
|
111
121
|
// ═══════════════════════════════════════════════════════════
|
|
@@ -131,17 +141,28 @@ class List {
|
|
|
131
141
|
li.setAttribute('data-disabled', 'true');
|
|
132
142
|
if (this.opts.selectable) {
|
|
133
143
|
li.style.cursor = 'pointer';
|
|
134
|
-
li.addEventListener('click', () => {
|
|
144
|
+
li.addEventListener('click', (e) => {
|
|
135
145
|
if (item.disabled)
|
|
136
146
|
return;
|
|
137
147
|
this._value = item.id;
|
|
138
148
|
this._selectedIndex = this._items.indexOf(item);
|
|
139
149
|
this._updateActiveState();
|
|
150
|
+
if (this._onItemClick)
|
|
151
|
+
this._onItemClick(item, this._selectedIndex, e);
|
|
140
152
|
if (this._onChange)
|
|
141
153
|
this._onChange(this._value);
|
|
142
154
|
this._element.dispatchEvent(new Event('change', { bubbles: false }));
|
|
143
155
|
});
|
|
144
156
|
}
|
|
157
|
+
else {
|
|
158
|
+
li.addEventListener('click', (e) => {
|
|
159
|
+
if (item.disabled)
|
|
160
|
+
return;
|
|
161
|
+
const idx = this._items.indexOf(item);
|
|
162
|
+
if (this._onItemClick)
|
|
163
|
+
this._onItemClick(item, idx, e);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
145
166
|
this._element.appendChild(li);
|
|
146
167
|
}
|
|
147
168
|
_renderAll() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../lib/components/list.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../lib/components/list.ts"],"names":[],"mappings":"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"}
|
package/dist/components/nav.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ interface NavOptions {
|
|
|
15
15
|
target?: string;
|
|
16
16
|
activeClass?: string;
|
|
17
17
|
itemClass?: string;
|
|
18
|
+
onClick?: (item: NavItem, event: MouseEvent) => void;
|
|
19
|
+
onChange?: (value: string | null) => void;
|
|
18
20
|
}
|
|
19
21
|
declare class Nav {
|
|
20
22
|
id: string;
|
|
@@ -23,6 +25,7 @@ declare class Nav {
|
|
|
23
25
|
private _items;
|
|
24
26
|
private _value;
|
|
25
27
|
private _onChange;
|
|
28
|
+
private _onClick;
|
|
26
29
|
constructor(id: string, options?: NavOptions);
|
|
27
30
|
addItem(item: NavItem): this;
|
|
28
31
|
addItems(items: NavItem[]): this;
|
|
@@ -35,6 +38,7 @@ declare class Nav {
|
|
|
35
38
|
setValue(val: string | null): this;
|
|
36
39
|
getElement(): HTMLElement;
|
|
37
40
|
onChange(fn: (value: string | null) => void): this;
|
|
41
|
+
onClick(fn: (item: NavItem, event: MouseEvent) => void): this;
|
|
38
42
|
private _renderItem;
|
|
39
43
|
private _renderAll;
|
|
40
44
|
private _updateActiveState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../lib/components/nav.ts"],"names":[],"mappings":"AAIA,UAAU,OAAO;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,UAAU,UAAU;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../lib/components/nav.ts"],"names":[],"mappings":"AAIA,UAAU,OAAO;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,UAAU,UAAU;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C;AAED,cAAM,GAAG;IACL,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,QAAQ,CAA6D;gBAEjE,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IAmChD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAY5B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAchC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUtC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAUjE,UAAU,IAAI,IAAI;IAQlB,QAAQ,IAAI,OAAO,EAAE;IACrB,QAAQ,IAAI,MAAM;IAMlB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAEzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOlC,UAAU,IAAI,WAAW;IAEzB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAKlD,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAS7D,OAAO,CAAC,WAAW;IAsDnB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;CAI1B;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAI7D;AAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACpC,eAAe,GAAG,CAAC"}
|
package/dist/components/nav.js
CHANGED
|
@@ -6,6 +6,7 @@ class Nav {
|
|
|
6
6
|
this._items = [];
|
|
7
7
|
this._value = null;
|
|
8
8
|
this._onChange = null;
|
|
9
|
+
this._onClick = null;
|
|
9
10
|
this.id = id || generateId();
|
|
10
11
|
this.opts = {
|
|
11
12
|
orientation: 'vertical',
|
|
@@ -26,6 +27,11 @@ class Nav {
|
|
|
26
27
|
? document.getElementById(resolvedTarget) || document.querySelector(resolvedTarget)
|
|
27
28
|
: document.getElementById('app');
|
|
28
29
|
container?.appendChild(this._element);
|
|
30
|
+
// Wire up option-based handlers
|
|
31
|
+
if (this.opts.onClick)
|
|
32
|
+
this._onClick = this.opts.onClick;
|
|
33
|
+
if (this.opts.onChange)
|
|
34
|
+
this._onChange = this.opts.onChange;
|
|
29
35
|
if (this.opts.items) {
|
|
30
36
|
this.addItems(this.opts.items);
|
|
31
37
|
}
|
|
@@ -99,6 +105,10 @@ class Nav {
|
|
|
99
105
|
this._onChange = fn;
|
|
100
106
|
return this;
|
|
101
107
|
}
|
|
108
|
+
onClick(fn) {
|
|
109
|
+
this._onClick = fn;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
102
112
|
// ═══════════════════════════════════════════════════════════
|
|
103
113
|
// INTERNAL
|
|
104
114
|
// ═══════════════════════════════════════════════════════════
|
|
@@ -136,6 +146,8 @@ class Nav {
|
|
|
136
146
|
return;
|
|
137
147
|
this._value = item.path || item.id;
|
|
138
148
|
this._updateActiveState();
|
|
149
|
+
if (this._onClick)
|
|
150
|
+
this._onClick(item, e);
|
|
139
151
|
if (this._onChange)
|
|
140
152
|
this._onChange(this._value);
|
|
141
153
|
this._element.dispatchEvent(new Event('change', { bubbles: false }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../lib/components/nav.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../lib/components/nav.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../lib/components/radio.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,iBAAiB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../lib/components/radio.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,iBAAiB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpD;AAED,cAAM,UAAU;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAAwD;gBAE7D,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAWvD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI;IACjD,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE1B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAMlC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAKzD,QAAQ,IAAI,MAAM;IAKlB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,aAAa;IA6BrB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CA+B9C;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAK7E;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/components/radio.js
CHANGED
|
@@ -96,6 +96,9 @@ class RadioGroup {
|
|
|
96
96
|
this._buildOptions(optionsDiv);
|
|
97
97
|
wrapper.appendChild(optionsDiv);
|
|
98
98
|
this._wrapper = wrapper;
|
|
99
|
+
// Wire up option-based handler
|
|
100
|
+
if (this.opts.onChange)
|
|
101
|
+
this._onChange = this.opts.onChange;
|
|
99
102
|
const container = target
|
|
100
103
|
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
101
104
|
: document.getElementById('app');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../lib/components/radio.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../lib/components/radio.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAqBlD,MAAM,UAAU;IAOZ,YAAY,EAAU,EAAE,UAA6B,EAAE;QAJ/C,aAAQ,GAAuB,IAAI,CAAC;QACpC,YAAO,GAAuB,EAAE,CAAC;QACjC,cAAS,GAAmD,IAAI,CAAC;QAGrE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG;YACR,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,EAAE;YACR,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED,aAAa;IACb,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,KAAgC,IAAU,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAClF,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAClF,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEpE,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,EAAyC;QAC9C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,CAAC;IAEO,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,KAAoB,CAAC,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,SAAsB;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAElC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC;YAClC,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACtD,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE5C,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACjC,IAAI,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;YAE7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAA6B;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACtC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,SAAS,GAAG,uBAAuB,CAAC;YAC3C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,SAAS,GAAG,+BAA+B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM;YACpB,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3G,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,UAA6B,EAAE;IAC7D,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,UAAU,EAAkC,CAAC"}
|
|
@@ -13,6 +13,9 @@ interface SelectOptions {
|
|
|
13
13
|
multiple?: boolean;
|
|
14
14
|
class?: string;
|
|
15
15
|
style?: string;
|
|
16
|
+
onChange?: (value: string, event: Event) => void;
|
|
17
|
+
onFocus?: (event: FocusEvent) => void;
|
|
18
|
+
onBlur?: (event: FocusEvent) => void;
|
|
16
19
|
}
|
|
17
20
|
declare class Select {
|
|
18
21
|
id: string;
|
|
@@ -20,6 +23,8 @@ declare class Select {
|
|
|
20
23
|
private _element;
|
|
21
24
|
private _wrapper;
|
|
22
25
|
private _onChange;
|
|
26
|
+
private _onFocus;
|
|
27
|
+
private _onBlur;
|
|
23
28
|
constructor(id: string, options?: SelectOptions);
|
|
24
29
|
label(value: string): this;
|
|
25
30
|
placeholder(value: string): this;
|
|
@@ -31,6 +36,8 @@ declare class Select {
|
|
|
31
36
|
options(opts: SelectOption[]): this;
|
|
32
37
|
value(val: string): this;
|
|
33
38
|
onChange(fn: (value: string, event: Event) => void): this;
|
|
39
|
+
onFocus(fn: (event: FocusEvent) => void): this;
|
|
40
|
+
onBlur(fn: (event: FocusEvent) => void): this;
|
|
34
41
|
getValue(): string;
|
|
35
42
|
getSelectedValues(): string[];
|
|
36
43
|
private _rebuildOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../lib/components/select.ts"],"names":[],"mappings":"AAGA,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../lib/components/select.ts"],"names":[],"mappings":"AAGA,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAED,cAAM,MAAM;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,OAAO,CAA8C;gBAEjD,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAMnD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,QAAQ,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IACrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE1B,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI;IAMnC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAKzD,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAM9C,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAM7C,QAAQ,IAAI,MAAM;IAIlB,iBAAiB,IAAI,MAAM,EAAE;IAK7B,OAAO,CAAC,eAAe;IAuBvB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CAoD9C;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAKtE;AAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -5,6 +5,8 @@ class Select {
|
|
|
5
5
|
this._element = null;
|
|
6
6
|
this._wrapper = null;
|
|
7
7
|
this._onChange = null;
|
|
8
|
+
this._onFocus = null;
|
|
9
|
+
this._onBlur = null;
|
|
8
10
|
this.id = id || generateId();
|
|
9
11
|
this.opts = { options: [], ...options };
|
|
10
12
|
}
|
|
@@ -32,6 +34,16 @@ class Select {
|
|
|
32
34
|
this._onChange = fn;
|
|
33
35
|
return this;
|
|
34
36
|
}
|
|
37
|
+
onFocus(fn) {
|
|
38
|
+
this._element?.addEventListener('focus', fn);
|
|
39
|
+
this._onFocus = fn;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
onBlur(fn) {
|
|
43
|
+
this._element?.addEventListener('blur', fn);
|
|
44
|
+
this._onBlur = fn;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
35
47
|
getValue() {
|
|
36
48
|
return this._element?.value ?? this.opts.value ?? '';
|
|
37
49
|
}
|
|
@@ -93,8 +105,23 @@ class Select {
|
|
|
93
105
|
if (this._onChange)
|
|
94
106
|
this._onChange(sel.value, e);
|
|
95
107
|
});
|
|
108
|
+
sel.addEventListener('focus', (e) => {
|
|
109
|
+
if (this._onFocus)
|
|
110
|
+
this._onFocus(e);
|
|
111
|
+
});
|
|
112
|
+
sel.addEventListener('blur', (e) => {
|
|
113
|
+
if (this._onBlur)
|
|
114
|
+
this._onBlur(e);
|
|
115
|
+
});
|
|
96
116
|
wrapper.appendChild(sel);
|
|
97
117
|
this._wrapper = wrapper;
|
|
118
|
+
// Wire up option-based handlers
|
|
119
|
+
if (this.opts.onChange)
|
|
120
|
+
this._onChange = this.opts.onChange;
|
|
121
|
+
if (this.opts.onFocus)
|
|
122
|
+
this._onFocus = this.opts.onFocus;
|
|
123
|
+
if (this.opts.onBlur)
|
|
124
|
+
this._onBlur = this.opts.onBlur;
|
|
98
125
|
const container = target
|
|
99
126
|
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
100
127
|
: document.getElementById('app');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../lib/components/select.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../lib/components/select.ts"],"names":[],"mappings":"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"}
|
package/dist/components/tag.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ interface TagOptions {
|
|
|
3
3
|
class?: string;
|
|
4
4
|
style?: string;
|
|
5
5
|
target?: string;
|
|
6
|
+
onClick?: (event: MouseEvent) => void;
|
|
6
7
|
[key: string]: any;
|
|
7
8
|
}
|
|
8
9
|
declare class Tag {
|
|
@@ -10,6 +11,7 @@ declare class Tag {
|
|
|
10
11
|
tagName: string;
|
|
11
12
|
opts: TagOptions;
|
|
12
13
|
private _element;
|
|
14
|
+
private _onClick;
|
|
13
15
|
constructor(id: string, tagName: string, options?: TagOptions);
|
|
14
16
|
content(value: string): this;
|
|
15
17
|
class(value: string): this;
|
|
@@ -22,6 +24,7 @@ declare class Tag {
|
|
|
22
24
|
setStyle(val: string): this;
|
|
23
25
|
setInnerHTML(val: string): this;
|
|
24
26
|
getElement(): HTMLElement | null;
|
|
27
|
+
onClick(fn: (event: MouseEvent) => void): this;
|
|
25
28
|
render(target?: string | HTMLElement): this;
|
|
26
29
|
}
|
|
27
30
|
export declare function tag(id: string, tagName: string, options?: TagOptions): Tag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../lib/components/tag.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,GAAG;IACL,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,QAAQ,CAA4B;
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../lib/components/tag.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,GAAG;IACL,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAA8C;gBAElD,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IAOjE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC5B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG1B,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE/B,UAAU,IAAI,WAAW,GAAG,IAAI;IAEhC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAM9C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW;CA6BvC;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAKxE;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAqC;AAC7F,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAsC;AAC/F,wBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAmC;AAEzF,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAqCxD;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAqC;AAC7F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAC3F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAC3F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAC3F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAC3F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAC3F,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,OAAoC;AAE3F,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAC3B,eAAe,GAAG,CAAC"}
|
package/dist/components/tag.js
CHANGED
|
@@ -4,6 +4,7 @@ import codeparser from '../utils/codeparser.js';
|
|
|
4
4
|
class Tag {
|
|
5
5
|
constructor(id, tagName, options = {}) {
|
|
6
6
|
this._element = null;
|
|
7
|
+
this._onClick = null;
|
|
7
8
|
this.id = id || generateId();
|
|
8
9
|
this.tagName = tagName;
|
|
9
10
|
this.opts = options;
|
|
@@ -28,6 +29,11 @@ class Tag {
|
|
|
28
29
|
setInnerHTML(val) { if (this._element)
|
|
29
30
|
this._element.innerHTML = val; return this; }
|
|
30
31
|
getElement() { return this._element; }
|
|
32
|
+
onClick(fn) {
|
|
33
|
+
this._onClick = fn;
|
|
34
|
+
this._element?.addEventListener('click', fn);
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
31
37
|
render(target) {
|
|
32
38
|
const el = document.createElement(this.tagName);
|
|
33
39
|
el.id = this.id;
|
|
@@ -38,11 +44,16 @@ class Tag {
|
|
|
38
44
|
if (this.opts.style)
|
|
39
45
|
el.setAttribute('style', this.opts.style);
|
|
40
46
|
for (const [key, value] of Object.entries(this.opts)) {
|
|
41
|
-
if (['content', 'class', 'style', 'target'].includes(key))
|
|
47
|
+
if (['content', 'class', 'style', 'target', 'onClick'].includes(key))
|
|
42
48
|
continue;
|
|
43
49
|
el.setAttribute(key, String(value));
|
|
44
50
|
}
|
|
45
51
|
this._element = el;
|
|
52
|
+
// Wire up option-based click handler
|
|
53
|
+
if (this.opts.onClick) {
|
|
54
|
+
this._onClick = this.opts.onClick;
|
|
55
|
+
el.addEventListener('click', this.opts.onClick);
|
|
56
|
+
}
|
|
46
57
|
// Resolve target: param > opts.target > #app
|
|
47
58
|
const resolvedTarget = target || this.opts.target;
|
|
48
59
|
const container = resolvedTarget
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../lib/components/tag.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../lib/components/tag.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAWhD,MAAM,GAAG;IAOL,YAAY,EAAU,EAAE,OAAe,EAAE,UAAsB,EAAE;QAHzD,aAAQ,GAAuB,IAAI,CAAC;QACpC,aAAQ,GAAyC,IAAI,CAAC;QAG1D,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,aAAa;IACb,OAAO,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC9H,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxH,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEnI,4CAA4C;IAC5C,QAAQ,KAAa,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,UAAU,KAAa,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACtF,QAAQ,CAAC,GAAW,IAAU,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACzH,UAAU,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,GAAW,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrH,QAAQ,CAAC,GAAW,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAChI,YAAY,CAAC,GAAW,IAAU,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAElG,UAAU,KAAyB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1D,OAAO,CAAC,EAA+B;QACnC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAA6B;QAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC/E,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,qCAAqC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,6CAA6C;QAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,MAAM,SAAS,GAAG,cAAc;YAC5B,CAAC,CAAC,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAC3I,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,OAAe,EAAE,UAAsB,EAAE;IACrE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/F,MAAM,UAAU,CAAC,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzF,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,UAAsB,EAAE;IACrD,+BAA+B;IAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAC7B,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,8BAA8B;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzC,0BAA0B;IAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChC,iEAAiE,IAAI,CAAC,UAAU,8CAA8C,IAAI,CAAC,IAAI,eAAe,CACzJ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,4CAA4C;IAC5C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE;QACzB,GAAG,OAAO;QACV,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,WAAW,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;KAC/D,CAAC,CAAC;IACH,CAAC,CAAC,MAAM,EAAE,CAAC;IAEX,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC;QACpC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,UAAsB,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3F,OAAO,EAAE,GAAG,EAAc,CAAC;AAC3B,eAAe,GAAG,CAAC"}
|
package/machinery/autowrap.js
CHANGED
|
@@ -31,6 +31,31 @@ function isPageStateAccess(node) {
|
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Checks if a node is a `.state.xxx` access on a known jux component variable.
|
|
36
|
+
* e.g. `btn2.state.click` where `btn2` is in juxVarNames
|
|
37
|
+
*/
|
|
38
|
+
function isComponentStateAccess(node, juxVarNames) {
|
|
39
|
+
if (node.type !== 'MemberExpression') return false;
|
|
40
|
+
const obj = node.object;
|
|
41
|
+
// Pattern: <varName>.state.<prop>
|
|
42
|
+
if (obj.type === 'MemberExpression' &&
|
|
43
|
+
obj.object.type === 'Identifier' &&
|
|
44
|
+
juxVarNames.has(obj.object.name) &&
|
|
45
|
+
obj.property.type === 'Identifier' &&
|
|
46
|
+
obj.property.name === 'state') {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
// Pattern: <varName>.state (without further property — still reactive)
|
|
50
|
+
if (node.object.type === 'Identifier' &&
|
|
51
|
+
juxVarNames.has(node.object.name) &&
|
|
52
|
+
node.property.type === 'Identifier' &&
|
|
53
|
+
node.property.name === 'state') {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
34
59
|
function containsPageStateRef(node) {
|
|
35
60
|
let found = false;
|
|
36
61
|
walkSimple(node, {
|
|
@@ -39,6 +64,24 @@ function containsPageStateRef(node) {
|
|
|
39
64
|
return found;
|
|
40
65
|
}
|
|
41
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Checks if a node tree contains any .state. access on known jux component variables.
|
|
69
|
+
*/
|
|
70
|
+
function containsComponentStateRef(node, juxVarNames) {
|
|
71
|
+
let found = false;
|
|
72
|
+
walkSimple(node, {
|
|
73
|
+
MemberExpression(n) { if (isComponentStateAccess(n, juxVarNames)) found = true; }
|
|
74
|
+
});
|
|
75
|
+
return found;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Returns true if the node contains either a pageState ref or a component .state. ref.
|
|
80
|
+
*/
|
|
81
|
+
function containsAnyReactiveRef(node, juxVarNames) {
|
|
82
|
+
return containsPageStateRef(node) || containsComponentStateRef(node, juxVarNames);
|
|
83
|
+
}
|
|
84
|
+
|
|
42
85
|
function containsJuxCall(node) {
|
|
43
86
|
let found = false;
|
|
44
87
|
walkSimple(node, {
|
|
@@ -118,6 +161,51 @@ function containsAwait(node) {
|
|
|
118
161
|
return found;
|
|
119
162
|
}
|
|
120
163
|
|
|
164
|
+
/**
|
|
165
|
+
* Collects variable names that are assigned from jux.xxx() calls.
|
|
166
|
+
* e.g. `let btn2 = jux.btn('id')` → adds 'btn2' to the set.
|
|
167
|
+
*/
|
|
168
|
+
function collectJuxVarNames(ast) {
|
|
169
|
+
const names = new Set();
|
|
170
|
+
for (const stmt of ast.body) {
|
|
171
|
+
if (stmt.type === 'VariableDeclaration') {
|
|
172
|
+
for (const decl of stmt.declarations) {
|
|
173
|
+
if (decl.id.type === 'Identifier' && decl.init) {
|
|
174
|
+
let call = decl.init;
|
|
175
|
+
// Unwrap chained calls: jux.btn('x').onClick(...)
|
|
176
|
+
while (call.type === 'CallExpression' &&
|
|
177
|
+
call.callee.type === 'MemberExpression' &&
|
|
178
|
+
call.callee.object.type === 'CallExpression') {
|
|
179
|
+
call = call.callee.object;
|
|
180
|
+
}
|
|
181
|
+
if (call.type === 'CallExpression' &&
|
|
182
|
+
call.callee?.type === 'MemberExpression' &&
|
|
183
|
+
call.callee.object?.type === 'Identifier' &&
|
|
184
|
+
call.callee.object.name === 'jux') {
|
|
185
|
+
names.add(decl.id.name);
|
|
186
|
+
}
|
|
187
|
+
// Also handle: await jux.xxx()
|
|
188
|
+
if (call.type === 'AwaitExpression') {
|
|
189
|
+
let inner = call.argument;
|
|
190
|
+
while (inner?.type === 'CallExpression' &&
|
|
191
|
+
inner.callee?.type === 'MemberExpression' &&
|
|
192
|
+
inner.callee.object?.type === 'CallExpression') {
|
|
193
|
+
inner = inner.callee.object;
|
|
194
|
+
}
|
|
195
|
+
if (inner?.type === 'CallExpression' &&
|
|
196
|
+
inner.callee?.type === 'MemberExpression' &&
|
|
197
|
+
inner.callee.object?.type === 'Identifier' &&
|
|
198
|
+
inner.callee.object.name === 'jux') {
|
|
199
|
+
names.add(decl.id.name);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return names;
|
|
207
|
+
}
|
|
208
|
+
|
|
121
209
|
/**
|
|
122
210
|
* @param {string} source - Raw .jux source code
|
|
123
211
|
* @param {string} [filename] - For logging
|
|
@@ -136,23 +224,23 @@ export function autowrap(source, filename = '') {
|
|
|
136
224
|
return { code: source, wrappedCount: 0, details: [`parse error: ${err.message}`] };
|
|
137
225
|
}
|
|
138
226
|
|
|
227
|
+
// Collect jux component variable names for .state. detection
|
|
228
|
+
const juxVarNames = collectJuxVarNames(ast);
|
|
229
|
+
|
|
139
230
|
const needsWatch = [];
|
|
140
231
|
let i = 0;
|
|
141
232
|
|
|
142
233
|
while (i < ast.body.length) {
|
|
143
234
|
const stmt = ast.body[i];
|
|
144
235
|
|
|
145
|
-
if (isSetupStatement(stmt)) { i++; continue; }
|
|
236
|
+
if (isSetupStatement(stmt) && !containsComponentStateRef(stmt, juxVarNames)) { i++; continue; }
|
|
146
237
|
|
|
147
238
|
// Check if this is a single __watch that contains multiple independent concerns
|
|
148
|
-
// If so, unwrap it and re-wrap each concern separately
|
|
149
239
|
if (isAlreadyWrapped(stmt)) {
|
|
150
240
|
const bodyStmts = getWatchBody(stmt);
|
|
151
241
|
if (bodyStmts && bodyStmts.length > 1) {
|
|
152
|
-
|
|
153
|
-
const groups = groupBodyStatements(bodyStmts, source);
|
|
242
|
+
const groups = groupBodyStatements(bodyStmts, source, juxVarNames);
|
|
154
243
|
if (groups.length > 1) {
|
|
155
|
-
// Verify no cross-group variable dependencies before splitting
|
|
156
244
|
const allDeclared = [];
|
|
157
245
|
let hasCrossDep = false;
|
|
158
246
|
for (const group of groups) {
|
|
@@ -160,7 +248,6 @@ export function autowrap(source, filename = '') {
|
|
|
160
248
|
for (const s of group.stmts) {
|
|
161
249
|
groupVars.push(...getDeclaredVarNames(s));
|
|
162
250
|
}
|
|
163
|
-
// Check if this group uses vars declared in a previous group
|
|
164
251
|
for (const s of group.stmts) {
|
|
165
252
|
if (allDeclared.some(v => usesIdentifier(s, v))) {
|
|
166
253
|
hasCrossDep = true;
|
|
@@ -187,19 +274,16 @@ export function autowrap(source, filename = '') {
|
|
|
187
274
|
continue;
|
|
188
275
|
}
|
|
189
276
|
|
|
190
|
-
// VariableDeclaration reading pageState
|
|
191
|
-
if (stmt.type === 'VariableDeclaration' &&
|
|
277
|
+
// VariableDeclaration reading pageState or component .state.
|
|
278
|
+
if (stmt.type === 'VariableDeclaration' && containsAnyReactiveRef(stmt, juxVarNames)) {
|
|
192
279
|
const varNames = [...getDeclaredVarNames(stmt)];
|
|
193
280
|
const groupStmts = [stmt];
|
|
194
281
|
let j = i + 1;
|
|
195
282
|
|
|
196
|
-
// Greedily consume following statements that use any of the declared variable names
|
|
197
283
|
while (j < ast.body.length) {
|
|
198
284
|
const next = ast.body[j];
|
|
199
|
-
// Check variable dependency FIRST — if it uses our vars, consume it
|
|
200
285
|
if (varNames.some(v => usesIdentifier(next, v))) {
|
|
201
286
|
groupStmts.push(next);
|
|
202
|
-
// Track any new variable declarations in the consumed statement
|
|
203
287
|
getDeclaredVarNames(next).forEach(v => varNames.push(v));
|
|
204
288
|
j++;
|
|
205
289
|
} else {
|
|
@@ -215,8 +299,8 @@ export function autowrap(source, filename = '') {
|
|
|
215
299
|
continue;
|
|
216
300
|
}
|
|
217
301
|
|
|
218
|
-
// Any other statement referencing pageState
|
|
219
|
-
if (
|
|
302
|
+
// Any other statement referencing pageState or component .state.
|
|
303
|
+
if (containsAnyReactiveRef(stmt, juxVarNames)) {
|
|
220
304
|
needsWatch.push({
|
|
221
305
|
line: getLineNumber(source, stmt.start),
|
|
222
306
|
endLine: getLineNumber(source, stmt.end),
|
|
@@ -287,29 +371,24 @@ export function autowrap(source, filename = '') {
|
|
|
287
371
|
|
|
288
372
|
/**
|
|
289
373
|
* Groups statements inside a __watch body into independent reactive groups.
|
|
290
|
-
* Uses the same logic as the top-level grouping: VariableDeclarations that
|
|
291
|
-
* read pageState get grouped with following statements that use those vars.
|
|
292
|
-
* Standalone if-statements with pageState become their own group.
|
|
293
374
|
*/
|
|
294
|
-
function groupBodyStatements(bodyStmts, source) {
|
|
375
|
+
function groupBodyStatements(bodyStmts, source, juxVarNames = new Set()) {
|
|
295
376
|
const groups = [];
|
|
296
377
|
let i = 0;
|
|
297
378
|
|
|
298
379
|
while (i < bodyStmts.length) {
|
|
299
380
|
const stmt = bodyStmts[i];
|
|
300
381
|
|
|
301
|
-
// VariableDeclaration reading pageState — group with dependents
|
|
302
|
-
if (stmt.type === 'VariableDeclaration' &&
|
|
382
|
+
// VariableDeclaration reading pageState or .state. — group with dependents
|
|
383
|
+
if (stmt.type === 'VariableDeclaration' && containsAnyReactiveRef(stmt, juxVarNames)) {
|
|
303
384
|
const varNames = getDeclaredVarNames(stmt);
|
|
304
385
|
const groupStmts = [stmt];
|
|
305
386
|
let j = i + 1;
|
|
306
387
|
|
|
307
388
|
while (j < bodyStmts.length) {
|
|
308
389
|
const next = bodyStmts[j];
|
|
309
|
-
|
|
310
|
-
if (varNames.some(v => usesIdentifier(next, v)) || !containsPageStateRef(next)) {
|
|
390
|
+
if (varNames.some(v => usesIdentifier(next, v)) || !containsAnyReactiveRef(next, juxVarNames)) {
|
|
311
391
|
groupStmts.push(next);
|
|
312
|
-
// Track any new variable declarations in the consumed statement
|
|
313
392
|
getDeclaredVarNames(next).forEach(v => varNames.push(v));
|
|
314
393
|
j++;
|
|
315
394
|
} else {
|
|
@@ -325,8 +404,8 @@ function groupBodyStatements(bodyStmts, source) {
|
|
|
325
404
|
continue;
|
|
326
405
|
}
|
|
327
406
|
|
|
328
|
-
// Any statement referencing
|
|
329
|
-
if (
|
|
407
|
+
// Any statement referencing reactive state — standalone group
|
|
408
|
+
if (containsAnyReactiveRef(stmt, juxVarNames)) {
|
|
330
409
|
groups.push({
|
|
331
410
|
stmts: [stmt],
|
|
332
411
|
lines: extractSourceLines([stmt], source),
|