taggedjs 2.3.27 → 2.3.30

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 (399) hide show
  1. package/index.js +1 -1
  2. package/js/CustomError.d.ts +7 -0
  3. package/js/CustomError.js +9 -0
  4. package/js/CustomError.js.map +1 -0
  5. package/js/Errors.d.ts +14 -0
  6. package/js/Errors.js +21 -0
  7. package/js/Errors.js.map +1 -0
  8. package/js/Errors2.d.ts +14 -0
  9. package/js/Errors2.js +21 -0
  10. package/js/Errors2.js.map +1 -0
  11. package/js/Subject.d.ts +3 -2
  12. package/js/Subject.js +11 -7
  13. package/js/Subject.js.map +1 -1
  14. package/js/Tag.class.d.ts +6 -8
  15. package/js/Tag.class.js +35 -63
  16. package/js/Tag.class.js.map +1 -1
  17. package/js/Tag.utils.d.ts +9 -5
  18. package/js/Tag.utils.js +4 -16
  19. package/js/Tag.utils.js.map +1 -1
  20. package/js/TagSupport.class.d.ts +23 -0
  21. package/js/TagSupport.class.js +86 -0
  22. package/js/TagSupport.class.js.map +1 -0
  23. package/js/ValueSubject.d.ts +2 -2
  24. package/js/ValueSubject.js +3 -3
  25. package/js/ValueSubject.js.map +1 -1
  26. package/js/bindSubjectCallback.function.d.ts +6 -3
  27. package/js/bindSubjectCallback.function.js +25 -13
  28. package/js/bindSubjectCallback.function.js.map +1 -1
  29. package/js/deepFunctions.js +9 -4
  30. package/js/deepFunctions.js.map +1 -1
  31. package/js/elementDestroyCheck.function.d.ts +3 -3
  32. package/js/elementDestroyCheck.function.js.map +1 -1
  33. package/js/elementInitCheck.d.ts +1 -1
  34. package/js/elementInitCheck.js +4 -4
  35. package/js/elementInitCheck.js.map +1 -1
  36. package/js/gateway/loadTagGateway.function.d.ts +2 -2
  37. package/js/gateway/loadTagGateway.function.js.map +1 -1
  38. package/js/gateway/tagGateway.function.d.ts +3 -2
  39. package/js/gateway/tagGateway.function.js.map +1 -1
  40. package/js/gateway/tagGateway.utils.d.ts +4 -3
  41. package/js/gateway/tagGateway.utils.js +5 -7
  42. package/js/gateway/tagGateway.utils.js.map +1 -1
  43. package/js/getCallback.js +1 -1
  44. package/js/getCallback.js.map +1 -1
  45. package/js/getTagSupport.d.ts +1 -2
  46. package/js/getTagSupport.js +7 -11
  47. package/js/getTagSupport.js.map +1 -1
  48. package/js/hasTagSupportChanged.function.d.ts +7 -0
  49. package/js/hasTagSupportChanged.function.js +76 -0
  50. package/js/hasTagSupportChanged.function.js.map +1 -0
  51. package/js/index.d.ts +17 -7
  52. package/js/index.js +16 -7
  53. package/js/index.js.map +1 -1
  54. package/js/interpolateAttributes.js +24 -16
  55. package/js/interpolateAttributes.js.map +1 -1
  56. package/js/interpolateContentTemplates.d.ts +1 -1
  57. package/js/interpolateContentTemplates.js +8 -10
  58. package/js/interpolateContentTemplates.js.map +1 -1
  59. package/js/interpolateElement.d.ts +2 -0
  60. package/js/interpolateElement.js +1 -8
  61. package/js/interpolateElement.js.map +1 -1
  62. package/js/interpolateTemplate.d.ts +3 -3
  63. package/js/interpolateTemplate.js +18 -13
  64. package/js/interpolateTemplate.js.map +1 -1
  65. package/js/isInstance.d.ts +3 -2
  66. package/js/isInstance.js +3 -0
  67. package/js/isInstance.js.map +1 -1
  68. package/js/onDestroy.js +0 -3
  69. package/js/onDestroy.js.map +1 -1
  70. package/js/onInit.js +0 -4
  71. package/js/onInit.js.map +1 -1
  72. package/js/processNewValue.function.d.ts +2 -0
  73. package/js/processNewValue.function.js +29 -0
  74. package/js/processNewValue.function.js.map +1 -0
  75. package/js/processRegularValue.function.d.ts +7 -0
  76. package/js/processRegularValue.function.js +21 -0
  77. package/js/processRegularValue.function.js.map +1 -0
  78. package/js/processSubjectComponent.function.js +5 -21
  79. package/js/processSubjectComponent.function.js.map +1 -1
  80. package/js/processSubjectValue.function.d.ts +6 -6
  81. package/js/processSubjectValue.function.js +33 -48
  82. package/js/processSubjectValue.function.js.map +1 -1
  83. package/js/processTagArray.d.ts +1 -0
  84. package/js/processTagArray.js +60 -24
  85. package/js/processTagArray.js.map +1 -1
  86. package/js/processTagResult.function.d.ts +1 -2
  87. package/js/processTagResult.function.js +1 -17
  88. package/js/processTagResult.function.js.map +1 -1
  89. package/js/propState.function.d.ts +2 -0
  90. package/js/propState.function.js +3 -0
  91. package/js/propState.function.js.map +1 -0
  92. package/js/provider.utils.d.ts +2 -0
  93. package/js/provider.utils.js +34 -0
  94. package/js/provider.utils.js.map +1 -0
  95. package/js/providers.d.ts +2 -1
  96. package/js/providers.js +2 -2
  97. package/js/providers.js.map +1 -1
  98. package/js/redrawTag.function.d.ts +3 -2
  99. package/js/redrawTag.function.js +2 -4
  100. package/js/redrawTag.function.js.map +1 -1
  101. package/js/set.function.d.ts +23 -0
  102. package/{_js/state.js → js/set.function.js} +60 -64
  103. package/js/set.function.js.map +1 -0
  104. package/js/setLet.function.d.ts +3 -0
  105. package/js/setLet.function.js +31 -0
  106. package/js/setLet.function.js.map +1 -0
  107. package/js/setProp.function.d.ts +3 -0
  108. package/js/setProp.function.js +34 -0
  109. package/js/setProp.function.js.map +1 -0
  110. package/js/setUse.function.d.ts +2 -2
  111. package/js/state.d.ts +8 -6
  112. package/js/state.js +35 -15
  113. package/js/state.js.map +1 -1
  114. package/js/tag.d.ts +11 -6
  115. package/js/tag.js +84 -11
  116. package/js/tag.js.map +1 -1
  117. package/js/tagElement.d.ts +3 -2
  118. package/js/tagElement.js +21 -22
  119. package/js/tagElement.js.map +1 -1
  120. package/js/tagRunner.d.ts +1 -1
  121. package/js/templater.utils.d.ts +4 -5
  122. package/js/templater.utils.js +27 -24
  123. package/js/templater.utils.js.map +1 -1
  124. package/js/updateExistingTag.function.d.ts +4 -0
  125. package/js/updateExistingTag.function.js +15 -0
  126. package/js/updateExistingTag.function.js.map +1 -0
  127. package/js/updateExistingTagComponent.function.d.ts +4 -0
  128. package/js/updateExistingTagComponent.function.js +56 -0
  129. package/js/updateExistingTagComponent.function.js.map +1 -0
  130. package/js/updateExistingValue.function.d.ts +10 -0
  131. package/js/updateExistingValue.function.js +112 -0
  132. package/js/updateExistingValue.function.js.map +1 -0
  133. package/js/updateTag.utils.d.ts +1 -0
  134. package/js/updateTag.utils.js +5 -79
  135. package/js/updateTag.utils.js.map +1 -1
  136. package/js/watch.function.d.ts +3 -0
  137. package/js/watch.function.js +19 -0
  138. package/js/watch.function.js.map +1 -0
  139. package/package.json +1 -1
  140. package/_js/Clones.type.d.ts +0 -1
  141. package/_js/Clones.type.js +0 -2
  142. package/_js/Clones.type.js.map +0 -1
  143. package/_js/ElementTarget.interface.d.ts +0 -7
  144. package/_js/ElementTarget.interface.js +0 -2
  145. package/_js/ElementTarget.interface.js.map +0 -1
  146. package/_js/ElementTargetEvent.interface.d.ts +0 -6
  147. package/_js/ElementTargetEvent.interface.js +0 -2
  148. package/_js/ElementTargetEvent.interface.js.map +0 -1
  149. package/_js/Props.d.ts +0 -1
  150. package/_js/Props.js +0 -2
  151. package/_js/Props.js.map +0 -1
  152. package/_js/Subject.d.ts +0 -17
  153. package/_js/Subject.js +0 -43
  154. package/_js/Subject.js.map +0 -1
  155. package/_js/Tag.class.d.ts +0 -69
  156. package/_js/Tag.class.js +0 -258
  157. package/_js/Tag.class.js.map +0 -1
  158. package/_js/Tag.utils.d.ts +0 -12
  159. package/_js/Tag.utils.js +0 -31
  160. package/_js/Tag.utils.js.map +0 -1
  161. package/_js/ValueSubject.d.ts +0 -6
  162. package/_js/ValueSubject.js +0 -15
  163. package/_js/ValueSubject.js.map +0 -1
  164. package/_js/bindSubjectCallback.function.d.ts +0 -5
  165. package/_js/bindSubjectCallback.function.js +0 -19
  166. package/_js/bindSubjectCallback.function.js.map +0 -1
  167. package/_js/deepFunctions.d.ts +0 -2
  168. package/_js/deepFunctions.js +0 -76
  169. package/_js/deepFunctions.js.map +0 -1
  170. package/_js/elementDestroyCheck.function.d.ts +0 -3
  171. package/_js/elementDestroyCheck.function.js +0 -17
  172. package/_js/elementDestroyCheck.function.js.map +0 -1
  173. package/_js/elementInitCheck.d.ts +0 -2
  174. package/_js/elementInitCheck.js +0 -18
  175. package/_js/elementInitCheck.js.map +0 -1
  176. package/_js/gateway/gateway.web.component.d.ts +0 -11
  177. package/_js/gateway/gateway.web.component.js +0 -20
  178. package/_js/gateway/gateway.web.component.js.map +0 -1
  179. package/_js/gateway/index.d.ts +0 -3
  180. package/_js/gateway/index.js +0 -4
  181. package/_js/gateway/index.js.map +0 -1
  182. package/_js/gateway/loadTagGateway.function.d.ts +0 -2
  183. package/_js/gateway/loadTagGateway.function.js +0 -18
  184. package/_js/gateway/loadTagGateway.function.js.map +0 -1
  185. package/_js/gateway/tagGateway.function.d.ts +0 -4
  186. package/_js/gateway/tagGateway.function.js +0 -49
  187. package/_js/gateway/tagGateway.function.js.map +0 -1
  188. package/_js/gateway/tagGateway.utils.d.ts +0 -21
  189. package/_js/gateway/tagGateway.utils.js +0 -139
  190. package/_js/gateway/tagGateway.utils.js.map +0 -1
  191. package/_js/getCallback.d.ts +0 -3
  192. package/_js/getCallback.js +0 -50
  193. package/_js/getCallback.js.map +0 -1
  194. package/_js/getTagSupport.d.ts +0 -21
  195. package/_js/getTagSupport.js +0 -110
  196. package/_js/getTagSupport.js.map +0 -1
  197. package/_js/html.d.ts +0 -2
  198. package/_js/html.js +0 -5
  199. package/_js/html.js.map +0 -1
  200. package/_js/index.d.ts +0 -20
  201. package/_js/index.js +0 -25
  202. package/_js/index.js.map +0 -1
  203. package/_js/inputAttribute.d.ts +0 -1
  204. package/_js/inputAttribute.js +0 -19
  205. package/_js/inputAttribute.js.map +0 -1
  206. package/_js/interpolateAttributes.d.ts +0 -4
  207. package/_js/interpolateAttributes.js +0 -135
  208. package/_js/interpolateAttributes.js.map +0 -1
  209. package/_js/interpolateContentTemplates.d.ts +0 -6
  210. package/_js/interpolateContentTemplates.js +0 -54
  211. package/_js/interpolateContentTemplates.js.map +0 -1
  212. package/_js/interpolateElement.d.ts +0 -9
  213. package/_js/interpolateElement.js +0 -39
  214. package/_js/interpolateElement.js.map +0 -1
  215. package/_js/interpolateTemplate.d.ts +0 -17
  216. package/_js/interpolateTemplate.js +0 -64
  217. package/_js/interpolateTemplate.js.map +0 -1
  218. package/_js/interpolations.d.ts +0 -7
  219. package/_js/interpolations.js +0 -18
  220. package/_js/interpolations.js.map +0 -1
  221. package/_js/isInstance.d.ts +0 -6
  222. package/_js/isInstance.js +0 -10
  223. package/_js/isInstance.js.map +0 -1
  224. package/_js/js/Clones.type.d.ts +0 -1
  225. package/_js/js/Clones.type.js +0 -2
  226. package/_js/js/Clones.type.js.map +0 -1
  227. package/_js/js/Props.d.ts +0 -1
  228. package/_js/js/Props.js +0 -2
  229. package/_js/js/Props.js.map +0 -1
  230. package/_js/js/Subject.d.ts +0 -17
  231. package/_js/js/Subject.js +0 -43
  232. package/_js/js/Subject.js.map +0 -1
  233. package/_js/js/Tag.class.d.ts +0 -67
  234. package/_js/js/Tag.class.js +0 -241
  235. package/_js/js/Tag.class.js.map +0 -1
  236. package/_js/js/Tag.utils.d.ts +0 -12
  237. package/_js/js/Tag.utils.js +0 -31
  238. package/_js/js/Tag.utils.js.map +0 -1
  239. package/_js/js/ValueSubject.d.ts +0 -6
  240. package/_js/js/ValueSubject.js +0 -15
  241. package/_js/js/ValueSubject.js.map +0 -1
  242. package/_js/js/bindSubjectCallback.function.d.ts +0 -5
  243. package/_js/js/bindSubjectCallback.function.js +0 -19
  244. package/_js/js/bindSubjectCallback.function.js.map +0 -1
  245. package/_js/js/deepFunctions.d.ts +0 -2
  246. package/_js/js/deepFunctions.js +0 -76
  247. package/_js/js/deepFunctions.js.map +0 -1
  248. package/_js/js/elementDestroyCheck.function.d.ts +0 -3
  249. package/_js/js/elementDestroyCheck.function.js +0 -17
  250. package/_js/js/elementDestroyCheck.function.js.map +0 -1
  251. package/_js/js/elementInitCheck.d.ts +0 -2
  252. package/_js/js/elementInitCheck.js +0 -18
  253. package/_js/js/elementInitCheck.js.map +0 -1
  254. package/_js/js/getCallback.d.ts +0 -3
  255. package/_js/js/getCallback.js +0 -50
  256. package/_js/js/getCallback.js.map +0 -1
  257. package/_js/js/getTagSupport.d.ts +0 -22
  258. package/_js/js/getTagSupport.js +0 -116
  259. package/_js/js/getTagSupport.js.map +0 -1
  260. package/_js/js/html.d.ts +0 -2
  261. package/_js/js/html.js +0 -5
  262. package/_js/js/html.js.map +0 -1
  263. package/_js/js/index.d.ts +0 -19
  264. package/_js/js/index.js +0 -24
  265. package/_js/js/index.js.map +0 -1
  266. package/_js/js/inputAttribute.d.ts +0 -1
  267. package/_js/js/inputAttribute.js +0 -19
  268. package/_js/js/inputAttribute.js.map +0 -1
  269. package/_js/js/interpolateAttributes.d.ts +0 -4
  270. package/_js/js/interpolateAttributes.js +0 -127
  271. package/_js/js/interpolateAttributes.js.map +0 -1
  272. package/_js/js/interpolateContentTemplates.d.ts +0 -5
  273. package/_js/js/interpolateContentTemplates.js +0 -57
  274. package/_js/js/interpolateContentTemplates.js.map +0 -1
  275. package/_js/js/interpolateElement.d.ts +0 -9
  276. package/_js/js/interpolateElement.js +0 -32
  277. package/_js/js/interpolateElement.js.map +0 -1
  278. package/_js/js/interpolateTemplate.d.ts +0 -17
  279. package/_js/js/interpolateTemplate.js +0 -64
  280. package/_js/js/interpolateTemplate.js.map +0 -1
  281. package/_js/js/interpolations.d.ts +0 -8
  282. package/_js/js/interpolations.js +0 -17
  283. package/_js/js/interpolations.js.map +0 -1
  284. package/_js/js/isInstance.d.ts +0 -6
  285. package/_js/js/isInstance.js +0 -10
  286. package/_js/js/isInstance.js.map +0 -1
  287. package/_js/js/onDestroy.d.ts +0 -2
  288. package/_js/js/onDestroy.js +0 -20
  289. package/_js/js/onDestroy.js.map +0 -1
  290. package/_js/js/onInit.d.ts +0 -2
  291. package/_js/js/onInit.js +0 -19
  292. package/_js/js/onInit.js.map +0 -1
  293. package/_js/js/processSubjectComponent.function.d.ts +0 -8
  294. package/_js/js/processSubjectComponent.function.js +0 -53
  295. package/_js/js/processSubjectComponent.function.js.map +0 -1
  296. package/_js/js/processSubjectValue.function.d.ts +0 -16
  297. package/_js/js/processSubjectValue.function.js +0 -122
  298. package/_js/js/processSubjectValue.function.js.map +0 -1
  299. package/_js/js/processTagArray.d.ts +0 -9
  300. package/_js/js/processTagArray.js +0 -60
  301. package/_js/js/processTagArray.js.map +0 -1
  302. package/_js/js/processTagResult.function.d.ts +0 -10
  303. package/_js/js/processTagResult.function.js +0 -42
  304. package/_js/js/processTagResult.function.js.map +0 -1
  305. package/_js/js/providers.d.ts +0 -17
  306. package/_js/js/providers.js +0 -86
  307. package/_js/js/providers.js.map +0 -1
  308. package/_js/js/redrawTag.function.d.ts +0 -7
  309. package/_js/js/redrawTag.function.js +0 -9
  310. package/_js/js/redrawTag.function.js.map +0 -1
  311. package/_js/js/render.d.ts +0 -1
  312. package/_js/js/render.js +0 -24
  313. package/_js/js/render.js.map +0 -1
  314. package/_js/js/renderAppToElement.d.ts +0 -14
  315. package/_js/js/renderAppToElement.js +0 -57
  316. package/_js/js/renderAppToElement.js.map +0 -1
  317. package/_js/js/setUse.function.d.ts +0 -23
  318. package/_js/js/setUse.function.js +0 -14
  319. package/_js/js/setUse.function.js.map +0 -1
  320. package/_js/js/state.d.ts +0 -24
  321. package/_js/js/state.js +0 -98
  322. package/_js/js/state.js.map +0 -1
  323. package/_js/js/tag.d.ts +0 -8
  324. package/_js/js/tag.js +0 -46
  325. package/_js/js/tag.js.map +0 -1
  326. package/_js/js/tagElement.d.ts +0 -14
  327. package/_js/js/tagElement.js +0 -57
  328. package/_js/js/tagElement.js.map +0 -1
  329. package/_js/js/tagGateway.function.d.ts +0 -5
  330. package/_js/js/tagGateway.function.js +0 -119
  331. package/_js/js/tagGateway.function.js.map +0 -1
  332. package/_js/js/tagRunner.d.ts +0 -6
  333. package/_js/js/tagRunner.js +0 -19
  334. package/_js/js/tagRunner.js.map +0 -1
  335. package/_js/js/templater.utils.d.ts +0 -28
  336. package/_js/js/templater.utils.js +0 -99
  337. package/_js/js/templater.utils.js.map +0 -1
  338. package/_js/js/updateTag.utils.d.ts +0 -6
  339. package/_js/js/updateTag.utils.js +0 -84
  340. package/_js/js/updateTag.utils.js.map +0 -1
  341. package/_js/js/wait.d.ts +0 -1
  342. package/_js/js/wait.js +0 -8
  343. package/_js/js/wait.js.map +0 -1
  344. package/_js/onDestroy.d.ts +0 -2
  345. package/_js/onDestroy.js +0 -20
  346. package/_js/onDestroy.js.map +0 -1
  347. package/_js/onInit.d.ts +0 -2
  348. package/_js/onInit.js +0 -19
  349. package/_js/onInit.js.map +0 -1
  350. package/_js/processSubjectComponent.function.d.ts +0 -8
  351. package/_js/processSubjectComponent.function.js +0 -53
  352. package/_js/processSubjectComponent.function.js.map +0 -1
  353. package/_js/processSubjectValue.function.d.ts +0 -16
  354. package/_js/processSubjectValue.function.js +0 -122
  355. package/_js/processSubjectValue.function.js.map +0 -1
  356. package/_js/processTagArray.d.ts +0 -9
  357. package/_js/processTagArray.js +0 -60
  358. package/_js/processTagArray.js.map +0 -1
  359. package/_js/processTagResult.function.d.ts +0 -10
  360. package/_js/processTagResult.function.js +0 -40
  361. package/_js/processTagResult.function.js.map +0 -1
  362. package/_js/providers.d.ts +0 -17
  363. package/_js/providers.js +0 -86
  364. package/_js/providers.js.map +0 -1
  365. package/_js/redrawTag.function.d.ts +0 -7
  366. package/_js/redrawTag.function.js +0 -8
  367. package/_js/redrawTag.function.js.map +0 -1
  368. package/_js/render.d.ts +0 -1
  369. package/_js/render.js +0 -17
  370. package/_js/render.js.map +0 -1
  371. package/_js/renderAppToElement.d.ts +0 -14
  372. package/_js/renderAppToElement.js +0 -57
  373. package/_js/renderAppToElement.js.map +0 -1
  374. package/_js/setUse.function.d.ts +0 -23
  375. package/_js/setUse.function.js +0 -14
  376. package/_js/setUse.function.js.map +0 -1
  377. package/_js/state.d.ts +0 -21
  378. package/_js/state.js.map +0 -1
  379. package/_js/tag.d.ts +0 -7
  380. package/_js/tag.js +0 -46
  381. package/_js/tag.js.map +0 -1
  382. package/_js/tagElement.d.ts +0 -14
  383. package/_js/tagElement.js +0 -57
  384. package/_js/tagElement.js.map +0 -1
  385. package/_js/tagGateway.function.d.ts +0 -14
  386. package/_js/tagGateway.function.js +0 -138
  387. package/_js/tagGateway.function.js.map +0 -1
  388. package/_js/tagRunner.d.ts +0 -6
  389. package/_js/tagRunner.js +0 -19
  390. package/_js/tagRunner.js.map +0 -1
  391. package/_js/templater.utils.d.ts +0 -27
  392. package/_js/templater.utils.js +0 -98
  393. package/_js/templater.utils.js.map +0 -1
  394. package/_js/updateTag.utils.d.ts +0 -6
  395. package/_js/updateTag.utils.js +0 -102
  396. package/_js/updateTag.utils.js.map +0 -1
  397. package/_js/wait.d.ts +0 -1
  398. package/_js/wait.js +0 -8
  399. package/_js/wait.js.map +0 -1
