taggedjs 2.5.23 → 2.6.1

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 (386) 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/RegularValue.type.d.ts +1 -0
  6. package/js/RegularValue.type.js +2 -0
  7. package/js/RegularValue.type.js.map +1 -0
  8. package/js/alterProp.function.d.ts +8 -8
  9. package/js/alterProp.function.js +97 -64
  10. package/js/alterProp.function.js.map +1 -1
  11. package/js/buildClones.function.d.ts +2 -0
  12. package/js/buildClones.function.js +12 -0
  13. package/js/buildClones.function.js.map +1 -0
  14. package/js/deepFunctions.d.ts +2 -2
  15. package/js/deepFunctions.js +40 -26
  16. package/js/deepFunctions.js.map +1 -1
  17. package/js/index.d.ts +9 -13
  18. package/js/index.js +9 -14
  19. package/js/index.js.map +1 -1
  20. package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
  21. package/js/interpolations/afterInterpolateElement.function.js +6 -5
  22. package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
  23. package/js/interpolations/attributes/ElementTargetEvent.interface.d.ts +6 -0
  24. package/js/interpolations/attributes/ElementTargetEvent.interface.js +2 -0
  25. package/js/interpolations/attributes/ElementTargetEvent.interface.js.map +1 -0
  26. package/js/interpolations/attributes/addSupportEventListener.function.d.ts +3 -0
  27. package/js/interpolations/attributes/addSupportEventListener.function.js +42 -0
  28. package/js/interpolations/attributes/addSupportEventListener.function.js.map +1 -0
  29. package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +13 -0
  30. package/js/interpolations/attributes/bindSubjectCallback.function.js +74 -0
  31. package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -0
  32. package/js/interpolations/attributes/elementInitCheck.d.ts +2 -0
  33. package/js/interpolations/attributes/elementInitCheck.js +18 -0
  34. package/js/interpolations/attributes/elementInitCheck.js.map +1 -0
  35. package/js/interpolations/attributes/getUpTags.function.d.ts +2 -0
  36. package/js/interpolations/attributes/getUpTags.function.js +35 -0
  37. package/js/interpolations/attributes/getUpTags.function.js.map +1 -0
  38. package/js/interpolations/attributes/howToSetInputValue.function.d.ts +2 -0
  39. package/js/interpolations/attributes/howToSetInputValue.function.js +11 -0
  40. package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -0
  41. package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +3 -0
  42. package/js/interpolations/attributes/isSpecialAttribute.function.js +26 -0
  43. package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -0
  44. package/js/interpolations/attributes/processAttribute.function.d.ts +19 -0
  45. package/js/interpolations/attributes/processAttribute.function.js +175 -0
  46. package/js/interpolations/attributes/processAttribute.function.js.map +1 -0
  47. package/js/interpolations/attributes/processAttributeCallback.function.d.ts +3 -0
  48. package/js/interpolations/attributes/processAttributeCallback.function.js +12 -0
  49. package/js/interpolations/attributes/processAttributeCallback.function.js.map +1 -0
  50. package/js/interpolations/attributes/processNameValueAttribute.function.d.ts +7 -0
  51. package/js/interpolations/attributes/processNameValueAttribute.function.js +24 -0
  52. package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -0
  53. package/js/interpolations/attributes/renderTagArray.function.d.ts +2 -0
  54. package/js/interpolations/attributes/renderTagArray.function.js +17 -0
  55. package/js/interpolations/attributes/renderTagArray.function.js.map +1 -0
  56. package/js/interpolations/attributes/specialAttribute.d.ts +2 -0
  57. package/js/interpolations/attributes/specialAttribute.js +44 -0
  58. package/js/interpolations/attributes/specialAttribute.js.map +1 -0
  59. package/js/interpolations/bindSubjectCallback.function.d.ts +12 -5
  60. package/js/interpolations/bindSubjectCallback.function.js +48 -40
  61. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  62. package/js/interpolations/index.d.ts +1 -0
  63. package/js/interpolations/index.js +2 -0
  64. package/js/interpolations/index.js.map +1 -0
  65. package/js/interpolations/interpolateAttributes.d.ts +1 -3
  66. package/js/interpolations/interpolateAttributes.js +3 -19
  67. package/js/interpolations/interpolateAttributes.js.map +1 -1
  68. package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
  69. package/js/interpolations/interpolateContentTemplates.js +16 -12
  70. package/js/interpolations/interpolateContentTemplates.js.map +1 -1
  71. package/js/interpolations/interpolateElement.d.ts +4 -6
  72. package/js/interpolations/interpolateElement.js +4 -13
  73. package/js/interpolations/interpolateElement.js.map +1 -1
  74. package/js/interpolations/interpolateTemplate.d.ts +6 -12
  75. package/js/interpolations/interpolateTemplate.js +1 -95
  76. package/js/interpolations/interpolateTemplate.js.map +1 -1
  77. package/js/interpolations/interpolations.d.ts +0 -3
  78. package/js/interpolations/interpolations.js +1 -17
  79. package/js/interpolations/interpolations.js.map +1 -1
  80. package/js/interpolations/optimizers/LikeObjectElement.type.d.ts +15 -0
  81. package/js/interpolations/optimizers/LikeObjectElement.type.js +2 -0
  82. package/js/interpolations/optimizers/LikeObjectElement.type.js.map +1 -0
  83. package/js/interpolations/optimizers/ObjectNode.types.d.ts +38 -0
  84. package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
  85. package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
  86. package/js/interpolations/optimizers/attachDomElements.function.d.ts +13 -0
  87. package/js/interpolations/optimizers/attachDomElements.function.js +107 -0
  88. package/js/interpolations/optimizers/attachDomElements.function.js.map +1 -0
  89. package/js/interpolations/optimizers/exchangeParsedForValues.function.d.ts +15 -0
  90. package/js/interpolations/optimizers/exchangeParsedForValues.function.js +2 -0
  91. package/js/interpolations/optimizers/exchangeParsedForValues.function.js.map +1 -0
  92. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +12 -0
  93. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +201 -0
  94. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
  95. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +12 -0
  96. package/js/interpolations/optimizers/metaAttachDomElements.function.js +89 -0
  97. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
  98. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +3 -0
  99. package/js/interpolations/optimizers/replacePlaceholders.function.js +71 -0
  100. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
  101. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
  102. package/js/interpolations/optimizers/restorePlaceholders.function.js +40 -0
  103. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
  104. package/js/interpolations/optimizers/test.function.d.ts +10 -0
  105. package/js/interpolations/optimizers/test.function.js +19 -0
  106. package/js/interpolations/optimizers/test.function.js.map +1 -0
  107. package/js/interpolations/processAttribute.function.d.ts +14 -4
  108. package/js/interpolations/processAttribute.function.js +129 -88
  109. package/js/interpolations/processAttribute.function.js.map +1 -1
  110. package/js/interpolations/processSubscriptionUpdate.function.d.ts +4 -0
  111. package/js/interpolations/processSubscriptionUpdate.function.js +14 -0
  112. package/js/interpolations/processSubscriptionUpdate.function.js.map +1 -0
  113. package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
  114. package/js/interpolations/scanTextAreaValue.function.js +11 -6
  115. package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
  116. package/js/interpolations/specialAttribute.js +20 -9
  117. package/js/interpolations/specialAttribute.js.map +1 -1
  118. package/js/interpolations/subscribeToTemplate.function.d.ts +13 -0
  119. package/js/interpolations/subscribeToTemplate.function.js +27 -0
  120. package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
  121. package/js/isInstance.d.ts +10 -6
  122. package/js/isInstance.js +32 -18
  123. package/js/isInstance.js.map +1 -1
  124. package/js/render.js +17 -4
  125. package/js/render.js.map +1 -1
  126. package/js/state/callbackMaker.function.d.ts +1 -1
  127. package/js/state/callbackMaker.function.js +25 -35
  128. package/js/state/callbackMaker.function.js.map +1 -1
  129. package/js/state/callbackStateUpdate.function.d.ts +3 -3
  130. package/js/state/callbackStateUpdate.function.js +9 -8
  131. package/js/state/callbackStateUpdate.function.js.map +1 -1
  132. package/js/state/children.js +5 -5
  133. package/js/state/children.js.map +1 -1
  134. package/js/state/getCallbackValue.function.d.ts +4 -0
  135. package/js/state/getCallbackValue.function.js +10 -0
  136. package/js/state/getCallbackValue.function.js.map +1 -0
  137. package/js/state/getStateValue.function.d.ts +2 -0
  138. package/js/state/getStateValue.function.js +24 -0
  139. package/js/state/getStateValue.function.js.map +1 -0
  140. package/js/state/handleProviderChanges.function.d.ts +8 -2
  141. package/js/state/handleProviderChanges.function.js +9 -20
  142. package/js/state/handleProviderChanges.function.js.map +1 -1
  143. package/js/state/index.d.ts +2 -3
  144. package/js/state/index.js +2 -2
  145. package/js/state/index.js.map +1 -1
  146. package/js/state/letState.function.d.ts +2 -0
  147. package/js/state/letState.function.js +28 -28
  148. package/js/state/letState.function.js.map +1 -1
  149. package/js/state/onDestroy.js +4 -3
  150. package/js/state/onDestroy.js.map +1 -1
  151. package/js/state/providers.d.ts +3 -4
  152. package/js/state/providers.js +26 -21
  153. package/js/state/providers.js.map +1 -1
  154. package/js/state/providersChangeCheck.function.d.ts +2 -2
  155. package/js/state/providersChangeCheck.function.js +11 -8
  156. package/js/state/providersChangeCheck.function.js.map +1 -1
  157. package/js/state/setUse.function.d.ts +7 -17
  158. package/js/state/setUse.function.js +12 -13
  159. package/js/state/setUse.function.js.map +1 -1
  160. package/js/state/state.function.js +2 -47
  161. package/js/state/state.function.js.map +1 -1
  162. package/js/state/state.types.d.ts +8 -0
  163. package/js/state/state.types.js +2 -0
  164. package/js/state/state.types.js.map +1 -0
  165. package/js/state/state.utils.d.ts +13 -12
  166. package/js/state/state.utils.js +37 -68
  167. package/js/state/state.utils.js.map +1 -1
  168. package/js/state/stateHandlers.d.ts +2 -0
  169. package/js/state/stateHandlers.js +36 -0
  170. package/js/state/stateHandlers.js.map +1 -0
  171. package/js/state/subject.function.js +16 -12
  172. package/js/state/subject.function.js.map +1 -1
  173. package/js/state/syncStates.function.d.ts +1 -1
  174. package/js/state/syncStates.function.js +8 -5
  175. package/js/state/syncStates.function.js.map +1 -1
  176. package/js/state/watch.function.js +9 -9
  177. package/js/state/watch.function.js.map +1 -1
  178. package/js/subject/Subject.class.d.ts +11 -4
  179. package/js/subject/Subject.class.js +39 -20
  180. package/js/subject/Subject.class.js.map +1 -1
  181. package/js/subject/ValueSubject.d.ts +5 -0
  182. package/js/subject/ValueSubject.js +15 -1
  183. package/js/subject/ValueSubject.js.map +1 -1
  184. package/js/subject/combineLatest.function.js +5 -3
  185. package/js/subject/combineLatest.function.js.map +1 -1
  186. package/js/subject/subject.utils.js +17 -14
  187. package/js/subject/subject.utils.js.map +1 -1
  188. package/js/subject/will.functions.js.map +1 -1
  189. package/js/subject.types.d.ts +4 -16
  190. package/js/tag/Context.types.d.ts +21 -0
  191. package/js/tag/Context.types.js +2 -0
  192. package/js/tag/Context.types.js.map +1 -0
  193. package/js/tag/Support.class.d.ts +34 -0
  194. package/js/tag/Support.class.js +41 -0
  195. package/js/tag/Support.class.js.map +1 -0
  196. package/js/tag/Tag.class.d.ts +36 -23
  197. package/js/tag/Tag.class.js +40 -24
  198. package/js/tag/Tag.class.js.map +1 -1
  199. package/js/tag/TagSupport.class.d.ts +1 -0
  200. package/js/tag/TagSupport.class.js +19 -23
  201. package/js/tag/TagSupport.class.js.map +1 -1
  202. package/js/tag/TemplaterResult.class.d.ts +34 -33
  203. package/js/tag/TemplaterResult.class.js +12 -25
  204. package/js/tag/TemplaterResult.class.js.map +1 -1
  205. package/js/tag/ValueTypes.enum.d.ts +25 -9
  206. package/js/tag/ValueTypes.enum.js +29 -14
  207. package/js/tag/ValueTypes.enum.js.map +1 -1
  208. package/js/tag/buildBeforeElement.function.d.ts +10 -0
  209. package/js/tag/buildBeforeElement.function.js +47 -0
  210. package/js/tag/buildBeforeElement.function.js.map +1 -0
  211. package/js/tag/buildSupportContext.function.d.ts +3 -0
  212. package/js/tag/buildSupportContext.function.js +15 -0
  213. package/js/tag/buildSupportContext.function.js.map +1 -0
  214. package/js/tag/checkDestroyPrevious.function.d.ts +5 -10
  215. package/js/tag/checkDestroyPrevious.function.js +52 -92
  216. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  217. package/js/tag/clonePropsBy.function.d.ts +6 -0
  218. package/js/tag/clonePropsBy.function.js +27 -0
  219. package/js/tag/clonePropsBy.function.js.map +1 -0
  220. package/js/tag/cloneValueArray.function.d.ts +4 -2
  221. package/js/tag/cloneValueArray.function.js +17 -11
  222. package/js/tag/cloneValueArray.function.js.map +1 -1
  223. package/js/tag/destroy.support.d.ts +7 -5
  224. package/js/tag/destroy.support.js +44 -7
  225. package/js/tag/destroy.support.js.map +1 -1
  226. package/js/tag/destroySupport.function.d.ts +2 -0
  227. package/js/tag/destroySupport.function.js +21 -0
  228. package/js/tag/destroySupport.function.js.map +1 -0
  229. package/js/tag/destroyTag.function.d.ts +2 -2
  230. package/js/tag/destroyTag.function.js +6 -5
  231. package/js/tag/destroyTag.function.js.map +1 -1
  232. package/js/tag/domMetaCollector.d.ts +3 -0
  233. package/js/tag/domMetaCollector.js +30 -0
  234. package/js/tag/domMetaCollector.js.map +1 -0
  235. package/js/tag/elementDestroyCheck.function.js +4 -7
  236. package/js/tag/elementDestroyCheck.function.js.map +1 -1
  237. package/js/tag/executeWrap.function.d.ts +5 -0
  238. package/js/tag/executeWrap.function.js +23 -0
  239. package/js/tag/executeWrap.function.js.map +1 -0
  240. package/js/tag/getChildTagsToDestroy.function.d.ts +8 -0
  241. package/js/tag/getChildTagsToDestroy.function.js +47 -0
  242. package/js/tag/getChildTagsToDestroy.function.js.map +1 -0
  243. package/js/tag/getStringsId.function.d.ts +1 -0
  244. package/js/tag/getStringsId.function.js +6 -0
  245. package/js/tag/getStringsId.function.js.map +1 -0
  246. package/js/tag/getSupportInCycle.function.d.ts +1 -1
  247. package/js/tag/getSupportInCycle.function.js +2 -2
  248. package/js/tag/getSupportInCycle.function.js.map +1 -1
  249. package/js/tag/getTagWrap.function.d.ts +2 -0
  250. package/js/tag/getTagWrap.function.js +28 -63
  251. package/js/tag/getTagWrap.function.js.map +1 -1
  252. package/js/tag/getValueType.function.d.ts +3 -2
  253. package/js/tag/getValueType.function.js +20 -28
  254. package/js/tag/getValueType.function.js.map +1 -1
  255. package/js/tag/hasPropChanges.function.d.ts +1 -1
  256. package/js/tag/hasPropChanges.function.js +9 -18
  257. package/js/tag/hasPropChanges.function.js.map +1 -1
  258. package/js/tag/hasSupportChanged.function.d.ts +8 -0
  259. package/js/tag/hasSupportChanged.function.js +146 -0
  260. package/js/tag/hasSupportChanged.function.js.map +1 -0
  261. package/js/tag/hasTagSupportChanged.function.js +15 -2
  262. package/js/tag/hasTagSupportChanged.function.js.map +1 -1
  263. package/js/tag/html.d.ts +7 -4
  264. package/js/tag/html.js +11 -2
  265. package/js/tag/html.js.map +1 -1
  266. package/js/tag/index.d.ts +14 -2
  267. package/js/tag/index.js +14 -2
  268. package/js/tag/index.js.map +1 -1
  269. package/js/tag/isLastRunMatched.function.d.ts +2 -0
  270. package/js/tag/isLastRunMatched.function.js +14 -0
  271. package/js/tag/isLastRunMatched.function.js.map +1 -0
  272. package/js/tag/isLikeTags.function.d.ts +5 -4
  273. package/js/tag/isLikeTags.function.js +33 -12
  274. package/js/tag/isLikeTags.function.js.map +1 -1
  275. package/js/tag/key.d.ts +6 -0
  276. package/js/tag/key.js +9 -0
  277. package/js/tag/key.js.map +1 -0
  278. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  279. package/js/tag/kidsToTagArraySubject.function.js +3 -2
  280. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  281. package/js/tag/paint.function.d.ts +15 -0
  282. package/js/tag/paint.function.js +42 -0
  283. package/js/tag/paint.function.js.map +1 -0
  284. package/js/tag/processUpdateAttrContext.function.d.ts +3 -0
  285. package/js/tag/processUpdateAttrContext.function.js +14 -0
  286. package/js/tag/processUpdateAttrContext.function.js.map +1 -0
  287. package/js/tag/processUpdateContext.function.d.ts +5 -0
  288. package/js/tag/processUpdateContext.function.js +35 -0
  289. package/js/tag/processUpdateContext.function.js.map +1 -0
  290. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -5
  291. package/js/tag/render/destroyUnlikeTags.function.js +2 -14
  292. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  293. package/js/tag/render/renderExistingTag.function.d.ts +5 -7
  294. package/js/tag/render/renderExistingTag.function.js +12 -25
  295. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  296. package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
  297. package/js/tag/render/renderSubjectComponent.function.js +16 -5
  298. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  299. package/js/tag/render/renderSupport.function.d.ts +9 -0
  300. package/js/tag/render/renderSupport.function.js +79 -0
  301. package/js/tag/render/renderSupport.function.js.map +1 -0
  302. package/js/tag/render/renderTagOnly.function.d.ts +4 -3
  303. package/js/tag/render/renderTagOnly.function.js +36 -28
  304. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  305. package/js/tag/render/renderWithSupport.function.d.ts +9 -5
  306. package/js/tag/render/renderWithSupport.function.js +43 -8
  307. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  308. package/js/tag/render/softDestroySupport.function.d.ts +2 -3
  309. package/js/tag/render/softDestroySupport.function.js +23 -16
  310. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  311. package/js/tag/setTagPlaceholder.function.js +2 -1
  312. package/js/tag/setTagPlaceholder.function.js.map +1 -1
  313. package/js/tag/smartRemoveKids.function.d.ts +3 -0
  314. package/js/tag/smartRemoveKids.function.js +80 -0
  315. package/js/tag/smartRemoveKids.function.js.map +1 -0
  316. package/js/tag/tag.d.ts +16 -3
  317. package/js/tag/tag.js +49 -16
  318. package/js/tag/tag.js.map +1 -1
  319. package/js/tag/tag.types.d.ts +6 -4
  320. package/js/tag/tag.utils.d.ts +18 -12
  321. package/js/tag/tag.utils.js.map +1 -1
  322. package/js/tag/tagElement.d.ts +11 -5
  323. package/js/tag/tagElement.js +119 -41
  324. package/js/tag/tagElement.js.map +1 -1
  325. package/js/tag/tagRunner.d.ts +3 -5
  326. package/js/tag/tagRunner.js +18 -40
  327. package/js/tag/tagRunner.js.map +1 -1
  328. package/js/tag/textNode.d.ts +4 -0
  329. package/js/tag/textNode.js +9 -0
  330. package/js/tag/textNode.js.map +1 -0
  331. package/js/tag/update/TagJsSubject.class.d.ts +2 -0
  332. package/js/tag/update/TagJsSubject.class.js +16 -0
  333. package/js/tag/update/TagJsSubject.class.js.map +1 -0
  334. package/js/tag/update/afterChildrenBuilt.function.d.ts +6 -0
  335. package/js/tag/update/afterChildrenBuilt.function.js +25 -0
  336. package/js/tag/update/afterChildrenBuilt.function.js.map +1 -0
  337. package/js/tag/update/getNewGlobal.function.d.ts +2 -0
  338. package/js/tag/update/getNewGlobal.function.js +7 -0
  339. package/js/tag/update/getNewGlobal.function.js.map +1 -0
  340. package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
  341. package/js/tag/update/oneRenderToSupport.function.js +19 -0
  342. package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
  343. package/js/tag/update/processFirstSubject.utils.d.ts +6 -12
  344. package/js/tag/update/processFirstSubjectComponent.function.d.ts +6 -0
  345. package/js/tag/update/processFirstSubjectComponent.function.js +36 -0
  346. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -0
  347. package/js/tag/update/processFirstSubjectValue.function.d.ts +9 -8
  348. package/js/tag/update/processFirstSubjectValue.function.js +75 -37
  349. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  350. package/js/tag/update/processNewValue.function.d.ts +5 -3
  351. package/js/tag/update/processNewValue.function.js +28 -25
  352. package/js/tag/update/processNewValue.function.js.map +1 -1
  353. package/js/tag/update/processRegularValue.function.d.ts +4 -6
  354. package/js/tag/update/processRegularValue.function.js +10 -23
  355. package/js/tag/update/processRegularValue.function.js.map +1 -1
  356. package/js/tag/update/processSubjectComponent.function.d.ts +4 -6
  357. package/js/tag/update/processSubjectComponent.function.js +20 -22
  358. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  359. package/js/tag/update/processTag.function.d.ts +15 -11
  360. package/js/tag/update/processTag.function.js +56 -35
  361. package/js/tag/update/processTag.function.js.map +1 -1
  362. package/js/tag/update/processTagArray.d.ts +7 -20
  363. package/js/tag/update/processTagArray.js +118 -137
  364. package/js/tag/update/processTagArray.js.map +1 -1
  365. package/js/tag/update/processTagResult.function.d.ts +4 -10
  366. package/js/tag/update/processTagResult.function.js +33 -26
  367. package/js/tag/update/processTagResult.function.js.map +1 -1
  368. package/js/tag/update/updateContextItem.function.d.ts +6 -2
  369. package/js/tag/update/updateContextItem.function.js +11 -8
  370. package/js/tag/update/updateContextItem.function.js.map +1 -1
  371. package/js/tag/update/updateExistingTagComponent.function.d.ts +8 -6
  372. package/js/tag/update/updateExistingTagComponent.function.js +96 -126
  373. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  374. package/js/tag/update/updateExistingValue.function.d.ts +5 -4
  375. package/js/tag/update/updateExistingValue.function.js +82 -112
  376. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  377. package/js/tag/update/validateTemplater.function.d.ts +2 -0
  378. package/js/tag/update/validateTemplater.function.js +17 -0
  379. package/js/tag/update/validateTemplater.function.js.map +1 -0
  380. package/js/tag/updateSupportBy.function.d.ts +3 -0
  381. package/js/tag/updateSupportBy.function.js +18 -0
  382. package/js/tag/updateSupportBy.function.js.map +1 -0
  383. package/js/updateBeforeTemplate.function.d.ts +2 -3
  384. package/js/updateBeforeTemplate.function.js +11 -8
  385. package/js/updateBeforeTemplate.function.js.map +1 -1
  386. package/package.json +1 -1
