dothtml 6.0.0-beta.3 → 6.0.0-beta.31

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 (78) hide show
  1. package/build_module/css/css-props.d.ts +8 -0
  2. package/build_module/css/css-props.js +40 -0
  3. package/build_module/css/css-props.js.map +1 -0
  4. package/build_module/css/css.js +1 -0
  5. package/build_module/css/css.js.map +1 -0
  6. package/build_module/css/format-css-type.d.ts +5 -0
  7. package/build_module/css/format-css-type.js +73 -0
  8. package/build_module/css/format-css-type.js.map +1 -0
  9. package/build_module/decoration/component.d.ts +9 -20
  10. package/build_module/decoration/component.js +20 -17
  11. package/build_module/decoration/component.js.map +1 -1
  12. package/build_module/decoration/use-styles.d.ts +14 -0
  13. package/build_module/decoration/use-styles.js +19 -0
  14. package/build_module/decoration/use-styles.js.map +1 -0
  15. package/build_module/dot.js +166 -343
  16. package/build_module/dot.js.map +1 -1
  17. package/build_module/helpers/render-css.d.ts +2 -0
  18. package/build_module/helpers/render-css.js +20 -0
  19. package/build_module/helpers/render-css.js.map +1 -0
  20. package/build_module/helpers/render-stylesheet.d.ts +2 -0
  21. package/build_module/helpers/render-stylesheet.js +27 -0
  22. package/build_module/helpers/render-stylesheet.js.map +1 -0
  23. package/build_module/helpers/tools.d.ts +3 -0
  24. package/build_module/helpers/tools.js +50 -0
  25. package/build_module/helpers/tools.js.map +1 -0
  26. package/build_module/helpers.d.ts +1 -0
  27. package/build_module/helpers.js +1 -0
  28. package/build_module/helpers.js.map +1 -1
  29. package/build_module/index.js +1 -0
  30. package/build_module/index.js.map +1 -1
  31. package/build_module/reactive.d.ts +10 -1
  32. package/build_module/reactive.js +34 -4
  33. package/build_module/reactive.js.map +1 -1
  34. package/build_module/v-meta-nodes/attribute-v-node.d.ts +12 -0
  35. package/build_module/v-meta-nodes/attribute-v-node.js +48 -0
  36. package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -0
  37. package/build_module/v-meta-nodes/style-v-node.d.ts +16 -0
  38. package/build_module/v-meta-nodes/style-v-node.js +135 -0
  39. package/build_module/v-meta-nodes/style-v-node.js.map +1 -0
  40. package/build_module/v-meta-nodes/v-meta-node.d.ts +5 -0
  41. package/build_module/v-meta-nodes/v-meta-node.js +3 -0
  42. package/build_module/v-meta-nodes/v-meta-node.js.map +1 -0
  43. package/build_module/v-style-nodes/base-v-style.d.ts +14 -0
  44. package/build_module/v-style-nodes/base-v-style.js +112 -0
  45. package/build_module/v-style-nodes/base-v-style.js.map +1 -0
  46. package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +17 -0
  47. package/build_module/v-style-nodes/css-function-builder-v-style.js +28 -0
  48. package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -0
  49. package/build_module/v-style-nodes/filter-v-style.d.ts +13 -0
  50. package/build_module/v-style-nodes/filter-v-style.js +35 -0
  51. package/build_module/v-style-nodes/filter-v-style.js.map +1 -0
  52. package/build_module/v-style-nodes/transform-v-style.d.ts +28 -0
  53. package/build_module/v-style-nodes/transform-v-style.js +76 -0
  54. package/build_module/v-style-nodes/transform-v-style.js.map +1 -0
  55. package/build_module/v-style-nodes/v-style.d.ts +6 -0
  56. package/build_module/v-style-nodes/v-style.js +6 -0
  57. package/build_module/v-style-nodes/v-style.js.map +1 -0
  58. package/build_module/vdom-nodes/collection-vdom.js +1 -1
  59. package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
  60. package/build_module/vdom-nodes/component-vdom.d.ts +0 -1
  61. package/build_module/vdom-nodes/component-vdom.js +36 -14
  62. package/build_module/vdom-nodes/component-vdom.js.map +1 -1
  63. package/build_module/vdom-nodes/container-vdom.d.ts +2 -0
  64. package/build_module/vdom-nodes/container-vdom.js +12 -0
  65. package/build_module/vdom-nodes/container-vdom.js.map +1 -1
  66. package/build_module/vdom-nodes/element-vdom.d.ts +3 -0
  67. package/build_module/vdom-nodes/element-vdom.js +39 -0
  68. package/build_module/vdom-nodes/element-vdom.js.map +1 -1
  69. package/build_module/vdom-nodes/html-vdom.js +1 -1
  70. package/build_module/vdom-nodes/html-vdom.js.map +1 -1
  71. package/build_module/window-wrapper.d.ts +20 -0
  72. package/build_module/window-wrapper.js +36 -0
  73. package/build_module/window-wrapper.js.map +1 -0
  74. package/package.json +4 -3
  75. package/readme.md +1 -1
  76. package/build_module/decoration/style.js +0 -1
  77. package/build_module/decoration/style.js.map +0 -1
  78. /package/build_module/{decoration/style.d.ts → css/css.d.ts} +0 -0
