taggedjs 2.1.2 → 2.3.26

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 (442) hide show
  1. package/_js/Clones.type.d.ts +1 -0
  2. package/_js/Clones.type.js +2 -0
  3. package/_js/Clones.type.js.map +1 -0
  4. package/_js/ElementTarget.interface.d.ts +7 -0
  5. package/_js/ElementTarget.interface.js +2 -0
  6. package/_js/ElementTarget.interface.js.map +1 -0
  7. package/_js/ElementTargetEvent.interface.d.ts +6 -0
  8. package/_js/ElementTargetEvent.interface.js +2 -0
  9. package/_js/ElementTargetEvent.interface.js.map +1 -0
  10. package/_js/Props.d.ts +1 -0
  11. package/_js/Props.js +2 -0
  12. package/_js/Props.js.map +1 -0
  13. package/{js/js → _js}/Subject.d.ts +7 -2
  14. package/{js/js → _js}/Subject.js +15 -10
  15. package/_js/Subject.js.map +1 -0
  16. package/_js/Tag.class.d.ts +69 -0
  17. package/_js/Tag.class.js +258 -0
  18. package/_js/Tag.class.js.map +1 -0
  19. package/_js/Tag.utils.d.ts +12 -0
  20. package/_js/Tag.utils.js +31 -0
  21. package/_js/Tag.utils.js.map +1 -0
  22. package/{js/js → _js}/ValueSubject.d.ts +1 -1
  23. package/_js/ValueSubject.js.map +1 -0
  24. package/_js/bindSubjectCallback.function.d.ts +5 -0
  25. package/_js/bindSubjectCallback.function.js +19 -0
  26. package/_js/bindSubjectCallback.function.js.map +1 -0
  27. package/_js/elementDestroyCheck.function.d.ts +3 -0
  28. package/_js/elementDestroyCheck.function.js +17 -0
  29. package/_js/elementDestroyCheck.function.js.map +1 -0
  30. package/_js/elementInitCheck.js.map +1 -0
  31. package/_js/gateway/gateway.web.component.d.ts +11 -0
  32. package/_js/gateway/gateway.web.component.js +20 -0
  33. package/_js/gateway/gateway.web.component.js.map +1 -0
  34. package/_js/gateway/index.d.ts +3 -0
  35. package/_js/gateway/index.js +4 -0
  36. package/_js/gateway/index.js.map +1 -0
  37. package/_js/gateway/loadTagGateway.function.d.ts +2 -0
  38. package/_js/gateway/loadTagGateway.function.js +18 -0
  39. package/_js/gateway/loadTagGateway.function.js.map +1 -0
  40. package/_js/gateway/tagGateway.function.d.ts +4 -0
  41. package/_js/gateway/tagGateway.function.js +49 -0
  42. package/_js/gateway/tagGateway.function.js.map +1 -0
  43. package/_js/gateway/tagGateway.utils.d.ts +21 -0
  44. package/_js/gateway/tagGateway.utils.js +139 -0
  45. package/_js/gateway/tagGateway.utils.js.map +1 -0
  46. package/_js/getCallback.d.ts +3 -0
  47. package/_js/getCallback.js +50 -0
  48. package/_js/getCallback.js.map +1 -0
  49. package/_js/getTagSupport.d.ts +21 -0
  50. package/_js/getTagSupport.js +110 -0
  51. package/_js/getTagSupport.js.map +1 -0
  52. package/_js/html.d.ts +2 -0
  53. package/{js/js → _js}/html.js.map +1 -1
  54. package/_js/index.d.ts +20 -0
  55. package/_js/index.js +25 -0
  56. package/_js/index.js.map +1 -0
  57. package/_js/inputAttribute.js +19 -0
  58. package/_js/inputAttribute.js.map +1 -0
  59. package/{js/js → _js}/interpolateAttributes.d.ts +2 -1
  60. package/_js/interpolateAttributes.js +135 -0
  61. package/_js/interpolateAttributes.js.map +1 -0
  62. package/_js/interpolateContentTemplates.d.ts +6 -0
  63. package/_js/interpolateContentTemplates.js +54 -0
  64. package/_js/interpolateContentTemplates.js.map +1 -0
  65. package/_js/interpolateElement.d.ts +9 -0
  66. package/_js/interpolateElement.js +39 -0
  67. package/_js/interpolateElement.js.map +1 -0
  68. package/_js/interpolateTemplate.d.ts +17 -0
  69. package/_js/interpolateTemplate.js +64 -0
  70. package/_js/interpolateTemplate.js.map +1 -0
  71. package/{js/js → _js}/interpolations.d.ts +3 -2
  72. package/{js/js → _js}/interpolations.js +2 -1
  73. package/_js/interpolations.js.map +1 -0
  74. package/_js/isInstance.d.ts +6 -0
  75. package/_js/isInstance.js +10 -0
  76. package/_js/isInstance.js.map +1 -0
  77. package/_js/js/Clones.type.d.ts +1 -0
  78. package/_js/js/Clones.type.js +2 -0
  79. package/_js/js/Clones.type.js.map +1 -0
  80. package/_js/js/Props.d.ts +1 -0
  81. package/_js/js/Props.js +2 -0
  82. package/_js/js/Props.js.map +1 -0
  83. package/_js/js/Subject.d.ts +17 -0
  84. package/_js/js/Subject.js +43 -0
  85. package/_js/js/Subject.js.map +1 -0
  86. package/{js → _js}/js/Tag.class.d.ts +27 -5
  87. package/_js/js/Tag.class.js +241 -0
  88. package/_js/js/Tag.class.js.map +1 -0
  89. package/_js/js/Tag.utils.d.ts +12 -0
  90. package/_js/js/Tag.utils.js +31 -0
  91. package/_js/js/Tag.utils.js.map +1 -0
  92. package/_js/js/ValueSubject.d.ts +6 -0
  93. package/_js/js/ValueSubject.js +15 -0
  94. package/_js/js/ValueSubject.js.map +1 -0
  95. package/_js/js/bindSubjectCallback.function.d.ts +5 -0
  96. package/_js/js/bindSubjectCallback.function.js +19 -0
  97. package/_js/js/bindSubjectCallback.function.js.map +1 -0
  98. package/_js/js/deepFunctions.d.ts +2 -0
  99. package/_js/js/deepFunctions.js +76 -0
  100. package/_js/js/deepFunctions.js.map +1 -0
  101. package/_js/js/elementDestroyCheck.function.d.ts +3 -0
  102. package/_js/js/elementDestroyCheck.function.js +17 -0
  103. package/_js/js/elementDestroyCheck.function.js.map +1 -0
  104. package/_js/js/elementInitCheck.d.ts +2 -0
  105. package/_js/js/elementInitCheck.js +18 -0
  106. package/_js/js/elementInitCheck.js.map +1 -0
  107. package/_js/js/getCallback.js +50 -0
  108. package/_js/js/getCallback.js.map +1 -0
  109. package/_js/js/getTagSupport.d.ts +22 -0
  110. package/_js/js/getTagSupport.js +116 -0
  111. package/_js/js/getTagSupport.js.map +1 -0
  112. package/_js/js/html.d.ts +2 -0
  113. package/_js/js/html.js +5 -0
  114. package/_js/js/html.js.map +1 -0
  115. package/_js/js/index.d.ts +19 -0
  116. package/_js/js/index.js +24 -0
  117. package/_js/js/index.js.map +1 -0
  118. package/_js/js/inputAttribute.d.ts +1 -0
  119. package/_js/js/interpolateAttributes.d.ts +4 -0
  120. package/_js/js/interpolateAttributes.js +127 -0
  121. package/_js/js/interpolateAttributes.js.map +1 -0
  122. package/{js → _js}/js/interpolateContentTemplates.d.ts +3 -1
  123. package/_js/js/interpolateContentTemplates.js +57 -0
  124. package/_js/js/interpolateContentTemplates.js.map +1 -0
  125. package/_js/js/interpolateElement.d.ts +9 -0
  126. package/_js/js/interpolateElement.js +32 -0
  127. package/_js/js/interpolateElement.js.map +1 -0
  128. package/_js/js/interpolateTemplate.d.ts +17 -0
  129. package/_js/js/interpolateTemplate.js +64 -0
  130. package/_js/js/interpolateTemplate.js.map +1 -0
  131. package/_js/js/interpolations.d.ts +8 -0
  132. package/_js/js/interpolations.js +17 -0
  133. package/_js/js/interpolations.js.map +1 -0
  134. package/_js/js/isInstance.d.ts +6 -0
  135. package/_js/js/isInstance.js +10 -0
  136. package/_js/js/isInstance.js.map +1 -0
  137. package/_js/js/onDestroy.d.ts +2 -0
  138. package/_js/js/onDestroy.js +20 -0
  139. package/_js/js/onDestroy.js.map +1 -0
  140. package/_js/js/onInit.d.ts +2 -0
  141. package/_js/js/onInit.js +19 -0
  142. package/_js/js/onInit.js.map +1 -0
  143. package/_js/js/processSubjectComponent.function.d.ts +8 -0
  144. package/_js/js/processSubjectComponent.function.js +53 -0
  145. package/_js/js/processSubjectComponent.function.js.map +1 -0
  146. package/_js/js/processSubjectValue.function.d.ts +16 -0
  147. package/_js/js/processSubjectValue.function.js +122 -0
  148. package/_js/js/processSubjectValue.function.js.map +1 -0
  149. package/{js → _js}/js/processTagArray.d.ts +5 -1
  150. package/_js/js/processTagArray.js +60 -0
  151. package/_js/js/processTagArray.js.map +1 -0
  152. package/_js/js/processTagResult.function.d.ts +10 -0
  153. package/_js/js/processTagResult.function.js +42 -0
  154. package/_js/js/processTagResult.function.js.map +1 -0
  155. package/_js/js/providers.d.ts +17 -0
  156. package/{js → _js}/js/providers.js +28 -20
  157. package/_js/js/providers.js.map +1 -0
  158. package/_js/js/redrawTag.function.d.ts +7 -0
  159. package/_js/js/redrawTag.function.js +9 -0
  160. package/_js/js/redrawTag.function.js.map +1 -0
  161. package/_js/js/render.d.ts +1 -0
  162. package/_js/js/render.js +24 -0
  163. package/_js/js/render.js.map +1 -0
  164. package/_js/js/renderAppToElement.d.ts +14 -0
  165. package/_js/js/renderAppToElement.js +57 -0
  166. package/_js/js/renderAppToElement.js.map +1 -0
  167. package/_js/js/setUse.function.d.ts +23 -0
  168. package/_js/js/setUse.function.js +14 -0
  169. package/_js/js/setUse.function.js.map +1 -0
  170. package/_js/js/state.d.ts +24 -0
  171. package/_js/js/state.js +98 -0
  172. package/_js/js/state.js.map +1 -0
  173. package/_js/js/tag.d.ts +8 -0
  174. package/_js/js/tag.js +46 -0
  175. package/_js/js/tag.js.map +1 -0
  176. package/_js/js/tagElement.d.ts +14 -0
  177. package/_js/js/tagElement.js +57 -0
  178. package/_js/js/tagElement.js.map +1 -0
  179. package/_js/js/tagGateway.function.d.ts +5 -0
  180. package/_js/js/tagGateway.function.js +119 -0
  181. package/_js/js/tagGateway.function.js.map +1 -0
  182. package/_js/js/tagRunner.d.ts +6 -0
  183. package/_js/js/tagRunner.js +19 -0
  184. package/_js/js/tagRunner.js.map +1 -0
  185. package/_js/js/templater.utils.d.ts +28 -0
  186. package/_js/js/templater.utils.js +99 -0
  187. package/_js/js/templater.utils.js.map +1 -0
  188. package/_js/js/updateTag.utils.d.ts +6 -0
  189. package/_js/js/updateTag.utils.js +84 -0
  190. package/_js/js/updateTag.utils.js.map +1 -0
  191. package/_js/onDestroy.d.ts +2 -0
  192. package/_js/onDestroy.js +20 -0
  193. package/_js/onDestroy.js.map +1 -0
  194. package/_js/onInit.d.ts +2 -0
  195. package/_js/onInit.js +19 -0
  196. package/_js/onInit.js.map +1 -0
  197. package/_js/processSubjectComponent.function.d.ts +8 -0
  198. package/_js/processSubjectComponent.function.js +53 -0
  199. package/_js/processSubjectComponent.function.js.map +1 -0
  200. package/_js/processSubjectValue.function.d.ts +16 -0
  201. package/_js/processSubjectValue.function.js +122 -0
  202. package/_js/processSubjectValue.function.js.map +1 -0
  203. package/_js/processTagArray.d.ts +9 -0
  204. package/{js/js → _js}/processTagArray.js +21 -10
  205. package/_js/processTagArray.js.map +1 -0
  206. package/_js/processTagResult.function.d.ts +10 -0
  207. package/_js/processTagResult.function.js +40 -0
  208. package/_js/processTagResult.function.js.map +1 -0
  209. package/_js/providers.d.ts +17 -0
  210. package/_js/providers.js +86 -0
  211. package/_js/providers.js.map +1 -0
  212. package/_js/redrawTag.function.d.ts +7 -0
  213. package/_js/redrawTag.function.js +8 -0
  214. package/_js/redrawTag.function.js.map +1 -0
  215. package/_js/render.d.ts +1 -0
  216. package/_js/render.js +17 -0
  217. package/_js/render.js.map +1 -0
  218. package/_js/renderAppToElement.d.ts +14 -0
  219. package/_js/renderAppToElement.js +57 -0
  220. package/_js/renderAppToElement.js.map +1 -0
  221. package/_js/setUse.function.d.ts +23 -0
  222. package/_js/setUse.function.js +14 -0
  223. package/_js/setUse.function.js.map +1 -0
  224. package/_js/state.d.ts +21 -0
  225. package/_js/state.js +129 -0
  226. package/_js/state.js.map +1 -0
  227. package/_js/tag.d.ts +7 -0
  228. package/_js/tag.js +46 -0
  229. package/_js/tag.js.map +1 -0
  230. package/_js/tagElement.d.ts +14 -0
  231. package/_js/tagElement.js +57 -0
  232. package/_js/tagElement.js.map +1 -0
  233. package/_js/tagGateway.function.d.ts +14 -0
  234. package/_js/tagGateway.function.js +138 -0
  235. package/_js/tagGateway.function.js.map +1 -0
  236. package/_js/tagRunner.d.ts +6 -0
  237. package/_js/tagRunner.js +19 -0
  238. package/_js/tagRunner.js.map +1 -0
  239. package/_js/templater.utils.d.ts +27 -0
  240. package/_js/templater.utils.js +98 -0
  241. package/_js/templater.utils.js.map +1 -0
  242. package/_js/updateTag.utils.d.ts +6 -0
  243. package/_js/updateTag.utils.js +102 -0
  244. package/_js/updateTag.utils.js.map +1 -0
  245. package/index.js +1 -1
  246. package/js/Clones.type.d.ts +1 -0
  247. package/js/Clones.type.js +2 -0
  248. package/js/Clones.type.js.map +1 -0
  249. package/js/ElementTarget.interface.d.ts +7 -0
  250. package/js/ElementTarget.interface.js +2 -0
  251. package/js/ElementTarget.interface.js.map +1 -0
  252. package/js/ElementTargetEvent.interface.d.ts +6 -0
  253. package/js/ElementTargetEvent.interface.js +2 -0
  254. package/js/ElementTargetEvent.interface.js.map +1 -0
  255. package/js/Props.d.ts +1 -0
  256. package/js/Props.js +2 -0
  257. package/js/Props.js.map +1 -0
  258. package/js/Subject.d.ts +7 -2
  259. package/js/Subject.js +15 -10
  260. package/js/Subject.js.map +1 -1
  261. package/js/Tag.class.d.ts +37 -13
  262. package/js/Tag.class.js +136 -102
  263. package/js/Tag.class.js.map +1 -1
  264. package/js/Tag.utils.d.ts +9 -20
  265. package/js/Tag.utils.js +20 -88
  266. package/js/Tag.utils.js.map +1 -1
  267. package/js/ValueSubject.d.ts +1 -1
  268. package/js/ValueSubject.js.map +1 -1
  269. package/js/bindSubjectCallback.function.d.ts +5 -0
  270. package/js/bindSubjectCallback.function.js +20 -0
  271. package/js/bindSubjectCallback.function.js.map +1 -0
  272. package/js/elementDestroyCheck.function.d.ts +3 -0
  273. package/js/elementDestroyCheck.function.js +17 -0
  274. package/js/elementDestroyCheck.function.js.map +1 -0
  275. package/js/elementInitCheck.js.map +1 -1
  276. package/js/gateway/gateway.web.component.d.ts +11 -0
  277. package/js/gateway/gateway.web.component.js +20 -0
  278. package/js/gateway/gateway.web.component.js.map +1 -0
  279. package/js/gateway/index.d.ts +3 -0
  280. package/js/gateway/index.js +4 -0
  281. package/js/gateway/index.js.map +1 -0
  282. package/js/gateway/loadTagGateway.function.d.ts +2 -0
  283. package/js/gateway/loadTagGateway.function.js +18 -0
  284. package/js/gateway/loadTagGateway.function.js.map +1 -0
  285. package/js/gateway/tagGateway.function.d.ts +4 -0
  286. package/js/gateway/tagGateway.function.js +49 -0
  287. package/js/gateway/tagGateway.function.js.map +1 -0
  288. package/js/gateway/tagGateway.utils.d.ts +21 -0
  289. package/js/gateway/tagGateway.utils.js +139 -0
  290. package/js/gateway/tagGateway.utils.js.map +1 -0
  291. package/js/getCallback.d.ts +1 -1
  292. package/js/getCallback.js +39 -42
  293. package/js/getCallback.js.map +1 -1
  294. package/js/getTagSupport.d.ts +18 -17
  295. package/js/getTagSupport.js +104 -15
  296. package/js/getTagSupport.js.map +1 -1
  297. package/js/html.d.ts +1 -1
  298. package/js/html.js.map +1 -1
  299. package/js/index.d.ts +17 -7
  300. package/js/index.js +21 -8
  301. package/js/index.js.map +1 -1
  302. package/js/inputAttribute.js +3 -3
  303. package/js/inputAttribute.js.map +1 -1
  304. package/js/interpolateAttributes.d.ts +2 -1
  305. package/js/interpolateAttributes.js +129 -60
  306. package/js/interpolateAttributes.js.map +1 -1
  307. package/js/interpolateContentTemplates.d.ts +4 -1
  308. package/js/interpolateContentTemplates.js +32 -25
  309. package/js/interpolateContentTemplates.js.map +1 -1
  310. package/js/interpolateElement.d.ts +8 -13
  311. package/js/interpolateElement.js +26 -22
  312. package/js/interpolateElement.js.map +1 -1
  313. package/js/interpolateTemplate.d.ts +15 -19
  314. package/js/interpolateTemplate.js +33 -231
  315. package/js/interpolateTemplate.js.map +1 -1
  316. package/js/interpolations.d.ts +3 -2
  317. package/js/interpolations.js +2 -1
  318. package/js/interpolations.js.map +1 -1
  319. package/js/isInstance.d.ts +6 -0
  320. package/js/isInstance.js +10 -0
  321. package/js/isInstance.js.map +1 -0
  322. package/js/onDestroy.d.ts +2 -0
  323. package/js/onDestroy.js +20 -0
  324. package/js/onDestroy.js.map +1 -0
  325. package/js/onInit.d.ts +0 -4
  326. package/js/onInit.js +12 -10
  327. package/js/onInit.js.map +1 -1
  328. package/js/processSubjectComponent.function.d.ts +8 -0
  329. package/js/processSubjectComponent.function.js +53 -0
  330. package/js/processSubjectComponent.function.js.map +1 -0
  331. package/js/processSubjectValue.function.d.ts +23 -0
  332. package/js/processSubjectValue.function.js +129 -0
  333. package/js/processSubjectValue.function.js.map +1 -0
  334. package/js/processTagArray.d.ts +15 -2
  335. package/js/processTagArray.js +30 -13
  336. package/js/processTagArray.js.map +1 -1
  337. package/js/processTagResult.function.d.ts +12 -0
  338. package/js/processTagResult.function.js +43 -0
  339. package/js/processTagResult.function.js.map +1 -0
  340. package/js/providers.d.ts +4 -12
  341. package/js/providers.js +28 -20
  342. package/js/providers.js.map +1 -1
  343. package/js/redrawTag.function.d.ts +7 -0
  344. package/js/redrawTag.function.js +8 -0
  345. package/js/redrawTag.function.js.map +1 -0
  346. package/js/render.d.ts +1 -6
  347. package/js/render.js +5 -19
  348. package/js/render.js.map +1 -1
  349. package/js/renderAppToElement.d.ts +8 -2
  350. package/js/renderAppToElement.js +40 -21
  351. package/js/renderAppToElement.js.map +1 -1
  352. package/js/setUse.function.d.ts +23 -0
  353. package/js/setUse.function.js +14 -0
  354. package/js/setUse.function.js.map +1 -0
  355. package/js/state.d.ts +16 -17
  356. package/js/state.js +89 -44
  357. package/js/state.js.map +1 -1
  358. package/js/tag.d.ts +6 -16
  359. package/js/tag.js +32 -43
  360. package/js/tag.js.map +1 -1
  361. package/js/tagElement.d.ts +14 -0
  362. package/js/tagElement.js +60 -0
  363. package/js/tagElement.js.map +1 -0
  364. package/js/tagGateway.function.d.ts +14 -0
  365. package/js/tagGateway.function.js +138 -0
  366. package/js/tagGateway.function.js.map +1 -0
  367. package/js/tagRunner.d.ts +2 -13
  368. package/js/tagRunner.js +12 -12
  369. package/js/tagRunner.js.map +1 -1
  370. package/js/templater.utils.d.ts +27 -0
  371. package/js/templater.utils.js +98 -0
  372. package/js/templater.utils.js.map +1 -0
  373. package/js/updateTag.utils.d.ts +7 -0
  374. package/js/updateTag.utils.js +147 -0
  375. package/js/updateTag.utils.js.map +1 -0
  376. package/package.json +1 -1
  377. package/js/js/Subject.js.map +0 -1
  378. package/js/js/Tag.class.js +0 -213
  379. package/js/js/Tag.class.js.map +0 -1
  380. package/js/js/Tag.utils.d.ts +0 -24
  381. package/js/js/Tag.utils.js +0 -102
  382. package/js/js/Tag.utils.js.map +0 -1
  383. package/js/js/ValueSubject.js.map +0 -1
  384. package/js/js/elementInitCheck.js.map +0 -1
  385. package/js/js/getCallback.js +0 -53
  386. package/js/js/getCallback.js.map +0 -1
  387. package/js/js/getTagSupport.d.ts +0 -20
  388. package/js/js/getTagSupport.js +0 -20
  389. package/js/js/getTagSupport.js.map +0 -1
  390. package/js/js/html.d.ts +0 -2
  391. package/js/js/index.d.ts +0 -10
  392. package/js/js/index.js +0 -12
  393. package/js/js/index.js.map +0 -1
  394. package/js/js/interpolateAttributes.js +0 -69
  395. package/js/js/interpolateAttributes.js.map +0 -1
  396. package/js/js/interpolateContentTemplates.js +0 -47
  397. package/js/js/interpolateContentTemplates.js.map +0 -1
  398. package/js/js/interpolateElement.d.ts +0 -14
  399. package/js/js/interpolateElement.js +0 -35
  400. package/js/js/interpolateElement.js.map +0 -1
  401. package/js/js/interpolateTemplate.d.ts +0 -21
  402. package/js/js/interpolateTemplate.js +0 -262
  403. package/js/js/interpolateTemplate.js.map +0 -1
  404. package/js/js/interpolations.js.map +0 -1
  405. package/js/js/onInit.d.ts +0 -6
  406. package/js/js/onInit.js +0 -17
  407. package/js/js/onInit.js.map +0 -1
  408. package/js/js/processTagArray.js.map +0 -1
  409. package/js/js/providers.d.ts +0 -25
  410. package/js/js/providers.js.map +0 -1
  411. package/js/js/render.d.ts +0 -6
  412. package/js/js/render.js +0 -31
  413. package/js/js/render.js.map +0 -1
  414. package/js/js/renderAppToElement.d.ts +0 -8
  415. package/js/js/renderAppToElement.js +0 -38
  416. package/js/js/renderAppToElement.js.map +0 -1
  417. package/js/js/state.d.ts +0 -21
  418. package/js/js/state.js +0 -63
  419. package/js/js/state.js.map +0 -1
  420. package/js/js/tag.d.ts +0 -17
  421. package/js/js/tag.js +0 -57
  422. package/js/js/tag.js.map +0 -1
  423. package/js/js/tagRunner.d.ts +0 -17
  424. package/js/js/tagRunner.js +0 -19
  425. package/js/js/tagRunner.js.map +0 -1
  426. /package/{js/js → _js}/ValueSubject.js +0 -0
  427. /package/{js/js → _js}/deepFunctions.d.ts +0 -0
  428. /package/{js/js → _js}/deepFunctions.js +0 -0
  429. /package/{js/js → _js}/deepFunctions.js.map +0 -0
  430. /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
  431. /package/{js/js → _js}/elementInitCheck.js +0 -0
  432. /package/{js/js → _js}/html.js +0 -0
  433. /package/{js/js → _js}/inputAttribute.d.ts +0 -0
  434. /package/{js → _js}/js/getCallback.d.ts +0 -0
  435. /package/{js → _js}/js/inputAttribute.js +0 -0
  436. /package/{js → _js}/js/inputAttribute.js.map +0 -0
  437. /package/{js → _js}/js/wait.d.ts +0 -0
  438. /package/{js → _js}/js/wait.js +0 -0
  439. /package/{js → _js}/js/wait.js.map +0 -0
  440. /package/{js → _js}/wait.d.ts +0 -0
  441. /package/{js → _js}/wait.js +0 -0
  442. /package/{js → _js}/wait.js.map +0 -0