package/index.js CHANGED
@@ -1 +1 @@
1
- var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{xQ:()=>r,Vp:()=>ot,fx:()=>w,RN:()=>Nt,er:()=>S,dy:()=>st,jW:()=>dt,SO:()=>z,IT:()=>K,SW:()=>l,js:()=>mt,ev:()=>Ft,nc:()=>Ot,a:()=>At,_b:()=>T,hs:()=>f,lc:()=>d,SB:()=>Rt,_q:()=>St,bX:()=>Et,Cc:()=>yt,pJ:()=>bt});class r{isSubject=!0;subscribers=[];value;subscribe(t){this.subscribers.push(t),o.globalSubs.push(t),o.globalSubCount$.set(o.globalSubCount$.value+1);const e=()=>{e.unsubscribe()};return e.unsubscribe=()=>{n(this.subscribers,t),n(o.globalSubs,t),o.globalSubCount$.set(o.globalSubCount$.value-1),e.unsubscribe=()=>{}},e}set(t){this.value=t,this.subscribers.forEach((e=>{e.value=t,e(t)}))}next=this.set}function n(t,e){const r=t.indexOf(e);-1!==r&&t.splice(r,1)}const o=r;o.globalSubs=[],o.globalSubCount$=new r,o.globalSubCount$.set(0);class s extends r{value;constructor(t){super(),this.value=t}subscribe(t){const e=super.subscribe(t);return t(this.value),e}}function a(t){return i(t,new WeakMap)}function i(t,e){if(null===t||"object"!=typeof t)return t;if(e.has(t))return e.get(t);if(t instanceof Date)return new Date(t);if(t instanceof RegExp)return new RegExp(t);const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));if(e.set(t,r),Array.isArray(t))for(let n=0;n<t.length;n++)r[n]=i(t[n],e);else for(const n in t)t.hasOwnProperty(n)&&(r[n]=i(t[n],e));return r}function u(t,e){return c(t,e,new WeakMap)}function c(t,e,r){if(t===e)return!0;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;const n=Object.keys(t),o=Object.keys(e);if(n.length!==o.length)return!1;if(r.has(t))return!0;r.set(t,0);for(const s of n)if(!o.includes(s)||!c(t[s],e[s],r)){if(t[s]instanceof Function&&e[s]instanceof Function&&t[s].toString()===e[s].toString())continue;return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!c(t[n],e[n],r))return!1}else if(Array.isArray(t)||Array.isArray(e))return!1;return!0}function l(t){return!0===t?.isTemplater}function p(t){return!0===t?.isTag}function g(t){return!(!0!==t?.isSubject&&!t?.subscribe)}function d(t){const e={beforeRender:t.beforeRender||(()=>{}),beforeRedraw:t.beforeRedraw||(()=>{}),afterRender:t.afterRender||(()=>{}),beforeDestroy:t.beforeDestroy||(()=>{})};d.tagUse.push(e)}function f(t,e){d.tagUse.forEach((r=>r.beforeRender(t,e)))}function m(t,e){d.tagUse.forEach((r=>r.afterRender(t,e)))}function h(t,e){d.tagUse.forEach((r=>r.beforeRedraw(t,e)))}d.tagUse=[],d.memory={};class y{tagged;wrapper;newest;oldest;tagSupport;constructor(t){this.tagSupport=S(this,t)}redraw;isTemplater=!0;forceRenderTemplate(t,e){const r=this.wrapper();return r.setSupport(t),r.afterRender(),this.oldest=r,t.oldest=r,this.oldest=r,this.newest=r,r.ownerTag=e,r}renderWithSupport(t,e,r){++t.memory.renderCount;const n=e?.ownerTag||r;t.oldest?(t.props=t.latestProps,t.clonedProps=t.latestClonedProps,h(t,t.oldest)):(f(t,n),d.memory.providerConfig.ownerTag=n);const o=this,s=o.wrapper();t.latestProps=s.tagSupport.props,t.latestClonedProps=s.tagSupport.clonedProps,s.setSupport(t),m(t,s),o.newest=s,s.ownerTag=n;const a=t.oldest=t.oldest||s;t.newest=s;const i=a.tagSupport;return a.tagSupport=i||t,a.tagSupport.templater=o,e&&e.isLikeTag(s)?(a.updateByTag(s),{remit:!1,retag:s}):{remit:!0,retag:s}}}function b(t,e){const r=function(t,r){if("object"!=typeof t)return t;const n={...t};return Object.entries(n).forEach((([t,r])=>{n[t]=r instanceof Function?(...t)=>function(t,r){const n=t(...r);return e.newest?.ownerTag?.tagSupport.render(),n}(r,t):r})),n}(p(t)?0:t);return r}class w{templater;props;latestProps;clonedProps;latestClonedProps;memory={context:{},state:{newest:[]},providers:[],renderCount:0};constructor(t,e){this.templater=t,this.props=e,this.latestProps=e;const r=b(e,t);this.latestClonedProps=r,p(e)||(this.latestClonedProps=a(r)),this.clonedProps=this.latestClonedProps}oldest;newest;hasPropChanges(t,e,r){return!(void 0===t&&t===r||u(e,t))}mutatingRender(){const t='Tag function "render()" was called in sync but can only be called async';throw console.error(t,{tagSupport:this}),new Error(t)}render(){return++this.memory.renderCount,this.mutatingRender()}renderExistingTag(t,e){const r=this.memory.renderCount;if(function(t){t.tagSupport.memory.providers.filter((t=>!u(t.instance,t.clone))).forEach((e=>{!function(t,e){v(t,e).forEach((({tag:t,renderCount:e,provider:r})=>{e===t.tagSupport.memory.renderCount&&(r.clone=a(r.instance),t.tagSupport.render())}))}(t.getAppElement(),e),e.clone=a(e.instance)}))}(t),r!==this.memory.renderCount)return!0;const n=t.tagSupport.templater,o=e.tagSupport.props,s=n.tagSupport.clonedProps,i=n?.tagSupport.props;return function(t,e,r,n,o){const s=t.hasPropChanges(e,r,n);return t.newest=o.redraw(),!s}(this,o,s,i,this.templater)}}function S(t,e){return new w(t,e)}function v(t,e,r=[]){const n=t.tagSupport.memory.providers.find((t=>t.constructMethod===e.constructMethod));return n&&r.push({tag:t,renderCount:t.tagSupport.memory.renderCount,provider:n}),t.children.forEach((t=>v(t,e,r))),r}function T(t,e,r){const n=t?.tagSupport||S(e);return e.renderWithSupport(n,t,r)}function E(t,e){function r(r,n){const o=e.tagSupport.memory.renderCount,s=t.bind(r)(...n);if(o===e.tagSupport.memory.renderCount)return e.tagSupport.render(),s instanceof Promise?s.then((()=>e.tagSupport.render()&&"no-data-ever")):Promise.resolve(s).then((()=>"no-data-ever"))}return r.tagFunction=t,r}function C(t,e,r){e.tagSupport?.memory.renderCount,t.redraw=n=>{const o=e.tag,{remit:s,retag:a}=T(o,t,r);if(e.tagSupport=a.tagSupport,s){if(e.set(t),n){const t=o.tagSupport.memory.context;Object.values(t).forEach((t=>{t.value?.isTemplater&&t.value.redraw()}))}return a}}}function A(t,e){e.parentNode.insertBefore(t,e)}function P(t,e,r){const n=t.split(".");if("style"===n[0]&&(r.style[n[1]]=e),"class"===n[0])return n.shift(),void(e?n.forEach((t=>r.classList.add(t))):n.forEach((t=>r.classList.remove(t))))}function R(t,e,r){const n=t.getAttributeNames();"TEXTAREA"!==t.nodeName||n.includes("value")||j("textVarValue",t.getAttribute("textVarValue"),t,e,r,((e,r)=>t.value=r));const o=(e,r)=>{t.setAttribute(e,r)};n.forEach((n=>{j(n,t.getAttribute(n),t,e,r,o)}))}function x(t){return t.search(/^(class|style)(\.)/)>=0}function j(t,e,r,n,o,s){if(O(e))return function(t,e,r,n,o,s){return F(t,B(n,e),r,o,s)}(t,e,r,n,o,s);if(O(t)){let e;const a=B(n,t).subscribe((t=>{!function(t,e,r,n,o){if(e&&e!=t&&("string"==typeof e?r.removeAttribute(e):e instanceof Object&&Object.entries(e).forEach((([t])=>r.removeAttribute(t)))),"string"!=typeof t)t instanceof Object&&Object.entries(t).forEach((([t,e])=>F(t,e,r,n,o)));else{if(!t.length)return;F(t,"",r,n,o)}}(t,e,r,o,s),e=t}));return o.cloneSubs.push(a),void r.removeAttribute(t)}return x(t)?P(t,e,r):void 0}const k=/^\s*{__tagvar/,V=/}\s*$/;function O(t){return t&&t.search(k)>=0&&t.search(V)>=0}function B(t,e){return t[e.replace("{","").split("").reverse().join("").replace("}","").split("").reverse().join("")]}function F(t,e,r,n,o){const s=x(t);if(e instanceof Function){const n=function(...t){return e(r,t)};r[t].action=n}if(g(e)){r.removeAttribute(t);const a=e=>function(t,e,r,n,o){if(t instanceof Function)return e[r]=function(...r){return t(e,r)},void(e[r].tagFunction=t);if(n)return void P(r,t,e);if(t)return void o(r,t);void 0===t||!1===t||null===t?e.removeAttribute(r):o(r,t)}(e,r,t,s,o),i=e.subscribe(a);n.cloneSubs.push(i)}else o(t,e)}const N=/(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;function _(t,e,r,{index:n,counts:o,forceElement:s}){if(void 0!==n){const a=e.lastArray,i=a[n];if(i?.tag.isLikeTag(t))return i.tag.updateByTag(t),[];a.push({tag:t,index:n});const u=r;return t.buildBeforeElement(u,{counts:o,forceElement:s})}const a=e,i=a.tag;if(i&&!s&&i.isLikeTag(t)){if(e instanceof Function){const t=e(i.tagSupport);return i.updateByTag(t),[]}return i.updateByTag(t),[]}const u=t.buildBeforeElement(r,{counts:o,forceElement:s});return a.tag=t,u}function $(t,e,r,n,o){if(!0!==t.tagged){let e=t.wrapper.original.name||t.wrapper.original.constructor?.name;"Function"===e&&(e=void 0);const r=e||t.wrapper.original.toString().substring(0,120);throw new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${r}\n\n`)}const s=t,a=t.tagSupport;a.mutatingRender=()=>e.tag&&a.renderExistingTag(e.tag,s)?e.tag:a.newest=n.tagSupport.render();let i=s.newest;return d.memory.providerConfig.ownerTag=n,(!i||o.forceElement)&&(i||f(a,n),i&&h(a,i),i=s.forceRenderTemplate(a,n)),n.children.push(i),a.latestProps=i.tagSupport.props,a.latestClonedProps=i.tagSupport.clonedProps,a.memory=i.tagSupport.memory,i.setSupport(a),_(i,e,r,o)}function L(t,e,r,n,o){const s=[];t.lastArray=t.lastArray||[],t.template=r;let a=0;t.lastArray=t.lastArray.filter(((r,n)=>{const s=e.length-1<n-a,i=e[n-a],u=i?.arrayValue;return!s&&u===r.tag.arrayValue||(t.lastArray[n].tag.destroy({stagger:o.counts.removed,byParent:!1}),++a,++o.counts.removed,!1)}));const i=r||r.clone;return e.forEach(((e,r)=>{if(e.tagSupport=S({}),e.tagSupport.mutatingRender=()=>(n.tagSupport.render(),e),e.ownerTag=n,n.children.push(e),void 0===e.arrayValue&&!Object.keys(e).includes("arrayValue")){const t=new Error("Use html`...`.key(item) instead of html`...` to template an Array");throw t.code="add-array-key",t}const a=t.lastArray[r];if(a)return a.tag.arrayValue===e.arrayValue&&a.tag.updateValues(e.values),[];const u=_(e,t,i,{index:r,...o});s.push(...u)})),s}var M;function U(t){return t instanceof Array&&t.every((t=>p(t)))}function W(t,e,r,n){const o=e.clone||r,s=X(t,o);e.clone=s;const a=[],i=n.clones.indexOf(o);return i>=0&&!n.clones.includes(s)&&!o.parentNode&&(n.clones.splice(i,1),n.clones.push(s),a.push(s)),a}function D(t,e,r,n,o){return t.tagSupport||(t.tagSupport=S({}),t.tagSupport.mutatingRender=n.tagSupport.mutatingRender,t.tagSupport.oldest=t.tagSupport.oldest||t,n.children.push(t),t.ownerTag=n,e.sideTag=n),e.template=r,_(t,e,r,o)}function I(t,e,r,n){const o=e.tag,s=e.clone||r;s.parentNode.insertBefore(r,s),e.clone&&e.clone.parentNode.removeChild(e.clone),delete e.tag;const a=n.counts.removed,i=o.destroy({stagger:a}).then((t=>n.counts.removed=a+t));delete e.tag;const u=X(t,r);return e.clone=u,i}function J(t,e,r,n,o){const s=[];if(!t.hasAttribute("end"))return s;const a=t.getAttribute("id");if(a?.substring(0,tt.length)!==tt)return s;const i=e[a];let u=o.forceElement;const c=i.subscribe((e=>{const{clones:o}=function(t,e,r,n,o){const s=function(t){return l(t)?M.tagComponent:p(t)?M.tag:U(t)?M.tagArray:M.value}(t),a=e,i=a.clone;if(s!==M.value&&i){const t=i.parentNode;r.removeAttribute("removedAt"),t.insertBefore(r,i),t.removeChild(i),delete a.clone}switch(s){case M.tag:return{clones:D(t,e,r,n,o)};case M.tagArray:return{clones:L(e,t,r,n,o)};case M.tagComponent:return{clones:$(t,e,r,n,o)}}return e.tag?{clones:[],promise:I(t,e,r,o)}:{clones:W(t,e,r,n)}}(e,i,t,r,{counts:n,forceElement:u});u&&(u=!1),o.push(...o),setTimeout((()=>{n.added=0,n.removed=0}),0)}));return r.cloneSubs.push(c),s}function X(t,e){const r=e.parentNode;void 0!==t&&!1!==t&&null!==t||(t="");const n=document.createTextNode(t);return r.insertBefore(n,e),r.removeChild(e),"TEMPLATE"===e.nodeName&&e.setAttribute("removedAt",Date.now().toString()),n}function q(t,e){t.getAttribute&&(e.forceElement||function(t,e){const r=t.oninit;if(!r)return;const n=r.tagFunction;if(!n)return;const o=n.tagFunction;o&&(o({target:t,stagger:e.added}),++e.added)}(t,e.counts),t.children&&new Array(...t.children).forEach((t=>q(t,e))))}!function(t){t.tag="tag",t.tagArray="tag-array",t.tagComponent="tag-component",t.value="value"}(M||(M={}));const G=new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');function H(t,e,r,n,o){if(!o||"TEMPLATE"===t.tagName)return[];const s={added:0,removed:0},a=[],i=new Array(...o);return"TEXTAREA"===t.tagName&&Q(t),i.forEach((t=>{const o=J(t,e,r,s,n);"TEXTAREA"===t.tagName&&Q(t),a.push(...o),t.children&&new Array(...t.children).forEach((t=>{(function(t){return"TEMPLATE"===t.tagName&&void 0!==t.getAttribute("interpolate")&&void 0!==t.getAttribute("end")})(t)&&J(t,e,r,s,n);const o=H(t,e,r,n,t.children);a.push(...o)}))})),a}function Q(t){const e=t.value;if(e.search(G)>=0){const r=e.match(/__tagvar(\d{1,4})/),n="{"+(r?r[0]:"")+"}";t.value="",t.setAttribute("textVarValue",n)}}function z(t,e,r,n,o){const s=[],a=r.interpolation,i=t.children[0].content.children;if(a.keys.length){const r=H(t,e,n,o,i);s.push(...r)}return R(t,e,n),Z(i,e,n),s}function Z(t,e,r){new Array(...t).forEach((t=>{R(t,e,r),t.children&&Z(t.children,e,r)}))}function K(t){const e=function(t){const e=[];return{string:t.replace(N,((t,r)=>{if(t.startsWith("<"))return t;const n=r.substring(1,r.length-1);return e.push(n),`<template interpolate end id="${n}"></template>`})),keys:e}}(t);return e.string=e.string.replace(nt,tt),e}function Y(t,e,r){delete e.tag,delete e.tagSupport,delete r.tagSupport,t.destroy()}const tt="__tagvar",et="--"+tt+"--",rt=new RegExp(tt,"g"),nt=new RegExp(et,"g");class ot{strings;values;isTag=!0;clones=[];cloneSubs=[];children=[];tagSupport;ownerTag;insertBefore;appElement;arrayValue;constructor(t,e){this.strings=t,this.values=e}beforeRedraw(){h(this.tagSupport,this)}afterRender(){m(this.tagSupport,this)}key(t){return this.arrayValue=t,this}async destroy(t={stagger:0,byParent:!1}){!!this.tagSupport&&function(t,e){d.tagUse.forEach((r=>r.beforeDestroy(t,e)))}(this.tagSupport,this),this.destroySubscriptions();const e=this.children.map((e=>e.destroy({...t,byParent:!0})));return t.byParent||(t.stagger=await this.destroyClones(t)),this.ownerTag&&(this.ownerTag.children=this.ownerTag.children.filter((t=>t!==this))),await Promise.all(e),t.stagger}destroySubscriptions(){this.cloneSubs.forEach((t=>t.unsubscribe())),this.cloneSubs.length=0}async destroyClones({stagger:t}={stagger:0}){const e=this.clones.reverse().map(((e,r)=>{let n=Promise.resolve();return e.ondestroy&&(n=function(t,e){const r=t.ondestroy;if(!r)return;const n=r.tagFunction;if(!n)return;const o=n.tagFunction;return o?o({target:t,stagger:e}):void 0}(e,t)),n.then((()=>{e.parentNode?.removeChild(e);const t=this.ownerTag;t&&(t.clones=t.clones.filter((t=>t!==e)))})),n}));return await Promise.all(e),t}updateByTag(t){this.updateConfig(t.strings,t.values),this.tagSupport.templater=t.tagSupport.templater}lastTemplateString=void 0;setSupport(t){this.tagSupport=t,this.tagSupport.mutatingRender=t.mutatingRender}updateConfig(t,e){this.strings=t,this.updateValues(e)}getTemplate(){const t=K(this.strings.map(((t,e)=>(t.replace(rt,et)+(this.values.length>e?`{${tt}${e}}`:"")).replace(/>\s*/g,">").replace(/\s*</g,"<"))).join(""));return this.lastTemplateString=t.string,{interpolation:t,string:t.string,strings:this.strings,values:this.values,context:this.tagSupport?.memory.context||{}}}isLikeTag(t){const{string:e}=t.getTemplate();if(e!==this.lastTemplateString||t.values.length!==this.values.length)return!1;const r=t.values.every(((t,e)=>{const r=this.values[e];if(t instanceof Function&&r instanceof Function)return!(t.toString()!==r.toString());const n=t;return!p(n)||!p(r)||(n.ownerTag=this,this.children.push(n),n.lastTemplateString||n.getTemplate().string,!!n.isLikeTag(r))}));return!!r}update(){return this.updateContext(this.tagSupport.memory.context)}updateValues(t){return this.values=t,this.updateContext(this.tagSupport.memory.context)}updateContext(t){return this.strings.map(((e,r)=>{const n=tt+r,o=this.values.length>r,i=this.values[r],u=t[n];if(u)return function(t,e,r){const n=t.value,o=n?.tag,s=e,i=t,u=t;if(t.lastArray){if(U(e))return void L(t,e,i.template,r,{counts:{added:0,removed:0}});t.lastArray.forEach((({tag:t})=>t.destroy())),delete t.lastArray}if(l(s))return function(t,e,r,n){const o=e.tagSupport.props;let s=r.tag;if(!s)return C(e,r,t),void e.redraw();const i=s.tagSupport.templater.wrapper,u=e.wrapper;let c=!1;i&&u&&(c=i.original===u.original);const l=s.tagSupport,g=l.props;l.latestProps=o;const d=l.latestClonedProps;if(l.latestClonedProps=e.tagSupport.clonedProps,c){const t=n?.tagSupport;let e=t.props;if(p(t.props)||(e=a(t.props)),s&&!l.hasPropChanges(o,d,g))return}else Y(s,r,n);C(e,r,t),l.templater=e;const f=e.redraw();r.value.tag=l.newest=f,c||(r.tag=f,n.tagSupport=e.tagSupport)}(r,s,u,n);const c=u.tag;if(c){U(e)&&(Y(c,u,n),delete u.tag);const r=c.tagSupport.templater.wrapper,s=e?.wrapper,a=r&&s&&r?.original===s?.original,i=e&&c.lastTemplateString===e.lastTemplateString,l=e&&e.getTemplate&&c.isLikeTag(e);if(i||l)return void D(e,t,t.template,c,{counts:{added:0,removed:0}});if(a)return function(t,e,r){const n=e.tagSupport,o=n.oldest;o.beforeRedraw();const s=t.wrapper();n.latestProps=s.tagSupport.props,n.latestClonedProps=s.tagSupport.clonedProps,n.memory=s.tagSupport.memory,s.setSupport(n),t.newest=s,n.newest=s,o.afterRender(),e.updateByTag(s),r.set(t)}(e,c,u);o&&(Y(c,u,n),delete u.tag)}e instanceof Function?u.set(E(e,r)):g(e)?u.set(e.value):u.set(e)}(u,i,this);!function(t,e,r,n,o){if(l(e))C(e,r[n]=new s(e),o);else if(e instanceof Function)r[n]=function(t,e){return new s(E(t,e))}(e,o);else if(t)p(e)?(e.ownerTag=o,o.children.push(e),r[n]=new s(e)):g(e)?r[n]=e:r[n]=new s(e)}(o,i,t,n,this)})),t}getAppElement(){let t=this;for(;t.ownerTag;)t=t.ownerTag;return t}rebuild(){const t=this.insertBefore;if(!t){const t=new Error("Cannot rebuild. Previous insertBefore element is not defined on tag");throw t.tag=this,t}this.buildBeforeElement(t,{forceElement:!0,counts:{added:0,removed:0}})}buildBeforeElement(t,e={forceElement:!1,counts:{added:0,removed:0}}){this.insertBefore=t;const r=this.update(),n=this.getTemplate(),o=document.createElement("div");o.id="tag-temp-holder",o.innerHTML=`<template tag-wrap="22">${n.string}</template>`;const s=z(o,r,n,this,{forceElement:e.forceElement});this.clones.length=0;const a=function(t,e){const r=[];let n=t.children[0].content.firstChild;for(;n;){const t=n.nextSibling;A(n,e),r.push(n),n=t}return r}(o,t);return this.clones.push(...a),s.length&&(this.clones=this.clones.filter((t=>!s.find((e=>e===t))))),this.clones.forEach((t=>q(t,e))),this.clones}}function st(t,...e){return new ot(t,e)}const at={},it={};function ut(t){const{id:e,observer:r,tag:n}=t;r.disconnect(),n.destroy(),delete at[e]}function ct(t){return"__tagTemplate_"+function(t){let e=t.toString().replace(/\s+/g,"_").replace(/[^\w\d]/g,"_");return/^[a-zA-Z]/.test(e)||(e="fn_"+e),e}(t)}function lt(t){const e=t.getAttribute("props");if(!e)return{element:t};try{const r=JSON.parse(e),n=t.getAttribute("events");n&&n.split(",").map((t=>t.trim())).map((t=>{r[t]=e=>o(t,{detail:{[t]:e}})}));const o=function(e,r){const n=new CustomEvent(e,r);t.dispatchEvent(n)};return r}catch(r){throw console.warn("Failed to parse props on element",{element:t,propsString:e}),r}}function pt(t,e,r){const n=e.gateway;if(n)return n.updateTag(),n;const o=lt(e);try{const{tag:n}=Et(r,e,o);return function(t,e,r,n){let o=r;const s=new MutationObserver((t=>{if(function(t){const{element:e}=t;if(!document.body.contains(e))return ut(t),!1}(i))for(const e of t)"attributes"===e.type&&a()}));function a(){const t=r.tagSupport.templater,n=t.tagSupport.props,s=lt(e);if(t.tagSupport.props=s,JSON.stringify(n)===JSON.stringify(s))return;t.tagSupport.latestProps=s;const a=T(o,t);i.tag=o=a.retag}mt(n);const i={id:t,tag:r,observer:s,component:n,element:e,updateTag:a};return at[t]=at[t]||[],at[t].push(i),e.gateway=i,s.observe(e,{attributes:!0}),i}(t,e,n,r)}catch(t){throw console.warn("Failed to render component to element",{component:r,element:e,props:o}),t}}class gt extends HTMLElement{gateway;constructor(){super(),setTimeout((()=>this.gateway=function(t){const e=t.id||t.getAttribute("id");if(!e){const r="Cannot check a tag on element with no id attribute";throw console.warn(r,{id:e,element:t}),new Error(r)}const r=it[e];if(!r){const r=`Cannot find a tag registered by id of ${e}`;throw console.warn(r,{id:e,element:t}),new Error(r)}return pt(e,t,r)}(this)),0)}disconnectedCallback(){ut(this.gateway)}}function dt(){customElements.define("tag-element",gt)}let ft=!1;function mt(t){if(!ft){try{dt()}catch(t){throw t}ft=!0}const e=ct(t);return it[e]=t,e}const ht={},yt=function(t){const e=ct(t);if(ht[e])return ht[e];let r,n=0;function o(){const n=function(t,e){return function(t,e,r){return e.forEach((e=>pt(t,e,r))),e}(t,document.querySelectorAll("#"+t),e)}(e,t);return n.length?(r&&clearInterval(r),delete ht[e],n.length):n.length}return o()?{id:e}:(r=setInterval((()=>{if(n+=5,n>=2e3)throw clearInterval(r),new Error(`TaggedJs Element ${e} not found`);o()}),5),ht[e]={id:e},ht[e])},bt=[];let wt=0;function St(t){const e=function(e,r){const n=p(e),o=new y(e);let s=b(e,o);function a(){const t=(0,a.original)(o.tagSupport.props,r);return t.setSupport(o.tagSupport),t}return n&&(r=e,s=vt),a.original=t,o.tagged=!0,o.wrapper=a,o};return function(t,e){t.isTag=!0,t.original=e}(e,t),function(t){t.tags=bt,t.setUse=d,t.tagIndex=++wt}(t),bt.push(t),e}const vt=new class{},Tt=[];function Et(t,e,r){const n=Tt.findIndex((t=>t.element===e));n>=0&&(Tt[n].tag.destroy(),Tt.splice(n,1),console.warn("Found and destroyed app element already rendered to element",{element:e}));const o=function(t){const e=t.tagSupport;f(e,void 0);const r=t.wrapper();return r.tagSupport=e,r.afterRender(),{tag:r,tagSupport:e}}(t(r)),{tag:s,tagSupport:a}=o;s.appElement=e,function(t,e){let r;t.mutatingRender=()=>{e.beforeRedraw();const n=t.templater,o=r=n.wrapper();return t.latestProps=o.tagSupport.props,t.latestClonedProps=o.tagSupport.clonedProps,o.setSupport(t),e.afterRender(),e.updateByTag(o),t.newest=o,r}}(a,s);const i=document.createElement("template");return i.setAttribute("tag-detail","app-template-placeholder"),e.appendChild(i),s.buildBeforeElement(i),e.setUse=t.original.setUse,Tt.push({element:e,tag:s}),{tag:s,tags:t.original.tags}}function Ct(t){return d.memory.providerConfig.providers.find((e=>e.constructMethod===t))}d.memory.providerConfig={providers:[],currentTagSupport:void 0,ownerTag:void 0};const At={create:t=>{const e=Ct(t);if(e)return e.clone=a(e.instance),e.instance;const r=t.constructor?new t:t();return d.memory.providerConfig.providers.push({constructMethod:t,instance:r,clone:a(r)}),r},inject:t=>{const e=Ct(t);if(e)return e.instance;const r=d.memory.providerConfig;let n={ownerTag:r.ownerTag};for(;n.ownerTag;){const e=n.ownerTag.tagSupport.memory.providers.find((e=>{if(e.constructMethod===t)return!0}));if(e)return e.clone=a(e.instance),r.providers.push(e),e.instance;n=n.ownerTag}const o=`Could not inject provider: ${t.name} ${t}`;throw console.warn(`${o}. Available providers`,r.providers),new Error(o)}};function Pt(t,e){const r=d.memory.providerConfig;r.currentTagSuport=t,r.ownerTag=e,t.memory.providers.length&&(r.providers.length=0,r.providers.push(...t.memory.providers))}function Rt(t){const e=d.memory.stateConfig;let r;const n=e.rearray[e.array.length];if(n){let t=xt(n);r=e=>[t,t=e];const o={callback:r,lastValue:t,defaultValue:n.defaultValue};return e.array.push(o),e=>(o.callback=e||(e=>[t,t=e]),t)}let o=(t instanceof Function?t:()=>t)();r=t=>[o,o=t];const s={callback:r,lastValue:o,defaultValue:o};return e.array.push(s),t=>(s.callback=t||(t=>[o,o=t]),o)}function xt(t){const e=t.callback;if(!e)return t.defaultValue;const r=e(jt),[n]=r,[o]=e(n);if(o!==jt)throw new Error('State property not used correctly.\n\nFor "let" state use `let name = state(default, x => [name, name = x])`\n\nFor "const" state use `const name = state(default)`\n\nProblem function:\n'+t+"\n");return n}d({beforeRender:(t,e)=>{Pt(t,e)},beforeRedraw:(t,e)=>{Pt(t,e.ownerTag)},afterRender:t=>{const e=d.memory.providerConfig;t.memory.providers=[...e.providers],e.providers.length=0}}),d.memory.stateConfig={array:[],rearray:[]},d({beforeRender:t=>kt(t),beforeRedraw:t=>kt(t),afterRender:(t,e)=>{const r=t.memory.state,n=d.memory.stateConfig;if(n.rearray.length&&n.rearray.length!==n.array.length){const e=`States lengths mismatched ${n.rearray.length} !== ${n.array.length}`;throw console.error(e,{oldStates:n.array,newStates:n.rearray,component:t.templater?.wrapper.original}),new Error(e)}n.rearray=[],r.newest=[...n.array],n.array=[]}});class jt{}function kt(t){const e=t.memory.state,r=d.memory.stateConfig;if(r.rearray.length){const n="last array not cleared";throw console.error(n,{config:r,component:t.templater?.wrapper.original,state:e}),n}r.rearray=[],e?.newest.length&&r.rearray.push(...e.newest)}function Vt(t){d.memory.initCurrentSupport=t}function Ot(t){d.memory.initCurrentSupport?d.memory.initCurrentSupport.memory.init||(d.memory.initCurrentSupport.memory.init=t,t()):console.warn("possible init issue?")}let Bt;function Ft(t){Bt.memory||console.error("xxx",Bt),Bt.memory.destroyCallback=t}d({beforeRender:t=>Vt(t),beforeRedraw:t=>Vt(t)}),d({beforeRender:t=>Bt=t,beforeRedraw:t=>Bt=t,beforeDestroy:(t,e)=>{const r=t.memory.destroyCallback;r&&r()}});let Nt=()=>t=>()=>{throw new Error("The real callback function was called and that should never occur")};function _t(t,e){t.forEach(((t,r)=>{const n=xt(t),o=e[r].callback;o&&o(n),e[r].lastValue=n}))}function $t(t){Nt=()=>{const e=d.memory.stateConfig.array;return r=>(...n)=>function(t,e,r,...n){const o=t.memory.state.newest;_t(o,r);const s=e(...n);_t(r,o),t.render(),s instanceof Promise&&s.finally((()=>{_t(r,o),t.render()}))}(t,r,e,...n)}}d({beforeRender:t=>$t(t),beforeRedraw:t=>$t(t)});var Lt=e.xQ,Mt=e.Vp,Ut=e.fx,Wt=e.RN,Dt=e.er,It=e.dy,Jt=e.jW,Xt=e.SO,qt=e.IT,Gt=e.SW,Ht=e.js,Qt=e.ev,zt=e.nc,Zt=e.a,Kt=e._b,Yt=e.hs,te=e.lc,ee=e.SB,re=e._q,ne=e.bX,oe=e.Cc,se=e.pJ;export{Lt as Subject,Mt as Tag,Ut as TagSupport,Wt as getCallback,Dt as getTagSupport,It as html,Jt as initWebComponents,Xt as interpolateElement,qt as interpolateString,Gt as isTagComponent,Ht as loadTagGateway,Qt as onDestroy,zt as onInit,Zt as providers,Kt as redrawTag,Yt as runBeforeRender,te as setUse,ee as state,re as tag,ne as tagElement,oe as tagGateway,se as tags};
1
+ var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};function r(t,e,r,n){return e.renderWithSupport(t,r,n)}function n(t){const e={beforeRender:t.beforeRender||(()=>{}),beforeRedraw:t.beforeRedraw||(()=>{}),afterRender:t.afterRender||(()=>{}),beforeDestroy:t.beforeDestroy||(()=>{})};n.tagUse.push(e)}function o(t,e){n.tagUse.forEach((r=>r.beforeRender(t,e)))}function a(t,e){n.tagUse.forEach((r=>r.afterRender(t,e)))}function s(t,e){n.tagUse.forEach((r=>r.beforeRedraw(t,e)))}function i(t){return u(t,new WeakMap)}function u(t,e){if(null===t||"object"!=typeof t)return t;if(e.has(t))return e.get(t);if(t instanceof Date)return new Date(t);if(t instanceof RegExp)return new RegExp(t);const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));if(e.set(t,r),Array.isArray(t))for(let n=0;n<t.length;n++)r[n]=u(t[n],e);else for(const n in t)t.hasOwnProperty(n)&&(r[n]=u(t[n],e));return r}function c(t,e){return l(t,e,new WeakMap)}function l(t,e,r){if(t===e||(o=e,(n=t)instanceof Function&&o instanceof Function&&n.toString()===o.toString()))return!0;var n,o;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;const a=Object.keys(t),s=Object.keys(e);if(a.length!==s.length)return!1;if(r.has(t))return!0;r.set(t,0);for(const n of a)if(!s.includes(n)||!l(t[n],e[n],r))return!1;if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!l(t[n],e[n],r))return!1}else if(Array.isArray(t)||Array.isArray(e))return!1;return!0}function p(t){t.tagSupport.memory.providers.filter((t=>!c(t.instance,t.clone))).forEach((e=>{!function(t,e){g(t,e).forEach((({tag:t,renderCount:e,provider:r})=>{e===t.tagSupport.memory.renderCount&&(r.clone=i(r.instance),t.tagSupport.render())}))}(t.getAppElement(),e),e.clone=i(e.instance)}))}function g(t,e,r=[]){const n=t.tagSupport.memory.providers.find((t=>t.constructMethod===e.constructMethod));return n&&r.push({tag:t,renderCount:t.tagSupport.memory.renderCount,provider:n}),t.children.forEach((t=>g(t,e,r))),r}t.d(e,{W9:()=>z,ei:()=>X,B7:()=>E,vw:()=>yt,PC:()=>K,uX:()=>v,Ot:()=>x,eQ:()=>zt,cF:()=>Yt,qy:()=>wt,xH:()=>Pt,u2:()=>it,zl:()=>ct,_4:()=>y,iO:()=>w,mn:()=>m,Yn:()=>h,Ly:()=>_t,sA:()=>Kt,MG:()=>Jt,r5:()=>Ut,iz:()=>r,vJ:()=>o,hZ:()=>Et,Un:()=>At,Ie:()=>Wt,AI:()=>n,Tc:()=>O,Hf:()=>f,TY:()=>Mt,_A:()=>F,wB:()=>Rt}),n.tagUse=[],n.memory={};const d=[];function f(t,e,r){const n=d.findIndex((t=>t.element===e));n>=0&&(d[n].tag.destroy(),d.splice(n,1),console.warn("Found and destroyed app element already rendered to element",{element:e}));const i=function(t){const e=t.tagSupport;o(e,void 0);const r=t.wrapper();return a(e,r),{tag:r,tagSupport:e}}(t(r)),{tag:u,tagSupport:c}=i;u.appElement=e,u.tagSupport.oldest=u,function(t,e){let r=e;t.mutatingRender=()=>{const n=t.memory.renderCount;if(p(e),n!==t.memory.renderCount)return r;s(e.tagSupport,e);const o=t.templater,i=r=o.wrapper();return i.tagSupport.memory=t.memory,t.propsConfig={...i.tagSupport.propsConfig},e.tagSupport.newest=i,a(e.tagSupport,e),t.oldest.updateByTag(i),t.newest=i,r}}(u.tagSupport,u);const l=document.createElement("template");return l.setAttribute("tag-detail","app-template-placeholder"),e.appendChild(l),u.buildBeforeElement(l),e.setUse=t.original.setUse,d.push({element:e,tag:u}),{tag:u,tags:t.original.tags}}function m(t){return!0===t?.isTemplater}function h(t){return!0===t?.isTag}function y(t){return!(!0!==t?.isSubject&&!t?.subscribe)}function w(t){return t instanceof Array&&t.every((t=>h(t)))}function b(t,e){if(t===e)throw new Error("someting here");const r=t.propsConfig.latest;if(function(t,e,r){if(void 0===t&&t===r)return!1;let n=t,o=e;if("object"==typeof t){if(!e)return!0;if(n={...t},o={...e||{}},!Object.entries(n).every((([t,e])=>{let r=o[t];return!(e instanceof Function)||r instanceof Function&&(r.original&&(r=r.original),e.original&&(e=e.original),e.toString()===r.toString()&&(delete n[t],delete o[t],!0))})))return!0}return!c(e,t)}(e.propsConfig.latest,t.propsConfig.latestCloned,r))return!0;const n=function(t,e){const r=t.propsConfig.lastClonedKidValues,n=e.propsConfig.lastClonedKidValues,o=r.every(((t,e)=>{const r=n[e];return t.every(((t,e)=>t===r[e]))}));return!o}(t,e);return n}class v{templater;children;propsConfig;memory={context:{},state:{newest:[]},providers:[],renderCount:0};constructor(t,e,r){this.templater=t,this.children=e;const n=T(r,t);this.propsConfig={latest:r,latestCloned:n,clonedProps:n,lastClonedKidValues:e.value.map((t=>S(t.values)))},h(r)||(this.propsConfig.latestCloned=i(n),this.propsConfig.clonedProps=this.propsConfig.latestCloned)}oldest;newest;mutatingRender(){const t='Tag function "render()" was called in sync but can only be called async';throw console.error(t,{tagSupport:this}),new Error(t)}render(){return++this.memory.renderCount,this.mutatingRender()}renderExistingTag(t,e){const r=this.memory.renderCount;if(p(t),r!==this.memory.renderCount)return!0;const n=b(t.tagSupport,e.tagSupport);return this.newest=this.templater.redraw(),!n}}function S(t){return t.map((t=>{const e=t;return h(e)?S(e.values):m(e)?i(e.tagSupport.propsConfig.latestCloned):w(e)?S(e):i(t)}))}class C{tagged;wrapper;newest;oldest;tagSupport;constructor(t,e){this.tagSupport=new v(this,e,t)}redraw;isTemplater=!0;forceRenderTemplate(t,e){const r=this.wrapper();return a(t,r),this.oldest=r,t.oldest=r,this.oldest=r,this.newest=r,r.ownerTag=e,r}renderWithSupport(t,e,r){++t.memory.renderCount;const i=e?.ownerTag||r;e?(t.propsConfig={...e.tagSupport.propsConfig},s(t,e)):(o(t,i),n.memory.providerConfig.ownerTag=i);const u=this,c=u.wrapper();a(t,c),u.newest=c,c.ownerTag=i;const l=t.oldest=t.oldest||c;return t.newest=c,l.tagSupport.templater=u,l.tagSupport.memory=c.tagSupport.memory,e&&e.isLikeTag(c)?(e.updateByTag(c),{remit:!1,retag:c}):{remit:!0,retag:c}}}function T(t,e){const r=function(t,e){if("object"!=typeof t)return t;const r=t;return Object.entries(r).forEach((([t,n])=>{if(n instanceof Function){const o=r[t].original;return o?(r[t]=(...t)=>e(n,t),void(r[t].original=o)):(r[t]=(...t)=>e(n,t),void(r[t].original=n))}})),r}(h(t)?0:t,(function(t,r){const n=t(...r),o=e.newest?.ownerTag?.tagSupport;return o&&o.render(),n}));return r}class E{isSubject=!0;subscribers=[];value;subscribe(t){this.subscribers.push(t),R.globalSubs.push(t),R.globalSubCount$.set(R.globalSubCount$.value+1);const e=()=>{e.unsubscribe()};return e.unsubscribe=()=>{A(this.subscribers,t),A(R.globalSubs,t),R.globalSubCount$.set(R.globalSubCount$.value-1),e.unsubscribe=()=>{}},e}set(t){this.value=t,this.subscribers.forEach((e=>{e.value=t,e(t)}))}next=this.set}function A(t,e){const r=t.indexOf(e);-1!==r&&t.splice(r,1)}const R=E;R.globalSubs=[],R.globalSubCount$=new E,R.globalSubCount$.set(0);class x extends E{value;constructor(t){super(),this.value=t}subscribe(t){const e=super.subscribe(t);return t(this.value),e}}function V(t,e){if(t.isChildOverride)return t;const r=(r,n)=>j(t,e,r,n);return r.tagFunction=t,r}function j(t,e,r,n){const o=e.tagSupport,a=(o&&o.memory.renderCount,t.bind(r)(...n));return o.memory.renderCount,o.render(),a instanceof Promise?a.then((()=>(o.render(),"no-data-ever"))):"no-data-ever"}let k=0;const F=[];function O(t){const e=function(e,r){(h(e)||w(e))&&(r=e,e=void 0);const{childSubject:n,madeSubject:o}=function(t){if(y(t))return{childSubject:t,madeSubject:!1};if(w(t))return{childSubject:new x(t),madeSubject:!0};const e=t;return e?(e.arrayValue=0,{childSubject:new x([e]),madeSubject:!0}):{childSubject:new x([]),madeSubject:!0}}(r);n.isChildSubject=!0;const a=new C(e,n);function s(){const t=s.original,e=a.tagSupport,r=a.oldest;let u=e.propsConfig.latest,c=T(u,a);const l=t(c,n);e.mutatingRender===v.prototype.mutatingRender&&(e.oldest=l,e.mutatingRender=()=>{if(e.renderExistingTag(l,a))return l;if(l.ownerTag){const t=l.ownerTag.tagSupport.render();return l.ownerTag.tagSupport.newest=t,l}return l}),l.tagSupport=new v(a,e.children);const p=i(c);return l.tagSupport.propsConfig={latest:u,latestCloned:p,clonedProps:p,lastClonedKidValues:l.tagSupport.propsConfig.lastClonedKidValues},l.tagSupport.memory=e.memory,l.tagSupport.mutatingRender=e.mutatingRender,e.newest=l,e.propsConfig={...l.tagSupport.propsConfig},r&&(r.tagSupport.propsConfig={...l.tagSupport.propsConfig}),o&&n.value.forEach((t=>{t.values.forEach(((e,r)=>{e instanceof Function&&(t.values[r].isChildOverride||(t.values[r]=function(...t){j(e,l.ownerTag,this,t)},t.values[r].isChildOverride=!0))}))})),l}return s.original=t,a.tagged=!0,a.wrapper=s,a};return function(t,e){t.isTag=!0,t.original=e}(e,t),function(t){t.tags=F,t.setUse=n,t.tagIndex=++k}(t),F.push(t),e}function B(t,e){e.parentNode.insertBefore(t,e)}function P(t,e,r){const n=t.split(".");if("style"===n[0]&&(r.style[n[1]]=e),"class"===n[0])return n.shift(),void(e?n.forEach((t=>r.classList.add(t))):n.forEach((t=>r.classList.remove(t))))}function N(t,e,r){const n=t.getAttributeNames();"TEXTAREA"!==t.nodeName||n.includes("value")||$("textVarValue",t.getAttribute("textVarValue"),t,e,r,((e,r)=>t.value=r));const o=(e,r)=>{t.setAttribute(e,r)};n.forEach((n=>{$(n,t.getAttribute(n),t,e,r,o)}))}function _(t){return t.search(/^(class|style)(\.)/)>=0}function $(t,e,r,n,o,a){if(U(e))return function(t,e,r,n,o,a){return W(t,I(n,e),r,o,a)}(t,e,r,n,o,a);if(U(t)){let e;const s=I(n,t).subscribe((t=>{!function(t,e,r,n,o){if(e&&e!=t&&("string"==typeof e?r.removeAttribute(e):e instanceof Object&&Object.entries(e).forEach((([t])=>r.removeAttribute(t)))),"string"!=typeof t)t instanceof Object&&Object.entries(t).forEach((([t,e])=>W(t,e,r,n,o)));else{if(!t.length)return;W(t,"",r,n,o)}}(t,e,r,o,a),e=t}));return o.cloneSubs.push(s),void r.removeAttribute(t)}return _(t)?P(t,e,r):void 0}new class{};const M=/^\s*{__tagvar/,L=/}\s*$/;function U(t){return t&&t.search(M)>=0&&t.search(L)>=0}function I(t,e){return t[e.replace("{","").split("").reverse().join("").replace("}","").split("").reverse().join("")]}function W(t,e,r,n,o){const a=_(t);if(e instanceof Function){const n=function(...t){return e(r,t)};r[t].action=n}if(y(e)){r.removeAttribute(t);const s=e=>function(t,e,r,n,o){if(t instanceof Function)return e[r]=function(...r){return t(e,r)},void(e[r].tagFunction=t);if(n)return void P(r,t,e);if(t)return void o(r,t);void 0===t||!1===t||null===t?e.removeAttribute(r):o(r,t)}(e,r,t,a,o),i=e.subscribe(s);n.cloneSubs.push(i)}else o(t,e)}const D=/(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;function J(t,e,r,{counts:n,forceElement:o}){const a=e,s=a.tag;if(s&&!o&&s.isLikeTag(t)){if(e instanceof Function){const t=e(s.tagSupport);return s.updateByTag(t),[]}return s.updateByTag(t),[]}const i=t.buildBeforeElement(r,{counts:n,forceElement:o});return a.tag=t,i}function H(t,e,r,a,i){if(!0!==t.tagged){let e=t.wrapper.original.name||t.wrapper.original.constructor?.name;"Function"===e&&(e=void 0);const r=e||t.wrapper.original.toString().substring(0,120);throw new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${r}\n\n`)}const u=t,c=t.tagSupport;let l=u.newest;return n.memory.providerConfig.ownerTag=a,(!l||i.forceElement)&&(l?s(c,l):o(c,a),l=u.forceRenderTemplate(c,a),u.newest=l),a.children.push(l),c.templater=l.tagSupport.templater,J(l,e,r,i)}class K extends Error{details;constructor(t,e,r={}){super(t),this.name=K.name,this.details={...r,errorCode:e}}}class z extends K{constructor(t,e){super(t,"array-no-key-error",e),this.name=z.name}}class X extends K{constructor(t,e){super(t,"state-mismatch-error",e),this.name=X.name}}function G(t,e,r,n,o){const a=[];t.lastArray=t.lastArray||[],t.template=r;let s=0;t.lastArray=t.lastArray.filter(((r,n)=>{const a=e.length-1<n-s,i=e[n-s],u=i?.arrayValue;return!(a||!Y(u,r.tag.arrayValue))||(t.lastArray[n].tag.destroy({stagger:o.counts.removed,byParent:!1}),++s,++o.counts.removed,!1)}));const i=r||r.clone;return e.forEach(((r,s)=>{const u=t.lastArray[s],c=r.tagSupport||u?.tag.tagSupport;r.tagSupport=c||new v({},new x([])),c?c.newest=r:(r.tagSupport.mutatingRender=()=>(n.tagSupport.render(),r),n.children.push(r)),r.ownerTag=n;const l=r.arrayValue;if(l?.isArrayValueNeverSet){const t={template:r.getTemplate().string,array:e,ownerTagContent:n.lastTemplateString},o="Use html`...`.key(item) instead of html`...` to template an Array";throw console.error(o,t),new z(o,t)}if(t.lastArray.length>s)return Y(u.tag.arrayValue,r.arrayValue)?(r.tagSupport=r.tagSupport||u.tag.tagSupport,u.tag.updateByTag(r),[]):[];const p=function(t,e,r,n,o){r.lastArray.push({tag:e,index:n});const a={added:o.counts.added+n,removed:o.counts.removed},s=t;return e.buildBeforeElement(s,{counts:a,forceElement:o.forceElement})}(i,r,t,s,o);a.push(...p)})),a}function Y(t,e){return t===e||!!(t instanceof Array&&e instanceof Array&&t.length==e.length)&&t.every(((t,r)=>t==e[r]))}function q(t,e,r,n){const o=e.clone||r,a=rt(t,o);e.clone=a;const s=[],i=n.clones.indexOf(o);return i>=0&&!n.clones.includes(a)&&!o.parentNode&&(n.clones.splice(i,1),n.clones.push(a),s.push(a)),s}var Z;function Q(t,e,r,n,o){return t.tagSupport||(t.tagSupport=new v({},new x([])),t.tagSupport.mutatingRender=()=>{n.tagSupport.render()},t.tagSupport.oldest=t.tagSupport.oldest||t,n.children.push(t),t.ownerTag=n),e.template=r,J(t,e,r,o)}function tt(t,e,r,n){const o=e.tag,a=e.clone||r;a.parentNode.insertBefore(r,a);const s=rt(t,a);e.clone=s,delete e.tag;const i=n.counts.removed;return o.destroy({stagger:i}).then((t=>n.counts.removed=i+t))}function et(t,e,r,n,o){const a=[];if(!t.hasAttribute("end"))return a;const s=t.getAttribute("id");if(s?.substring(0,gt.length)!==gt)return a;const i=e[s];let u=o.forceElement;const c=i.subscribe((e=>{const{clones:o}=function(t,e,r,n,o){const a=function(t){return m(t)?Z.tagComponent:h(t)?Z.tag:w(t)?Z.tagArray:Z.value}(t),s=e,i=s.clone;if(a!==Z.value&&i){const t=i.parentNode;t.insertBefore(r,i),t.removeChild(i),delete s.clone}switch(a){case Z.tag:return{clones:Q(t,e,r,n,o)};case Z.tagArray:return{clones:G(e,t,r,n,o)};case Z.tagComponent:return{clones:H(t,e,r,n,o)}}return e.tag?{clones:[],promise:tt(t,e,r,o)}:{clones:q(t,e,r,n)}}(e,i,t,r,{counts:{added:n.added,removed:n.removed},forceElement:u});u&&(u=!1),o.push(...o)}));return r.cloneSubs.push(c),a}function rt(t,e){const r=e.parentNode;void 0!==t&&!1!==t&&null!==t||(t="");const n=document.createTextNode(t);return r.insertBefore(n,e),r.removeChild(e),n}function nt(t,e){if(!t.getAttribute)return;let r=e.counts.added;e.forceElement||(r=function(t,e){const r=t.oninit;if(!r)return e.added;const n=r.tagFunction;if(!n)return e.added;const o=n.tagFunction;return o?(o({target:t,stagger:e.added}),++e.added):e.added}(t,e.counts)-r),t.children&&(e.counts.added,e.counts.removed,new Array(...t.children).forEach(((t,r)=>nt(t,{...e,counts:e.counts}))))}!function(t){t.tag="tag",t.tagArray="tag-array",t.tagComponent="tag-component",t.value="value"}(Z||(Z={}));const ot=new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');function at(t,e,r,n,o){if(!o||"TEMPLATE"===t.tagName)return[];const a=n.counts,s=[],i=new Array(...o);return"TEXTAREA"===t.tagName&&st(t),i.forEach(((t,o)=>{const i=et(t,e,r,a,n);"TEXTAREA"===t.tagName&&st(t),s.push(...i),t.children&&new Array(...t.children).forEach(((t,o)=>{(function(t){return"TEMPLATE"===t.tagName&&void 0!==t.getAttribute("interpolate")&&void 0!==t.getAttribute("end")})(t)&&et(t,e,r,a,n);const i=at(t,e,r,n,t.children);s.push(...i)}))})),s}function st(t){const e=t.value;if(e.search(ot)>=0){const r=e.match(/__tagvar(\d{1,4})/),n="{"+(r?r[0]:"")+"}";t.value="",t.setAttribute("textVarValue",n)}}function it(t,e,r,n,o){const a=[],s=r.interpolation,i=t.children[0].content.children;if(s.keys.length){const r=at(t,e,n,o,i);a.push(...r)}return N(t,e,n),ut(i,e,n),a}function ut(t,e,r){new Array(...t).forEach((t=>{N(t,e,r),t.children&&ut(t.children,e,r)}))}function ct(t){const e=function(t){const e=[];return{string:t.replace(D,((t,r)=>{if(t.startsWith("<"))return t;const n=r.substring(1,r.length-1);return e.push(n),`<template interpolate end id="${n}"></template>`})),keys:e}}(t);return e.string=e.string.replace(mt,gt),e}function lt(t,e,n){t.redraw=()=>{const o=e.tag,a=t.tagSupport.newest,s=o?.tagSupport||t.tagSupport,{remit:i,retag:u}=r(s,t,a,n);if(i)return e.set(t),u}}function pt(t,e){delete e.tag,delete e.tagSupport,t.destroy()}const gt="__tagvar",dt="--"+gt+"--",ft=new RegExp(gt,"g"),mt=new RegExp(dt,"g");class ht{isArrayValueNeverSet=!0}class yt{strings;values;isTag=!0;clones=[];cloneSubs=[];children=[];tagSupport;ownerTag;insertBefore;appElement;arrayValue=new ht;constructor(t,e){this.strings=t,this.values=e}key(t){return this.arrayValue=t,this}async destroy(t={stagger:0,byParent:!1}){!!this.tagSupport&&function(t,e){n.tagUse.forEach((r=>r.beforeDestroy(t,e)))}(this.tagSupport,this),this.destroySubscriptions();const e=this.children.map((e=>e.destroy({...t,byParent:!0})));return this.ownerTag&&(this.ownerTag.children=this.ownerTag.children.filter((t=>t!==this))),t.byParent||(t.stagger=await this.destroyClones(t)),await Promise.all(e),t.stagger}destroySubscriptions(){this.cloneSubs.forEach((t=>t.unsubscribe())),this.cloneSubs.length=0}async destroyClones({stagger:t}={stagger:0}){let e=!1;const r=this.clones.reverse().map(((r,n)=>{let o;r.ondestroy&&(o=function(t,e){const r=t.ondestroy;if(!r)return;const n=r.tagFunction;if(!n)return;const o=n.tagFunction;return o?o({target:t,stagger:e}):void 0}(r,t));const a=()=>{r.parentNode?.removeChild(r);const t=this.ownerTag;t&&(t.clones=t.clones.filter((t=>t!==r)))};return o instanceof Promise?(e=!0,o.then(a)):a(),o}));return e&&await Promise.all(r),t}updateByTag(t){this.updateConfig(t.strings,t.values),this.tagSupport.templater=t.tagSupport.templater,this.tagSupport.propsConfig={...t.tagSupport.propsConfig},this.tagSupport.newest=t}lastTemplateString=void 0;updateConfig(t,e){this.strings=t,this.updateValues(e)}getTemplate(){const t=ct(this.strings.map(((t,e)=>(t.replace(ft,dt)+(this.values.length>e?`{${gt}${e}}`:"")).replace(/>\s*/g,">").replace(/\s*</g,"<"))).join(""));return this.lastTemplateString=t.string,{interpolation:t,string:t.string,strings:this.strings,values:this.values,context:this.tagSupport?.memory.context||{}}}isLikeTag(t){const{string:e}=t.getTemplate();if(!this.lastTemplateString)throw new Error("no template here");return e===this.lastTemplateString&&t.values.length===this.values.length&&!!t.values.every(((t,e)=>{const r=this.values[e];return!(t instanceof Function&&r instanceof Function)||!(t.toString()!==r.toString())}))}update(){return this.updateContext(this.tagSupport.memory.context)}updateValues(t){return this.values=t,this.updateContext(this.tagSupport.memory.context)}updateContext(t){return this.strings.map(((e,r)=>{const n=gt+r,o=this.values.length>r,u=this.values[r];if(n in t)return function(t,e,r){const n=t.value,o=e,u=t,c=t;if(u.lastArray){if(u.isChildSubject&&(e=e.value),w(e))return void G(t,e,u.template,r,{counts:{added:0,removed:0}});t.lastArray.forEach((({tag:t})=>t.destroy())),delete t.lastArray}if(m(o))return function(t,e,r,n){let o=r.tag;if(!o)return lt(e,r,t),void e.redraw();const a=o.tagSupport.templater.wrapper,s=e.wrapper;let u=!1;a&&s&&(u=a.original===s.original);const c=e.tagSupport.propsConfig.latest,l=o.tagSupport;if(l.propsConfig.latest=c,u){const t=n?.tagSupport;let r=t.props;if(h(t.props)||(r=i(t.props)),o&&!b(l,e.tagSupport))return}else pt(o,r);lt(e,r,t),l.templater=e;const p=e.redraw();r.value.tag=l.newest=p,l.propsConfig={...e.tagSupport.propsConfig},u||(r.tag=p,r.tagSupport=e.tagSupport)}(r,o,c,n);const l=c.tag;if(l){w(e)&&(pt(l,c),delete c.tag);const n=l.tagSupport.templater.wrapper,i=e?.wrapper,u=n&&i&&n?.original===i?.original,p=e&&l.lastTemplateString===e.lastTemplateString,g=e&&e.getTemplate&&l.isLikeTag(e);if(p||g)return void Q(e,t,t.template,r,{counts:{added:0,removed:0}});if(u)return function(t,e,r){const n=e.tagSupport,o=n.oldest,i=n.newest;s(o.tagSupport,i||o);const u=t.wrapper();t.newest=u,n.newest=u,a(o.tagSupport,o),e.updateByTag(u),r.set(t)}(e,l,c);if(c.tag){pt(l,c);const n=l.insertBefore;return h(o)?void Q(e,t,n,r,{counts:{added:0,removed:0}}):void q(e,t,n,r)}throw new Error("existing value ignored")}e instanceof Function?c.set(V(e,r)):y(e)?c.set(e.value):c.set(e)}(t[n],u,this);!function(t,e,r,n,o){if(m(e))lt(e,r[n]=new x(e),o);else if(e instanceof Function)r[n]=function(t,e){return new x(V(t,e))}(e,o);else if(t)h(e)?(e.ownerTag=o,o.children.push(e),r[n]=new x(e)):y(e)?r[n]=e:r[n]=new x(e)}(o,u,t,n,this)})),t}getAppElement(){let t=this;for(;t.ownerTag;)t=t.ownerTag;return t}rebuild(){const t=this.insertBefore;if(!t){const t=new Error("Cannot rebuild. Previous insertBefore element is not defined on tag");throw t.tag=this,t}this.buildBeforeElement(t,{forceElement:!0,counts:{added:0,removed:0}})}buildBeforeElement(t,e={forceElement:!1,counts:{added:0,removed:0}}){this.insertBefore=t;const r=this.update(),n=this.getTemplate(),o=document.createElement("div");o.id="tag-temp-holder",o.innerHTML=`<template tag-wrap="22">${n.string}</template>`;const a=it(o,r,n,this,{forceElement:e.forceElement,counts:e.counts});this.clones.length=0;const s=function(t,e){const r=[];let n=t.children[0].content.firstChild;for(;n;){const t=n.nextSibling;B(n,e),r.push(n),n=t}return r}(o,t);return this.clones.push(...s),a.length&&(this.clones=this.clones.filter((t=>!a.find((e=>e===t))))),this.clones.forEach((t=>nt(t,e))),this.clones}}function wt(t,...e){return new yt(t,e)}function bt(t,e){return r=>(e.callback=r||(e=>[t,t=e]),t)}n.memory.stateConfig={array:[],rearray:[]};const vt=[];function St(t){const e=t.callback;if(!e)return t.defaultValue;const r=e(Ct),[n]=r,[o]=e(n);if(o!==Ct){const a='State property not used correctly. Second item in array is not setting value as expected.\n\nFor "let" state use `let name = state(default)(x => [name, name = x])`\n\nFor "const" state use `const name = state(default)()`\n\nProblem state:\n'+(e?e.toString():JSON.stringify(t))+"\n";throw console.error(a,{state:t,callback:e,oldState:r,oldValue:n,checkValue:o}),new Error(a)}return n}n({beforeRender:t=>Tt(t),beforeRedraw:t=>Tt(t),afterRender:t=>{const e=t.memory.state,r=n.memory.stateConfig;if(r.rearray.length&&r.rearray.length!==r.array.length){const e=`States lengths mismatched ${r.rearray.length} !== ${r.array.length}`;throw new X(e,{oldStates:r.array,newStates:r.rearray,component:t.templater?.wrapper.original})}r.rearray=[],e.newest=[...r.array],r.array=[],vt.forEach((t=>t())),vt.length=0}});class Ct{}function Tt(t){const e=t.memory.state,r=n.memory.stateConfig;if(r.rearray.length){const n="last array not cleared";throw console.error(n,{config:r,component:t.templater?.wrapper.original,state:e,expectedClearArray:r.rearray}),new X(n,{config:r,component:t.templater?.wrapper.original,state:e,expectedClearArray:r.rearray})}r.rearray=[],e?.newest.length&&r.rearray.push(...e.newest)}function Et(t){const e=n.memory.stateConfig;let r;const o=e.rearray[e.array.length];if(o){let t=St(o);r=e=>[t,t=e];const n={callback:r,lastValue:t,defaultValue:o.defaultValue};return e.array.push(n),t}let a=(t instanceof Function?t:()=>t)();r=t=>[a,a=t];const s={callback:r,lastValue:a,defaultValue:a};return e.array.push(s),a}function At(t){const e=n.memory.stateConfig;let r;const o=e.rearray[e.array.length];if(o){let t=St(o);r=e=>[t,t=e];const n={callback:r,lastValue:t,defaultValue:o.defaultValue};return e.array.push(n),bt(t,n)}let a=(t instanceof Function?t:()=>t)();r=t=>[a,a=t];const s={callback:r,lastValue:a,defaultValue:a};return e.array.push(s),bt(a,s)}function Rt(t,e){let r=At(void 0)((t=>[r,r=t]));return void 0===r?(e(t,r),r=t,t):(t.every(((t,e)=>t===r[e]))||(e(t,r),r=t),t)}const xt={},Vt={};function jt(t){const{id:e,observer:r,tag:n}=t;r.disconnect(),n.destroy(),delete xt[e]}function kt(t){return"__tagTemplate_"+function(t){let e=t.toString().replace(/\s+/g,"_").replace(/[^\w\d]/g,"_");return/^[a-zA-Z]/.test(e)||(e="fn_"+e),e}(t)}function Ft(t){const e=t.getAttribute("props");if(!e)return{element:t};try{const r=JSON.parse(e),n=t.getAttribute("events");n&&n.split(",").map((t=>t.trim())).map((t=>{r[t]=e=>o(t,{detail:{[t]:e}})}));const o=function(e,r){const n=new CustomEvent(e,r);t.dispatchEvent(n)};return r}catch(r){throw console.warn("Failed to parse props on element",{element:t,propsString:e}),r}}function Ot(t,e,r){const n=e.gateway;if(n)return n.updateTag(),n;const o=Ft(e);try{const{tag:n}=f(r,e,o);return function(t,e,r,n){const o=new MutationObserver((t=>{if(function(t){const{element:e}=t;if(!document.body.contains(e))return jt(t),!1}(s))for(const e of t)"attributes"===e.type&&a()}));function a(){const t=r.tagSupport.templater,n=t.tagSupport.propsConfig.latest,o=Ft(e);t.tagSupport.propsConfig.latest=o,JSON.stringify(n)===JSON.stringify(o)||(t.tagSupport.propsConfig.latest=o)}_t(n);const s={id:t,tag:r,observer:o,component:n,element:e,updateTag:a};return xt[t]=xt[t]||[],xt[t].push(s),e.gateway=s,o.observe(e,{attributes:!0}),s}(t,e,n,r)}catch(t){throw console.warn("Failed to render component to element",{component:r,element:e,props:o}),t}}class Bt extends HTMLElement{gateway;constructor(){super(),setTimeout((()=>this.gateway=function(t){const e=t.id||t.getAttribute("id");if(!e){const r="Cannot check a tag on element with no id attribute";throw console.warn(r,{id:e,element:t}),new Error(r)}const r=Vt[e];if(!r){const r=`Cannot find a tag registered by id of ${e}`;throw console.warn(r,{id:e,element:t}),new Error(r)}return Ot(e,t,r)}(this)),0)}disconnectedCallback(){jt(this.gateway)}}function Pt(){customElements.define("tag-element",Bt)}let Nt=!1;function _t(t){if(!Nt){try{Pt()}catch(t){throw t}Nt=!0}const e=kt(t);return Vt[e]=t,e}const $t={},Mt=function(t){const e=kt(t);if($t[e])return $t[e];let r,n=0;function o(){const n=function(t,e){return function(t,e,r){return e.forEach((e=>Ot(t,e,r))),e}(t,document.querySelectorAll("#"+t),e)}(e,t);return n.length?(r&&clearInterval(r),delete $t[e],n.length):n.length}return o()?{id:e}:(r=setInterval((()=>{if(n+=5,n>=2e3)throw clearInterval(r),new Error(`TaggedJs Element ${e} not found`);o()}),5),$t[e]={id:e},$t[e])};function Lt(t){return n.memory.providerConfig.providers.find((e=>e.constructMethod===t))}n.memory.providerConfig={providers:[],ownerTag:void 0};const Ut={create:t=>{const e=Lt(t);if(e)return e.clone=i(e.instance),e.instance;const r=t.constructor?new t:t();return n.memory.providerConfig.providers.push({constructMethod:t,instance:r,clone:i(r)}),r},inject:t=>{const e=Lt(t);if(e)return e.instance;const r=n.memory.providerConfig;let o={ownerTag:r.ownerTag};for(;o.ownerTag;){const e=o.ownerTag.tagSupport.memory.providers.find((e=>{if(e.constructMethod===t)return!0}));if(e)return e.clone=i(e.instance),r.providers.push(e),e.instance;o=o.ownerTag}const a=`Could not inject provider: ${t.name} ${t}`;throw console.warn(`${a}. Available providers`,r.providers),new Error(a)}};function It(t,e){const r=n.memory.providerConfig;r.ownerTag=e,t.memory.providers.length&&(r.providers.length=0,r.providers.push(...t.memory.providers))}function Wt(t){const e=n.memory.stateConfig,[r]=t(void 0);t(r);const o=e.rearray[e.array.length];if(o){let n=o.watch,a=St(o);const s={callback:t,lastValue:a,watch:o.watch};return r!=n&&(s.watch=r,a=s.lastValue=r),e.array.push(s),t(a),a}const a={callback:t,lastValue:r,watch:r};return e.array.push(a),r}function Dt(t){n.memory.initCurrentSupport=t}function Jt(t){n.memory.initCurrentSupport.memory.init||(n.memory.initCurrentSupport.memory.init=t,t())}let Ht;function Kt(t){Ht.memory.destroyCallback=t}n({beforeRender:(t,e)=>{It(t,e)},beforeRedraw:(t,e)=>{It(t,e.ownerTag)},afterRender:t=>{const e=n.memory.providerConfig;t.memory.providers=[...e.providers],e.providers.length=0}}),n({beforeRender:t=>Dt(t),beforeRedraw:t=>Dt(t)}),n({beforeRender:t=>Ht=t,beforeRedraw:t=>Ht=t,beforeDestroy:(t,e)=>{const r=t.memory.destroyCallback;r&&r()}});let zt=()=>t=>()=>{throw new Error("The real callback function was called and that should never occur")};function Xt(t,e){t.forEach(((t,r)=>{const n=St(t),o=e[r].callback;o&&o(n),e[r].lastValue=n}))}function Gt(t){zt=()=>{const e=n.memory.stateConfig.array;return r=>(...n)=>function(t,e,r,...n){const o=t.memory.state.newest;Xt(o,r);const a=e(...n);Xt(r,o),t.render(),a instanceof Promise&&a.finally((()=>{Xt(r,o),t.render()}))}(t,r,e,...n)}}n({beforeRender:t=>Gt(t),beforeRedraw:t=>Gt(t)});const Yt={tagElement:f,redrawTag:r};var qt=e.W9,Zt=e.ei,Qt=e.B7,te=e.vw,ee=e.PC,re=e.uX,ne=e.Ot,oe=e.eQ,ae=e.cF,se=e.qy,ie=e.xH,ue=e.u2,ce=e.zl,le=e._4,pe=e.iO,ge=e.mn,de=e.Yn,fe=e.Ly,me=e.sA,he=e.MG,ye=e.r5,we=e.iz,be=e.vJ,ve=e.hZ,Se=e.Un,Ce=e.Ie,Te=e.AI,Ee=e.Tc,Ae=e.Hf,Re=e.TY,xe=e._A,Ve=e.wB;export{qt as ArrayNoKeyError,Zt as StateMismatchError,Qt as Subject,te as Tag,ee as TagError,re as TagSupport,ne as ValueSubject,oe as getCallback,ae as hmr,se as html,ie as initWebComponents,ue as interpolateElement,ce as interpolateString,le as isSubjectInstance,pe as isTagArray,ge as isTagComponent,de as isTagInstance,fe as loadTagGateway,me as onDestroy,he as onInit,ye as providers,we as redrawTag,be as runBeforeRender,ve as set,Se as setLet,Ce as setProp,Te as setUse,Ee as tag,Ae as tagElement,Re as tagGateway,xe as tags,Ve as watch};
@@ -0,0 +1,7 @@
1
+ export declare class CustomError extends Error {
2
+ details: {
3
+ errorCode: number;
4
+ additionalInfo: string;
5
+ };
6
+ constructor(message: string, errorCode: number, additionalInfo: string);
7
+ }
@@ -0,0 +1,9 @@
1
+ export class CustomError extends Error {
2
+ details;
3
+ constructor(message, errorCode, additionalInfo) {
4
+ super(message);
5
+ this.name = 'CustomError';
6
+ this.details = { errorCode, additionalInfo };
7
+ }
8
+ }
9
+ //# sourceMappingURL=CustomError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomError.js","sourceRoot":"","sources":["../ts/CustomError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,OAAO,CAGL;IAEF,YAAY,OAAe,EAAE,SAAiB,EAAE,cAAsB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAC/C,CAAC;CACF"}
package/js/Errors.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export type TagErrorDetails = Record<string, unknown>;
2
+ export type TagErrorFullDetails = Record<string, unknown> & {
3
+ errorCode: string;
4
+ };
5
+ export declare class TagError extends Error {
6
+ details: TagErrorFullDetails;
7
+ constructor(message: string, errorCode: string, details?: Record<string, unknown>);
8
+ }
9
+ export declare class ArrayNoKeyError extends TagError {
10
+ constructor(message: string, details?: TagErrorDetails);
11
+ }
12
+ export declare class StateMismatchError extends TagError {
13
+ constructor(message: string, details?: TagErrorDetails);
14
+ }
package/js/Errors.js ADDED
@@ -0,0 +1,21 @@
1
+ export class TagError extends Error {
2
+ details;
3
+ constructor(message, errorCode, details = {}) {
4
+ super(message);
5
+ this.name = TagError.name;
6
+ this.details = { ...details, errorCode };
7
+ }
8
+ }
9
+ export class ArrayNoKeyError extends TagError {
10
+ constructor(message, details) {
11
+ super(message, 'array-no-key-error', details);
12
+ this.name = ArrayNoKeyError.name;
13
+ }
14
+ }
15
+ export class StateMismatchError extends TagError {
16
+ constructor(message, details) {
17
+ super(message, 'state-mismatch-error', details);
18
+ this.name = StateMismatchError.name;
19
+ }
20
+ }
21
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,OAAO,CAAqB;IAE5B,YACE,OAAe,EACf,SAAiB,EACjB,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,SAAS,EAAC,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ export type TagErrorDetails = Record<string, unknown>;
2
+ export type TagErrorFullDetails = Record<string, unknown> & {
3
+ errorCode: string;
4
+ };
5
+ export declare class TagError extends Error {
6
+ details: TagErrorFullDetails;
7
+ constructor(message: string, errorCode: string, details?: Record<string, unknown>);
8
+ }
9
+ export declare class ArrayNoKeyError extends TagError {
10
+ constructor(message: string, details?: TagErrorDetails);
11
+ }
12
+ export declare class StateMismatchError extends TagError {
13
+ constructor(message: string, details?: TagErrorDetails);
14
+ }
package/js/Errors2.js ADDED
@@ -0,0 +1,21 @@
1
+ export class TagError extends Error {
2
+ details;
3
+ constructor(message, errorCode, details = {}) {
4
+ super(message);
5
+ this.name = TagError.name;
6
+ this.details = { ...details, errorCode };
7
+ }
8
+ }
9
+ export class ArrayNoKeyError extends TagError {
10
+ constructor(message, details) {
11
+ super(message, 'array-no-key-error', details);
12
+ this.name = ArrayNoKeyError.name;
13
+ }
14
+ }
15
+ export class StateMismatchError extends TagError {
16
+ constructor(message, details) {
17
+ super(message, 'state-mismatch-error', details);
18
+ this.name = StateMismatchError.name;
19
+ }
20
+ }
21
+ //# sourceMappingURL=Errors2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Errors2.js","sourceRoot":"","sources":["../ts/Errors2.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,OAAO,CAAqB;IAE5B,YACE,OAAe,EACf,SAAiB,EACjB,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,SAAS,EAAC,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;CACF"}
package/js/Subject.d.ts CHANGED
@@ -3,13 +3,14 @@ export type Subscription = (() => void) & {
3
3
  };
