taggedjs 2.5.24 → 2.6.2

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 (347) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.map +1 -1
  3. package/js/RegularValue.type.d.ts +1 -0
  4. package/js/RegularValue.type.js +2 -0
  5. package/js/RegularValue.type.js.map +1 -0
  6. package/js/alterProp.function.d.ts +7 -7
  7. package/js/alterProp.function.js +71 -73
  8. package/js/alterProp.function.js.map +1 -1
  9. package/js/deepFunctions.d.ts +2 -2
  10. package/js/deepFunctions.js +25 -33
  11. package/js/deepFunctions.js.map +1 -1
  12. package/js/index.d.ts +6 -9
  13. package/js/index.js +6 -10
  14. package/js/index.js.map +1 -1
  15. package/js/interpolations/attributes/ElementTargetEvent.interface.d.ts +6 -0
  16. package/js/interpolations/attributes/ElementTargetEvent.interface.js +2 -0
  17. package/js/interpolations/attributes/ElementTargetEvent.interface.js.map +1 -0
  18. package/js/interpolations/attributes/addSupportEventListener.function.d.ts +3 -0
  19. package/js/interpolations/attributes/addSupportEventListener.function.js +42 -0
  20. package/js/interpolations/attributes/addSupportEventListener.function.js.map +1 -0
  21. package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +13 -0
  22. package/js/interpolations/attributes/bindSubjectCallback.function.js +74 -0
  23. package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -0
  24. package/js/interpolations/attributes/elementInitCheck.d.ts +2 -0
  25. package/js/interpolations/attributes/elementInitCheck.js +18 -0
  26. package/js/interpolations/attributes/elementInitCheck.js.map +1 -0
  27. package/js/interpolations/attributes/getUpTags.function.d.ts +2 -0
  28. package/js/interpolations/attributes/getUpTags.function.js +35 -0
  29. package/js/interpolations/attributes/getUpTags.function.js.map +1 -0
  30. package/js/interpolations/attributes/howToSetInputValue.function.d.ts +2 -0
  31. package/js/interpolations/attributes/howToSetInputValue.function.js +11 -0
  32. package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -0
  33. package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +3 -0
  34. package/js/interpolations/attributes/isSpecialAttribute.function.js +26 -0
  35. package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -0
  36. package/js/interpolations/attributes/processAttribute.function.d.ts +19 -0
  37. package/js/interpolations/attributes/processAttribute.function.js +175 -0
  38. package/js/interpolations/attributes/processAttribute.function.js.map +1 -0
  39. package/js/interpolations/attributes/processAttributeCallback.function.d.ts +3 -0
  40. package/js/interpolations/attributes/processAttributeCallback.function.js +12 -0
  41. package/js/interpolations/attributes/processAttributeCallback.function.js.map +1 -0
  42. package/js/interpolations/attributes/processNameValueAttribute.function.d.ts +7 -0
  43. package/js/interpolations/attributes/processNameValueAttribute.function.js +24 -0
  44. package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -0
  45. package/js/interpolations/attributes/renderTagArray.function.d.ts +2 -0
  46. package/js/interpolations/attributes/renderTagArray.function.js +17 -0
  47. package/js/interpolations/attributes/renderTagArray.function.js.map +1 -0
  48. package/js/interpolations/attributes/specialAttribute.d.ts +2 -0
  49. package/js/interpolations/attributes/specialAttribute.js +44 -0
  50. package/js/interpolations/attributes/specialAttribute.js.map +1 -0
  51. package/js/interpolations/bindSubjectCallback.function.d.ts +8 -7
  52. package/js/interpolations/bindSubjectCallback.function.js +13 -46
  53. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  54. package/js/interpolations/index.d.ts +2 -0
  55. package/js/interpolations/index.js +3 -0
  56. package/js/interpolations/index.js.map +1 -0
  57. package/js/interpolations/interpolateAttributes.d.ts +0 -3
  58. package/js/interpolations/interpolateAttributes.js +2 -14
  59. package/js/interpolations/interpolateAttributes.js.map +1 -1
  60. package/js/interpolations/interpolateTemplate.d.ts +1 -4
  61. package/js/interpolations/interpolateTemplate.js +1 -29
  62. package/js/interpolations/interpolateTemplate.js.map +1 -1
  63. package/js/interpolations/optimizers/LikeObjectElement.type.d.ts +15 -0
  64. package/js/interpolations/optimizers/LikeObjectElement.type.js +2 -0
  65. package/js/interpolations/optimizers/LikeObjectElement.type.js.map +1 -0
  66. package/js/interpolations/optimizers/ObjectNode.types.d.ts +21 -14
  67. package/js/interpolations/optimizers/attachDomElements.function.d.ts +13 -0
  68. package/js/interpolations/optimizers/attachDomElements.function.js +107 -0
  69. package/js/interpolations/optimizers/attachDomElements.function.js.map +1 -0
  70. package/js/interpolations/optimizers/exchangeParsedForValues.function.d.ts +15 -0
  71. package/js/interpolations/optimizers/exchangeParsedForValues.function.js +2 -0
  72. package/js/interpolations/optimizers/exchangeParsedForValues.function.js.map +1 -0
  73. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -3
  74. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +121 -56
  75. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -1
  76. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +9 -3
  77. package/js/interpolations/optimizers/metaAttachDomElements.function.js +82 -36
  78. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -1
  79. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +3 -2
  80. package/js/interpolations/optimizers/replacePlaceholders.function.js +38 -59
  81. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -1
  82. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +1 -1
  83. package/js/interpolations/optimizers/restorePlaceholders.function.js +14 -13
  84. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -1
  85. package/js/interpolations/optimizers/test.function.d.ts +10 -0
  86. package/js/interpolations/optimizers/test.function.js +19 -0
  87. package/js/interpolations/optimizers/test.function.js.map +1 -0
  88. package/js/interpolations/optimizers/types.d.ts +8 -0
  89. package/js/interpolations/optimizers/types.js +2 -0
  90. package/js/interpolations/optimizers/types.js.map +1 -0
  91. package/js/interpolations/processAttribute.function.d.ts +10 -5
  92. package/js/interpolations/processAttribute.function.js +111 -67
  93. package/js/interpolations/processAttribute.function.js.map +1 -1
  94. package/js/interpolations/processSubscriptionUpdate.function.d.ts +4 -0
  95. package/js/interpolations/processSubscriptionUpdate.function.js +14 -0
  96. package/js/interpolations/processSubscriptionUpdate.function.js.map +1 -0
  97. package/js/interpolations/specialAttribute.js +18 -9
  98. package/js/interpolations/specialAttribute.js.map +1 -1
  99. package/js/interpolations/subscribeToTemplate.function.d.ts +10 -2
  100. package/js/interpolations/subscribeToTemplate.function.js +19 -20
  101. package/js/interpolations/subscribeToTemplate.function.js.map +1 -1
  102. package/js/isInstance.d.ts +10 -6
  103. package/js/isInstance.js +33 -25
  104. package/js/isInstance.js.map +1 -1
  105. package/js/state/callbackMaker.function.d.ts +1 -1
  106. package/js/state/callbackMaker.function.js +21 -30
  107. package/js/state/callbackMaker.function.js.map +1 -1
  108. package/js/state/callbackStateUpdate.function.d.ts +1 -1
  109. package/js/state/callbackStateUpdate.function.js +6 -5
  110. package/js/state/callbackStateUpdate.function.js.map +1 -1
  111. package/js/state/getCallbackValue.function.d.ts +4 -0
  112. package/js/state/getCallbackValue.function.js +10 -0
  113. package/js/state/getCallbackValue.function.js.map +1 -0
  114. package/js/state/getStateValue.function.d.ts +2 -0
  115. package/js/state/getStateValue.function.js +24 -0
  116. package/js/state/getStateValue.function.js.map +1 -0
  117. package/js/state/handleProviderChanges.function.d.ts +7 -1
  118. package/js/state/handleProviderChanges.function.js +7 -21
  119. package/js/state/handleProviderChanges.function.js.map +1 -1
  120. package/js/state/index.d.ts +2 -3
  121. package/js/state/index.js +2 -2
  122. package/js/state/index.js.map +1 -1
  123. package/js/state/letState.function.d.ts +2 -0
  124. package/js/state/letState.function.js +28 -28
  125. package/js/state/letState.function.js.map +1 -1
  126. package/js/state/onDestroy.js +3 -2
  127. package/js/state/onDestroy.js.map +1 -1
  128. package/js/state/providers.d.ts +0 -1
  129. package/js/state/providers.js +20 -15
  130. package/js/state/providers.js.map +1 -1
  131. package/js/state/providersChangeCheck.function.d.ts +2 -2
  132. package/js/state/providersChangeCheck.function.js +9 -10
  133. package/js/state/providersChangeCheck.function.js.map +1 -1
  134. package/js/state/setUse.function.d.ts +1 -11
  135. package/js/state/setUse.function.js +12 -13
  136. package/js/state/setUse.function.js.map +1 -1
  137. package/js/state/state.function.js +2 -47
  138. package/js/state/state.function.js.map +1 -1
  139. package/js/state/state.types.d.ts +8 -0
  140. package/js/state/state.types.js +2 -0
  141. package/js/state/state.types.js.map +1 -0
  142. package/js/state/state.utils.d.ts +11 -10
  143. package/js/state/state.utils.js +35 -65
  144. package/js/state/state.utils.js.map +1 -1
  145. package/js/state/stateHandlers.d.ts +2 -0
  146. package/js/state/stateHandlers.js +36 -0
  147. package/js/state/stateHandlers.js.map +1 -0
  148. package/js/state/subject.function.js +10 -6
  149. package/js/state/subject.function.js.map +1 -1
  150. package/js/state/syncStates.function.d.ts +1 -1
  151. package/js/state/syncStates.function.js +8 -5
  152. package/js/state/syncStates.function.js.map +1 -1
  153. package/js/state/watch.function.js +6 -6
  154. package/js/state/watch.function.js.map +1 -1
  155. package/js/subject/Subject.class.d.ts +9 -2
  156. package/js/subject/Subject.class.js +36 -11
  157. package/js/subject/Subject.class.js.map +1 -1
  158. package/js/subject/ValueSubject.d.ts +6 -1
  159. package/js/subject/ValueSubject.js +15 -1
  160. package/js/subject/ValueSubject.js.map +1 -1
  161. package/js/subject/combineLatest.function.js +2 -2
  162. package/js/subject/combineLatest.function.js.map +1 -1
  163. package/js/subject/subject.utils.js +5 -4
  164. package/js/subject/subject.utils.js.map +1 -1
  165. package/js/subject.types.d.ts +2 -10
  166. package/js/tag/Context.types.d.ts +21 -0
  167. package/js/tag/Context.types.js +2 -0
  168. package/js/tag/Context.types.js.map +1 -0
  169. package/js/tag/Support.class.d.ts +31 -66
  170. package/js/tag/Support.class.js +36 -285
  171. package/js/tag/Support.class.js.map +1 -1
  172. package/js/tag/Tag.class.d.ts +29 -28
  173. package/js/tag/Tag.class.js +34 -46
  174. package/js/tag/Tag.class.js.map +1 -1
  175. package/js/tag/TemplaterResult.class.d.ts +32 -38
  176. package/js/tag/TemplaterResult.class.js +11 -34
  177. package/js/tag/TemplaterResult.class.js.map +1 -1
  178. package/js/tag/ValueTypes.enum.d.ts +23 -13
  179. package/js/tag/ValueTypes.enum.js +28 -19
  180. package/js/tag/ValueTypes.enum.js.map +1 -1
  181. package/js/tag/buildBeforeElement.function.d.ts +10 -0
  182. package/js/tag/buildBeforeElement.function.js +47 -0
  183. package/js/tag/buildBeforeElement.function.js.map +1 -0
  184. package/js/tag/buildSupportContext.function.d.ts +3 -0
  185. package/js/tag/buildSupportContext.function.js +15 -0
  186. package/js/tag/buildSupportContext.function.js.map +1 -0
  187. package/js/tag/checkDestroyPrevious.function.d.ts +5 -8
  188. package/js/tag/checkDestroyPrevious.function.js +53 -71
  189. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  190. package/js/tag/clonePropsBy.function.d.ts +6 -0
  191. package/js/tag/clonePropsBy.function.js +27 -0
  192. package/js/tag/clonePropsBy.function.js.map +1 -0
  193. package/js/tag/cloneValueArray.function.d.ts +4 -3
  194. package/js/tag/cloneValueArray.function.js +17 -13
  195. package/js/tag/cloneValueArray.function.js.map +1 -1
  196. package/js/tag/destroy.support.d.ts +7 -5
  197. package/js/tag/destroy.support.js +44 -6
  198. package/js/tag/destroy.support.js.map +1 -1
  199. package/js/tag/destroySupport.function.d.ts +2 -0
  200. package/js/tag/destroySupport.function.js +21 -0
  201. package/js/tag/destroySupport.function.js.map +1 -0
  202. package/js/tag/destroyTag.function.js +4 -4
  203. package/js/tag/destroyTag.function.js.map +1 -1
  204. package/js/tag/domMetaCollector.d.ts +2 -2
  205. package/js/tag/domMetaCollector.js +12 -8
  206. package/js/tag/domMetaCollector.js.map +1 -1
  207. package/js/tag/elementDestroyCheck.function.js +4 -7
  208. package/js/tag/elementDestroyCheck.function.js.map +1 -1
  209. package/js/tag/executeWrap.function.d.ts +5 -0
  210. package/js/tag/executeWrap.function.js +23 -0
  211. package/js/tag/executeWrap.function.js.map +1 -0
  212. package/js/tag/getChildTagsToDestroy.function.d.ts +8 -0
  213. package/js/tag/getChildTagsToDestroy.function.js +47 -0
  214. package/js/tag/getChildTagsToDestroy.function.js.map +1 -0
  215. package/js/tag/getStringsId.function.d.ts +1 -1
  216. package/js/tag/getStringsId.function.js +1 -2
  217. package/js/tag/getStringsId.function.js.map +1 -1
  218. package/js/tag/getSupportInCycle.function.js +2 -2
  219. package/js/tag/getSupportInCycle.function.js.map +1 -1
  220. package/js/tag/getTagWrap.function.d.ts +2 -0
  221. package/js/tag/getTagWrap.function.js +24 -68
  222. package/js/tag/getTagWrap.function.js.map +1 -1
  223. package/js/tag/getValueType.function.d.ts +3 -2
  224. package/js/tag/getValueType.function.js +17 -30
  225. package/js/tag/getValueType.function.js.map +1 -1
  226. package/js/tag/hasPropChanges.function.js +4 -10
  227. package/js/tag/hasPropChanges.function.js.map +1 -1
  228. package/js/tag/hasSupportChanged.function.d.ts +6 -2
  229. package/js/tag/hasSupportChanged.function.js +143 -24
  230. package/js/tag/hasSupportChanged.function.js.map +1 -1
  231. package/js/tag/html.d.ts +5 -6
  232. package/js/tag/html.js +9 -3
  233. package/js/tag/html.js.map +1 -1
  234. package/js/tag/index.d.ts +11 -1
  235. package/js/tag/index.js +11 -1
  236. package/js/tag/index.js.map +1 -1
  237. package/js/tag/isLikeTags.function.d.ts +4 -3
  238. package/js/tag/isLikeTags.function.js +18 -31
  239. package/js/tag/isLikeTags.function.js.map +1 -1
  240. package/js/tag/key.d.ts +6 -0
  241. package/js/tag/key.js +9 -0
  242. package/js/tag/key.js.map +1 -0
  243. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  244. package/js/tag/kidsToTagArraySubject.function.js +2 -1
  245. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  246. package/js/tag/paint.function.d.ts +15 -0
  247. package/js/tag/paint.function.js +42 -0
  248. package/js/tag/paint.function.js.map +1 -0
  249. package/js/tag/processUpdateAttrContext.function.d.ts +3 -0
  250. package/js/tag/processUpdateAttrContext.function.js +14 -0
  251. package/js/tag/processUpdateAttrContext.function.js.map +1 -0
  252. package/js/tag/processUpdateContext.function.d.ts +5 -0
  253. package/js/tag/processUpdateContext.function.js +35 -0
  254. package/js/tag/processUpdateContext.function.js.map +1 -0
  255. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -5
  256. package/js/tag/render/destroyUnlikeTags.function.js +1 -3
  257. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  258. package/js/tag/render/renderExistingTag.function.d.ts +4 -6
  259. package/js/tag/render/renderExistingTag.function.js +11 -27
  260. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  261. package/js/tag/render/renderSubjectComponent.function.js +14 -5
  262. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  263. package/js/tag/render/renderSupport.function.d.ts +8 -3
  264. package/js/tag/render/renderSupport.function.js +68 -32
  265. package/js/tag/render/renderSupport.function.js.map +1 -1
  266. package/js/tag/render/renderTagOnly.function.d.ts +4 -3
  267. package/js/tag/render/renderTagOnly.function.js +33 -24
  268. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  269. package/js/tag/render/renderWithSupport.function.d.ts +8 -4
  270. package/js/tag/render/renderWithSupport.function.js +12 -10
  271. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  272. package/js/tag/render/softDestroySupport.function.d.ts +1 -2
  273. package/js/tag/render/softDestroySupport.function.js +22 -18
  274. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  275. package/js/tag/smartRemoveKids.function.d.ts +3 -0
  276. package/js/tag/smartRemoveKids.function.js +80 -0
  277. package/js/tag/smartRemoveKids.function.js.map +1 -0
  278. package/js/tag/tag.d.ts +16 -3
  279. package/js/tag/tag.js +48 -16
  280. package/js/tag/tag.js.map +1 -1
  281. package/js/tag/tag.types.d.ts +6 -4
  282. package/js/tag/tag.utils.d.ts +15 -12
  283. package/js/tag/tag.utils.js.map +1 -1
  284. package/js/tag/tagElement.d.ts +11 -5
  285. package/js/tag/tagElement.js +114 -41
  286. package/js/tag/tagElement.js.map +1 -1
  287. package/js/tag/tagRunner.d.ts +2 -4
  288. package/js/tag/tagRunner.js +17 -39
  289. package/js/tag/tagRunner.js.map +1 -1
  290. package/js/tag/textNode.js +1 -1
  291. package/js/tag/textNode.js.map +1 -1
  292. package/js/tag/update/TagJsSubject.class.d.ts +0 -6
  293. package/js/tag/update/TagJsSubject.class.js +1 -8
  294. package/js/tag/update/TagJsSubject.class.js.map +1 -1
  295. package/js/tag/update/afterChildrenBuilt.function.d.ts +6 -0
  296. package/js/tag/update/afterChildrenBuilt.function.js +25 -0
  297. package/js/tag/update/afterChildrenBuilt.function.js.map +1 -0
  298. package/js/tag/update/getNewGlobal.function.d.ts +2 -0
  299. package/js/tag/update/getNewGlobal.function.js +7 -0
  300. package/js/tag/update/getNewGlobal.function.js.map +1 -0
  301. package/js/tag/update/oneRenderToSupport.function.d.ts +2 -2
  302. package/js/tag/update/oneRenderToSupport.function.js +7 -7
  303. package/js/tag/update/oneRenderToSupport.function.js.map +1 -1
  304. package/js/tag/update/processFirstSubject.utils.d.ts +4 -11
  305. package/js/tag/update/processFirstSubjectComponent.function.d.ts +6 -0
  306. package/js/tag/update/processFirstSubjectComponent.function.js +36 -0
  307. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -0
  308. package/js/tag/update/processFirstSubjectValue.function.d.ts +8 -8
  309. package/js/tag/update/processFirstSubjectValue.function.js +75 -39
  310. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  311. package/js/tag/update/processNewValue.function.d.ts +4 -3
  312. package/js/tag/update/processNewValue.function.js +27 -27
  313. package/js/tag/update/processNewValue.function.js.map +1 -1
  314. package/js/tag/update/processRegularValue.function.d.ts +4 -6
  315. package/js/tag/update/processRegularValue.function.js +10 -23
  316. package/js/tag/update/processRegularValue.function.js.map +1 -1
  317. package/js/tag/update/processSubjectComponent.function.d.ts +3 -5
  318. package/js/tag/update/processSubjectComponent.function.js +18 -22
  319. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  320. package/js/tag/update/processTag.function.d.ts +13 -10
  321. package/js/tag/update/processTag.function.js +51 -37
  322. package/js/tag/update/processTag.function.js.map +1 -1
  323. package/js/tag/update/processTagArray.d.ts +7 -26
  324. package/js/tag/update/processTagArray.js +118 -141
  325. package/js/tag/update/processTagArray.js.map +1 -1
  326. package/js/tag/update/processTagResult.function.d.ts +4 -8
  327. package/js/tag/update/processTagResult.function.js +31 -30
  328. package/js/tag/update/processTagResult.function.js.map +1 -1
  329. package/js/tag/update/updateContextItem.function.d.ts +6 -2
  330. package/js/tag/update/updateContextItem.function.js +11 -9
  331. package/js/tag/update/updateContextItem.function.js.map +1 -1
  332. package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -8
  333. package/js/tag/update/updateExistingTagComponent.function.js +76 -98
  334. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  335. package/js/tag/update/updateExistingValue.function.d.ts +4 -4
  336. package/js/tag/update/updateExistingValue.function.js +81 -101
  337. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  338. package/js/tag/update/validateTemplater.function.d.ts +2 -0
  339. package/js/tag/update/validateTemplater.function.js +17 -0
  340. package/js/tag/update/validateTemplater.function.js.map +1 -0
  341. package/js/tag/updateSupportBy.function.d.ts +3 -0
  342. package/js/tag/updateSupportBy.function.js +18 -0
  343. package/js/tag/updateSupportBy.function.js.map +1 -0
  344. package/js/updateBeforeTemplate.function.d.ts +2 -3
  345. package/js/updateBeforeTemplate.function.js +10 -8
  346. package/js/updateBeforeTemplate.function.js.map +1 -1
  347. package/package.json +1 -1
