dothtml 6.0.0-beta.44 → 6.0.0-beta.46

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 (129) hide show
  1. package/build_module/css/css-props.js +38 -1
  2. package/build_module/css/css-props.js.map +1 -1
  3. package/build_module/css/format-css-type.d.ts +4 -3
  4. package/build_module/css/format-css-type.js +7 -0
  5. package/build_module/css/format-css-type.js.map +1 -1
  6. package/build_module/decoration/component.d.ts +4 -14
  7. package/build_module/decoration/component.js +29 -29
  8. package/build_module/decoration/component.js.map +1 -1
  9. package/build_module/dot.js +130 -68
  10. package/build_module/dot.js.map +1 -1
  11. package/build_module/events/event-manager.d.ts +14 -0
  12. package/build_module/events/event-manager.js +98 -0
  13. package/build_module/events/event-manager.js.map +1 -0
  14. package/build_module/events/synthetic-event.d.ts +17 -0
  15. package/build_module/events/synthetic-event.js +33 -0
  16. package/build_module/events/synthetic-event.js.map +1 -0
  17. package/build_module/helpers/render-stylesheet.js +18 -9
  18. package/build_module/helpers/render-stylesheet.js.map +1 -1
  19. package/build_module/index.d.ts +3 -1
  20. package/build_module/index.js +14 -1
  21. package/build_module/index.js.map +1 -1
  22. package/build_module/reactivity/binding.d.ts +3 -1
  23. package/build_module/reactivity/binding.js +8 -2
  24. package/build_module/reactivity/binding.js.map +1 -1
  25. package/build_module/reactivity/computed.d.ts +18 -0
  26. package/build_module/reactivity/computed.js +106 -0
  27. package/build_module/reactivity/computed.js.map +1 -0
  28. package/build_module/reactivity/priority.d.ts +6 -0
  29. package/build_module/reactivity/priority.js +8 -0
  30. package/build_module/reactivity/priority.js.map +1 -0
  31. package/build_module/reactivity/ref-collection.d.ts +8 -0
  32. package/build_module/reactivity/ref-collection.js +32 -0
  33. package/build_module/reactivity/ref-collection.js.map +1 -0
  34. package/build_module/reactivity/ref.d.ts +5 -3
  35. package/build_module/reactivity/ref.js +31 -2
  36. package/build_module/reactivity/ref.js.map +1 -1
  37. package/build_module/reactivity/scheduler.d.ts +22 -0
  38. package/build_module/reactivity/scheduler.js +124 -0
  39. package/build_module/reactivity/scheduler.js.map +1 -0
  40. package/build_module/reactivity/store.d.ts +14 -0
  41. package/build_module/reactivity/store.js +91 -0
  42. package/build_module/reactivity/store.js.map +1 -0
  43. package/build_module/reactivity/subscription.d.ts +2 -1
  44. package/build_module/reactivity/subscription.js +4 -5
  45. package/build_module/reactivity/subscription.js.map +1 -1
  46. package/build_module/reactivity/watcher.d.ts +6 -3
  47. package/build_module/reactivity/watcher.js +31 -10
  48. package/build_module/reactivity/watcher.js.map +1 -1
  49. package/build_module/routing/helpers.d.ts +2 -0
  50. package/build_module/routing/helpers.js +21 -0
  51. package/build_module/routing/helpers.js.map +1 -0
  52. package/build_module/routing/index.d.ts +5 -0
  53. package/build_module/routing/index.js +6 -0
  54. package/build_module/routing/index.js.map +1 -0
  55. package/build_module/routing/link.d.ts +2 -0
  56. package/build_module/routing/link.js +45 -0
  57. package/build_module/routing/link.js.map +1 -0
  58. package/build_module/routing/router.d.ts +23 -0
  59. package/build_module/routing/router.js +209 -0
  60. package/build_module/routing/router.js.map +1 -0
  61. package/build_module/routing/scroll-manager.d.ts +1 -0
  62. package/build_module/routing/scroll-manager.js +33 -0
  63. package/build_module/routing/scroll-manager.js.map +1 -0
  64. package/build_module/routing/state.d.ts +7 -0
  65. package/build_module/routing/state.js +45 -0
  66. package/build_module/routing/state.js.map +1 -0
  67. package/build_module/v-meta-nodes/style-v-node.d.ts +17 -7
  68. package/build_module/v-meta-nodes/style-v-node.js +181 -85
  69. package/build_module/v-meta-nodes/style-v-node.js.map +1 -1
  70. package/build_module/v-style-nodes/base-v-style.d.ts +10 -11
  71. package/build_module/v-style-nodes/base-v-style.js +23 -95
  72. package/build_module/v-style-nodes/base-v-style.js.map +1 -1
  73. package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +0 -3
  74. package/build_module/v-style-nodes/css-function-builder-v-style.js +10 -5
  75. package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -1
  76. package/build_module/v-style-nodes/style-sheet-builder.d.ts +9 -0
  77. package/build_module/v-style-nodes/style-sheet-builder.js +51 -0
  78. package/build_module/v-style-nodes/style-sheet-builder.js.map +1 -0
  79. package/build_module/v-style-nodes/transform-v-style.js.map +1 -1
  80. package/build_module/vdom-nodes/collection-vdom.d.ts +3 -1
  81. package/build_module/vdom-nodes/collection-vdom.js +114 -97
  82. package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
  83. package/build_module/vdom-nodes/component-context.d.ts +5 -0
  84. package/build_module/vdom-nodes/component-context.js +5 -0
  85. package/build_module/vdom-nodes/component-context.js.map +1 -0
  86. package/build_module/vdom-nodes/component-vdom.d.ts +22 -0
  87. package/build_module/vdom-nodes/component-vdom.js +250 -12
  88. package/build_module/vdom-nodes/component-vdom.js.map +1 -1
  89. package/build_module/vdom-nodes/conditional-vdom.d.ts +1 -0
  90. package/build_module/vdom-nodes/conditional-vdom.js +14 -0
  91. package/build_module/vdom-nodes/conditional-vdom.js.map +1 -1
  92. package/build_module/vdom-nodes/container-vdom.d.ts +6 -2
  93. package/build_module/vdom-nodes/container-vdom.js +54 -1
  94. package/build_module/vdom-nodes/container-vdom.js.map +1 -1
  95. package/build_module/vdom-nodes/element-vdom.d.ts +2 -1
  96. package/build_module/vdom-nodes/element-vdom.js +72 -18
  97. package/build_module/vdom-nodes/element-vdom.js.map +1 -1
  98. package/build_module/vdom-nodes/html-vdom.d.ts +1 -0
  99. package/build_module/vdom-nodes/html-vdom.js +12 -0
  100. package/build_module/vdom-nodes/html-vdom.js.map +1 -1
  101. package/build_module/vdom-nodes/text-vdom.d.ts +1 -0
  102. package/build_module/vdom-nodes/text-vdom.js +3 -0
  103. package/build_module/vdom-nodes/text-vdom.js.map +1 -1
  104. package/build_module/vdom-nodes/vdom.d.ts +2 -0
  105. package/build_module/vdom-nodes/vdom.js +17 -0
  106. package/build_module/vdom-nodes/vdom.js.map +1 -1
  107. package/package.json +58 -57
  108. package/readme.md +32 -26
  109. package/build_module/css/css.d.ts +0 -0
  110. package/build_module/css/css.js +0 -1
  111. package/build_module/css/css.js.map +0 -1
  112. package/build_module/decoration/use-styles.d.ts +0 -14
  113. package/build_module/decoration/use-styles.js +0 -19
  114. package/build_module/decoration/use-styles.js.map +0 -1
  115. package/build_module/helpers/render-css.d.ts +0 -2
  116. package/build_module/helpers/render-css.js +0 -20
  117. package/build_module/helpers/render-css.js.map +0 -1
  118. package/build_module/helpers.d.ts +0 -3
  119. package/build_module/helpers.js +0 -50
  120. package/build_module/helpers.js.map +0 -1
  121. package/build_module/reactive.d.ts +0 -46
  122. package/build_module/reactive.js +0 -150
  123. package/build_module/reactive.js.map +0 -1
  124. package/build_module/reactivity/bound-reactive.d.ts +0 -13
  125. package/build_module/reactivity/bound-reactive.js +0 -20
  126. package/build_module/reactivity/bound-reactive.js.map +0 -1
  127. package/build_module/reactivity/reactive.d.ts +0 -22
  128. package/build_module/reactivity/reactive.js +0 -54
  129. package/build_module/reactivity/reactive.js.map +0 -1
