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,84 @@
1
+ import { setValueRedraw } from "./Tag.utils.js";
2
+ import { deepClone } from "./deepFunctions.js";
3
+ import { isSubjectInstance, isTagComponent } from "./isInstance.js";
4
+ import { bindSubjectCallback } from "./bindSubjectCallback.function.js";
5
+ function updateExistingTagComponent(tag, tempResult, existingSubject, subjectValue) {
6
+ const latestProps = tempResult.tagSupport.props;
7
+ const existingTag = existingSubject.tag;
8
+ // previously was something else, now a tag component
9
+ if (!existingSubject.tag) {
10
+ setValueRedraw(tempResult, existingSubject, tag);
11
+ tempResult.redraw();
12
+ return;
13
+ }
14
+ // tag existingTag
15
+ const oldFunction = existingTag.tagSupport.templater.wrapper.original;
16
+ const newFunction = tempResult.wrapper.original;
17
+ const isSameTag = oldFunction === newFunction;
18
+ if (!isSameTag) {
19
+ existingTag.destroy();
20
+ }
21
+ const oldTagSetup = existingTag.tagSupport;
22
+ oldTagSetup.latestProps = latestProps;
23
+ oldTagSetup.latestClonedProps = tempResult.tagSupport.clonedProps;
24
+ const subjectTagSupport = subjectValue?.tagSupport;
25
+ // old props may have changed, reclone first
26
+ const oldCloneProps = deepClone(subjectTagSupport.props); // tagSupport.clonedProps
27
+ const oldProps = subjectTagSupport?.props; // tagSupport.props
28
+ if (existingTag) {
29
+ const equal = oldTagSetup.hasPropChanges(oldProps, oldCloneProps, latestProps);
30
+ if (equal) {
31
+ return;
32
+ }
33
+ }
34
+ setValueRedraw(tempResult, existingSubject, tag);
35
+ oldTagSetup.templater = tempResult;
36
+ existingSubject.value.tag = oldTagSetup.newest = tempResult.redraw();
37
+ if (!isSameTag) {
38
+ existingSubject.tag = existingSubject.value.tag;
39
+ }
40
+ return;
41
+ }
42
+ function updateExistingTag(templater, ogTag, existingSubject) {
43
+ const tagSupport = ogTag.tagSupport;
44
+ const oldest = tagSupport.oldest;
45
+ oldest.beforeRedraw();
46
+ const retag = templater.wrapper();
47
+ // move my props onto tagSupport
48
+ tagSupport.latestProps = retag.tagSupport.props;
49
+ tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
50
+ tagSupport.memory = retag.tagSupport.memory;
51
+ retag.setSupport(tagSupport);
52
+ templater.newest = retag;
53
+ tagSupport.newest = retag;
54
+ oldest.afterRender();
55
+ ogTag.updateByTag(retag);
56
+ existingSubject.set(templater);
57
+ return;
58
+ }
59
+ export function updateExistingValue(existing, value, tag) {
60
+ const subjectValue = existing.value;
61
+ const ogTag = subjectValue?.tag;
62
+ const tempResult = value;
63
+ const existingSubject = existing;
64
+ // handle already seen tag components
65
+ if (isTagComponent(tempResult)) {
66
+ return updateExistingTagComponent(tag, tempResult, existingSubject, subjectValue);
67
+ }
68
+ // handle already seen tags
69
+ if (ogTag) {
70
+ return updateExistingTag(value, ogTag, existingSubject);
71
+ }
72
+ // now its a function
73
+ if (value instanceof Function) {
74
+ existingSubject.set(bindSubjectCallback(value, tag));
75
+ return;
76
+ }
77
+ if (isSubjectInstance(value)) {
78
+ existingSubject.set(value.value); // let ValueSubject now of newest value
79
+ return;
80
+ }
81
+ existingSubject.set(value); // let ValueSubject now of newest value
82
+ return;
83
+ }
84
+ //# sourceMappingURL=updateTag.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTag.utils.js","sourceRoot":"","sources":["../ts/updateTag.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAGvE,SAAS,0BAA0B,CACjC,GAAQ,EACR,UAA0B,EAC1B,eAA2B,EAC3B,YAAiB;IAEjB,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAA;IAEvC,qDAAqD;IACrD,IAAI,CAAC,eAAe,CAAC,GAAG,EAAG,CAAC;QAC1B,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;QAChD,UAAU,CAAC,MAAM,EAAE,CAAA;QACnB,OAAM;IACR,CAAC;IAED,kBAAkB;IAClB,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAA;IACrE,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC/C,MAAM,SAAS,GAAG,WAAW,KAAK,WAAW,CAAA;IAC7C,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAA;IAE1C,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACrC,WAAW,CAAC,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAA;IAEjE,MAAM,iBAAiB,GAAG,YAAY,EAAE,UAAU,CAAA;IAClD,4CAA4C;IAC5C,MAAM,aAAa,GAAG,SAAS,CAAE,iBAAiB,CAAC,KAAK,CAAE,CAAA,CAAC,yBAAyB;IACpF,MAAM,QAAQ,GAAG,iBAAiB,EAAE,KAAK,CAAA,CAAC,mBAAmB;IAE7D,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QAE9E,IAAG,KAAK,EAAE,CAAC;YACT,OAAM;QACR,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAChD,WAAW,CAAC,SAAS,GAAG,UAAU,CAAA;IAClC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;IACpE,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,eAAe,CAAC,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAA;IACjD,CAAC;IAED,OAAM;AACR,CAAC;AAED,SAAS,iBAAiB,CACxB,SAA0B,EAC1B,KAAU,EACV,eAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAa,CAAA;IACvC,MAAM,CAAC,YAAY,EAAE,CAAA;IAErB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IAEjC,gCAAgC;IAChC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAA;IAC3D,UAAU,CAAC,MAAM,GAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAE5C,KAAK,CAAC,UAAU,CAAE,UAAU,CAAE,CAAA;IAE9B,SAAS,CAAC,MAAM,GAAG,KAAK,CAAA;IACxB,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;IACzB,MAAM,CAAC,WAAW,EAAE,CAAA;IACpB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACxB,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE9B,OAAM;AACR,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAqD,EACrD,KAA6D,EAC7D,GAAQ;IAER,MAAM,YAAY,GAAI,QAAyB,CAAC,KAAK,CAAA;IACrD,MAAM,KAAK,GAAQ,YAAY,EAAE,GAAG,CAAA;IACpC,MAAM,UAAU,GAAG,KAAuB,CAAA;IAC1C,MAAM,eAAe,GAAG,QAAsB,CAAA;IAE9C,qCAAqC;IACrC,IAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,0BAA0B,CAC/B,GAAG,EACH,UAAU,EACV,eAAe,EACf,YAAY,CACb,CAAA;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAG,KAAK,EAAE,CAAC;QACT,OAAO,iBAAiB,CACtB,KAAwB,EACxB,KAAK,EACL,eAAe,CAChB,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,eAAe,CAAC,GAAG,CAAE,mBAAmB,CAAC,KAAY,EAAE,GAAG,CAAC,CAAE,CAAA;QAC7D,OAAM;IACR,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAqB,CAAC,EAAE,CAAC;QAC5C,eAAe,CAAC,GAAG,CAAG,KAAsB,CAAC,KAAK,CAAE,CAAA,CAAC,uCAAuC;QAC5F,OAAM;IACR,CAAC;IAED,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,uCAAuC;IAElE,OAAM;AACR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type OnDestroyCallback = () => unknown;
2
+ export declare function onDestroy(callback: OnDestroyCallback): void;
@@ -0,0 +1,20 @@
1
+ import { setUse } from "./setUse.function.js";
2
+ /** When undefined, it means a tag is being built for the first time so do run destroy(s) */
3
+ let destroyCurrentTagSupport;
4
+ export function onDestroy(callback) {
5
+ if (!destroyCurrentTagSupport.memory) {
6
+ console.error('xxx', destroyCurrentTagSupport);
7
+ }
8
+ destroyCurrentTagSupport.memory.destroyCallback = callback;
9
+ }
10
+ setUse({
11
+ beforeRender: tagSupport => destroyCurrentTagSupport = tagSupport,
12
+ beforeRedraw: tagSupport => destroyCurrentTagSupport = tagSupport,
13
+ beforeDestroy: (tagSupport, tag) => {
14
+ const callback = tagSupport.memory.destroyCallback;
15
+ if (callback) {
16
+ callback();
17
+ }
18
+ }
19
+ });
20
+ //# sourceMappingURL=onDestroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../ts/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,4FAA4F;AAC5F,IAAI,wBAAoC,CAAA;AAExC,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,IAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAC,wBAAwB,CAAC,CAAA;IAC/C,CAAC;IAED,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAA;QAElD,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type OnInitCallback = () => unknown;
2
+ export declare function onInit(callback: OnInitCallback): void;
package/_js/onInit.js ADDED
@@ -0,0 +1,19 @@
1
+ import { setUse } from "./setUse.function.js";
2
+ function setCurrentTagSupport(support) {
3
+ setUse.memory.initCurrentSupport = support;
4
+ }
5
+ export function onInit(callback) {
6
+ if (!setUse.memory.initCurrentSupport) {
7
+ console.warn('possible init issue?');
8
+ return;
9
+ }
10
+ if (!setUse.memory.initCurrentSupport.memory.init) {
11
+ setUse.memory.initCurrentSupport.memory.init = callback;
12
+ callback(); // fire init
13
+ }
14
+ }
15
+ setUse({
16
+ beforeRender: tagSupport => setCurrentTagSupport(tagSupport),
17
+ beforeRedraw: tagSupport => setCurrentTagSupport(tagSupport),
18
+ });
19
+ //# sourceMappingURL=onInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACpC,OAAM;IACR,CAAC;IAED,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACvD,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { TemplaterResult } from "./templater.utils.js";
2
+ import { Counts } from "./interpolateTemplate.js";
3
+ import { Tag } from "./Tag.class.js";
4
+ import { TagSubject } from "./Tag.utils.js";
5
+ export declare function processSubjectComponent(value: TemplaterResult, result: TagSubject, template: Element, ownerTag: Tag, options: {
6
+ counts: Counts;
7
+ forceElement?: boolean;
8
+ }): import("./Clones.type.js").Clones;
@@ -0,0 +1,53 @@
1
+ import { runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
2
+ import { setUse } from "./setUse.function.js";
3
+ import { processTagResult } from "./processTagResult.function.js";
4
+ export function processSubjectComponent(value, result, template, ownerTag, options) {
5
+ // TODO: This below check not needed in production mode
6
+ if (value.tagged !== true) {
7
+ let name = value.wrapper.original.name || value.wrapper.original.constructor?.name;
8
+ if (name === 'Function') {
9
+ name = undefined;
10
+ }
11
+ const label = name || value.wrapper.original.toString().substring(0, 120);
12
+ const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${label}\n\n`);
13
+ throw error;
14
+ }
15
+ const templater = value;
16
+ const tagSupport = value.tagSupport;
17
+ tagSupport.mutatingRender = () => {
18
+ // Is this NOT my first render
19
+ if (result.tag) {
20
+ const exit = tagSupport.renderExistingTag(result.tag, templater);
21
+ if (exit) {
22
+ return result.tag;
23
+ }
24
+ }
25
+ // draw to my parent
26
+ const newest = tagSupport.newest = ownerTag.tagSupport.render();
27
+ return newest;
28
+ };
29
+ let retag = templater.newest;
30
+ const providers = setUse.memory.providerConfig;
31
+ providers.ownerTag = ownerTag;
32
+ const isFirstTime = !retag || options.forceElement;
33
+ if (isFirstTime) {
34
+ if (!retag) {
35
+ runBeforeRender(tagSupport, ownerTag);
36
+ }
37
+ // only true when options.forceElement
38
+ if (retag) {
39
+ runBeforeRedraw(tagSupport, retag);
40
+ }
41
+ retag = templater.forceRenderTemplate(tagSupport, ownerTag);
42
+ }
43
+ ownerTag.children.push(retag);
44
+ tagSupport.latestProps = retag.tagSupport.props;
45
+ tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
46
+ tagSupport.memory = retag.tagSupport.memory;
47
+ retag.setSupport(tagSupport);
48
+ const clones = processTagResult(retag, result, // The element set here will be removed from document. Also result.tag will be added in here
49
+ template, // <template end interpolate /> (will be removed)
50
+ options);
51
+ return clones;
52
+ }
53
+ //# sourceMappingURL=processSubjectComponent.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,8BAA8B;QAC9B,IAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChE,IAAG,IAAI,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,CAAC,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,sCAAsC;QACtC,IAAG,KAAK,EAAE,CAAC;YACT,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAA;IAC3D,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAE3C,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,4FAA4F;IACpG,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Clones } from "./Clones.type.js";
2
+ import { Tag } from "./Tag.class.js";
3
+ import { Counts, Template } from "./interpolateTemplate.js";
4
+ type processOptions = {
5
+ forceElement?: boolean;
6
+ counts: Counts;
7
+ };
8
+ export type ClonesAndPromise = {
9
+ clones: Clones;
10
+ promise?: Promise<any>;
11
+ };
12
+ export declare function processSubjectValue(value: any, result: any, // could be tag via result.tag
13
+ template: Template, // <template end interpolate /> (will be removed)
14
+ tag: Tag, // owner
15
+ options: processOptions): ClonesAndPromise;
16
+ export {};
@@ -0,0 +1,122 @@
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 (value instanceof Array && value.every(x => isTagInstance(x))) {
22
+ return ValueTypes.tagArray;
23
+ }
24
+ return ValueTypes.value;
25
+ }
26
+ export function processSubjectValue(value, result, // could be tag via result.tag
27
+ template, // <template end interpolate /> (will be removed)
28
+ tag, // owner
29
+ options) {
30
+ const valueType = getValueType(value);
31
+ // Previously was simple value, now its a tag of some sort
32
+ if (valueType !== ValueTypes.value && result.clone) {
33
+ const clone = result.clone;
34
+ const parent = clone.parentNode;
35
+ template.removeAttribute('removedAt');
36
+ parent.insertBefore(template, clone);
37
+ parent.removeChild(clone);
38
+ delete result.clone;
39
+ // result.clone = template
40
+ }
41
+ switch (valueType) {
42
+ case ValueTypes.tag:
43
+ return {
44
+ clones: processTag(value, result, template, tag, options)
45
+ };
46
+ case ValueTypes.tagArray:
47
+ return {
48
+ clones: processTagArray(result, value, template, tag, options)
49
+ };
50
+ case ValueTypes.tagComponent:
51
+ return {
52
+ clones: processSubjectComponent(value, result, template, tag, options)
53
+ };
54
+ }
55
+ // *if processing WAS a tag BUT NOW its some other non-tag value
56
+ if (result.tag) {
57
+ return {
58
+ clones: [],
59
+ promise: processWasTag(value, result, template, options),
60
+ };
61
+ }
62
+ return {
63
+ clones: processRegularValue(value, result, template, tag)
64
+ };
65
+ }
66
+ function processRegularValue(value, result, // could be tag via result.tag
67
+ template, // <template end interpolate /> (will be removed)
68
+ tag) {
69
+ const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
70
+ // Processing of regular values
71
+ const clone = updateBetweenTemplates(value, before);
72
+ result.clone = clone; // remember single element put down, for future updates
73
+ const clones = [];
74
+ const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
75
+ const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
76
+ const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
77
+ if (exchangeGuideForClone) {
78
+ tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
79
+ tag.clones.push(clone); // exchange guide for element actually on document
80
+ clones.push(clone); // record the one element that in the end is on the document
81
+ }
82
+ return clones;
83
+ }
84
+ function processTag(value, result, // could be tag via result.tag
85
+ template, // <template end interpolate /> (will be removed)
86
+ tag, // owner
87
+ options) {
88
+ // first time seeing this tag?
89
+ if (!value.tagSupport) {
90
+ value.tagSupport = getTagSupport({});
91
+ // asking me to render will cause my parent to render
92
+ value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
93
+ value.tagSupport.oldest = value.tagSupport.oldest || value;
94
+ tag.children.push(value);
95
+ value.ownerTag = tag;
96
+ }
97
+ const clones = processTagResult(value, result, // Function will attach result.tag
98
+ template, options);
99
+ return clones;
100
+ }
101
+ function processWasTag(value, result, // could be tag via result.tag,
102
+ template, // <template end interpolate /> (will be removed)
103
+ options) {
104
+ const tag = result.tag;
105
+ // put the template back
106
+ const lastFirstChild = result.clone || template; // result.tag.clones[0] // template.lastFirstChild
107
+ // const parentNode = lastFirstChild.parentNode || template.parentNode
108
+ // put the template back down
109
+ lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
110
+ // cleanup old
111
+ if (result.clone) {
112
+ result.clone.parentNode.removeChild(result.clone);
113
+ }
114
+ delete result.tag;
115
+ const stagger = options.counts.removed;
116
+ const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
117
+ delete result.tag;
118
+ const clone = updateBetweenTemplates(value, template);
119
+ result.clone = clone;
120
+ return promise;
121
+ }
122
+ //# sourceMappingURL=processSubjectValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Clones } from "./Clones.type.js";
2
+ import { Tag } from "./Tag.class.js";
3
+ import { Counts } from "./interpolateTemplate.js";
4
+ export declare function processTagArray(result: any, value: Tag[], // arry of Tag classes
5
+ template: Element, // <template end interpolate />
6
+ ownerTag: Tag, options: {
7
+ counts: Counts;
8
+ forceElement?: boolean;
9
+ }): Clones;
@@ -1,7 +1,9 @@
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
6
8
  let removed = 0;
7
9
  /** 🗑️ remove previous items first */
@@ -12,15 +14,24 @@ ownerTag, counts) {
12
14
  if (lessLength || subArrayValue !== item.tag.arrayValue) {
13
15
  const last = result.lastArray[index];
14
16
  const tag = last.tag;
15
- tag.destroy(counts.removed, false);
17
+ tag.destroy({
18
+ stagger: options.counts.removed,
19
+ byParent: false
20
+ });
16
21
  ++removed;
17
- ++counts.removed;
22
+ ++options.counts.removed;
18
23
  return false;
19
24
  }
20
25
  return true;
21
26
  });
27
+ // const masterBefore = template || (template as any).clone
28
+ const before = template || template.clone;
22
29
  value.forEach((subTag, index) => {
23
- subTag.tagSupport = ownerTag.tagSupport;
30
+ subTag.tagSupport = getTagSupport({}); // {...ownerTag.tagSupport} // ownerTag.tagSupport.templater
31
+ subTag.tagSupport.mutatingRender = () => {
32
+ ownerTag.tagSupport.render();
33
+ return subTag;
34
+ }; // fake having a render function
24
35
  subTag.ownerTag = ownerTag;
25
36
  ownerTag.children.push(subTag);
26
37
  if (subTag.arrayValue === undefined) {
@@ -36,14 +47,14 @@ ownerTag, counts) {
36
47
  if (previous.tag.arrayValue === subTag.arrayValue) {
37
48
  previous.tag.updateValues(subTag.values);
38
49
  }
39
- return;
50
+ return [];
40
51
  }
41
- const before = template || template.clone;
42
- processTagResult(subTag, result, before, {
52
+ const nextClones = processTagResult(subTag, result, before, {
43
53
  index,
44
- counts,
54
+ ...options,
45
55
  });
56
+ clones.push(...nextClones);
46
57
  });
47
- return;
58
+ return clones;
48
59
  }
49
60
  //# sourceMappingURL=processTagArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ import { Clones } from "./Clones.type.js";
3
+ import { Counts } from "./interpolateTemplate.js";
4
+ export declare function processTagResult(tag: Tag, result: any, // used for recording past and current value
5
+ insertBefore: Element, // <template end interpolate />
6
+ { index, counts, forceElement, }: {
7
+ index?: number;
8
+ counts: Counts;
9
+ forceElement?: boolean;
10
+ }): Clones;
@@ -0,0 +1,40 @@
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 existing = result.lastArray[index];
7
+ if (existing?.tag.isLikeTag(tag)) {
8
+ existing.tag.updateByTag(tag);
9
+ return [];
10
+ }
11
+ const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
12
+ const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement });
13
+ result.lastArray.push({
14
+ tag, index
15
+ });
16
+ return clones;
17
+ }
18
+ // *if appears we already have seen
19
+ const rTag = result.tag;
20
+ if (rTag && !forceElement) {
21
+ // are we just updating an if we already had?
22
+ if (rTag.isLikeTag(tag)) {
23
+ // components
24
+ if (result instanceof Function) {
25
+ const newTag = result(rTag.tagSupport);
26
+ rTag.updateByTag(newTag);
27
+ return [];
28
+ }
29
+ rTag.updateByTag(tag);
30
+ return []; // no clones created in element already on stage
31
+ }
32
+ }
33
+ const clones = tag.buildBeforeElement(insertBefore, {
34
+ counts,
35
+ forceElement,
36
+ });
37
+ result.tag = tag; // let reprocessing know we saw this previously as an if
38
+ return clones;
39
+ }
40
+ //# sourceMappingURL=processTagResult.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAAW,EAAE,4CAA4C;AACzD,YAAqB,EAAE,+BAA+B;AACtD,EACE,KAAK,EAAE,MAAM,EAAE,YAAY,GAK5B;IAED,OAAO;IACP,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAExC,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;QAED,MAAM,cAAc,GAAG,YAAY,CAAA,CAAC,+CAA+C;QAEnF,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAA;QAE7E,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,IAAI,GAAQ,MAAM,CAAC,GAAG,CAAA;IAC5B,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,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAEzE,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,17 @@
1
+ export type Provider = {
2
+ constructMethod: any;
3
+ instance: any;
4
+ clone: any;
5
+ };
6
+ type functionProvider = <T>() => T;
7
+ type classProvider = new <T>(...args: any[]) => T;
8
+ export declare const providers: {
9
+ create: <T>(constructMethod: classProvider | functionProvider) => T;
10
+ /**
11
+ * @template T
12
+ * @param {(new (...args: any[]) => T) | () => T} constructor
13
+ * @returns {T}
14
+ */
15
+ inject: (constructor: any) => any;
16
+ };
17
+ export {};
@@ -0,0 +1,86 @@
1
+ import { deepClone } from "./deepFunctions.js";
2
+ import { setUse } from "./setUse.function.js";
3
+ // TODO: rename
4
+ setUse.memory.providerConfig = {
5
+ providers: [],
6
+ currentTagSupport: undefined,
7
+ ownerTag: undefined,
8
+ };
9
+ function get(constructMethod) {
10
+ const config = setUse.memory.providerConfig;
11
+ const providers = config.providers;
12
+ return providers.find(provider => provider.constructMethod === constructMethod);
13
+ }
14
+ export const providers = {
15
+ create: (constructMethod) => {
16
+ const existing = get(constructMethod);
17
+ if (existing) {
18
+ existing.clone = deepClone(existing.instance);
19
+ return existing.instance;
20
+ }
21
+ // Providers with provider requirements just need to use providers.create() and providers.inject()
22
+ const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
23
+ const config = setUse.memory.providerConfig;
24
+ config.providers.push({
25
+ constructMethod,
26
+ instance,
27
+ clone: deepClone(instance)
28
+ });
29
+ return instance;
30
+ },
31
+ /**
32
+ * @template T
33
+ * @param {(new (...args: any[]) => T) | () => T} constructor
34
+ * @returns {T}
35
+ */
36
+ inject: (constructor) => {
37
+ const oldValue = get(constructor);
38
+ if (oldValue) {
39
+ return oldValue.instance;
40
+ }
41
+ const config = setUse.memory.providerConfig;
42
+ let owner = {
43
+ ownerTag: config.ownerTag
44
+ };
45
+ while (owner.ownerTag) {
46
+ const ownerProviders = owner.ownerTag.tagSupport.memory.providers;
47
+ const provider = ownerProviders.find(provider => {
48
+ if (provider.constructMethod === constructor) {
49
+ return true;
50
+ }
51
+ });
52
+ if (provider) {
53
+ provider.clone = deepClone(provider.instance); // keep a copy of the latest before any change occur
54
+ config.providers.push(provider);
55
+ return provider.instance;
56
+ }
57
+ owner = owner.ownerTag; // cause reloop
58
+ }
59
+ const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
60
+ console.warn(`${msg}. Available providers`, config.providers);
61
+ throw new Error(msg);
62
+ }
63
+ };
64
+ setUse({
65
+ beforeRender: (tagSupport, ownerTag) => {
66
+ run(tagSupport, ownerTag);
67
+ },
68
+ beforeRedraw: (tagSupport, tag) => {
69
+ run(tagSupport, tag.ownerTag);
70
+ },
71
+ afterRender: (tagSupport) => {
72
+ const config = setUse.memory.providerConfig;
73
+ tagSupport.memory.providers = [...config.providers];
74
+ config.providers.length = 0;
75
+ }
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
+ }
86
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare function buildClones(temporary: Element, insertBefore: Element): ChildNode[];