@@ -0,0 +1,74 @@
1
+ // taggedjs-no-compile
2
+ /** File largely responsible for reacting to element events, such as onclick */
3
+ import { isPromise, isTagComponent } from '../../isInstance.js';
4
+ import { renderSupport } from '../../tag/render/renderSupport.function.js';
5
+ import { getUpTags } from './getUpTags.function.js';
6
+ import { renderTagUpdateArray } from './renderTagArray.function.js';
7
+ const noData = 'no-data-ever';
8
+ const promiseNoData = 'promise-no-data-ever';
9
+ export function bindSubjectCallback(value, support) {
10
+ const global = support.subject.global;
11
+ // MAIN EVENT CALLBACK PROCESSOR
12
+ const subjectFunction = function (element, args) {
13
+ if (global.deleted === true) {
14
+ return;
15
+ }
16
+ // const newest = global.newest as Support // || subjectFunction.support
17
+ return runTagCallback(subjectFunction.tagFunction, subjectFunction.support, // newest
18
+ element, args);
19
+ };
20
+ // link back to original. Mostly used for <div oninit ondestroy> animations
21
+ subjectFunction.tagFunction = value;
22
+ subjectFunction.support = support;
23
+ return subjectFunction;
24
+ }
25
+ export function runTagCallback(value, support, bindTo, args) {
26
+ // get actual component owner not just the html`` support
27
+ let component = support;
28
+ while (component.ownerSupport && !isTagComponent(component.templater)) {
29
+ component = component.ownerSupport;
30
+ }
31
+ const global = component.subject.global; // tag.subject.global as TagGlobal
32
+ global.locked = true; // prevent another render from re-rendering this tag
33
+ // ACTUAL CALLBACK TO ORIGINAL FUNCTION
34
+ const callbackResult = value.apply(bindTo, args);
35
+ return afterTagCallback(callbackResult, component);
36
+ }
37
+ export function afterTagCallback(callbackResult, eventHandlerSupport) {
38
+ const global = eventHandlerSupport.subject.global; // tag.subject.global as SupportTagGlobal
39
+ delete global.locked;
40
+ return renderCallbackSupport(eventHandlerSupport, callbackResult, global);
41
+ }
42
+ function renderCallbackSupport(last, callbackResult, global) {
43
+ const tagsToUpdate = getUpTags(last);
44
+ renderTagUpdateArray(tagsToUpdate);
45
+ return checkAfterCallbackPromise(callbackResult, last, global);
46
+ }
47
+ export function checkAfterCallbackPromise(callbackResult, last, global) {
48
+ if (isPromise(callbackResult)) {
49
+ const global0 = last.subject.global;
50
+ global0.locked = true;
51
+ return callbackResult.then(() => {
52
+ if (global.deleted === true) {
53
+ return promiseNoData; // tag was deleted during event processing
54
+ }
55
+ const global1 = last.subject.global;
56
+ delete global1.locked;
57
+ const tagsToUpdate = getUpTags(last);
58
+ renderTagUpdateArray(tagsToUpdate);
59
+ return promiseNoData;
60
+ });
61
+ }
62
+ return noData;
63
+ }
64
+ export function runBlocked(tag) {
65
+ const global = tag.subject.global;
66
+ const blocked = global.blocked;
67
+ for (const block of blocked) {
68
+ const lastResult = renderSupport(block);
69
+ global.newest = lastResult;
70
+ }
71
+ global.blocked = [];
72
+ return global.newest;
73
+ }
74
+ //# sourceMappingURL=bindSubjectCallback.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/bindSubjectCallback.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Counts } from '../interpolateTemplate.js';
2
+ export declare function elementInitCheck(nextSibling: Element | ChildNode, counts: Counts): number;
@@ -0,0 +1,18 @@
1
+ export function elementInitCheck(nextSibling, counts) {
2
+ const onInitDoubleWrap = nextSibling.oninit;
3
+ if (!onInitDoubleWrap) {
4
+ return counts.added;
5
+ }
6
+ const onInitWrap = onInitDoubleWrap.tagFunction;
7
+ if (!onInitWrap) {
8
+ return counts.added;
9
+ }
10
+ const onInit = onInitWrap.tagFunction;
11
+ if (!onInit) {
12
+ return counts.added;
13
+ }
14
+ const event = { target: nextSibling, stagger: counts.added };
15
+ onInit(event);
16
+ return ++counts.added;
17
+ }
18
+ //# sourceMappingURL=elementInitCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementInitCheck.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/elementInitCheck.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAC9B,WAAgC,EAChC,MAAc;IAEd,MAAM,gBAAgB,GAAI,WAAmB,CAAC,MAAM,CAAA;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAwC,CAAA;IAClG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAA;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AnySupport } from "../../tag/Support.class.js";
2
+ export declare function getUpTags(support: AnySupport, supports?: AnySupport[]): AnySupport[];
@@ -0,0 +1,35 @@
1
+ import { isTagComponent } from "../../isInstance.js";
2
+ import { providersChangeCheck } from "../../state/providersChangeCheck.function.js";
3
+ import { checkRenderUp, isInlineHtml } from "../../tag/render/renderSupport.function.js";
4
+ import { ValueTypes } from "../../tag/ValueTypes.enum.js";
5
+ export function getUpTags(support, supports = []) {
6
+ const global = support.subject.global;
7
+ const templater = support.templater;
8
+ const inlineHtml = isInlineHtml(templater);
9
+ const ownerSupport = support.ownerSupport;
10
+ if (global.locked) {
11
+ supports.push(support);
12
+ return supports;
13
+ }
14
+ // is it just a vanilla tag, not component?
15
+ if (inlineHtml) {
16
+ return getUpTags(ownerSupport, supports);
17
+ }
18
+ const newSupport = support; // global.newest as Support
19
+ const isComponent = isTagComponent(newSupport.templater);
20
+ const tagJsType = support.templater.tagJsType;
21
+ const canContinueUp = ownerSupport && tagJsType !== ValueTypes.stateRender;
22
+ const continueUp = canContinueUp && (!isComponent || checkRenderUp(ownerSupport, newSupport.templater, newSupport));
23
+ const proSupports = providersChangeCheck(newSupport);
24
+ supports.push(...proSupports);
25
+ if (continueUp) {
26
+ getUpTags(ownerSupport, supports);
27
+ if (isComponent) {
28
+ supports.push(newSupport);
29
+ }
30
+ return supports; // more to keep going up, do not push this child for review
31
+ }
32
+ supports.push(newSupport);
33
+ return supports;
34
+ }
35
+ //# sourceMappingURL=getUpTags.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUpTags.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/getUpTags.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAGxF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,UAAU,SAAS,CACvB,OAAmB,EACnB,WAAyB,EAAE;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAA0B,CAAA;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACnC,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAI,OAAmB,CAAC,YAAY,CAAA;IAEtD,IAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,EAAG,CAAC;QAChB,OAAO,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAA,CAAC,2BAA2B;IACtD,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAA;IAC7C,MAAM,aAAa,GAAG,YAAY,IAAI,SAAS,KAAK,UAAU,CAAC,WAAW,CAAA;IAC1E,MAAM,UAAU,GAAG,aAAa,IAAI,CAAC,CAAC,WAAW,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAEnH,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;IAE7B,IAAG,UAAU,EAAE,CAAC;QACd,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAEjC,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,QAAQ,CAAA,CAAC,2DAA2D;IAC7E,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,QAAQ,CAAA;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type HowToSet = (element: Element, name: string, value: string) => any;
2
+ export declare function howToSetInputValue(element: Element, name: string, value: string | undefined | boolean): void;
@@ -0,0 +1,11 @@
1
+ import { paintContent } from "../../tag/paint.function.js";
2
+ export function howToSetInputValue(element, name, value) {
3
+ paintContent.push(() => {
4
+ if (value === undefined || value === false || value === null) {
5
+ element.removeAttribute(name);
6
+ return;
7
+ }
8
+ element.setAttribute(name, value);
9
+ });
10
+ }
11
+ //# sourceMappingURL=howToSetInputValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"howToSetInputValue.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/howToSetInputValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAI1D,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAY,EACZ,KAAmC;IAEnC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,IAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAe,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Looking for (class | style) followed by a period */
2
+ export declare function isSpecialAttr(attrName: string): boolean | "class" | "style";
3
+ export declare function isSpecialAction(attrName: string): false | "autoselect" | "autofocus" | "oninit";
@@ -0,0 +1,26 @@
1
+ /** Looking for (class | style) followed by a period */
2
+ export function isSpecialAttr(attrName) {
3
+ if (attrName.startsWith('class.')) {
4
+ return 'class';
5
+ }
6
+ const specialAction = isSpecialAction(attrName);
7
+ if (specialAction) {
8
+ return true;
9
+ }
10
+ if (attrName.startsWith('style.')) {
11
+ return 'style';
12
+ }
13
+ return false;
14
+ }
15
+ export function isSpecialAction(attrName) {
16
+ switch (attrName) {
17
+ case 'autoselect':
18
+ return 'autoselect';
19
+ case 'autofocus':
20
+ return 'autofocus';
21
+ case 'oninit':
22
+ return 'oninit';
23
+ }
24
+ return false;
25
+ }
26
+ //# sourceMappingURL=isSpecialAttribute.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isSpecialAttribute.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/isSpecialAttribute.function.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAC3B,QAAgB;IAEhB,IAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC/C,IAAG,aAAa,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,YAAY,CAAA;QACrB,KAAK,WAAW;YACd,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { HowToSet } from './howToSetInputValue.function.js';
2
+ import { AnySupport } from '../../tag/Support.class.js';
3
+ import { Context, ContextItem } from '../../tag/Context.types.js';
4
+ type TagVarIdNum = {
5
+ tagJsVar: number;
6
+ };
7
+ export type SpecialDefinition = boolean | 'class' | 'style' | 'oninit' | 'autofocus' | 'autoselect';
8
+ /** Sets attribute value, subscribes to value updates */
9
+ export declare function processAttribute(values: unknown[], attrName: string | TagVarIdNum, element: Element, support: AnySupport, howToSet: HowToSet, // = howToSetInputValue
10
+ context: Context, value?: string | null | TagVarIdNum, isSpecial?: SpecialDefinition): void;
11
+ export declare function updateNameOnlyAttrValue(values: unknown[], attrValue: string | boolean | Record<string, any>, lastValue: string | Record<string, any> | undefined, element: Element, ownerSupport: AnySupport, howToSet: HowToSet, context: Context): void;
12
+ export declare function processNameOnlyAttrValue(values: unknown[], attrValue: string | boolean | Record<string, any>, element: Element, ownerSupport: AnySupport, howToSet: HowToSet, context: Context): void;
13
+ export declare function processAttributeEmit(newAttrValue: any, attrName: string, subject: ContextItem, element: Element, support: AnySupport, howToSet: HowToSet, isSpecial?: SpecialDefinition): any;
14
+ export type NoDisplayValue = false | null | undefined;
15
+ type DisplayValue = ((...args: unknown[]) => unknown) | string | boolean;
16
+ export declare function processAttributeSubjectValue(newAttrValue: DisplayValue | NoDisplayValue, element: Element, attrName: string, isSpecial: SpecialDefinition | undefined, howToSet: HowToSet, support: AnySupport): void;
17
+ export declare function processTagCallbackFun(subject: ContextItem, newAttrValue: any, support: AnySupport, attrName: string, element: Element): any;
18
+ export declare function isNoDisplayValue(attrValue: any): boolean;
19
+ export {};
@@ -0,0 +1,175 @@
1
+ // taggedjs-no-compile
2
+ import { specialAttribute } from './specialAttribute.js';
3
+ import { isFunction, isObject, isSubjectInstance } from '../../isInstance.js';
4
+ import { bindSubjectCallback } from './bindSubjectCallback.function.js';
5
+ import { BasicTypes, ValueTypes, empty } from '../../tag/ValueTypes.enum.js';
6
+ import { paintContent } from '../../tag/paint.function.js';
7
+ import { processDynamicNameValueAttribute, processNonDynamicAttr } from './processNameValueAttribute.function.js';
8
+ import { addOneContext, checkSimpleValueChange } from '../../tag/index.js';
9
+ import { processAttributeFunction } from './processAttributeCallback.function.js';
10
+ import { isSpecialAttr } from './isSpecialAttribute.function.js';
11
+ /** Sets attribute value, subscribes to value updates */
12
+ export function processAttribute(values, attrName, element, support, howToSet, // = howToSetInputValue
13
+ context, value, isSpecial) {
14
+ const nameVar = getTagJsVar(attrName);
15
+ const isNameVar = nameVar >= 0;
16
+ if (isNameVar) {
17
+ const value = values[nameVar];
18
+ const contextItem = addOneContext(value, context, true);
19
+ contextItem.isAttr = true;
20
+ contextItem.element = element;
21
+ contextItem.howToSet = howToSet;
22
+ contextItem.isNameOnly = true;
23
+ processNameOnlyAttrValue(values, value, element, support, howToSet, context);
24
+ return;
25
+ }
26
+ const valueVar = getTagJsVar(value);
27
+ if (valueVar >= 0) {
28
+ const value = values[valueVar];
29
+ const contextItem = {
30
+ isAttr: true,
31
+ element,
32
+ attrName: attrName,
33
+ checkValueChange: checkSimpleValueChange,
34
+ withinOwnerElement: true,
35
+ };
36
+ context.push(contextItem);
37
+ const isSubject = isSubjectInstance(contextItem.value);
38
+ if (isSubject) {
39
+ return processNameValueAttributeAttrSubject(attrName, contextItem, element, support, howToSet, isSpecial);
40
+ }
41
+ processDynamicNameValueAttribute(attrName, value, contextItem, element, howToSet, support, isSpecial);
42
+ contextItem.value = value;
43
+ return;
44
+ }
45
+ return processNonDynamicAttr(attrName, value, element, howToSet, isSpecial);
46
+ }
47
+ export function updateNameOnlyAttrValue(values, attrValue, lastValue, element, ownerSupport, howToSet, context) {
48
+ // check to remove previous attribute(s)
49
+ if (lastValue) {
50
+ if (isNoDisplayValue(attrValue)) {
51
+ element.removeAttribute(lastValue);
52
+ return;
53
+ }
54
+ if (typeof (lastValue) === BasicTypes.object) {
55
+ const isObStill = typeof (attrValue) === BasicTypes.object;
56
+ if (isObStill) {
57
+ for (const name in lastValue) {
58
+ // if((attrValue as any)[name]) {
59
+ if (name in attrValue) {
60
+ continue;
61
+ }
62
+ paintContent.push(function paintContent() {
63
+ element.removeAttribute(name);
64
+ });
65
+ }
66
+ }
67
+ else {
68
+ for (const name in lastValue) {
69
+ paintContent.push(function paintContent() {
70
+ element.removeAttribute(name);
71
+ });
72
+ }
73
+ }
74
+ }
75
+ }
76
+ processNameOnlyAttrValue(values, attrValue, element, ownerSupport, howToSet, context);
77
+ }
78
+ export function processNameOnlyAttrValue(values, attrValue, element, ownerSupport, howToSet, context) {
79
+ if (isNoDisplayValue(attrValue)) {
80
+ return;
81
+ }
82
+ // process an object of attributes ${{class:'something, checked:true}}
83
+ if (typeof attrValue === BasicTypes.object) {
84
+ for (const name in attrValue) {
85
+ const value = attrValue[name];
86
+ processAttribute(values, name, element, ownerSupport, howToSet, context, value, isSpecialAttr(name));
87
+ }
88
+ return;
89
+ }
90
+ // regular attributes
91
+ if (attrValue.length === 0) {
92
+ return; // ignore, do not set at this time
93
+ }
94
+ howToSet(element, attrValue, empty);
95
+ }
96
+ /** Processor for flat attributes and object attributes */
97
+ function processNameValueAttributeAttrSubject(attrName, result, element, support, howToSet, isSpecial) {
98
+ if (isSpecial) {
99
+ paintContent.push(function paintContent() {
100
+ element.removeAttribute(attrName);
101
+ });
102
+ }
103
+ const contextValueSubject = result.value;
104
+ if (isSubjectInstance(contextValueSubject)) {
105
+ const callback = function processAttrCallback(newAttrValue) {
106
+ processAttributeEmit(newAttrValue, attrName, result, element, support, howToSet, isSpecial);
107
+ };
108
+ // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
109
+ const sub = contextValueSubject.subscribe(callback);
110
+ // Record subscription for later unsubscribe when element destroyed
111
+ const global = result.global;
112
+ const subs = global.subscriptions = global.subscriptions || [];
113
+ subs.push(sub);
114
+ }
115
+ processAttributeEmit(result.value, attrName, result, element, support, howToSet, isSpecial);
116
+ return;
117
+ }
118
+ export function processAttributeEmit(newAttrValue, attrName, subject, element, support, howToSet, isSpecial) {
119
+ // should the function be wrapped so every time its called we re-render?
120
+ if (isFunction(newAttrValue)) {
121
+ return callbackFun(support, newAttrValue, element, attrName, isSpecial, howToSet, subject);
122
+ }
123
+ return processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support);
124
+ }
125
+ export function processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support) {
126
+ if (isFunction(newAttrValue)) {
127
+ return processAttributeFunction(element, newAttrValue, support, attrName);
128
+ }
129
+ if (isSpecial) {
130
+ specialAttribute(attrName, newAttrValue, element, isSpecial);
131
+ return;
132
+ }
133
+ switch (newAttrValue) {
134
+ case undefined:
135
+ case false:
136
+ case null:
137
+ paintContent.push(function paintContentPush() {
138
+ element.removeAttribute(attrName);
139
+ });
140
+ return;
141
+ }
142
+ // value is 0
143
+ howToSet(element, attrName, newAttrValue);
144
+ }
145
+ function callbackFun(support, newAttrValue, element, attrName, isSpecial, howToSet, subject) {
146
+ const wrapper = support.templater.wrapper;
147
+ const parentWrap = wrapper?.parentWrap;
148
+ const tagJsType = wrapper?.tagJsType || parentWrap?.tagJsType;
149
+ const oneRender = tagJsType === ValueTypes.renderOnce;
150
+ if (!oneRender) {
151
+ return processTagCallbackFun(subject, newAttrValue, support, attrName, element);
152
+ }
153
+ return processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support);
154
+ }
155
+ export function processTagCallbackFun(subject, newAttrValue, support, attrName, element) {
156
+ const prevFun = subject.value;
157
+ if (prevFun && prevFun.tagFunction && prevFun.support) {
158
+ prevFun.tagFunction = newAttrValue;
159
+ prevFun.support = support;
160
+ return prevFun;
161
+ }
162
+ // tag has state and will need all functions wrapped to cause re-renders
163
+ newAttrValue = bindSubjectCallback(newAttrValue, support);
164
+ return processAttributeFunction(element, newAttrValue, support, attrName);
165
+ }
166
+ function getTagJsVar(attrPart) {
167
+ if (isObject(attrPart) && 'tagJsVar' in attrPart)
168
+ return attrPart.tagJsVar;
169
+ return -1;
170
+ // return (attrPart as TagVarIdNum)?.tagJsVar || -1
171
+ }
172
+ export function isNoDisplayValue(attrValue) {
173
+ return undefined === attrValue || null === attrValue || false === attrValue;
174
+ }
175
+ //# sourceMappingURL=processAttribute.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/processAttribute.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AnySupport } from '../../tag/Support.class.js';
2
+ import { Callback } from './bindSubjectCallback.function.js';
3
+ export declare function processAttributeFunction(element: Element, newAttrValue: Callback, support: AnySupport, attrName: string): void;
@@ -0,0 +1,12 @@
1
+ import { addSupportEventListener } from './addSupportEventListener.function.js';
2
+ export function processAttributeFunction(element, newAttrValue, support, attrName) {
3
+ const fun = function (...args) {
4
+ return fun.tagFunction(element, args);
5
+ };
6
+ // access to original function
7
+ fun.tagFunction = newAttrValue;
8
+ fun.support = support;
9
+ addSupportEventListener(support.appSupport, attrName, element, // support.appSupport.appElement as Element,
10
+ fun);
11
+ }
12
+ //# sourceMappingURL=processAttributeCallback.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processAttributeCallback.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/processAttributeCallback.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAG/E,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,YAAsB,EACtB,OAAmB,EACnB,QAAgB;IAEhB,MAAM,GAAG,GAAG,UAAU,GAAG,IAAW;QAClC,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,8BAA8B;IAC9B,GAAG,CAAC,WAAW,GAAG,YAAY,CAAA;IAC9B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;IAErB,uBAAuB,CACrB,OAAO,CAAC,UAAU,EAClB,QAAQ,EACR,OAAO,EAAE,4CAA4C;IACrD,GAAG,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { HowToSet } from './howToSetInputValue.function.js';
2
+ import { TagGlobal } from '../../tag/TemplaterResult.class.js';
3
+ import { SpecialDefinition } from './processAttribute.function.js';
4
+ import { ContextItem } from '../../tag/Context.types.js';
5
+ import { AnySupport } from '../../tag/Support.class.js';
6
+ export declare function processDynamicNameValueAttribute(attrName: string, value: any | TagGlobal, contextItem: ContextItem, element: Element, howToSet: HowToSet, support: AnySupport, isSpecial?: SpecialDefinition): any;
7
+ export declare function processNonDynamicAttr(attrName: string, value: string, element: Element, howToSet: HowToSet, isSpecial?: SpecialDefinition): void;
@@ -0,0 +1,24 @@
1
+ // taggedjs-no-compile
2
+ import { specialAttribute } from './specialAttribute.js';
3
+ import { processTagCallbackFun } from './processAttribute.function.js';
4
+ import { BasicTypes } from '../../tag/ValueTypes.enum.js';
5
+ export function processDynamicNameValueAttribute(attrName, value, contextItem, element, howToSet, support, isSpecial) {
6
+ contextItem.attrName = attrName;
7
+ contextItem.element = element;
8
+ contextItem.howToSet = howToSet;
9
+ if (typeof (value) === BasicTypes.function) {
10
+ return processTagCallbackFun(contextItem, value, support, attrName, element);
11
+ }
12
+ contextItem.attrName = attrName;
13
+ contextItem.element = element;
14
+ contextItem.howToSet = howToSet;
15
+ contextItem.isSpecial = isSpecial;
16
+ return processNonDynamicAttr(attrName, value, element, howToSet, isSpecial);
17
+ }
18
+ export function processNonDynamicAttr(attrName, value, element, howToSet, isSpecial) {
19
+ if (isSpecial) {
20
+ return specialAttribute(attrName, value, element, isSpecial);
21
+ }
22
+ howToSet(element, attrName, value);
23
+ }
24
+ //# sourceMappingURL=processNameValueAttribute.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNameValueAttribute.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/processNameValueAttribute.function.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAA;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,UAAU,gCAAgC,CAC9C,QAAgB,EAChB,KAAsB,EACtB,WAAwB,EACxB,OAAgB,EAChB,QAAkB,EAClB,OAAmB,EACnB,SAA6B;IAE7B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE/B,IAAG,OAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAG,CAAC;QAC1C,OAAO,qBAAqB,CAC1B,WAAW,EACX,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,CACR,CAAA;IACH,CAAC;IAED,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;IAEjC,OAAO,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,KAAa,EACb,OAAgB,EAChB,QAAkB,EAClB,SAA6B;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IAED,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAe,CAAC,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AnySupport } from '../../tag/Support.class.js';
2
+ export declare function renderTagUpdateArray(supports: AnySupport[]): void;
@@ -0,0 +1,17 @@
1
+ import { paint, painting } from '../../tag/paint.function.js';
2
+ import { renderSupport } from '../../tag/render/renderSupport.function.js';
3
+ export function renderTagUpdateArray(supports) {
4
+ ++painting.locks;
5
+ supports.forEach(mapTagUpdate);
6
+ --painting.locks;
7
+ paint();
8
+ }
9
+ function mapTagUpdate(support) {
10
+ const global = support.subject.global;
11
+ if (!global) {
12
+ return; // while rendering a parent, a child may have been deleted (pinbowl)
13
+ }
14
+ // renderSupport(support)
15
+ renderSupport(global.newest);
16
+ }
17
+ //# sourceMappingURL=renderTagArray.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderTagArray.function.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/renderTagArray.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAK,4CAA4C,CAAA;AAEzE,MAAM,UAAU,oBAAoB,CAClC,QAAsB;IAEtB,EAAE,QAAQ,CAAC,KAAK,CAAA;IAEhB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAE9B,EAAE,QAAQ,CAAC,KAAK,CAAA;IAEhB,KAAK,EAAE,CAAA;AACT,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAA0B,CAAA;IACzD,IAAG,CAAC,MAAM,EAAE,CAAC;QACX,OAAM,CAAC,oEAAoE;IAC7E,CAAC;IAED,yBAAyB;IACzB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SpecialDefinition } from "./processAttribute.function.js";
2
+ export declare function specialAttribute(name: string, value: any, element: Element, specialName: SpecialDefinition): void;
@@ -0,0 +1,44 @@
1
+ import { paintAfters, paintContent } from "../../tag/paint.function.js";
2
+ import { elementInitCheck } from "./elementInitCheck.js";
3
+ const style = 'style';
4
+ const classS = 'class';
5
+ // const styleStart = style + '.'
6
+ // const classStart = classS + '.'
7
+ export function specialAttribute(name, value, element, specialName) {
8
+ switch (specialName) {
9
+ case 'oninit':
10
+ paintAfters.push(() => elementInitCheck(element, { added: 0, removed: 0 }));
11
+ return;
12
+ case 'autofocus':
13
+ paintAfters.push(() => element.focus());
14
+ return;
15
+ case 'autoselect':
16
+ paintAfters.push(() => element.select());
17
+ return;
18
+ case 'style':
19
+ const names = name.split('.');
20
+ // names.shift() // remove 'style'
21
+ paintContent.push(() => element.style[names[1]] = value); // attribute changes should come first
22
+ return;
23
+ case 'class':
24
+ processSpecialClass(name, value, element);
25
+ return;
26
+ }
27
+ throw new Error(`Invalid special attribute of ${specialName}. ${name}`);
28
+ }
29
+ function processSpecialClass(name, value, element) {
30
+ const names = name.split('.');
31
+ names.shift(); // remove class
32
+ // truthy
33
+ if (value) {
34
+ for (const name of names) {
35
+ paintContent.push(() => element.classList.add(name));
36
+ }
37
+ return;
38
+ }
39
+ // falsy
40
+ for (const name of names) {
41
+ paintContent.push(() => element.classList.remove(name));
42
+ }
43
+ }
44
+ //# sourceMappingURL=specialAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../../ts/interpolations/attributes/specialAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,KAAK,GAAG,OAAO,CAAA;AACrB,MAAM,MAAM,GAAG,OAAO,CAAA;AAEtB,iCAAiC;AACjC,kCAAkC;AAElC,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB,EAChB,WAA8B;IAE9B,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;YACvE,OAAM;QAER,KAAK,WAAW;YACd,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,OAAe,CAAC,KAAK,EAAE,CAAC,CAAA;YAChD,OAAM;QAER,KAAK,YAAY;YACf,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,OAAe,CAAC,MAAM,EAAE,CAAC,CAAA;YACjD,OAAM;QAER,KAAK,OAAO;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7B,kCAAkC;YAClC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA,CAAC,sCAAsC;YACxG,OAAM;QAER,KAAK,OAAO;YACV,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,OAAM;IACV,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,KAAK,IAAI,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,eAAe;IAE7B,SAAS;IACT,IAAG,KAAK,EAAE,CAAC;QACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,OAAM;IACR,CAAC;IAED,QAAQ;IACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
@@ -1,13 +1,14 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
- import { State } from '../state/state.utils.js';
3
2
  import { BaseSupport, Support } from '../tag/Support.class.js';