@@ -4,9 +4,13 @@ const allProps = {
4
4
  url: "background-Image|border-Image|list-Style-Image|content|image-Orientation",
5
5
  transformation: "transform",
6
6
  filter: "filter|backdrop-Filter",
7
- 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-Outset|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|flex-Basis|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-Gap|grid-Column-Start|grid-Gap|grid-Row|grid-Row-End|grid-Row-Gap|grid-Row-Start|grid-Template|grid-Template-Areas|grid-Template-Columns|grid-Template-Rows|justify-Content|order|hanging-Punctuation|hyphens|letter-Spacing|line-Break|overflow-Wrap|tab-Size|text-Align|text-Align-Last|text-Combine-Upright|text-Justify|text-Transform|white-Space|word-Break|word-Spacing|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|border-Spacing|caption-Side|empty-Cells|table-Layout|counter-Increment|counter-Reset|list-Style|list-Style-Position|list-Style-Type|animation|animation-Delay|animation-Direction|animation-Duration|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-Duration|transition-Timing-Function|transition-Delay|box-Sizing|cursor|ime-Mode|nav-Down|nav-Index|nav-Left|nav-Right|nav-Up|outline|outline-Offset|outline-Style|outline-Width|resize|text-Overflow|break-After|break-Before|break-Inside|column-Count|column-Fill|column-Gap|column-Rule|column-Rule-Style|column-Rule-Width|column-Span|column-Width|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"
7
+ time: "animation-Delay|animation-Direction|animation-Duration|transition-Duration|transition-Delay",
8
+ 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-Outset|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|flex-Basis|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-Gap|grid-Column-Start|grid-Gap|grid-Row|grid-Row-End|grid-Row-Gap|grid-Row-Start|grid-Template|grid-Template-Areas|grid-Template-Columns|grid-Template-Rows|justify-Content|order|hanging-Punctuation|hyphens|letter-Spacing|line-Break|overflow-Wrap|tab-Size|text-Align|text-Align-Last|text-Combine-Upright|text-Justify|text-Transform|white-Space|word-Break|word-Spacing|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|border-Spacing|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-Offset|outline-Style|outline-Width|resize|text-Overflow|break-After|break-Before|break-Inside|column-Count|column-Fill|column-Gap|column-Rule|column-Rule-Style|column-Rule-Width|column-Span|column-Width|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"
8
9
  };