@@ -0,0 +1,129 @@
1
+ import { processSubjectComponent } from "./processSubjectComponent.function.js";
2
+ import { processTagResult } from "./processTagResult.function.js";
3
+ import { isTagComponent, isTagInstance } from "./isInstance.js";
4
+ import { processTagArray } from "./processTagArray.js";
5
+ import { getTagSupport } from "./getTagSupport.js";
6
+ import { updateBetweenTemplates } from "./interpolateTemplate.js";
7
+ var ValueTypes;
8
+ (function (ValueTypes) {
9
+ ValueTypes["tag"] = "tag";
10
+ ValueTypes["tagArray"] = "tag-array";
11
+ ValueTypes["tagComponent"] = "tag-component";
12
+ ValueTypes["value"] = "value";
13
+ })(ValueTypes || (ValueTypes = {}));
14
+ function getValueType(value) {
15
+ if (isTagComponent(value)) {
16
+ return ValueTypes.tagComponent;
17
+ }
18
+ if (isTagInstance(value)) {
19
+ return ValueTypes.tag;
20
+ }
21
+ if (isTagArray(value)) {
22
+ return ValueTypes.tagArray;
23
+ }
24
+ return ValueTypes.value;
25
+ }
26
+ export function isTagArray(value) {
27
+ return value instanceof Array && value.every(x => isTagInstance(x));
28
+ }
29
+ export function processSubjectValue(value, result, // could be tag via result.tag
30
+ template, // <template end interpolate /> (will be removed)
31
+ tag, // owner
32
+ options) {
33
+ const valueType = getValueType(value);
34
+ // Previously was simple value, now its a tag of some sort
35
+ const resultTag = result;
36
+ const clone = resultTag.clone;
37
+ if (valueType !== ValueTypes.value && clone) {
38
+ const parent = clone.parentNode;
39
+ template.removeAttribute('removedAt');
40
+ parent.insertBefore(template, clone);
41
+ parent.removeChild(clone);
42
+ delete resultTag.clone;
43
+ // result.clone = template
44
+ }
45
+ switch (valueType) {
46
+ case ValueTypes.tag:
47
+ return {
48
+ clones: processTag(value, result, template, tag, options)
49
+ };
50
+ case ValueTypes.tagArray:
51
+ return {
52
+ clones: processTagArray(result, value, template, tag, options)
53
+ };
54
+ case ValueTypes.tagComponent:
55
+ return {
56
+ clones: processSubjectComponent(value, result, template, tag, options)
57
+ };
58
+ }
59
+ // *if processing WAS a tag BUT NOW its some other non-tag value
60
+ if (result.tag) {
61
+ return {
62
+ clones: [],
63
+ promise: processWasTag(value, result, template, options),
64
+ };
65
+ }
66
+ return {
67
+ clones: processRegularValue(value, result, template, tag)
68
+ };
69
+ }
70
+ function processRegularValue(value, result, // could be tag via result.tag
71
+ template, // <template end interpolate /> (will be removed)
72
+ tag) {
73
+ const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
74
+ // Processing of regular values
75
+ const clone = updateBetweenTemplates(value, before);
76
+ result.clone = clone; // remember single element put down, for future updates
77
+ const clones = [];
78
+ const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
79
+ const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
80
+ const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
81
+ if (exchangeGuideForClone) {
82
+ tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
83
+ tag.clones.push(clone); // exchange guide for element actually on document
84
+ clones.push(clone); // record the one element that in the end is on the document
85
+ }
86
+ return clones;
87
+ }
88
+ export function processTag(value, result, // could be tag via result.tag
89
+ template, // <template end interpolate /> (will be removed)
90
+ tag, // owner
91
+ options) {
92
+ // first time seeing this tag?
93
+ if (!value.tagSupport) {
94
+ value.tagSupport = getTagSupport({});
95
+ // asking me to render will cause my parent to render
96
+ value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
97
+ value.tagSupport.oldest = value.tagSupport.oldest || value;
98
+ tag.children.push(value);
99
+ value.ownerTag = tag;
100
+ result.sideTag = tag;
101
+ }
102
+ // (result as any).template = template
103
+ result.template = template;
104
+ const clones = processTagResult(value, result, // Function will attach result.tag
105
+ template, options);
106
+ return clones;
107
+ }
108
+ function processWasTag(value, result, // could be tag via result.tag,
109
+ template, // <template end interpolate /> (will be removed)
110
+ options) {
111
+ const tag = result.tag;
112
+ // put the template back
113
+ const lastFirstChild = result.clone || template; // result.tag.clones[0] // template.lastFirstChild
114
+ // const parentNode = lastFirstChild.parentNode || template.parentNode
115
+ // put the template back down
116
+ lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
117
+ // cleanup old
118
+ if (result.clone) {
119
+ result.clone.parentNode.removeChild(result.clone);
120
+ }
121
+ delete result.tag;
122
+ const stagger = options.counts.removed;
123
+ const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
124
+ delete result.tag;
125
+ const clone = updateBetweenTemplates(value, template);
126
+ result.clone = clone;
127
+ return promise;
128
+ }
129
+ //# sourceMappingURL=processSubjectValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAoB,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAInF,IAAK,UAKJ;AALD,WAAK,UAAU;IACb,yBAAW,CAAA;IACX,oCAAsB,CAAA;IACtB,4CAA8B,CAAA;IAC9B,6BAAe,CAAA;AACjB,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAYD,MAAM,UAAU,mBAAmB,CACjC,KAAU,EACV,MAAoC,EAAE,8BAA8B;AACpE,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,0DAA0D;IAC1D,MAAM,SAAS,GAAG,MAAoB,CAAA;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,IAAG,SAAS,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAwB,CAAA;QAC7C,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,OAAO,SAAS,CAAC,KAAK,CAAA;QACtB,0BAA0B;IAC5B,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,GAAG;YACjB,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAC1D,CAAA;QAEH,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO;gBACL,MAAM,EAAE,eAAe,CAAC,MAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAClF,CAAA;QAEH,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aACrF,CAAA;IACL,CAAC;IAED,gEAAgE;IAChE,IAAM,MAAqB,CAAC,GAAG,EAAG,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;SACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAU,EACV,MAAW,EAAE,8BAA8B;AAC3C,QAAkB,EAAE,iDAAiD;AACrE,GAAQ;IAER,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAC,gFAAgF;IAExH,+BAA+B;IAC/B,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,MAAM,CACP,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;IAE5E,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,qEAAqE;IAC/G,MAAM,mBAAmB,GAAG,MAAM,IAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpE,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA,CAAC,sDAAsD;IAE9H,IAAI,qBAAqB,EAAG,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;QAClE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,kDAAkD;QACzE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,4DAA4D;IACjF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAU,EACV,MAAoC,EAAE,8BAA8B;AACpE,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,8BAA8B;IAC9B,IAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC,EAAqB,CAAC,CAAA;QACvD,qDAAqD;QACrD,KAAK,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAA;QAC/D,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAA;QAE1D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAY,CAAC,CAAA;QAC/B,KAAK,CAAC,QAAQ,GAAG,GAAG,CAEnB;QAAC,MAAc,CAAC,OAAO,GAAG,GAAG,CAAA;IAChC,CAAC;IAED,sCAAsC;IACrC,MAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEnC,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,kCAAkC;IAC1C,QAAQ,EACR,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,MAAW,EAAE,+BAA+B;AAC5C,QAAkB,EAAE,iDAAiD;AACrE,OAAuB;IAEvB,MAAM,GAAG,GAAQ,MAAM,CAAC,GAAG,CAAA;IAE3B,wBAAwB;IACxB,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAA,kDAAkD;IACjG,sEAAsE;IAEtE,6BAA6B;IAC7B,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAEhE,cAAc;IACd,IAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACrD,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,CAC5C,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,QAAQ,CACT,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAEpB,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,5 +1,18 @@
1
+ import { Clones } from "./Clones.type.js";
1
2
  import { Tag } from "./Tag.class.js";
