j-templates 7.0.76 → 7.0.78
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/DOM/createPropertyAssignment.js +5 -1
- package/DOM/domNodeConfig.js +24 -8
- package/DOM/elements.d.ts +49 -25
- package/DOM/elements.js +4 -1
- package/Node/component.d.ts +4 -4
- package/Node/vNode.d.ts +3 -3
- package/Node/vNode.js +14 -21
- package/Node/vNode.types.d.ts +7 -1
- package/Node/vNode.types.js +4 -0
- package/package.json +1 -1
|
@@ -72,8 +72,12 @@ function AssignValue(target, value) {
|
|
|
72
72
|
const start = target.selectionStart;
|
|
73
73
|
const end = target.selectionEnd;
|
|
74
74
|
target.value = value;
|
|
75
|
-
if (target.ownerDocument.activeElement === target)
|
|
75
|
+
if (target.ownerDocument.activeElement === target) {
|
|
76
|
+
const type = target.type;
|
|
77
|
+
target.type = "text";
|
|
76
78
|
target.setSelectionRange(start, end);
|
|
79
|
+
target.type = type;
|
|
80
|
+
}
|
|
77
81
|
break;
|
|
78
82
|
}
|
|
79
83
|
default:
|
package/DOM/domNodeConfig.js
CHANGED
|
@@ -48,6 +48,16 @@ function wrapPriorityUpdates(callback) {
|
|
|
48
48
|
highPriority = currentPriority;
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
+
function getHTMLNode(from, current) {
|
|
52
|
+
if (typeof from === "string") {
|
|
53
|
+
if (current?.nodeType === Node.TEXT_NODE) {
|
|
54
|
+
exports.DOMNodeConfig.setText(current, from);
|
|
55
|
+
return current;
|
|
56
|
+
}
|
|
57
|
+
return exports.DOMNodeConfig.createTextNode(from);
|
|
58
|
+
}
|
|
59
|
+
return from;
|
|
60
|
+
}
|
|
51
61
|
exports.DOMNodeConfig = {
|
|
52
62
|
createNode(type, namespace) {
|
|
53
63
|
if (type === "text")
|
|
@@ -136,8 +146,10 @@ exports.DOMNodeConfig = {
|
|
|
136
146
|
},
|
|
137
147
|
reconcileChildren(target, children) {
|
|
138
148
|
if (!target.firstChild) {
|
|
139
|
-
for (let x = 0; x < children.length; x++)
|
|
140
|
-
|
|
149
|
+
for (let x = 0; x < children.length; x++) {
|
|
150
|
+
const child = getHTMLNode(children[x]);
|
|
151
|
+
target.appendChild(child);
|
|
152
|
+
}
|
|
141
153
|
return;
|
|
142
154
|
}
|
|
143
155
|
if (children.length === 0) {
|
|
@@ -148,7 +160,8 @@ exports.DOMNodeConfig = {
|
|
|
148
160
|
let x = 0;
|
|
149
161
|
let removed = false;
|
|
150
162
|
for (; actualNode && x < children.length; x++) {
|
|
151
|
-
const
|
|
163
|
+
const child = children[x];
|
|
164
|
+
let expectedNode = getHTMLNode(child, actualNode);
|
|
152
165
|
if (!removed && actualNode !== expectedNode) {
|
|
153
166
|
const remove = actualNode;
|
|
154
167
|
actualNode = actualNode.nextSibling;
|
|
@@ -165,14 +178,17 @@ exports.DOMNodeConfig = {
|
|
|
165
178
|
}
|
|
166
179
|
while (target.lastChild !== children[x - 1])
|
|
167
180
|
target.removeChild(target.lastChild);
|
|
168
|
-
for (; x < children.length; x++)
|
|
169
|
-
|
|
181
|
+
for (; x < children.length; x++) {
|
|
182
|
+
const child = getHTMLNode(children[x]);
|
|
183
|
+
target.appendChild(child);
|
|
184
|
+
}
|
|
170
185
|
},
|
|
171
186
|
reconcileChild(target, child) {
|
|
172
|
-
|
|
187
|
+
const newChild = getHTMLNode(child, target.firstChild);
|
|
188
|
+
if (target.firstChild === newChild)
|
|
173
189
|
return;
|
|
174
|
-
target.appendChild(
|
|
175
|
-
while (target.firstChild !==
|
|
190
|
+
target.appendChild(newChild);
|
|
191
|
+
while (target.firstChild !== newChild)
|
|
176
192
|
target.removeChild(target.firstChild);
|
|
177
193
|
},
|
|
178
194
|
};
|
package/DOM/elements.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const div: <T>(config: {
|
|
|
5
5
|
}>;
|
|
6
6
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
7
7
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
8
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
8
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
9
9
|
export declare const a: <T>(config: {
|
|
10
10
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
11
11
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -13,7 +13,7 @@ export declare const a: <T>(config: {
|
|
|
13
13
|
}>;
|
|
14
14
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
15
15
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
16
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
16
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
17
17
|
export declare const b: <T>(config: {
|
|
18
18
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
19
19
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -21,7 +21,7 @@ export declare const b: <T>(config: {
|
|
|
21
21
|
}>;
|
|
22
22
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
23
23
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
24
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
24
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
25
25
|
export declare const button: <T>(config: {
|
|
26
26
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLButtonElement>>;
|
|
27
27
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -29,7 +29,7 @@ export declare const button: <T>(config: {
|
|
|
29
29
|
}>;
|
|
30
30
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
31
31
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
32
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
32
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
33
33
|
export declare const h1: <T>(config: {
|
|
34
34
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
35
35
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -37,7 +37,7 @@ export declare const h1: <T>(config: {
|
|
|
37
37
|
}>;
|
|
38
38
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
39
39
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
40
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
40
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
41
41
|
export declare const h2: <T>(config: {
|
|
42
42
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
43
43
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -45,7 +45,7 @@ export declare const h2: <T>(config: {
|
|
|
45
45
|
}>;
|
|
46
46
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
47
47
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
48
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
48
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
49
49
|
export declare const h3: <T>(config: {
|
|
50
50
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
51
51
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -53,7 +53,7 @@ export declare const h3: <T>(config: {
|
|
|
53
53
|
}>;
|
|
54
54
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
55
55
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
56
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
56
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
57
57
|
export declare const input: <T>(config: {
|
|
58
58
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLInputElement>>;
|
|
59
59
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -61,7 +61,7 @@ export declare const input: <T>(config: {
|
|
|
61
61
|
}>;
|
|
62
62
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
63
63
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
64
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
64
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
65
65
|
export declare const textarea: <T>(config: {
|
|
66
66
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLTextAreaElement>>;
|
|
67
67
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -69,7 +69,7 @@ export declare const textarea: <T>(config: {
|
|
|
69
69
|
}>;
|
|
70
70
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
71
71
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
72
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
72
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
73
73
|
export declare const span: <T>(config: {
|
|
74
74
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
75
75
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -77,7 +77,7 @@ export declare const span: <T>(config: {
|
|
|
77
77
|
}>;
|
|
78
78
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
79
79
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
80
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
80
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
81
81
|
export declare const table: <T>(config: {
|
|
82
82
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
83
83
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -85,7 +85,7 @@ export declare const table: <T>(config: {
|
|
|
85
85
|
}>;
|
|
86
86
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
87
87
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
88
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
88
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
89
89
|
export declare const thead: <T>(config: {
|
|
90
90
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
91
91
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -93,7 +93,7 @@ export declare const thead: <T>(config: {
|
|
|
93
93
|
}>;
|
|
94
94
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
95
95
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
96
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
96
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
97
97
|
export declare const th: <T>(config: {
|
|
98
98
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
99
99
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -101,7 +101,7 @@ export declare const th: <T>(config: {
|
|
|
101
101
|
}>;
|
|
102
102
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
103
103
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
104
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
104
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
105
105
|
export declare const tbody: <T>(config: {
|
|
106
106
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
107
107
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -109,7 +109,7 @@ export declare const tbody: <T>(config: {
|
|
|
109
109
|
}>;
|
|
110
110
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
111
111
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
112
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
112
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
113
113
|
export declare const tr: <T>(config: {
|
|
114
114
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
115
115
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -117,7 +117,7 @@ export declare const tr: <T>(config: {
|
|
|
117
117
|
}>;
|
|
118
118
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
119
119
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
120
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
120
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
121
121
|
export declare const td: <T>(config: {
|
|
122
122
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
123
123
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -125,7 +125,7 @@ export declare const td: <T>(config: {
|
|
|
125
125
|
}>;
|
|
126
126
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
127
127
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
128
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
128
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
129
129
|
export declare const img: <T>(config: {
|
|
130
130
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLImageElement>>;
|
|
131
131
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -133,7 +133,7 @@ export declare const img: <T>(config: {
|
|
|
133
133
|
}>;
|
|
134
134
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
135
135
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
136
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
136
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
137
137
|
export declare const video: <T>(config: {
|
|
138
138
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLVideoElement>>;
|
|
139
139
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -141,7 +141,7 @@ export declare const video: <T>(config: {
|
|
|
141
141
|
}>;
|
|
142
142
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
143
143
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
144
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
144
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
145
145
|
export declare const select: <T>(config: {
|
|
146
146
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLSelectElement>>;
|
|
147
147
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -149,7 +149,7 @@ export declare const select: <T>(config: {
|
|
|
149
149
|
}>;
|
|
150
150
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
151
151
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
152
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
152
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
153
153
|
export declare const option: <T>(config: {
|
|
154
154
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLOptionElement>>;
|
|
155
155
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -157,7 +157,7 @@ export declare const option: <T>(config: {
|
|
|
157
157
|
}>;
|
|
158
158
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
159
159
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
160
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
160
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
161
161
|
export declare const aside: <T>(config: {
|
|
162
162
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
163
163
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -165,7 +165,7 @@ export declare const aside: <T>(config: {
|
|
|
165
165
|
}>;
|
|
166
166
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
167
167
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
168
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
168
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
169
169
|
export declare const p: <T>(config: {
|
|
170
170
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
171
171
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -173,7 +173,7 @@ export declare const p: <T>(config: {
|
|
|
173
173
|
}>;
|
|
174
174
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
175
175
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
176
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
176
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
177
177
|
export declare const label: <T>(config: {
|
|
178
178
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
179
179
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -181,7 +181,7 @@ export declare const label: <T>(config: {
|
|
|
181
181
|
}>;
|
|
182
182
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
183
183
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
184
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
184
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
185
185
|
export declare const pre: <T>(config: {
|
|
186
186
|
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
187
187
|
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
@@ -189,5 +189,29 @@ export declare const pre: <T>(config: {
|
|
|
189
189
|
}>;
|
|
190
190
|
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
191
191
|
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
192
|
-
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").
|
|
193
|
-
export declare const
|
|
192
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
193
|
+
export declare const ul: <T>(config: {
|
|
194
|
+
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
195
|
+
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
196
|
+
[name: string]: string;
|
|
197
|
+
}>;
|
|
198
|
+
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
199
|
+
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
200
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
201
|
+
export declare const ol: <T>(config: {
|
|
202
|
+
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
203
|
+
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
204
|
+
[name: string]: string;
|
|
205
|
+
}>;
|
|
206
|
+
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
207
|
+
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
208
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
209
|
+
export declare const li: <T>(config: {
|
|
210
|
+
props?: import("../Node/vNode.types").FunctionOr<import("../Utils/utils.types").RecursivePartial<HTMLElement>>;
|
|
211
|
+
attrs?: import("../Node/vNode.types").FunctionOr<{
|
|
212
|
+
[name: string]: string;
|
|
213
|
+
}>;
|
|
214
|
+
on?: import("../Node/vNode.types").FunctionOr<import("../Node/vNode.types").vNodeEvents<HTMLElementEventMap>>;
|
|
215
|
+
data?: () => T | T[] | Promise<T[]> | Promise<T>;
|
|
216
|
+
}, children?: import("../Node/vNode.types").vNode[] | import("../Node/vNode.types").vNodeChildrenFunction<T>) => import("../Node/vNode.types").vElementNode;
|
|
217
|
+
export declare const text: (callback: () => string) => import("../Node/vNode.types").vElementNode;
|
package/DOM/elements.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.text = exports.pre = exports.label = exports.p = exports.aside = exports.option = exports.select = exports.video = exports.img = exports.td = exports.tr = exports.tbody = exports.th = exports.thead = exports.table = exports.span = exports.textarea = exports.input = exports.h3 = exports.h2 = exports.h1 = exports.button = exports.b = exports.a = exports.div = void 0;
|
|
3
|
+
exports.text = exports.li = exports.ol = exports.ul = exports.pre = exports.label = exports.p = exports.aside = exports.option = exports.select = exports.video = exports.img = exports.td = exports.tr = exports.tbody = exports.th = exports.thead = exports.table = exports.span = exports.textarea = exports.input = exports.h3 = exports.h2 = exports.h1 = exports.button = exports.b = exports.a = exports.div = void 0;
|
|
4
4
|
const vNode_1 = require("../Node/vNode");
|
|
5
5
|
exports.div = vNode_1.vNode.ToFunction("div");
|
|
6
6
|
exports.a = vNode_1.vNode.ToFunction("a");
|
|
@@ -26,6 +26,9 @@ exports.aside = vNode_1.vNode.ToFunction("aside");
|
|
|
26
26
|
exports.p = vNode_1.vNode.ToFunction("p");
|
|
27
27
|
exports.label = vNode_1.vNode.ToFunction("label");
|
|
28
28
|
exports.pre = vNode_1.vNode.ToFunction("pre");
|
|
29
|
+
exports.ul = vNode_1.vNode.ToFunction("ul");
|
|
30
|
+
exports.ol = vNode_1.vNode.ToFunction("ol");
|
|
31
|
+
exports.li = vNode_1.vNode.ToFunction("li");
|
|
29
32
|
const textElement = vNode_1.vNode.ToFunction("text");
|
|
30
33
|
const text = function (callback) {
|
|
31
34
|
return textElement({ props: () => ({ nodeValue: callback() }) });
|
package/Node/component.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentEvents } from "./component.types";
|
|
2
|
-
import { FunctionOr, vNode as vNodeType } from "./vNode.types";
|
|
2
|
+
import { FunctionOr, vNode as vNodeType, vElementNode } from "./vNode.types";
|
|
3
3
|
import { RecursivePartial } from "../Utils/utils.types";
|
|
4
4
|
import { IObservableScope } from "../Store/Tree/observableScope";
|
|
5
5
|
/**
|
|
@@ -33,12 +33,12 @@ export declare class Component<D = void, T = void, E = {}> {
|
|
|
33
33
|
/**
|
|
34
34
|
* Accessor for the component's virtual node.
|
|
35
35
|
*/
|
|
36
|
-
protected get VNode():
|
|
36
|
+
protected get VNode(): vElementNode;
|
|
37
37
|
/**
|
|
38
38
|
* Accessor for the component's template collection.
|
|
39
39
|
*/
|
|
40
40
|
protected get Templates(): T;
|
|
41
|
-
constructor(vNode:
|
|
41
|
+
constructor(vNode: vElementNode, config: vComponentConfig<D, E>, templates: T);
|
|
42
42
|
/**
|
|
43
43
|
* Returns the component's rendered vNode(s).
|
|
44
44
|
* Override to provide custom rendering logic.
|
|
@@ -73,7 +73,7 @@ export declare namespace Component {
|
|
|
73
73
|
* Function wraps the Component as a function that can be used to create vNode objects
|
|
74
74
|
* and generate templates.
|
|
75
75
|
*/
|
|
76
|
-
function ToFunction<D, T, E, P = HTMLElement>(type: string, constructor: typeof Component<D, T, E>, namespace?: string): (config: vComponentConfig<D, E, P>, templates?: T) =>
|
|
76
|
+
function ToFunction<D, T, E, P = HTMLElement>(type: string, constructor: typeof Component<D, T, E>, namespace?: string): (config: vComponentConfig<D, E, P>, templates?: T) => vElementNode;
|
|
77
77
|
/**
|
|
78
78
|
* Function registers the Component as a WebComponent as the provided name.
|
|
79
79
|
*/
|
package/Node/vNode.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RecursivePartial } from "../Utils/utils.types";
|
|
2
|
-
import { vNode as vNodeType, vNodeDefinition, FunctionOr, vNodeEvents, vNodeChildrenFunction } from "./vNode.types";
|
|
2
|
+
import { vNode as vNodeType, vNodeDefinition, FunctionOr, vNodeEvents, vNodeChildrenFunction, vElementNode } from "./vNode.types";
|
|
3
3
|
type vNodeConfig<P = HTMLElement, E = HTMLElementEventMap, T = never> = {
|
|
4
4
|
props?: FunctionOr<RecursivePartial<P>>;
|
|
5
5
|
attrs?: FunctionOr<{
|
|
@@ -9,13 +9,13 @@ type vNodeConfig<P = HTMLElement, E = HTMLElementEventMap, T = never> = {
|
|
|
9
9
|
data?: () => T | Array<T> | Promise<Array<T>> | Promise<T>;
|
|
10
10
|
};
|
|
11
11
|
export declare namespace vNode {
|
|
12
|
-
function Create<P = HTMLElement, E = HTMLElementEventMap, T = never>(definition: vNodeDefinition<P, E, T>):
|
|
12
|
+
function Create<P = HTMLElement, E = HTMLElementEventMap, T = never>(definition: vNodeDefinition<P, E, T>): vElementNode;
|
|
13
13
|
function CreateText(text: string): vNodeType;
|
|
14
14
|
function Init(vnode: vNodeType): void;
|
|
15
15
|
function InitAll(vnodes: vNodeType[]): void;
|
|
16
16
|
function Destroy(vnode: vNodeType): void;
|
|
17
17
|
function DestroyAll(vnodes: vNodeType[]): void;
|
|
18
|
-
function ToFunction<P = HTMLElement, E = HTMLElementEventMap>(type: string, namespace?: string): <T>(config: vNodeConfig<P, E, T>, children?: vNodeType[] | vNodeChildrenFunction<T>) =>
|
|
18
|
+
function ToFunction<P = HTMLElement, E = HTMLElementEventMap>(type: string, namespace?: string): <T>(config: vNodeConfig<P, E, T>, children?: vNodeType[] | vNodeChildrenFunction<T>) => vElementNode;
|
|
19
19
|
function Attach(node: any, vnode: vNodeType): vNodeType;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
package/Node/vNode.js
CHANGED
|
@@ -8,6 +8,7 @@ const functions_1 = require("../Utils/functions");
|
|
|
8
8
|
const injector_1 = require("../Utils/injector");
|
|
9
9
|
const thread_1 = require("../Utils/thread");
|
|
10
10
|
const nodeConfig_1 = require("./nodeConfig");
|
|
11
|
+
const vNode_types_1 = require("./vNode.types");
|
|
11
12
|
var vNode;
|
|
12
13
|
(function (vNode) {
|
|
13
14
|
function Create(definition) {
|
|
@@ -43,7 +44,7 @@ var vNode;
|
|
|
43
44
|
}
|
|
44
45
|
vNode.CreateText = CreateText;
|
|
45
46
|
function Init(vnode) {
|
|
46
|
-
if (vnode.definition === null)
|
|
47
|
+
if ((0, vNode_types_1.isStringNode)(vnode) || vnode.definition === null)
|
|
47
48
|
return;
|
|
48
49
|
InitNode(vnode);
|
|
49
50
|
}
|
|
@@ -54,7 +55,7 @@ var vNode;
|
|
|
54
55
|
}
|
|
55
56
|
vNode.InitAll = InitAll;
|
|
56
57
|
function Destroy(vnode) {
|
|
57
|
-
if (vnode.destroyed)
|
|
58
|
+
if ((0, vNode_types_1.isStringNode)(vnode) || vnode.destroyed)
|
|
58
59
|
return;
|
|
59
60
|
vnode.destroyed = true;
|
|
60
61
|
vnode.component?.Destroy();
|
|
@@ -212,7 +213,7 @@ function ToArray(result) {
|
|
|
212
213
|
function EvaluateNextNodesSmall(injector, getNextChildren, nextData, nodeArray) {
|
|
213
214
|
if (nextData === DEFAULT_DATA) {
|
|
214
215
|
const nextChildren = injector_1.Injector.Scope(injector, getNextChildren, nextData[0]);
|
|
215
|
-
const children = CreateNodeArray(nextChildren
|
|
216
|
+
const children = CreateNodeArray(nextChildren);
|
|
216
217
|
for (let x = 0; x < nodeArray.length; x++) {
|
|
217
218
|
vNode.DestroyAll(nodeArray[x][1]);
|
|
218
219
|
Store_1.ObservableScope.Destroy(nodeArray[x][2]);
|
|
@@ -304,22 +305,13 @@ function EvaluateNextNodesLarge(injector, getNextChildren, nextData, nodeArray)
|
|
|
304
305
|
}
|
|
305
306
|
return nextNodes;
|
|
306
307
|
}
|
|
307
|
-
function CreateNodeArray(children
|
|
308
|
-
if (Array.isArray(children))
|
|
309
|
-
return children
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
if (firstPrevChild &&
|
|
313
|
-
firstPrevChild.node &&
|
|
314
|
-
firstPrevChild.type === "text") {
|
|
315
|
-
nodeConfig_1.NodeConfig.setText(firstPrevChild.node, children);
|
|
316
|
-
return previousChildren.length === 1
|
|
317
|
-
? previousChildren
|
|
318
|
-
: [firstPrevChild];
|
|
319
|
-
}
|
|
320
|
-
return [vNode.CreateText(children)];
|
|
308
|
+
function CreateNodeArray(children) {
|
|
309
|
+
if (!Array.isArray(children)) {
|
|
310
|
+
return typeof children === "string"
|
|
311
|
+
? [{ type: "string", node: children }]
|
|
312
|
+
: [children];
|
|
321
313
|
}
|
|
322
|
-
return
|
|
314
|
+
return children;
|
|
323
315
|
}
|
|
324
316
|
function UpdateChildren(vnode, init = false, skipInit = false) {
|
|
325
317
|
if (!vnode.children)
|
|
@@ -335,15 +327,16 @@ function UpdateChildren(vnode, init = false, skipInit = false) {
|
|
|
335
327
|
if (vnode.destroyed || children !== vnode.children)
|
|
336
328
|
return;
|
|
337
329
|
for (let x = 0; !skipInit && x < children.length; x++)
|
|
338
|
-
for (let y = 0; y < children[x][1].length; y++)
|
|
339
|
-
|
|
340
|
-
|
|
330
|
+
for (let y = 0; y < children[x][1].length; y++) {
|
|
331
|
+
const childNode = children[x][1][y];
|
|
332
|
+
if (!(0, vNode_types_1.isStringNode)(childNode) && childNode.definition) {
|
|
341
333
|
(0, thread_1.Schedule)(function () {
|
|
342
334
|
if (vnode.destroyed || children !== vnode.children)
|
|
343
335
|
return;
|
|
344
336
|
vNode.Init(childNode);
|
|
345
337
|
});
|
|
346
338
|
}
|
|
339
|
+
}
|
|
347
340
|
(0, thread_1.Thread)(function (async) {
|
|
348
341
|
if (vnode.destroyed || children !== vnode.children)
|
|
349
342
|
return;
|
package/Node/vNode.types.d.ts
CHANGED
|
@@ -14,7 +14,11 @@ export type vNodeEvents<E extends {
|
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
export type vNodeChildrenFunction<T> = ((data: T) => vNode | vNode[]) | ((data: T) => string);
|
|
17
|
-
export type
|
|
17
|
+
export type vStringNode = {
|
|
18
|
+
type: "string";
|
|
19
|
+
node: string;
|
|
20
|
+
};
|
|
21
|
+
export type vElementNode = {
|
|
18
22
|
type: string;
|
|
19
23
|
definition: vNodeDefinition<any, any, any>;
|
|
20
24
|
injector: Injector;
|
|
@@ -25,6 +29,8 @@ export type vNode = {
|
|
|
25
29
|
scopes: IObservableScope<unknown>[];
|
|
26
30
|
component: Component;
|
|
27
31
|
};
|
|
32
|
+
export type vNode = vStringNode | vElementNode;
|
|
33
|
+
export declare function isStringNode(vnode: vNode): vnode is vStringNode;
|
|
28
34
|
export type vNodeDefinition<P = HTMLElement, E = HTMLElementEventMap, T = never> = {
|
|
29
35
|
type: string;
|
|
30
36
|
node?: Node;
|
package/Node/vNode.types.js
CHANGED