9
10
  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("|");
11
+ const timeSuffixes = "Ms|S".split("|");
12
+ const angleSuffixes = "Deg|Grad|Rad|Turn".split("|");
13
+ const frequencySuffixes = "Hz|Khz".split("|");
10
14
  const cssProps = {};
11
15
  for (let cssType in allProps) {
12
16
  let props = allProps[cssType].split("|");
@@ -24,6 +28,39 @@ for (let cssType in allProps) {
24
28
  }
25
29
  break;
26
30
  }
31
+ case "time": {
32
+ for (let s of timeSuffixes) {
33
+ cssProps[`${key}${s}`] = {
34
+ dotName: key,
35
+ cssName: p.toLowerCase(),
36
+ type: cssType,
37
+ unit: s.toLowerCase()
38
+ };
39
+ }
40
+ break;
41
+ }
42
+ case "angle": {
43
+ for (let s of angleSuffixes) {
44
+ cssProps[`${key}${s}`] = {
45
+ dotName: key,
46
+ cssName: p.toLowerCase(),
47
+ type: cssType,
48
+ unit: s.toLowerCase()
49
+ };
50
+ }
51
+ break;
52
+ }
53
+ case "frequency": {
54
+ for (let s of frequencySuffixes) {
55
+ cssProps[`${key}${s}`] = {
56
+ dotName: key,
57
+ cssName: p.toLowerCase(),
58
+ type: cssType,
59
+ unit: s.toLowerCase()
60
+ };
61
+ }
62
+ break;
63
+ }
27
64
  default: {
28
65
  break;
29
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"css-props.js","sourceRoot":"","sources":["../../src/css/css-props.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG;IAChB,KAAK,EAAE,qKAAqK;IAC5K,MAAM,EAAE,6eAA6e;IACrf,GAAG,EAAE,0EAA0E;IAC/E,cAAc,EAAE,WAAW;IAC3B,MAAM,EAAE,wBAAwB;IAChC,IAAI,EAAE,wsFAAwsF;CAC9sF,CAAA;AAED,MAAM,cAAc,GAAG,oGAAoG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAWvI,MAAM,QAAQ,GAA4B,EAAE,CAAC;AAE7C,KAAI,IAAI,OAAO,IAAI,QAAQ,EAAC;IAC3B,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,KAAI,IAAI,CAAC,IAAI,KAAK,EAAC;QAClB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,QAAO,OAAO,EAAC;YACd,KAAK,QAAQ,CAAC,CAAC;gBACd,KAAI,IAAI,CAAC,IAAI,cAAc,EAAC;oBAC3B,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG;wBACxB,OAAO,EAAE,GAAG;wBACZ,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE;wBACxB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBACtC,CAAC;iBACF;gBACD,MAAM;aACN;YACD,OAAO,CAAC,CAAC;gBACR,MAAM;aACN;SACD;QAED,QAAQ,CAAC,GAAG,CAAC,GAAG;YACf,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;SACf,CAAC;KACF;CACD;AAED,eAAe,QAAQ,CAAC"}
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;
@@ -1,9 +1,12 @@
1
1
  import { floatRegex } from "../helpers/tools";
2
2
  import Binding from "../reactivity/binding";
3
+ import Watcher from "../reactivity/watcher";
3
4
  export function formatCssLength(value, defaultUnits = "px") {
4
5
  value = value || "0px";
5
6
  if (value instanceof Binding)
6
7
  value = value._get();
8
+ if (value instanceof Watcher)
9
+ value = value.value;
7
10
  if (value instanceof Array) {
8
11
  return value.map(v => formatCssLength(v, defaultUnits)).join(" ");
9
12
  }
@@ -23,6 +26,8 @@ export function formatCssPercentage(value) {
23
26
  value = value || "0%";
24
27
  if (value instanceof Binding)
25
28
  value = value._get();
29
+ if (value instanceof Watcher)
30
+ value = value.value;
26
31
  if (value instanceof Array) {
27
32
  return value.map(v => formatCssPercentage(v)).join(" ");
28
33
  }
@@ -55,6 +60,8 @@ export function formatCssAngle(value) {
55
60
  value = value || "0deg";
56
61
  if (value instanceof Binding)
57
62
  value = value._get();
63
+ if (value instanceof Watcher)
64
+ value = value.value;
58
65
  if (value instanceof Array) {
59
66
  return value.map(v => formatCssAngle(v)).join(" ");
60
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,4 @@
1
- import { FrameworkItems, IComponent } from "dothtml-interfaces";
2
- export declare function component(Base: new (...args: Array<any>) => IComponent, styles?: Array<string>): {
3
- new (...args: any[]): {
4
- _: FrameworkItems;
5
- build(): import("dothtml-interfaces").IDotDocument;
6
- built?(): void;
7
- mounting?(): void;
8
- mounted?(): void;
9
- unmounting?(): void;
10
- unmounted?(): void;
11
- deleting?(): void;
12
- deleted?(): void;
13
- };
14
- };
1
+ import { IDotComponent } from "dothtml-interfaces";
2
+ export declare function component<T extends {
3
+ new (...args: any[]): IDotComponent;
4
+ }>(Ctor: T): T;
@@ -1,35 +1,35 @@
1
- let tagId = 0x10000;
2
- function restyle(c) {
3
- if (c._._meta.shadowRoot && c._?._meta?.sharedStyles) {
4
- c._._meta.shadowRoot.adoptedStyleSheets = c._._meta.sharedStyles;
5
- }
6
- }
7
- const documentStyles = {
8
- default: {}
9
- };
10
- export function component(Base, styles = []) {
11
- if (typeof styles == "string") {
12
- styles = [styles];
13
- }
14
- let ts = (Math.floor(performance.now() * 10000000000000)).toString(16);
15
- let tId = (tagId++).toString(16);
16
- let tagName = `dothtml-${tId}${component["_addTimestamp"] ? `-${ts}` : ""}`;
17
- return class extends Base {
1
+ import { pushComponent, popComponent } from "../vdom-nodes/component-context";
2
+ export function component(Ctor) {
3
+ const decorated = class extends Ctor {
18
4
  constructor(...args) {
19
- super();
20
- if (!this._) {
21
- this._ = {};
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();
22
17
  }
23
- this._.refs = {};
24
- this._.props = args[0] || {};
25
- this._.restyle = () => { restyle(this); };
26
- this._._meta = this._._meta || {};
27
- this._._meta.args = args;
28
- this._._meta.isRendered = false;
29
- this._._meta.tagName = tagName;
30
- this._._meta.styles = styles;
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;
31
25
  }
32
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;
33
34
  }
34
- component["_addTimestamp"] = true;
35
35
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/decoration/component.ts"],"names":[],"mappings":"AAGA,IAAI,KAAK,GAAG,OAAO,CAAC;AAEpB,SAAS,OAAO,CAAC,CAAa;IAC7B,IAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAC;QACnD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;KAGjE;AACF,CAAC;AAED,MAAM,cAAc,GAAG;IACtB,OAAO,EAAE,EAAE;CACX,CAAC;AAKF,MAAM,UAAU,SAAS,CAAC,IAAyC,EAAE,SAAwB,EAAE;IAE9F,IAAG,OAAO,MAAM,IAAI,QAAQ,EAAC;QAC5B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;KAClB;IAED,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,WAAW,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAoB5E,OAAO,KAAM,SAAQ,IAAI;QAIxB,YAAY,GAAG,IAAW;YACzB,KAAK,EAAE,CAAC;YAER,IAAG,CAAC,IAAI,CAAC,CAAC,EAAC;gBACT,IAAI,CAAC,CAAS,GAAG,EAAE,CAAC;aACrB;YACA,IAAI,CAAC,CAAC,CAAC,IAAY,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,KAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,OAAe,GAAG,GAAE,EAAE,GAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,KAAa,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAY,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAkB,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAe,GAAG,OAAO,CAAC;YACvC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAc,GAAG,MAAM,CAAC;QAWvC,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC"}
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"}
@@ -4,10 +4,18 @@ import ElementVdom from "./vdom-nodes/element-vdom";
4
4
  import { Vdom } from "./vdom-nodes/vdom";
5
5
  import { DOT_VDOM_PROP_NAME } from "./constants";
6
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";
7
10
  import BaseVStyle from "./v-style-nodes/base-v-style";
11
+ import StyleVNode from "./v-meta-nodes/style-v-node";
8
12
  import WindowWrapper from "./window-wrapper";
9
13
  import Binding from "./reactivity/binding";
10
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";
11
19
  const allTags = [
12
20
  "a",
13
21
  "aside",
@@ -113,7 +121,7 @@ const allTags = [
113
121
  "video",
114
122
  "wbr"
115
123
  ];
116
- const allCoreWrappers = ["each", "html", "mount", "text", "md", "when"];
124
+ const allCoreWrappers = ["each", "html", "mount", "text", "md", "when", "on"];
117
125
  const allEventAttr = {
118
126
  onAbort: 1,
119
127
  onBlur: 1,
@@ -216,6 +224,7 @@ const makeDot = () => {
216
224
  node = new ElementVdom(dot, el.tagName.toLocaleLowerCase());
217
225
  node.element = el;
218
226
  node.children._parent = node;
227
+ node.children._isRendered = true;
219
228
  el[DOT_VDOM_PROP_NAME] = node;
220
229
  return node.children;
221
230
  }
@@ -233,11 +242,51 @@ const makeDot = () => {
233
242
  o.value = (value);
234
243
  return o;
235
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
+ };
236
274
  _dot.ref = function () {
237
275
  return new Ref();
238
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
+ };
239
289
  _dot.css = new BaseVStyle();
240
- _dot.css._isBase = true;
241
290
  _dot.useStyles = (applyToDocument, styles) => {
242
291
  if (applyToDocument && !styles) {
243
292
  if (typeof applyToDocument == "string" || (applyToDocument["call"] && applyToDocument["apply"])) {
@@ -245,83 +294,96 @@ const makeDot = () => {
245
294
  applyToDocument = document;
246
295
  }
247
296
  }
248
- let cssStringContent = "";
249
- if (typeof styles == "string") {
250
- cssStringContent = styles;
297
+ const styleItem = renderStylesheet(styles, applyToDocument);
298
+ if (styleItem instanceof HTMLElement) {
299
+ applyToDocument.head.appendChild(styleItem);
251
300
  }
252
- else {
253
- let content = styles(dot.css);
254
- if (typeof content == "string") {
255
- cssStringContent = content;
256
- }
257
- else {
258
- }
259
- }
260
- const styleSheet = applyToDocument.createElement("style");
261
- styleSheet.type = "text/css";
262
- styleSheet.textContent = cssStringContent;
263
- applyToDocument.head.appendChild(styleSheet);
264
301
  };
302
+ if (typeof document !== "undefined") {
303
+ const globalStyleVNode = new StyleVNode(_dot.css);
304
+ globalStyleVNode.render(document.documentElement);
305
+ }
265
306
  _dot.window = (options) => {
266
307
  return new WindowWrapper(options);
267
308
  };
309
+ _dot.flushSync = () => {
310
+ scheduler.flushSync();
311
+ };
312
+ _dot.setSync = (sync) => {
313
+ scheduler.setSync(sync);
314
+ };
268
315
  {
269
- for (let i = 0; i < allTags.length; i++) {
270
- let E = allTags[i];
271
- ContainerVdom.prototype[E] = function (a, b) {
272
- let n = new ElementVdom(dot, E);
273
- let cont;
274
- let attrs;
275
- {
276
- if (a instanceof ContainerVdom || a instanceof Vdom || (typeof a == "object" && a?.build) || a instanceof Watcher || a instanceof Binding || typeof a === "string" || typeof a === "number" || typeof a === "boolean" || Array.isArray(a)) {
277
- cont = a;
278
- attrs = b;
279
- }
280
- if (b instanceof ContainerVdom || b instanceof Vdom || (typeof b == "object" && b?.build) || b instanceof Watcher || b instanceof Binding || typeof b === "string" || typeof b === "number" || typeof b === "boolean" || Array.isArray(b)) {
281
- if (cont)
282
- throw new Error("Both element arguments can't be content.");
283
- cont = b;
284
- attrs = a;
285
- }
286
- if (!cont && (a || b)) {
287
- attrs = (a || b);
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();
288
347
  }
348
+ n.children._addChild(new TextVdom(val));
289
349
  }
290
- {
291
- if (attrs) {
292
- for (let k in attrs) {
293
- let attr = attrs[k];
294
- if (attr instanceof Watcher)
295
- attr = attr.bind();
296
- if (allEventAttr[k]) {
297
- if (typeof attrs[k] !== "function") {
298
- throw new Error(`Value of event attribute ${k} must be a function.`);
299
- }
300
- n.addEventListener(k.substring(2), attr);
301
- }
302
- else {
303
- n.setAttr(k, attr);
304
- }
305
- }
306
- }
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);
307
363
  }
308
- {
309
- if (cont instanceof ContainerVdom) {
310
- n.children = cont;
311
- }
312
- else if (cont instanceof Vdom) {
313
- n.children._addChild(cont);
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.`);
314
368
  }
315
- else if (typeof cont == "object" && cont?.build) {
316
- n.children.mount(cont);
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);
317
384
  }
318
- else {
319
- if (cont !== null && cont !== undefined) {
320
- if (cont instanceof Watcher) {
321
- cont = cont.bind();
322
- }
323
- n.children._addChild(new TextVdom(cont));
324
- }
385
+ else if (arg && typeof arg === "object") {
386
+ applyAttributes(n, arg);
325
387
  }
326
388
  }
327
389
  return this._addChild(n);
@@ -1 +1 @@
1
- {"version":3,"file":"dot.js","sourceRoot":"","sources":["../src/dot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dot.js","sourceRoot":"","sources":["../src/dot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import SyntheticEvent from "./synthetic-event";
2
+ export type EventHandler = (e: SyntheticEvent) => void;
3
+ export declare class EventManager {
4
+ private static managers;
5
+ static getForDocument(document: Document): EventManager;
6
+ private document;
7
+ private listeners;
8
+ private activeEventTypes;
9
+ constructor(document: Document);
10
+ addListener(element: Element, eventType: string, handler: EventHandler, modifiers?: string[]): void;
11
+ removeListener(element: Element, eventType: string, handler: EventHandler): void;
12
+ private ensureGlobalListener;
13
+ private dispatchEvent;
14
+ }