3
+ import { ValueSubject } from "./ValueSubject.js";
2
4
  import { Counts } from "./interpolateTemplate.js";
3
- export declare function processTagArray(result: any, value: Tag[], // arry of Tag classes
5
+ export type LastArrayItem = {
6
+ tag: Tag;
7
+ index: number;
8
+ };
9
+ export type TagArraySubject = ValueSubject<Tag[]> & {
10
+ lastArray: LastArrayItem[];
11
+ template: Element;
12
+ };
13
+ export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
4
14
  template: Element, // <template end interpolate />
5
- ownerTag: Tag, counts: Counts): void;
15
+ ownerTag: Tag, options: {
16
+ counts: Counts;
17
+ forceElement?: boolean;
18
+ }): Clones;
@@ -1,28 +1,44 @@
1
- import { processTagResult } from "./interpolateTemplate.js";
1
+ import { getTagSupport } from "./getTagSupport.js";
2
+ import { processTagResult } from "./processTagResult.function.js";
2
3
  export function processTagArray(result, value, // arry of Tag classes
3
4
  template, // <template end interpolate />
4
- ownerTag, counts) {
5
+ ownerTag, options) {
6
+ const clones = [];
5
7
  result.lastArray = result.lastArray || []; // {tag, index}[] populated in processTagResult
8
+ result.template = template;
6
9
  let removed = 0;
7
10
  /** 🗑️ remove previous items first */
8
11
  result.lastArray = result.lastArray.filter((item, index) => {
9
- const lessLength = value.length - 1 < index - removed;
12
+ const newLength = value.length - 1;
13
+ const at = index - removed;
14
+ const lessLength = newLength < at;
10
15
  const subTag = value[index - removed];
11
16
  const subArrayValue = subTag?.arrayValue;
12
- if (lessLength || subArrayValue !== item.tag.arrayValue) {
17
+ const destroyItem = lessLength || subArrayValue !== item.tag.arrayValue;
18
+ if (destroyItem) {
13
19
  const last = result.lastArray[index];
14
20
  const tag = last.tag;
15
- tag.destroy(counts.removed, false);
21
+ tag.destroy({
22
+ stagger: options.counts.removed,
23
+ byParent: false
24
+ });
16
25
  ++removed;
17
- ++counts.removed;
26
+ ++options.counts.removed;
18
27
  return false;
19
28
  }
20
29
  return true;
21
30
  });
31
+ // const masterBefore = template || (template as any).clone
32
+ const before = template || template.clone;
22
33
  value.forEach((subTag, index) => {
23
- subTag.tagSupport = ownerTag.tagSupport;
34
+ subTag.tagSupport = getTagSupport({}); // {...ownerTag.tagSupport} // ownerTag.tagSupport.templater
35
+ subTag.tagSupport.mutatingRender = () => {
36
+ ownerTag.tagSupport.render();
37
+ return subTag;
38
+ }; // fake having a render function
24
39
  subTag.ownerTag = ownerTag;
25
40
  ownerTag.children.push(subTag);
41
+ // check for html``.key()
26
42
  if (subTag.arrayValue === undefined) {
27
43
  // appears arrayValue is not there but maybe arrayValue is actually the value of undefined
28
44
  if (!Object.keys(subTag).includes('arrayValue')) {
@@ -33,17 +49,18 @@ ownerTag, counts) {
33
49
  }
34
50
  const previous = result.lastArray[index];
35
51
  if (previous) {
36
- if (previous.tag.arrayValue === subTag.arrayValue) {
52
+ const isSame = previous.tag.arrayValue === subTag.arrayValue;
53
+ if (isSame) {
37
54
  previous.tag.updateValues(subTag.values);
38
55
  }
39
- return;
56
+ return [];
40
57
  }
41
- const before = template || template.clone;
42
- processTagResult(subTag, result, before, {
58
+ const nextClones = processTagResult(subTag, result, before, {
43
59
  index,
44
- counts,
60
+ ...options,
45
61
  });
62
+ clones.push(...nextClones);
46
63
  });
47
- return;
64
+ return clones;
48
65
  }
49
66
  //# sourceMappingURL=processTagArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,MAAM,UAAU,eAAe,CAC7B,MAAW,EACX,KAAY,EAAE,sBAAsB;AACpC,QAAiB,EAAE,+BAA+B;AAClD,QAAa,EACb,MAAc;IAEd,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAA,CAAC,+CAA+C;IAEzF,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,sCAAsC;IACtC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CACzC,IAAS,EACT,KAAa,EACb,EAAE;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAC,CAAC,GAAG,KAAK,GAAG,OAAO,CAAA;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,MAAM,EAAE,UAAU,CAAA;QACxC,IAAG,UAAU,IAAI,aAAa,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;YACpB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAClC,EAAE,OAAO,CAAA;YACT,EAAE,MAAM,CAAC,OAAO,CAAA;YAChB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QACvC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC1B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,0FAA0F;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,mEAAmE,CAAC,CACzF;gBAAC,GAAW,CAAC,IAAI,GAAG,eAAe,CAAA;gBACpC,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClD,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,IAAK,QAAgB,CAAC,KAAK,CAAA;QAClD,gBAAgB,CACd,MAAM,EACN,MAAM,EACN,MAAM,EACN;YACE,KAAK;YACL,MAAM;SACP,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAM;AACR,CAAC"}
1
+ {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ import { Clones } from "./Clones.type.js";
3
+ import { Counts } from "./interpolateTemplate.js";
4
+ import { TagArraySubject } from "./processTagArray.js";
5
+ import { TagSubject } from "./Tag.utils.js";
6
+ export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
7
+ insertBefore: Element, // <template end interpolate />
8
+ { index, counts, forceElement, }: {
9
+ index?: number;
10
+ counts: Counts;
11
+ forceElement?: boolean;
12
+ }): Clones;
@@ -0,0 +1,43 @@
1
+ export function processTagResult(tag, result, // used for recording past and current value
2
+ insertBefore, // <template end interpolate />
3
+ { index, counts, forceElement, }) {
4
+ // *for
5
+ if (index !== undefined) {
6
+ const resultArray = result.lastArray;
7
+ const existing = resultArray[index];
8
+ if (existing?.tag.isLikeTag(tag)) {
9
+ existing.tag.updateByTag(tag);
10
+ return [];
11
+ }
12
+ // Added to previous array
13
+ resultArray.push({
14
+ tag, index
15
+ });
16
+ const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
17
+ const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement });
18
+ return clones;
19
+ }
20
+ // *if appears we already have seen
21
+ const subjectTag = result;
22
+ const rTag = subjectTag.tag;
23
+ if (rTag && !forceElement) {
24
+ // are we just updating an if we already had?
25
+ if (rTag.isLikeTag(tag)) {
26
+ // components
27
+ if (result instanceof Function) {
28
+ const newTag = result(rTag.tagSupport);
29
+ rTag.updateByTag(newTag);
30
+ return [];
31
+ }
32
+ rTag.updateByTag(tag);
33
+ return []; // no clones created in element already on stage
34
+ }
35
+ }
36
+ const clones = tag.buildBeforeElement(insertBefore, {
37
+ counts,
38
+ forceElement,
39
+ });
40
+ subjectTag.tag = tag; // let reprocessing know we saw this previously as an if
41
+ return clones;
42
+ }
43
+ //# sourceMappingURL=processTagResult.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,KAAK,EAAE,MAAM,EAAE,YAAY,GAK5B;IAED,OAAO;IACP,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,WAAW,GAAI,MAA0B,CAAC,SAAS,CAAA;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAEnC,IAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QAGD,0BAA0B;QAC1B,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,YAAY,CAAA,CAAC,mDAAmD;QACvF,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAA;QAE7E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAA;IAC3B,IAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAErB,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
package/js/providers.d.ts CHANGED
@@ -1,21 +1,12 @@
1
- import { Tag } from "./Tag.class.js";
2
1
  export type Provider = {
3
2
  constructMethod: any;
4
3
  instance: any;
5
4
  clone: any;
6
5
  };
7
- export declare const config: {
8
- providers: Provider[];
9
- currentTag: Tag | undefined;
10
- ownerTag: Tag | undefined;
11
- };
6
+ type functionProvider = <T>() => T;
7
+ type classProvider = new <T>(...args: any[]) => T;
12
8
  export declare const providers: {
13
- /**
14
- * @template T
15
- * @param {(new (...args: any[]) => T) | () => T} constructor
16
- * @returns {T}
17
- */
18
- create: (constructMethod: any) => any;
9
+ create: <T>(constructMethod: classProvider | functionProvider) => T;
19
10
  /**
20
11
  * @template T
21
12
  * @param {(new (...args: any[]) => T) | () => T} constructor
@@ -23,3 +14,4 @@ export declare const providers: {
23
14
  */
24
15
  inject: (constructor: any) => any;
25
16
  };
17
+ export {};
package/js/providers.js CHANGED
@@ -1,19 +1,17 @@
1
1
  import { deepClone } from "./deepFunctions.js";
2
- import { setUse } from "./tagRunner.js";
3
- export const config = {
2
+ import { setUse } from "./setUse.function.js";
3
+ // TODO: rename
4
+ setUse.memory.providerConfig = {
4
5
  providers: [],
5
- currentTag: undefined,
6
+ currentTagSupport: undefined,
6
7
  ownerTag: undefined,
7
8
  };
8
9
  function get(constructMethod) {
9
- return config.providers.find(provider => provider.constructMethod === constructMethod);
10
+ const config = setUse.memory.providerConfig;
11
+ const providers = config.providers;
12
+ return providers.find(provider => provider.constructMethod === constructMethod);
10
13
  }
11
14
  export const providers = {
12
- /**
13
- * @template T
14
- * @param {(new (...args: any[]) => T) | () => T} constructor
15
- * @returns {T}
16
- */
17
15
  create: (constructMethod) => {
18
16
  const existing = get(constructMethod);
19
17
  if (existing) {
@@ -22,6 +20,7 @@ export const providers = {
22
20
  }
23
21
  // Providers with provider requirements just need to use providers.create() and providers.inject()
24
22
  const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
23
+ const config = setUse.memory.providerConfig;
25
24
  config.providers.push({
26
25
  constructMethod,
27
26
  instance,
@@ -39,11 +38,12 @@ export const providers = {
39
38
  if (oldValue) {
40
39
  return oldValue.instance;
41
40
  }
41
+ const config = setUse.memory.providerConfig;
42
42
  let owner = {
43
43
  ownerTag: config.ownerTag
44
44
  };
45
45
  while (owner.ownerTag) {
46
- const ownerProviders = owner.ownerTag.providers;
46
+ const ownerProviders = owner.ownerTag.tagSupport.memory.providers;
47
47
  const provider = ownerProviders.find(provider => {
48
48
  if (provider.constructMethod === constructor) {
49
49
  return true;
@@ -56,23 +56,31 @@ export const providers = {
56
56
  }
57
57
  owner = owner.ownerTag; // cause reloop
58
58
  }
59
- const msg = `Could not inject provider: ${constructor}`;
59
+ const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
60
60
  console.warn(`${msg}. Available providers`, config.providers);
61
61
  throw new Error(msg);
62
62
  }
63
63
  };
64
64
  setUse({
65
- beforeRedraw: (_tagSupport, tag) => {
66
- config.currentTag = tag;
67
- config.ownerTag = tag.ownerTag;
68
- if (tag.providers.length) {
69
- config.providers.length = 0;
70
- config.providers.push(...tag.providers);
71
- }
65
+ beforeRender: (tagSupport, ownerTag) => {
66
+ run(tagSupport, ownerTag);
67
+ },
68
+ beforeRedraw: (tagSupport, tag) => {
69
+ run(tagSupport, tag.ownerTag);
72
70
  },
73
- afterRender: (_tagSupport, tag) => {
74
- tag.providers = [...config.providers];
71
+ afterRender: (tagSupport) => {
72
+ const config = setUse.memory.providerConfig;
73
+ tagSupport.memory.providers = [...config.providers];
75
74
  config.providers.length = 0;
76
75
  }
77
76
  });
77
+ function run(tagSupport, ownerTag) {
78
+ const config = setUse.memory.providerConfig;
79
+ config.currentTagSuport = tagSupport;
80
+ config.ownerTag = ownerTag;
81
+ if (tagSupport.memory.providers.length) {
82
+ config.providers.length = 0;
83
+ config.providers.push(...tagSupport.memory.providers);
84
+ }
85
+ }
78
86
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAQvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,SAAS,EAAE,EAAgB;IAE3B,UAAU,EAAE,SAA4B;IACxC,QAAQ,EAAE,SAA4B;CACvC,CAAA;AAED,SAAS,GAAG,CAAC,eAAyB;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;;;;OAIG;IACH,MAAM,EAAE,CAAC,eAAoB,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAA;QACrC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QAED,kGAAkG;QAClG,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QACxF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,eAAe;YACf,QAAQ;YACR,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;SAC3B,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;QACjC,IAAG,QAAQ,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QAED,IAAI,KAAK,GAAG;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;SACnB,CAAA;QACR,OAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAA;YAE/C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC9C,IAAG,QAAQ,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;oBAC5C,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAG,QAAQ,EAAE,CAAC;gBACZ,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAC,oDAAoD;gBAClG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAA;YAC1B,CAAC;YAED,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAA,CAAC,eAAe;QACxC,CAAC;QAED,MAAM,GAAG,GAAG,8BAA8B,WAAW,EAAE,CAAA;QACvD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;CACF,CAAA;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,WAAW,EAAE,GAAQ,EAAE,EAAE;QACtC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAA;QACvB,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC9B,IAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,WAAW,EAAE,GAAQ,EAAE,EAAE;QACrC,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;QACrC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TemplaterResult } from "./templater.utils.js";
2
+ import { Tag } from "./Tag.class.js";
3
+ export declare function redrawTag(existingTag: Tag | undefined, templater: TemplaterResult, // latest tag function to call for rendering
4
+ ownerTag?: Tag): {
5
+ remit: boolean;
6
+ retag: Tag;
7
+ };
@@ -0,0 +1,8 @@
1
+ import { getTagSupport } from "./getTagSupport.js";
2
+ export function redrawTag(existingTag, templater, // latest tag function to call for rendering
3
+ ownerTag) {
4
+ const tagSupport = existingTag?.tagSupport || getTagSupport(templater);
5
+ const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
6
+ return result;
7
+ }
8
+ //# sourceMappingURL=redrawTag.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,UAAU,SAAS,CACvB,WAA4B,EAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAc;IAEd,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IAEtE,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
package/js/render.d.ts CHANGED
@@ -1,6 +1 @@
1
- import { Context, Tag } from "./Tag.class.js";
2
- export declare function buildItemTagMap(tag: Tag, template: {
3
- string: string;
4
- context: Context;
5
- }, // {string, context}
6
- insertBefore: Element): (ChildNode | Element)[];
1
+ export declare function buildClones(temporary: Element, insertBefore: Element): ChildNode[];
package/js/render.js CHANGED
@@ -1,22 +1,7 @@
1
- import { interpolateElement } from "./interpolateElement.js";
2
- export function buildItemTagMap(tag, template, // {string, context}
3
- insertBefore) {
4
- const temporary = document.createElement('div');
5
- temporary.id = 'tag-temp-holder';
6
- // render content with a first child that we can know is our first element
7
- temporary.innerHTML = '<div></div>' + template.string;
8
- const context = tag.update();
9
- interpolateElement(temporary, context, tag);
10
- const clones = buildClones(temporary, insertBefore);
11
- tag.clones.push(...clones);
12
- return clones;
13
- }
14
- function buildClones(temporary, insertBefore) {
1
+ export function buildClones(temporary, insertBefore) {
15
2
  const clones = [];
16
- const templateClone = temporary.children[0];
17
- const sibling = templateClone; // a div we added
18
- let nextSibling = sibling.nextSibling;
19
- temporary.removeChild(templateClone); // remove the div
3
+ const template = temporary.children[0];
4
+ let nextSibling = template.content.firstChild;
20
5
  while (nextSibling) {
21
6
  const nextNextSibling = nextSibling.nextSibling;
22
7
  buildSibling(nextSibling, insertBefore);
@@ -26,6 +11,7 @@ function buildClones(temporary, insertBefore) {
26
11
  return clones;
27
12
  }
28
13
  function buildSibling(nextSibling, insertBefore) {
29
- insertBefore.parentNode.insertBefore(nextSibling, insertBefore);
14
+ const parentNode = insertBefore.parentNode;
15
+ parentNode.insertBefore(nextSibling, insertBefore);
30
16
  }
31
17
  //# sourceMappingURL=render.js.map
package/js/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,MAAM,UAAU,eAAe,CAC7B,GAAQ,EACR,QAA4C,EAAE,oBAAoB;AAClE,YAAqB;IAErB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC/C,SAAS,CAAC,EAAE,GAAG,iBAAiB,CAAA;IAEhC,0EAA0E;IAC1E,SAAS,CAAC,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAA;IAErD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAC5B,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAE3C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,GAAG,MAAM,CAAE,CAAA;IAE5B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,WAAW,CAClB,SAAkB,EAClB,YAAqB;IAErB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAA,CAAC,iBAAiB;IAC/C,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACrC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA,CAAC,iBAAiB;IAEtD,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAA;QAC/C,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CACnB,WAAsB,EACtB,YAAqB;IAEpB,YAAY,CAAC,UAAyB,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AACjF,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CACzB,SAAkB,EAClB,YAAqB;IAErB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAE7C,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAA;QAC/C,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CACnB,WAAsB,EACtB,YAAqB;IAErB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CACrB,WAAW,EACX,YAAY,CACb,CAAA;AACH,CAAC"}
@@ -1,8 +1,14 @@
1
1
  import { TagSupport } from "./getTagSupport.js";
2
+ import { TagComponent, TemplaterResult } from "./templater.utils.js";
2
3
  import { Tag } from "./Tag.class.js";
3
- import { TemplaterResult } from "./tag.js";
4
- export declare function renderAppToElement(app: (...args: unknown[]) => TemplaterResult, element: Element, props: unknown): void;
4
+ export declare function renderAppToElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
5
+ element: Element, props: unknown): {
6
+ tag: Tag;
7
+ tags: TagComponent[];
8
+ };
5
9
  export declare function applyTagUpdater(wrapper: TemplaterResult): {
6
10
  tag: Tag;
7
11
  tagSupport: TagSupport;
8
12
  };
13
+ /** Overwrites arguments.tagSupport.mutatingRender */
14
+ export declare function addAppTagRender(tagSupport: TagSupport, tag: Tag): void;
@@ -1,38 +1,57 @@
1
- import { interpolateElement } from "./interpolateElement.js";
2
- import { getTagSupport } from "./getTagSupport.js";
3
1
  import { runBeforeRender } from "./tagRunner.js";
4
- export function renderAppToElement(app, element, props) {
2
+ const appElements = [];
3
+ export function renderAppToElement(app, // (...args: unknown[]) => TemplaterResult,
4
+ element, props) {
5
+ const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
6
+ if (appElmIndex >= 0) {
7
+ appElements[appElmIndex].tag.destroy();
8
+ appElements.splice(appElmIndex, 1);
9
+ console.warn('Found and destroyed app element already rendered to element', { element });
10
+ }
5
11
  // Create the app which returns [props, runOneTimeFunction]
6
12
  const wrapper = app(props);
7
13
  // have a function setup and call the tagWrapper with (props, {update, async, on})
8
14
  const result = applyTagUpdater(wrapper);
9
15
  const { tag, tagSupport } = result;
16
+ tag.appElement = element;
17
+ addAppTagRender(tagSupport, tag);
18
+ // const context = tag.updateValues(tag.values)
19
+ const templateElm = document.createElement('template');
20
+ templateElm.setAttribute('tag-detail', 'app-template-placeholder');
21
+ element.appendChild(templateElm);
22
+ tag.buildBeforeElement(templateElm);
23
+ element.setUse = app.original.setUse;
24
+ appElements.push({ element, tag });
25
+ return { tag, tags: app.original.tags };
26
+ }
27
+ export function applyTagUpdater(wrapper) {
28
+ const tagSupport = wrapper.tagSupport; // getTagSupport(0, wrapper)
29
+ runBeforeRender(tagSupport, undefined);
30
+ // Call the apps function for our tag templater
31
+ // const templater = tagSupport.templater as TemplaterResult
32
+ const tag = wrapper.wrapper(); // templater.wrapper()
33
+ tag.tagSupport = tagSupport;
34
+ tag.afterRender();
35
+ return { tag, tagSupport };
36
+ }
37
+ /** Overwrites arguments.tagSupport.mutatingRender */
38
+ export function addAppTagRender(tagSupport, tag) {
10
39
  let lastTag;
11
40
  tagSupport.mutatingRender = () => {
12
- runBeforeRender(tagSupport, tag);
13
41
  tag.beforeRedraw();
14
- const fromTag = lastTag = wrapper.wrapper();
15
- fromTag.setSupport(tag.tagSupport);
42
+ const templater = tagSupport.templater; // wrapper
43
+ const fromTag = lastTag = templater.wrapper();
44
+ // tagSupport.props = fromTag.tagSupport.props
45
+ tagSupport.latestProps = fromTag.tagSupport.props;
46
+ tagSupport.latestClonedProps = fromTag.tagSupport.clonedProps;
47
+ fromTag.setSupport(tagSupport);
16
48
  tag.afterRender();
17
49
  tag.updateByTag(fromTag);
18
50
  if (lastTag) {
19
- lastTag.destroy(0);
51
+ lastTag.destroy({ stagger: 0 });
20
52
  }
53
+ tagSupport.newest = fromTag;
21
54
  return lastTag;
22
55
  };
23
- const context = tag.updateValues(tag.values);
24
- const template = tag.getTemplate();
25
- element.innerHTML = template.string;
26
- interpolateElement(element, context, tag);
27
- }
28
- export function applyTagUpdater(wrapper) {
29
- const tagSupport = getTagSupport(wrapper);
30
- runBeforeRender(tagSupport);
31
- // Call the apps function for our tag templater
32
- const templater = tagSupport.templater;
33
- const tag = templater.wrapper();
34
- tag.tagSupport = tagSupport;
35
- tag.afterRender();
36
- return { tag, tagSupport };
37
56
  }
38
57
  //# sourceMappingURL=renderAppToElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD,MAAM,UAAU,kBAAkB,CAChC,GAA4C,EAC5C,OAAgB,EAChB,KAAc;IAEd,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;IAE1B,kFAAkF;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,EAAC,GAAG,EAAE,UAAU,EAAC,GAAG,MAAM,CAAA;IAEhC,IAAI,OAAO,CAAA;IACX,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAChC,GAAG,CAAC,YAAY,EAAE,CAAA;QAElB,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAClC,GAAG,CAAC,WAAW,EAAE,CAAA;QACjB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExB,IAAG,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAElC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;AAE3C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAwB;IAExB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,eAAe,CAAC,UAAU,CAAC,CAAA;IAE3B,+CAA+C;IAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,SAA4B,CAAA;IACzD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IAE/B,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;IAC3B,GAAG,CAAC,WAAW,EAAE,CAAA;IAEjB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"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"}