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.
Files changed (152) hide show
  1. package/build_module/constants.js +2 -0
  2. package/build_module/constants.js.map +1 -0
  3. package/build_module/css/css-props.js +79 -0
  4. package/build_module/css/css-props.js.map +1 -0
  5. package/{dist/build_module → build_module}/css/format-css-type.d.ts +4 -3
  6. package/build_module/css/format-css-type.js +80 -0
  7. package/build_module/css/format-css-type.js.map +1 -0
  8. package/build_module/decoration/component.d.ts +4 -0
  9. package/build_module/decoration/component.js +35 -0
  10. package/build_module/decoration/component.js.map +1 -0
  11. package/build_module/dot.js +404 -0
  12. package/build_module/dot.js.map +1 -0
  13. package/build_module/events/event-manager.d.ts +14 -0
  14. package/build_module/events/event-manager.js +98 -0
  15. package/build_module/events/event-manager.js.map +1 -0
  16. package/build_module/events/synthetic-event.d.ts +17 -0
  17. package/build_module/events/synthetic-event.js +33 -0
  18. package/build_module/events/synthetic-event.js.map +1 -0
  19. package/build_module/helpers/render-stylesheet.js +36 -0
  20. package/build_module/helpers/render-stylesheet.js.map +1 -0
  21. package/build_module/helpers/tools.js +50 -0
  22. package/build_module/helpers/tools.js.map +1 -0
  23. package/build_module/index.d.ts +9 -0
  24. package/build_module/index.js +19 -0
  25. package/build_module/index.js.map +1 -0
  26. package/{dist/build_module → build_module}/reactivity/binding.d.ts +3 -1
  27. package/build_module/reactivity/binding.js +26 -0
  28. package/build_module/reactivity/binding.js.map +1 -0
  29. package/build_module/reactivity/computed.d.ts +18 -0
  30. package/build_module/reactivity/computed.js +106 -0
  31. package/build_module/reactivity/computed.js.map +1 -0
  32. package/build_module/reactivity/priority.d.ts +6 -0
  33. package/build_module/reactivity/priority.js +8 -0
  34. package/build_module/reactivity/priority.js.map +1 -0
  35. package/build_module/reactivity/reactive-attr.js +7 -0
  36. package/build_module/reactivity/reactive-attr.js.map +1 -0
  37. package/build_module/reactivity/reactive-style.js +7 -0
  38. package/build_module/reactivity/reactive-style.js.map +1 -0
  39. package/build_module/reactivity/ref-collection.d.ts +8 -0
  40. package/build_module/reactivity/ref-collection.js +32 -0
  41. package/build_module/reactivity/ref-collection.js.map +1 -0
  42. package/build_module/reactivity/ref.d.ts +7 -0
  43. package/build_module/reactivity/ref.js +35 -0
  44. package/build_module/reactivity/ref.js.map +1 -0
  45. package/build_module/reactivity/scheduler.d.ts +22 -0
  46. package/build_module/reactivity/scheduler.js +124 -0
  47. package/build_module/reactivity/scheduler.js.map +1 -0
  48. package/build_module/reactivity/store.d.ts +14 -0
  49. package/build_module/reactivity/store.js +91 -0
  50. package/build_module/reactivity/store.js.map +1 -0
  51. package/{dist/build_module → build_module}/reactivity/subscription.d.ts +2 -1
  52. package/build_module/reactivity/subscription.js +40 -0
  53. package/build_module/reactivity/subscription.js.map +1 -0
  54. package/{dist/build_module → build_module}/reactivity/watcher.d.ts +6 -3
  55. package/build_module/reactivity/watcher.js +82 -0
  56. package/build_module/reactivity/watcher.js.map +1 -0
  57. package/build_module/routing/helpers.d.ts +2 -0
  58. package/build_module/routing/helpers.js +21 -0
  59. package/build_module/routing/helpers.js.map +1 -0
  60. package/build_module/routing/index.d.ts +5 -0
  61. package/build_module/routing/index.js +6 -0
  62. package/build_module/routing/index.js.map +1 -0
  63. package/build_module/routing/link.d.ts +2 -0
  64. package/build_module/routing/link.js +45 -0
  65. package/build_module/routing/link.js.map +1 -0
  66. package/build_module/routing/router.d.ts +23 -0
  67. package/build_module/routing/router.js +209 -0
  68. package/build_module/routing/router.js.map +1 -0
  69. package/build_module/routing/scroll-manager.d.ts +1 -0
  70. package/build_module/routing/scroll-manager.js +33 -0
  71. package/build_module/routing/scroll-manager.js.map +1 -0
  72. package/build_module/routing/state.d.ts +7 -0
  73. package/build_module/routing/state.js +45 -0
  74. package/build_module/routing/state.js.map +1 -0
  75. package/build_module/v-dom-node.d.ts +0 -0
  76. package/build_module/v-dom-node.js +1 -0
  77. package/build_module/v-dom-node.js.map +1 -0
  78. package/build_module/v-meta-nodes/attribute-v-node.js +53 -0
  79. package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -0
  80. package/build_module/v-meta-nodes/style-v-node.d.ts +26 -0
  81. package/build_module/v-meta-nodes/style-v-node.js +239 -0
  82. package/build_module/v-meta-nodes/style-v-node.js.map +1 -0
  83. package/build_module/v-meta-nodes/v-meta-node.js +3 -0
  84. package/build_module/v-meta-nodes/v-meta-node.js.map +1 -0
  85. package/build_module/v-style-nodes/base-v-style.d.ts +13 -0
  86. package/build_module/v-style-nodes/base-v-style.js +41 -0
  87. package/build_module/v-style-nodes/base-v-style.js.map +1 -0
  88. package/{dist/build_module → build_module}/v-style-nodes/css-function-builder-v-style.d.ts +0 -3
  89. package/build_module/v-style-nodes/css-function-builder-v-style.js +33 -0
  90. package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -0
  91. package/build_module/v-style-nodes/filter-v-style.js +35 -0
  92. package/build_module/v-style-nodes/filter-v-style.js.map +1 -0
  93. package/build_module/v-style-nodes/style-sheet-builder.d.ts +9 -0
  94. package/build_module/v-style-nodes/style-sheet-builder.js +55 -0
  95. package/build_module/v-style-nodes/style-sheet-builder.js.map +1 -0
  96. package/build_module/v-style-nodes/transform-v-style.js +76 -0
  97. package/build_module/v-style-nodes/transform-v-style.js.map +1 -0
  98. package/build_module/v-style-nodes/v-style.js +6 -0
  99. package/build_module/v-style-nodes/v-style.js.map +1 -0
  100. package/{dist/build_module → build_module}/vdom-nodes/collection-vdom.d.ts +3 -1
  101. package/build_module/vdom-nodes/collection-vdom.js +174 -0
  102. package/build_module/vdom-nodes/collection-vdom.js.map +1 -0
  103. package/build_module/vdom-nodes/component-context.d.ts +5 -0
  104. package/build_module/vdom-nodes/component-context.js +5 -0
  105. package/build_module/vdom-nodes/component-context.js.map +1 -0
  106. package/build_module/vdom-nodes/component-vdom.d.ts +35 -0
  107. package/build_module/vdom-nodes/component-vdom.js +338 -0
  108. package/build_module/vdom-nodes/component-vdom.js.map +1 -0
  109. package/{dist/build_module → build_module}/vdom-nodes/conditional-vdom.d.ts +1 -0
  110. package/build_module/vdom-nodes/conditional-vdom.js +112 -0
  111. package/build_module/vdom-nodes/conditional-vdom.js.map +1 -0
  112. package/{dist/build_module → build_module}/vdom-nodes/container-vdom.d.ts +6 -2
  113. package/build_module/vdom-nodes/container-vdom.js +163 -0
  114. package/build_module/vdom-nodes/container-vdom.js.map +1 -0
  115. package/{dist/build_module → build_module}/vdom-nodes/element-vdom.d.ts +2 -1
  116. package/build_module/vdom-nodes/element-vdom.js +218 -0
  117. package/build_module/vdom-nodes/element-vdom.js.map +1 -0
  118. package/{dist/build_module → build_module}/vdom-nodes/html-vdom.d.ts +1 -0
  119. package/build_module/vdom-nodes/html-vdom.js +65 -0
  120. package/build_module/vdom-nodes/html-vdom.js.map +1 -0
  121. package/{dist/build_module → build_module}/vdom-nodes/text-vdom.d.ts +1 -0
  122. package/build_module/vdom-nodes/text-vdom.js +40 -0
  123. package/build_module/vdom-nodes/text-vdom.js.map +1 -0
  124. package/{dist/build_module → build_module}/vdom-nodes/vdom.d.ts +2 -0
  125. package/build_module/vdom-nodes/vdom.js +58 -0
  126. package/build_module/vdom-nodes/vdom.js.map +1 -0
  127. package/build_module/window-wrapper.js +39 -0
  128. package/build_module/window-wrapper.js.map +1 -0
  129. package/package.json +58 -64
  130. package/readme.md +32 -26
  131. package/dist/build_module/index.d.ts +0 -7
  132. package/dist/build_module/reactivity/ref.d.ts +0 -5
  133. package/dist/build_module/v-meta-nodes/style-v-node.d.ts +0 -16
  134. package/dist/build_module/v-style-nodes/base-v-style.d.ts +0 -14
  135. package/dist/build_module/vdom-nodes/component-vdom.d.ts +0 -13
  136. package/dist/index.cjs.js +0 -2
  137. package/dist/index.cjs.js.map +0 -1
  138. package/dist/index.esm.js +0 -2
  139. package/dist/index.esm.js.map +0 -1
  140. /package/{dist/build_module → build_module}/constants.d.ts +0 -0
  141. /package/{dist/build_module → build_module}/css/css-props.d.ts +0 -0
  142. /package/{dist/build_module → build_module}/dot.d.ts +0 -0
  143. /package/{dist/build_module → build_module}/helpers/render-stylesheet.d.ts +0 -0
  144. /package/{dist/build_module → build_module}/helpers/tools.d.ts +0 -0
  145. /package/{dist/build_module → build_module}/reactivity/reactive-attr.d.ts +0 -0
  146. /package/{dist/build_module → build_module}/reactivity/reactive-style.d.ts +0 -0
  147. /package/{dist/build_module → build_module}/v-meta-nodes/attribute-v-node.d.ts +0 -0
  148. /package/{dist/build_module → build_module}/v-meta-nodes/v-meta-node.d.ts +0 -0
  149. /package/{dist/build_module → build_module}/v-style-nodes/filter-v-style.d.ts +0 -0
  150. /package/{dist/build_module → build_module}/v-style-nodes/transform-v-style.d.ts +0 -0
  151. /package/{dist/build_module → build_module}/v-style-nodes/v-style.d.ts +0 -0
  152. /package/{dist/build_module → build_module}/window-wrapper.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export const DOT_VDOM_PROP_NAME = "_dotVDom";
2
+ //# sourceMappingURL=constants.js.map
@@ -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
- export declare function formatCssLength(value: string | number | Binding | Array<string | number | Binding>, defaultUnits?: string): any;
3
- export declare function formatCssPercentage(value: string | number | Binding | Array<string | number | Binding>): any;
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,4 @@
1
+ import { IDotComponent } from "dothtml-interfaces";
2
+ export declare function component<T extends {
3
+ new (...args: any[]): IDotComponent;
4
+ }>(Ctor: T): T;
@@ -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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"}