dothtml 6.0.0-beta.32 → 6.0.0-beta.34

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 (57) hide show
  1. package/build_module/css/format-css-type.d.ts +4 -4
  2. package/build_module/css/format-css-type.js +7 -7
  3. package/build_module/css/format-css-type.js.map +1 -1
  4. package/build_module/dot.js +19 -13
  5. package/build_module/dot.js.map +1 -1
  6. package/build_module/reactivity/binding.d.ts +7 -0
  7. package/build_module/reactivity/binding.js +42 -0
  8. package/build_module/reactivity/binding.js.map +1 -0
  9. package/build_module/reactivity/bound-reactive.d.ts +13 -0
  10. package/build_module/reactivity/bound-reactive.js +20 -0
  11. package/build_module/reactivity/bound-reactive.js.map +1 -0
  12. package/build_module/reactivity/reactive-attr.d.ts +6 -0
  13. package/build_module/reactivity/reactive-attr.js +7 -0
  14. package/build_module/reactivity/reactive-attr.js.map +1 -0
  15. package/build_module/reactivity/reactive-style.d.ts +6 -0
  16. package/build_module/reactivity/reactive-style.js +7 -0
  17. package/build_module/reactivity/reactive-style.js.map +1 -0
  18. package/build_module/reactivity/reactive.d.ts +22 -0
  19. package/build_module/reactivity/reactive.js +54 -0
  20. package/build_module/reactivity/reactive.js.map +1 -0
  21. package/build_module/v-meta-nodes/attribute-v-node.d.ts +3 -3
  22. package/build_module/v-meta-nodes/attribute-v-node.js +10 -5
  23. package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -1
  24. package/build_module/v-meta-nodes/style-v-node.d.ts +2 -2
  25. package/build_module/v-meta-nodes/style-v-node.js +8 -8
  26. package/build_module/v-meta-nodes/style-v-node.js.map +1 -1
  27. package/build_module/v-style-nodes/base-v-style.js +6 -5
  28. package/build_module/v-style-nodes/base-v-style.js.map +1 -1
  29. package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +4 -4
  30. package/build_module/v-style-nodes/css-function-builder-v-style.js +3 -3
  31. package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -1
  32. package/build_module/v-style-nodes/filter-v-style.js.map +1 -1
  33. package/build_module/vdom-nodes/collection-vdom.d.ts +3 -3
  34. package/build_module/vdom-nodes/collection-vdom.js +17 -14
  35. package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
  36. package/build_module/vdom-nodes/component-vdom.d.ts +3 -3
  37. package/build_module/vdom-nodes/component-vdom.js +1 -3
  38. package/build_module/vdom-nodes/component-vdom.js.map +1 -1
  39. package/build_module/vdom-nodes/conditional-vdom.d.ts +2 -2
  40. package/build_module/vdom-nodes/conditional-vdom.js +8 -8
  41. package/build_module/vdom-nodes/conditional-vdom.js.map +1 -1
  42. package/build_module/vdom-nodes/container-vdom.d.ts +10 -8
  43. package/build_module/vdom-nodes/container-vdom.js +20 -12
  44. package/build_module/vdom-nodes/container-vdom.js.map +1 -1
  45. package/build_module/vdom-nodes/element-vdom.d.ts +6 -1
  46. package/build_module/vdom-nodes/element-vdom.js +13 -9
  47. package/build_module/vdom-nodes/element-vdom.js.map +1 -1
  48. package/build_module/vdom-nodes/html-vdom.d.ts +3 -3
  49. package/build_module/vdom-nodes/html-vdom.js +7 -7
  50. package/build_module/vdom-nodes/html-vdom.js.map +1 -1
  51. package/build_module/vdom-nodes/text-vdom.d.ts +3 -3
  52. package/build_module/vdom-nodes/text-vdom.js +7 -7
  53. package/build_module/vdom-nodes/text-vdom.js.map +1 -1
  54. package/build_module/window-wrapper.d.ts +3 -3
  55. package/build_module/window-wrapper.js +4 -1
  56. package/build_module/window-wrapper.js.map +1 -1
  57. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