4
3
  import { TagGlobal } from '../tag/TemplaterResult.class.js';
5
- export type Callback = (...args: any[]) => any & {
6
- isChildOverride?: true;
4
+ export type Callback = (...args: any[]) => any;
5
+ export declare function bindSubjectCallback(value: Callback, support: BaseSupport | Support): {
6
+ (element: Element, args: any[]): "no-data-ever" | Promise<string>;
7
+ tagFunction: Callback;
8
+ support: BaseSupport | Support;
7
9
  };
8
- export declare function bindSubjectCallback(value: Callback, support: BaseSupport | Support): Callback;
9
- export declare function runTagCallback(value: Callback, support: BaseSupport | Support, bindTo: unknown, args: any[], state: State): "no-data-ever" | Promise<string>;
10
- export declare function afterTagCallback(tag: BaseSupport | Support, callbackResult: any, state: State): "no-data-ever" | Promise<string>;
10
+ export declare function runTagCallback(value: Callback, support: BaseSupport | Support, bindTo: unknown, args: any[]): "no-data-ever" | Promise<string>;
11
+ export declare function afterTagCallback(tag: BaseSupport | Support, callbackResult: any): "no-data-ever" | Promise<string>;
11
12
  export declare function findTagToCallback(support: BaseSupport | Support): BaseSupport | Support;
12
13
  export declare function checkAfterCallbackPromise(callbackResult: any, last: BaseSupport | Support, global: TagGlobal): "no-data-ever" | Promise<string>;
13
- export declare function runBlocked(tag: BaseSupport | Support, state: State, lastResult?: BaseSupport | Support): BaseSupport | Support | undefined;
14
+ export declare function runBlocked(tag: BaseSupport | Support): BaseSupport | Support | undefined;