@dooboostore/simple-web-component 1.0.17 → 1.0.19

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 (601) hide show
  1. package/README.md +130 -143
  2. package/dist/cjs/config/config.js +2 -0
  3. package/dist/cjs/config/config.js.map +2 -2
  4. package/dist/cjs/decorators/addEventListener.js +4 -4
  5. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  6. package/dist/cjs/decorators/appendChild.js +92 -0
  7. package/dist/cjs/decorators/appendChild.js.map +7 -0
  8. package/dist/cjs/decorators/classList.js +104 -0
  9. package/dist/cjs/decorators/classList.js.map +7 -0
  10. package/dist/cjs/decorators/elementDefine.js +309 -349
  11. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  12. package/dist/cjs/decorators/emitCustomEvent.js +61 -9
  13. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  14. package/dist/cjs/decorators/index.js +5 -1
  15. package/dist/cjs/decorators/index.js.map +2 -2
  16. package/dist/cjs/decorators/{innerHtml.js → onConnectedInnerHtml.js} +8 -8
  17. package/dist/cjs/decorators/onConnectedInnerHtml.js.map +7 -0
  18. package/dist/cjs/decorators/query.js +61 -21
  19. package/dist/cjs/decorators/query.js.map +2 -2
  20. package/dist/cjs/decorators/queryAll.js +61 -19
  21. package/dist/cjs/decorators/queryAll.js.map +2 -2
  22. package/dist/cjs/decorators/replaceChildren.js +79 -0
  23. package/dist/cjs/decorators/replaceChildren.js.map +7 -0
  24. package/dist/cjs/decorators/setAttribute.js +35 -7
  25. package/dist/cjs/decorators/setAttribute.js.map +2 -2
  26. package/dist/cjs/decorators/style.js +88 -0
  27. package/dist/cjs/decorators/style.js.map +7 -0
  28. package/dist/cjs/elements/SwcAppEngine.js +23 -8
  29. package/dist/cjs/elements/SwcAppEngine.js.map +2 -2
  30. package/dist/cjs/elements/SwcAppMixin.js +52 -0
  31. package/dist/cjs/elements/SwcAppMixin.js.map +7 -0
  32. package/dist/cjs/elements/SwcAsync.js +57 -122
  33. package/dist/cjs/elements/SwcAsync.js.map +3 -3
  34. package/dist/cjs/elements/SwcChoose.js +51 -75
  35. package/dist/cjs/elements/SwcChoose.js.map +3 -3
  36. package/dist/cjs/elements/SwcIf.js +65 -93
  37. package/dist/cjs/elements/SwcIf.js.map +3 -3
  38. package/dist/cjs/elements/SwcLoop.js +72 -173
  39. package/dist/cjs/elements/SwcLoop.js.map +3 -3
  40. package/dist/cjs/elements/SwcSubTemplates.js +12 -37
  41. package/dist/cjs/elements/SwcSubTemplates.js.map +3 -3
  42. package/dist/cjs/elements/index.js +1 -8
  43. package/dist/cjs/elements/index.js.map +2 -2
  44. package/dist/cjs/elements/register.js +831 -0
  45. package/dist/cjs/elements/register.js.map +7 -0
  46. package/dist/cjs/index.js +22 -2
  47. package/dist/cjs/index.js.map +2 -2
  48. package/dist/cjs/types.js.map +1 -1
  49. package/dist/cjs/utils/TemplateUtils.js +103 -0
  50. package/dist/cjs/utils/TemplateUtils.js.map +7 -0
  51. package/dist/cjs/utils/Utils.js +10 -7
  52. package/dist/cjs/utils/Utils.js.map +2 -2
  53. package/dist/esm/config/config.js +2 -0
  54. package/dist/esm/config/config.js.map +2 -2
  55. package/dist/esm/decorators/addEventListener.js +4 -4
  56. package/dist/esm/decorators/addEventListener.js.map +2 -2
  57. package/dist/esm/decorators/appendChild.js +73 -0
  58. package/dist/esm/decorators/appendChild.js.map +7 -0
  59. package/dist/esm/decorators/classList.js +85 -0
  60. package/dist/esm/decorators/classList.js.map +7 -0
  61. package/dist/esm/decorators/elementDefine.js +309 -349
  62. package/dist/esm/decorators/elementDefine.js.map +3 -3
  63. package/dist/esm/decorators/emitCustomEvent.js +61 -9
  64. package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
  65. package/dist/esm/decorators/index.js +5 -1
  66. package/dist/esm/decorators/index.js.map +2 -2
  67. package/dist/esm/decorators/{innerHtml.js → onConnectedInnerHtml.js} +5 -5
  68. package/dist/esm/decorators/onConnectedInnerHtml.js.map +7 -0
  69. package/dist/esm/decorators/query.js +62 -22
  70. package/dist/esm/decorators/query.js.map +2 -2
  71. package/dist/esm/decorators/queryAll.js +62 -20
  72. package/dist/esm/decorators/queryAll.js.map +2 -2
  73. package/dist/esm/decorators/replaceChildren.js +60 -0
  74. package/dist/esm/decorators/replaceChildren.js.map +7 -0
  75. package/dist/esm/decorators/setAttribute.js +35 -7
  76. package/dist/esm/decorators/setAttribute.js.map +2 -2
  77. package/dist/esm/decorators/style.js +69 -0
  78. package/dist/esm/decorators/style.js.map +7 -0
  79. package/dist/esm/elements/SwcAppEngine.js +23 -8
  80. package/dist/esm/elements/SwcAppEngine.js.map +2 -2
  81. package/dist/esm/elements/SwcAppMixin.js +33 -0
  82. package/dist/esm/elements/SwcAppMixin.js.map +7 -0
  83. package/dist/esm/elements/SwcAsync.js +57 -122
  84. package/dist/esm/elements/SwcAsync.js.map +3 -3
  85. package/dist/esm/elements/SwcChoose.js +51 -75
  86. package/dist/esm/elements/SwcChoose.js.map +3 -3
  87. package/dist/esm/elements/SwcIf.js +65 -93
  88. package/dist/esm/elements/SwcIf.js.map +3 -3
  89. package/dist/esm/elements/SwcLoop.js +71 -172
  90. package/dist/esm/elements/SwcLoop.js.map +3 -3
  91. package/dist/esm/elements/SwcSubTemplates.js +12 -37
  92. package/dist/esm/elements/SwcSubTemplates.js.map +3 -3
  93. package/dist/esm/elements/index.js +1 -8
  94. package/dist/esm/elements/index.js.map +2 -2
  95. package/dist/esm/elements/register.js +812 -0
  96. package/dist/esm/elements/register.js.map +7 -0
  97. package/dist/esm/index.js +18 -2
  98. package/dist/esm/index.js.map +2 -2
  99. package/dist/esm/types.js.map +1 -1
  100. package/dist/esm/utils/TemplateUtils.js +84 -0
  101. package/dist/esm/utils/TemplateUtils.js.map +7 -0
  102. package/dist/esm/utils/Utils.js +6 -3
  103. package/dist/esm/utils/Utils.js.map +2 -2
  104. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +1091 -5545
  105. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  106. package/dist/types/config/config.d.ts +1 -0
  107. package/dist/types/config/config.d.ts.map +1 -1
  108. package/dist/types/decorators/addEventListener.d.ts +11 -11
  109. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  110. package/dist/types/decorators/appendChild.d.ts +17 -0
  111. package/dist/types/decorators/appendChild.d.ts.map +1 -0
  112. package/dist/types/decorators/classList.d.ts +34 -0
  113. package/dist/types/decorators/classList.d.ts.map +1 -0
  114. package/dist/types/decorators/elementDefine.d.ts +9 -5
  115. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  116. package/dist/types/decorators/emitCustomEvent.d.ts +7 -4
  117. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
  118. package/dist/types/decorators/index.d.ts +5 -1
  119. package/dist/types/decorators/index.d.ts.map +1 -1
  120. package/dist/types/decorators/onConnectedInnerHtml.d.ts +15 -0
  121. package/dist/types/decorators/onConnectedInnerHtml.d.ts.map +1 -0
  122. package/dist/types/decorators/query.d.ts +7 -8
  123. package/dist/types/decorators/query.d.ts.map +1 -1
  124. package/dist/types/decorators/queryAll.d.ts +5 -9
  125. package/dist/types/decorators/queryAll.d.ts.map +1 -1
  126. package/dist/types/decorators/replaceChildren.d.ts +9 -0
  127. package/dist/types/decorators/replaceChildren.d.ts.map +1 -0
  128. package/dist/types/decorators/setAttribute.d.ts +13 -3
  129. package/dist/types/decorators/setAttribute.d.ts.map +1 -1
  130. package/dist/types/decorators/style.d.ts +24 -0
  131. package/dist/types/decorators/style.d.ts.map +1 -0
  132. package/dist/types/elements/SwcAppEngine.d.ts +2 -2
  133. package/dist/types/elements/SwcAppEngine.d.ts.map +1 -1
  134. package/dist/types/elements/SwcAppMixin.d.ts +364 -0
  135. package/dist/types/elements/SwcAppMixin.d.ts.map +1 -0
  136. package/dist/types/elements/SwcAsync.d.ts +2 -6
  137. package/dist/types/elements/SwcAsync.d.ts.map +1 -1
  138. package/dist/types/elements/SwcChoose.d.ts +2 -1
  139. package/dist/types/elements/SwcChoose.d.ts.map +1 -1
  140. package/dist/types/elements/SwcIf.d.ts +5 -6
  141. package/dist/types/elements/SwcIf.d.ts.map +1 -1
  142. package/dist/types/elements/SwcLoop.d.ts +4 -10
  143. package/dist/types/elements/SwcLoop.d.ts.map +1 -1
  144. package/dist/types/elements/SwcSubTemplates.d.ts.map +1 -1
  145. package/dist/types/elements/index.d.ts +1 -8
  146. package/dist/types/elements/index.d.ts.map +1 -1
  147. package/dist/types/elements/register.d.ts +2 -0
  148. package/dist/types/elements/register.d.ts.map +1 -0
  149. package/dist/types/index.d.ts +9 -2
  150. package/dist/types/index.d.ts.map +1 -1
  151. package/dist/types/types.d.ts +6 -1
  152. package/dist/types/types.d.ts.map +1 -1
  153. package/dist/types/utils/TemplateUtils.d.ts +54 -0
  154. package/dist/types/utils/TemplateUtils.d.ts.map +1 -0
  155. package/dist/types/utils/Utils.d.ts.map +1 -1
  156. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +1091 -5545
  157. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  158. package/package.json +2 -2
  159. package/src/config/config.ts +2 -0
  160. package/src/decorators/addEventListener.ts +12 -11
  161. package/src/decorators/appendChild.ts +86 -0
  162. package/src/decorators/classList.ts +117 -0
  163. package/src/decorators/elementDefine.ts +345 -349
  164. package/src/decorators/emitCustomEvent.ts +76 -12
  165. package/src/decorators/index.ts +5 -1
  166. package/src/decorators/{innerHtml.ts → onConnectedInnerHtml.ts} +7 -6
  167. package/src/decorators/query.ts +63 -31
  168. package/src/decorators/queryAll.ts +60 -28
  169. package/src/decorators/replaceChildren.ts +64 -0
  170. package/src/decorators/setAttribute.ts +53 -11
  171. package/src/decorators/style.ts +89 -0
  172. package/src/elements/SwcAppEngine.ts +26 -11
  173. package/src/elements/SwcAppMixin.ts +34 -0
  174. package/src/elements/SwcAsync.ts +57 -127
  175. package/src/elements/SwcChoose.ts +50 -76
  176. package/src/elements/SwcIf.ts +63 -85
  177. package/src/elements/SwcLoop.ts +70 -167
  178. package/src/elements/SwcSubTemplates.ts +0 -13
  179. package/src/elements/index.ts +1 -8
  180. package/src/elements/register.ts +735 -0
  181. package/src/index.ts +18 -4
  182. package/src/types.ts +13 -5
  183. package/src/utils/TemplateUtils.ts +83 -0
  184. package/src/utils/Utils.ts +6 -3
  185. package/dist/cjs/decorators/innerHtml.js.map +0 -7
  186. package/dist/cjs/elements/SwcApp.js +0 -55
  187. package/dist/cjs/elements/SwcApp.js.map +0 -7
  188. package/dist/cjs/elements/is/SwcAppAnchor.js +0 -55
  189. package/dist/cjs/elements/is/SwcAppAnchor.js.map +0 -7
  190. package/dist/cjs/elements/is/SwcAppArea.js +0 -55
  191. package/dist/cjs/elements/is/SwcAppArea.js.map +0 -7
  192. package/dist/cjs/elements/is/SwcAppAudio.js +0 -55
  193. package/dist/cjs/elements/is/SwcAppAudio.js.map +0 -7
  194. package/dist/cjs/elements/is/SwcAppBase.js +0 -55
  195. package/dist/cjs/elements/is/SwcAppBase.js.map +0 -7
  196. package/dist/cjs/elements/is/SwcAppBody.js +0 -55
  197. package/dist/cjs/elements/is/SwcAppBody.js.map +0 -7
  198. package/dist/cjs/elements/is/SwcAppButton.js +0 -55
  199. package/dist/cjs/elements/is/SwcAppButton.js.map +0 -7
  200. package/dist/cjs/elements/is/SwcAppCanvas.js +0 -55
  201. package/dist/cjs/elements/is/SwcAppCanvas.js.map +0 -7
  202. package/dist/cjs/elements/is/SwcAppData.js +0 -55
  203. package/dist/cjs/elements/is/SwcAppData.js.map +0 -7
  204. package/dist/cjs/elements/is/SwcAppDataList.js +0 -55
  205. package/dist/cjs/elements/is/SwcAppDataList.js.map +0 -7
  206. package/dist/cjs/elements/is/SwcAppDetails.js +0 -55
  207. package/dist/cjs/elements/is/SwcAppDetails.js.map +0 -7
  208. package/dist/cjs/elements/is/SwcAppDialog.js +0 -55
  209. package/dist/cjs/elements/is/SwcAppDialog.js.map +0 -7
  210. package/dist/cjs/elements/is/SwcAppDiv.js +0 -55
  211. package/dist/cjs/elements/is/SwcAppDiv.js.map +0 -7
  212. package/dist/cjs/elements/is/SwcAppDl.js +0 -55
  213. package/dist/cjs/elements/is/SwcAppDl.js.map +0 -7
  214. package/dist/cjs/elements/is/SwcAppEmbed.js +0 -55
  215. package/dist/cjs/elements/is/SwcAppEmbed.js.map +0 -7
  216. package/dist/cjs/elements/is/SwcAppFieldSet.js +0 -55
  217. package/dist/cjs/elements/is/SwcAppFieldSet.js.map +0 -7
  218. package/dist/cjs/elements/is/SwcAppForm.js +0 -55
  219. package/dist/cjs/elements/is/SwcAppForm.js.map +0 -7
  220. package/dist/cjs/elements/is/SwcAppHeading.js +0 -55
  221. package/dist/cjs/elements/is/SwcAppHeading.js.map +0 -7
  222. package/dist/cjs/elements/is/SwcAppHr.js +0 -55
  223. package/dist/cjs/elements/is/SwcAppHr.js.map +0 -7
  224. package/dist/cjs/elements/is/SwcAppIFrame.js +0 -55
  225. package/dist/cjs/elements/is/SwcAppIFrame.js.map +0 -7
  226. package/dist/cjs/elements/is/SwcAppImage.js +0 -55
  227. package/dist/cjs/elements/is/SwcAppImage.js.map +0 -7
  228. package/dist/cjs/elements/is/SwcAppInput.js +0 -55
  229. package/dist/cjs/elements/is/SwcAppInput.js.map +0 -7
  230. package/dist/cjs/elements/is/SwcAppLabel.js +0 -55
  231. package/dist/cjs/elements/is/SwcAppLabel.js.map +0 -7
  232. package/dist/cjs/elements/is/SwcAppLegend.js +0 -55
  233. package/dist/cjs/elements/is/SwcAppLegend.js.map +0 -7
  234. package/dist/cjs/elements/is/SwcAppLi.js +0 -55
  235. package/dist/cjs/elements/is/SwcAppLi.js.map +0 -7
  236. package/dist/cjs/elements/is/SwcAppLink.js +0 -55
  237. package/dist/cjs/elements/is/SwcAppLink.js.map +0 -7
  238. package/dist/cjs/elements/is/SwcAppMap.js +0 -55
  239. package/dist/cjs/elements/is/SwcAppMap.js.map +0 -7
  240. package/dist/cjs/elements/is/SwcAppMeta.js +0 -55
  241. package/dist/cjs/elements/is/SwcAppMeta.js.map +0 -7
  242. package/dist/cjs/elements/is/SwcAppMeter.js +0 -55
  243. package/dist/cjs/elements/is/SwcAppMeter.js.map +0 -7
  244. package/dist/cjs/elements/is/SwcAppMod.js +0 -55
  245. package/dist/cjs/elements/is/SwcAppMod.js.map +0 -7
  246. package/dist/cjs/elements/is/SwcAppObject.js +0 -55
  247. package/dist/cjs/elements/is/SwcAppObject.js.map +0 -7
  248. package/dist/cjs/elements/is/SwcAppOl.js +0 -55
  249. package/dist/cjs/elements/is/SwcAppOl.js.map +0 -7
  250. package/dist/cjs/elements/is/SwcAppOptGroup.js +0 -55
  251. package/dist/cjs/elements/is/SwcAppOptGroup.js.map +0 -7
  252. package/dist/cjs/elements/is/SwcAppOption.js +0 -55
  253. package/dist/cjs/elements/is/SwcAppOption.js.map +0 -7
  254. package/dist/cjs/elements/is/SwcAppOutput.js +0 -55
  255. package/dist/cjs/elements/is/SwcAppOutput.js.map +0 -7
  256. package/dist/cjs/elements/is/SwcAppParagraph.js +0 -55
  257. package/dist/cjs/elements/is/SwcAppParagraph.js.map +0 -7
  258. package/dist/cjs/elements/is/SwcAppParam.js +0 -55
  259. package/dist/cjs/elements/is/SwcAppParam.js.map +0 -7
  260. package/dist/cjs/elements/is/SwcAppPicture.js +0 -55
  261. package/dist/cjs/elements/is/SwcAppPicture.js.map +0 -7
  262. package/dist/cjs/elements/is/SwcAppPre.js +0 -55
  263. package/dist/cjs/elements/is/SwcAppPre.js.map +0 -7
  264. package/dist/cjs/elements/is/SwcAppProgress.js +0 -55
  265. package/dist/cjs/elements/is/SwcAppProgress.js.map +0 -7
  266. package/dist/cjs/elements/is/SwcAppQuote.js +0 -55
  267. package/dist/cjs/elements/is/SwcAppQuote.js.map +0 -7
  268. package/dist/cjs/elements/is/SwcAppScript.js +0 -55
  269. package/dist/cjs/elements/is/SwcAppScript.js.map +0 -7
  270. package/dist/cjs/elements/is/SwcAppSelect.js +0 -55
  271. package/dist/cjs/elements/is/SwcAppSelect.js.map +0 -7
  272. package/dist/cjs/elements/is/SwcAppSlot.js +0 -55
  273. package/dist/cjs/elements/is/SwcAppSlot.js.map +0 -7
  274. package/dist/cjs/elements/is/SwcAppSource.js +0 -55
  275. package/dist/cjs/elements/is/SwcAppSource.js.map +0 -7
  276. package/dist/cjs/elements/is/SwcAppSpan.js +0 -55
  277. package/dist/cjs/elements/is/SwcAppSpan.js.map +0 -7
  278. package/dist/cjs/elements/is/SwcAppStyle.js +0 -55
  279. package/dist/cjs/elements/is/SwcAppStyle.js.map +0 -7
  280. package/dist/cjs/elements/is/SwcAppTable.js +0 -55
  281. package/dist/cjs/elements/is/SwcAppTable.js.map +0 -7
  282. package/dist/cjs/elements/is/SwcAppTableCell.js +0 -55
  283. package/dist/cjs/elements/is/SwcAppTableCell.js.map +0 -7
  284. package/dist/cjs/elements/is/SwcAppTableRow.js +0 -55
  285. package/dist/cjs/elements/is/SwcAppTableRow.js.map +0 -7
  286. package/dist/cjs/elements/is/SwcAppTableSection.js +0 -55
  287. package/dist/cjs/elements/is/SwcAppTableSection.js.map +0 -7
  288. package/dist/cjs/elements/is/SwcAppTemplate.js +0 -55
  289. package/dist/cjs/elements/is/SwcAppTemplate.js.map +0 -7
  290. package/dist/cjs/elements/is/SwcAppTextArea.js +0 -55
  291. package/dist/cjs/elements/is/SwcAppTextArea.js.map +0 -7
  292. package/dist/cjs/elements/is/SwcAppTime.js +0 -55
  293. package/dist/cjs/elements/is/SwcAppTime.js.map +0 -7
  294. package/dist/cjs/elements/is/SwcAppTitle.js +0 -55
  295. package/dist/cjs/elements/is/SwcAppTitle.js.map +0 -7
  296. package/dist/cjs/elements/is/SwcAppTrack.js +0 -55
  297. package/dist/cjs/elements/is/SwcAppTrack.js.map +0 -7
  298. package/dist/cjs/elements/is/SwcAppUl.js +0 -55
  299. package/dist/cjs/elements/is/SwcAppUl.js.map +0 -7
  300. package/dist/cjs/elements/is/SwcAppVideo.js +0 -55
  301. package/dist/cjs/elements/is/SwcAppVideo.js.map +0 -7
  302. package/dist/cjs/elements/is/index.js +0 -74
  303. package/dist/cjs/elements/is/index.js.map +0 -7
  304. package/dist/esm/decorators/innerHtml.js.map +0 -7
  305. package/dist/esm/elements/SwcApp.js +0 -36
  306. package/dist/esm/elements/SwcApp.js.map +0 -7
  307. package/dist/esm/elements/is/SwcAppAnchor.js +0 -36
  308. package/dist/esm/elements/is/SwcAppAnchor.js.map +0 -7
  309. package/dist/esm/elements/is/SwcAppArea.js +0 -36
  310. package/dist/esm/elements/is/SwcAppArea.js.map +0 -7
  311. package/dist/esm/elements/is/SwcAppAudio.js +0 -36
  312. package/dist/esm/elements/is/SwcAppAudio.js.map +0 -7
  313. package/dist/esm/elements/is/SwcAppBase.js +0 -36
  314. package/dist/esm/elements/is/SwcAppBase.js.map +0 -7
  315. package/dist/esm/elements/is/SwcAppBody.js +0 -36
  316. package/dist/esm/elements/is/SwcAppBody.js.map +0 -7
  317. package/dist/esm/elements/is/SwcAppButton.js +0 -36
  318. package/dist/esm/elements/is/SwcAppButton.js.map +0 -7
  319. package/dist/esm/elements/is/SwcAppCanvas.js +0 -36
  320. package/dist/esm/elements/is/SwcAppCanvas.js.map +0 -7
  321. package/dist/esm/elements/is/SwcAppData.js +0 -36
  322. package/dist/esm/elements/is/SwcAppData.js.map +0 -7
  323. package/dist/esm/elements/is/SwcAppDataList.js +0 -36
  324. package/dist/esm/elements/is/SwcAppDataList.js.map +0 -7
  325. package/dist/esm/elements/is/SwcAppDetails.js +0 -36
  326. package/dist/esm/elements/is/SwcAppDetails.js.map +0 -7
  327. package/dist/esm/elements/is/SwcAppDialog.js +0 -36
  328. package/dist/esm/elements/is/SwcAppDialog.js.map +0 -7
  329. package/dist/esm/elements/is/SwcAppDiv.js +0 -36
  330. package/dist/esm/elements/is/SwcAppDiv.js.map +0 -7
  331. package/dist/esm/elements/is/SwcAppDl.js +0 -36
  332. package/dist/esm/elements/is/SwcAppDl.js.map +0 -7
  333. package/dist/esm/elements/is/SwcAppEmbed.js +0 -36
  334. package/dist/esm/elements/is/SwcAppEmbed.js.map +0 -7
  335. package/dist/esm/elements/is/SwcAppFieldSet.js +0 -36
  336. package/dist/esm/elements/is/SwcAppFieldSet.js.map +0 -7
  337. package/dist/esm/elements/is/SwcAppForm.js +0 -36
  338. package/dist/esm/elements/is/SwcAppForm.js.map +0 -7
  339. package/dist/esm/elements/is/SwcAppHeading.js +0 -36
  340. package/dist/esm/elements/is/SwcAppHeading.js.map +0 -7
  341. package/dist/esm/elements/is/SwcAppHr.js +0 -36
  342. package/dist/esm/elements/is/SwcAppHr.js.map +0 -7
  343. package/dist/esm/elements/is/SwcAppIFrame.js +0 -36
  344. package/dist/esm/elements/is/SwcAppIFrame.js.map +0 -7
  345. package/dist/esm/elements/is/SwcAppImage.js +0 -36
  346. package/dist/esm/elements/is/SwcAppImage.js.map +0 -7
  347. package/dist/esm/elements/is/SwcAppInput.js +0 -36
  348. package/dist/esm/elements/is/SwcAppInput.js.map +0 -7
  349. package/dist/esm/elements/is/SwcAppLabel.js +0 -36
  350. package/dist/esm/elements/is/SwcAppLabel.js.map +0 -7
  351. package/dist/esm/elements/is/SwcAppLegend.js +0 -36
  352. package/dist/esm/elements/is/SwcAppLegend.js.map +0 -7
  353. package/dist/esm/elements/is/SwcAppLi.js +0 -36
  354. package/dist/esm/elements/is/SwcAppLi.js.map +0 -7
  355. package/dist/esm/elements/is/SwcAppLink.js +0 -36
  356. package/dist/esm/elements/is/SwcAppLink.js.map +0 -7
  357. package/dist/esm/elements/is/SwcAppMap.js +0 -36
  358. package/dist/esm/elements/is/SwcAppMap.js.map +0 -7
  359. package/dist/esm/elements/is/SwcAppMeta.js +0 -36
  360. package/dist/esm/elements/is/SwcAppMeta.js.map +0 -7
  361. package/dist/esm/elements/is/SwcAppMeter.js +0 -36
  362. package/dist/esm/elements/is/SwcAppMeter.js.map +0 -7
  363. package/dist/esm/elements/is/SwcAppMod.js +0 -36
  364. package/dist/esm/elements/is/SwcAppMod.js.map +0 -7
  365. package/dist/esm/elements/is/SwcAppObject.js +0 -36
  366. package/dist/esm/elements/is/SwcAppObject.js.map +0 -7
  367. package/dist/esm/elements/is/SwcAppOl.js +0 -36
  368. package/dist/esm/elements/is/SwcAppOl.js.map +0 -7
  369. package/dist/esm/elements/is/SwcAppOptGroup.js +0 -36
  370. package/dist/esm/elements/is/SwcAppOptGroup.js.map +0 -7
  371. package/dist/esm/elements/is/SwcAppOption.js +0 -36
  372. package/dist/esm/elements/is/SwcAppOption.js.map +0 -7
  373. package/dist/esm/elements/is/SwcAppOutput.js +0 -36
  374. package/dist/esm/elements/is/SwcAppOutput.js.map +0 -7
  375. package/dist/esm/elements/is/SwcAppParagraph.js +0 -36
  376. package/dist/esm/elements/is/SwcAppParagraph.js.map +0 -7
  377. package/dist/esm/elements/is/SwcAppParam.js +0 -36
  378. package/dist/esm/elements/is/SwcAppParam.js.map +0 -7
  379. package/dist/esm/elements/is/SwcAppPicture.js +0 -36
  380. package/dist/esm/elements/is/SwcAppPicture.js.map +0 -7
  381. package/dist/esm/elements/is/SwcAppPre.js +0 -36
  382. package/dist/esm/elements/is/SwcAppPre.js.map +0 -7
  383. package/dist/esm/elements/is/SwcAppProgress.js +0 -36
  384. package/dist/esm/elements/is/SwcAppProgress.js.map +0 -7
  385. package/dist/esm/elements/is/SwcAppQuote.js +0 -36
  386. package/dist/esm/elements/is/SwcAppQuote.js.map +0 -7
  387. package/dist/esm/elements/is/SwcAppScript.js +0 -36
  388. package/dist/esm/elements/is/SwcAppScript.js.map +0 -7
  389. package/dist/esm/elements/is/SwcAppSelect.js +0 -36
  390. package/dist/esm/elements/is/SwcAppSelect.js.map +0 -7
  391. package/dist/esm/elements/is/SwcAppSlot.js +0 -36
  392. package/dist/esm/elements/is/SwcAppSlot.js.map +0 -7
  393. package/dist/esm/elements/is/SwcAppSource.js +0 -36
  394. package/dist/esm/elements/is/SwcAppSource.js.map +0 -7
  395. package/dist/esm/elements/is/SwcAppSpan.js +0 -36
  396. package/dist/esm/elements/is/SwcAppSpan.js.map +0 -7
  397. package/dist/esm/elements/is/SwcAppStyle.js +0 -36
  398. package/dist/esm/elements/is/SwcAppStyle.js.map +0 -7
  399. package/dist/esm/elements/is/SwcAppTable.js +0 -36
  400. package/dist/esm/elements/is/SwcAppTable.js.map +0 -7
  401. package/dist/esm/elements/is/SwcAppTableCell.js +0 -36
  402. package/dist/esm/elements/is/SwcAppTableCell.js.map +0 -7
  403. package/dist/esm/elements/is/SwcAppTableRow.js +0 -36
  404. package/dist/esm/elements/is/SwcAppTableRow.js.map +0 -7
  405. package/dist/esm/elements/is/SwcAppTableSection.js +0 -36
  406. package/dist/esm/elements/is/SwcAppTableSection.js.map +0 -7
  407. package/dist/esm/elements/is/SwcAppTemplate.js +0 -36
  408. package/dist/esm/elements/is/SwcAppTemplate.js.map +0 -7
  409. package/dist/esm/elements/is/SwcAppTextArea.js +0 -36
  410. package/dist/esm/elements/is/SwcAppTextArea.js.map +0 -7
  411. package/dist/esm/elements/is/SwcAppTime.js +0 -36
  412. package/dist/esm/elements/is/SwcAppTime.js.map +0 -7
  413. package/dist/esm/elements/is/SwcAppTitle.js +0 -36
  414. package/dist/esm/elements/is/SwcAppTitle.js.map +0 -7
  415. package/dist/esm/elements/is/SwcAppTrack.js +0 -36
  416. package/dist/esm/elements/is/SwcAppTrack.js.map +0 -7
  417. package/dist/esm/elements/is/SwcAppUl.js +0 -36
  418. package/dist/esm/elements/is/SwcAppUl.js.map +0 -7
  419. package/dist/esm/elements/is/SwcAppVideo.js +0 -36
  420. package/dist/esm/elements/is/SwcAppVideo.js.map +0 -7
  421. package/dist/esm/elements/is/index.js +0 -58
  422. package/dist/esm/elements/is/index.js.map +0 -7
  423. package/dist/types/decorators/innerHtml.d.ts +0 -12
  424. package/dist/types/decorators/innerHtml.d.ts.map +0 -1
  425. package/dist/types/elements/SwcApp.d.ts +0 -9
  426. package/dist/types/elements/SwcApp.d.ts.map +0 -1
  427. package/dist/types/elements/is/SwcAppAnchor.d.ts +0 -9
  428. package/dist/types/elements/is/SwcAppAnchor.d.ts.map +0 -1
  429. package/dist/types/elements/is/SwcAppArea.d.ts +0 -9
  430. package/dist/types/elements/is/SwcAppArea.d.ts.map +0 -1
  431. package/dist/types/elements/is/SwcAppAudio.d.ts +0 -9
  432. package/dist/types/elements/is/SwcAppAudio.d.ts.map +0 -1
  433. package/dist/types/elements/is/SwcAppBase.d.ts +0 -9
  434. package/dist/types/elements/is/SwcAppBase.d.ts.map +0 -1
  435. package/dist/types/elements/is/SwcAppBody.d.ts +0 -9
  436. package/dist/types/elements/is/SwcAppBody.d.ts.map +0 -1
  437. package/dist/types/elements/is/SwcAppButton.d.ts +0 -9
  438. package/dist/types/elements/is/SwcAppButton.d.ts.map +0 -1
  439. package/dist/types/elements/is/SwcAppCanvas.d.ts +0 -9
  440. package/dist/types/elements/is/SwcAppCanvas.d.ts.map +0 -1
  441. package/dist/types/elements/is/SwcAppData.d.ts +0 -9
  442. package/dist/types/elements/is/SwcAppData.d.ts.map +0 -1
  443. package/dist/types/elements/is/SwcAppDataList.d.ts +0 -9
  444. package/dist/types/elements/is/SwcAppDataList.d.ts.map +0 -1
  445. package/dist/types/elements/is/SwcAppDetails.d.ts +0 -9
  446. package/dist/types/elements/is/SwcAppDetails.d.ts.map +0 -1
  447. package/dist/types/elements/is/SwcAppDialog.d.ts +0 -9
  448. package/dist/types/elements/is/SwcAppDialog.d.ts.map +0 -1
  449. package/dist/types/elements/is/SwcAppDiv.d.ts +0 -9
  450. package/dist/types/elements/is/SwcAppDiv.d.ts.map +0 -1
  451. package/dist/types/elements/is/SwcAppDl.d.ts +0 -9
  452. package/dist/types/elements/is/SwcAppDl.d.ts.map +0 -1
  453. package/dist/types/elements/is/SwcAppEmbed.d.ts +0 -9
  454. package/dist/types/elements/is/SwcAppEmbed.d.ts.map +0 -1
  455. package/dist/types/elements/is/SwcAppFieldSet.d.ts +0 -9
  456. package/dist/types/elements/is/SwcAppFieldSet.d.ts.map +0 -1
  457. package/dist/types/elements/is/SwcAppForm.d.ts +0 -9
  458. package/dist/types/elements/is/SwcAppForm.d.ts.map +0 -1
  459. package/dist/types/elements/is/SwcAppHeading.d.ts +0 -9
  460. package/dist/types/elements/is/SwcAppHeading.d.ts.map +0 -1
  461. package/dist/types/elements/is/SwcAppHr.d.ts +0 -9
  462. package/dist/types/elements/is/SwcAppHr.d.ts.map +0 -1
  463. package/dist/types/elements/is/SwcAppIFrame.d.ts +0 -9
  464. package/dist/types/elements/is/SwcAppIFrame.d.ts.map +0 -1
  465. package/dist/types/elements/is/SwcAppImage.d.ts +0 -9
  466. package/dist/types/elements/is/SwcAppImage.d.ts.map +0 -1
  467. package/dist/types/elements/is/SwcAppInput.d.ts +0 -9
  468. package/dist/types/elements/is/SwcAppInput.d.ts.map +0 -1
  469. package/dist/types/elements/is/SwcAppLabel.d.ts +0 -9
  470. package/dist/types/elements/is/SwcAppLabel.d.ts.map +0 -1
  471. package/dist/types/elements/is/SwcAppLegend.d.ts +0 -9
  472. package/dist/types/elements/is/SwcAppLegend.d.ts.map +0 -1
  473. package/dist/types/elements/is/SwcAppLi.d.ts +0 -9
  474. package/dist/types/elements/is/SwcAppLi.d.ts.map +0 -1
  475. package/dist/types/elements/is/SwcAppLink.d.ts +0 -9
  476. package/dist/types/elements/is/SwcAppLink.d.ts.map +0 -1
  477. package/dist/types/elements/is/SwcAppMap.d.ts +0 -9
  478. package/dist/types/elements/is/SwcAppMap.d.ts.map +0 -1
  479. package/dist/types/elements/is/SwcAppMeta.d.ts +0 -9
  480. package/dist/types/elements/is/SwcAppMeta.d.ts.map +0 -1
  481. package/dist/types/elements/is/SwcAppMeter.d.ts +0 -9
  482. package/dist/types/elements/is/SwcAppMeter.d.ts.map +0 -1
  483. package/dist/types/elements/is/SwcAppMod.d.ts +0 -9
  484. package/dist/types/elements/is/SwcAppMod.d.ts.map +0 -1
  485. package/dist/types/elements/is/SwcAppObject.d.ts +0 -9
  486. package/dist/types/elements/is/SwcAppObject.d.ts.map +0 -1
  487. package/dist/types/elements/is/SwcAppOl.d.ts +0 -9
  488. package/dist/types/elements/is/SwcAppOl.d.ts.map +0 -1
  489. package/dist/types/elements/is/SwcAppOptGroup.d.ts +0 -9
  490. package/dist/types/elements/is/SwcAppOptGroup.d.ts.map +0 -1
  491. package/dist/types/elements/is/SwcAppOption.d.ts +0 -9
  492. package/dist/types/elements/is/SwcAppOption.d.ts.map +0 -1
  493. package/dist/types/elements/is/SwcAppOutput.d.ts +0 -9
  494. package/dist/types/elements/is/SwcAppOutput.d.ts.map +0 -1
  495. package/dist/types/elements/is/SwcAppParagraph.d.ts +0 -9
  496. package/dist/types/elements/is/SwcAppParagraph.d.ts.map +0 -1
  497. package/dist/types/elements/is/SwcAppParam.d.ts +0 -9
  498. package/dist/types/elements/is/SwcAppParam.d.ts.map +0 -1
  499. package/dist/types/elements/is/SwcAppPicture.d.ts +0 -9
  500. package/dist/types/elements/is/SwcAppPicture.d.ts.map +0 -1
  501. package/dist/types/elements/is/SwcAppPre.d.ts +0 -9
  502. package/dist/types/elements/is/SwcAppPre.d.ts.map +0 -1
  503. package/dist/types/elements/is/SwcAppProgress.d.ts +0 -9
  504. package/dist/types/elements/is/SwcAppProgress.d.ts.map +0 -1
  505. package/dist/types/elements/is/SwcAppQuote.d.ts +0 -9
  506. package/dist/types/elements/is/SwcAppQuote.d.ts.map +0 -1
  507. package/dist/types/elements/is/SwcAppScript.d.ts +0 -9
  508. package/dist/types/elements/is/SwcAppScript.d.ts.map +0 -1
  509. package/dist/types/elements/is/SwcAppSelect.d.ts +0 -9
  510. package/dist/types/elements/is/SwcAppSelect.d.ts.map +0 -1
  511. package/dist/types/elements/is/SwcAppSlot.d.ts +0 -9
  512. package/dist/types/elements/is/SwcAppSlot.d.ts.map +0 -1
  513. package/dist/types/elements/is/SwcAppSource.d.ts +0 -9
  514. package/dist/types/elements/is/SwcAppSource.d.ts.map +0 -1
  515. package/dist/types/elements/is/SwcAppSpan.d.ts +0 -9
  516. package/dist/types/elements/is/SwcAppSpan.d.ts.map +0 -1
  517. package/dist/types/elements/is/SwcAppStyle.d.ts +0 -9
  518. package/dist/types/elements/is/SwcAppStyle.d.ts.map +0 -1
  519. package/dist/types/elements/is/SwcAppTable.d.ts +0 -9
  520. package/dist/types/elements/is/SwcAppTable.d.ts.map +0 -1
  521. package/dist/types/elements/is/SwcAppTableCell.d.ts +0 -9
  522. package/dist/types/elements/is/SwcAppTableCell.d.ts.map +0 -1
  523. package/dist/types/elements/is/SwcAppTableRow.d.ts +0 -9
  524. package/dist/types/elements/is/SwcAppTableRow.d.ts.map +0 -1
  525. package/dist/types/elements/is/SwcAppTableSection.d.ts +0 -9
  526. package/dist/types/elements/is/SwcAppTableSection.d.ts.map +0 -1
  527. package/dist/types/elements/is/SwcAppTemplate.d.ts +0 -9
  528. package/dist/types/elements/is/SwcAppTemplate.d.ts.map +0 -1
  529. package/dist/types/elements/is/SwcAppTextArea.d.ts +0 -9
  530. package/dist/types/elements/is/SwcAppTextArea.d.ts.map +0 -1
  531. package/dist/types/elements/is/SwcAppTime.d.ts +0 -9
  532. package/dist/types/elements/is/SwcAppTime.d.ts.map +0 -1
  533. package/dist/types/elements/is/SwcAppTitle.d.ts +0 -9
  534. package/dist/types/elements/is/SwcAppTitle.d.ts.map +0 -1
  535. package/dist/types/elements/is/SwcAppTrack.d.ts +0 -9
  536. package/dist/types/elements/is/SwcAppTrack.d.ts.map +0 -1
  537. package/dist/types/elements/is/SwcAppUl.d.ts +0 -9
  538. package/dist/types/elements/is/SwcAppUl.d.ts.map +0 -1
  539. package/dist/types/elements/is/SwcAppVideo.d.ts +0 -9
  540. package/dist/types/elements/is/SwcAppVideo.d.ts.map +0 -1
  541. package/dist/types/elements/is/index.d.ts +0 -58
  542. package/dist/types/elements/is/index.d.ts.map +0 -1
  543. package/src/elements/SwcApp.ts +0 -26
  544. package/src/elements/is/SwcAppAnchor.ts +0 -26
  545. package/src/elements/is/SwcAppArea.ts +0 -26
  546. package/src/elements/is/SwcAppAudio.ts +0 -26
  547. package/src/elements/is/SwcAppBase.ts +0 -26
  548. package/src/elements/is/SwcAppBody.ts +0 -26
  549. package/src/elements/is/SwcAppButton.ts +0 -26
  550. package/src/elements/is/SwcAppCanvas.ts +0 -26
  551. package/src/elements/is/SwcAppData.ts +0 -26
  552. package/src/elements/is/SwcAppDataList.ts +0 -26
  553. package/src/elements/is/SwcAppDetails.ts +0 -26
  554. package/src/elements/is/SwcAppDialog.ts +0 -26
  555. package/src/elements/is/SwcAppDiv.ts +0 -26
  556. package/src/elements/is/SwcAppDl.ts +0 -26
  557. package/src/elements/is/SwcAppEmbed.ts +0 -26
  558. package/src/elements/is/SwcAppFieldSet.ts +0 -26
  559. package/src/elements/is/SwcAppForm.ts +0 -26
  560. package/src/elements/is/SwcAppHeading.ts +0 -26
  561. package/src/elements/is/SwcAppHr.ts +0 -26
  562. package/src/elements/is/SwcAppIFrame.ts +0 -26
  563. package/src/elements/is/SwcAppImage.ts +0 -26
  564. package/src/elements/is/SwcAppInput.ts +0 -26
  565. package/src/elements/is/SwcAppLabel.ts +0 -26
  566. package/src/elements/is/SwcAppLegend.ts +0 -26
  567. package/src/elements/is/SwcAppLi.ts +0 -26
  568. package/src/elements/is/SwcAppLink.ts +0 -26
  569. package/src/elements/is/SwcAppMap.ts +0 -26
  570. package/src/elements/is/SwcAppMeta.ts +0 -26
  571. package/src/elements/is/SwcAppMeter.ts +0 -26
  572. package/src/elements/is/SwcAppMod.ts +0 -26
  573. package/src/elements/is/SwcAppObject.ts +0 -26
  574. package/src/elements/is/SwcAppOl.ts +0 -26
  575. package/src/elements/is/SwcAppOptGroup.ts +0 -26
  576. package/src/elements/is/SwcAppOption.ts +0 -26
  577. package/src/elements/is/SwcAppOutput.ts +0 -26
  578. package/src/elements/is/SwcAppParagraph.ts +0 -26
  579. package/src/elements/is/SwcAppParam.ts +0 -26
  580. package/src/elements/is/SwcAppPicture.ts +0 -26
  581. package/src/elements/is/SwcAppPre.ts +0 -26
  582. package/src/elements/is/SwcAppProgress.ts +0 -26
  583. package/src/elements/is/SwcAppQuote.ts +0 -26
  584. package/src/elements/is/SwcAppScript.ts +0 -26
  585. package/src/elements/is/SwcAppSelect.ts +0 -26
  586. package/src/elements/is/SwcAppSlot.ts +0 -26
  587. package/src/elements/is/SwcAppSource.ts +0 -26
  588. package/src/elements/is/SwcAppSpan.ts +0 -26
  589. package/src/elements/is/SwcAppStyle.ts +0 -26
  590. package/src/elements/is/SwcAppTable.ts +0 -26
  591. package/src/elements/is/SwcAppTableCell.ts +0 -26
  592. package/src/elements/is/SwcAppTableRow.ts +0 -26
  593. package/src/elements/is/SwcAppTableSection.ts +0 -26
  594. package/src/elements/is/SwcAppTemplate.ts +0 -26
  595. package/src/elements/is/SwcAppTextArea.ts +0 -26
  596. package/src/elements/is/SwcAppTime.ts +0 -26
  597. package/src/elements/is/SwcAppTitle.ts +0 -26
  598. package/src/elements/is/SwcAppTrack.ts +0 -26
  599. package/src/elements/is/SwcAppUl.ts +0 -26
  600. package/src/elements/is/SwcAppVideo.ts +0 -26
  601. package/src/elements/is/index.ts +0 -57
