j-templates 8.0.13 → 8.0.14
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/createAssignment.js +2 -6
- package/DOM/createAttributeAssignment.js +2 -6
- package/DOM/createEventAssignment.js +2 -6
- package/DOM/createPropertyAssignment.js +10 -14
- package/DOM/domNodeConfig.js +27 -30
- package/DOM/elements.js +102 -108
- package/DOM/index.js +3 -19
- package/Node/component.js +12 -16
- package/Node/component.types.js +1 -2
- package/Node/nodeConfig.js +2 -5
- package/Node/vNode.js +64 -67
- package/Node/vNode.types.js +5 -9
- package/Store/Diff/defaultDiffTreeWorker.d.ts +1 -0
- package/Store/Diff/defaultDiffTreeWorker.js +4 -0
- package/Store/Diff/diffAsync.d.ts +2 -4
- package/Store/Diff/diffAsync.js +4 -33
- package/Store/Diff/diffSync.js +3 -10
- package/Store/Diff/diffTree.d.ts +66 -41
- package/Store/Diff/diffTree.js +357 -427
- package/Store/Diff/diffTreeWorker.d.ts +8 -0
- package/Store/Diff/diffTreeWorker.js +27 -0
- package/Store/Diff/workerQueue.js +6 -10
- package/Store/Store/store.js +10 -14
- package/Store/Store/storeAsync.d.ts +1 -2
- package/Store/Store/storeAsync.js +10 -14
- package/Store/Store/storeSync.js +10 -14
- package/Store/Tree/observableNode.js +35 -38
- package/Store/Tree/observableScope.js +35 -42
- package/Store/index.js +5 -13
- package/Utils/animation.js +7 -11
- package/Utils/array.js +2 -6
- package/Utils/asyncQueue.js +7 -11
- package/Utils/decorators.js +44 -53
- package/Utils/emitter.js +6 -9
- package/Utils/functions.js +1 -4
- package/Utils/index.js +3 -21
- package/Utils/injector.js +2 -6
- package/Utils/json.d.ts +32 -10
- package/Utils/json.js +195 -208
- package/Utils/list.js +2 -5
- package/Utils/scheduling.js +4 -7
- package/Utils/thread.js +18 -26
- package/Utils/utils.types.js +1 -2
- package/_not_used/array.js +4 -10
- package/_not_used/avlTree.js +2 -5
- package/index.js +2 -10
- package/package.json +1 -1
- package/Store/Diff/diffWorker.d.ts +0 -3
- package/Store/Diff/diffWorker.js +0 -21
package/DOM/createAssignment.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Assignment = Assignment;
|
|
4
|
-
exports.CreateAssignment = CreateAssignment;
|
|
5
1
|
const DEFAULT_ASSIGNMENT = {};
|
|
6
|
-
function Assignment(target, next, assignment) {
|
|
2
|
+
export function Assignment(target, next, assignment) {
|
|
7
3
|
for (const key in next) {
|
|
8
4
|
assignment(target, key, next[key]);
|
|
9
5
|
}
|
|
10
6
|
}
|
|
11
|
-
function CreateAssignment(target, createAssignment) {
|
|
7
|
+
export function CreateAssignment(target, createAssignment) {
|
|
12
8
|
let last;
|
|
13
9
|
let writeTo = {};
|
|
14
10
|
return function AssignNext(next) {
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttributeAssignment = AttributeAssignment;
|
|
4
|
-
exports.CreateAttributeAssignment = CreateAttributeAssignment;
|
|
5
|
-
function AttributeAssignment(target, attribute, next) {
|
|
1
|
+
export function AttributeAssignment(target, attribute, next) {
|
|
6
2
|
target.setAttribute(attribute, next);
|
|
7
3
|
}
|
|
8
|
-
function CreateAttributeAssignment(target, attribute) {
|
|
4
|
+
export function CreateAttributeAssignment(target, attribute) {
|
|
9
5
|
let lastValue;
|
|
10
6
|
return function (next) {
|
|
11
7
|
const nextValue = next && next[attribute];
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventAssignment = EventAssignment;
|
|
4
|
-
exports.CreateEventAssignment = CreateEventAssignment;
|
|
5
|
-
function EventAssignment(target, event, next) {
|
|
1
|
+
export function EventAssignment(target, event, next) {
|
|
6
2
|
target.addEventListener(event, next);
|
|
7
3
|
}
|
|
8
|
-
function CreateEventAssignment(target, event) {
|
|
4
|
+
export function CreateEventAssignment(target, event) {
|
|
9
5
|
let lastEvent;
|
|
10
6
|
return function (next) {
|
|
11
7
|
const nextEvent = next && next[event];
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.CreateRootPropertyAssignment = CreateRootPropertyAssignment;
|
|
5
|
-
const json_1 = require("../Utils/json");
|
|
6
|
-
const createAssignment_1 = require("./createAssignment");
|
|
7
|
-
function PropertyAssignment(target, property, next) {
|
|
1
|
+
import { JsonType } from "../Utils/json";
|
|
2
|
+
import { Assignment, CreateAssignment } from "./createAssignment";
|
|
3
|
+
export function PropertyAssignment(target, property, next) {
|
|
8
4
|
switch (property) {
|
|
9
5
|
case "nodeValue": {
|
|
10
6
|
AssignNodeValue(target, next);
|
|
@@ -19,14 +15,14 @@ function PropertyAssignment(target, property, next) {
|
|
|
19
15
|
break;
|
|
20
16
|
}
|
|
21
17
|
default: {
|
|
22
|
-
const jsonType =
|
|
18
|
+
const jsonType = JsonType(next);
|
|
23
19
|
switch (jsonType) {
|
|
24
20
|
case "value":
|
|
25
21
|
target[property] = next;
|
|
26
22
|
break;
|
|
27
23
|
default: {
|
|
28
24
|
const childTarget = target[property];
|
|
29
|
-
|
|
25
|
+
Assignment(childTarget, next, PropertyAssignment);
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
28
|
}
|
|
@@ -40,21 +36,21 @@ function CreatePropertyAssignment(target, property) {
|
|
|
40
36
|
const nextValue = next && next[property];
|
|
41
37
|
if (nextValue === lastValue || nextValue === undefined)
|
|
42
38
|
return;
|
|
43
|
-
jsonType ??=
|
|
39
|
+
jsonType ??= JsonType(nextValue);
|
|
44
40
|
switch (jsonType) {
|
|
45
41
|
case "value":
|
|
46
42
|
target[property] = nextValue;
|
|
47
43
|
break;
|
|
48
44
|
default: {
|
|
49
45
|
const childTarget = target[property];
|
|
50
|
-
childAssignment ??=
|
|
46
|
+
childAssignment ??= CreateAssignment(childTarget, CreateRootPropertyAssignment);
|
|
51
47
|
childAssignment(nextValue);
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
50
|
lastValue = nextValue;
|
|
55
51
|
};
|
|
56
52
|
}
|
|
57
|
-
function CreateRootPropertyAssignment(target, property) {
|
|
53
|
+
export function CreateRootPropertyAssignment(target, property) {
|
|
58
54
|
let lastValue;
|
|
59
55
|
let jsonType;
|
|
60
56
|
let childAssignment;
|
|
@@ -76,14 +72,14 @@ function CreateRootPropertyAssignment(target, property) {
|
|
|
76
72
|
break;
|
|
77
73
|
}
|
|
78
74
|
default: {
|
|
79
|
-
jsonType ??=
|
|
75
|
+
jsonType ??= JsonType(nextValue);
|
|
80
76
|
switch (jsonType) {
|
|
81
77
|
case "value":
|
|
82
78
|
target[property] = nextValue;
|
|
83
79
|
break;
|
|
84
80
|
default: {
|
|
85
81
|
const childTarget = target[property];
|
|
86
|
-
childAssignment ??=
|
|
82
|
+
childAssignment ??= CreateAssignment(childTarget, CreatePropertyAssignment);
|
|
87
83
|
childAssignment(nextValue);
|
|
88
84
|
}
|
|
89
85
|
}
|
package/DOM/domNodeConfig.js
CHANGED
|
@@ -1,42 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const createAssignment_1 = require("./createAssignment");
|
|
9
|
-
const createAttributeAssignment_1 = require("./createAttributeAssignment");
|
|
10
|
-
let pendingUpdates = list_1.List.Create();
|
|
1
|
+
import { List } from "../Utils/list";
|
|
2
|
+
import { _queueMicrotask, _requestAnimationFrame } from "../Utils/scheduling";
|
|
3
|
+
import { CreateRootPropertyAssignment, PropertyAssignment } from "./createPropertyAssignment";
|
|
4
|
+
import { CreateEventAssignment, EventAssignment } from "./createEventAssignment";
|
|
5
|
+
import { Assignment, CreateAssignment } from "./createAssignment";
|
|
6
|
+
import { AttributeAssignment, CreateAttributeAssignment } from "./createAttributeAssignment";
|
|
7
|
+
let pendingUpdates = List.Create();
|
|
11
8
|
let updateScheduled = false;
|
|
12
9
|
const frameTime = 16;
|
|
13
10
|
let frameStart = 0;
|
|
14
11
|
function processUpdates() {
|
|
15
|
-
|
|
12
|
+
List.Add(pendingUpdates, null);
|
|
16
13
|
let callback;
|
|
17
|
-
while ((callback =
|
|
14
|
+
while ((callback = List.Pop(pendingUpdates)))
|
|
18
15
|
callback();
|
|
19
16
|
if (pendingUpdates.size === 0)
|
|
20
17
|
updateScheduled = false;
|
|
21
18
|
else {
|
|
22
19
|
frameStart = Date.now();
|
|
23
|
-
|
|
20
|
+
_requestAnimationFrame(processUpdates);
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
let highPriority = false;
|
|
27
24
|
function scheduleUpdate(callback) {
|
|
28
25
|
if (highPriority)
|
|
29
|
-
|
|
26
|
+
List.Push(pendingUpdates, callback);
|
|
30
27
|
else
|
|
31
|
-
|
|
28
|
+
List.Add(pendingUpdates, callback);
|
|
32
29
|
if (!updateScheduled) {
|
|
33
30
|
const now = Date.now();
|
|
34
31
|
updateScheduled = true;
|
|
35
32
|
if (now - frameStart < frameTime)
|
|
36
|
-
|
|
33
|
+
_queueMicrotask(processUpdates);
|
|
37
34
|
else {
|
|
38
35
|
frameStart = now;
|
|
39
|
-
|
|
36
|
+
_requestAnimationFrame(processUpdates);
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
}
|
|
@@ -51,14 +48,14 @@ function wrapPriorityUpdates(callback) {
|
|
|
51
48
|
function getHTMLNode(from, current) {
|
|
52
49
|
if (typeof from === "string") {
|
|
53
50
|
if (current?.nodeType === Node.TEXT_NODE) {
|
|
54
|
-
|
|
51
|
+
DOMNodeConfig.setText(current, from);
|
|
55
52
|
return current;
|
|
56
53
|
}
|
|
57
|
-
return
|
|
54
|
+
return DOMNodeConfig.createTextNode(from);
|
|
58
55
|
}
|
|
59
56
|
return from;
|
|
60
57
|
}
|
|
61
|
-
|
|
58
|
+
export const DOMNodeConfig = {
|
|
62
59
|
createNode(type, namespace) {
|
|
63
60
|
return namespace
|
|
64
61
|
? document.createElementNS(namespace, type)
|
|
@@ -82,11 +79,11 @@ exports.DOMNodeConfig = {
|
|
|
82
79
|
root.appendChild(child);
|
|
83
80
|
},
|
|
84
81
|
addChildFirst(root, child) {
|
|
85
|
-
|
|
82
|
+
DOMNodeConfig.addChildBefore(root, root.firstChild, child);
|
|
86
83
|
},
|
|
87
84
|
addChildBefore(root, sibling, child) {
|
|
88
85
|
if (!sibling) {
|
|
89
|
-
|
|
86
|
+
DOMNodeConfig.addChild(root, child);
|
|
90
87
|
return;
|
|
91
88
|
}
|
|
92
89
|
if (child !== sibling)
|
|
@@ -94,10 +91,10 @@ exports.DOMNodeConfig = {
|
|
|
94
91
|
},
|
|
95
92
|
addChildAfter(root, sibling, child) {
|
|
96
93
|
if (!sibling) {
|
|
97
|
-
|
|
94
|
+
DOMNodeConfig.addChildFirst(root, child);
|
|
98
95
|
return;
|
|
99
96
|
}
|
|
100
|
-
|
|
97
|
+
DOMNodeConfig.addChildBefore(root, sibling.nextSibling, child);
|
|
101
98
|
},
|
|
102
99
|
removeChild(root, child) {
|
|
103
100
|
root.removeChild(child);
|
|
@@ -118,22 +115,22 @@ exports.DOMNodeConfig = {
|
|
|
118
115
|
target.setAttribute(attribute, value);
|
|
119
116
|
},
|
|
120
117
|
propertyAssignment(target, next) {
|
|
121
|
-
|
|
118
|
+
Assignment(target, next, PropertyAssignment);
|
|
122
119
|
},
|
|
123
120
|
createPropertyAssignment(target) {
|
|
124
|
-
return
|
|
121
|
+
return CreateAssignment(target, CreateRootPropertyAssignment);
|
|
125
122
|
},
|
|
126
123
|
eventAssignment(target, next) {
|
|
127
|
-
|
|
124
|
+
Assignment(target, next, EventAssignment);
|
|
128
125
|
},
|
|
129
126
|
createEventAssignment(target) {
|
|
130
|
-
return
|
|
127
|
+
return CreateAssignment(target, CreateEventAssignment);
|
|
131
128
|
},
|
|
132
129
|
attributeAssignment(target, next) {
|
|
133
|
-
|
|
130
|
+
Assignment(target, next, AttributeAssignment);
|
|
134
131
|
},
|
|
135
132
|
createAttributeAssignment(target) {
|
|
136
|
-
return
|
|
133
|
+
return CreateAssignment(target, CreateAttributeAssignment);
|
|
137
134
|
},
|
|
138
135
|
fireEvent(target, event, data) {
|
|
139
136
|
var cEvent = new CustomEvent(event, data);
|
package/DOM/elements.js
CHANGED
|
@@ -1,123 +1,117 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.dt = exports.dl = exports.li = exports.ol = exports.ul = exports.rp = exports.rt = exports.dfn = exports.time = exports.abbr = exports.small = exports.mark = exports.sup = exports.sub = exports.ins = exports.del = exports.strike = exports.s = exports.u = exports.em = exports.i = exports.strong = exports.b = exports.a = exports.q = exports.cite = exports._var = exports.samp = exports.kbd = exports.code = exports.pre = exports.p = exports.h6 = exports.h5 = exports.h4 = exports.h3 = exports.h2 = exports.h1 = exports.address = exports.blockquote = exports.hr = exports.footer = exports.header = exports.main = exports.nav = exports.aside = exports.article = exports.section = exports.span = exports.div = void 0;
|
|
4
|
-
exports.text = exports.fragment = exports.slot = exports.template = exports.area = exports.map = exports.svg = exports.canvas = exports.menu = exports.dialog = exports.summary = exports.details = exports.iframe = exports.param = exports.object = exports.embed = exports.track = exports.video = exports.audio = exports.source = exports.picture = exports.figcaption = exports.figure = exports.img = exports.meter = exports.progress = exports.output = exports.datalist = exports.legend = exports.fieldset = exports.label = exports.optgroup = exports.option = exports.select = exports.button = exports.textarea = exports.input = exports.form = exports.colgroup = exports.col = exports.td = exports.th = exports.tr = exports.tfoot = exports.tbody = exports.thead = exports.table = exports.dd = void 0;
|
|
5
|
-
const vNode_1 = require("../Node/vNode");
|
|
6
|
-
const vNode_types_1 = require("../Node/vNode.types");
|
|
1
|
+
import { vNode } from "../Node/vNode";
|
|
2
|
+
import { FRAGMENT_NODE, TEXT_NODE } from "../Node/vNode.types";
|
|
7
3
|
// Layout
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
export const div = vNode.ToFunction("div");
|
|
5
|
+
export const span = vNode.ToFunction("span");
|
|
6
|
+
export const section = vNode.ToFunction("section");
|
|
7
|
+
export const article = vNode.ToFunction("article");
|
|
8
|
+
export const aside = vNode.ToFunction("aside");
|
|
9
|
+
export const nav = vNode.ToFunction("nav");
|
|
10
|
+
export const main = vNode.ToFunction("main");
|
|
11
|
+
export const header = vNode.ToFunction("header");
|
|
12
|
+
export const footer = vNode.ToFunction("footer");
|
|
13
|
+
export const hr = vNode.ToFunction("hr");
|
|
14
|
+
export const blockquote = vNode.ToFunction("blockquote");
|
|
15
|
+
export const address = vNode.ToFunction("address");
|
|
20
16
|
// Text content
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
export const h1 = vNode.ToFunction("h1");
|
|
18
|
+
export const h2 = vNode.ToFunction("h2");
|
|
19
|
+
export const h3 = vNode.ToFunction("h3");
|
|
20
|
+
export const h4 = vNode.ToFunction("h4");
|
|
21
|
+
export const h5 = vNode.ToFunction("h5");
|
|
22
|
+
export const h6 = vNode.ToFunction("h6");
|
|
23
|
+
export const p = vNode.ToFunction("p");
|
|
24
|
+
export const pre = vNode.ToFunction("pre");
|
|
25
|
+
export const code = vNode.ToFunction("code");
|
|
26
|
+
export const kbd = vNode.ToFunction("kbd");
|
|
27
|
+
export const samp = vNode.ToFunction("samp");
|
|
28
|
+
export const _var = vNode.ToFunction("var");
|
|
29
|
+
export const cite = vNode.ToFunction("cite");
|
|
30
|
+
export const q = vNode.ToFunction("q");
|
|
35
31
|
// Inline text formatting
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
export const a = vNode.ToFunction("a");
|
|
33
|
+
export const b = vNode.ToFunction("b");
|
|
34
|
+
export const strong = vNode.ToFunction("strong");
|
|
35
|
+
export const i = vNode.ToFunction("i");
|
|
36
|
+
export const em = vNode.ToFunction("em");
|
|
37
|
+
export const u = vNode.ToFunction("u");
|
|
38
|
+
export const s = vNode.ToFunction("s");
|
|
39
|
+
export const strike = vNode.ToFunction("strike");
|
|
40
|
+
export const del = vNode.ToFunction("del");
|
|
41
|
+
export const ins = vNode.ToFunction("ins");
|
|
42
|
+
export const sub = vNode.ToFunction("sub");
|
|
43
|
+
export const sup = vNode.ToFunction("sup");
|
|
44
|
+
export const mark = vNode.ToFunction("mark");
|
|
45
|
+
export const small = vNode.ToFunction("small");
|
|
46
|
+
export const abbr = vNode.ToFunction("abbr");
|
|
47
|
+
export const time = vNode.ToFunction("time");
|
|
48
|
+
export const dfn = vNode.ToFunction("dfn");
|
|
49
|
+
export const rt = vNode.ToFunction("rt");
|
|
50
|
+
export const rp = vNode.ToFunction("rp");
|
|
55
51
|
// Lists
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
export const ul = vNode.ToFunction("ul");
|
|
53
|
+
export const ol = vNode.ToFunction("ol");
|
|
54
|
+
export const li = vNode.ToFunction("li");
|
|
55
|
+
export const dl = vNode.ToFunction("dl");
|
|
56
|
+
export const dt = vNode.ToFunction("dt");
|
|
57
|
+
export const dd = vNode.ToFunction("dd");
|
|
62
58
|
// Tables
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
59
|
+
export const table = vNode.ToFunction("table");
|
|
60
|
+
export const thead = vNode.ToFunction("thead");
|
|
61
|
+
export const tbody = vNode.ToFunction("tbody");
|
|
62
|
+
export const tfoot = vNode.ToFunction("tfoot");
|
|
63
|
+
export const tr = vNode.ToFunction("tr");
|
|
64
|
+
export const th = vNode.ToFunction("th");
|
|
65
|
+
export const td = vNode.ToFunction("td");
|
|
66
|
+
export const col = vNode.ToFunction("col");
|
|
67
|
+
export const colgroup = vNode.ToFunction("colgroup");
|
|
72
68
|
// Forms
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
export const form = vNode.ToFunction("form");
|
|
70
|
+
export const input = vNode.ToFunction("input");
|
|
71
|
+
export const textarea = vNode.ToFunction("textarea");
|
|
72
|
+
export const button = vNode.ToFunction("button");
|
|
73
|
+
export const select = vNode.ToFunction("select");
|
|
74
|
+
export const option = vNode.ToFunction("option");
|
|
75
|
+
export const optgroup = vNode.ToFunction("optgroup");
|
|
76
|
+
export const label = vNode.ToFunction("label");
|
|
77
|
+
export const fieldset = vNode.ToFunction("fieldset");
|
|
78
|
+
export const legend = vNode.ToFunction("legend");
|
|
79
|
+
export const datalist = vNode.ToFunction("datalist");
|
|
80
|
+
export const output = vNode.ToFunction("output");
|
|
81
|
+
export const progress = vNode.ToFunction("progress");
|
|
82
|
+
export const meter = vNode.ToFunction("meter");
|
|
87
83
|
// Media
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
84
|
+
export const img = vNode.ToFunction("img");
|
|
85
|
+
export const figure = vNode.ToFunction("figure");
|
|
86
|
+
export const figcaption = vNode.ToFunction("figcaption");
|
|
87
|
+
export const picture = vNode.ToFunction("picture");
|
|
88
|
+
export const source = vNode.ToFunction("source");
|
|
89
|
+
export const audio = vNode.ToFunction("audio");
|
|
90
|
+
export const video = vNode.ToFunction("video");
|
|
91
|
+
export const track = vNode.ToFunction("track");
|
|
92
|
+
export const embed = vNode.ToFunction("embed");
|
|
93
|
+
export const object = vNode.ToFunction("object");
|
|
94
|
+
export const param = vNode.ToFunction("param");
|
|
95
|
+
export const iframe = vNode.ToFunction("iframe");
|
|
100
96
|
// Interactive
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
export const details = vNode.ToFunction("details");
|
|
98
|
+
export const summary = vNode.ToFunction("summary");
|
|
99
|
+
export const dialog = vNode.ToFunction("dialog");
|
|
100
|
+
export const menu = vNode.ToFunction("menu");
|
|
105
101
|
// Scripting
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
102
|
+
export const canvas = vNode.ToFunction("canvas");
|
|
103
|
+
export const svg = vNode.ToFunction("svg");
|
|
104
|
+
export const map = vNode.ToFunction("map");
|
|
105
|
+
export const area = vNode.ToFunction("area");
|
|
110
106
|
// Meta content
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const fragmentElement =
|
|
114
|
-
const fragment = function (config, children) {
|
|
107
|
+
export const template = vNode.ToFunction("template");
|
|
108
|
+
export const slot = vNode.ToFunction("slot");
|
|
109
|
+
const fragmentElement = vNode.ToFunction(FRAGMENT_NODE);
|
|
110
|
+
export const fragment = function (config, children) {
|
|
115
111
|
return fragmentElement(config, children);
|
|
116
112
|
};
|
|
117
|
-
exports.fragment = fragment;
|
|
118
113
|
// Text node
|
|
119
|
-
const textElement =
|
|
120
|
-
const text = function (callback) {
|
|
114
|
+
const textElement = vNode.ToFunction(TEXT_NODE);
|
|
115
|
+
export const text = function (callback) {
|
|
121
116
|
return textElement({ props: () => ({ nodeValue: callback() }) });
|
|
122
117
|
};
|
|
123
|
-
exports.text = text;
|
package/DOM/index.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./elements"), exports);
|
|
1
|
+
export * from "./elements";
|
|
18
2
|
// export * from "./svgElements";
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
export * from "./createPropertyAssignment";
|
|
4
|
+
export * from "./createEventAssignment";
|
package/Node/component.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const decorators_1 = require("../Utils/decorators");
|
|
5
|
-
const vNode_1 = require("./vNode");
|
|
6
|
-
const Store_1 = require("../Store");
|
|
1
|
+
import { Bound, Destroy } from "../Utils/decorators";
|
|
2
|
+
import { vNode } from "./vNode";
|
|
3
|
+
import { ObservableScope } from "../Store";
|
|
7
4
|
/**
|
|
8
5
|
* Base Component class.
|
|
9
6
|
*
|
|
@@ -11,7 +8,7 @@ const Store_1 = require("../Store");
|
|
|
11
8
|
* @template T - Template type used by the component.
|
|
12
9
|
* @template E - Event map type for component events.
|
|
13
10
|
*/
|
|
14
|
-
class Component {
|
|
11
|
+
export class Component {
|
|
15
12
|
/**
|
|
16
13
|
* Returns the component's virtual node injector.
|
|
17
14
|
*/
|
|
@@ -34,7 +31,7 @@ class Component {
|
|
|
34
31
|
* Current data value from the scoped Observable.
|
|
35
32
|
*/
|
|
36
33
|
get Data() {
|
|
37
|
-
return
|
|
34
|
+
return ObservableScope.Value(this.scope);
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
37
|
* Accessor for the component's virtual node.
|
|
@@ -52,7 +49,7 @@ class Component {
|
|
|
52
49
|
this.vNode = vNode;
|
|
53
50
|
const { data, on } = config;
|
|
54
51
|
if (typeof data === "function")
|
|
55
|
-
this.scope =
|
|
52
|
+
this.scope = ObservableScope.Create(data);
|
|
56
53
|
else
|
|
57
54
|
this.scope = {
|
|
58
55
|
type: "static",
|
|
@@ -77,7 +74,7 @@ class Component {
|
|
|
77
74
|
* Override to perform post‑binding initialization.
|
|
78
75
|
*/
|
|
79
76
|
Bound() {
|
|
80
|
-
|
|
77
|
+
Bound.All(this);
|
|
81
78
|
}
|
|
82
79
|
/**
|
|
83
80
|
* Fires a component event.
|
|
@@ -93,11 +90,10 @@ class Component {
|
|
|
93
90
|
* Destroys the component, cleaning up its scoped data and decorators.
|
|
94
91
|
*/
|
|
95
92
|
Destroy() {
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
ObservableScope.Destroy(this.scope);
|
|
94
|
+
Destroy.All(this);
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
|
-
exports.Component = Component;
|
|
101
97
|
(function (Component) {
|
|
102
98
|
/**
|
|
103
99
|
* Function wraps the Component as a function that can be used to create vNode objects
|
|
@@ -114,7 +110,7 @@ exports.Component = Component;
|
|
|
114
110
|
props: config.props,
|
|
115
111
|
componentFactory: ComponentFactory,
|
|
116
112
|
};
|
|
117
|
-
return
|
|
113
|
+
return vNode.Create(definition);
|
|
118
114
|
};
|
|
119
115
|
}
|
|
120
116
|
Component.ToFunction = ToFunction;
|
|
@@ -142,7 +138,7 @@ exports.Component = Component;
|
|
|
142
138
|
* @returns The result of the attachment operation.
|
|
143
139
|
*/
|
|
144
140
|
function Attach(node, vnode) {
|
|
145
|
-
return
|
|
141
|
+
return vNode.Attach(node, vnode);
|
|
146
142
|
}
|
|
147
143
|
Component.Attach = Attach;
|
|
148
|
-
})(Component || (
|
|
144
|
+
})(Component || (Component = {}));
|
package/Node/component.types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/Node/nodeConfig.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.NodeConfig = void 0;
|
|
4
|
-
const domNodeConfig_1 = require("../DOM/domNodeConfig");
|
|
5
|
-
exports.NodeConfig = domNodeConfig_1.DOMNodeConfig;
|
|
1
|
+
import { DOMNodeConfig } from "../DOM/domNodeConfig";
|
|
2
|
+
export const NodeConfig = DOMNodeConfig;
|