@@ -0,0 +1,28 @@
1
+ import Reactive from "../reactive";
2
+ export default class CssFunctionBuilderVStyle {
3
+ constructor(propName) {
4
+ this.funcs = [];
5
+ this.subscriptions = {};
6
+ this.propName = propName;
7
+ }
8
+ toString() {
9
+ let result = "";
10
+ for (let t of this.funcs) {
11
+ let argValues = t.args.map(arg => {
12
+ if (arg.v instanceof Reactive) {
13
+ return arg.f(arg.v.getValue());
14
+ }
15
+ else {
16
+ return arg.f(arg.v).split(" ").join(", ");
17
+ }
18
+ }).join(", ");
19
+ result += `${t.func}(${argValues}) `;
20
+ }
21
+ return result.trim();
22
+ }
23
+ appendFunction(filter, args) {
24
+ this.funcs.push({ func: filter, args: args });
25
+ return this;
26
+ }
27
+ }
28
+ //# sourceMappingURL=css-function-builder-v-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-function-builder-v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/css-function-builder-v-style.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,MAAM,CAAC,OAAO,OAAgB,wBAAwB;IAWrD,YAAY,QAAgB;QAR5B,UAAK,GAGA,EAAE,CAAC;QAER,kBAAa,GAA6B,EAAE,CAAC;QAI5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,QAAQ;QACP,IAAI,MAAM,GAAG,EAAE,CAAC;QAGhB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YAEvB,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAChC,IAAG,GAAG,CAAC,CAAC,YAAY,QAAQ,EAAC;oBAC5B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC/B;qBACG;oBACH,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1C;YACF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAGd,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC;SACrC;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IA6ED,cAAc,CAAC,MAAc,EAAE,IAAI;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;CAED"}
@@ -0,0 +1,13 @@
1
+ import CssFunctionBuilderVStyle from "./css-function-builder-v-style";
2
+ export default class FilterVStyle extends CssFunctionBuilderVStyle {
3
+ blur(v: any): this;
4
+ brightness(v: any): this;
5
+ contrast(v: any): this;
6
+ dropShadow(x: any, y: any, blur: any, color: any): this;
7
+ grayscale(v: any): this;
8
+ hueRotate(v: any): this;
9
+ invert(v: any): this;
10
+ opacity(v: any): this;
11
+ sepia(v: any): this;
12
+ saturate(v: any): this;
13
+ }
@@ -0,0 +1,35 @@
1
+ import { formatCssColor, formatCssLength, formatCssPercentage } from "../css/format-css-type";
2
+ import CssFunctionBuilderVStyle from "./css-function-builder-v-style";
3
+ export default class FilterVStyle extends CssFunctionBuilderVStyle {
4
+ blur(v) {
5
+ return this.appendFunction("blur", [{ v, f: formatCssLength }]);
6
+ }
7
+ brightness(v) {
8
+ return this.appendFunction("brightness", [{ v, f: formatCssPercentage }]);
9
+ }
10
+ contrast(v) {
11
+ return this.appendFunction("contrast", [{ v, f: formatCssLength }]);
12
+ }
13
+ dropShadow(x, y, blur, color) {
14
+ return this.appendFunction("drop-shadow", [{ v: x, f: formatCssLength }, { v: y, f: formatCssLength }, { v: blur, f: formatCssLength }, { v: color, f: formatCssColor }]);
15
+ }
16
+ grayscale(v) {
17
+ return this.appendFunction("grayscale", [{ v, f: formatCssLength }]);
18
+ }
19
+ hueRotate(v) {
20
+ return this.appendFunction("hue-rotate", [{ v, f: formatCssLength }]);
21
+ }
22
+ invert(v) {
23
+ return this.appendFunction("invert", [{ v, f: formatCssLength }]);
24
+ }
25
+ opacity(v) {
26
+ return this.appendFunction("opacity", [{ v, f: formatCssLength }]);
27
+ }
28
+ sepia(v) {
29
+ return this.appendFunction("sepia", [{ v, f: formatCssLength }]);
30
+ }
31
+ saturate(v) {
32
+ return this.appendFunction("saturate", [{ v, f: formatCssLength }]);
33
+ }
34
+ }
35
+ //# sourceMappingURL=filter-v-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/filter-v-style.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,wBAAwB,MAAM,gCAAgC,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,wBAAwB;IAEjE,IAAI,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,UAAU,CAAC,CAAC;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,QAAQ,CAAC,CAAC;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,EAAE,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAC,EAAE,EAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;IACnK,CAAC;IACD,SAAS,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,SAAS,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,CAAC;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,CAAC;QACN,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,QAAQ,CAAC,CAAC;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACD"}
@@ -0,0 +1,28 @@
1
+ import CssFunctionBuilderVStyle from "./css-function-builder-v-style";
2
+ export default class TransformVStyle extends CssFunctionBuilderVStyle {
3
+ matrix3d(a1: number, b1: number, c1: number, d1: number, a2: number, b2: number, c2: number, d2: number, a3: number, b3: number, c3: number, d3: number, a4: number, b4: number, c4: number, d4: number): this;
4
+ matrix(a: number, b: number, c: number, d: number, tx: number, ty: number): this;
5
+ translate(x: any, y?: any): this;
6
+ translate3d(x: any, y: any, z: any): this;
7
+ translateX(x: any): this;
8
+ translateY(y: any): this;
9
+ translateZ(z: any): this;
10
+ scale(x: number, y?: number): this;
11
+ scale3d(x: number, y: number, z: number): this;
12
+ scaleX(x: number): this;
13
+ scaleY(y: number): this;
14
+ scaleZ(z: number): this;
15
+ rotate(x: any): this;
16
+ rotate3d(x: number, y: number, z: number, a: any): this;
17
+ rotate3dDeg(x: number, y: number, z: number, a: number): this;
18
+ rotate3dRad(x: number, y: number, z: number, a: number): this;
19
+ rotate3dGrad(x: number, y: number, z: number, a: number): this;
20
+ rotate3dTurn(x: number, y: number, z: number, a: number): this;
21
+ rotateX(x: any): this;
22
+ rotateY(y: any): this;
23
+ rotateZ(z: any): this;
24
+ skew(x: any, y?: any): this;
25
+ skewX(x: any): this;
26
+ skewY(y: any): this;
27
+ perspective(d: any): this;
28
+ }
@@ -0,0 +1,76 @@
1
+ import CssFunctionBuilderVStyle from "./css-function-builder-v-style";
2
+ import { formatCssAngle, formatCssLength } from "../css/format-css-type";
3
+ export default class TransformVStyle extends CssFunctionBuilderVStyle {
4
+ matrix3d(a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4) {
5
+ return this.appendFunction("matrix3d", arguments);
6
+ }
7
+ matrix(a, b, c, d, tx, ty) {
8
+ return this.appendFunction("matrix", arguments);
9
+ }
10
+ translate(x, y) {
11
+ return arguments.length == 1
12
+ ? this.appendFunction("translate", [{ f: formatCssLength, v: x }])
13
+ : this.appendFunction("translate", [{ f: formatCssLength, v: x }, { f: formatCssLength, v: y }]);
14
+ }
15
+ translate3d(x, y, z) {
16
+ return this.appendFunction("translate3d", [{ f: formatCssLength, v: x }, { f: formatCssLength, v: y }, { f: formatCssLength, v: z }]);
17
+ }
18
+ translateX(x) {
19
+ return this.appendFunction("translateX", [{ f: formatCssLength, v: x }]);
20
+ }
21
+ translateY(y) {
22
+ return this.appendFunction("translateY", [{ f: formatCssLength, v: y }]);
23
+ }
24
+ translateZ(z) {
25
+ return this.appendFunction("translateZ", [{ f: formatCssLength, v: z }]);
26
+ }
27
+ scale(x, y) {
28
+ return this.appendFunction("scale", [x, y ?? 1]);
29
+ }
30
+ scale3d(x, y, z) {
31
+ return this.appendFunction("scale3d", [x, y, z]);
32
+ }
33
+ scaleX(x) {
34
+ return this.appendFunction("scaleX", [x]);
35
+ }
36
+ scaleY(y) {
37
+ return this.appendFunction("scaleY", [y]);
38
+ }
39
+ scaleZ(z) {
40
+ return this.appendFunction("scaleZ", [z]);
41
+ }
42
+ rotate(x) {
43
+ return this.appendFunction("rotate", [{ f: formatCssAngle, v: x }]);
44
+ }
45
+ rotate3d(x, y, z, a) {
46
+ return this.appendFunction("rotate3d", [x, y, z, { f: formatCssAngle, v: a }]);
47
+ }
48
+ rotate3dDeg(x, y, z, a) { return this.rotate3d(x, y, z, a); }
49
+ rotate3dRad(x, y, z, a) { return this.rotate3d(x, y, z, `${a}rad`); }
50
+ rotate3dGrad(x, y, z, a) { return this.rotate3d(x, y, z, `${a}grad`); }
51
+ rotate3dTurn(x, y, z, a) { return this.rotate3d(x, y, z, `${a}turn`); }
52
+ rotateX(x) {
53
+ return this.appendFunction("rotateX", [{ f: formatCssAngle, v: x }]);
54
+ }
55
+ rotateY(y) {
56
+ return this.appendFunction("rotateY", [{ f: formatCssAngle, v: y }]);
57
+ }
58
+ rotateZ(z) {
59
+ return this.appendFunction("rotateZ", [{ f: formatCssAngle, v: z }]);
60
+ }
61
+ skew(x, y) {
62
+ return arguments.length == 1
63
+ ? this.appendFunction("skew", [{ f: formatCssAngle, v: x }])
64
+ : this.appendFunction("skew", [{ f: formatCssAngle, v: x }, { f: formatCssAngle, v: y }]);
65
+ }
66
+ skewX(x) {
67
+ return this.appendFunction("skewX", [{ f: formatCssAngle, v: x }]);
68
+ }
69
+ skewY(y) {
70
+ return this.appendFunction("skewY", [{ f: formatCssAngle, v: y }]);
71
+ }
72
+ perspective(d) {
73
+ return this.appendFunction("perspective", [{ f: formatCssLength, v: d }]);
74
+ }
75
+ }
76
+ //# sourceMappingURL=transform-v-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/transform-v-style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export default abstract class VStyle {
2
+ abstract _render(target: HTMLElement): any;
3
+ abstract _unrender(): any;
4
+ abstract updateProp(prop: string, value: string): any;
5
+ toString(): string;
6
+ }
@@ -0,0 +1,6 @@
1
+ export default class VStyle {
2
+ toString() {
3
+ return "";
4
+ }
5
+ }
6
+ //# sourceMappingURL=v-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/v-style.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAgB,MAAM;IAOnC,QAAQ;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { deepEqual } from "../helpers";
1
+ import { deepEqual } from "../helpers/tools";
2
2
  import Reactive from "../reactive";