- import Reactive from "../reactive";
2
- export declare function formatCssLength(value: string | number | Reactive | Array<string | number | Reactive>, defaultUnits?: string): any;
3
- export declare function formatCssPercentage(value: string | number | Reactive | Array<string | number | Reactive>): any;
1
+ import BoundReactive from "../reactivity/bound-reactive";
2
+ export declare function formatCssLength(value: string | number | BoundReactive | Array<string | number | BoundReactive>, defaultUnits?: string): any;
3
+ export declare function formatCssPercentage(value: string | number | BoundReactive | Array<string | number | BoundReactive>): any;
4
4
  export declare function formatCssColor(value: string | number): string;
5
- export declare function formatCssAngle(value: string | number | Reactive | Array<string | number | Reactive>): any;
5
+ export declare function formatCssAngle(value: string | number | BoundReactive | Array<string | number | BoundReactive>): any;
@@ -1,9 +1,9 @@
1
1
  import { floatRegex } from "../helpers/tools";
2
- import Reactive from "../reactive";
2
+ import BoundReactive from "../reactivity/bound-reactive";
3
3
  export function formatCssLength(value, defaultUnits = "px") {
4
4
  value = value || "0px";
5
- if (value instanceof Reactive)
6
- value = value.getValue();
5
+ if (value instanceof BoundReactive)
6
+ value = value._get();
7
7
  if (value instanceof Array) {
8
8
  return value.map(v => formatCssLength(v, defaultUnits)).join(" ");
9
9
  }
@@ -21,8 +21,8 @@ export function formatCssLength(value, defaultUnits = "px") {
21
21
  }
22
22
  export function formatCssPercentage(value) {
23
23
  value = value || "0%";
24
- if (value instanceof Reactive)
25
- value = value.getValue();
24
+ if (value instanceof BoundReactive)
25
+ value = value._get();
26
26
  if (value instanceof Array) {
27
27
  return value.map(v => formatCssPercentage(v)).join(" ");
28
28
  }
@@ -53,8 +53,8 @@ export function formatCssColor(value) {
53
53
  }
54
54
  export function formatCssAngle(value) {
55
55
  value = value || "0deg";
56
- if (value instanceof Reactive)
57
- value = value.getValue();
56
+ if (value instanceof BoundReactive)
57
+ value = value._get();
58
58
  if (value instanceof Array) {
59
59
  return value.map(v => formatCssAngle(v)).join(" ");
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,UAAU,eAAe,CAAC,KAA0D,EAAE,YAAY,GAAG,IAAI;IAC9G,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;IACvB,IAAG,KAAK,YAAY,QAAQ;QAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAG,KAAK,YAAY,KAAK,EAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChE;IACD,IAAG,CAAC,KAAK,CAAC,KAAe,CAAC;QAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,GAAG,YAAY,CAAC;IAC/E,IAAI,MAAM,GAAI,KAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjE;SACG;QACH,IAAI,MAAM,GAAG,MAAM,CAAE,KAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAI,KAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;QAEnE,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;KAC3B;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA2D;IAC9F,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IACtB,IAAG,KAAK,YAAY,QAAQ;QAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAG,KAAK,YAAY,KAAK,EAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACtD;IACD,IAAI,MAAM,GAAI,KAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvD;SACG;QACH,OAAO,KAAK,CAAC,KAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;KACjD;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IAQlD,IAAG,OAAO,KAAK,IAAI,QAAQ,EAAE;QAE5B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,KAAK,CAAC,CAAC;QACZ,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,KAAK,CAAC,CAAC;QACZ,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QAEjB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7B;SACI,IAAG,OAAO,KAAK,IAAI,QAAQ,EAAE;QACjC,OAAO,KAAK,CAAC;KACb;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA2D;IACzF,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC;IACxB,IAAG,KAAK,YAAY,QAAQ;QAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAG,KAAK,YAAY,KAAK,EAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjD;IACD,IAAG,CAAC,KAAK,CAAC,KAAe,CAAC;QAAE,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,KAAK,CAAC;IACxE,IAAI,MAAM,GAAI,KAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClD;SACG;QACH,IAAI,KAAK,GAAG,MAAM,CAAE,KAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,GAAI,KAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAE5D,OAAO,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;KAC1B;AACF,CAAC"}
1
+ {"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import { TextVdom } from "./vdom-nodes/text-vdom";
3
3
  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
- import Reactive from "./reactive";
6
+ import Reactive from "./reactivity/reactive";
7
7
  import { ComponentVdom } from "./vdom-nodes/component-vdom";
8
8
  import BaseVStyle from "./v-style-nodes/base-v-style";
9
9
  import WindowWrapper from "./window-wrapper";
10
+ import BoundReactive from "./reactivity/bound-reactive";
10
11
  const allTags = [
11
12
  "a",
12
13
  "aside",
@@ -198,7 +199,7 @@ const allEventAttr = {
198
199
  };
199
200
  const makeCoreWrapper = (d, fn) => {
200
201
  d[fn] = function () {
201
- let n = new ContainerVdom();
202
+ let n = new ContainerVdom(dot);
202
203
  n[fn](...arguments);
203
204
  return n;
204
205
  };
@@ -212,7 +213,7 @@ const makeDot = () => {
212
213
  return node.children;
213
214
  }
214
215
  else {
215
- node = new ElementVdom(el.tagName.toLocaleLowerCase());
216
+ node = new ElementVdom(dot, el.tagName.toLocaleLowerCase());
216
217
  node.element = el;
217
218
  node.children._parent = node;
218
219
  el[DOT_VDOM_PROP_NAME] = node;
@@ -226,11 +227,10 @@ const makeDot = () => {
226
227
  throw new Error("Invalid render target.");
227
228
  }
228
229
  };
229
- _dot.watch = function (value, options) {
230
+ _dot.watch = function (value, key) {
230
231
  let o = new Reactive();
231
- o.key = options?.key;
232
- o.transform = options?.transform;
233
- o.setValue(value);
232
+ o.key = key;
233
+ o.value = (value);
234
234
  return o;
235
235
  };
236
236
  _dot.css = new BaseVStyle();
@@ -266,15 +266,15 @@ const makeDot = () => {
266
266
  for (let i = 0; i < allTags.length; i++) {
267
267
  let E = allTags[i];
268
268
  ContainerVdom.prototype[E] = function (a, b) {
269
- let n = new ElementVdom(E);
269
+ let n = new ElementVdom(dot, E);
270
270
  let cont;
271
271
  let attrs;
272
272
  {
273
- if (a instanceof ContainerVdom || a instanceof Vdom || (a?._?._meta && a?.build) || a instanceof Reactive || typeof a === "string" || typeof a === "number" || typeof a === "boolean" || Array.isArray(a)) {
273
+ if (a instanceof ContainerVdom || a instanceof Vdom || (a?._?._meta && a?.build) || a instanceof Reactive || a instanceof BoundReactive || typeof a === "string" || typeof a === "number" || typeof a === "boolean" || Array.isArray(a)) {
274
274
  cont = a;
275
275
  attrs = b;
276
276
  }
277
- if (b instanceof ContainerVdom || b instanceof Vdom || (b?._?._meta && b?.build) || b instanceof Reactive || typeof b === "string" || typeof b === "number" || typeof b === "boolean" || Array.isArray(b)) {
277
+ if (b instanceof ContainerVdom || b instanceof Vdom || (b?._?._meta && b?.build) || b instanceof Reactive || b instanceof BoundReactive || typeof b === "string" || typeof b === "number" || typeof b === "boolean" || Array.isArray(b)) {
278
278
  if (cont)
279
279
  throw new Error("Both element arguments can't be content.");
280
280
  cont = b;
@@ -287,14 +287,17 @@ const makeDot = () => {
287
287
  {
288
288
  if (attrs) {
289
289
  for (let k in attrs) {
290
+ let attr = attrs[k];
291
+ if (attr instanceof Reactive)
292
+ attr = attr.bind();
290
293
  if (allEventAttr[k]) {
291
294
  if (typeof attrs[k] !== "function") {
292
295
  throw new Error(`Value of event attribute ${k} must be a function.`);
293
296
  }
294
- n.addEventListener(k.substring(2), attrs[k]);
297
+ n.addEventListener(k.substring(2), attr);
295
298
  }
296
299
  else {
297
- n.setAttr(k, attrs[k]);
300
+ n.setAttr(k, attr);
298
301
  }
299
302
  }
300
303
  }
@@ -307,10 +310,13 @@ const makeDot = () => {
307
310
  n.children._addChild(cont);
308
311
  }
309
312
  else if (cont?._?._meta && cont?.build) {
310
- n.children._addChild(new ComponentVdom(cont));
313
+ n.children._addChild(new ComponentVdom(dot, cont));
311
314
  }
312
315
  else {
313
316
  if (cont !== null && cont !== undefined) {
317
+ if (cont instanceof Reactive) {
318
+ cont = cont.bind();
319
+ }
314
320
  n.children._addChild(new TextVdom(cont));
315
321
  }
316
322
  }
@@ -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,7 @@
1
+ import { IBoundReactive } from "dothtml-interfaces";
2
+ export default class Binding {
3
+ boundReactive: IBoundReactive;
4
+ item: any;
5
+ constructor(boundReactive: IBoundReactive, item: any);
6
+ update(): void;
7
+ }
@@ -0,0 +1,42 @@
1
+ import VMetaNode from "../v-meta-nodes/v-meta-node";
2
+ import CollectionVdom from "../vdom-nodes/collection-vdom";
3
+ import { ConditionalVdom } from "../vdom-nodes/conditional-vdom";
4
+ import { HtmlVdom } from "../vdom-nodes/html-vdom";
5
+ import { TextVdom } from "../vdom-nodes/text-vdom";
6
+ import ReactiveAttr from "./reactive-attr";
7
+ import ReactiveStyle from "./reactive-style";
8
+ export default class Binding {
9
+ constructor(boundReactive, item) {
10
+ this.boundReactive = boundReactive;
11
+ this.item = item;
12
+ }
13
+ update() {
14
+ let value = this.boundReactive._get();
15
+ if (this.item instanceof TextVdom) {
16
+ this.item.textNode.textContent = value ?? "";
17
+ }
18
+ else if (this.item instanceof HtmlVdom) {
19
+ this.item.updateHtml(value);
20
+ }
21
+ else if (this.item instanceof ReactiveAttr) {
22
+ console.log("UPDATING REACTIVE ATTR", this.item.attribute, value);
23
+ this.item.elementVdom.setAttr(this.item.attribute, this.boundReactive);
24
+ }
25
+ else if (this.item instanceof VMetaNode) {
26
+ this.item.update();
27
+ }
28
+ else if (this.item instanceof ReactiveStyle) {
29
+ this.item.vStyle.updateProp(this.item.prop, value);
30
+ }
31
+ else if (this.item instanceof CollectionVdom) {
32
+ this.item.updateList();
33
+ }
34
+ else if (this.item instanceof ConditionalVdom) {
35
+ this.item.updateConditions();
36
+ }
37
+ else if (this.item instanceof Function) {
38
+ this.item(value);
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/reactivity/binding.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,OAAO;IAI3B,YAAY,aAA6B,EAAE,IAAS;QACnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAGD,MAAM;QACL,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAe,IAAI,EAAE,CAAC;SACvD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,YAAY,EAAC;YACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACvE;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,SAAS,EAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACnB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,aAAa,EAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,cAAc,EAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SACvB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,eAAe,EAAC;YAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC7B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjB;IACF,CAAC;CACD"}
@@ -0,0 +1,13 @@
1
+ import { IBoundReactive, IReactive } from "dothtml-interfaces";
2
+ export default class BoundReactive<T = any, Td = T> implements IBoundReactive<T, Td> {
3
+ _source: IReactive<T>;
4
+ _transform: {
5
+ display?: (v: T) => Td;
6
+ read?: (v: string) => T;
7
+ };
8
+ _get(): Td;
9
+ _set(v: string | number | boolean): void;
10
+ _subscribe(subscriber: any): number;
11
+ _unsubscribe(id: number): void;
12
+ constructor(source: IReactive<T>);
13
+ }
@@ -0,0 +1,20 @@
1
+ export default class BoundReactive {
2
+ _get() {
3
+ let v = this._transform?.display ? this._transform.display(this._source.value) : this._source.value;
4
+ return v;
5
+ }
6
+ _set(v) {
7
+ let value = this._transform?.read ? this._transform.read(v) : v;
8
+ this._source.value = value;
9
+ }
10
+ _subscribe(subscriber) {
11
+ return this._source._subscribe(this, subscriber);
12
+ }
13
+ _unsubscribe(id) {
14
+ this._source._detachBinding(id);
15
+ }
16
+ constructor(source) {
17
+ this._source = source;
18
+ }
19
+ }
20
+ //# sourceMappingURL=bound-reactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bound-reactive.js","sourceRoot":"","sources":["../../src/reactivity/bound-reactive.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,aAAa;IAQjC,IAAI;QAEH,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAsB,CAAC;QAErH,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,CAAwB;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,UAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,EAAU;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,MAAoB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,6 @@
1
+ import ElementVdom from "../vdom-nodes/element-vdom";
2
+ export default class ReactiveAttr {
3
+ elementVdom: ElementVdom;
4
+ attribute: string;
5
+ constructor(elementVdom: ElementVdom, attribute: string);
6
+ }
@@ -0,0 +1,7 @@
1
+ export default class ReactiveAttr {
2
+ constructor(elementVdom, attribute) {
3
+ this.elementVdom = elementVdom;
4
+ this.attribute = attribute;
5
+ }
6
+ }
7
+ //# sourceMappingURL=reactive-attr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attr.js","sourceRoot":"","sources":["../../src/reactivity/reactive-attr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;IAKhC,YAAY,WAAwB,EAAE,SAAiB;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD"}
@@ -0,0 +1,6 @@
1
+ import VStyle from "../v-style-nodes/v-style";
2
+ export default class ReactiveStyle {
3
+ vStyle: VStyle;
4
+ prop: string;
5
+ constructor(vStyle: VStyle, attribute: string);
6
+ }
@@ -0,0 +1,7 @@
1
+ export default class ReactiveStyle {
2
+ constructor(vStyle, attribute) {
3
+ this.vStyle = vStyle;
4
+ this.prop = attribute;
5
+ }
6
+ }
7
+ //# sourceMappingURL=reactive-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-style.js","sourceRoot":"","sources":["../../src/reactivity/reactive-style.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAKjC,YAAY,MAAc,EAAE,SAAiB;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,22 @@
1
+ import { IBoundReactive, IReactive } from "dothtml-interfaces";
2
+ import BoundReactive from "./bound-reactive";
3
+ import Binding from "./binding";
4
+ export default class Reactive<T = any> implements IReactive<T> {
5
+ bindAs<Td>(transform: {
6
+ display?: (v: T) => Td;
7
+ read?: (v: string) => T;
8
+ }): IBoundReactive<T, Td>;
9
+ bind(): BoundReactive<T, T>;
10
+ _value: T;
11
+ key: string;
12
+ allBindings: Record<number, Binding>;
13
+ constructor();
14
+ get value(): T;
15
+ set value(v: T);
16
+ private updater;
17
+ nextId: number;
18
+ subscribe(callback: Function): any;
19
+ _subscribe(boundReactive: IBoundReactive, item: any): number;
20
+ _detachBinding(id: number): void;
21
+ updateObservers(): void;
22
+ }
@@ -0,0 +1,54 @@
1
+ import BoundReactive from "./bound-reactive";
2
+ import Binding from "./binding";
3
+ const TEXT_OFFSET = 0;
4
+ const HTML_OFFSET = 1;
5
+ const ATTR_OFFSET = 2;
6
+ const ATTR_COLLECTION_OFFSET = 3;
7
+ const STYLE_OFFSET = 4;
8
+ const COND_OFFSET = 5;
9
+ const ARRAY_OFFSET = 6;
10
+ const CB_OFFSET = 7;
11
+ const CATEGORIES = CB_OFFSET + 1;
12
+ export default class Reactive {
13
+ bindAs(transform) {
14
+ let br = new BoundReactive(this);
15
+ br._transform = transform;
16
+ return br;
17
+ }
18
+ bind() {
19
+ return new BoundReactive(this);
20
+ }
21
+ constructor() {
22
+ this.allBindings = {};
23
+ this.nextId = 1;
24
+ }
25
+ get value() {
26
+ return this._value;
27
+ }
28
+ set value(v) {
29
+ this._value = v;
30
+ this.updater(this._value);
31
+ }
32
+ updater(value) {
33
+ for (let b in this.allBindings) {
34
+ this.allBindings[b].update();
35
+ }
36
+ }
37
+ subscribe(callback) {
38
+ let br = new BoundReactive(this);
39
+ return br._subscribe(callback);
40
+ }
41
+ _subscribe(boundReactive, item) {
42
+ let id = this.nextId++;
43
+ this.allBindings[id] = new Binding(boundReactive, item);
44
+ return id;
45
+ }
46
+ _detachBinding(id) {
47
+ delete this.allBindings[id];
48
+ }
49
+ updateObservers() {
50
+ let updatedValue = this.value;
51
+ this.updater(updatedValue);
52
+ }
53
+ }
54
+ //# sourceMappingURL=reactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../src/reactivity/reactive.ts"],"names":[],"mappings":"AAUA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAGtB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,QAAQ;IAE5B,MAAM,CAAK,SAGV;QACA,IAAI,EAAE,GAAG,IAAI,aAAa,CAAQ,IAAI,CAA0B,CAAC;QAEjE,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;QAE1B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI;QACH,OAAO,IAAI,aAAa,CAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAOD;QAFA,gBAAW,GAA4B,EAAE,CAAC;QAwB1C,WAAM,GAAG,CAAC,CAAC;IArBX,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAI;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAKhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAC,KAAQ;QACvB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7B;IACF,CAAC;IAID,SAAS,CAAC,QAAkB;QAC3B,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,aAA6B,EAAE,IAAS;QAClD,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAExD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAID,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
@@ -1,10 +1,10 @@
1
- import Reactive from "../reactive";
1
+ import BoundReactive from "../reactivity/bound-reactive";
2
2
  import VMetaNode from "./v-meta-node";
3
3
  export default class AttributeVNode extends VMetaNode {
4
4
  attr: string;
5
- value: Record<string, string | Reactive>;
5
+ value: Record<string, string | BoundReactive>;
6
6
  target: HTMLElement;
7
- observables: Record<number, Reactive>;
7
+ observables: Record<number, BoundReactive>;
8
8
  constructor(attrName: any, attrValue: any);
9
9
  render(target: HTMLElement): void;
10
10
  update(): void;
@@ -1,4 +1,5 @@
1
- import Reactive from "../reactive";
1
+ import BoundReactive from "../reactivity/bound-reactive";
2
+ import Reactive from "../reactivity/reactive";
2
3
  import VMetaNode from "./v-meta-node";
3
4
  export default class AttributeVNode extends VMetaNode {
4
5
  constructor(attrName, attrValue) {
@@ -12,8 +13,10 @@ export default class AttributeVNode extends VMetaNode {
12
13
  {
13
14
  for (let k in this.value) {
14
15
  let v = this.value[k];
15
- if (v && v instanceof Reactive) {
16
- let id = v.subscribeAttrCollection(this);
16
+ if (v instanceof Reactive)
17
+ v = v.bind();
18
+ if (v && v instanceof BoundReactive) {
19
+ let id = v._subscribe(this);
17
20
  this.observables[id] = v;
18
21
  }
19
22
  }
@@ -29,7 +32,9 @@ export default class AttributeVNode extends VMetaNode {
29
32
  for (let k in this.value) {
30
33
  let v = this.value[k];
31
34
  if (v) {
32
- if (!(v instanceof Reactive) || v.getValue()) {
35
+ if (v instanceof Reactive)
36
+ v = v.bind();
37
+ if (!(v instanceof BoundReactive) || v._get()) {
33
38
  tokens.push(k);
34
39
  }
35
40
  }
@@ -40,7 +45,7 @@ export default class AttributeVNode extends VMetaNode {
40
45
  this.target = null;
41
46
  for (let o in this.observables) {
42
47
  let v = this.observables[o];
43
- v.detachBinding(Number(o));
48
+ v._unsubscribe(Number(o));
44
49
  }
45
50
  this.observables = {};
46
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/attribute-v-node.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAQpD,YAAY,QAAQ,EAAE,SAAS;QAC9B,KAAK,EAAE,CAAC;QAHT,gBAAW,GAA6B,EAAE,CAAC;QAI1C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB;YACC,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;gBACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAC;oBAC7B,IAAI,EAAE,GAAG,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACzB;aACD;SACD;QAED;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;IACF,CAAC;IAED,MAAM;QACL,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAG,CAAC,EAAC;gBACJ,IAAG,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACf;aACD;SACD;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,CAAC;CACD"}
1
+ {"version":3,"file":"attribute-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/attribute-v-node.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAQpD,YAAY,QAAQ,EAAE,SAAS;QAC9B,KAAK,EAAE,CAAC;QAHT,gBAAW,GAAkC,EAAE,CAAC;QAI/C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB;YACC,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;gBACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAG,CAAC,YAAY,QAAQ;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvC,IAAG,CAAC,IAAI,CAAC,YAAY,aAAa,EAAC;oBAClC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACzB;aACD;SACD;QAED;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;IACF,CAAC;IAED,MAAM;QACL,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAG,CAAC,EAAC;gBACJ,IAAG,CAAC,YAAY,QAAQ;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAG,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACf;aACD;SACD;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,CAAC;CACD"}
@@ -1,12 +1,12 @@
1
1
  import { IDotCss } from "dothtml-interfaces";
2
- import Reactive from "../reactive";
3
2
  import VMetaNode from "./v-meta-node";
3
+ import BoundReactive from "../reactivity/bound-reactive";
4
4
  export default class StyleVNode extends VMetaNode {
5
5
  target: NodeListOf<Element> | HTMLElement | string;
6
6
  document: Document;
7
7
  shadowRoot: ShadowRoot;
8
8
  styleValue: IDotCss;
9
- observables: Array<Reactive>;
9
+ observables: Array<BoundReactive>;
10
10
  observableIds: Array<number>;
11
11
  constructor(styleValue: IDotCss);
12
12
  render(target: HTMLElement | string, document?: Document, shadowRoot?: ShadowRoot): void;
@@ -1,10 +1,10 @@
1
1
  import cssProps from "../css/css-props";
2
- import Reactive from "../reactive";
3
2
  import VMetaNode from "./v-meta-node";
4
3
  import CssFunctionBuilderVStyle from "../v-style-nodes/css-function-builder-v-style";
5
4
  import FilterVStyle from "../v-style-nodes/filter-v-style";
6
5
  import TransformVStyle from "../v-style-nodes/transform-v-style";
7
6
  import { formatCssLength } from "../css/format-css-type";
7
+ import BoundReactive from "../reactivity/bound-reactive";
8
8
  export default class StyleVNode extends VMetaNode {
9
9
  constructor(styleValue) {
10
10
  super();
@@ -14,7 +14,7 @@ export default class StyleVNode extends VMetaNode {
14
14
  {
15
15
  for (let prop in this.styleValue) {
16
16
  let value = this.styleValue[prop];
17
- if (value instanceof Reactive) {
17
+ if (value instanceof BoundReactive) {
18
18
  this.observables.push(value);
19
19
  }
20
20
  else if (typeof value === "object") {
@@ -40,13 +40,13 @@ export default class StyleVNode extends VMetaNode {
40
40
  let funcValue = funcArray[i];
41
41
  for (let k in funcValue) {
42
42
  let v = funcValue[k];
43
- if (v instanceof Reactive) {
43
+ if (v instanceof BoundReactive) {
44
44
  this.observables.push(v);
45
45
  }
46
46
  else if (v instanceof Array) {
47
47
  for (let j in v) {
48
48
  let w = v[j];
49
- if (w instanceof Reactive) {
49
+ if (w instanceof BoundReactive) {
50
50
  this.observables.push(w);
51
51
  }
52
52
  }
@@ -70,7 +70,7 @@ export default class StyleVNode extends VMetaNode {
70
70
  {
71
71
  for (let i in this.observables) {
72
72
  let observable = this.observables[i];
73
- let id = observable.subscribeAttrCollection(this);
73
+ let id = observable._subscribe(this);
74
74
  this.observableIds.push(id);
75
75
  }
76
76
  }
@@ -82,8 +82,8 @@ export default class StyleVNode extends VMetaNode {
82
82
  let cssValue;
83
83
  {
84
84
  let value = this.styleValue[prop];
85
- if (value instanceof Reactive) {
86
- cssValue = value.getValue();
85
+ if (value instanceof BoundReactive) {
86
+ cssValue = value._get();
87
87
  }
88
88
  else if (value instanceof CssFunctionBuilderVStyle) {
89
89
  cssValue = value.toString();
@@ -126,7 +126,7 @@ export default class StyleVNode extends VMetaNode {
126
126
  for (let i in this.observableIds) {
127
127
  let id = this.observableIds[i];
128
128
  let observable = this.observables[i];
129
- observable.detachBinding(id);
129
+ observable._unsubscribe(id);
130
130
  }
131
131
  this.observables.length = 0;
132
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"style-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/style-v-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/style-v-node.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import Reactive from "../reactive";
1
+ import BoundReactive from "../reactivity/bound-reactive";
2
+ import ReactiveStyle from "../reactivity/reactive-style";
2
3
  import VStyle from "./v-style";
3
4
  export default class BaseVStyle extends VStyle {
4
5
  constructor() {
@@ -23,16 +24,16 @@ export default class BaseVStyle extends VStyle {
23
24
  this.renderedSubBuilders.length = 0;
24
25
  for (let s in this.subscriptions) {
25
26
  let P = this.subscriptions[s];
26
- P.detachBinding(Number(s));
27
+ P._unsubscribe(Number(s));
27
28
  }
28
29
  this.subscriptions = {};
29
30
  this.target = null;
30
31
  }
31
32
  renderAndSetPropValue(prop, value) {
32
- if (value instanceof Reactive) {
33
- let id = value.subscribeStyle(this, prop);
33
+ if (value instanceof BoundReactive) {
34
+ let id = value._subscribe(new ReactiveStyle(this, prop));
34
35
  this.subscriptions[id] = value;
35
- this.updateProp(prop, value.getValue());
36
+ this.updateProp(prop, value._get());
36
37
  }
37
38
  else if (value instanceof VStyle) {
38
39
  this.renderedSubBuilders.push(value);