taggedjs 2.5.22 → 2.5.24

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 (245) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.gz +0 -0
  3. package/bundle.js.map +1 -1
  4. package/bundle.js.map.gz +0 -0
  5. package/js/alterProp.function.d.ts +7 -7
  6. package/js/alterProp.function.js +78 -43
  7. package/js/alterProp.function.js.map +1 -1
  8. package/js/buildClones.function.d.ts +2 -0
  9. package/js/buildClones.function.js +12 -0
  10. package/js/buildClones.function.js.map +1 -0
  11. package/js/deepFunctions.js +40 -18
  12. package/js/deepFunctions.js.map +1 -1
  13. package/js/index.d.ts +4 -5
  14. package/js/index.js +4 -5
  15. package/js/index.js.map +1 -1
  16. package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
  17. package/js/interpolations/afterInterpolateElement.function.js +6 -5
  18. package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
  19. package/js/interpolations/bindSubjectCallback.function.d.ts +9 -3
  20. package/js/interpolations/bindSubjectCallback.function.js +76 -35
  21. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  22. package/js/interpolations/interpolateAttributes.d.ts +3 -2
  23. package/js/interpolations/interpolateAttributes.js +6 -10
  24. package/js/interpolations/interpolateAttributes.js.map +1 -1
  25. package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
  26. package/js/interpolations/interpolateContentTemplates.js +16 -12
  27. package/js/interpolations/interpolateContentTemplates.js.map +1 -1
  28. package/js/interpolations/interpolateElement.d.ts +4 -6
  29. package/js/interpolations/interpolateElement.js +4 -13
  30. package/js/interpolations/interpolateElement.js.map +1 -1
  31. package/js/interpolations/interpolateTemplate.d.ts +8 -11
  32. package/js/interpolations/interpolateTemplate.js +0 -66
  33. package/js/interpolations/interpolateTemplate.js.map +1 -1
  34. package/js/interpolations/interpolations.d.ts +0 -3
  35. package/js/interpolations/interpolations.js +1 -17
  36. package/js/interpolations/interpolations.js.map +1 -1
  37. package/js/interpolations/optimizers/ObjectNode.types.d.ts +31 -0
  38. package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
  39. package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
  40. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -0
  41. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +136 -0
  42. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
  43. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +6 -0
  44. package/js/interpolations/optimizers/metaAttachDomElements.function.js +43 -0
  45. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
  46. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +2 -0
  47. package/js/interpolations/optimizers/replacePlaceholders.function.js +92 -0
  48. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
  49. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
  50. package/js/interpolations/optimizers/restorePlaceholders.function.js +39 -0
  51. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
  52. package/js/interpolations/processAttribute.function.d.ts +8 -3
  53. package/js/interpolations/processAttribute.function.js +42 -45
  54. package/js/interpolations/processAttribute.function.js.map +1 -1
  55. package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
  56. package/js/interpolations/scanTextAreaValue.function.js +11 -6
  57. package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
  58. package/js/interpolations/specialAttribute.js +4 -2
  59. package/js/interpolations/specialAttribute.js.map +1 -1
  60. package/js/interpolations/subscribeToTemplate.function.d.ts +5 -0
  61. package/js/interpolations/subscribeToTemplate.function.js +28 -0
  62. package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
  63. package/js/isInstance.d.ts +2 -2
  64. package/js/isInstance.js +9 -3
  65. package/js/isInstance.js.map +1 -1
  66. package/js/render.js +17 -4
  67. package/js/render.js.map +1 -1
  68. package/js/state/callbackMaker.function.js +13 -14
  69. package/js/state/callbackMaker.function.js.map +1 -1
  70. package/js/state/callbackStateUpdate.function.d.ts +2 -2
  71. package/js/state/callbackStateUpdate.function.js +5 -5
  72. package/js/state/callbackStateUpdate.function.js.map +1 -1
  73. package/js/state/children.js +5 -5
  74. package/js/state/children.js.map +1 -1
  75. package/js/state/handleProviderChanges.function.d.ts +2 -2
  76. package/js/state/handleProviderChanges.function.js +13 -10
  77. package/js/state/handleProviderChanges.function.js.map +1 -1
  78. package/js/state/onDestroy.js +2 -2
  79. package/js/state/onDestroy.js.map +1 -1
  80. package/js/state/providers.d.ts +3 -3
  81. package/js/state/providers.js +11 -11
  82. package/js/state/providers.js.map +1 -1
  83. package/js/state/providersChangeCheck.function.d.ts +2 -2
  84. package/js/state/providersChangeCheck.function.js +7 -3
  85. package/js/state/providersChangeCheck.function.js.map +1 -1
  86. package/js/state/setUse.function.d.ts +10 -10
  87. package/js/state/state.function.js +3 -3
  88. package/js/state/state.function.js.map +1 -1
  89. package/js/state/state.utils.d.ts +2 -2
  90. package/js/state/state.utils.js +15 -16
  91. package/js/state/state.utils.js.map +1 -1
  92. package/js/state/subject.function.js +6 -6
  93. package/js/state/subject.function.js.map +1 -1
  94. package/js/state/watch.function.js +3 -3
  95. package/js/state/watch.function.js.map +1 -1
  96. package/js/subject/Subject.class.d.ts +2 -2
  97. package/js/subject/Subject.class.js +5 -11
  98. package/js/subject/Subject.class.js.map +1 -1
  99. package/js/subject/ValueSubject.d.ts +1 -1
  100. package/js/subject/combineLatest.function.js +3 -1
  101. package/js/subject/combineLatest.function.js.map +1 -1
  102. package/js/subject/subject.utils.js +15 -13
  103. package/js/subject/subject.utils.js.map +1 -1
  104. package/js/subject/will.functions.js.map +1 -1
  105. package/js/subject.types.d.ts +6 -10
  106. package/js/tag/Support.class.d.ts +69 -0
  107. package/js/tag/Support.class.js +290 -0
  108. package/js/tag/Support.class.js.map +1 -0
  109. package/js/tag/Tag.class.d.ts +30 -18
  110. package/js/tag/Tag.class.js +36 -8
  111. package/js/tag/Tag.class.js.map +1 -1
  112. package/js/tag/TagSupport.class.d.ts +1 -1
  113. package/js/tag/TagSupport.class.js +23 -27
  114. package/js/tag/TagSupport.class.js.map +1 -1
  115. package/js/tag/TemplaterResult.class.d.ts +17 -9
  116. package/js/tag/TemplaterResult.class.js +12 -2
  117. package/js/tag/TemplaterResult.class.js.map +1 -1
  118. package/js/tag/ValueTypes.enum.d.ts +7 -1
  119. package/js/tag/ValueTypes.enum.js +6 -0
  120. package/js/tag/ValueTypes.enum.js.map +1 -1
  121. package/js/tag/checkDestroyPrevious.function.d.ts +3 -5
  122. package/js/tag/checkDestroyPrevious.function.js +16 -38
  123. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  124. package/js/tag/cloneValueArray.function.d.ts +1 -0
  125. package/js/tag/cloneValueArray.function.js +16 -14
  126. package/js/tag/cloneValueArray.function.js.map +1 -1
  127. package/js/tag/destroy.support.d.ts +2 -2
  128. package/js/tag/destroy.support.js +1 -2
  129. package/js/tag/destroy.support.js.map +1 -1
  130. package/js/tag/destroyTag.function.d.ts +2 -2
  131. package/js/tag/destroyTag.function.js +4 -3
  132. package/js/tag/destroyTag.function.js.map +1 -1
  133. package/js/tag/domMetaCollector.d.ts +3 -0
  134. package/js/tag/domMetaCollector.js +26 -0
  135. package/js/tag/domMetaCollector.js.map +1 -0
  136. package/js/tag/getStringsId.function.d.ts +1 -0
  137. package/js/tag/getStringsId.function.js +7 -0
  138. package/js/tag/getStringsId.function.js.map +1 -0
  139. package/js/tag/getSupportInCycle.function.d.ts +1 -1
  140. package/js/tag/getSupportInCycle.function.js +1 -1
  141. package/js/tag/getSupportInCycle.function.js.map +1 -1
  142. package/js/tag/getTagWrap.function.js +66 -57
  143. package/js/tag/getTagWrap.function.js.map +1 -1
  144. package/js/tag/getValueType.function.js +15 -10
  145. package/js/tag/getValueType.function.js.map +1 -1
  146. package/js/tag/hasPropChanges.function.d.ts +1 -1
  147. package/js/tag/hasPropChanges.function.js +8 -11
  148. package/js/tag/hasPropChanges.function.js.map +1 -1
  149. package/js/tag/hasSupportChanged.function.d.ts +4 -0
  150. package/js/tag/hasSupportChanged.function.js +27 -0
  151. package/js/tag/hasSupportChanged.function.js.map +1 -0
  152. package/js/tag/hasTagSupportChanged.function.js +15 -2
  153. package/js/tag/hasTagSupportChanged.function.js.map +1 -1
  154. package/js/tag/html.d.ts +5 -1
  155. package/js/tag/html.js +4 -1
  156. package/js/tag/html.js.map +1 -1
  157. package/js/tag/index.d.ts +3 -1
  158. package/js/tag/index.js +3 -1
  159. package/js/tag/index.js.map +1 -1
  160. package/js/tag/isLastRunMatched.function.d.ts +2 -0
  161. package/js/tag/isLastRunMatched.function.js +14 -0
  162. package/js/tag/isLastRunMatched.function.js.map +1 -0
  163. package/js/tag/isLikeTags.function.d.ts +3 -3
  164. package/js/tag/isLikeTags.function.js +43 -9
  165. package/js/tag/isLikeTags.function.js.map +1 -1
  166. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  167. package/js/tag/kidsToTagArraySubject.function.js +1 -1
  168. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  169. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -3
  170. package/js/tag/render/destroyUnlikeTags.function.js +2 -12
  171. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  172. package/js/tag/render/renderExistingTag.function.d.ts +5 -5
  173. package/js/tag/render/renderExistingTag.function.js +9 -6
  174. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  175. package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
  176. package/js/tag/render/renderSubjectComponent.function.js +7 -5
  177. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  178. package/js/tag/render/renderSupport.function.d.ts +4 -0
  179. package/js/tag/render/renderSupport.function.js +43 -0
  180. package/js/tag/render/renderSupport.function.js.map +1 -0
  181. package/js/tag/render/renderTagOnly.function.d.ts +2 -2
  182. package/js/tag/render/renderTagOnly.function.js +19 -20
  183. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  184. package/js/tag/render/renderWithSupport.function.d.ts +3 -3
  185. package/js/tag/render/renderWithSupport.function.js +38 -5
  186. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  187. package/js/tag/render/softDestroySupport.function.d.ts +2 -2
  188. package/js/tag/render/softDestroySupport.function.js +11 -8
  189. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  190. package/js/tag/setTagPlaceholder.function.js +2 -1
  191. package/js/tag/setTagPlaceholder.function.js.map +1 -1
  192. package/js/tag/tag.d.ts +2 -2
  193. package/js/tag/tag.js +1 -0
  194. package/js/tag/tag.js.map +1 -1
  195. package/js/tag/tag.types.d.ts +4 -4
  196. package/js/tag/tag.utils.d.ts +10 -7
  197. package/js/tag/tag.utils.js.map +1 -1
  198. package/js/tag/tagElement.d.ts +3 -3
  199. package/js/tag/tagElement.js +36 -31
  200. package/js/tag/tagElement.js.map +1 -1
  201. package/js/tag/tagRunner.d.ts +5 -5
  202. package/js/tag/tagRunner.js +15 -15
  203. package/js/tag/tagRunner.js.map +1 -1
  204. package/js/tag/textNode.d.ts +4 -0
  205. package/js/tag/textNode.js +9 -0
  206. package/js/tag/textNode.js.map +1 -0
  207. package/js/tag/update/TagJsSubject.class.d.ts +8 -0
  208. package/js/tag/update/TagJsSubject.class.js +23 -0
  209. package/js/tag/update/TagJsSubject.class.js.map +1 -0
  210. package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
  211. package/js/tag/update/oneRenderToSupport.function.js +19 -0
  212. package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
  213. package/js/tag/update/processFirstSubject.utils.d.ts +5 -4
  214. package/js/tag/update/processFirstSubjectValue.function.d.ts +4 -3
  215. package/js/tag/update/processFirstSubjectValue.function.js +12 -10
  216. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  217. package/js/tag/update/processNewValue.function.d.ts +3 -2
  218. package/js/tag/update/processNewValue.function.js +11 -8
  219. package/js/tag/update/processNewValue.function.js.map +1 -1
  220. package/js/tag/update/processRegularValue.function.js +5 -5
  221. package/js/tag/update/processRegularValue.function.js.map +1 -1
  222. package/js/tag/update/processSubjectComponent.function.d.ts +3 -3
  223. package/js/tag/update/processSubjectComponent.function.js +13 -11
  224. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  225. package/js/tag/update/processTag.function.d.ts +10 -9
  226. package/js/tag/update/processTag.function.js +30 -23
  227. package/js/tag/update/processTag.function.js.map +1 -1
  228. package/js/tag/update/processTagArray.d.ts +15 -9
  229. package/js/tag/update/processTagArray.js +56 -52
  230. package/js/tag/update/processTagArray.js.map +1 -1
  231. package/js/tag/update/processTagResult.function.d.ts +4 -6
  232. package/js/tag/update/processTagResult.function.js +22 -16
  233. package/js/tag/update/processTagResult.function.js.map +1 -1
  234. package/js/tag/update/updateContextItem.function.d.ts +1 -1
  235. package/js/tag/update/updateContextItem.function.js +4 -3
  236. package/js/tag/update/updateContextItem.function.js.map +1 -1
  237. package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -4
  238. package/js/tag/update/updateExistingTagComponent.function.js +78 -86
  239. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  240. package/js/tag/update/updateExistingValue.function.d.ts +3 -2
  241. package/js/tag/update/updateExistingValue.function.js +35 -45
  242. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  243. package/js/updateBeforeTemplate.function.js +2 -1
  244. package/js/updateBeforeTemplate.function.js.map +1 -1
  245. package/package.json +1 -1