3
3
  import { TextVdom } from "./text-vdom";
4
4
  import { Vdom } from "./vdom";
@@ -1 +1 @@
1
- {"version":3,"file":"collection-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/collection-vdom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/collection-vdom.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ export declare class ComponentVdom extends Vdom {
5
5
  component: IComponent;
6
6
  shadowEl: HTMLElement;
7
7
  childShadowVdom: ContainerVdom;
8
- sharedStyles: CSSStyleSheet;
9
8
  constructor(component: IComponent);
10
9
  private setupCustomElement;
11
10
  _render(node: HTMLElement): void;
@@ -1,33 +1,51 @@
1
1
  import { Vdom } from "./vdom";
2
+ import renderStylesheet from "../helpers/render-stylesheet";
2
3
  export class ComponentVdom extends Vdom {
3
4
  constructor(component) {
4
5
  super();
5
6
  this.component = component;
6
- this.component.creating && this.component.creating();
7
- this.childShadowVdom = this.component.build && this.component.build(...component._._meta.args);
7
+ this.childShadowVdom = this.component.build && this.component.build();
8
8
  this.component.built && this.component.built();
9
9
  }
10
- setupCustomElement(component, document) {
11
- let cvdom = this;
12
- let customElementConstructor = document.defaultView.customElements.get(component._._meta.tagName);
13
- if (customElementConstructor == undefined) {
14
- customElementConstructor = class extends HTMLElement {
10
+ setupCustomElement(document) {
11
+ let CustomElementConstructor = document.defaultView.customElements.get(this.component._._meta.tagName);
12
+ if (CustomElementConstructor == undefined) {
13
+ let styles = this.component._._meta.styles;
14
+ let sharedStylesheets = [];
15
+ let styleTags = [];
16
+ if (styles) {
17
+ for (let i = 0; i < styles.length; i++) {
18
+ let styleItem = renderStylesheet(styles[i], document);
19
+ if (styleItem instanceof document.defaultView.CSSStyleSheet) {
20
+ sharedStylesheets.push(styleItem);
21
+ }
22
+ else {
23
+ styleTags.push(styleItem);
24
+ }
25
+ }
26
+ }
27
+ let DocSpecificHtmlEl = document.defaultView.HTMLElement;
28
+ CustomElementConstructor = class extends DocSpecificHtmlEl {
15
29
  set component(value) {
16
30
  this._component = value;
17
31
  this._renderComponent();
18
32
  }
19
33
  _renderComponent() {
20
- if (cvdom instanceof Vdom) {
34
+ if (this.cvdom instanceof Vdom) {
21
35
  let shadow = this.attachShadow({ mode: 'open' });
22
- this._component._.root = shadow;
23
- cvdom.childShadowVdom._render(shadow);
36
+ shadow.adoptedStyleSheets = sharedStylesheets;
37
+ for (let i = 0; i < styleTags.length; i++) {
38
+ shadow.appendChild(styleTags[i]);
39
+ }
40
+ this._component._._meta.shadowRoot = shadow;
41
+ this.cvdom.childShadowVdom._render(shadow);
24
42
  }
25
43
  else {
26
44
  throw new Error("Component build function returned invalid object.");
27
45
  }
28
46
  }
29
47
  };
30
- document.defaultView.customElements.define(component._._meta.tagName, customElementConstructor);
48
+ document.defaultView.customElements.define(this.component._._meta.tagName, CustomElementConstructor);
31
49
  }
32
50
  }
33
51
  _render(node) {
@@ -37,21 +55,25 @@ export class ComponentVdom extends Vdom {
37
55
  throw new Error("Individual component instances cannot be rendered twice at once.");
38
56
  if (!this.component._._meta)
39
57
  this.component._._meta = {};
58
+ this.component.mounting && this.component.mounting();
40
59
  this.component._._meta.isRendered = true;
41
60
  let document = node.ownerDocument;
42
- this.setupCustomElement(this.component, document);
61
+ this.setupCustomElement(document);
43
62
  this.shadowEl = document.createElement(this.component._._meta.tagName);
63
+ this.shadowEl["cvdom"] = this;
44
64
  this.shadowEl["component"] = this.component;
65
+ this.component._.restyle && this.component._.restyle();
45
66
  node.appendChild(this.shadowEl);
67
+ this.component.mounted && this.component.mounted();
46
68
  }
47
69
  _unrender() {
48
- this.component.deleting && this.component.deleting();
70
+ this.component.unmounting && this.component.unmounting();
49
71
  this.childShadowVdom._unrender();
50
72
  this.childShadowVdom = null;
51
73
  this.shadowEl.remove();
52
74
  this.shadowEl = null;
53
75
  this.component._._meta.isRendered = false;
54
- this.component.deleted && this.component.deleted();
76
+ this.component.unmounted && this.component.unmounted();
55
77
  }
56
78
  toString() {
57
79
  return `<${this.component._._meta.tagName}></${this.component._._meta.tagName}>`;
@@ -1 +1 @@
1
- {"version":3,"file":"component-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/component-vdom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/component-vdom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,aAAc,SAAQ,IAAI;IAMtC,YAAY,SAAqB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAA8B,CAAC;QAClG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAEhD,CAAC;IAGO,kBAAkB,CAAC,QAAkB;QAC5C,IAAI,wBAAwB,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvG,IAAG,wBAAwB,IAAI,SAAS,EAAC;YAGxC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3C,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAG,MAAM,EAAC;gBACT,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;oBACrC,IAAI,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACtD,IAAG,SAAS,YAAY,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAC;wBAC1D,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAClC;yBACG;wBACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC1B;iBACD;aACD;YAED,IAAI,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;YAEzD,wBAAwB,GAAG,KAAM,SAAQ,iBAAiB;gBAEzD,IAAI,SAAS,CAAC,KAAiB;oBAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzB,CAAC;gBAID,gBAAgB;oBACf,IAAG,IAAI,CAAC,KAAK,YAAY,IAAI,EAAC;wBAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBACjD,MAAM,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;wBAC9C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;4BACxC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjC;wBACA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAa,CAAC,UAAU,GAAG,MAAM,CAAC;wBACrD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;qBAClD;yBACG;wBACH,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;qBACrE;gBACF,CAAC;aACD,CAAA;YAED,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;SAGrG;IACF,CAAC;IAED,OAAO,CAAC,IAAiB;QACxB,IAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;QAC/I,IAAI,IAAI,CAAC,SAAS,CAAC,CAAS,EAAE,KAAK,EAAE,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrI,IAAG,CAAE,IAAI,CAAC,SAAS,CAAC,CAAS,CAAC,KAAK;YAAG,IAAI,CAAC,SAAS,CAAC,CAAS,CAAC,KAAK,GAAG,EAAE,CAAC;QAE1E,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAEpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAElD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QAGlC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAE5C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,SAAS;QACR,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAEzD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAa,CAAC,UAAU,GAAG,KAAK,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ;QAGP,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;IAClF,CAAC;CACD"}
@@ -12,8 +12,10 @@ export declare class ContainerVdom extends Vdom {
12
12
  _addChild(content: Vdom): this;
13
13
  _render(node: HTMLElement): void;
14
14
  _unrender(): void;
15
+ attr(A: string, c: any): void;
15
16
  html(c: string | Reactive): this;
16
17
  text(c: string | Reactive): this;
18
+ md(c: string | Reactive): this;
17
19
  mount(c: IComponent): this;
18
20
  when(condition: Reactive | boolean, then: ContainerVdom | string | boolean | number): this;
19
21
  otherwiseWhen(condition: Reactive | boolean, then: ContainerVdom | string | boolean | number, seal?: boolean): this;
@@ -27,6 +27,15 @@ export class ContainerVdom extends Vdom {
27
27
  this._children[c]._unrender();
28
28
  }
29
29
  }
30
+ attr(A, c) {
31
+ let C = this._children[this._children.length - 1];
32
+ if (C && C instanceof ElementVdom) {
33
+ C.setAttr(A, c);
34
+ }
35
+ else {
36
+ throw new Error(`Invalid node to set ${A} attribute.`);
37
+ }
38
+ }
30
39
  html(c) {
31
40
  let hn = new HtmlVdom(c);
32
41
  return this._addChild(hn);
@@ -35,6 +44,9 @@ export class ContainerVdom extends Vdom {
35
44
  let tn = new TextVdom(c);
36
45
  return this._addChild(tn);
37
46
  }
47
+ md(c) {
48
+ return this.text(c);
49
+ }
38
50
  mount(c) {
39
51
  let cn = new ComponentVdom(c);
40
52
  return this._addChild(cn);
@@ -1 +1 @@
1
- {"version":3,"file":"container-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/container-vdom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/container-vdom.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,MAAM,OAAO,aAAc,SAAQ,IAAI;IAItC;QACC,KAAK,EAAE,CAAC;QAJT,cAAS,GAAgB,EAAE,CAAC;QAC5B,YAAO,GAAe,IAAI,CAAC;IAI3B,CAAC;IAED,SAAS,CAAC,OAAa;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,IAAiB;QACxB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC;IACF,CAAC;IAED,SAAS;QACR,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SAC9B;IACF,CAAC;IAGD,IAAI,CAAC,CAAS,EAAE,CAAM;QACrB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,IAAG,CAAC,IAAI,CAAC,YAAY,WAAW,EAAC;YAChC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChB;aACG;YACH,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;SACvD;IACF,CAAC;IAED,IAAI,CAAC,CAAkB;QACtB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,CAAkB;QACtB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,EAAE,CAAC,CAAkB;QAGpB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAYD,KAAK,CAAC,CAAa;QAClB,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAGD,IAAI,CAAC,SAA0B,EAAE,IAAyC;QACzE,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,aAA4B,CAAC;QACjC,IAAG,IAAI,YAAY,aAAa,EAAC;YAChC,aAAa,GAAG,IAAI,CAAC;SACrB;aACG;YACH,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,GAAG,aAAa,CAAC;SACrB;QACD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,aAAa,CAAC,SAA0B,EAAE,IAAyC,EAAE,IAAI,GAAG,KAAK;QAChG,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,IAAG,QAAQ,YAAY,eAAe,EAAC;YACtC,IAAI,aAA4B,CAAC;YACjC,IAAG,IAAI,YAAY,aAAa,EAAC;gBAChC,aAAa,GAAG,IAAI,CAAC;aACrB;iBACG;gBACH,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBACpC,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,GAAG,aAAa,CAAC;aACrB;YACD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAI7C;aACG;YACH,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IACD,SAAS,CAAC,IAAyC,IAAG,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;IAEnG,IAAI,CAAC,UAAgC,EAAE,QAAkB;QACxD,IAAI,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -7,6 +7,9 @@ export default class ElementVdom extends Vdom {
7
7
  private attributes;
8
8
  private events;
9
9
  private attributeObserverIds;
10
+ private childBuilders;
11
+ private attrVNodes;
12
+ private styleVNodes;
10
13
  constructor(tag: string);
11
14
  _render(node: HTMLElement): void;
12
15
  _unrender(): void;
@@ -1,5 +1,7 @@
1
1
  import { DOT_VDOM_PROP_NAME } from "../constants";
2
2
  import Reactive from "../reactive";
3
+ import AttributeVNode from "../v-meta-nodes/attribute-v-node";
4
+ import StyleVNode from "../v-meta-nodes/style-v-node";
3
5
  import { ContainerVdom } from "./container-vdom";
4
6
  import { Vdom } from "./vdom";
5
7
  export default class ElementVdom extends Vdom {
@@ -10,6 +12,9 @@ export default class ElementVdom extends Vdom {
10
12
  this.attributes = {};
11
13
  this.events = [];
12
14
  this.attributeObserverIds = [];
15
+ this.childBuilders = [];
16
+ this.attrVNodes = [];
17
+ this.styleVNodes = [];
13
18
  this.tag = tag;
14
19
  this.children = new ContainerVdom();
15
20
  this.children._parent = this;
@@ -33,6 +38,18 @@ export default class ElementVdom extends Vdom {
33
38
  this.children._unrender();
34
39
  this.element.parentNode?.removeChild(this.element);
35
40
  this.element = null;
41
+ for (let i = 0; i < this.childBuilders.length; i++) {
42
+ this.childBuilders[i]._unrender();
43
+ }
44
+ this.childBuilders.length = 0;
45
+ for (let i = 0; i < this.attrVNodes.length; i++) {
46
+ this.attrVNodes[i].unrender();
47
+ }
48
+ this.attrVNodes.length = 0;
49
+ for (let i = 0; i < this.styleVNodes.length; i++) {
50
+ this.styleVNodes[i].unrender();
51
+ }
52
+ this.styleVNodes.length = 0;
36
53
  for (let i = 0; i < this.attributeObserverIds.length; i++) {
37
54
  let item = this.attributeObserverIds[i];
38
55
  item.observable.detachBinding(item.id);
@@ -48,6 +65,19 @@ export default class ElementVdom extends Vdom {
48
65
  }
49
66
  }
50
67
  setAttr(attr, value) {
68
+ attr = (attr ?? "").toLowerCase();
69
+ if (value && typeof value === "object" && !(value instanceof Array || value instanceof Reactive)) {
70
+ switch (attr) {
71
+ case "style": {
72
+ value = new StyleVNode(value);
73
+ break;
74
+ }
75
+ default: {
76
+ value = new AttributeVNode(attr, value);
77
+ break;
78
+ }
79
+ }
80
+ }
51
81
  this.attributes[attr] = value;
52
82
  if (this.element) {
53
83
  this.renderAttr(attr, value, this.element);
@@ -63,6 +93,9 @@ export default class ElementVdom extends Vdom {
63
93
  else
64
94
  node.removeAttribute(attr);
65
95
  }
96
+ else if (value instanceof Array) {
97
+ node.setAttribute(attr, value.join(" "));
98
+ }
66
99
  else if (value instanceof Reactive) {
67
100
  this.renderAttr(attr, value.getValue(), node);
68
101
  let id = value.subscribeAttr(this, attr);
@@ -73,6 +106,12 @@ export default class ElementVdom extends Vdom {
73
106
  });
74
107
  }
75
108
  }
109
+ else if (value instanceof AttributeVNode) {
110
+ value.render(node);
111
+ }
112
+ else if (value instanceof StyleVNode) {
113
+ value.render(node);
114
+ }
76
115
  else {
77
116
  }
78
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"element-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/element-vdom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/element-vdom.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { removeNodesBetween } from "../helpers";
1
+ import { removeNodesBetween } from "../helpers/tools";
2
2
  import Reactive from "../reactive";
3
3
  import { Vdom } from "./vdom";
4
4
  export class HtmlVdom extends Vdom {
@@ -1 +1 @@
1
- {"version":3,"file":"html-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/html-vdom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAQjC,YAAY,IAAqB;QAChC,KAAK,EAAE,CAAC;QAHT,eAAU,GAAW,CAAC,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,IAAI;QACd,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAGpD,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAC,UAAU,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3E;SACD;IACF,CAAC;IAED,OAAO,CAAC,MAAmB;QAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChD;aACG;YACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACjB;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS;QACR,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAG3C,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACtB;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACnD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACpB;IACF,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACD"}
1
+ {"version":3,"file":"html-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/html-vdom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAQjC,YAAY,IAAqB;QAChC,KAAK,EAAE,CAAC;QAHT,eAAU,GAAW,CAAC,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,IAAI;QACd,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAGpD,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAC,UAAU,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3E;SACD;IACF,CAAC;IAED,OAAO,CAAC,MAAmB;QAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChD;aACG;YACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACjB;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS;QACR,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAG3C,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACtB;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACnD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACpB;IACF,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACD"}
@@ -0,0 +1,20 @@
1
+ import { IComponent, IDotWindowWrapper } from "dothtml-interfaces";
2
+ import { ContainerVdom } from "./vdom-nodes/container-vdom";
3
+ export default class WindowWrapper implements IDotWindowWrapper {
4
+ window: Window;
5
+ document: Document;
6
+ title: string;
7
+ root: IComponent;
8
+ _vdom: ContainerVdom;
9
+ width: number;
10
+ height: number;
11
+ isOpen: boolean;
12
+ constructor(options: {
13
+ content: IComponent;
14
+ width?: number;
15
+ height?: number;
16
+ title?: string;
17
+ });
18
+ open(): void;
19
+ close(): void;
20
+ }
@@ -0,0 +1,36 @@
1
+ import dot from "./dot";
2
+ let documentId = 1;
3
+ export default class WindowWrapper {
4
+ constructor(options) {
5
+ this.isOpen = false;
6
+ this.root = options.content;
7
+ this.width = options.width || options.height || 600;
8
+ this.height = options.height || options.width || 400;
9
+ this.title = options.title || "Window";
10
+ }
11
+ open() {
12
+ if (this.isOpen) {
13
+ console.warn("Window is already open.");
14
+ return;
15
+ }
16
+ this.window = window.open("", this.title, `width=${this.width},height=${this.height}`);
17
+ this.document = this.window.document;
18
+ this.document["_dotId"] = `${documentId++}`;
19
+ this.document.write(`<!DOCTYPE html><html><head><title>${this.title}</title></head><body></body></html>`);
20
+ this._vdom = dot(this.document.body, this.window).mount(this.root);
21
+ if (this.window) {
22
+ this.isOpen = true;
23
+ }
24
+ }
25
+ close() {
26
+ if (this.window) {
27
+ this._vdom._unrender();
28
+ this._vdom = null;
29
+ this.window.close();
30
+ this.window = null;
31
+ this.document = null;
32
+ this.isOpen = false;
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=window-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-wrapper.js","sourceRoot":"","sources":["../src/window-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,CAAC,OAAO,OAAO,aAAa;IAUjC,YAAY,OAA+E;QAF3F,WAAM,GAAG,KAAK,CAAC;QAGd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IAExC,CAAC;IAED,IAAI;QACH,IAAG,IAAI,CAAC,MAAM,EAAC;YACd,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;SACP;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,KAAK,qCAAqC,CAAC,CAAC;QAE1G,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAA6B,CAAC;QAE/F,IAAG,IAAI,CAAC,MAAM,EAAC;YACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACnB;IACF,CAAC;IAED,KAAK;QACJ,IAAG,IAAI,CAAC,MAAM,EAAC;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACpB;IACF,CAAC;CACD"}