4
4
  type Subscriber = (value?: any) => any;
5
5
  export interface SubjectLike {
6
- subscribe: (callback: (value?: any) => any) => any;
6
+ subscribe?: (callback: (value?: any) => any) => any;
7
7
  isSubject?: boolean;
8
8
  }
9
9
  export declare class Subject<T> implements SubjectLike {
10
+ value?: T | undefined;
10
11
  isSubject: boolean;
11
12
  subscribers: Subscriber[];
12
- value?: any;
13
+ constructor(value?: T | undefined);
13
14
  subscribe(callback: Subscriber): Subscription;
14
15
  set(value: any): void;
15
16
  next: (value: any) => void;
package/js/Subject.js CHANGED
@@ -1,12 +1,16 @@
1
1
  export class Subject {
2
+ value;
2
3
  isSubject = true;
3
4
  subscribers = [];
4
- value;
5
5
  // unsubcount = 0 // 🔬 testing
6
+ constructor(value) {
7
+ this.value = value;
8
+ }
6
9
  subscribe(callback) {
7
10
  this.subscribers.push(callback);
8
11
  SubjectClass.globalSubs.push(callback); // 🔬 testing
9
- SubjectClass.globalSubCount$.set(SubjectClass.globalSubCount$.value + 1);
12
+ const countSubject = SubjectClass.globalSubCount$;
13
+ SubjectClass.globalSubCount$.set(countSubject.value + 1);
10
14
  const unsubscribe = () => {
11
15
  unsubscribe.unsubscribe();
12
16
  };
@@ -14,7 +18,7 @@ export class Subject {
14
18
  unsubscribe.unsubscribe = () => {
15
19
  removeSubFromArray(this.subscribers, callback);
16
20
  removeSubFromArray(SubjectClass.globalSubs, callback); // 🔬 testing
17
- SubjectClass.globalSubCount$.set(SubjectClass.globalSubCount$.value - 1);
21
+ SubjectClass.globalSubCount$.set(countSubject.value - 1);
18
22
  // any double unsubscribes will be ignored
19
23
  unsubscribe.unsubscribe = () => undefined;
20
24
  };
@@ -36,8 +40,8 @@ function removeSubFromArray(subscribers, callback) {
36
40
  subscribers.splice(index, 1);
37
41
  }
38
42
  }
39
- const SubjectClass = Subject;
40
- SubjectClass.globalSubs = []; // 🔬 for testing
41
- SubjectClass.globalSubCount$ = new Subject(); // for ease of debugging
42
- SubjectClass.globalSubCount$.set(0);
43
+ const SubjectClass = {
44
+ globalSubCount$: new Subject(0), // for ease of debugging
45
+ globalSubs: [] // 🔬 for testing
46
+ };
43
47
  //# sourceMappingURL=Subject.js.map
package/js/Subject.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.js","sourceRoot":"","sources":["../ts/Subject.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,OAAO;IAClB,SAAS,GAAG,IAAI,CAAA;IAChB,WAAW,GAAiB,EAAE,CAAA;IAC9B,KAAK,CAAM;IACX,+BAA+B;IAE/B,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,aAAa;QACpD,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;QAE1E,MAAM,WAAW,GAAiB,GAAG,EAAE;YACrC,WAAW,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC,CAAA;QAED,4DAA4D;QAC5D,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE;YAC7B,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9C,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,CAAC,aAAa;YACnE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;YAE1E,0CAA0C;YAC1C,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,SAAS,CAAA;QAC3C,CAAC,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YACzC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;CAChB;AAED,SAAS,kBAAkB,CACzB,WAAyB,EACzB,QAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,OAGpB,CAAA;AACD,YAAY,CAAC,UAAU,GAAG,EAAE,CAAA,CAAC,iBAAiB;AAC9C,YAAY,CAAC,eAAe,GAAG,IAAI,OAAO,EAAE,CAAA,CAAC,wBAAwB;AACrE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Subject.js","sourceRoot":"","sources":["../ts/Subject.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,OAAO;IAKC;IAJnB,SAAS,GAAG,IAAI,CAAA;IAChB,WAAW,GAAiB,EAAE,CAAA;IAC9B,+BAA+B;IAE/B,YAAmB,KAAS;QAAT,UAAK,GAAL,KAAK,CAAI;IAAG,CAAC;IAEhC,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,aAAa;QACpD,MAAM,YAAY,GAAG,YAAY,CAAC,eAAkC,CAAA;QACpE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;QAE1D,MAAM,WAAW,GAAiB,GAAG,EAAE;YACrC,WAAW,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC,CAAA;QAED,4DAA4D;QAC5D,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE;YAC7B,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9C,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,CAAC,aAAa;YACnE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;YAE1D,0CAA0C;YAC1C,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,SAAS,CAAA;QAC3C,CAAC,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YACzC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;CAChB;AAED,SAAS,kBAAkB,CACzB,WAAyB,EACzB,QAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,eAAe,EAAE,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,wBAAwB;IACjE,UAAU,EAAE,EAAkB,CAAA,iBAAiB;CAChD,CAAA"}
package/js/Tag.class.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { TagSupport } from "./getTagSupport.js";
1
+ import { TagSupport } from "./TagSupport.class.js";
2
2
  import { Provider } from "./providers.js";
3
3
  import { Subscription } from "./Subject.js";
4
4
  import { Counts } from "./interpolateTemplate.js";
5
- import { State } from "./state.js";
5
+ import { State } from "./set.function.js";
6
6
  import { InterpolatedTemplates } from "./interpolations.js";
7
7
  export declare const variablePrefix = "__tagvar";
8
8
  export declare const escapeVariable: string;
@@ -22,6 +22,9 @@ export interface TagTemplate {
22
22
  values: unknown[];
23
23
  context: Context;
24
24
  }
25
+ export declare class ArrayValueNeverSet {
26
+ isArrayValueNeverSet: boolean;
27
+ }
25
28
  export declare class Tag {
26
29
  strings: string[];
27
30
  values: any[];
@@ -33,10 +36,8 @@ export declare class Tag {
33
36
  ownerTag?: Tag;
34
37
  insertBefore?: Element;
35
38
  appElement?: Element;
36
- arrayValue?: unknown;
39
+ arrayValue: unknown | ArrayValueNeverSet;
37
40
  constructor(strings: string[], values: any[]);
38
- beforeRedraw(): void;
39
- afterRender(): void;
40
41
  /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
41
42
  key(arrayValue: unknown): this;
42
43
  destroy(options?: DestroyOptions): Promise<number>;
@@ -44,8 +45,6 @@ export declare class Tag {
44
45
  destroyClones({ stagger }?: DestroyOptions): Promise<number>;
45
46
  updateByTag(tag: Tag): void;
46
47
  lastTemplateString: string | undefined;
47
- /** A method of passing down the same render method */
48
- setSupport(tagSupport: TagSupport): void;
49
48
  updateConfig(strings: string[], values: any[]): void;
50
49
  getTemplate(): TagTemplate;
51
50
  isLikeTag(tag: Tag): boolean;
@@ -65,5 +64,4 @@ export type ElementBuildOptions = {
65
64
  counts: Counts;
66
65
  forceElement?: boolean;
67
66
  };
68
- export declare function processNewValue(hasValue: boolean, value: any, context: Context, variableName: string, tag: Tag): void;
69
67
  export {};
package/js/Tag.class.js CHANGED
@@ -1,16 +1,17 @@
1
- import { getSubjectFunction, setValueRedraw } from "./Tag.utils.js";
2
- import { ValueSubject } from "./ValueSubject.js";
3
- import { runAfterRender, runBeforeDestroy, runBeforeRedraw } from "./tagRunner.js";
4
- import { isSubjectInstance, isTagComponent, isTagInstance } from "./isInstance.js";
1
+ import { runBeforeDestroy } from "./tagRunner.js";
5
2
  import { buildClones } from "./render.js";
6
3
  import { interpolateElement, interpolateString } from "./interpolateElement.js";
7
4
  import { afterElmBuild } from "./interpolateTemplate.js";
8
5
  import { elementDestroyCheck } from "./elementDestroyCheck.function.js";
9
- import { updateExistingValue } from "./updateTag.utils.js";
6
+ import { updateExistingValue } from "./updateExistingValue.function.js";
7
+ import { processNewValue } from "./processNewValue.function.js";
10
8
  export const variablePrefix = '__tagvar';
11
9
  export const escapeVariable = '--' + variablePrefix + '--';
12
10
  const prefixSearch = new RegExp(variablePrefix, 'g');
13
11
  export const escapeSearch = new RegExp(escapeVariable, 'g');
12
+ export class ArrayValueNeverSet {
13
+ isArrayValueNeverSet = true;
14
+ }
14
15
  export class Tag {
15
16
  strings;
16
17
  values;
@@ -24,17 +25,11 @@ export class Tag {
24
25
  insertBefore;
25
26
  appElement; // only seen on this.getAppElement().appElement
26
27
  // present only when an array. Populated by this.key()
27
- arrayValue;
28
+ arrayValue = new ArrayValueNeverSet();
28
29
  constructor(strings, values) {
29
30
  this.strings = strings;
30
31
  this.values = values;
31
32
  }
32
- beforeRedraw() {
33
- runBeforeRedraw(this.tagSupport, this);
34
- }
35
- afterRender() {
36
- runAfterRender(this.tagSupport, this);
37
- }
38
33
  /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
39
34
  key(arrayValue) {
40
35
  this.arrayValue = arrayValue;
@@ -51,12 +46,12 @@ export class Tag {
51
46
  }
52
47
  this.destroySubscriptions();
53
48
  const promises = this.children.map((kid) => kid.destroy({ ...options, byParent: true }));
54
- if (!options.byParent) {
55
- options.stagger = await this.destroyClones(options);
56
- }
57
49
  if (this.ownerTag) {
58
50
  this.ownerTag.children = this.ownerTag.children.filter(child => child !== this);
59
51
  }
52
+ if (!options.byParent) {
53
+ options.stagger = await this.destroyClones(options);
54
+ }
60
55
  await Promise.all(promises);
61
56
  return options.stagger;
62
57
  }
@@ -67,35 +62,41 @@ export class Tag {
67
62
  async destroyClones({ stagger } = {
68
63
  stagger: 0,
69
64
  }) {
65
+ let hasPromise = false;
70
66
  const promises = this.clones.reverse().map((clone, index) => {
71
- let promise = Promise.resolve();
67
+ let promise;
72
68
  if (clone.ondestroy) {
73
69
  promise = elementDestroyCheck(clone, stagger);
74
70
  }
75
- promise.then(() => {
71
+ const next = () => {
76
72
  clone.parentNode?.removeChild(clone);
77
73
  const ownerTag = this.ownerTag;
78
74
  if (ownerTag) {
79
75
  // Sometimes my clones were first registered to my owner, remove them
80
76
  ownerTag.clones = ownerTag.clones.filter(compareClone => compareClone !== clone);
81
77
  }
82
- });
78
+ };
79
+ if (promise instanceof Promise) {
80
+ hasPromise = true;
81
+ promise.then(next);
82
+ }
83
+ else {
84
+ next();
85
+ }
83
86
  return promise;
84
87
  });
85
- await Promise.all(promises);
86
- // this.clones.length = 0
88
+ if (hasPromise) {
89
+ await Promise.all(promises);
90
+ }
87
91
  return stagger;
88
92
  }
89
93
  updateByTag(tag) {
90
94
  this.updateConfig(tag.strings, tag.values);
91
95
  this.tagSupport.templater = tag.tagSupport.templater;
96
+ this.tagSupport.propsConfig = { ...tag.tagSupport.propsConfig };
97
+ this.tagSupport.newest = tag;
92
98
  }
93
99
  lastTemplateString = undefined; // used to compare templates for updates
94
- /** A method of passing down the same render method */
95
- setSupport(tagSupport) {
96
- this.tagSupport = tagSupport;
97
- this.tagSupport.mutatingRender = tagSupport.mutatingRender;
98
- }
99
100
  updateConfig(strings, values) {
100
101
  this.strings = strings;
101
102
  this.updateValues(values);
@@ -121,6 +122,9 @@ export class Tag {
121
122
  }
122
123
  isLikeTag(tag) {
123
124
  const { string } = tag.getTemplate();
125
+ if (!this.lastTemplateString) {
126
+ throw new Error('no template here');
127
+ }
124
128
  const stringMatched = string === this.lastTemplateString;
125
129
  if (!stringMatched || tag.values.length !== this.values.length) {
126
130
  return false;
@@ -135,16 +139,6 @@ export class Tag {
135
139
  }
136
140
  return false;
137
141
  }
138
- const tag = value;
139
- if (isTagInstance(tag) && isTagInstance(compareTo)) {
140
- tag.ownerTag = this; // let children know I own them
141
- this.children.push(tag); // record children I created
142
- tag.lastTemplateString || tag.getTemplate().string; // ensure last template string is generated
143
- if (tag.isLikeTag(compareTo)) {
144
- return true;
145
- }
146
- return false;
147
- }
148
142
  return true;
149
143
  });
150
144
  if (allVarsMatch) {
@@ -165,8 +159,9 @@ export class Tag {
165
159
  const hasValue = this.values.length > index;
166
160
  const value = this.values[index];
167
161
  // is something already there?
168
- const existing = context[variableName];
162
+ const existing = variableName in context;
169
163
  if (existing) {
164
+ const existing = context[variableName];
170
165
  return updateExistingValue(existing, value, this);
171
166
  }
172
167
  // 🆕 First time values below
@@ -201,14 +196,16 @@ export class Tag {
201
196
  this.insertBefore = insertBefore;
202
197
  const context = this.update();
203
198
  const template = this.getTemplate();
204
- // const ownerTag = this.ownerTag
205
199
  const temporary = document.createElement('div');
206
200
  temporary.id = 'tag-temp-holder';
207
201
  // render content with a first child that we can know is our first element
208
202
  temporary.innerHTML = `<template tag-wrap="22">${template.string}</template>`;
209
203
  // const clonesBefore = this.clones.map(clone => clone)
210
204
  const intClones = interpolateElement(temporary, context, template, this, // this.ownerTag || this,
211
- { forceElement: options.forceElement });
205
+ {
206
+ forceElement: options.forceElement,
207
+ counts: options.counts
208
+ });
212
209
  this.clones.length = 0;
213
210
  const clones = buildClones(temporary, insertBefore);
214
211
  this.clones.push(...clones);
@@ -219,29 +216,4 @@ export class Tag {
219
216
  return this.clones;
220
217
  }
221
218
  }
222
- export function processNewValue(hasValue, value, context, variableName, tag) {
223
- if (isTagComponent(value)) {
224
- const existing = context[variableName] = new ValueSubject(value);
225
- setValueRedraw(value, existing, tag);
226
- return;
227
- }
228
- if (value instanceof Function) {
229
- context[variableName] = getSubjectFunction(value, tag);
230
- return;
231
- }
232
- if (!hasValue) {
233
- return; // more strings than values, stop here
234
- }
235
- if (isTagInstance(value)) {
236
- value.ownerTag = tag;
237
- tag.children.push(value);
238
- context[variableName] = new ValueSubject(value);
239
- return;
240
- }
241
- if (isSubjectInstance(value)) {
242
- context[variableName] = value;
243
- return;
244
- }
245
- context[variableName] = new ValueSubject(value);
246
- }
247
219
  //# sourceMappingURL=Tag.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../ts/Tag.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../ts/Tag.class.ts"],"names":[],"mappings":"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"}
package/js/Tag.utils.d.ts CHANGED
@@ -1,13 +1,17 @@
1
- import { TagSupport } from "./getTagSupport.js";
1
+ import { TagSupport } from "./TagSupport.class.js";
2
2
  import { ValueSubject } from "./ValueSubject.js";
3
3
  import { Subject } from "./Subject.js";
4
4
  import { Tag } from "./Tag.class.js";
5
5
  import { TemplaterResult } from "./templater.utils.js";
6
6
  export type TagSubject = Subject<TemplaterResult> & {
7
- tagSupport?: TagSupport;
8
- tag?: Tag;
9
- clone?: Element;
7
+ tagSupport: TagSupport;
8
+ tag: Tag;
9
+ template: Element;
10
10
  };
11
- export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject<unknown>;
11
+ export type DisplaySubject = Subject<TemplaterResult> & {
12
+ clone?: Element | Text;
13
+ template: Element;
14
+ };
15
+ export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject<(...args: any[]) => any>;
12
16
  export declare function setValueRedraw(templater: TemplaterResult, // latest tag function to call for rendering
13
17
  existing: TagSubject, ownerTag: Tag): void;