@@ -1,72 +1,113 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
- import { setUse } from '../state/setUse.function.js';
2
+ import { syncStates } from '../state/syncStates.function.js';
3
3
  import { ValueTypes } from '../tag/ValueTypes.enum.js';
4
- import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
4
+ import { renderSupport } from '../tag/render/renderSupport.function.js';
5
5
  import { updateExistingTagComponent } from '../tag/update/updateExistingTagComponent.function.js';
6
6
  const useLocks = true;
7
- export function bindSubjectCallback(value, tagSupport) {
7
+ const noData = 'no-data-ever';
8
+ const promiseNoData = 'promise-no-data-ever';
9
+ export function bindSubjectCallback(value, support) {
8
10
  // Is this children? No override needed
9
11
  if (value.isChildOverride) {
10
12
  return value;
11
13
  }
12
- const state = setUse.memory.stateConfig;
13
- const subjectFunction = (element, args) => runTagCallback(value, tagSupport, element, args);
14
+ // const state = setUse.memory.stateConfig.support?.state as State
15
+ const state = support.state;
16
+ const subjectFunction = (element, args) => runTagCallback(value, support, element, args, state);
14
17
  // link back to original. Mostly used for <div oninit ondestroy> animations
15
18
  subjectFunction.tagFunction = value;
16
19
  return subjectFunction;
17
20
  }
18
- export function runTagCallback(value, tagSupport, bindTo, args) {
19
- const tag = findTagToCallback(tagSupport);
21
+ export function runTagCallback(value, support, bindTo, args, state) {
22
+ const tag = findTagToCallback(support);
23
+ const global = tag.subject.global;
24
+ /*
25
+ if(global.deleted) {
26
+ return noData
27
+ }
28
+ */
29
+ const newest = global.newest;
30
+ const newState = newest.state;
31
+ if (newState.length === state.length) {
32
+ syncStates(newState, state);
33
+ }
34
+ // syncStates(newState, tag.state)
20
35
  const method = value.bind(bindTo);
21
- tag.global.locked = useLocks; // prevent another render from re-rendering this tag
36
+ tag.subject.global.locked = useLocks; // prevent another render from re-rendering this tag
22
37
  const callbackResult = method(...args);
23
- return afterTagCallback(tag, callbackResult);
38
+ return afterTagCallback(tag, callbackResult, state);
24
39
  }
25
- function afterTagCallback(tag, callbackResult) {
26
- delete tag.global.locked;
27
- if (tag.global.blocked.length) {
40
+ export function afterTagCallback(tag, callbackResult, state) {
41
+ const global = tag.subject.global;
42
+ delete global.locked;
43
+ const blocked = global.blocked;
44
+ // // syncStates(state, newState)
45
+ if (blocked.length) {
46
+ // syncStates(tag.state, (global.newest as Support).state)
28
47
  let lastResult;
29
- tag.global.blocked.forEach(blocked => {
30
- const block = blocked;
31
- lastResult = updateExistingTagComponent(block.ownerTagSupport, block, block.subject, block.global.insertBefore, true);
32
- tag.global.newest = lastResult;
33
- tag.global.blocked.splice(0, 1);
34
- });
35
- tag.global.blocked.length = 0;
48
+ lastResult = runBlocked(tag, state, lastResult);
36
49
  // return lastResult
37
- return checkAfterCallbackPromise(callbackResult, lastResult, lastResult.global);
50
+ return checkAfterCallbackPromise(callbackResult, lastResult, global);
38
51
  }
39
- const result = renderCallbackSupport(tag.global.newest, callbackResult, tag.global);
52
+ const result = renderCallbackSupport(global.newest, callbackResult, global);
40
53
  return result;
41
54
  }
42
- function findTagToCallback(tagSupport) {
55
+ export function findTagToCallback(support) {
43
56
  // If we are NOT a component than we need to render my owner instead
44
- if (tagSupport.templater.tagJsType === ValueTypes.templater) {
45
- const owner = tagSupport.ownerTagSupport;
57
+ if (support.templater.tagJsType === ValueTypes.templater) {
58
+ const owner = support.ownerSupport;
46
59
  return findTagToCallback(owner);
47
60
  }
48
- return tagSupport;
61
+ return support;
49
62
  }
50
63
  function renderCallbackSupport(last, callbackResult, global) {
51
64
  if (global.deleted) {
52
- return 'no-data-ever'; // || last.global.deleted
65
+ return noData; // || last.global.deleted
53
66
  }
54
- renderTagSupport(last, true);
67
+ renderSupport(last, true);
55
68
  return checkAfterCallbackPromise(callbackResult, last, global);
56
69
  }
57
- function checkAfterCallbackPromise(callbackResult, last, global) {
70
+ export function checkAfterCallbackPromise(callbackResult, last, global) {
58
71
  if (callbackResult instanceof Promise) {
59
- last.global.locked = useLocks;
72
+ last.subject.global.locked = useLocks;
60
73
  return callbackResult.then(() => {
61
- delete last.global.locked;
74
+ delete last.subject.global.locked;
62
75
  if (global.deleted) {
63
- return 'promise-no-data-ever'; // tag was deleted during event processing
76
+ return promiseNoData; // tag was deleted during event processing
64
77
  }
65
- delete last.global.locked;
66
- renderTagSupport(global.newest, true);
67
- return 'promise-no-data-ever';
78
+ delete last.subject.global.locked;
79
+ renderSupport(global.newest, true);
80
+ return promiseNoData;
68
81
  });
69
82
  }
70
- return 'no-data-ever';
83
+ return noData;
84
+ }
85
+ export function runBlocked(tag, state, lastResult) {
86
+ const global = tag.subject.global;
87
+ const blocked = global.blocked;
88
+ while (blocked.length > 0) {
89
+ const block = blocked[0];
90
+ blocked.splice(0, 1);
91
+ lastResult = updateExistingTagComponent(block.ownerSupport, block, block.subject, block.subject.global.insertBefore, true);
92
+ global.newest = lastResult;
93
+ }
94
+ global.blocked.length = 0;
95
+ // global.oldest.updateBy( lastResult as Support )
96
+ /*
97
+ if(lastResult) {
98
+ const newState = lastResult.state
99
+ syncStates(state, newState)
100
+
101
+ const newest = renderSupport(
102
+ lastResult,
103
+ true,
104
+ )
105
+
106
+ global.newest = newest
107
+ global.oldest.updateBy( lastResult as Support )
108
+ syncStates(newState, state)
109
+ }
110
+ */
111
+ return lastResult;
71
112
  }
72
113
  //# sourceMappingURL=bindSubjectCallback.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Context } from '../tag/Tag.class.js';
2
- import { TagSupport } from '../tag/TagSupport.class.js';
2
+ import { Support } from '../tag/Support.class.js';
3
3
  export type HowToSet = (element: Element, name: string, value: string) => any;
4
- export declare function interpolateAttributes(child: Element, scope: Context, ownerSupport: TagSupport): void;
4
+ export declare function howToSetInputValue(element: Element, name: string, value: string): void;
5
+ export declare function interpolateAttributes(element: Element, scope: Context, ownerSupport: Support): void;
@@ -2,20 +2,16 @@ import { processAttribute } from './processAttribute.function.js';
2
2
  function howToSetAttribute(element, name, value) {
3
3
  element.setAttribute(name, value);
4
4
  }
5
- function howToSetInputValue(element, name, value) {
6
- element[name] = value;
5
+ export function howToSetInputValue(element, name, value) {
6
+ element.setAttribute(name, value);
7
7
  }
8
- export function interpolateAttributes(child, scope, ownerSupport) {
9
- const attrNames = child.getAttributeNames();
8
+ export function interpolateAttributes(element, scope, ownerSupport) {
9
+ const attrNames = element.getAttributeNames();
10
10
  let howToSet = howToSetAttribute;
11
11
  for (let index = 0; index < attrNames.length; ++index) {
12
12
  const attrName = attrNames[index];
13
- if (child.nodeName === 'INPUT' && attrName === 'value') {
14
- howToSet = howToSetInputValue;
15
- }
16
- const value = child.getAttribute(attrName);
17
- processAttribute(attrName, value, child, scope, ownerSupport, howToSet);
18
- howToSet = howToSetAttribute; // put back
13
+ const value = element.getAttribute(attrName);
14
+ processAttribute([attrName, value], element, scope, ownerSupport, howToSet);
19
15
  }
20
16
  }
21
17
  //# sourceMappingURL=interpolateAttributes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateAttributes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAIjE,SAAS,iBAAiB,CACxB,OAAgB,EAChB,IAAY,EACZ,KAAa;IAEb,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgB,EAChB,IAAY,EACZ,KAAa;IAEZ,OAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,KAAc,EACd,YAAwB;IAExB,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAA;IAE3C,IAAI,QAAQ,GAAG,iBAAiB,CAAA;IAEhC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACjC,IAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACtD,QAAQ,GAAG,kBAAkB,CAAA;QAC/B,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC1C,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;QAEvE,QAAQ,GAAG,iBAAiB,CAAA,CAAC,WAAW;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateAttributes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAIjE,SAAS,iBAAiB,CACxB,OAAgB,EAChB,IAAY,EACZ,KAAa;IAEb,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAY,EACZ,KAAa;IAEb,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,KAAc,EACd,YAAqB;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAA;IAE7C,IAAI,QAAQ,GAAG,iBAAiB,CAAA;IAEhC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC5C,gBAAgB,CACd,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAC1D,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,9 +1,5 @@
1
- import { TagSupport } from '../tag/TagSupport.class.js';
2
- import { InsertBefore } from './InsertBefore.type.js';
1
+ import { Support } from '../tag/Support.class.js';
2
+ import { Context } from '../tag/Tag.class.js';
3
3
  import { InterpolateOptions } from './interpolateElement.js';
4
4
  import { InterpolateComponentResult } from './interpolateTemplate.js';
5
- export type InterpolatedContentTemplates = {
6
- clones: InsertBefore[];
7
- tagComponents: InterpolateComponentResult[];
8
- };
9
- export declare function interpolateContentTemplates(context: any, tagSupport: TagSupport, options: InterpolateOptions, children: HTMLCollection): InterpolatedContentTemplates;
5
+ export declare function interpolateContentTemplates(context: Context, support: Support, options: InterpolateOptions, children: HTMLCollection, fragment: DocumentFragment): InterpolateComponentResult[];
@@ -1,35 +1,39 @@
1
1
  import { interpolateTemplate } from './interpolateTemplate.js';
2
- export function interpolateContentTemplates(context, tagSupport, options, children) {
2
+ export function interpolateContentTemplates(context, support, options, children, fragment) {
3
3
  // counting for animation stagger computing
4
4
  const counts = options.counts;
5
- const clones = [];
6
5
  const tagComponents = [];
7
6
  const childLength = children.length;
8
7
  for (let index = childLength - 1; index >= 0; --index) {
9
8
  const child = children[index];
10
- const tagComponent = interpolateTemplate(child, context, tagSupport, counts);
9
+ // const tagComponent =
10
+ interpolateTemplate(fragment, child, context, support, counts);
11
11
  // clones.push(...nextClones)
12
- if (tagComponent) {
13
- tagComponents.push(tagComponent);
14
- continue;
12
+ /*
13
+ if(tagComponent) {
14
+ tagComponents.push(tagComponent)
15
+ continue
15
16
  }
17
+ */
16
18
  if (child.children) {
17
19
  for (let index = child.children.length - 1; index >= 0; --index) {
18
20
  const subChild = child.children[index];
19
21
  // IF <template end /> its a variable to be processed
20
22
  if (isRenderEndTemplate(subChild)) {
21
- const tagComponent = interpolateTemplate(subChild, context, tagSupport, counts);
22
- if (tagComponent) {
23
- tagComponents.push(tagComponent);
23
+ // const tagComponent =
24
+ interpolateTemplate(fragment, subChild, context, support, counts);
25
+ /*
26
+ if(tagComponent) {
27
+ tagComponents.push(tagComponent)
24
28
  }
29
+ */
25
30
  }
26
- const { clones: nextClones, tagComponents: nextTagComponent } = interpolateContentTemplates(context, tagSupport, options, subChild.children);
27
- clones.push(...nextClones);
31
+ const nextTagComponent = interpolateContentTemplates(context, support, options, subChild.children, fragment);
28
32
  tagComponents.push(...nextTagComponent);
29
33
  }
30
34
  }
31
35
  }
32
- return { clones, tagComponents };
36
+ return tagComponents;
33
37
  }
34
38
  function isRenderEndTemplate(child) {
35
39
  const isTemplate = child.tagName === 'TEMPLATE';
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAOnG,MAAM,UAAU,2BAA2B,CACzC,OAAY,EACZ,UAAsB,EACtB,OAA2B,EAC3B,QAAwB;IAExB,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,YAAY,GAAG,mBAAmB,CACtC,KAAiB,EACjB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;QAED,6BAA6B;QAE7B,IAAG,YAAY,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACtC,qDAAqD;gBACrD,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,MAAM,YAAY,GAAG,mBAAmB,CACtC,QAAoB,EACpB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;oBAED,IAAG,YAAY,EAAE,CAAC;wBAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBAED,MAAM,EAAC,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,GAAG,2BAA2B,CACtF,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,CAAC,QAAQ,CAClB,CAAA;gBAED,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;gBAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,gBAAgB,CAAE,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAEnG,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAChB,OAAgB,EAChB,OAA2B,EAC3B,QAAwB,EACxB,QAA0B;IAE1B,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,uBAAuB;QACvB,mBAAmB,CACjB,QAAQ,EACR,KAAiB,EACjB,OAAO,EACP,OAAO,EACP,MAAM,CACP,CAAA;QAED,6BAA6B;QAC7B;;;;;UAKE;QAEF,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACtC,qDAAqD;gBACrD,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,uBAAuB;oBACvB,mBAAmB,CACjB,QAAQ,EACR,QAAoB,EACpB,OAAO,EACP,OAAO,EACP,MAAM,CACP,CAAA;oBAED;;;;sBAIE;gBACJ,CAAC;gBAED,MAAM,gBAAgB,GAAG,2BAA2B,CAClD,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CACT,CAAA;gBAED,aAAa,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
@@ -1,12 +1,10 @@
1
- import { InterpolatedContentTemplates } from './interpolateContentTemplates.js';
2
1
  import { Context, TagTemplate } from '../tag/Tag.class.js';
3
- import { Counts } from './interpolateTemplate.js';
4
- import { TagSupport } from '../tag/TagSupport.class.js';
2
+ import { Counts, InterpolateComponentResult, Template } from './interpolateTemplate.js';
3
+ import { Support } from '../tag/Support.class.js';
5
4
  export type InterpolateOptions = {
6
5
  counts: Counts;
7
6
  };
8
7
  /** Review elements within an element */
9
- export declare function interpolateElement(container: DocumentFragment, // element containing innerHTML to review interpolations
8
+ export declare function interpolateElement(fragment: DocumentFragment, template: Template, // element containing innerHTML to review interpolations
10
9
  context: Context, // variables used to evaluate
11
- interpolatedTemplates: TagTemplate, ownerSupport: TagSupport, options: InterpolateOptions): InterpolatedContentTemplates;
12
- export declare function interpolateString(string: string): import("./interpolations.js").InterpolatedTemplates;
10
+ interpolatedTemplates: TagTemplate, ownerSupport: Support, options: InterpolateOptions): InterpolateComponentResult[];
@@ -1,24 +1,20 @@
1
1
  import { interpolateAttributes } from './interpolateAttributes.js';
2
- import { interpolateToTemplates } from './interpolations.js';
3
2
  import { interpolateContentTemplates } from './interpolateContentTemplates.js';
4
- import { escapeSearch, variablePrefix } from '../tag/Tag.class.js';
5
3
  /** Review elements within an element */
6
- export function interpolateElement(container, // element containing innerHTML to review interpolations
4
+ export function interpolateElement(fragment, template, // element containing innerHTML to review interpolations
7
5
  context, // variables used to evaluate
8
6
  interpolatedTemplates, ownerSupport, options) {
9
- const clones = [];
10
7
  const tagComponents = [];
11
8
  const result = interpolatedTemplates.interpolation;
12
- const template = container.children[0];
9
+ // const template = container.children[0] as HTMLTemplateElement
13
10
  const children = template.content.children;
14
11
  if (result.keys.length) {
15
- const { clones: nextClones, tagComponents: nextTagComponents } = interpolateContentTemplates(context, ownerSupport, options, children);
16
- clones.push(...nextClones);
12
+ const nextTagComponents = interpolateContentTemplates(context, ownerSupport, options, children, fragment);
17
13
  tagComponents.push(...nextTagComponents);
18
14
  }
19
15
  interpolateAttributes(template, context, ownerSupport);
20
16
  processChildrenAttributes(children, context, ownerSupport);
21
- return { clones, tagComponents };
17
+ return tagComponents;
22
18
  }
23
19
  function processChildrenAttributes(children, context, ownerSupport) {
24
20
  for (let index = children.length - 1; index >= 0; --index) {
@@ -29,9 +25,4 @@ function processChildrenAttributes(children, context, ownerSupport) {
29
25
  }
30
26
  }
31
27
  }
32
- export function interpolateString(string) {
33
- const result = interpolateToTemplates(string);
34
- result.string = result.string.replace(escapeSearch, variablePrefix);
35
- return result;
36
- }
37
28
  //# sourceMappingURL=interpolateElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAgC,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAwB,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AASxF,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAChC,SAA2B,EAAE,wDAAwD;AACrF,OAAgB,EAAE,6BAA6B;AAC/C,qBAAkC,EAClC,YAAwB,EACxB,OAA2B;IAE3B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAA;IAE1C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAC,GAAG,2BAA2B,CACxF,OAAO,EACP,YAAY,EACZ,OAAO,EACP,QAAQ,CACT,CAAA;QACD,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;QAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,iBAAiB,CAAE,CAAA;IAC5C,CAAC;IAED,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACtD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAE1D,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,OAAgB,EAChB,YAAwB;IAExB,KAAK,IAAI,KAAK,GAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAEnD,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAS9E,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAChC,QAA0B,EAC1B,QAAkB,EAAE,wDAAwD;AAC5E,OAAgB,EAAE,6BAA6B;AAC/C,qBAAkC,EAClC,YAAqB,EACrB,OAA2B;IAE3B,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAA;IAClD,gEAAgE;IAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAA;IAE1C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,iBAAiB,GAAG,2BAA2B,CACnD,OAAO,EACP,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,CACT,CAAA;QACD,aAAa,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC1C,CAAC;IAED,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACtD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAE1D,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,OAAgB,EAChB,YAAqB;IAErB,KAAK,IAAI,KAAK,GAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAEnD,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,24 +1,21 @@
1
- import { Context, ElementBuildOptions } from '../tag/Tag.class.js';
2
- import { InsertBefore } from './InsertBefore.type.js';
1
+ import { Context } from '../tag/Tag.class.js';
3
2
  import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
4
- import { TagSupport } from '../tag/TagSupport.class.js';
3
+ import { AnySupport, Support } from '../tag/Support.class.js';
5
4
  export type Template = Element & {
6
- clone?: any;
5
+ content: any;
7
6
  };
8
7
  export type InterpolateComponentResult = {
9
8
  subject: InterpolateSubject;
10
9
  insertBefore: Element | Text | Template;
11
- ownerSupport: TagSupport;
10
+ ownerSupport: Support;
12
11
  variableName: string;
13
12
  };
14
- export declare function interpolateTemplate(insertBefore: Template, // <template end interpolate /> (will be removed)
15
- context: Context, // variable scope of {`__tagvar${index}`:'x'}
16
- ownerSupport: TagSupport, // Tag class
17
- counts: Counts): InterpolateComponentResult | undefined;
18
- export declare function subscribeToTemplate(insertBefore: InsertBefore, subject: InterpolateSubject, ownerSupport: TagSupport, counts: Counts): void;
19
13
  export type Counts = {
20
14
  added: number;
21
15
  removed: number;
22
16
  };
17
+ export type ElementBuildOptions = {
18
+ counts: Counts;
19
+ };
23
20
  /** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
24
- export declare function afterElmBuild(elm: Element | ChildNode, options: ElementBuildOptions, context: Context, ownerSupport: TagSupport): void;
21
+ export declare function afterElmBuild(elm: Element | ChildNode, options: ElementBuildOptions, context: Context, ownerSupport: AnySupport): void;
@@ -1,75 +1,9 @@
1
- import { variablePrefix } from '../tag/Tag.class.js';
2
1
  import { elementInitCheck } from './elementInitCheck.js';
3
- import { processFirstSubjectValue } from '../tag/update/processFirstSubjectValue.function.js';
4
- import { isTagArray, isTagComponent } from '../isInstance.js';
5
- import { scanTextAreaValue } from './scanTextAreaValue.function.js';
6
- import { updateExistingValue } from '../tag/update/updateExistingValue.function.js';
7
- import { swapInsertBefore } from '../tag/setTagPlaceholder.function.js';
8
- export function interpolateTemplate(insertBefore, // <template end interpolate /> (will be removed)
9
- context, // variable scope of {`__tagvar${index}`:'x'}
10
- ownerSupport, // Tag class
11
- counts) {
12
- if (!insertBefore.hasAttribute('end')) {
13
- return; // only care about <template end>
14
- }
15
- const variableName = insertBefore.getAttribute('id');
16
- if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
17
- return; // ignore, not a tagVar
18
- }
19
- const existingSubject = context[variableName];
20
- const isDynamic = isTagComponent(existingSubject._value) || isTagArray(existingSubject.value);
21
- // process dynamics later
22
- if (isDynamic) {
23
- return {
24
- variableName,
25
- ownerSupport,
26
- subject: existingSubject,
27
- insertBefore
28
- };
29
- }
30
- subscribeToTemplate(insertBefore, existingSubject, ownerSupport, counts);
31
- return;
32
- }
33
- export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts) {
34
- let called = false;
35
- const onValue = (value) => {
36
- if (called) {
37
- updateExistingValue(subject, value, ownerSupport, insertBefore);
38
- return;
39
- }
40
- const templater = value;
41
- processFirstSubjectValue(templater, subject, insertBefore, ownerSupport, {
42
- counts: { ...counts },
43
- });
44
- called = true;
45
- };
46
- let mutatingCallback = onValue;
47
- const callback = (value) => mutatingCallback(value);
48
- const sub = subject.subscribe(callback);
49
- // on subscribe, the Subject did NOT emit immediately. Lets pull the template off the document
50
- if (insertBefore.parentNode) {
51
- const clone = subject.clone = swapInsertBefore(insertBefore);
52
- mutatingCallback = v => {
53
- const parentNode = clone.parentNode;
54
- parentNode.insertBefore(insertBefore, clone);
55
- parentNode.removeChild(clone);
56
- delete subject.clone;
57
- mutatingCallback = onValue; // all future calls will just produce value
58
- onValue(v); // calls for rending
59
- };
60
- }
61
- ownerSupport.global.subscriptions.push(sub);
62
- }
63
2
  /** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
64
3
  export function afterElmBuild(elm, options, context, ownerSupport) {
65
4
  if (!elm.getAttribute) {
66
5
  return;
67
6
  }
68
- // Elements that alter innerHTML
69
- const tagName = elm.nodeName; // elm.tagName
70
- if (tagName === 'TEXTAREA') {
71
- scanTextAreaValue(elm, context, ownerSupport);
72
- }
73
7
  let diff = options.counts.added;
74
8
  diff = elementInitCheck(elm, options.counts) - diff;
75
9
  const hasFocusFun = elm.focus;
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAuBxD,wIAAwI;AACxI,MAAM,UAAU,aAAa,CAC3B,GAAwB,EACxB,OAA4B,EAC5B,OAAgB,EAChB,YAAwB;IAExB,IAAI,CAAE,GAAe,CAAC,YAAY,EAAE,CAAC;QACnC,OAAM;IACR,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;IAC/B,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAEnD,MAAM,WAAW,GAAI,GAAW,CAAC,KAAK,CAAA;IACtC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAK,GAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,GAAW,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;QAED,IAAK,GAAW,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,GAAW,CAAC,MAAM,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAI,GAAe,CAAC,QAA0B,CAAA;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,MAAM,UAAU,GAAG;gBACjB,GAAG,OAAO;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAA;YAED,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +1,4 @@
1
- export declare const interpolateReplace: RegExp;
2
1
  export type InterpolatedTemplates = {
3
2
  string: string;
4
3
  keys: string[];
5
4
  };
6
- /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
7
- export declare function interpolateToTemplates(template: string): InterpolatedTemplates;
@@ -1,18 +1,2 @@
1
- // support arrow functions in attributes
2
- export const interpolateReplace = /(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;
3
- /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
4
- export function interpolateToTemplates(template) {
5
- const keys = [];
6
- const string = template.replace(interpolateReplace, (match, expression) => {
7
- if (match.startsWith('<')) {
8
- // If the match is an HTML tag, don't replace
9
- return match;
10
- }
11
- const noBraces = expression.substring(1, expression.length - 1);
12
- const id = noBraces;
13
- keys.push(id);
14
- return `<template interpolate end id="${id}"></template>`;
15
- });
16
- return { string, keys };
17
- }
1
+ export {};
18
2
  //# sourceMappingURL=interpolations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../../ts/interpolations/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../../ts/interpolations/interpolations.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ type ObjectNode = {
2
+ nodeName: string;
3
+ };
4
+ export type ObjectText = ObjectNode & {
5
+ textContent: string;
6
+ value?: unknown;
7
+ domElement?: Text;
8
+ marker?: Text;
9
+ };
10
+ export type Attribute = [string, any?] | [any];
11
+ export type ObjectElement = ObjectNode & {
12
+ attributes: Attribute[];
13
+ value?: unknown;
14
+ children?: ObjectChildren;
15
+ domElement?: HTMLElement;
16
+ marker?: Text;
17
+ };
18
+ export type ObjectChildren = (ObjectText | ObjectElement)[];
19
+ export type DomObjectText = ObjectText & {
20
+ textContent: string;
21
+ domElement: Text;
22
+ marker: Text;
23
+ };
24
+ export type DomObjectElement = ObjectElement & {
25
+ attributes: [string, any][];
26
+ children?: DomObjectChildren;
27
+ domElement: HTMLElement;
28
+ marker: Text;
29
+ };
30
+ export type DomObjectChildren = (DomObjectText | DomObjectElement)[];
31
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ObjectNode.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectNode.types.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/ObjectNode.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { DomObjectElement, ObjectElement, ObjectText } from "./ObjectNode.types.js";
2
+ export declare function htmlInterpolationToDomMeta(strings: string[], values: unknown[]): (ObjectText | DomObjectElement)[];
3
+ export declare function exchangeParsedForValues(parsedElements: (ObjectElement | ObjectText)[], values: unknown[]): (ObjectText | ObjectElement)[];
4
+ export declare function balanceArrayByArrays(results: unknown[], strings: string[], values: unknown[]): void;