ctrl-fx 0.0.1 → 0.1.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/dist/clipboard.d.ts +7 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +3 -0
- package/dist/db/effects.d.ts +78 -0
- package/dist/db/effects.d.ts.map +1 -0
- package/dist/db/effects.js +98 -0
- package/dist/db/errors.d.ts +21 -0
- package/dist/db/errors.d.ts.map +1 -0
- package/dist/db/errors.js +13 -0
- package/dist/db/index.d.ts +32 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +19 -0
- package/dist/db/keypath.d.ts +40 -0
- package/dist/db/keypath.d.ts.map +1 -0
- package/dist/db/keypath.js +20 -0
- package/dist/db/setup.d.ts +83 -0
- package/dist/db/setup.d.ts.map +1 -0
- package/dist/db/setup.js +100 -0
- package/dist/db/testdb.d.ts +19 -0
- package/dist/db/testdb.d.ts.map +1 -0
- package/dist/db/testdb.js +34 -0
- package/dist/dom/attrs.d.ts +67 -0
- package/dist/dom/attrs.d.ts.map +1 -0
- package/dist/dom/attrs.js +154 -0
- package/dist/dom/components.d.ts +43 -0
- package/dist/dom/components.d.ts.map +1 -0
- package/dist/dom/components.js +86 -0
- package/dist/dom/elems.d.ts +121 -0
- package/dist/dom/elems.d.ts.map +1 -0
- package/dist/dom/elems.js +52 -0
- package/dist/dom/events.d.ts +232 -0
- package/dist/dom/events.d.ts.map +1 -0
- package/dist/dom/events.js +289 -0
- package/dist/dom/index.d.ts +248 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +266 -0
- package/dist/dom/nodeid.d.ts +9 -0
- package/dist/dom/nodeid.d.ts.map +1 -0
- package/dist/dom/nodeid.js +27 -0
- package/dist/dom/svg.d.ts +23 -0
- package/dist/dom/svg.d.ts.map +1 -0
- package/dist/dom/svg.js +1 -0
- package/dist/dom/views.d.ts +60 -0
- package/dist/dom/views.d.ts.map +1 -0
- package/dist/dom/views.js +154 -0
- package/dist/effects.d.ts +580 -0
- package/dist/effects.d.ts.map +1 -0
- package/dist/effects.js +1556 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/internal/clipboard.d.ts +5 -0
- package/dist/internal/clipboard.d.ts.map +1 -0
- package/dist/internal/clipboard.js +33 -0
- package/dist/internal/cmpmgr.d.ts +46 -0
- package/dist/internal/cmpmgr.d.ts.map +1 -0
- package/dist/internal/cmpmgr.js +561 -0
- package/dist/internal/dbmgr.d.ts +11 -0
- package/dist/internal/dbmgr.d.ts.map +1 -0
- package/dist/internal/dbmgr.js +200 -0
- package/dist/internal/dominterpreter.d.ts +5 -0
- package/dist/internal/dominterpreter.d.ts.map +1 -0
- package/dist/internal/dominterpreter.js +337 -0
- package/dist/internal/eventmgr.d.ts +41 -0
- package/dist/internal/eventmgr.d.ts.map +1 -0
- package/dist/internal/eventmgr.js +696 -0
- package/dist/internal/index.d.ts +19 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +38 -0
- package/dist/internal/interpreter.d.ts +10 -0
- package/dist/internal/interpreter.d.ts.map +1 -0
- package/dist/internal/interpreter.js +1 -0
- package/dist/internal/locutils.d.ts +4 -0
- package/dist/internal/locutils.d.ts.map +1 -0
- package/dist/internal/locutils.js +22 -0
- package/dist/internal/net.d.ts +4 -0
- package/dist/internal/net.d.ts.map +1 -0
- package/dist/internal/net.js +64 -0
- package/dist/internal/realdom.d.ts +249 -0
- package/dist/internal/realdom.d.ts.map +1 -0
- package/dist/internal/realdom.js +1 -0
- package/dist/internal/styleregistry.d.ts +6 -0
- package/dist/internal/styleregistry.d.ts.map +1 -0
- package/dist/internal/styleregistry.js +18 -0
- package/dist/internal/taskreg.d.ts +9 -0
- package/dist/internal/taskreg.d.ts.map +1 -0
- package/dist/internal/taskreg.js +28 -0
- package/dist/internal/testing.d.ts +12 -0
- package/dist/internal/testing.d.ts.map +1 -0
- package/dist/internal/testing.js +974 -0
- package/dist/internal/testinginterpreter.d.ts +10 -0
- package/dist/internal/testinginterpreter.d.ts.map +1 -0
- package/dist/internal/testinginterpreter.js +646 -0
- package/dist/internal/vdom.d.ts +93 -0
- package/dist/internal/vdom.d.ts.map +1 -0
- package/dist/internal/vdom.js +470 -0
- package/dist/json/index.d.ts +5 -0
- package/dist/json/index.d.ts.map +1 -0
- package/dist/json/index.js +2 -0
- package/dist/json/validation.d.ts +28 -0
- package/dist/json/validation.d.ts.map +1 -0
- package/dist/json/validation.js +8 -0
- package/dist/net/fragment.d.ts +10 -0
- package/dist/net/fragment.d.ts.map +1 -0
- package/dist/net/fragment.js +27 -0
- package/dist/net/index.d.ts +42 -0
- package/dist/net/index.d.ts.map +1 -0
- package/dist/net/index.js +60 -0
- package/dist/net/location.d.ts +21 -0
- package/dist/net/location.d.ts.map +1 -0
- package/dist/net/location.js +41 -0
- package/dist/net/path.d.ts +12 -0
- package/dist/net/path.d.ts.map +1 -0
- package/dist/net/path.js +29 -0
- package/dist/net/queryparam.d.ts +10 -0
- package/dist/net/queryparam.d.ts.map +1 -0
- package/dist/net/queryparam.js +34 -0
- package/dist/router.d.ts +40 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +77 -0
- package/dist/scroll.d.ts +7 -0
- package/dist/scroll.d.ts.map +1 -0
- package/dist/scroll.js +3 -0
- package/dist/testing.d.ts +248 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +159 -0
- package/dist/utils/apply.d.ts +9 -0
- package/dist/utils/apply.d.ts.map +1 -0
- package/dist/utils/apply.js +10 -0
- package/dist/utils/index.d.ts +22 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +138 -0
- package/dist/utils/lens.d.ts +18 -0
- package/dist/utils/lens.d.ts.map +1 -0
- package/dist/utils/lens.js +27 -0
- package/dist/utils/match.d.ts +17 -0
- package/dist/utils/match.d.ts.map +1 -0
- package/dist/utils/match.js +28 -0
- package/dist/utils/result.d.ts +47 -0
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/result.js +97 -0
- package/dist/webcomponent.d.ts +15 -0
- package/dist/webcomponent.d.ts.map +1 -0
- package/dist/webcomponent.js +43 -0
- package/package.json +1 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type NodeId } from './nodeid';
|
|
2
|
+
/** A virtual DOM attribute: a name/value pair set on the real DOM element via
|
|
3
|
+
* `setAttribute`. */
|
|
4
|
+
export interface Attr {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly value?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Creates an `Attr`. */
|
|
9
|
+
export declare function attr(name: string, value: string): Attr;
|
|
10
|
+
/** A JavaScript property set directly on the DOM element object, as opposed to
|
|
11
|
+
* an HTML attribute. */
|
|
12
|
+
export interface Prop {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly value: unknown;
|
|
15
|
+
}
|
|
16
|
+
/** Creates a `Prop`. */
|
|
17
|
+
export declare function prop(name: string, value: unknown): Prop;
|
|
18
|
+
export type AttrArg = Attr | [string, string] | string;
|
|
19
|
+
export declare function normalizeAttrArg(arg: AttrArg): Attr;
|
|
20
|
+
export type AttrOrNodeIdArgs = [NodeId, ...AttrArg[]] | [...AttrArg[]];
|
|
21
|
+
export declare function normalizeAttrArgs(args: AttrOrNodeIdArgs): Attr[];
|
|
22
|
+
export interface SupportsAttrs {
|
|
23
|
+
readonly attrs: readonly Attr[];
|
|
24
|
+
idAttr(): string | undefined;
|
|
25
|
+
}
|
|
26
|
+
export declare function getId(attrs: readonly Attr[]): string | undefined;
|
|
27
|
+
/** Shorthand for `attr('aria-label', value)`. */
|
|
28
|
+
export declare function ariaLabel(value: string): Attr;
|
|
29
|
+
/** Shorthand for `attr('aria-hidden', value)`. */
|
|
30
|
+
export declare function ariaHidden(value: string): Attr;
|
|
31
|
+
/** Shorthand for `attr('id', value)`. */
|
|
32
|
+
export declare function id(value: string): Attr;
|
|
33
|
+
export declare function width(value: string): Attr;
|
|
34
|
+
export declare function height(value: string): Attr;
|
|
35
|
+
export declare function transform(value: string): Attr;
|
|
36
|
+
export declare function viewBox(value: string): Attr;
|
|
37
|
+
export declare function fill(value: string): Attr;
|
|
38
|
+
export declare function focusable(value: string): Attr;
|
|
39
|
+
export declare function xmlns(value: string): Attr;
|
|
40
|
+
export declare function d(value: string): Attr;
|
|
41
|
+
export declare function stroke(value: string): Attr;
|
|
42
|
+
export declare function strokeWidth(value: string): Attr;
|
|
43
|
+
export declare function strokeLinecap(value: string): Attr;
|
|
44
|
+
export declare function strokeLinejoin(value: string): Attr;
|
|
45
|
+
export declare function cx(value: string): Attr;
|
|
46
|
+
export declare function cy(value: string): Attr;
|
|
47
|
+
export declare function r(value: string): Attr;
|
|
48
|
+
export declare function role(value: string): Attr;
|
|
49
|
+
/** Shorthand for `attr('type', value)`. */
|
|
50
|
+
export declare function typeAttr(value: string): Attr;
|
|
51
|
+
/** Shorthand for `attr('class', value)`. */
|
|
52
|
+
export declare function cls(value: string): Attr;
|
|
53
|
+
/**
|
|
54
|
+
* Each argument is either a plain class name (always applied), `[boolean,
|
|
55
|
+
* string]` (applied when the boolean is true), or `[boolean, string, string]`
|
|
56
|
+
* (first class when true, second when false). All selected names are joined
|
|
57
|
+
* with a space into a single `class` attribute.
|
|
58
|
+
*/
|
|
59
|
+
export type classListArg = string | [boolean, string] | [boolean, string, string];
|
|
60
|
+
/** Builds a `class` attribute from a list of conditional class entries. See
|
|
61
|
+
* `classListArg`. */
|
|
62
|
+
export declare function classList(...classes: classListArg[]): Attr;
|
|
63
|
+
export declare function attrs(attrMap: Record<string, string>): readonly Attr[];
|
|
64
|
+
/** Converts a map of CSS custom property names to values into a `style`
|
|
65
|
+
* attribute. */
|
|
66
|
+
export declare function cssVars(vars: Record<string, string>): Attr;
|
|
67
|
+
//# sourceMappingURL=attrs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attrs.d.ts","sourceRoot":"","sources":["../../src/dom/attrs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAEhD;qBACqB;AACrB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;wBACwB;AACxB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED,wBAAwB;AACxB,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;AAEtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAQnD;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAA;AAEtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE,CAQhE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,MAAM,IAAI,MAAM,GAAG,SAAS,CAAA;CAC7B;AAeD,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,MAAM,GAAG,SAAS,CAGhE;AAED,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,yCAAyC;AACzC,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAErC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAErC;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,4CAA4C;AAC5C,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,CAAC,OAAO,EAAE,MAAM,CAAC,GACjB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE7B;qBACqB;AACrB,wBAAgB,SAAS,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAqB1D;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,IAAI,EAAE,CAItE;AAED;gBACgB;AAChB,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAO1D"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { isNodeId } from './nodeid';
|
|
2
|
+
/** Creates an `Attr`. */
|
|
3
|
+
export function attr(name, value) {
|
|
4
|
+
return {
|
|
5
|
+
name,
|
|
6
|
+
value,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/** Creates a `Prop`. */
|
|
10
|
+
export function prop(name, value) {
|
|
11
|
+
return { name, value };
|
|
12
|
+
}
|
|
13
|
+
export function normalizeAttrArg(arg) {
|
|
14
|
+
if (Array.isArray(arg)) {
|
|
15
|
+
return { name: arg[0], value: arg[1] };
|
|
16
|
+
}
|
|
17
|
+
else if (typeof arg === 'object') {
|
|
18
|
+
return arg;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return { name: arg };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function normalizeAttrArgs(args) {
|
|
25
|
+
const attrs = [];
|
|
26
|
+
args.forEach(arg => {
|
|
27
|
+
if (!isNodeId(arg)) {
|
|
28
|
+
attrs.push(normalizeAttrArg(arg));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return attrs;
|
|
32
|
+
}
|
|
33
|
+
/*
|
|
34
|
+
export function withCommonAttrAccesssorSupport<T extends SupportsAttrs>() {
|
|
35
|
+
return {
|
|
36
|
+
idAttr(this: T): string | undefined {
|
|
37
|
+
return option(this.attrs.find(attr => attr.name === 'id'))
|
|
38
|
+
.flatMap(a => {
|
|
39
|
+
return a.value
|
|
40
|
+
}).getOrElse(undefined)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
*/
|
|
45
|
+
export function getId(attrs) {
|
|
46
|
+
const id = attrs.find(a => a.name.toLowerCase() === 'id');
|
|
47
|
+
return id ? id.value : undefined;
|
|
48
|
+
}
|
|
49
|
+
/** Shorthand for `attr('aria-label', value)`. */
|
|
50
|
+
export function ariaLabel(value) {
|
|
51
|
+
return attr('aria-label', value);
|
|
52
|
+
}
|
|
53
|
+
/** Shorthand for `attr('aria-hidden', value)`. */
|
|
54
|
+
export function ariaHidden(value) {
|
|
55
|
+
return attr('aria-hidden', value);
|
|
56
|
+
}
|
|
57
|
+
/** Shorthand for `attr('id', value)`. */
|
|
58
|
+
export function id(value) {
|
|
59
|
+
return attr('id', value);
|
|
60
|
+
}
|
|
61
|
+
export function width(value) {
|
|
62
|
+
return attr('width', value);
|
|
63
|
+
}
|
|
64
|
+
export function height(value) {
|
|
65
|
+
return attr('height', value);
|
|
66
|
+
}
|
|
67
|
+
export function transform(value) {
|
|
68
|
+
return attr('transform', value);
|
|
69
|
+
}
|
|
70
|
+
export function viewBox(value) {
|
|
71
|
+
return attr('viewBox', value);
|
|
72
|
+
}
|
|
73
|
+
export function fill(value) {
|
|
74
|
+
return attr('fill', value);
|
|
75
|
+
}
|
|
76
|
+
export function focusable(value) {
|
|
77
|
+
return attr('focusable', value);
|
|
78
|
+
}
|
|
79
|
+
export function xmlns(value) {
|
|
80
|
+
return attr('xmlns', value);
|
|
81
|
+
}
|
|
82
|
+
export function d(value) {
|
|
83
|
+
return attr('d', value);
|
|
84
|
+
}
|
|
85
|
+
export function stroke(value) {
|
|
86
|
+
return attr('stroke', value);
|
|
87
|
+
}
|
|
88
|
+
export function strokeWidth(value) {
|
|
89
|
+
return attr('stroke-width', value);
|
|
90
|
+
}
|
|
91
|
+
export function strokeLinecap(value) {
|
|
92
|
+
return attr('stroke-linecap', value);
|
|
93
|
+
}
|
|
94
|
+
export function strokeLinejoin(value) {
|
|
95
|
+
return attr('stroke-linejoin', value);
|
|
96
|
+
}
|
|
97
|
+
export function cx(value) {
|
|
98
|
+
return attr('cx', value);
|
|
99
|
+
}
|
|
100
|
+
export function cy(value) {
|
|
101
|
+
return attr('cy', value);
|
|
102
|
+
}
|
|
103
|
+
export function r(value) {
|
|
104
|
+
return attr('r', value);
|
|
105
|
+
}
|
|
106
|
+
export function role(value) {
|
|
107
|
+
return attr('role', value);
|
|
108
|
+
}
|
|
109
|
+
/** Shorthand for `attr('type', value)`. */
|
|
110
|
+
export function typeAttr(value) {
|
|
111
|
+
return attr('type', value);
|
|
112
|
+
}
|
|
113
|
+
/** Shorthand for `attr('class', value)`. */
|
|
114
|
+
export function cls(value) {
|
|
115
|
+
return attr('class', value);
|
|
116
|
+
}
|
|
117
|
+
/** Builds a `class` attribute from a list of conditional class entries. See
|
|
118
|
+
* `classListArg`. */
|
|
119
|
+
export function classList(...classes) {
|
|
120
|
+
const allClasses = [];
|
|
121
|
+
classes.forEach(cls => {
|
|
122
|
+
if (typeof cls === 'string') {
|
|
123
|
+
allClasses.push(cls);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (cls.length == 2) {
|
|
127
|
+
if (cls[0]) {
|
|
128
|
+
allClasses.push(cls[1]);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
if (cls[0]) {
|
|
133
|
+
allClasses.push(cls[1]);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
allClasses.push(cls[2]);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
return cls(allClasses.join(' '));
|
|
142
|
+
}
|
|
143
|
+
export function attrs(attrMap) {
|
|
144
|
+
return Object.entries(attrMap).map(([k, v]) => {
|
|
145
|
+
return attr(k, v);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/** Converts a map of CSS custom property names to values into a `style`
|
|
149
|
+
* attribute. */
|
|
150
|
+
export function cssVars(vars) {
|
|
151
|
+
return attr('style', Object.entries(vars)
|
|
152
|
+
.map(([k, v]) => `${k}: ${v}`)
|
|
153
|
+
.join('; '));
|
|
154
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type Effect } from '../effects';
|
|
2
|
+
import type { NodeId } from './nodeid';
|
|
3
|
+
import { type NodeGroup } from './views';
|
|
4
|
+
import { type Node } from './';
|
|
5
|
+
/** A self-contained UI unit with its own state, view, and optional scoped CSS. */
|
|
6
|
+
export type Component<State, Params, Event> = {
|
|
7
|
+
readonly _type: 'Component';
|
|
8
|
+
readonly params: Params;
|
|
9
|
+
readonly css?: string | ((params: Params) => string);
|
|
10
|
+
readonly initialState: (params: Params) => Effect<State, Event, State>;
|
|
11
|
+
view(state: State, params: Params): NodeGroup<State, Event>;
|
|
12
|
+
};
|
|
13
|
+
export type ComponentEventListener<State, Event, ComponentEvent> = (event: ComponentEvent) => Effect<State, Event, void>;
|
|
14
|
+
/** A mounted instance of a Component inside a parent view. */
|
|
15
|
+
export type ComponentElement<State, Event, ComponentState, Params, ComponentEvent> = {
|
|
16
|
+
readonly _type: 'Component';
|
|
17
|
+
readonly nodeId: NodeId;
|
|
18
|
+
readonly component: Component<ComponentState, Params, ComponentEvent>;
|
|
19
|
+
readonly componentEventListeners: readonly ComponentEventListener<State, Event, ComponentEvent>[];
|
|
20
|
+
/** Registers a listener for events fired by the component. */
|
|
21
|
+
onEvent(eventListener: ComponentEventListener<State, Event, ComponentEvent>): ComponentElement<State, Event, ComponentState, Params, ComponentEvent>;
|
|
22
|
+
};
|
|
23
|
+
export declare function componentElem<State, Event, ComponentState, Params, ComponentEvent>(component: Component<ComponentState, Params, ComponentEvent>, nodeId: NodeId, params?: Params): ComponentElement<State, Event, ComponentState, Params, ComponentEvent>;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a `Component` — a self-contained UI unit with its own managed state.
|
|
26
|
+
*
|
|
27
|
+
* The simple overload `component(view, initialState, css?)` is for components
|
|
28
|
+
* that do not accept external configuration. The params overload
|
|
29
|
+
* `component(view, initialStateFactory, params, css?)` is for components that
|
|
30
|
+
* accept a `Params` value from their parent, which is passed to both `view` and
|
|
31
|
+
* the initial-state factory on mount.
|
|
32
|
+
*
|
|
33
|
+
* The runtime calls `view(state, params)` whenever state changes and diffs the
|
|
34
|
+
* result against the previous virtual DOM to update the browser.
|
|
35
|
+
*
|
|
36
|
+
* @param css Optional scoped CSS string (or a function of params returning one)
|
|
37
|
+
* that is injected into a `<style>` element inside the component's shadow root.
|
|
38
|
+
*/
|
|
39
|
+
export declare function component<State, Event>(view: (state: State) => Node<State, Event> | NodeGroup<State, Event>, initialState: State | Effect<State, Event, State>, css?: string): Component<State, void, Event>;
|
|
40
|
+
export declare function component<State, Params, Event>(view: (state: State, params: Params) => Node<State, Event> | NodeGroup<State, Event>, initialState: (params: Params) => State | Effect<State, Event, State>, params: Params, css?: string | ((params: Params) => string)): Component<State, Params, Event>;
|
|
41
|
+
/** Creates a root-level Component with no params or events. Convenience wrapper for `component`. */
|
|
42
|
+
export declare function application<State>(view: (state: State) => Node<State, never> | NodeGroup<State, never>, initialState: State | Effect<State, never, State>): Component<State, void, never>;
|
|
43
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/dom/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { isEffect, pure } from '../effects';
|
|
2
|
+
import { nodeGroup } from './views';
|
|
3
|
+
import {} from './';
|
|
4
|
+
export function componentElem(component, nodeId, params) {
|
|
5
|
+
const resolvedComponent = params !== undefined ? { ...component, params } : component;
|
|
6
|
+
return {
|
|
7
|
+
_type: 'Component',
|
|
8
|
+
nodeId,
|
|
9
|
+
component: resolvedComponent,
|
|
10
|
+
componentEventListeners: [],
|
|
11
|
+
onEvent(eventListener) {
|
|
12
|
+
const eventListeners = this.componentEventListeners;
|
|
13
|
+
return {
|
|
14
|
+
...this,
|
|
15
|
+
componentEventListeners: [...eventListeners, eventListener],
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function toComponent(view, initialState, params, css) {
|
|
21
|
+
return {
|
|
22
|
+
_type: 'Component',
|
|
23
|
+
params,
|
|
24
|
+
css,
|
|
25
|
+
initialState(params) {
|
|
26
|
+
const result = initialState(params);
|
|
27
|
+
if (isEffect(result)) {
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return pure(result);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
view(state, params) {
|
|
35
|
+
const result = view(state, params);
|
|
36
|
+
if (typeof result === 'object' && result._type === 'NodeGroup') {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return nodeGroup(result);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// no params component
|
|
46
|
+
function toSimpleComponent(view, initialState, css) {
|
|
47
|
+
return {
|
|
48
|
+
_type: 'Component',
|
|
49
|
+
css,
|
|
50
|
+
initialState: () => {
|
|
51
|
+
if (isEffect(initialState)) {
|
|
52
|
+
return initialState;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return pure(initialState);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
view: (state) => {
|
|
59
|
+
const result = view(state);
|
|
60
|
+
if (typeof result === 'object' && result['_type'] === 'NodeGroup') {
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return nodeGroup(result);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
|
+
params: undefined,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export function component(...args) {
|
|
72
|
+
if (args.length <= 3 &&
|
|
73
|
+
(args.length < 3 || typeof args[2] === 'string' || args[2] === undefined)) {
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
+
const [view, initialState, css] = args;
|
|
76
|
+
return toSimpleComponent(view, initialState, css);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const [view, initialState, params, css] = args;
|
|
80
|
+
return toComponent(view, initialState, params, css);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Creates a root-level Component with no params or events. Convenience wrapper for `component`. */
|
|
84
|
+
export function application(view, initialState) {
|
|
85
|
+
return toSimpleComponent(view, initialState);
|
|
86
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { FlowContent, PhrasingContent } from '.';
|
|
2
|
+
import { type Effect } from '../effects';
|
|
3
|
+
import { type SupportsApply } from '../utils/apply';
|
|
4
|
+
import { type Attr, type Prop, type AttrOrNodeIdArgs } from './attrs';
|
|
5
|
+
import { type ChangeData, type EventListener, type EventListenerResult, type EventOptions, type KeyData, type MouseMoveData, type ScrollData, type TextState, type TouchData, type WheelData } from './events';
|
|
6
|
+
import { type NodeId } from './nodeid';
|
|
7
|
+
import { type Svg, type SvgGraphicElement } from './svg';
|
|
8
|
+
/**
|
|
9
|
+
* Base interface for all virtual DOM elements. Provides typed event handler methods that
|
|
10
|
+
* each return `this`, so calls can be chained: `button_('Save').onClick(save).onFocus(highlight)`.
|
|
11
|
+
*/
|
|
12
|
+
export interface BaseElement<State, Event, Tag> extends SupportsApply {
|
|
13
|
+
readonly _type: 'Element';
|
|
14
|
+
readonly tag: Tag;
|
|
15
|
+
readonly nodeId?: NodeId;
|
|
16
|
+
readonly attrs: readonly Attr[];
|
|
17
|
+
readonly props: readonly Prop[];
|
|
18
|
+
readonly eventListeners: readonly EventListener<State, Event>[];
|
|
19
|
+
onClick(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
20
|
+
onDblClick(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
21
|
+
onFocus(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
22
|
+
onBlur(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
23
|
+
onChange(f: (data: ChangeData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
24
|
+
onTextInput(f: (textState: TextState) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
25
|
+
onKeyDown(effect: (key: KeyData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
26
|
+
onKeyUp(effect: (key: KeyData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
27
|
+
onMouseEnter(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
28
|
+
onMouseLeave(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
29
|
+
onMouseMove(f: (data: MouseMoveData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
30
|
+
onScroll(f: (data: ScrollData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
31
|
+
onScrollEnd(f: (data: ScrollData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
32
|
+
onWheel(f: (data: WheelData) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
33
|
+
onTouchStart(effect: (touchData: readonly TouchData[]) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
34
|
+
onTouchMove(effect: (touchData: readonly TouchData[]) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
35
|
+
onTouchEnd(effect: (touchData: readonly TouchData[]) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
36
|
+
onTouchCancel(effect: (touchData: readonly TouchData[]) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
37
|
+
onEvent(eventName: string, effect: (detail: unknown) => Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
38
|
+
onSubmit(effect: Effect<State, Event, EventListenerResult>, options?: EventOptions): this;
|
|
39
|
+
prop(name: string, value: unknown): this;
|
|
40
|
+
}
|
|
41
|
+
/** A virtual DOM element that cannot have children (e.g. `br`, `hr`, `img`, `input`). */
|
|
42
|
+
export interface VoidElement<State, Event, Tag> extends BaseElement<State, Event, Tag> {
|
|
43
|
+
}
|
|
44
|
+
/** A virtual DOM element with typed children. */
|
|
45
|
+
export interface NonVoidElement<State, Event, Tag, Children> extends BaseElement<State, Event, Tag> {
|
|
46
|
+
readonly children: readonly Children[];
|
|
47
|
+
}
|
|
48
|
+
export type ButtonContent<State, Event> = NonVoidInlineElement<State, Event> | string | Svg<State, Event>;
|
|
49
|
+
export type Button<State, Event> = NonVoidElement<State, Event, 'button', ButtonContent<State, Event>>;
|
|
50
|
+
export type Div<State, Event> = NonVoidElement<State, Event, 'div', FlowContent<State, Event>>;
|
|
51
|
+
export type H1<State, Event> = NonVoidElement<State, Event, 'h1', FlowContent<State, Event>>;
|
|
52
|
+
export type H2<State, Event> = NonVoidElement<State, Event, 'h2', FlowContent<State, Event>>;
|
|
53
|
+
export type H3<State, Event> = NonVoidElement<State, Event, 'h3', FlowContent<State, Event>>;
|
|
54
|
+
export type H4<State, Event> = NonVoidElement<State, Event, 'h4', FlowContent<State, Event>>;
|
|
55
|
+
export type H5<State, Event> = NonVoidElement<State, Event, 'h5', FlowContent<State, Event>>;
|
|
56
|
+
export type H6<State, Event> = NonVoidElement<State, Event, 'h6', FlowContent<State, Event>>;
|
|
57
|
+
export type Header<State, Event> = NonVoidElement<State, Event, 'header', FlowContent<State, Event>>;
|
|
58
|
+
export type Li<State, Event> = NonVoidElement<State, Event, 'li', FlowContent<State, Event>>;
|
|
59
|
+
export type Main<State, Event> = NonVoidElement<State, Event, 'main', FlowContent<State, Event>>;
|
|
60
|
+
export type Nav<State, Event> = NonVoidElement<State, Event, 'nav', FlowContent<State, Event>>;
|
|
61
|
+
export type Ol<State, Event> = NonVoidElement<State, Event, 'ol', Li<State, Event>>;
|
|
62
|
+
export type P<State, Event> = NonVoidElement<State, Event, 'p', FlowContent<State, Event>>;
|
|
63
|
+
export type Ul<State, Event> = NonVoidElement<State, Event, 'ul', Li<State, Event>>;
|
|
64
|
+
export type Address<State, Event> = NonVoidElement<State, Event, 'address', FlowContent<State, Event>>;
|
|
65
|
+
export type Article<State, Event> = NonVoidElement<State, Event, 'article', FlowContent<State, Event>>;
|
|
66
|
+
export type Aside<State, Event> = NonVoidElement<State, Event, 'aside', FlowContent<State, Event>>;
|
|
67
|
+
export type Blockquote<State, Event> = NonVoidElement<State, Event, 'blockquote', FlowContent<State, Event>>;
|
|
68
|
+
export type Dd<State, Event> = NonVoidElement<State, Event, 'dd', FlowContent<State, Event>>;
|
|
69
|
+
export type Details<State, Event> = NonVoidElement<State, Event, 'details', FlowContent<State, Event>>;
|
|
70
|
+
export type Dt<State, Event> = NonVoidElement<State, Event, 'dt', PhrasingContent<State, Event>>;
|
|
71
|
+
export type Dl<State, Event> = NonVoidElement<State, Event, 'dl', Dt<State, Event> | Dd<State, Event>>;
|
|
72
|
+
export type Fieldset<State, Event> = NonVoidElement<State, Event, 'fieldset', FlowContent<State, Event>>;
|
|
73
|
+
export type Figcaption<State, Event> = NonVoidElement<State, Event, 'figcaption', FlowContent<State, Event>>;
|
|
74
|
+
export type Figure<State, Event> = NonVoidElement<State, Event, 'figure', FlowContent<State, Event>>;
|
|
75
|
+
export type Footer<State, Event> = NonVoidElement<State, Event, 'footer', FlowContent<State, Event>>;
|
|
76
|
+
export type Form<State, Event> = NonVoidElement<State, Event, 'form', FlowContent<State, Event>>;
|
|
77
|
+
export type Hr<State, Event> = VoidElement<State, Event, 'hr'>;
|
|
78
|
+
export type Pre<State, Event> = NonVoidElement<State, Event, 'pre', PhrasingContent<State, Event>>;
|
|
79
|
+
export type Section<State, Event> = NonVoidElement<State, Event, 'section', FlowContent<State, Event>>;
|
|
80
|
+
export type Summary<State, Event> = NonVoidElement<State, Event, 'summary', PhrasingContent<State, Event>>;
|
|
81
|
+
export type Td<State, Event> = NonVoidElement<State, Event, 'td', FlowContent<State, Event>>;
|
|
82
|
+
export type Th<State, Event> = NonVoidElement<State, Event, 'th', FlowContent<State, Event>>;
|
|
83
|
+
export type Tr<State, Event> = NonVoidElement<State, Event, 'tr', Th<State, Event> | Td<State, Event>>;
|
|
84
|
+
export type Tbody<State, Event> = NonVoidElement<State, Event, 'tbody', Tr<State, Event>>;
|
|
85
|
+
export type Tfoot<State, Event> = NonVoidElement<State, Event, 'tfoot', Tr<State, Event>>;
|
|
86
|
+
export type Thead<State, Event> = NonVoidElement<State, Event, 'thead', Tr<State, Event>>;
|
|
87
|
+
export type Table<State, Event> = NonVoidElement<State, Event, 'table', Thead<State, Event> | Tbody<State, Event> | Tfoot<State, Event> | Tr<State, Event>>;
|
|
88
|
+
export type BlockElement<State, Event> = Address<State, Event> | Article<State, Event> | Aside<State, Event> | Blockquote<State, Event> | Button<State, Event> | Dd<State, Event> | Details<State, Event> | Dl<State, Event> | Dt<State, Event> | Div<State, Event> | Fieldset<State, Event> | Figcaption<State, Event> | Figure<State, Event> | Footer<State, Event> | Form<State, Event> | H1<State, Event> | H2<State, Event> | H3<State, Event> | H4<State, Event> | H5<State, Event> | H6<State, Event> | Header<State, Event> | Hr<State, Event> | Li<State, Event> | Main<State, Event> | Nav<State, Event> | Ol<State, Event> | P<State, Event> | Pre<State, Event> | Section<State, Event> | Summary<State, Event> | Table<State, Event> | Tbody<State, Event> | Td<State, Event> | Tfoot<State, Event> | Th<State, Event> | Thead<State, Event> | Tr<State, Event> | Ul<State, Event>;
|
|
89
|
+
export type Br<State, Event> = VoidElement<State, Event, 'br'>;
|
|
90
|
+
export type Img<State, Event> = VoidElement<State, Event, 'img'>;
|
|
91
|
+
export type Input<State, Event> = VoidElement<State, Event, 'input'>;
|
|
92
|
+
export type VoidInlineElement<State, Event> = Br<State, Event> | Img<State, Event> | Input<State, Event>;
|
|
93
|
+
export type A<State, Event> = NonVoidElement<State, Event, 'a', FlowContent<State, Event>>;
|
|
94
|
+
export type Abbr<State, Event> = NonVoidElement<State, Event, 'abbr', PhrasingContent<State, Event>>;
|
|
95
|
+
export type B<State, Event> = NonVoidElement<State, Event, 'b', PhrasingContent<State, Event>>;
|
|
96
|
+
export type Cite<State, Event> = NonVoidElement<State, Event, 'cite', PhrasingContent<State, Event>>;
|
|
97
|
+
export type Code<State, Event> = NonVoidElement<State, Event, 'code', PhrasingContent<State, Event>>;
|
|
98
|
+
export type Em<State, Event> = NonVoidElement<State, Event, 'em', PhrasingContent<State, Event>>;
|
|
99
|
+
export type I<State, Event> = NonVoidElement<State, Event, 'i', PhrasingContent<State, Event>>;
|
|
100
|
+
export type Kbd<State, Event> = NonVoidElement<State, Event, 'kbd', PhrasingContent<State, Event>>;
|
|
101
|
+
export type Label<State, Event> = NonVoidElement<State, Event, 'label', PhrasingContent<State, Event>>;
|
|
102
|
+
export type Mark<State, Event> = NonVoidElement<State, Event, 'mark', PhrasingContent<State, Event>>;
|
|
103
|
+
export type Option<State, Event> = NonVoidElement<State, Event, 'option', string>;
|
|
104
|
+
export type Q<State, Event> = NonVoidElement<State, Event, 'q', PhrasingContent<State, Event>>;
|
|
105
|
+
export type S<State, Event> = NonVoidElement<State, Event, 's', PhrasingContent<State, Event>>;
|
|
106
|
+
export type Select<State, Event> = NonVoidElement<State, Event, 'select', Option<State, Event>>;
|
|
107
|
+
export type Small<State, Event> = NonVoidElement<State, Event, 'small', PhrasingContent<State, Event>>;
|
|
108
|
+
export type Span<State, Event> = NonVoidElement<State, Event, 'span', PhrasingContent<State, Event>>;
|
|
109
|
+
export type Strong<State, Event> = NonVoidElement<State, Event, 'strong', PhrasingContent<State, Event>>;
|
|
110
|
+
export type Sub<State, Event> = NonVoidElement<State, Event, 'sub', PhrasingContent<State, Event>>;
|
|
111
|
+
export type Sup<State, Event> = NonVoidElement<State, Event, 'sup', PhrasingContent<State, Event>>;
|
|
112
|
+
export type Textarea<State, Event> = NonVoidElement<State, Event, 'textarea', string>;
|
|
113
|
+
export type Time<State, Event> = NonVoidElement<State, Event, 'time', PhrasingContent<State, Event>>;
|
|
114
|
+
export type U<State, Event> = NonVoidElement<State, Event, 'u', PhrasingContent<State, Event>>;
|
|
115
|
+
export type NonVoidInlineElement<State, Event> = A<State, Event> | Abbr<State, Event> | B<State, Event> | Cite<State, Event> | Code<State, Event> | Em<State, Event> | I<State, Event> | Kbd<State, Event> | Label<State, Event> | Mark<State, Event> | Option<State, Event> | Q<State, Event> | S<State, Event> | Select<State, Event> | Small<State, Event> | Span<State, Event> | Strong<State, Event> | Sub<State, Event> | Sup<State, Event> | Textarea<State, Event> | Time<State, Event> | U<State, Event>;
|
|
116
|
+
export type InlineElement<State, Event> = VoidInlineElement<State, Event> | NonVoidInlineElement<State, Event>;
|
|
117
|
+
export type Element<State, Event> = BlockElement<State, Event> | InlineElement<State, Event> | ReplacedElement<State, Event> | SvgGraphicElement<State, Event>;
|
|
118
|
+
export type ReplacedElement<State, Event> = Svg<State, Event>;
|
|
119
|
+
export declare function makeNonVoidElement<State, Event, Children, Elem extends NonVoidElement<State, Event, Elem['tag'], Children>>(tag: Elem['tag']): (...attrs: AttrOrNodeIdArgs) => (...children: readonly Children[]) => Elem;
|
|
120
|
+
export declare function makeVoidElement<State, Event, Elem extends VoidElement<State, Event, string>>(tag: Elem['tag']): (...attrs: AttrOrNodeIdArgs) => Elem;
|
|
121
|
+
//# sourceMappingURL=elems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elems.d.ts","sourceRoot":"","sources":["../../src/dom/elems.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {} from '../effects';
|
|
2
|
+
import { applySupport } from '../utils/apply';
|
|
3
|
+
import { normalizeAttrArgs } from './attrs';
|
|
4
|
+
import { eventSupport, } from './events';
|
|
5
|
+
import { findNodeId } from './nodeid';
|
|
6
|
+
import {} from './svg';
|
|
7
|
+
//| View<State, any, Event>
|
|
8
|
+
//| View<State, never, Event>
|
|
9
|
+
function propSupport() {
|
|
10
|
+
return {
|
|
11
|
+
prop(name, value) {
|
|
12
|
+
return {
|
|
13
|
+
...this,
|
|
14
|
+
props: [...this.props, { name, value }],
|
|
15
|
+
...propSupport(),
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function makeNonVoidElement(tag) {
|
|
21
|
+
return (...attrs) => {
|
|
22
|
+
return (...children) => {
|
|
23
|
+
return {
|
|
24
|
+
_type: 'Element',
|
|
25
|
+
tag,
|
|
26
|
+
nodeId: findNodeId(attrs),
|
|
27
|
+
attrs: normalizeAttrArgs(attrs),
|
|
28
|
+
props: [],
|
|
29
|
+
children,
|
|
30
|
+
eventListeners: [],
|
|
31
|
+
...eventSupport(),
|
|
32
|
+
...propSupport(),
|
|
33
|
+
...applySupport(),
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function makeVoidElement(tag) {
|
|
39
|
+
return (...attrs) => {
|
|
40
|
+
return {
|
|
41
|
+
_type: 'Element',
|
|
42
|
+
tag,
|
|
43
|
+
nodeId: findNodeId(attrs),
|
|
44
|
+
attrs: normalizeAttrArgs(attrs),
|
|
45
|
+
props: [],
|
|
46
|
+
eventListeners: [],
|
|
47
|
+
...eventSupport(),
|
|
48
|
+
...propSupport(),
|
|
49
|
+
...applySupport(),
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|