@@ -1,7 +1,14 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
- import { TagSupport } from '../tag/TagSupport.class.js';
3
- export type Callback = (...args: any[]) => any & {
4
- isChildOverride?: true;
2
+ import { BaseSupport, Support } from '../tag/Support.class.js';
3
+ import { TagGlobal } from '../tag/TemplaterResult.class.js';
4
+ export type Callback = (...args: any[]) => any;
5
+ export declare function bindSubjectCallback(value: Callback, support: BaseSupport | Support): {
6
+ (element: Element, args: any[]): "no-data-ever" | Promise<string>;
7
+ tagFunction: Callback;
8
+ support: BaseSupport | Support;
5
9
  };
6
- export declare function bindSubjectCallback(value: Callback, tagSupport: TagSupport): Callback;
7
- export declare function runTagCallback(value: Callback, tagSupport: TagSupport, bindTo: unknown, args: any[]): Promise<string> | "no-data-ever";
10
+ export declare function runTagCallback(value: Callback, support: BaseSupport | Support, bindTo: unknown, args: any[]): "no-data-ever" | Promise<string>;
11
+ export declare function afterTagCallback(tag: BaseSupport | Support, callbackResult: any): "no-data-ever" | Promise<string>;
12
+ export declare function findTagToCallback(support: BaseSupport | Support): BaseSupport | Support;
13
+ export declare function checkAfterCallbackPromise(callbackResult: any, last: BaseSupport | Support, global: TagGlobal): "no-data-ever" | Promise<string>;
14
+ export declare function runBlocked(tag: BaseSupport | Support): BaseSupport | Support | undefined;
@@ -1,72 +1,80 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
- import { setUse } from '../state/setUse.function.js';
3
2
  import { ValueTypes } from '../tag/ValueTypes.enum.js';
4
- import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
3
+ import { renderSupport } from '../tag/render/renderSupport.function.js';
5
4
  import { updateExistingTagComponent } from '../tag/update/updateExistingTagComponent.function.js';
6
5
  const useLocks = true;
7
- export function bindSubjectCallback(value, tagSupport) {
8
- // Is this children? No override needed
9
- if (value.isChildOverride) {
10
- return value;
11
- }
12
- const state = setUse.memory.stateConfig;
13
- const subjectFunction = (element, args) => runTagCallback(value, tagSupport, element, args);
6
+ const noData = 'no-data-ever';
7
+ const promiseNoData = 'promise-no-data-ever';
8
+ export function bindSubjectCallback(value, support) {
9
+ const subjectFunction = (element, args) => {
10
+ return runTagCallback(subjectFunction.tagFunction, subjectFunction.support, element, args);
11
+ };
14
12
  // link back to original. Mostly used for <div oninit ondestroy> animations
15
13
  subjectFunction.tagFunction = value;
14
+ subjectFunction.support = support;
16
15
  return subjectFunction;
17
16
  }
18
- export function runTagCallback(value, tagSupport, bindTo, args) {
19
- const tag = findTagToCallback(tagSupport);
17
+ export function runTagCallback(value, support, bindTo, args) {
18
+ const tag = findTagToCallback(support);
19
+ const global = tag.subject.global;
20
+ if (global.deleted) {
21
+ return noData;
22
+ }
20
23
  const method = value.bind(bindTo);
21
- tag.global.locked = useLocks; // prevent another render from re-rendering this tag
24
+ tag.subject.global.locked = useLocks; // prevent another render from re-rendering this tag
22
25
  const callbackResult = method(...args);
23
26
  return afterTagCallback(tag, callbackResult);
24
27
  }
25
- function afterTagCallback(tag, callbackResult) {
26
- delete tag.global.locked;
27
- if (tag.global.blocked.length) {
28
- 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;
36
- // return lastResult
37
- return checkAfterCallbackPromise(callbackResult, lastResult, lastResult.global);
28
+ export function afterTagCallback(tag, callbackResult) {
29
+ const global = tag.subject.global;
30
+ delete global.locked;
31
+ const blocked = global.blocked;
32
+ if (blocked.length) {
33
+ const lastResult = runBlocked(tag);
34
+ return checkAfterCallbackPromise(callbackResult, lastResult, global);
38
35
  }
39
- const result = renderCallbackSupport(tag.global.newest, callbackResult, tag.global);
36
+ const result = renderCallbackSupport(global.newest, callbackResult, global);
40
37
  return result;
41
38
  }
42
- function findTagToCallback(tagSupport) {
39
+ export function findTagToCallback(support) {
43
40
  // 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;
41
+ if (support.templater.tagJsType === ValueTypes.templater) {
42
+ const owner = support.ownerSupport;
46
43
  return findTagToCallback(owner);
47
44
  }
48
- return tagSupport;
45
+ return support;
49
46
  }
50
47
  function renderCallbackSupport(last, callbackResult, global) {
51
48
  if (global.deleted) {
52
- return 'no-data-ever'; // || last.global.deleted
49
+ return noData; // || last.global.deleted
53
50
  }
54
- renderTagSupport(last, true);
51
+ renderSupport(last, true);
55
52
  return checkAfterCallbackPromise(callbackResult, last, global);
56
53
  }
57
- function checkAfterCallbackPromise(callbackResult, last, global) {
54
+ export function checkAfterCallbackPromise(callbackResult, last, global) {
58
55
  if (callbackResult instanceof Promise) {
59
- last.global.locked = useLocks;
56
+ last.subject.global.locked = useLocks;
60
57
  return callbackResult.then(() => {
61
- delete last.global.locked;
58
+ delete last.subject.global.locked;
62
59
  if (global.deleted) {
63
- return 'promise-no-data-ever'; // tag was deleted during event processing
60
+ return promiseNoData; // tag was deleted during event processing
64
61
  }
65
- delete last.global.locked;
66
- renderTagSupport(global.newest, true);
67
- return 'promise-no-data-ever';
62
+ delete last.subject.global.locked;
63
+ renderSupport(global.newest, true);
64
+ return promiseNoData;
68
65
  });
69
66
  }
70
- return 'no-data-ever';
67
+ return noData;
68
+ }
69
+ export function runBlocked(tag) {
70
+ const global = tag.subject.global;
71
+ const blocked = global.blocked;
72
+ while (blocked.length > 0) {
73
+ const block = blocked[0];
74
+ blocked.splice(0, 1);
75
+ const lastResult = updateExistingTagComponent(block.ownerSupport, block, block.subject);
76
+ global.newest = lastResult;
77
+ }
78
+ return global.newest;
71
79
  }
72
80
  //# 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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"}
@@ -0,0 +1 @@
1
+ export { processSubUpdate } from './processSubscriptionUpdate.function.js';
@@ -0,0 +1,2 @@
1
+ export { processSubUpdate } from './processSubscriptionUpdate.function.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/interpolations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA"}
@@ -1,4 +1,2 @@
1
- import { Context } from '../tag/Tag.class.js';
2
- import { TagSupport } from '../tag/TagSupport.class.js';
3
1
  export type HowToSet = (element: Element, name: string, value: string) => any;
4
- export declare function interpolateAttributes(child: Element, scope: Context, ownerSupport: TagSupport): void;
2
+ export declare function howToSetInputValue(element: Element, name: string, value: string): void;
@@ -1,21 +1,5 @@
1
- import { processAttribute } from './processAttribute.function.js';
2
- function howToSetAttribute(element, name, value) {
3
- element.setAttribute(name, value);
4
- }
5
- function howToSetInputValue(element, name, value) {
6
- element[name] = value;
7
- }
8
- export function interpolateAttributes(child, scope, ownerSupport) {
9
- const attrNames = child.getAttributeNames();
10
- let howToSet = howToSetAttribute;
11
- for (let index = 0; index < attrNames.length; ++index) {
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
19
- }
1
+ import { paintAwaits } from "../tag/paint.function.js";
2
+ export function howToSetInputValue(element, name, value) {
3
+ paintAwaits.push(() => element.setAttribute(name, value));
20
4
  }
21
5
  //# 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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAY,EACZ,KAAa;IAEb,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAC3D,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,18 @@
1
- import { Context, ElementBuildOptions } from '../tag/Tag.class.js';
2
- import { InsertBefore } from './InsertBefore.type.js';
3
1
  import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
4
- import { TagSupport } from '../tag/TagSupport.class.js';
2
+ import { Support } from '../tag/Support.class.js';
5
3
  export type Template = Element & {
6
- clone?: any;
4
+ content: any;
7
5
  };
8
6
  export type InterpolateComponentResult = {
9
7
  subject: InterpolateSubject;
10
8
  insertBefore: Element | Text | Template;
11
- ownerSupport: TagSupport;
9
+ ownerSupport: Support;
12
10
  variableName: string;
13
11
  };
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
12
  export type Counts = {
20
13
  added: number;
21
14
  removed: number;
22
15
  };
23
- /** 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;
16
+ export type ElementBuildOptions = {
17
+ counts: Counts;
18
+ };
@@ -1,96 +1,2 @@
1
- import { variablePrefix } from '../tag/Tag.class.js';
2
- 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
- /** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
64
- export function afterElmBuild(elm, options, context, ownerSupport) {
65
- if (!elm.getAttribute) {
66
- return;
67
- }
68
- // Elements that alter innerHTML
69
- const tagName = elm.nodeName; // elm.tagName
70
- if (tagName === 'TEXTAREA') {
71
- scanTextAreaValue(elm, context, ownerSupport);
72
- }
73
- let diff = options.counts.added;
74
- diff = elementInitCheck(elm, options.counts) - diff;
75
- const hasFocusFun = elm.focus;
76
- if (hasFocusFun) {
77
- if (elm.hasAttribute('autofocus')) {
78
- elm.focus();
79
- }
80
- if (elm.hasAttribute('autoselect')) {
81
- elm.select();
82
- }
83
- }
84
- const children = elm.children;
85
- if (children) {
86
- for (let index = children.length - 1; index >= 0; --index) {
87
- const child = children[index];
88
- const subOptions = {
89
- ...options,
90
- counts: options.counts,
91
- };
92
- afterElmBuild(child, subOptions, context, ownerSupport);
93
- }
94
- }
95
- }
1
+ export {};
96
2
  //# sourceMappingURL=interpolateTemplate.js.map
@@ -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":""}
@@ -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,15 @@
1
+ import { ParsedHtml } from "./htmlInterpolationToDomMeta.function.js";
2
+ import { ObjectElement, ObjectText } from "./ObjectNode.types.js";
3
+ export type ValuePos = (elements: any) => ([any, string | number] | any[]);
4
+ export type ObjectChildren = (ObjectText | ObjectElement)[];
5
+ export type DomMetaMap = ParsedHtml;
6
+ export type LikeObjectChildren = LikeObjectElement[];
7
+ type LikeObjectElement = {
8
+ nn: string;
9
+ tc?: string;
10
+ v?: any;
11
+ at?: any[];
12
+ ch?: LikeObjectElement[];
13
+ domElement?: any;
14
+ };
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LikeObjectElement.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LikeObjectElement.type.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/LikeObjectElement.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { SpecialDefinition } from "../attributes/processAttribute.function";
2
+ import { ObjectChildren } from "./LikeObjectElement.type";
3
+ type ObjectNode = {
4
+ nn: string;
5
+ v?: unknown;
6
+ marker?: Text;
7
+ };
8
+ export type ObjectText = ObjectNode & {
9
+ tc: string;
10
+ domElement?: Text;
11
+ };
12
+ export type Attribute = [
13
+ string,
14
+ any?,
15
+ SpecialDefinition?
16
+ ] | [any];
17
+ export type ObjectElement = ObjectNode & {
18
+ at?: Attribute[];
19
+ ch?: ObjectChildren;
20
+ domElement?: HTMLElement;
21
+ };
22
+ export type DomObjectText = ObjectText & {
23
+ tc: string;
24
+ domElement: Text;
25
+ marker: Text;
26
+ };
27
+ export type DomObjectElement = ObjectElement & {
28
+ at: [
29
+ string,
30
+ any,
31
+ boolean
32
+ ][];
33
+ domElement: HTMLElement;
34
+ ch?: DomObjectChildren;
35
+ marker?: Text;
36
+ };
37
+ export type DomObjectChildren = (DomObjectText | DomObjectElement)[];
38
+ 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,13 @@
1
+ import { DomObjectChildren } from "./ObjectNode.types.js";
2
+ import { BaseSupport, Support } from "../../tag/Support.class.js";
3
+ import { SubToTemplateOptions } from "../subscribeToTemplate.function.js";
4
+ import { Context } from "../../tag/Context.types.js";
5
+ import { ObjectChildren } from "./LikeObjectElement.type.js";
6
+ import { Counts } from "../interpolateTemplate.js";
7
+ export declare function attachDomElements(nodes: ObjectChildren, values: any[], support: BaseSupport | Support, counts: Counts, // used for animation stagger computing
8
+ context: Context, depth: number, // used to know if dynamic variables live within parent owner tag/support
9
+ owner?: Element, insertBefore?: Text, subs?: SubToTemplateOptions[]): {
10
+ context: Context;
11
+ subs: SubToTemplateOptions[];
12
+ dom: DomObjectChildren;
13
+ };