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
@@ -1,98 +1,37 @@
1
- import { buildItemTagMap } from "./render.js";
2
- import { Tag, variablePrefix } from "./Tag.class.js";
3
- import { Subject } from "./Subject.js";
4
- import { processTagArray } from "./processTagArray.js";
5
- import { getTagSupport } from "./getTagSupport.js";
6
- import { deepClone, deepEqual } from "./deepFunctions.js";
7
- import { config as providers } from "./providers.js";
1
+ import { variablePrefix } from "./Tag.class.js";
8
2
  import { elementInitCheck } from "./elementInitCheck.js";
9
- import { runBeforeRender } from "./tagRunner.js";
10
- import { TemplaterResult } from "./tag.js";
3
+ import { processSubjectValue } from "./processSubjectValue.function.js";
11
4
  export function interpolateTemplate(template, // <template end interpolate /> (will be removed)
12
- context, // variable scope of {`__tagVar${index}`:'x'}
13
- ownerTag, // Tag class
14
- counts) {
5
+ context, // variable scope of {`__tagvar${index}`:'x'}
6
+ tag, // Tag class
7
+ counts, // {added:0, removed:0}
8
+ options) {
9
+ const clones = [];
15
10
  if (!template.hasAttribute('end')) {
16
- return; // only care about starts
11
+ return clones; // only care about starts
17
12
  }
18
13
  const variableName = template.getAttribute('id');
19
14
  if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
20
- return; // ignore, not a tagVar
15
+ return clones; // ignore, not a tagVar
21
16
  }
22
17
  const result = context[variableName];
