dothtml 6.0.0-beta.45 → 6.0.0-beta.47
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/build_module/constants.js +2 -0
- package/build_module/constants.js.map +1 -0
- package/build_module/css/css-props.js +79 -0
- package/build_module/css/css-props.js.map +1 -0
- package/{dist/build_module → build_module}/css/format-css-type.d.ts +4 -3
- package/build_module/css/format-css-type.js +80 -0
- package/build_module/css/format-css-type.js.map +1 -0
- package/build_module/decoration/component.d.ts +4 -0
- package/build_module/decoration/component.js +35 -0
- package/build_module/decoration/component.js.map +1 -0
- package/build_module/dot.js +404 -0
- package/build_module/dot.js.map +1 -0
- package/build_module/events/event-manager.d.ts +14 -0
- package/build_module/events/event-manager.js +98 -0
- package/build_module/events/event-manager.js.map +1 -0
- package/build_module/events/synthetic-event.d.ts +17 -0
- package/build_module/events/synthetic-event.js +33 -0
- package/build_module/events/synthetic-event.js.map +1 -0
- package/build_module/helpers/render-stylesheet.js +36 -0
- package/build_module/helpers/render-stylesheet.js.map +1 -0
- package/build_module/helpers/tools.js +50 -0
- package/build_module/helpers/tools.js.map +1 -0
- package/build_module/index.d.ts +9 -0
- package/build_module/index.js +19 -0
- package/build_module/index.js.map +1 -0
- package/{dist/build_module → build_module}/reactivity/binding.d.ts +3 -1
- package/build_module/reactivity/binding.js +26 -0
- package/build_module/reactivity/binding.js.map +1 -0
- package/build_module/reactivity/computed.d.ts +18 -0
- package/build_module/reactivity/computed.js +106 -0
- package/build_module/reactivity/computed.js.map +1 -0
- package/build_module/reactivity/priority.d.ts +6 -0
- package/build_module/reactivity/priority.js +8 -0
- package/build_module/reactivity/priority.js.map +1 -0
- package/build_module/reactivity/reactive-attr.js +7 -0
- package/build_module/reactivity/reactive-attr.js.map +1 -0
- package/build_module/reactivity/reactive-style.js +7 -0
- package/build_module/reactivity/reactive-style.js.map +1 -0
- package/build_module/reactivity/ref-collection.d.ts +8 -0
- package/build_module/reactivity/ref-collection.js +32 -0
- package/build_module/reactivity/ref-collection.js.map +1 -0
- package/build_module/reactivity/ref.d.ts +7 -0
- package/build_module/reactivity/ref.js +35 -0
- package/build_module/reactivity/ref.js.map +1 -0
- package/build_module/reactivity/scheduler.d.ts +22 -0
- package/build_module/reactivity/scheduler.js +124 -0
- package/build_module/reactivity/scheduler.js.map +1 -0
- package/build_module/reactivity/store.d.ts +14 -0
- package/build_module/reactivity/store.js +91 -0
- package/build_module/reactivity/store.js.map +1 -0
- package/{dist/build_module → build_module}/reactivity/subscription.d.ts +2 -1
- package/build_module/reactivity/subscription.js +40 -0
- package/build_module/reactivity/subscription.js.map +1 -0
- package/{dist/build_module → build_module}/reactivity/watcher.d.ts +6 -3
- package/build_module/reactivity/watcher.js +82 -0
- package/build_module/reactivity/watcher.js.map +1 -0
- package/build_module/routing/helpers.d.ts +2 -0
- package/build_module/routing/helpers.js +21 -0
- package/build_module/routing/helpers.js.map +1 -0
- package/build_module/routing/index.d.ts +5 -0
- package/build_module/routing/index.js +6 -0
- package/build_module/routing/index.js.map +1 -0
- package/build_module/routing/link.d.ts +2 -0
- package/build_module/routing/link.js +45 -0
- package/build_module/routing/link.js.map +1 -0
- package/build_module/routing/router.d.ts +23 -0
- package/build_module/routing/router.js +209 -0
- package/build_module/routing/router.js.map +1 -0
- package/build_module/routing/scroll-manager.d.ts +1 -0
- package/build_module/routing/scroll-manager.js +33 -0
- package/build_module/routing/scroll-manager.js.map +1 -0
- package/build_module/routing/state.d.ts +7 -0
- package/build_module/routing/state.js +45 -0
- package/build_module/routing/state.js.map +1 -0
- package/build_module/v-dom-node.d.ts +0 -0
- package/build_module/v-dom-node.js +1 -0
- package/build_module/v-dom-node.js.map +1 -0
- package/build_module/v-meta-nodes/attribute-v-node.js +53 -0
- package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -0
- package/build_module/v-meta-nodes/style-v-node.d.ts +26 -0
- package/build_module/v-meta-nodes/style-v-node.js +239 -0
- package/build_module/v-meta-nodes/style-v-node.js.map +1 -0
- package/build_module/v-meta-nodes/v-meta-node.js +3 -0
- package/build_module/v-meta-nodes/v-meta-node.js.map +1 -0
- package/build_module/v-style-nodes/base-v-style.d.ts +13 -0
- package/build_module/v-style-nodes/base-v-style.js +41 -0
- package/build_module/v-style-nodes/base-v-style.js.map +1 -0
- package/{dist/build_module → build_module}/v-style-nodes/css-function-builder-v-style.d.ts +0 -3
- package/build_module/v-style-nodes/css-function-builder-v-style.js +33 -0
- package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -0
- package/build_module/v-style-nodes/filter-v-style.js +35 -0
- package/build_module/v-style-nodes/filter-v-style.js.map +1 -0
- package/build_module/v-style-nodes/style-sheet-builder.d.ts +9 -0
- package/build_module/v-style-nodes/style-sheet-builder.js +55 -0
- package/build_module/v-style-nodes/style-sheet-builder.js.map +1 -0
- package/build_module/v-style-nodes/transform-v-style.js +76 -0
- package/build_module/v-style-nodes/transform-v-style.js.map +1 -0
- package/build_module/v-style-nodes/v-style.js +6 -0
- package/build_module/v-style-nodes/v-style.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/collection-vdom.d.ts +3 -1
- package/build_module/vdom-nodes/collection-vdom.js +174 -0
- package/build_module/vdom-nodes/collection-vdom.js.map +1 -0
- package/build_module/vdom-nodes/component-context.d.ts +5 -0
- package/build_module/vdom-nodes/component-context.js +5 -0
- package/build_module/vdom-nodes/component-context.js.map +1 -0
- package/build_module/vdom-nodes/component-vdom.d.ts +35 -0
- package/build_module/vdom-nodes/component-vdom.js +338 -0
- package/build_module/vdom-nodes/component-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/conditional-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/conditional-vdom.js +112 -0
- package/build_module/vdom-nodes/conditional-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/container-vdom.d.ts +6 -2
- package/build_module/vdom-nodes/container-vdom.js +163 -0
- package/build_module/vdom-nodes/container-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/element-vdom.d.ts +2 -1
- package/build_module/vdom-nodes/element-vdom.js +218 -0
- package/build_module/vdom-nodes/element-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/html-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/html-vdom.js +65 -0
- package/build_module/vdom-nodes/html-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/text-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/text-vdom.js +40 -0
- package/build_module/vdom-nodes/text-vdom.js.map +1 -0
- package/{dist/build_module → build_module}/vdom-nodes/vdom.d.ts +2 -0
- package/build_module/vdom-nodes/vdom.js +58 -0
- package/build_module/vdom-nodes/vdom.js.map +1 -0
- package/build_module/window-wrapper.js +39 -0
- package/build_module/window-wrapper.js.map +1 -0
- package/package.json +58 -64
- package/readme.md +32 -26
- package/dist/build_module/index.d.ts +0 -7
- package/dist/build_module/reactivity/ref.d.ts +0 -5
- package/dist/build_module/v-meta-nodes/style-v-node.d.ts +0 -16
- package/dist/build_module/v-style-nodes/base-v-style.d.ts +0 -14
- package/dist/build_module/vdom-nodes/component-vdom.d.ts +0 -13
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.esm.js +0 -2
- package/dist/index.esm.js.map +0 -1
- /package/{dist/build_module → build_module}/constants.d.ts +0 -0
- /package/{dist/build_module → build_module}/css/css-props.d.ts +0 -0
- /package/{dist/build_module → build_module}/dot.d.ts +0 -0
- /package/{dist/build_module → build_module}/helpers/render-stylesheet.d.ts +0 -0
- /package/{dist/build_module → build_module}/helpers/tools.d.ts +0 -0
- /package/{dist/build_module → build_module}/reactivity/reactive-attr.d.ts +0 -0
- /package/{dist/build_module → build_module}/reactivity/reactive-style.d.ts +0 -0
- /package/{dist/build_module → build_module}/v-meta-nodes/attribute-v-node.d.ts +0 -0
- /package/{dist/build_module → build_module}/v-meta-nodes/v-meta-node.d.ts +0 -0
- /package/{dist/build_module → build_module}/v-style-nodes/filter-v-style.d.ts +0 -0
- /package/{dist/build_module → build_module}/v-style-nodes/transform-v-style.d.ts +0 -0
- /package/{dist/build_module → build_module}/v-style-nodes/v-style.d.ts +0 -0
- /package/{dist/build_module → build_module}/window-wrapper.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
const allProps = {
|
|
2
|
+
color: "color|background-Color|border-Bottom-Color|border-Color|border-Left-Color|border-Right-Color|border-Top-Color|text-Decoration-Color|outline-Color|column-Rule-Color",
|
|
3
|
+
length: "background-Size|block-Size|border-Bottom-Left-Radius|border-Bottom-Right-Radius|border-Bottom-Width|border-Left-Width|border-Radius|border-Right-Width|border-Top-Left-Radius|border-Top-Right-Radius|border-Top-Width|border-Width|bottom|gap|height|left|margin|margin-Bottom|margin-Left|margin-Right|margin-Top|max-Height|max-Width|min-Height|min-Width|padding|padding-Bottom|padding-Left|padding-Right|padding-Top|right|top|width|flex-Basis|font-Size|text-Indent|letter-Spacing|word-Spacing|border-Spacing|outline-Offset|outline-Width|column-Gap|column-Rule-Width|grid-Column-Gap|grid-Gap|grid-Row-Gap|column-Width|perspective|row-Gap",
|
|
4
|
+
hybrid: "line-Height|border-Image-Width|border-Image-Outset|tab-Size|flex",
|
|
5
|
+
url: "background-Image|border-Image|list-Style-Image|content|image-Orientation",
|
|
6
|
+
transformation: "transform",
|
|
7
|
+
filter: "filter|backdrop-Filter",
|
|
8
|
+
time: "animation-Delay|animation-Direction|animation-Duration|transition-Duration|transition-Delay",
|
|
9
|
+
misc: "appearance|aspect-Ratio|opacity|background|background-Attachment|background-Blend-Mode|background-Position|background-Repeat|background-Clip|background-Origin|border|border-Bottom|border-Bottom-Style|border-Image-Repeat|border-Image-Slice|border-Image-Source|border-Left|border-Left-Style|border-Right|border-Right-Style|border-Style|border-Top|border-Top-Style|box-Decoration-Break|box-Shadow|clear|clip|display|float|overflow|box|overflow-X|overflow-Y|position|visibility|vertical-Align|z-Index|align-Content|align-Items|align-Self|flex-Direction|flex-Flow|flex-Grow|flex-Shrink|flex-Wrap|grid|grid-Area|grid-Auto-Columns|grid-auto-Rows|grid-Column|grid-Column-End|grid-Column-Start|grid-Row|grid-Row-End|grid-Row-Start|grid-Template|grid-Template-Areas|grid-Template-Columns|grid-Template-Rows|justify-Content|order|hanging-Punctuation|hyphens|line-Break|overflow-Wrap|text-Align|text-Align-Last|text-Combine-Upright|text-Justify|text-Transform|white-Space|word-Break|word-Wrap|text-Decoration|text-Decoration-Line|text-Decoration-Style|text-Shadow|text-Underline-Position|font|font-Family|font-Feature-Settings|font-Kerning|font-Language-Override|font-Size-Adjust|font-Stretch|font-Style|font-Synthesis|font-Variant|font-Variant-Alternates|font-Variant-Caps|font-Variant-East-Asian|font-Variant-Ligatures|font-Variant-Numeric|font-Variant-Position|font-Weight|direction|text-Orientation|text-Combine-Upright|unicode-Bidi|user-Select|writing-Mode|border-Collapse|caption-Side|empty-Cells|table-Layout|counter-Increment|counter-Reset|list-Style|list-Style-Position|list-Style-Type|animation|animation-Fill-Mode|animation-Iteration-Count|animation-Name|animation-Play-State|animation-Timing-Function|backface-Visibility|perspective2d|perspective-Origin|transform-Origin|transform-Style|transition|transition-Property|transition-Timing-Function|box-Sizing|cursor|ime-Mode|nav-Down|nav-Index|nav-Left|nav-Right|nav-Up|outline|outline-Style|resize|text-Overflow|break-After|break-Before|break-Inside|column-Count|column-Fill|column-Rule|column-Rule-Style|column-Span|columns|widows|orphans|page-Break-After|page-Break-Before|page-Break-Inside|marks|quotes|image-Rendering|image-Resolution|object-Fit|object-Position|mask|mask-Type|mark|mark-After|mark-Before|phonemes|rest|rest-After|rest-Before|voice-Balance|voice-Duration|voice-Pitch|voice-Pitch-Range|voice-Rate|voice-Stress|voice-Volume|marquee-Direction|marquee-Play-Count|marquee-Speed|marquee-Style|pointer-Events"
|
|
10
|
+
};
|
|
11
|
+
const lengthSuffixes = "Cm|Mm|In|Px|Pt|Pc|Q|Cap|Ch|Em|Ex|Ic|Lh|Rem|Rlh|Vh|Vw|Vmin|Vmax|Vb|Vi|Cqw|Cqh|Cqi|Cqb|Cqmin|Cqmax|P".split("|");
|
|
12
|
+
const timeSuffixes = "Ms|S".split("|");
|
|
13
|
+
const angleSuffixes = "Deg|Grad|Rad|Turn".split("|");
|
|
14
|
+
const frequencySuffixes = "Hz|Khz".split("|");
|
|
15
|
+
const cssProps = {};
|
|
16
|
+
for (let cssType in allProps) {
|
|
17
|
+
let props = allProps[cssType].split("|");
|
|
18
|
+
for (let p of props) {
|
|
19
|
+
let key = p.split("-").join("");
|
|
20
|
+
switch (cssType) {
|
|
21
|
+
case "hybrid":
|
|
22
|
+
case "length": {
|
|
23
|
+
for (let s of lengthSuffixes) {
|
|
24
|
+
cssProps[`${key}${s}`] = {
|
|
25
|
+
dotName: key,
|
|
26
|
+
cssName: p.toLowerCase(),
|
|
27
|
+
type: cssType,
|
|
28
|
+
unit: s == "P" ? "%" : s.toLowerCase()
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case "time": {
|
|
34
|
+
for (let s of timeSuffixes) {
|
|
35
|
+
cssProps[`${key}${s}`] = {
|
|
36
|
+
dotName: key,
|
|
37
|
+
cssName: p.toLowerCase(),
|
|
38
|
+
type: cssType,
|
|
39
|
+
unit: s.toLowerCase()
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case "angle": {
|
|
45
|
+
for (let s of angleSuffixes) {
|
|
46
|
+
cssProps[`${key}${s}`] = {
|
|
47
|
+
dotName: key,
|
|
48
|
+
cssName: p.toLowerCase(),
|
|
49
|
+
type: cssType,
|
|
50
|
+
unit: s.toLowerCase()
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
case "frequency": {
|
|
56
|
+
for (let s of frequencySuffixes) {
|
|
57
|
+
cssProps[`${key}${s}`] = {
|
|
58
|
+
dotName: key,
|
|
59
|
+
cssName: p.toLowerCase(),
|
|
60
|
+
type: cssType,
|
|
61
|
+
unit: s.toLowerCase()
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
default: {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
cssProps[key] = {
|
|
71
|
+
dotName: key,
|
|
72
|
+
cssName: p.toLowerCase(),
|
|
73
|
+
type: cssType,
|
|
74
|
+
unit: undefined
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export default cssProps;
|
|
79
|
+
//# sourceMappingURL=css-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-props.js","sourceRoot":"","sources":["../../src/css/css-props.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Binding from "../reactivity/binding";
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
2
|
+
import Watcher from "../reactivity/watcher";
|
|
3
|
+
export declare function formatCssLength(value: string | number | Binding | Watcher | Array<string | number | Binding | Watcher>, defaultUnits?: string): any;
|
|
4
|
+
export declare function formatCssPercentage(value: string | number | Binding | Watcher | Array<string | number | Binding | Watcher>): any;
|
|
4
5
|
export declare function formatCssColor(value: string | number): string;
|
|
5
|
-
export declare function formatCssAngle(value: string | number | Binding | Array<string | number | Binding>): any;
|
|
6
|
+
export declare function formatCssAngle(value: string | number | Binding | Watcher | Array<string | number | Binding | Watcher>): any;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { floatRegex } from "../helpers/tools";
|
|
2
|
+
import Binding from "../reactivity/binding";
|
|
3
|
+
import Watcher from "../reactivity/watcher";
|
|
4
|
+
export function formatCssLength(value, defaultUnits = "px") {
|
|
5
|
+
value = value || "0px";
|
|
6
|
+
if (value instanceof Binding)
|
|
7
|
+
value = value._get();
|
|
8
|
+
if (value instanceof Watcher)
|
|
9
|
+
value = value.value;
|
|
10
|
+
if (value instanceof Array) {
|
|
11
|
+
return value.map(v => formatCssLength(v, defaultUnits)).join(" ");
|
|
12
|
+
}
|
|
13
|
+
if (!isNaN(value))
|
|
14
|
+
value = value + defaultUnits;
|
|
15
|
+
let tokens = value.trim().split(" ");
|
|
16
|
+
if (tokens.length > 1) {
|
|
17
|
+
return tokens.map(t => formatCssLength(t, defaultUnits)).join(" ");
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
let length = Number(value.match(floatRegex)[0]);
|
|
21
|
+
let units = value.split(floatRegex)[1] || defaultUnits;
|
|
22
|
+
return `${length}${units}`;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function formatCssPercentage(value) {
|
|
26
|
+
value = value || "0%";
|
|
27
|
+
if (value instanceof Binding)
|
|
28
|
+
value = value._get();
|
|
29
|
+
if (value instanceof Watcher)
|
|
30
|
+
value = value.value;
|
|
31
|
+
if (value instanceof Array) {
|
|
32
|
+
return value.map(v => formatCssPercentage(v)).join(" ");
|
|
33
|
+
}
|
|
34
|
+
let tokens = value.trim().split(" ");
|
|
35
|
+
if (tokens.length > 1) {
|
|
36
|
+
return tokens.map(t => formatCssPercentage(t)).join(" ");
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return isNaN(value) ? value : `${value}%`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function formatCssColor(value) {
|
|
43
|
+
if (typeof value == "number") {
|
|
44
|
+
let r = 0;
|
|
45
|
+
let g = 0;
|
|
46
|
+
let b = 0;
|
|
47
|
+
let a = 1;
|
|
48
|
+
b = value & 0xFF;
|
|
49
|
+
value >>= 8;
|
|
50
|
+
g = value & 0xFF;
|
|
51
|
+
value >>= 8;
|
|
52
|
+
r = value & 0xFF;
|
|
53
|
+
return `rgb(${r} ${g} ${b})`;
|
|
54
|
+
}
|
|
55
|
+
else if (typeof value == "string") {
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function formatCssAngle(value) {
|
|
60
|
+
value = value || "0deg";
|
|
61
|
+
if (value instanceof Binding)
|
|
62
|
+
value = value._get();
|
|
63
|
+
if (value instanceof Watcher)
|
|
64
|
+
value = value.value;
|
|
65
|
+
if (value instanceof Array) {
|
|
66
|
+
return value.map(v => formatCssAngle(v)).join(" ");
|
|
67
|
+
}
|
|
68
|
+
if (!isNaN(value))
|
|
69
|
+
value = `${value}deg`;
|
|
70
|
+
let tokens = value.trim().split(" ");
|
|
71
|
+
if (tokens.length > 1) {
|
|
72
|
+
return tokens.map(t => formatCssAngle(t)).join(" ");
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
let angle = Number(value.match(floatRegex)[0]);
|
|
76
|
+
let units = value.split(floatRegex)[1] || "deg";
|
|
77
|
+
return `${angle}${units}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=format-css-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { pushComponent, popComponent } from "../vdom-nodes/component-context";
|
|
2
|
+
export function component(Ctor) {
|
|
3
|
+
const decorated = class extends Ctor {
|
|
4
|
+
constructor(...args) {
|
|
5
|
+
const tracker = {
|
|
6
|
+
computedWatchers: [],
|
|
7
|
+
disposables: [],
|
|
8
|
+
registerComputed(w) { this.computedWatchers.push(w); },
|
|
9
|
+
registerDisposable(d) { this.disposables.push(d); }
|
|
10
|
+
};
|
|
11
|
+
pushComponent(tracker);
|
|
12
|
+
try {
|
|
13
|
+
super(...args);
|
|
14
|
+
}
|
|
15
|
+
finally {
|
|
16
|
+
popComponent();
|
|
17
|
+
}
|
|
18
|
+
if (args[0] && typeof args[0] === "object" && !args[0].build && Ctor.props) {
|
|
19
|
+
if (!this.props)
|
|
20
|
+
this.props = {};
|
|
21
|
+
Object.assign(this.props, args[0]);
|
|
22
|
+
}
|
|
23
|
+
this._trackedComputeds = tracker.computedWatchers;
|
|
24
|
+
this._trackedDisposables = tracker.disposables;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(decorated, 'name', { value: Ctor.name });
|
|
28
|
+
for (const key of Object.getOwnPropertyNames(Ctor)) {
|
|
29
|
+
if (key !== "prototype" && key !== "name" && key !== "length") {
|
|
30
|
+
decorated[key] = Ctor[key];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return decorated;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/decoration/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,UAAU,SAAS,CAAmD,IAAO;IAClF,MAAM,SAAS,GAAG,KAAM,SAAS,IAAY;QAC5C,YAAY,GAAG,IAAW;YACzB,MAAM,OAAO,GAAG;gBACf,gBAAgB,EAAE,EAAE;gBACpB,WAAW,EAAE,EAAE;gBACf,gBAAgB,CAAC,CAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,kBAAkB,CAAC,CAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,CAAC;YACF,aAAa,CAAC,OAAc,CAAC,CAAC;YAC9B,IAAI;gBACH,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACf;oBAAS;gBACT,YAAY,EAAE,CAAC;aACf;YAGD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAK,IAAY,CAAC,KAAK,EAAE;gBACpF,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC;YAGA,IAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAC1D,IAAY,CAAC,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;QACzD,CAAC;KACD,CAAC;IAGF,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAG/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;QACnD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,EAAE;YAC7D,SAAiB,CAAC,GAAG,CAAC,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;SAC7C;KACD;IAED,OAAO,SAAgB,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { ContainerVdom } from "./vdom-nodes/container-vdom";
|
|
2
|
+
import { TextVdom } from "./vdom-nodes/text-vdom";
|
|
3
|
+
import ElementVdom from "./vdom-nodes/element-vdom";
|
|
4
|
+
import { Vdom } from "./vdom-nodes/vdom";
|
|
5
|
+
import { DOT_VDOM_PROP_NAME } from "./constants";
|
|
6
|
+
import Watcher from "./reactivity/watcher";
|
|
7
|
+
import Computed from "./reactivity/computed";
|
|
8
|
+
import { component } from "./decoration/component";
|
|
9
|
+
import renderStylesheet from "./helpers/render-stylesheet";
|
|
10
|
+
import BaseVStyle from "./v-style-nodes/base-v-style";
|
|
11
|
+
import StyleVNode from "./v-meta-nodes/style-v-node";
|
|
12
|
+
import WindowWrapper from "./window-wrapper";
|
|
13
|
+
import Binding from "./reactivity/binding";
|
|
14
|
+
import Ref from "./reactivity/ref";
|
|
15
|
+
import RefCollection from "./reactivity/ref-collection";
|
|
16
|
+
import { scheduler } from "./reactivity/scheduler";
|
|
17
|
+
import { createStore, getStore, clearStores, getStores } from "./reactivity/store";
|
|
18
|
+
import { getCurrentComponent, pushComponent, popComponent } from "./vdom-nodes/component-context";
|
|
19
|
+
const allTags = [
|
|
20
|
+
"a",
|
|
21
|
+
"aside",
|
|
22
|
+
"abbr",
|
|
23
|
+
"address",
|
|
24
|
+
"area",
|
|
25
|
+
"article",
|
|
26
|
+
"audio",
|
|
27
|
+
"b",
|
|
28
|
+
"bdi",
|
|
29
|
+
"bdo",
|
|
30
|
+
"blockQuote",
|
|
31
|
+
"body",
|
|
32
|
+
"br",
|
|
33
|
+
"button",
|
|
34
|
+
"canvas",
|
|
35
|
+
"caption",
|
|
36
|
+
"cite",
|
|
37
|
+
"code",
|
|
38
|
+
"col",
|
|
39
|
+
"colGroup",
|
|
40
|
+
"content",
|
|
41
|
+
"data",
|
|
42
|
+
"dataList",
|
|
43
|
+
"dd",
|
|
44
|
+
"del",
|
|
45
|
+
"details",
|
|
46
|
+
"dfn",
|
|
47
|
+
"dialog",
|
|
48
|
+
"div",
|
|
49
|
+
"dl",
|
|
50
|
+
"dt",
|
|
51
|
+
"em",
|
|
52
|
+
"embed",
|
|
53
|
+
"fieldSet",
|
|
54
|
+
"figCaption",
|
|
55
|
+
"figure",
|
|
56
|
+
"footer",
|
|
57
|
+
"form",
|
|
58
|
+
"h1",
|
|
59
|
+
"h2",
|
|
60
|
+
"h3",
|
|
61
|
+
"h4",
|
|
62
|
+
"h5",
|
|
63
|
+
"h6",
|
|
64
|
+
"header",
|
|
65
|
+
"hr",
|
|
66
|
+
"i",
|
|
67
|
+
"iFrame",
|
|
68
|
+
"img",
|
|
69
|
+
"input",
|
|
70
|
+
"ins",
|
|
71
|
+
"kbd",
|
|
72
|
+
"keyGen",
|
|
73
|
+
"label",
|
|
74
|
+
"legend",
|
|
75
|
+
"li",
|
|
76
|
+
"main",
|
|
77
|
+
"map",
|
|
78
|
+
"mark",
|
|
79
|
+
"menu",
|
|
80
|
+
"menuItem",
|
|
81
|
+
"meter",
|
|
82
|
+
"nav",
|
|
83
|
+
"object",
|
|
84
|
+
"ol",
|
|
85
|
+
"optGroup",
|
|
86
|
+
"option",
|
|
87
|
+
"output",
|
|
88
|
+
"p",
|
|
89
|
+
"param",
|
|
90
|
+
"pre",
|
|
91
|
+
"progress",
|
|
92
|
+
"q",
|
|
93
|
+
"rp",
|
|
94
|
+
"rt",
|
|
95
|
+
"ruby",
|
|
96
|
+
"s",
|
|
97
|
+
"samp",
|
|
98
|
+
"section",
|
|
99
|
+
"select",
|
|
100
|
+
"small",
|
|
101
|
+
"source",
|
|
102
|
+
"span",
|
|
103
|
+
"strong",
|
|
104
|
+
"svg",
|
|
105
|
+
"sub",
|
|
106
|
+
"summary",
|
|
107
|
+
"sup",
|
|
108
|
+
"table",
|
|
109
|
+
"tBody",
|
|
110
|
+
"td",
|
|
111
|
+
"textArea",
|
|
112
|
+
"tFoot",
|
|
113
|
+
"th",
|
|
114
|
+
"tHead",
|
|
115
|
+
"time",
|
|
116
|
+
"tr",
|
|
117
|
+
"track",
|
|
118
|
+
"u",
|
|
119
|
+
"ul",
|
|
120
|
+
"var",
|
|
121
|
+
"video",
|
|
122
|
+
"wbr"
|
|
123
|
+
];
|
|
124
|
+
const allCoreWrappers = ["each", "html", "mount", "text", "md", "when", "on"];
|
|
125
|
+
const allEventAttr = {
|
|
126
|
+
onAbort: 1,
|
|
127
|
+
onBlur: 1,
|
|
128
|
+
onChange: 1,
|
|
129
|
+
onInput: 1,
|
|
130
|
+
onCanPlay: 1,
|
|
131
|
+
onCantPlayThrough: 1,
|
|
132
|
+
onClick: 1,
|
|
133
|
+
onCopy: 1,
|
|
134
|
+
onContextMenu: 1,
|
|
135
|
+
onCueChange: 1,
|
|
136
|
+
onCut: 1,
|
|
137
|
+
onDblClick: 1,
|
|
138
|
+
onDrag: 1,
|
|
139
|
+
onDragEnd: 1,
|
|
140
|
+
onDragEnter: 1,
|
|
141
|
+
onDragLeave: 1,
|
|
142
|
+
onDragOver: 1,
|
|
143
|
+
onDragStart: 1,
|
|
144
|
+
onDrop: 1,
|
|
145
|
+
onDurationChange: 1,
|
|
146
|
+
onEmptied: 1,
|
|
147
|
+
onEnded: 1,
|
|
148
|
+
onError: 1,
|
|
149
|
+
onFocus: 1,
|
|
150
|
+
onHashChange: 1,
|
|
151
|
+
onInvalid: 1,
|
|
152
|
+
onKeyDown: 1,
|
|
153
|
+
onKeyPress: 1,
|
|
154
|
+
onKeyUp: 1,
|
|
155
|
+
onLoad: 1,
|
|
156
|
+
onLoadedData: 1,
|
|
157
|
+
onLoadedMetadata: 1,
|
|
158
|
+
onLoadStart: 1,
|
|
159
|
+
onMouseDown: 1,
|
|
160
|
+
onMouseEnter: 1,
|
|
161
|
+
onMouseLeave: 1,
|
|
162
|
+
onMouseMove: 1,
|
|
163
|
+
onMouseOut: 1,
|
|
164
|
+
onMouseOver: 1,
|
|
165
|
+
onMouseUp: 1,
|
|
166
|
+
onPointerCancel: 1,
|
|
167
|
+
onPointerDown: 1,
|
|
168
|
+
onPointerEnter: 1,
|
|
169
|
+
onPointerLeave: 1,
|
|
170
|
+
onPointerMove: 1,
|
|
171
|
+
onPointerOut: 1,
|
|
172
|
+
onPointerOver: 1,
|
|
173
|
+
onPointerUp: 1,
|
|
174
|
+
onTouchStart: 1,
|
|
175
|
+
onTouchEnd: 1,
|
|
176
|
+
onTouchCancel: 1,
|
|
177
|
+
onTouchMove: 1,
|
|
178
|
+
onMouseWheel: 1,
|
|
179
|
+
onOffline: 1,
|
|
180
|
+
onOnline: 1,
|
|
181
|
+
onPageHide: 1,
|
|
182
|
+
onPagePaste: 1,
|
|
183
|
+
onPageShow: 1,
|
|
184
|
+
onPause: 1,
|
|
185
|
+
onPlay: 1,
|
|
186
|
+
onPlaying: 1,
|
|
187
|
+
onPopState: 1,
|
|
188
|
+
onProgress: 1,
|
|
189
|
+
onRateChange: 1,
|
|
190
|
+
onReset: 1,
|
|
191
|
+
onResize: 1,
|
|
192
|
+
onScroll: 1,
|
|
193
|
+
onSearch: 1,
|
|
194
|
+
onSeeked: 1,
|
|
195
|
+
onSeeking: 1,
|
|
196
|
+
onSelect: 1,
|
|
197
|
+
onStalled: 1,
|
|
198
|
+
onStorage: 1,
|
|
199
|
+
onSubmit: 1,
|
|
200
|
+
onSuspend: 1,
|
|
201
|
+
onTimeUpdate: 1,
|
|
202
|
+
onToggle: 1,
|
|
203
|
+
onUnload: 1,
|
|
204
|
+
onVolumeChange: 1,
|
|
205
|
+
onWaiting: 1,
|
|
206
|
+
onWheel: 1,
|
|
207
|
+
};
|
|
208
|
+
const makeCoreWrapper = (d, fn) => {
|
|
209
|
+
d[fn] = function () {
|
|
210
|
+
let n = new ContainerVdom(dot);
|
|
211
|
+
n[fn](...arguments);
|
|
212
|
+
return n;
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
const makeDot = () => {
|
|
216
|
+
const _dot = function (targetSelector, targetWindow = window) {
|
|
217
|
+
if (targetSelector?.ownerDocument?.defaultView) {
|
|
218
|
+
let el = targetSelector;
|
|
219
|
+
let node = el[DOT_VDOM_PROP_NAME];
|
|
220
|
+
if (node) {
|
|
221
|
+
return node.children;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
node = new ElementVdom(dot, el.tagName.toLocaleLowerCase());
|
|
225
|
+
node.element = el;
|
|
226
|
+
node.children._parent = node;
|
|
227
|
+
node.children._isRendered = true;
|
|
228
|
+
el[DOT_VDOM_PROP_NAME] = node;
|
|
229
|
+
return node.children;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else if (typeof targetSelector == "string") {
|
|
233
|
+
return _dot(targetWindow.document.querySelectorAll(targetSelector)[0]);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
throw new Error("Invalid render target.");
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
_dot.watch = function (value, key) {
|
|
240
|
+
let o = new Watcher();
|
|
241
|
+
o.key = key;
|
|
242
|
+
o.value = (value);
|
|
243
|
+
return o;
|
|
244
|
+
};
|
|
245
|
+
_dot.computed = function (getter) {
|
|
246
|
+
const c = new Computed(getter);
|
|
247
|
+
const currentComponent = getCurrentComponent();
|
|
248
|
+
if (currentComponent) {
|
|
249
|
+
currentComponent.registerComputed(c);
|
|
250
|
+
}
|
|
251
|
+
return c;
|
|
252
|
+
};
|
|
253
|
+
_dot.component = component;
|
|
254
|
+
_dot.store = createStore;
|
|
255
|
+
_dot.getStore = getStore;
|
|
256
|
+
_dot.clearStores = clearStores;
|
|
257
|
+
Object.defineProperty(_dot, "stores", { get: () => getStores() });
|
|
258
|
+
_dot.create = function (Ctor, ...args) {
|
|
259
|
+
const tracker = {
|
|
260
|
+
computedWatchers: [],
|
|
261
|
+
registerComputed(w) { this.computedWatchers.push(w); }
|
|
262
|
+
};
|
|
263
|
+
pushComponent(tracker);
|
|
264
|
+
let instance;
|
|
265
|
+
try {
|
|
266
|
+
instance = new Ctor(...args);
|
|
267
|
+
}
|
|
268
|
+
finally {
|
|
269
|
+
popComponent();
|
|
270
|
+
}
|
|
271
|
+
instance._trackedComputeds = tracker.computedWatchers;
|
|
272
|
+
return instance;
|
|
273
|
+
};
|
|
274
|
+
_dot.ref = function () {
|
|
275
|
+
return new Ref();
|
|
276
|
+
};
|
|
277
|
+
_dot.refCollection = function () {
|
|
278
|
+
return new RefCollection();
|
|
279
|
+
};
|
|
280
|
+
_dot.globalStyles = [];
|
|
281
|
+
_dot.useGlobalStyles = (styles) => {
|
|
282
|
+
if (Array.isArray(styles)) {
|
|
283
|
+
_dot.globalStyles.push(...styles);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
_dot.globalStyles.push(styles);
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
_dot.css = new BaseVStyle();
|
|
290
|
+
_dot.useStyles = (applyToDocument, styles) => {
|
|
291
|
+
if (applyToDocument && !styles) {
|
|
292
|
+
if (typeof applyToDocument == "string" || (applyToDocument["call"] && applyToDocument["apply"])) {
|
|
293
|
+
styles = applyToDocument;
|
|
294
|
+
applyToDocument = document;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
const styleItem = renderStylesheet(styles, applyToDocument);
|
|
298
|
+
if (styleItem instanceof HTMLElement) {
|
|
299
|
+
applyToDocument.head.appendChild(styleItem);
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
if (typeof document !== "undefined") {
|
|
303
|
+
const globalStyleVNode = new StyleVNode(_dot.css);
|
|
304
|
+
globalStyleVNode.render(document.documentElement);
|
|
305
|
+
}
|
|
306
|
+
_dot.window = (options) => {
|
|
307
|
+
return new WindowWrapper(options);
|
|
308
|
+
};
|
|
309
|
+
_dot.flushSync = () => {
|
|
310
|
+
scheduler.flushSync();
|
|
311
|
+
};
|
|
312
|
+
_dot.setSync = (sync) => {
|
|
313
|
+
scheduler.setSync(sync);
|
|
314
|
+
};
|
|
315
|
+
{
|
|
316
|
+
const isContent = (arg) => {
|
|
317
|
+
return arg instanceof ContainerVdom ||
|
|
318
|
+
arg instanceof Vdom ||
|
|
319
|
+
(typeof arg == "object" && arg?.build) ||
|
|
320
|
+
arg instanceof Watcher ||
|
|
321
|
+
arg instanceof Binding ||
|
|
322
|
+
typeof arg === "string" ||
|
|
323
|
+
typeof arg === "number" ||
|
|
324
|
+
typeof arg === "boolean" ||
|
|
325
|
+
Array.isArray(arg);
|
|
326
|
+
};
|
|
327
|
+
const applyContent = (n, cont) => {
|
|
328
|
+
if (Array.isArray(cont)) {
|
|
329
|
+
for (let i = 0; i < cont.length; i++)
|
|
330
|
+
applyContent(n, cont[i]);
|
|
331
|
+
}
|
|
332
|
+
else if (cont instanceof ContainerVdom) {
|
|
333
|
+
for (let i = 0; i < cont._children.length; i++)
|
|
334
|
+
n.children._addChild(cont._children[i]);
|
|
335
|
+
}
|
|
336
|
+
else if (cont instanceof Vdom) {
|
|
337
|
+
n.children._addChild(cont);
|
|
338
|
+
}
|
|
339
|
+
else if (typeof cont == "object" && cont?.build) {
|
|
340
|
+
n.children.mount(cont);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
if (cont !== null && cont !== undefined) {
|
|
344
|
+
let val = cont;
|
|
345
|
+
if (val instanceof Watcher) {
|
|
346
|
+
val = val.bind();
|
|
347
|
+
}
|
|
348
|
+
n.children._addChild(new TextVdom(val));
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
const applyAttributes = (n, attrs) => {
|
|
353
|
+
for (let k in attrs) {
|
|
354
|
+
let attr = attrs[k];
|
|
355
|
+
if (attr instanceof Watcher && !(attr instanceof Ref))
|
|
356
|
+
attr = attr.bind();
|
|
357
|
+
let eventName = k;
|
|
358
|
+
let modifiers = [];
|
|
359
|
+
if (k.includes(".")) {
|
|
360
|
+
const parts = k.split(".");
|
|
361
|
+
eventName = parts[0];
|
|
362
|
+
modifiers = parts.slice(1);
|
|
363
|
+
}
|
|
364
|
+
const isEvent = allEventAttr[eventName] || (eventName.startsWith("on") && eventName[2] && eventName[2] === eventName[2].toUpperCase());
|
|
365
|
+
if (isEvent) {
|
|
366
|
+
if (typeof attrs[k] !== "function") {
|
|
367
|
+
throw new Error(`Value of event attribute ${k} must be a function.`);
|
|
368
|
+
}
|
|
369
|
+
n.addEventListener(eventName.substring(2).toLowerCase(), attr, modifiers);
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
n.setAttr(k, attr);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
for (let i = 0; i < allTags.length; i++) {
|
|
377
|
+
let E = allTags[i];
|
|
378
|
+
ContainerVdom.prototype[E] = function (...args) {
|
|
379
|
+
let n = new ElementVdom(dot, E);
|
|
380
|
+
for (let j = 0; j < args.length; j++) {
|
|
381
|
+
let arg = args[j];
|
|
382
|
+
if (isContent(arg)) {
|
|
383
|
+
applyContent(n, arg);
|
|
384
|
+
}
|
|
385
|
+
else if (arg && typeof arg === "object") {
|
|
386
|
+
applyAttributes(n, arg);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
return this._addChild(n);
|
|
390
|
+
};
|
|
391
|
+
makeCoreWrapper(_dot, E);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
{
|
|
395
|
+
for (let i = 0; i < allCoreWrappers.length; i++) {
|
|
396
|
+
let W = allCoreWrappers[i];
|
|
397
|
+
makeCoreWrapper(_dot, W);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return _dot;
|
|
401
|
+
};
|
|
402
|
+
const dot = makeDot();
|
|
403
|
+
export default dot;
|
|
404
|
+
//# sourceMappingURL=dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dot.js","sourceRoot":"","sources":["../src/dot.ts"],"names":[],"mappings":"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"}
|