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
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,KAAW,EAAE,GAAS;IAExD,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KAClE;IAED,IAAI,OAAO,GAAc,KAAK,CAAC,WAAW,CAAC;IAG3C,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE;QAClC,MAAM,IAAI,GAAc,OAAO,CAAC,WAAW,CAAC;QAI5C,IAAG,OAAO,CAAC,kBAAkB,CAAC,EAAC;YAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC;SACxC;aACG;YACH,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,IAAI,CAAC;KACf;AACF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAS,EAAE,IAAS,EAAE,OAAO,GAAG,IAAI,GAAG,EAAE;IAC/D,IAAI,IAAI,KAAK,IAAI,EAAE;QACf,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACtF,OAAO,KAAK,CAAC;KAChB;IAGD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;KACrC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAC7B,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,IAAI,UAAU,GAAG,IAAI,MAAM,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC"}
@@ -1,46 +0,0 @@
1
- import { IReactive } from "dothtml-interfaces";
2
- import ElementVdom from "./vdom-nodes/element-vdom";
3
- import { TextVdom } from "./vdom-nodes/text-vdom";
4
- import { HtmlVdom } from "./vdom-nodes/html-vdom";
5
- import { ConditionalVdom } from "./vdom-nodes/conditional-vdom";
6
- import CollectionVdom from "./vdom-nodes/collection-vdom";
7
- import VStyle from "./v-style-nodes/v-style";
8
- import VMetaNode from "./v-meta-nodes/v-meta-node";
9
- export default class Reactive<Ti = any, To = Ti> implements IReactive<Ti, To> {
10
- _value: Ti;
11
- private _cachedLastValue;
12
- key: string;
13
- observingTextNodes: Record<number, TextVdom>;
14
- observingHtmlNodes: Record<number, HtmlVdom>;
15
- observingAttributes: Record<number, {
16
- element: ElementVdom;
17
- attribute: string;
18
- }>;
19
- observingAttributeCollectionss: Record<number, VMetaNode>;
20
- observingCollections: Record<number, {
21
- collection: CollectionVdom;
22
- key?: string;
23
- }>;
24
- observingConditionals: Record<number, ConditionalVdom>;
25
- observingStyles: Record<number, {
26
- prop: string;
27
- vStyle: VStyle;
28
- }>;
29
- observingCallbacks: Record<number, (value: To) => void>;
30
- constructor();
31
- getValue(): To;
32
- setValue(v: Ti): void;
33
- private updater;
34
- transform?: (input: Ti) => To;
35
- nextId: number;
36
- subscribeText(node: TextVdom): number;
37
- subscribeHtml(node: HtmlVdom): number;
38
- subscribeAttr(node: ElementVdom, attributeName: string): number;
39
- subscribeAttrCollection(collection: VMetaNode): number;
40
- subscribeStyle(vStyle: VStyle, propName: string): number;
41
- subscribeCollection(node: CollectionVdom): number;
42
- subscribeCond(node: ConditionalVdom): number;
43
- subscribeCallback(callback: (value: To) => void): number;
44
- detachBinding(id: number): void;
45
- updateObservers(): void;
46
- }
@@ -1,150 +0,0 @@
1
- const TEXT_OFFSET = 0;
2
- const HTML_OFFSET = 1;
3
- const ATTR_OFFSET = 2;
4
- const ATTR_COLLECTION_OFFSET = 3;
5
- const STYLE_OFFSET = 4;
6
- const COND_OFFSET = 5;
7
- const ARRAY_OFFSET = 6;
8
- const CB_OFFSET = 7;
9
- const CATEGORIES = CB_OFFSET + 1;
10
- export default class Reactive {
11
- constructor() {
12
- this.observingTextNodes = {};
13
- this.observingHtmlNodes = {};
14
- this.observingAttributes = {};
15
- this.observingAttributeCollectionss = {};
16
- this.observingCollections = {};
17
- this.observingConditionals = {};
18
- this.observingStyles = {};
19
- this.observingCallbacks = {};
20
- this.nextId = 1;
21
- }
22
- getValue() {
23
- return this.transform ? this.transform(this._value) : this._value;
24
- }
25
- setValue(v) {
26
- this._value = v;
27
- let newValue = this.getValue();
28
- if (this._cachedLastValue != newValue) {
29
- this._cachedLastValue = newValue;
30
- this.updater(newValue);
31
- }
32
- }
33
- updater(value) {
34
- for (let o in this.observingTextNodes) {
35
- let n = this.observingTextNodes[o];
36
- n.textNode.textContent = value ?? "";
37
- }
38
- for (let o in this.observingHtmlNodes) {
39
- let n = this.observingHtmlNodes[o];
40
- n.updateHtml(value);
41
- }
42
- for (let o in this.observingAttributes) {
43
- let a = this.observingAttributes[o];
44
- a.element.setAttr(a.attribute, this);
45
- }
46
- for (let o in this.observingAttributeCollectionss) {
47
- let a = this.observingAttributeCollectionss[o];
48
- a.update();
49
- }
50
- for (let o in this.observingStyles) {
51
- let s = this.observingStyles[o];
52
- s.vStyle.updateProp(s.prop, value);
53
- }
54
- for (let o in this.observingCollections) {
55
- let c = this.observingCollections[o];
56
- c.collection.updateList();
57
- }
58
- for (let o in this.observingConditionals) {
59
- let a = this.observingConditionals[o];
60
- a.updateConditions();
61
- }
62
- for (let o in this.observingCallbacks) {
63
- let cb = this.observingCallbacks[o];
64
- cb(value);
65
- }
66
- }
67
- subscribeText(node) {
68
- let id = TEXT_OFFSET + CATEGORIES * this.nextId++;
69
- this.observingTextNodes[id] = node;
70
- return id;
71
- }
72
- subscribeHtml(node) {
73
- let id = HTML_OFFSET + CATEGORIES * this.nextId++;
74
- this.observingHtmlNodes[id] = node;
75
- return id;
76
- }
77
- subscribeAttr(node, attributeName) {
78
- let id = ATTR_OFFSET + CATEGORIES * this.nextId++;
79
- this.observingAttributes[id] = { element: node, attribute: attributeName };
80
- return id;
81
- }
82
- subscribeAttrCollection(collection) {
83
- let id = ATTR_COLLECTION_OFFSET + CATEGORIES * this.nextId++;
84
- this.observingAttributeCollectionss[id] = collection;
85
- return id;
86
- }
87
- subscribeStyle(vStyle, propName) {
88
- let id = STYLE_OFFSET + CATEGORIES * this.nextId++;
89
- this.observingStyles[id] = { prop: propName, vStyle: vStyle };
90
- return id;
91
- }
92
- subscribeCollection(node) {
93
- let id = ARRAY_OFFSET + CATEGORIES * this.nextId++;
94
- this.observingCollections[id] = { collection: node, key: null };
95
- return id;
96
- }
97
- subscribeCond(node) {
98
- let id = COND_OFFSET + CATEGORIES * this.nextId++;
99
- this.observingConditionals[id] = node;
100
- return id;
101
- }
102
- subscribeCallback(callback) {
103
- let id = CB_OFFSET + CATEGORIES * this.nextId++;
104
- this.observingCallbacks[id] = callback;
105
- return id;
106
- }
107
- detachBinding(id) {
108
- let category = id % CATEGORIES;
109
- switch (category) {
110
- case TEXT_OFFSET: {
111
- delete this.observingTextNodes[id];
112
- break;
113
- }
114
- case ATTR_OFFSET: {
115
- delete this.observingAttributes[id];
116
- break;
117
- }
118
- case ATTR_COLLECTION_OFFSET: {
119
- delete this.observingAttributeCollectionss[id];
120
- break;
121
- }
122
- case STYLE_OFFSET: {
123
- delete this.observingStyles[id];
124
- break;
125
- }
126
- case HTML_OFFSET: {
127
- delete this.observingHtmlNodes[id];
128
- break;
129
- }
130
- case ARRAY_OFFSET: {
131
- delete this.observingCollections[id];
132
- break;
133
- }
134
- case COND_OFFSET: {
135
- delete this.observingConditionals[id];
136
- break;
137
- }
138
- case CB_OFFSET: {
139
- delete this.observingCallbacks[id];
140
- break;
141
- }
142
- }
143
- }
144
- updateObservers() {
145
- let updatedValue = this.getValue();
146
- this._cachedLastValue = updatedValue;
147
- this.updater(updatedValue);
148
- }
149
- }
150
- //# sourceMappingURL=reactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"AAWA,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;IAc5B;QATA,uBAAkB,GAA6B,EAAE,CAAC;QAClD,uBAAkB,GAA6B,EAAE,CAAC;QAClD,wBAAmB,GAA8D,EAAE,CAAC;QACpF,mCAA8B,GAA8B,EAAE,CAAC;QAC/D,yBAAoB,GAA+D,EAAE,CAAC;QACtF,0BAAqB,GAAoC,EAAE,CAAC;QAC5D,oBAAe,GAAmD,EAAE,CAAC;QACrE,uBAAkB,GAAsC,EAAE,CAAC;QA+D3D,WAAM,GAAG,CAAC,CAAC;IA5DX,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAuB,CAAC;IACpF,CAAC;IAED,QAAQ,CAAC,CAAK;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAG,IAAI,CAAC,gBAAgB,IAAI,QAAQ,EAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACvB;IACF,CAAC;IAEO,OAAO,CAAC,KAAS;QACxB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAe,IAAI,EAAE,CAAC;SAC/C;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;SAC9B;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAC;YACrC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACrC;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,8BAA8B,EAAC;YAChD,IAAI,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,EAAE,CAAC;SACX;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAC;YACjC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,KAAe,CAAC,CAAC;SAC7C;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAC;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;SAC1B;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,gBAAgB,EAAE,CAAC;SACrB;QAGD,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,CAAC,KAAK,CAAC,CAAC;SACV;IACF,CAAC;IAMD,aAAa,CAAC,IAAc;QAC3B,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAc;QAC3B,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAiB,EAAE,aAAqB;QACrD,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACX,CAAC;IACD,uBAAuB,CAAC,UAAqB;QAC5C,IAAI,EAAE,GAAG,sBAAsB,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACrD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,QAAgB;QAC9C,IAAI,EAAE,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;QAC5D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,mBAAmB,CAAC,IAAoB;QACvC,IAAI,EAAE,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAqB;QAClC,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,iBAAiB,CAAC,QAA2B;QAC5C,IAAI,EAAE,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,aAAa,CAAC,EAAU;QACvB,IAAI,QAAQ,GAAG,EAAE,GAAG,UAAU,CAAC;QAC/B,QAAO,QAAQ,EAAC;YACf,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACpC,MAAM;aACN;YACD,KAAK,sBAAsB,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM;aACN;YACD,KAAK,YAAY,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;YACD,KAAK,YAAY,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACrC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM;aACN;YACD,KAAK,SAAS,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;SACD;IACF,CAAC;IAED,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
@@ -1,13 +0,0 @@
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
- }
@@ -1,20 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,22 +0,0 @@
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
- }
@@ -1,54 +0,0 @@
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
@@ -1 +0,0 @@
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"}