23
- if (result instanceof Subject) {
24
- const callback = (templateNewValue) => {
25
- processSubjectValue(templateNewValue, result, template, ownerTag, counts);
26
- setTimeout(() => {
27
- counts.added = 0; // reset
28
- counts.removed = 0; // reset
29
- }, 0);
30
- };
31
- const sub = result.subscribe(callback);
32
- ownerTag.cloneSubs.push(sub);
33
- return;
34
- }
35
- const clone = updateBetweenTemplates(result, template.clone || template);
36
- ownerTag.clones.push(clone);
37
- template.clone = clone;
38
- return;
39
- }
40
- /**
41
- *
42
- * @param {*} value
43
- * @param {*} result
44
- * @param {*} template
45
- * @param {Tag} ownerTag
46
- * @param {{added: number, removed: number}} counts
47
- * @returns
48
- */
49
- function processSubjectValue(value, result, // could be tag via result.tag
50
- template, // <template end interpolate /> (will be removed)
51
- ownerTag, counts) {
52
- if (value instanceof Tag) {
53
- // first time seeing this tag?
54
- if (!value.tagSupport) {
55
- value.tagSupport = getTagSupport();
56
- value.tagSupport.mutatingRender = ownerTag.tagSupport.mutatingRender;
57
- value.tagSupport.oldest = value.tagSupport.oldest || value;
58
- ownerTag.children.push(value);
59
- value.ownerTag = ownerTag;
18
+ // const isSubject = isSubjectInstance(result)
19
+ let isForceElement = options.forceElement;
20
+ const callback = (templateNewValue) => {
21
+ const { clones } = processSubjectValue(templateNewValue, result, template, tag, { counts, forceElement: isForceElement });
22
+ if (isForceElement) {
23
+ isForceElement = false; // only can happen once
60
24
  }
61
- // value.tagSupport.newest = value
62
- processTagResult(value, result, // Function will attach result.tag
63
- template, { counts });
64
- return;
65
- }
66
- // *for map
67
- if (value instanceof Array && value.every(x => x instanceof Tag)) {
68
- return processTagArray(result, value, template, ownerTag, counts);
69
- }
70
- if (isTagComponent(value)) {
71
- return processSubjectComponent(value, result, template, ownerTag, counts);
72
- }
73
- // *if processing WAS a tag BUT NOW its some other non-tag value
74
- if (result.tag) {
75
- // put the template back
76
- const lastFirstChild = template.clone || template; // result.tag.clones[0] // template.lastFirstChild
77
- lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
78
- const stagger = counts.removed;
79
- const animated = result.tag.destroy(stagger);
80
- counts.removed = stagger + animated;
81
- delete result.tag;
82
- const clone = updateBetweenTemplates(value, lastFirstChild // ✅ this will be removed
83
- ); // the template will be remove in here
84
- template.clone = clone;
85
- return;
86
- }
87
- const before = template.clone || template; // Either the template is on the doc OR its the first element we last put on doc
88
- // Processing of regular values
89
- const clone = updateBetweenTemplates(value, before);
90
- template.clone = clone;
91
- const oldPos = ownerTag.clones.indexOf(before);
92
- if (oldPos >= 0 && !ownerTag.clones.includes(clone) && !before.parentNode) {
93
- ownerTag.clones.splice(oldPos, 1);
94
- ownerTag.clones.push(clone);
95
- }
25
+ clones.push(...clones);
26
+ // TODO: See if we can remove
27
+ setTimeout(() => {
28
+ counts.added = 0; // reset
29
+ counts.removed = 0; // reset
30
+ }, 0);
31
+ };
32
+ const sub = result.subscribe(callback);
33
+ tag.cloneSubs.push(sub);
34
+ return clones;
96
35
  }
97
36
  // Function to update the value of x
98
37
  export function updateBetweenTemplates(value, lastFirstChild) {
@@ -106,157 +45,20 @@ export function updateBetweenTemplates(value, lastFirstChild) {
106
45
  parent.insertBefore(textNode, lastFirstChild);
107
46
  /* remove existing nodes */
108
47
  parent.removeChild(lastFirstChild);
109
- return textNode;
110
- }
111
- /** Returns {clones:[], subs:[]} */
112
- export function processTagResult(tag, result, // used for recording past and current value
113
- insertBefore, // <template end interpolate />
114
- { index, counts, }) {
115
- const template = tag.getTemplate();
116
- // *for
117
- if (index !== undefined) {
118
- const existing = result.lastArray[index];
119
- if (existing?.tag.isLikeTag(tag)) {
120
- existing.tag.updateByTag(tag);
121
- return;
122
- }
123
- const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
124
- const clones = buildItemTagMap(tag, template, lastFirstChild);
125
- clones.forEach(clone => afterElmBuild(clone, counts));
126
- result.lastArray.push({
127
- tag, index
128
- });
129
- return;
48
+ if (lastFirstChild.nodeName === 'TEMPLATE') {
49
+ lastFirstChild.setAttribute('removedAt', Date.now().toString());
130
50
  }
131
- // *if appears we already have seen
132
- if (result.tag) {
133
- // are we just updating an if we already had?
134
- if (result.tag.isLikeTag(tag)) {
135
- // components
136
- if (result instanceof Function) {
137
- const newTag = result(result.tag.tagSupport);
138
- result.tag.updateByTag(newTag);
139
- return;
140
- }
141
- result.tag.updateByTag(tag);
142
- return;
143
- }
144
- }
145
- // *if just now appearing to be a Tag
146
- const before = insertBefore.clone || insertBefore;
147
- const clones = buildItemTagMap(tag, template, before);
148
- clones.forEach(clone => afterElmBuild(clone, counts));
149
- result.tag = tag; // let reprocessing know we saw this previously as an if
150
- return;
151
- }
152
- export function isTagComponent(value) {
153
- return value instanceof TemplaterResult;
154
- }
155
- function processSubjectComponent(value, result, template, ownerTag, counts) {
156
- if (value.tagged !== true) {
157
- let name = value.name || value.constructor?.name;
158
- if (name === 'Function') {
159
- name = undefined;
160
- }
161
- const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${name || value.toString().substring(0, 120)}\n\n`);
162
- throw error;
163
- }
164
- /** @type {TagSupport} */
165
- const tagSupport = result.tagSupport || getTagSupport(value);
166
- tagSupport.mutatingRender = () => {
167
- const preRenderCount = tagSupport.renderCount;
168
- // Is this NOT my first render
169
- if (result.tag) {
170
- providersChangeCheck(result.tag);
171
- // When the providers were checked, a render to myself occurred and I do not need to re-render again
172
- if (preRenderCount !== tagSupport.renderCount) {
173
- return tagSupport.newest;
174
- }
175
- const hasPropsChanged = tagSupport.hasPropChanges(value.props, value.newProps, result.tag.tagSupport.templater.props);
176
- if (!hasPropsChanged) {
177
- tagSupport.newest = value.redraw(value.newProps); // No change detected, just redraw me only
178
- return tagSupport.newest;
179
- }
180
- }
181
- // draw to my parent
182
- const newest = tagSupport.newest = ownerTag.tagSupport.render();
183
- return newest;
184
- };
185
- const templater = value;
186
- let tag = templater.newest;
187
- providers.ownerTag = ownerTag;
188
- const isFirstTime = !tag;
189
- runBeforeRender(tagSupport, tag);
190
- if (isFirstTime) {
191
- tag = templater.wrapper();
192
- tag.tagSupport = tagSupport;
193
- tag.afterRender();
194
- templater.oldest = tag;
195
- tagSupport.oldest = tag;
196
- value.oldest = tag;
197
- }
198
- templater.newest = tag;
199
- tag.ownerTag = ownerTag;
200
- tag.ownerTag = ownerTag;
201
- ownerTag.children.push(tag);
202
- tag.setSupport(tagSupport);
203
- processTagResult(tag, result, // The element set here will be removed from document
204
- template, // <template end interpolate /> (will be removed)
205
- {
206
- counts,
207
- });
208
- return;
51
+ return textNode;
209
52
  }
210
- function afterElmBuild(elm, counts) {
53
+ export function afterElmBuild(elm, options) {
211
54
  if (!elm.getAttribute) {
212
55
  return;
213
56
  }
214
- elementInitCheck(elm, counts);
215
- if (elm.children) {
216
- new Array(...elm.children).forEach(child => afterElmBuild(child, counts));
57
+ if (!options.forceElement) {
58
+ elementInitCheck(elm, options.counts);
217
59
  }
218
- }
219
- function providersChangeCheck(tag) {
220
- const providersWithChanges = tag.providers.filter(provider => {
221
- return !deepEqual(provider.instance, provider.clone);
222
- });
223
- // reset clones
224
- providersWithChanges.forEach(provider => {
225
- const appElement = tag.getAppElement();
226
- handleProviderChanges(appElement, provider);
227
- provider.clone = deepClone(provider.instance);
228
- });
229
- }
230
- /**
231
- *
232
- * @param {Tag} appElement
233
- * @param {Provider} provider
234
- */
235
- function handleProviderChanges(appElement, provider) {
236
- const tagsWithProvider = getTagsWithProvider(appElement, provider);
237
- tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
238
- if (renderCount === tag.tagSupport.renderCount) {
239
- provider.clone = deepClone(provider.instance);
240
- tag.tagSupport.render();
241
- }
242
- });
243
- }
244
- /**
245
- *
246
- * @param {Tag} appElement
247
- * @param {Provider} provider
248
- * @returns {{tag: Tag, renderCount: numer, provider: Provider}[]}
249
- */
250
- function getTagsWithProvider(tag, provider, memory = []) {
251
- const hasProvider = tag.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
252
- if (hasProvider) {
253
- memory.push({
254
- tag,
255
- renderCount: tag.tagSupport.renderCount,
256
- provider: hasProvider
257
- });
60
+ if (elm.children) {
61
+ new Array(...elm.children).forEach(child => afterElmBuild(child, options));
258
62
  }
259
- tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
260
- return memory;
261
63
  }
262
64
  //# sourceMappingURL=interpolateTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export declare const interpolateReplace: RegExp;
2
- /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
3
- export declare function interpolateToTemplates(template: string): {
2
+ export type InterpolatedTemplates = {
4
3
  string: string;
5
4
  keys: string[];
6
5
  };
6
+ /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
7
+ export declare function interpolateToTemplates(template: string): InterpolatedTemplates;
@@ -1,4 +1,5 @@
1
- export const interpolateReplace = /(?:<[^>]*>)|({__tagVar[^}]+})/g;
1
+ // support arrow functions in attributes
2
+ export const interpolateReplace = /(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;
2
3
  /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
3
4
  export function interpolateToTemplates(template) {
4
5
  const keys = [];
@@ -1 +1 @@
1
- {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,gCAAgC,CAAA;AAElE,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SubjectLike } from "./Subject.js";
2
+ import { Tag } from "./Tag.class.js";
3
+ import { TemplaterResult } from "./templater.utils.js";
4
+ export declare function isTagComponent(value?: TemplaterResult): boolean;
5
+ export declare function isTagInstance(tag?: Tag | unknown): boolean;
6
+ export declare function isSubjectInstance(subject?: SubjectLike): Boolean;
@@ -0,0 +1,10 @@
1
+ export function isTagComponent(value) {
2
+ return value?.isTemplater === true;
3
+ }
4
+ export function isTagInstance(tag) {
5
+ return tag?.isTag === true;
6
+ }
7
+ export function isSubjectInstance(subject) {
8
+ return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
9
+ }
10
+ //# sourceMappingURL=isInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,KAAuB;IACpD,OAAO,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,OAAQ,GAAW,EAAE,KAAK,KAAK,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAqB;IAErB,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,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"}
package/js/onInit.d.ts CHANGED
@@ -1,6 +1,2 @@
1
- import { Tag } from "./Tag.class.js";
2
1
  export type OnInitCallback = () => unknown;
3
- /** When undefined, it means a tag is being built for the first time so do run init(s) */
4
- export declare let initCurrentTag: Tag | undefined;
5
- export declare function setCurrentInitTag(tag: Tag | undefined): void;
6
2
  export declare function onInit(callback: OnInitCallback): void;
package/js/onInit.js CHANGED
@@ -1,17 +1,19 @@
1
- import { setUse } from "./tagRunner.js";
2
- /** When undefined, it means a tag is being built for the first time so do run init(s) */
3
- export let initCurrentTag;
4
- export function setCurrentInitTag(tag) {
5
- initCurrentTag = tag;
1
+ import { setUse } from "./setUse.function.js";
2
+ function setCurrentTagSupport(support) {
3
+ setUse.memory.initCurrentSupport = support;
6
4
  }
7
5
  export function onInit(callback) {
8
- if (!initCurrentTag) {
9
- 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
10
13
  }
11
14
  }
12
15
  setUse({
13
- beforeRender: (_tagSupport, tag) => {
14
- setCurrentInitTag(tag);
15
- }
16
+ beforeRender: tagSupport => setCurrentTagSupport(tagSupport),
17
+ beforeRedraw: tagSupport => setCurrentTagSupport(tagSupport),
16
18
  });
17
19
  //# sourceMappingURL=onInit.js.map
package/js/onInit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,yFAAyF;AACzF,MAAM,CAAC,IAAI,cAA+B,CAAA;AAE1C,MAAM,UAAU,iBAAiB,CAAC,GAAoB;IACpD,cAAc,GAAG,GAAG,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,IAAG,CAAC,cAAc,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAA;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QACjC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
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,23 @@
1
+ import { TagArraySubject } from "./processTagArray.js";
2
+ import { Clones } from "./Clones.type.js";
3
+ import { Tag } from "./Tag.class.js";
4
+ import { Counts, Template } from "./interpolateTemplate.js";
5
+ import { TagSubject } from "./Tag.utils.js";
6
+ export declare function isTagArray(value: any): boolean;
7
+ type processOptions = {
8
+ forceElement?: boolean;
9
+ counts: Counts;
10
+ };
11
+ export type ClonesAndPromise = {
12
+ clones: Clones;
13
+ promise?: Promise<any>;
14
+ };
15
+ export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject, // could be tag via result.tag
16
+ template: Template, // <template end interpolate /> (will be removed)
17
+ tag: Tag, // owner
18
+ options: processOptions): ClonesAndPromise;
19
+ export declare function processTag(value: any, result: TagSubject | TagArraySubject, // could be tag via result.tag
20
+ template: Template, // <template end interpolate /> (will be removed)
21
+ tag: Tag, // owner
22
+ options: processOptions): Clones;
23
+ export {};