@@ -7,16 +7,14 @@ var __decorate = function(decorators, target, key, desc) {
7
7
  var __metadata = function(k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { elementDefine } from "../decorators/elementDefine.js";
11
10
  import { changedAttribute } from "../decorators/changedAttribute.js";
12
11
  import { SwcUtils } from "../utils/Utils.js";
13
12
  import { FunctionUtils } from "@dooboostore/core/function/FunctionUtils";
14
- let SwcLoop = class SwcLoop2 extends HTMLTemplateElement {
13
+ class SwcLoop extends HTMLTemplateElement {
15
14
  constructor() {
16
15
  super(...arguments);
17
16
  this._value = [];
18
- this._nodes = [];
19
- this._defaultNodes = [];
17
+ this._nodeGroups = [];
20
18
  }
21
19
  get value() {
22
20
  return this._value;
@@ -25,185 +23,89 @@ let SwcLoop = class SwcLoop2 extends HTMLTemplateElement {
25
23
  this._value = Array.isArray(nv) ? [...nv] : [];
26
24
  this.render();
27
25
  }
28
- getNodes(index) {
29
- return this._nodes[index] || null;
30
- }
31
- _getTarget() {
32
- const script = this.getAttribute("on-get-portal");
33
- if (!script)
34
- return null;
35
- try {
36
- const res = FunctionUtils.executeReturn({
37
- script,
38
- context: this,
39
- args: SwcUtils.getHelperAndHostSet(window, this)
40
- });
41
- if (typeof res === "string")
42
- return document.querySelector(res);
43
- if (res instanceof Node)
44
- return res;
45
- } catch (e) {
46
- console.error("[SwcLoop] Portal target error:", e);
47
- }
48
- return null;
49
- }
50
- append(...items) {
51
- if (!items.length || !this.parentElement)
52
- return;
53
- if (this._defaultNodes.length > 0)
54
- this._cleanupDefault();
55
- const fragment = document.createDocumentFragment();
56
- const startIndex = this._value.length;
57
- items.forEach((item, i) => {
58
- const index = startIndex + i;
59
- const nodes = this._createItemNodes(item, index);
60
- if (nodes) {
61
- this._nodes.push(nodes);
62
- nodes.forEach((n) => fragment.appendChild(n));
63
- this._value.push(item);
64
- } else {
65
- this._nodes.push(null);
66
- this._value.push(null);
67
- }
26
+ _resolvePortal() {
27
+ const portalScript = this.getAttribute("on-get-portal");
28
+ if (!portalScript)
29
+ return this.parentElement;
30
+ const win = this.ownerDocument?.defaultView || window;
31
+ const res = FunctionUtils.executeReturn({
32
+ script: portalScript,
33
+ context: this,
34
+ args: SwcUtils.getHelperAndHostSet(win, this)
68
35
  });
69
- const target = this._getTarget();
70
- if (target) {
71
- target.appendChild(fragment);
72
- } else {
73
- const lastValidIdx = this._nodes.length - items.length - 1;
74
- let refNode = this;
75
- for (let i = lastValidIdx; i >= 0; i--) {
76
- const group = this._nodes[i];
77
- if (group && group.length > 0) {
78
- refNode = group[group.length - 1];
79
- break;
80
- }
81
- }
82
- this.parentElement.insertBefore(fragment, refNode.nextSibling);
83
- }
36
+ if (res instanceof HTMLElement)
37
+ return res;
38
+ if (typeof res === "string")
39
+ return win.document.querySelector(res);
40
+ return this.parentElement;
84
41
  }
85
- remove(index) {
86
- const targetIdx = index !== void 0 ? index : this._nodes.length - 1;
87
- if (targetIdx < 0 || targetIdx >= this._nodes.length)
88
- return;
89
- const nodes = this._nodes[targetIdx];
90
- if (nodes) {
91
- nodes.forEach((n) => {
92
- if (n.parentElement)
93
- n.parentElement.removeChild(n);
94
- });
95
- this._nodes[targetIdx] = null;
96
- this._value[targetIdx] = null;
97
- }
98
- const activeRows = this._value.filter((v) => v !== null);
99
- if (activeRows.length === 0) {
100
- this.render();
101
- }
102
- }
103
- _createItemNodes(item, index) {
104
- const clone = this.content.cloneNode(true);
105
- Array.from(clone.querySelectorAll('template[is="swc-default"]')).forEach((t) => t.remove());
106
- const nodes = Array.from(clone.childNodes);
107
- const elements = nodes.filter((n) => n.nodeType === 1);
108
- const groupCtx = {
109
- $index: index,
110
- $item: item,
111
- $nodes: nodes,
112
- $elements: elements,
113
- $firstNode: nodes[0],
114
- $lastNode: nodes[nodes.length - 1],
115
- $firstElement: elements[0],
116
- $lastElement: elements[elements.length - 1],
117
- $isFirst: index === 0,
118
- $isLast: index === this._value.length - 1,
119
- $isEven: index % 2 === 0,
120
- $isOdd: index % 2 !== 0,
121
- $count: this._value.length
122
- };
123
- this._executeCallback("on-clone-nodes", groupCtx);
124
- nodes.forEach((node, nodeIndex) => {
125
- if (node instanceof HTMLElement)
126
- node.__swc_host = this;
127
- this._executeCallback("on-clone-node", { ...groupCtx, $node: node, $nodeIndex: nodeIndex, $isElement: node.nodeType === 1 });
128
- });
129
- return nodes;
130
- }
131
- _executeCallback(attrName, extraArgs) {
132
- const script = this.getAttribute(attrName);
42
+ _executeCloneCallback(attr, args) {
43
+ const script = this.getAttribute(attr);
133
44
  if (!script)
134
45
  return;
135
- const helperHostSet = SwcUtils.getHelperAndHostSet(window, this);
136
- try {
137
- FunctionUtils.execute({ script, context: this, args: { ...helperHostSet, ...extraArgs } });
138
- } catch (e) {
139
- console.error(`[SwcLoop] Error in ${attrName}:`, e);
140
- }
46
+ FunctionUtils.execute({ script, context: this, args });
47
+ }
48
+ _cleanup() {
49
+ this._nodeGroups.forEach((nodes) => nodes.forEach((n) => n.parentElement?.removeChild(n)));
50
+ this._nodeGroups = [];
141
51
  }
142
- refreshValue(newValue) {
143
- const script = newValue !== void 0 ? newValue : this.getAttribute("on-get-value");
52
+ refreshValue() {
53
+ const script = this.getAttribute("on-get-value");
144
54
  if (!script) {
145
55
  this.value = [];
146
56
  return;
147
57
  }
148
- const helperHostSet = SwcUtils.getHelperAndHostSet(window, this);
149
- try {
150
- const res = FunctionUtils.executeReturn({ script, context: this, args: helperHostSet });
151
- if (Array.isArray(res)) {
152
- this.value = res;
153
- }
154
- } catch (e) {
155
- console.error("[SwcLoop] Failed to get value from on-get-value script:", e);
156
- this.value = [];
58
+ const win = this.ownerDocument?.defaultView || window;
59
+ const res = FunctionUtils.executeReturn({
60
+ script,
61
+ context: this,
62
+ args: SwcUtils.getHelperAndHostSet(win, this)
63
+ });
64
+ if (res instanceof Promise) {
65
+ res.then((v) => this.value = v).catch(() => this.value = []);
66
+ } else {
67
+ this.value = res;
157
68
  }
158
69
  }
159
70
  render() {
160
71
  this._cleanup();
161
- if (!this.parentElement)
72
+ const portal = this._resolvePortal();
73
+ if (!portal)
162
74
  return;
163
- const activeRows = this._value.filter((v) => v !== null);
164
- const target = this._getTarget();
165
- if (activeRows.length === 0) {
166
- const t = this.content.querySelector('template[is="swc-default"]');
167
- if (t) {
168
- const clone = t.content.cloneNode(true);
169
- this._defaultNodes = Array.from(clone.childNodes);
170
- this._defaultNodes.forEach((n) => {
171
- if (n instanceof HTMLElement)
172
- n.__swc_host = this;
173
- });
174
- if (target)
175
- target.appendChild(clone);
176
- else
177
- this.parentElement.insertBefore(clone, this.nextSibling);
75
+ const win = this.ownerDocument?.defaultView || window;
76
+ const helperSet = SwcUtils.getHelperAndHostSet(win, this);
77
+ const fragment = win.document.createDocumentFragment();
78
+ if (this._value.length === 0) {
79
+ const defaultTpl = this.content.querySelector('template[is="swc-default"]');
80
+ if (defaultTpl) {
81
+ const clone = defaultTpl.content.cloneNode(true);
82
+ const nodes = Array.from(clone.childNodes);
83
+ this._nodeGroups.push(nodes);
84
+ fragment.appendChild(clone);
178
85
  }
179
- return;
86
+ } else {
87
+ this._value.forEach((item, index) => {
88
+ const clone = this.content.cloneNode(true);
89
+ const subTemplates = clone.querySelectorAll('template[is^="swc-"]');
90
+ subTemplates.forEach((t) => t.remove());
91
+ const nodes = Array.from(clone.childNodes);
92
+ const elements = nodes.filter((n) => n.nodeType === 1);
93
+ const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };
94
+ nodes.forEach((node, nodeIdx) => {
95
+ if (node instanceof HTMLElement)
96
+ node.__swc_host = this;
97
+ this._executeCloneCallback("on-clone-node", { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });
98
+ });
99
+ this._executeCloneCallback("on-clone-nodes", groupArgs);
100
+ this._nodeGroups.push(nodes);
101
+ fragment.appendChild(clone);
102
+ });
103
+ }
104
+ if (portal === this.parentElement) {
105
+ portal.insertBefore(fragment, this.nextSibling);
106
+ } else {
107
+ portal.appendChild(fragment);
180
108
  }
181
- const fragment = document.createDocumentFragment();
182
- this._value.forEach((item, index) => {
183
- if (item === null) {
184
- this._nodes.push(null);
185
- return;
186
- }
187
- const nodes = this._createItemNodes(item, index);
188
- this._nodes.push(nodes);
189
- nodes.forEach((n) => fragment.appendChild(n));
190
- });
191
- if (target)
192
- target.appendChild(fragment);
193
- else
194
- this.parentElement.insertBefore(fragment, this.nextSibling);
195
- }
196
- _cleanup() {
197
- this._nodes.forEach((group) => {
198
- if (group)
199
- group.forEach((node) => node.parentElement?.removeChild(node));
200
- });
201
- this._nodes = [];
202
- this._cleanupDefault();
203
- }
204
- _cleanupDefault() {
205
- this._defaultNodes.forEach((n) => n.parentElement?.removeChild(n));
206
- this._defaultNodes = [];
207
109
  }
208
110
  connectedCallback() {
209
111
  this.refreshValue();
@@ -211,16 +113,13 @@ let SwcLoop = class SwcLoop2 extends HTMLTemplateElement {
211
113
  disconnectedCallback() {
212
114
  this._cleanup();
213
115
  }
214
- };
116
+ }
215
117
  __decorate([
216
118
  changedAttribute("on-get-value"),
217
119
  __metadata("design:type", Function),
218
- __metadata("design:paramtypes", [String]),
120
+ __metadata("design:paramtypes", []),
219
121
  __metadata("design:returntype", void 0)
220
122
  ], SwcLoop.prototype, "refreshValue", null);
221
- SwcLoop = __decorate([
222
- elementDefine({ name: "swc-loop", extends: "template" })
223
- ], SwcLoop);
224
123
  export {
225
124
  SwcLoop
226
125
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcLoop.ts"],
4
- "sourcesContent": ["import { elementDefine } from '../decorators/elementDefine';\nimport { changedAttribute } from '../decorators/changedAttribute';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core/function/FunctionUtils';\n\n@elementDefine({ name: 'swc-loop', extends: 'template' })\nexport class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodes: (Node[] | null)[] = [];\n private _defaultNodes: Node[] = [];\n\n get value(): any[] {\n return this._value;\n }\n\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n getNodes(index: number): Node[] | null {\n return this._nodes[index] || null;\n }\n\n private _getTarget(): Element | DocumentFragment | null {\n const script = this.getAttribute('on-get-portal');\n if (!script) return null;\n try {\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(window, this)\n });\n if (typeof res === 'string') return document.querySelector(res);\n if (res instanceof Node) return res as any;\n } catch (e) {\n console.error('[SwcLoop] Portal target error:', e);\n }\n return null;\n }\n\n append(...items: any[]) {\n if (!items.length || !this.parentElement) return;\n if (this._defaultNodes.length > 0) this._cleanupDefault();\n\n const fragment = document.createDocumentFragment();\n const startIndex = this._value.length;\n\n items.forEach((item, i) => {\n const index = startIndex + i;\n const nodes = this._createItemNodes(item, index);\n if (nodes) {\n this._nodes.push(nodes);\n nodes.forEach(n => fragment.appendChild(n));\n this._value.push(item);\n } else {\n this._nodes.push(null);\n this._value.push(null);\n }\n });\n\n const target = this._getTarget();\n if (target) {\n target.appendChild(fragment);\n } else {\n const lastValidIdx = this._nodes.length - items.length - 1;\n let refNode: Node = this;\n for (let i = lastValidIdx; i >= 0; i--) {\n const group = this._nodes[i];\n if (group && group.length > 0) {\n refNode = group[group.length - 1];\n break;\n }\n }\n this.parentElement.insertBefore(fragment, refNode.nextSibling);\n }\n }\n\n remove(index?: number) {\n const targetIdx = index !== undefined ? index : this._nodes.length - 1;\n if (targetIdx < 0 || targetIdx >= this._nodes.length) return;\n\n const nodes = this._nodes[targetIdx];\n if (nodes) {\n nodes.forEach(n => {\n if (n.parentElement) n.parentElement.removeChild(n);\n });\n this._nodes[targetIdx] = null;\n this._value[targetIdx] = null;\n }\n\n const activeRows = this._value.filter(v => v !== null);\n if (activeRows.length === 0) {\n this.render();\n }\n }\n\n private _createItemNodes(item: any, index: number): Node[] {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n Array.from(clone.querySelectorAll('template[is=\"swc-default\"]')).forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupCtx = {\n $index: index,\n $item: item,\n $nodes: nodes,\n $elements: elements,\n $firstNode: nodes[0],\n $lastNode: nodes[nodes.length - 1],\n $firstElement: elements[0],\n $lastElement: elements[elements.length - 1],\n $isFirst: index === 0,\n $isLast: index === this._value.length - 1,\n $isEven: index % 2 === 0,\n $isOdd: index % 2 !== 0,\n $count: this._value.length\n };\n\n this._executeCallback('on-clone-nodes', groupCtx);\n nodes.forEach((node, nodeIndex) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCallback('on-clone-node', { ...groupCtx, $node: node, $nodeIndex: nodeIndex, $isElement: node.nodeType === 1 });\n });\n\n return nodes;\n }\n\n private _executeCallback(attrName: string, extraArgs: Record<string, any>) {\n const script = this.getAttribute(attrName);\n if (!script) return;\n const helperHostSet = SwcUtils.getHelperAndHostSet(window, this);\n try {\n FunctionUtils.execute({ script, context: this, args: { ...helperHostSet, ...extraArgs } });\n } catch (e) {\n console.error(`[SwcLoop] Error in ${attrName}:`, e);\n }\n }\n\n @changedAttribute('on-get-value')\n private refreshValue(newValue?: string | null) {\n const script = newValue !== undefined ? newValue : this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const helperHostSet = SwcUtils.getHelperAndHostSet(window, this);\n try {\n const res = FunctionUtils.executeReturn({ script, context: this, args: helperHostSet });\n if (Array.isArray(res)) {\n this.value = res;\n }\n } catch (e) {\n console.error('[SwcLoop] Failed to get value from on-get-value script:', e);\n this.value = [];\n }\n }\n\n render() {\n this._cleanup();\n if (!this.parentElement) return;\n\n const activeRows = this._value.filter(v => v !== null);\n const target = this._getTarget();\n\n if (activeRows.length === 0) {\n const t = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (t) {\n const clone = t.content.cloneNode(true) as DocumentFragment;\n this._defaultNodes = Array.from(clone.childNodes);\n this._defaultNodes.forEach(n => {\n if (n instanceof HTMLElement) (n as any).__swc_host = this;\n });\n if (target) target.appendChild(clone);\n else this.parentElement.insertBefore(clone, this.nextSibling);\n }\n return;\n }\n\n const fragment = document.createDocumentFragment();\n this._value.forEach((item, index) => {\n if (item === null) {\n this._nodes.push(null);\n return;\n }\n const nodes = this._createItemNodes(item, index);\n this._nodes.push(nodes);\n nodes.forEach(n => fragment.appendChild(n));\n });\n\n if (target) target.appendChild(fragment);\n else this.parentElement.insertBefore(fragment, this.nextSibling);\n }\n\n private _cleanup() {\n this._nodes.forEach(group => {\n if (group) group.forEach(node => node.parentElement?.removeChild(node));\n });\n this._nodes = [];\n this._cleanupDefault();\n }\n\n private _cleanupDefault() {\n this._defaultNodes.forEach(n => n.parentElement?.removeChild(n));\n this._defaultNodes = [];\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAGvB,IAAM,UAAN,MAAMA,iBAAgB,oBAAmB;EAAzC,cAAA;;AACG,SAAA,SAAgB,CAAA;AAChB,SAAA,SAA4B,CAAA;AAC5B,SAAA,gBAAwB,CAAA;EA6MlC;EA3ME,IAAI,QAAK;AACP,WAAO,KAAK;EACd;EAEA,IAAI,MAAM,IAAS;AACjB,SAAK,SAAS,MAAM,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAA;AAC5C,SAAK,OAAM;EACb;EAEA,SAAS,OAAa;AACpB,WAAO,KAAK,OAAO,KAAK,KAAK;EAC/B;EAEQ,aAAU;AAChB,UAAM,SAAS,KAAK,aAAa,eAAe;AAChD,QAAI,CAAC;AAAQ,aAAO;AACpB,QAAI;AACF,YAAM,MAAM,cAAc,cAAc;QACtC;QACA,SAAS;QACT,MAAM,SAAS,oBAAoB,QAAQ,IAAI;OAChD;AACD,UAAI,OAAO,QAAQ;AAAU,eAAO,SAAS,cAAc,GAAG;AAC9D,UAAI,eAAe;AAAM,eAAO;IAClC,SAAS,GAAG;AACV,cAAQ,MAAM,kCAAkC,CAAC;IACnD;AACA,WAAO;EACT;EAEA,UAAU,OAAY;AACpB,QAAI,CAAC,MAAM,UAAU,CAAC,KAAK;AAAe;AAC1C,QAAI,KAAK,cAAc,SAAS;AAAG,WAAK,gBAAe;AAEvD,UAAM,WAAW,SAAS,uBAAsB;AAChD,UAAM,aAAa,KAAK,OAAO;AAE/B,UAAM,QAAQ,CAAC,MAAM,MAAK;AACxB,YAAM,QAAQ,aAAa;AAC3B,YAAM,QAAQ,KAAK,iBAAiB,MAAM,KAAK;AAC/C,UAAI,OAAO;AACT,aAAK,OAAO,KAAK,KAAK;AACtB,cAAM,QAAQ,OAAK,SAAS,YAAY,CAAC,CAAC;AAC1C,aAAK,OAAO,KAAK,IAAI;MACvB,OAAO;AACL,aAAK,OAAO,KAAK,IAAI;AACrB,aAAK,OAAO,KAAK,IAAI;MACvB;IACF,CAAC;AAED,UAAM,SAAS,KAAK,WAAU;AAC9B,QAAI,QAAQ;AACV,aAAO,YAAY,QAAQ;IAC7B,OAAO;AACL,YAAM,eAAe,KAAK,OAAO,SAAS,MAAM,SAAS;AACzD,UAAI,UAAgB;AACpB,eAAS,IAAI,cAAc,KAAK,GAAG,KAAK;AACtC,cAAM,QAAQ,KAAK,OAAO,CAAC;AAC3B,YAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,oBAAU,MAAM,MAAM,SAAS,CAAC;AAChC;QACF;MACF;AACA,WAAK,cAAc,aAAa,UAAU,QAAQ,WAAW;IAC/D;EACF;EAEA,OAAO,OAAc;AACnB,UAAM,YAAY,UAAU,SAAY,QAAQ,KAAK,OAAO,SAAS;AACrE,QAAI,YAAY,KAAK,aAAa,KAAK,OAAO;AAAQ;AAEtD,UAAM,QAAQ,KAAK,OAAO,SAAS;AACnC,QAAI,OAAO;AACT,YAAM,QAAQ,OAAI;AAChB,YAAI,EAAE;AAAe,YAAE,cAAc,YAAY,CAAC;MACpD,CAAC;AACD,WAAK,OAAO,SAAS,IAAI;AACzB,WAAK,OAAO,SAAS,IAAI;IAC3B;AAEA,UAAM,aAAa,KAAK,OAAO,OAAO,OAAK,MAAM,IAAI;AACrD,QAAI,WAAW,WAAW,GAAG;AAC3B,WAAK,OAAM;IACb;EACF;EAEQ,iBAAiB,MAAW,OAAa;AAC/C,UAAM,QAAQ,KAAK,QAAQ,UAAU,IAAI;AACzC,UAAM,KAAK,MAAM,iBAAiB,4BAA4B,CAAC,EAAE,QAAQ,OAAK,EAAE,OAAM,CAAE;AAExF,UAAM,QAAQ,MAAM,KAAK,MAAM,UAAU;AACzC,UAAM,WAAW,MAAM,OAAO,OAAK,EAAE,aAAa,CAAC;AAEnD,UAAM,WAAW;MACf,QAAQ;MACR,OAAO;MACP,QAAQ;MACR,WAAW;MACX,YAAY,MAAM,CAAC;MACnB,WAAW,MAAM,MAAM,SAAS,CAAC;MACjC,eAAe,SAAS,CAAC;MACzB,cAAc,SAAS,SAAS,SAAS,CAAC;MAC1C,UAAU,UAAU;MACpB,SAAS,UAAU,KAAK,OAAO,SAAS;MACxC,SAAS,QAAQ,MAAM;MACvB,QAAQ,QAAQ,MAAM;MACtB,QAAQ,KAAK,OAAO;;AAGtB,SAAK,iBAAiB,kBAAkB,QAAQ;AAChD,UAAM,QAAQ,CAAC,MAAM,cAAa;AAChC,UAAI,gBAAgB;AAAc,aAAa,aAAa;AAC5D,WAAK,iBAAiB,iBAAiB,EAAE,GAAG,UAAU,OAAO,MAAM,YAAY,WAAW,YAAY,KAAK,aAAa,EAAC,CAAE;IAC7H,CAAC;AAED,WAAO;EACT;EAEQ,iBAAiB,UAAkB,WAA8B;AACvE,UAAM,SAAS,KAAK,aAAa,QAAQ;AACzC,QAAI,CAAC;AAAQ;AACb,UAAM,gBAAgB,SAAS,oBAAoB,QAAQ,IAAI;AAC/D,QAAI;AACF,oBAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,MAAM,EAAE,GAAG,eAAe,GAAG,UAAS,EAAE,CAAE;IAC3F,SAAS,GAAG;AACV,cAAQ,MAAM,sBAAsB,QAAQ,KAAK,CAAC;IACpD;EACF;EAGQ,aAAa,UAAwB;AAC3C,UAAM,SAAS,aAAa,SAAY,WAAW,KAAK,aAAa,cAAc;AACnF,QAAI,CAAC,QAAQ;AACX,WAAK,QAAQ,CAAA;AACb;IACF;AACA,UAAM,gBAAgB,SAAS,oBAAoB,QAAQ,IAAI;AAC/D,QAAI;AACF,YAAM,MAAM,cAAc,cAAc,EAAE,QAAQ,SAAS,MAAM,MAAM,cAAa,CAAE;AACtF,UAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAK,QAAQ;MACf;IACF,SAAS,GAAG;AACV,cAAQ,MAAM,2DAA2D,CAAC;AAC1E,WAAK,QAAQ,CAAA;IACf;EACF;EAEA,SAAM;AACJ,SAAK,SAAQ;AACb,QAAI,CAAC,KAAK;AAAe;AAEzB,UAAM,aAAa,KAAK,OAAO,OAAO,OAAK,MAAM,IAAI;AACrD,UAAM,SAAS,KAAK,WAAU;AAE9B,QAAI,WAAW,WAAW,GAAG;AAC3B,YAAM,IAAI,KAAK,QAAQ,cAAc,4BAA4B;AACjE,UAAI,GAAG;AACL,cAAM,QAAQ,EAAE,QAAQ,UAAU,IAAI;AACtC,aAAK,gBAAgB,MAAM,KAAK,MAAM,UAAU;AAChD,aAAK,cAAc,QAAQ,OAAI;AAC7B,cAAI,aAAa;AAAc,cAAU,aAAa;QACxD,CAAC;AACD,YAAI;AAAQ,iBAAO,YAAY,KAAK;;AAC/B,eAAK,cAAc,aAAa,OAAO,KAAK,WAAW;MAC9D;AACA;IACF;AAEA,UAAM,WAAW,SAAS,uBAAsB;AAChD,SAAK,OAAO,QAAQ,CAAC,MAAM,UAAS;AAClC,UAAI,SAAS,MAAM;AACjB,aAAK,OAAO,KAAK,IAAI;AACrB;MACF;AACA,YAAM,QAAQ,KAAK,iBAAiB,MAAM,KAAK;AAC/C,WAAK,OAAO,KAAK,KAAK;AACtB,YAAM,QAAQ,OAAK,SAAS,YAAY,CAAC,CAAC;IAC5C,CAAC;AAED,QAAI;AAAQ,aAAO,YAAY,QAAQ;;AAClC,WAAK,cAAc,aAAa,UAAU,KAAK,WAAW;EACjE;EAEQ,WAAQ;AACd,SAAK,OAAO,QAAQ,WAAQ;AAC1B,UAAI;AAAO,cAAM,QAAQ,UAAQ,KAAK,eAAe,YAAY,IAAI,CAAC;IACxE,CAAC;AACD,SAAK,SAAS,CAAA;AACd,SAAK,gBAAe;EACtB;EAEQ,kBAAe;AACrB,SAAK,cAAc,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC;AAC/D,SAAK,gBAAgB,CAAA;EACvB;EAEA,oBAAiB;AACf,SAAK,aAAY;EACnB;EACA,uBAAoB;AAClB,SAAK,SAAQ;EACf;;AAxEQ,WAAA;EADP,iBAAiB,cAAc;;;;;AAtIrB,UAAO,WAAA;EADnB,cAAc,EAAE,MAAM,YAAY,SAAS,WAAU,CAAE;GAC3C,OAAO;",
6
- "names": ["SwcLoop"]
4
+ "sourcesContent": ["import { changedAttribute } from '../decorators/changedAttribute';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core/function/FunctionUtils';\n\nexport class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodeGroups: Node[][] = [];\n\n get value(): any[] {\n return this._value;\n }\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n private _cleanup() {\n this._nodeGroups.forEach(nodes => nodes.forEach(n => n.parentElement?.removeChild(n)));\n this._nodeGroups = [];\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = []));\n } else {\n this.value = res;\n }\n }\n\n render() {\n this._cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n const fragment = win.document.createDocumentFragment();\n\n if (this._value.length === 0) {\n const defaultTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (defaultTpl) {\n const clone = defaultTpl.content.cloneNode(true);\n const nodes = Array.from(clone.childNodes);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n }\n } else {\n this._value.forEach((item, index) => {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n // Filter out sub-templates\n const subTemplates = clone.querySelectorAll('template[is^=\"swc-\"]');\n subTemplates.forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };\n\n nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n });\n }\n\n if (portal === this.parentElement) {\n portal.insertBefore(fragment, this.nextSibling);\n } else {\n portal.appendChild(fragment);\n }\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -1,40 +1,15 @@
1
- var __decorate = function(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { elementDefine } from "../decorators/elementDefine.js";
8
- let SwcLoading = class SwcLoading2 extends HTMLTemplateElement {
9
- };
10
- SwcLoading = __decorate([
11
- elementDefine({ name: "swc-loading", extends: "template" })
12
- ], SwcLoading);
13
- let SwcError = class SwcError2 extends HTMLTemplateElement {
14
- };
15
- SwcError = __decorate([
16
- elementDefine({ name: "swc-error", extends: "template" })
17
- ], SwcError);
18
- let SwcSuccess = class SwcSuccess2 extends HTMLTemplateElement {
19
- };
20
- SwcSuccess = __decorate([
21
- elementDefine({ name: "swc-success", extends: "template" })
22
- ], SwcSuccess);
23
- let SwcWhen = class SwcWhen2 extends HTMLTemplateElement {
24
- };
25
- SwcWhen = __decorate([
26
- elementDefine({ name: "swc-when", extends: "template" })
27
- ], SwcWhen);
28
- let SwcOtherwise = class SwcOtherwise2 extends HTMLTemplateElement {
29
- };
30
- SwcOtherwise = __decorate([
31
- elementDefine({ name: "swc-otherwise", extends: "template" })
32
- ], SwcOtherwise);
33
- let SwcDefault = class SwcDefault2 extends HTMLTemplateElement {
34
- };
35
- SwcDefault = __decorate([
36
- elementDefine({ name: "swc-default", extends: "template" })
37
- ], SwcDefault);
1
+ class SwcLoading extends HTMLTemplateElement {
2
+ }
3
+ class SwcError extends HTMLTemplateElement {
4
+ }
5
+ class SwcSuccess extends HTMLTemplateElement {
6
+ }
7
+ class SwcWhen extends HTMLTemplateElement {
8
+ }
9
+ class SwcOtherwise extends HTMLTemplateElement {
10
+ }
11
+ class SwcDefault extends HTMLTemplateElement {
12
+ }
38
13
  export {
39
14
  SwcDefault,
40
15
  SwcError,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcSubTemplates.ts"],
4
- "sourcesContent": ["import { elementDefine } from '../decorators/elementDefine';\n\n@elementDefine({ name: 'swc-loading', extends: 'template' })\nexport class SwcLoading extends HTMLTemplateElement {}\n\n@elementDefine({ name: 'swc-error', extends: 'template' })\nexport class SwcError extends HTMLTemplateElement {}\n\n@elementDefine({ name: 'swc-success', extends: 'template' })\nexport class SwcSuccess extends HTMLTemplateElement {}\n\n@elementDefine({ name: 'swc-when', extends: 'template' })\nexport class SwcWhen extends HTMLTemplateElement {}\n\n@elementDefine({ name: 'swc-otherwise', extends: 'template' })\nexport class SwcOtherwise extends HTMLTemplateElement {}\n\n@elementDefine({ name: 'swc-default', extends: 'template' })\nexport class SwcDefault extends HTMLTemplateElement {}\n"],
5
- "mappings": ";;;;;;AAAA,SAAS,qBAAqB;AAGvB,IAAM,aAAN,MAAMA,oBAAmB,oBAAmB;;AAAtC,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,eAAe,SAAS,WAAU,CAAE;GAC9C,UAAU;AAGhB,IAAM,WAAN,MAAMC,kBAAiB,oBAAmB;;AAApC,WAAQ,WAAA;EADpB,cAAc,EAAE,MAAM,aAAa,SAAS,WAAU,CAAE;GAC5C,QAAQ;AAGd,IAAM,aAAN,MAAMC,oBAAmB,oBAAmB;;AAAtC,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,eAAe,SAAS,WAAU,CAAE;GAC9C,UAAU;AAGhB,IAAM,UAAN,MAAMC,iBAAgB,oBAAmB;;AAAnC,UAAO,WAAA;EADnB,cAAc,EAAE,MAAM,YAAY,SAAS,WAAU,CAAE;GAC3C,OAAO;AAGb,IAAM,eAAN,MAAMC,sBAAqB,oBAAmB;;AAAxC,eAAY,WAAA;EADxB,cAAc,EAAE,MAAM,iBAAiB,SAAS,WAAU,CAAE;GAChD,YAAY;AAGlB,IAAM,aAAN,MAAMC,oBAAmB,oBAAmB;;AAAtC,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,eAAe,SAAS,WAAU,CAAE;GAC9C,UAAU;",
6
- "names": ["SwcLoading", "SwcError", "SwcSuccess", "SwcWhen", "SwcOtherwise", "SwcDefault"]
4
+ "sourcesContent": ["export class SwcLoading extends HTMLTemplateElement {}\nexport class SwcError extends HTMLTemplateElement {}\nexport class SwcSuccess extends HTMLTemplateElement {}\nexport class SwcWhen extends HTMLTemplateElement {}\nexport class SwcOtherwise extends HTMLTemplateElement {}\nexport class SwcDefault extends HTMLTemplateElement {}\n"],
5
+ "mappings": "AAAO,MAAM,mBAAmB,oBAAoB;AAAC;AAC9C,MAAM,iBAAiB,oBAAoB;AAAC;AAC5C,MAAM,mBAAmB,oBAAoB;AAAC;AAC9C,MAAM,gBAAgB,oBAAoB;AAAC;AAC3C,MAAM,qBAAqB,oBAAoB;AAAC;AAChD,MAAM,mBAAmB,oBAAoB;AAAC;",
6
+ "names": []
7
7
  }
@@ -1,9 +1,2 @@
1
- export * from "./is/index.js";
2
- export * from "./SwcSubTemplates.js";
3
- export * from "./SwcLoop.js";
4
- export * from "./SwcIf.js";
5
- export * from "./SwcChoose.js";
6
- export * from "./SwcAsync.js";
7
- export * from "./SwcApp.js";
8
- export * from "./SwcAppEngine.js";
1
+ export * from "./register.js";
9
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/index.ts"],
4
- "sourcesContent": ["export * from './is';\nexport * from './SwcSubTemplates';\nexport * from './SwcLoop';\nexport * from './SwcIf';\nexport * from './SwcChoose';\nexport * from './SwcAsync';\nexport * from './SwcApp';\nexport * from './SwcAppEngine';\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["export * from './register';\n"],
5
+ "mappings": "AAAA,cAAc;",
6
6
  "names": []
7
7
  }