@dooboostore/simple-web-component 1.0.12 → 1.0.13

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 (757) hide show
  1. package/README.md +11 -12
  2. package/dist/cjs/decorators/elementDefine.js +88 -82
  3. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  4. package/dist/cjs/decorators/index.js +26 -0
  5. package/dist/cjs/decorators/index.js.map +7 -0
  6. package/dist/cjs/elements/SwcInterfaces.js +35 -0
  7. package/dist/cjs/elements/SwcInterfaces.js.map +7 -0
  8. package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
  9. package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
  10. package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
  11. package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
  12. package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
  13. package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
  14. package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
  15. package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
  16. package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
  17. package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
  18. package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
  19. package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
  20. package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
  21. package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
  22. package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
  23. package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
  24. package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
  25. package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
  26. package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
  27. package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
  28. package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
  29. package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
  30. package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
  31. package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
  32. package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
  33. package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
  34. package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
  35. package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
  36. package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
  37. package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
  38. package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
  39. package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
  40. package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
  41. package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
  42. package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
  43. package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
  44. package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
  45. package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
  46. package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
  47. package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
  48. package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
  49. package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
  50. package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
  51. package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
  52. package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
  53. package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
  54. package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
  55. package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
  56. package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
  57. package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
  58. package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
  59. package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
  60. package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
  61. package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
  62. package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
  63. package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
  64. package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
  65. package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
  66. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  67. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  68. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js +17 -8
  69. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  70. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js +17 -8
  71. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  72. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js +17 -8
  73. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  74. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js +17 -8
  75. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  76. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js +17 -8
  77. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  78. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  79. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  80. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js +17 -8
  81. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  82. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js +17 -8
  83. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  84. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js +17 -8
  85. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  86. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  87. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  88. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js +17 -8
  89. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  90. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js +17 -8
  91. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  92. package/dist/cjs/elements/base/SwcHTMLElementBase.js +17 -8
  93. package/dist/cjs/elements/base/SwcHTMLElementBase.js.map +2 -2
  94. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  95. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  96. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  97. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  98. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js +17 -8
  99. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  100. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js +17 -8
  101. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  102. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  103. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  104. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  105. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  106. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js +17 -8
  107. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  108. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js +17 -8
  109. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  110. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js +17 -8
  111. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  112. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js +17 -8
  113. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  114. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js +17 -8
  115. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  116. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js +17 -8
  117. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  118. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js +17 -8
  119. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  120. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js +17 -8
  121. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  122. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js +17 -8
  123. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  124. package/dist/cjs/elements/base/SwcHTMLModElementBase.js +17 -8
  125. package/dist/cjs/elements/base/SwcHTMLModElementBase.js.map +2 -2
  126. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js +17 -8
  127. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  128. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js +17 -8
  129. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  130. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  131. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  132. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js +17 -8
  133. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  134. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js +17 -8
  135. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  136. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  137. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  138. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js +17 -8
  139. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  140. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js +17 -8
  141. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  142. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js +17 -8
  143. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  144. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js +17 -8
  145. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  146. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  147. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  148. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js +17 -8
  149. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  150. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js +17 -8
  151. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  152. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js +17 -8
  153. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  154. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js +17 -8
  155. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  156. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js +17 -8
  157. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  158. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js +17 -8
  159. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  160. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  161. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  162. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js +17 -8
  163. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  164. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  165. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  166. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  167. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  168. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  169. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  170. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  171. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  172. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js +17 -8
  173. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  174. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js +17 -8
  175. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  176. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js +17 -8
  177. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  178. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js +17 -8
  179. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  180. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js +17 -8
  181. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  182. package/dist/cjs/elements/index.js +1 -0
  183. package/dist/cjs/elements/index.js.map +2 -2
  184. package/dist/cjs/index.js +2 -17
  185. package/dist/cjs/index.js.map +2 -2
  186. package/dist/cjs/utils/Utils.js +44 -0
  187. package/dist/cjs/utils/Utils.js.map +2 -2
  188. package/dist/esm/decorators/elementDefine.js +88 -82
  189. package/dist/esm/decorators/elementDefine.js.map +3 -3
  190. package/dist/esm/decorators/index.js +10 -0
  191. package/dist/esm/decorators/index.js.map +7 -0
  192. package/dist/esm/elements/SwcInterfaces.js +16 -0
  193. package/dist/esm/elements/SwcInterfaces.js.map +7 -0
  194. package/dist/esm/elements/apps/SwcApp.js.map +2 -2
  195. package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
  196. package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
  197. package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
  198. package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
  199. package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
  200. package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
  201. package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
  202. package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
  203. package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
  204. package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
  205. package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
  206. package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
  207. package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
  208. package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
  209. package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
  210. package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
  211. package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
  212. package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
  213. package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
  214. package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
  215. package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
  216. package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
  217. package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
  218. package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
  219. package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
  220. package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
  221. package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
  222. package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
  223. package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
  224. package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
  225. package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
  226. package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
  227. package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
  228. package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
  229. package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
  230. package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
  231. package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
  232. package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
  233. package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
  234. package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
  235. package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
  236. package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
  237. package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
  238. package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
  239. package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
  240. package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
  241. package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
  242. package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
  243. package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
  244. package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
  245. package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
  246. package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
  247. package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
  248. package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
  249. package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
  250. package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
  251. package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
  252. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  253. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  254. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js +17 -8
  255. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  256. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js +17 -8
  257. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  258. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js +17 -8
  259. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  260. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js +17 -8
  261. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  262. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js +17 -8
  263. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  264. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  265. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  266. package/dist/esm/elements/base/SwcHTMLDListElementBase.js +17 -8
  267. package/dist/esm/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  268. package/dist/esm/elements/base/SwcHTMLDataElementBase.js +17 -8
  269. package/dist/esm/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  270. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js +17 -8
  271. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  272. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  273. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  274. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js +17 -8
  275. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  276. package/dist/esm/elements/base/SwcHTMLDivElementBase.js +17 -8
  277. package/dist/esm/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  278. package/dist/esm/elements/base/SwcHTMLElementBase.js +17 -8
  279. package/dist/esm/elements/base/SwcHTMLElementBase.js.map +2 -2
  280. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  281. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  282. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  283. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  284. package/dist/esm/elements/base/SwcHTMLFormElementBase.js +17 -8
  285. package/dist/esm/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  286. package/dist/esm/elements/base/SwcHTMLHRElementBase.js +17 -8
  287. package/dist/esm/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  288. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  289. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  290. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  291. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  292. package/dist/esm/elements/base/SwcHTMLImageElementBase.js +17 -8
  293. package/dist/esm/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  294. package/dist/esm/elements/base/SwcHTMLInputElementBase.js +17 -8
  295. package/dist/esm/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  296. package/dist/esm/elements/base/SwcHTMLLIElementBase.js +17 -8
  297. package/dist/esm/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  298. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js +17 -8
  299. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  300. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js +17 -8
  301. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  302. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js +17 -8
  303. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  304. package/dist/esm/elements/base/SwcHTMLMapElementBase.js +17 -8
  305. package/dist/esm/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  306. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js +17 -8
  307. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  308. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js +17 -8
  309. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  310. package/dist/esm/elements/base/SwcHTMLModElementBase.js +17 -8
  311. package/dist/esm/elements/base/SwcHTMLModElementBase.js.map +2 -2
  312. package/dist/esm/elements/base/SwcHTMLOListElementBase.js +17 -8
  313. package/dist/esm/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  314. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js +17 -8
  315. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  316. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  317. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  318. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js +17 -8
  319. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  320. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js +17 -8
  321. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  322. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  323. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  324. package/dist/esm/elements/base/SwcHTMLParamElementBase.js +17 -8
  325. package/dist/esm/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  326. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js +17 -8
  327. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  328. package/dist/esm/elements/base/SwcHTMLPreElementBase.js +17 -8
  329. package/dist/esm/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  330. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js +17 -8
  331. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  332. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  333. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  334. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js +17 -8
  335. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  336. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js +17 -8
  337. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  338. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js +17 -8
  339. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  340. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js +17 -8
  341. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  342. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js +17 -8
  343. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  344. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js +17 -8
  345. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  346. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  347. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  348. package/dist/esm/elements/base/SwcHTMLTableElementBase.js +17 -8
  349. package/dist/esm/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  350. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  351. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  352. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  353. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  354. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  355. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  356. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  357. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  358. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js +17 -8
  359. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  360. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js +17 -8
  361. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  362. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js +17 -8
  363. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  364. package/dist/esm/elements/base/SwcHTMLUListElementBase.js +17 -8
  365. package/dist/esm/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  366. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js +17 -8
  367. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  368. package/dist/esm/elements/index.js +1 -0
  369. package/dist/esm/elements/index.js.map +2 -2
  370. package/dist/esm/index.js +2 -17
  371. package/dist/esm/index.js.map +2 -2
  372. package/dist/esm/utils/Utils.js +44 -0
  373. package/dist/esm/utils/Utils.js.map +2 -2
  374. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2402 -1816
  375. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  376. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  377. package/dist/types/decorators/index.d.ts +10 -0
  378. package/dist/types/decorators/index.d.ts.map +1 -0
  379. package/dist/types/elements/SwcInterfaces.d.ts +46 -0
  380. package/dist/types/elements/SwcInterfaces.d.ts.map +1 -0
  381. package/dist/types/elements/apps/SwcApp.d.ts +1 -1
  382. package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
  383. package/dist/types/elements/apps/SwcAppAnchor.d.ts +1 -1
  384. package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
  385. package/dist/types/elements/apps/SwcAppArea.d.ts +1 -1
  386. package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
  387. package/dist/types/elements/apps/SwcAppAudio.d.ts +1 -1
  388. package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
  389. package/dist/types/elements/apps/SwcAppBase.d.ts +1 -1
  390. package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
  391. package/dist/types/elements/apps/SwcAppBody.d.ts +1 -1
  392. package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
  393. package/dist/types/elements/apps/SwcAppButton.d.ts +1 -1
  394. package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
  395. package/dist/types/elements/apps/SwcAppCanvas.d.ts +1 -1
  396. package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
  397. package/dist/types/elements/apps/SwcAppData.d.ts +1 -1
  398. package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
  399. package/dist/types/elements/apps/SwcAppDataList.d.ts +1 -1
  400. package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
  401. package/dist/types/elements/apps/SwcAppDetails.d.ts +1 -1
  402. package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
  403. package/dist/types/elements/apps/SwcAppDialog.d.ts +1 -1
  404. package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
  405. package/dist/types/elements/apps/SwcAppDiv.d.ts +1 -1
  406. package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
  407. package/dist/types/elements/apps/SwcAppDl.d.ts +1 -1
  408. package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
  409. package/dist/types/elements/apps/SwcAppEmbed.d.ts +1 -1
  410. package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
  411. package/dist/types/elements/apps/SwcAppFieldSet.d.ts +1 -1
  412. package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
  413. package/dist/types/elements/apps/SwcAppForm.d.ts +1 -1
  414. package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
  415. package/dist/types/elements/apps/SwcAppHeading.d.ts +1 -1
  416. package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
  417. package/dist/types/elements/apps/SwcAppHr.d.ts +1 -1
  418. package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
  419. package/dist/types/elements/apps/SwcAppIFrame.d.ts +1 -1
  420. package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
  421. package/dist/types/elements/apps/SwcAppImage.d.ts +1 -1
  422. package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
  423. package/dist/types/elements/apps/SwcAppInput.d.ts +1 -1
  424. package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
  425. package/dist/types/elements/apps/SwcAppLabel.d.ts +1 -1
  426. package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
  427. package/dist/types/elements/apps/SwcAppLegend.d.ts +1 -1
  428. package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
  429. package/dist/types/elements/apps/SwcAppLi.d.ts +1 -1
  430. package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
  431. package/dist/types/elements/apps/SwcAppLink.d.ts +1 -1
  432. package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
  433. package/dist/types/elements/apps/SwcAppMap.d.ts +1 -1
  434. package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
  435. package/dist/types/elements/apps/SwcAppMeta.d.ts +1 -1
  436. package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
  437. package/dist/types/elements/apps/SwcAppMeter.d.ts +1 -1
  438. package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
  439. package/dist/types/elements/apps/SwcAppMod.d.ts +1 -1
  440. package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
  441. package/dist/types/elements/apps/SwcAppObject.d.ts +1 -1
  442. package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
  443. package/dist/types/elements/apps/SwcAppOl.d.ts +1 -1
  444. package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
  445. package/dist/types/elements/apps/SwcAppOptGroup.d.ts +1 -1
  446. package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
  447. package/dist/types/elements/apps/SwcAppOption.d.ts +1 -1
  448. package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
  449. package/dist/types/elements/apps/SwcAppOutput.d.ts +1 -1
  450. package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
  451. package/dist/types/elements/apps/SwcAppParagraph.d.ts +1 -1
  452. package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
  453. package/dist/types/elements/apps/SwcAppParam.d.ts +1 -1
  454. package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
  455. package/dist/types/elements/apps/SwcAppPicture.d.ts +1 -1
  456. package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
  457. package/dist/types/elements/apps/SwcAppPre.d.ts +1 -1
  458. package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
  459. package/dist/types/elements/apps/SwcAppProgress.d.ts +1 -1
  460. package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
  461. package/dist/types/elements/apps/SwcAppQuote.d.ts +1 -1
  462. package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
  463. package/dist/types/elements/apps/SwcAppScript.d.ts +1 -1
  464. package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
  465. package/dist/types/elements/apps/SwcAppSelect.d.ts +1 -1
  466. package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
  467. package/dist/types/elements/apps/SwcAppSlot.d.ts +1 -1
  468. package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
  469. package/dist/types/elements/apps/SwcAppSource.d.ts +1 -1
  470. package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
  471. package/dist/types/elements/apps/SwcAppSpan.d.ts +1 -1
  472. package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
  473. package/dist/types/elements/apps/SwcAppStyle.d.ts +1 -1
  474. package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
  475. package/dist/types/elements/apps/SwcAppTable.d.ts +1 -1
  476. package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
  477. package/dist/types/elements/apps/SwcAppTableCell.d.ts +1 -1
  478. package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
  479. package/dist/types/elements/apps/SwcAppTableRow.d.ts +1 -1
  480. package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
  481. package/dist/types/elements/apps/SwcAppTableSection.d.ts +1 -1
  482. package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
  483. package/dist/types/elements/apps/SwcAppTemplate.d.ts +1 -1
  484. package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
  485. package/dist/types/elements/apps/SwcAppTextArea.d.ts +1 -1
  486. package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
  487. package/dist/types/elements/apps/SwcAppTime.d.ts +1 -1
  488. package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
  489. package/dist/types/elements/apps/SwcAppTitle.d.ts +1 -1
  490. package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
  491. package/dist/types/elements/apps/SwcAppTrack.d.ts +1 -1
  492. package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
  493. package/dist/types/elements/apps/SwcAppUl.d.ts +1 -1
  494. package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
  495. package/dist/types/elements/apps/SwcAppVideo.d.ts +1 -1
  496. package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
  497. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts +6 -3
  498. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts.map +1 -1
  499. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts +6 -3
  500. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts.map +1 -1
  501. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts +6 -3
  502. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts.map +1 -1
  503. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts +6 -3
  504. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts.map +1 -1
  505. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts +6 -3
  506. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts.map +1 -1
  507. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts +6 -3
  508. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts.map +1 -1
  509. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts +6 -3
  510. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts.map +1 -1
  511. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts +6 -3
  512. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts.map +1 -1
  513. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts +6 -3
  514. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts.map +1 -1
  515. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts +6 -3
  516. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts.map +1 -1
  517. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts +6 -3
  518. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts.map +1 -1
  519. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts +6 -3
  520. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts.map +1 -1
  521. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts +6 -3
  522. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts.map +1 -1
  523. package/dist/types/elements/base/SwcHTMLElementBase.d.ts +6 -3
  524. package/dist/types/elements/base/SwcHTMLElementBase.d.ts.map +1 -1
  525. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts +6 -3
  526. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts.map +1 -1
  527. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts +6 -3
  528. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts.map +1 -1
  529. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts +6 -3
  530. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts.map +1 -1
  531. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts +6 -3
  532. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts.map +1 -1
  533. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts +6 -3
  534. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts.map +1 -1
  535. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts +6 -3
  536. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts.map +1 -1
  537. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts +6 -3
  538. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts.map +1 -1
  539. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts +6 -3
  540. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts.map +1 -1
  541. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts +6 -3
  542. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts.map +1 -1
  543. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts +6 -3
  544. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts.map +1 -1
  545. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts +6 -3
  546. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts.map +1 -1
  547. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts +6 -3
  548. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts.map +1 -1
  549. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts +6 -3
  550. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts.map +1 -1
  551. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts +6 -3
  552. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts.map +1 -1
  553. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts +6 -3
  554. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts.map +1 -1
  555. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts +6 -3
  556. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts.map +1 -1
  557. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts +6 -3
  558. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts.map +1 -1
  559. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts +6 -3
  560. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts.map +1 -1
  561. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts +6 -3
  562. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts.map +1 -1
  563. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts +6 -3
  564. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts.map +1 -1
  565. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts +6 -3
  566. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts.map +1 -1
  567. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts +6 -3
  568. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts.map +1 -1
  569. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts +6 -3
  570. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts.map +1 -1
  571. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts +6 -3
  572. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts.map +1 -1
  573. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts +6 -3
  574. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts.map +1 -1
  575. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts +6 -3
  576. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts.map +1 -1
  577. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts +6 -3
  578. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts.map +1 -1
  579. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts +6 -3
  580. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts.map +1 -1
  581. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts +6 -3
  582. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts.map +1 -1
  583. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts +6 -3
  584. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts.map +1 -1
  585. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts +6 -3
  586. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts.map +1 -1
  587. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts +6 -3
  588. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts.map +1 -1
  589. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts +6 -3
  590. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts.map +1 -1
  591. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts +6 -3
  592. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts.map +1 -1
  593. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts +6 -3
  594. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts.map +1 -1
  595. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts +6 -3
  596. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts.map +1 -1
  597. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts +6 -3
  598. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts.map +1 -1
  599. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts +6 -3
  600. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts.map +1 -1
  601. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts +6 -3
  602. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts.map +1 -1
  603. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts +6 -3
  604. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts.map +1 -1
  605. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts +6 -3
  606. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts.map +1 -1
  607. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts +6 -3
  608. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts.map +1 -1
  609. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts +6 -3
  610. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts.map +1 -1
  611. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts +6 -3
  612. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts.map +1 -1
  613. package/dist/types/elements/index.d.ts +1 -0
  614. package/dist/types/elements/index.d.ts.map +1 -1
  615. package/dist/types/index.d.ts +2 -17
  616. package/dist/types/index.d.ts.map +1 -1
  617. package/dist/types/utils/Utils.d.ts +9 -0
  618. package/dist/types/utils/Utils.d.ts.map +1 -1
  619. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2402 -1816
  620. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  621. package/package.json +3 -3
  622. package/src/decorators/elementDefine.ts +97 -141
  623. package/src/decorators/index.ts +9 -0
  624. package/src/elements/SwcInterfaces.ts +49 -0
  625. package/src/elements/apps/SwcApp.ts +3 -2
  626. package/src/elements/apps/SwcAppAnchor.ts +3 -2
  627. package/src/elements/apps/SwcAppArea.ts +3 -2
  628. package/src/elements/apps/SwcAppAudio.ts +3 -2
  629. package/src/elements/apps/SwcAppBase.ts +3 -2
  630. package/src/elements/apps/SwcAppBody.ts +3 -2
  631. package/src/elements/apps/SwcAppButton.ts +3 -2
  632. package/src/elements/apps/SwcAppCanvas.ts +3 -2
  633. package/src/elements/apps/SwcAppData.ts +3 -2
  634. package/src/elements/apps/SwcAppDataList.ts +3 -2
  635. package/src/elements/apps/SwcAppDetails.ts +3 -2
  636. package/src/elements/apps/SwcAppDialog.ts +3 -2
  637. package/src/elements/apps/SwcAppDiv.ts +3 -2
  638. package/src/elements/apps/SwcAppDl.ts +3 -2
  639. package/src/elements/apps/SwcAppEmbed.ts +3 -2
  640. package/src/elements/apps/SwcAppFieldSet.ts +3 -2
  641. package/src/elements/apps/SwcAppForm.ts +3 -2
  642. package/src/elements/apps/SwcAppHeading.ts +3 -2
  643. package/src/elements/apps/SwcAppHr.ts +3 -2
  644. package/src/elements/apps/SwcAppIFrame.ts +3 -2
  645. package/src/elements/apps/SwcAppImage.ts +3 -2
  646. package/src/elements/apps/SwcAppInput.ts +3 -2
  647. package/src/elements/apps/SwcAppLabel.ts +3 -2
  648. package/src/elements/apps/SwcAppLegend.ts +3 -2
  649. package/src/elements/apps/SwcAppLi.ts +3 -2
  650. package/src/elements/apps/SwcAppLink.ts +3 -2
  651. package/src/elements/apps/SwcAppMap.ts +3 -2
  652. package/src/elements/apps/SwcAppMeta.ts +3 -2
  653. package/src/elements/apps/SwcAppMeter.ts +3 -2
  654. package/src/elements/apps/SwcAppMod.ts +3 -2
  655. package/src/elements/apps/SwcAppObject.ts +3 -2
  656. package/src/elements/apps/SwcAppOl.ts +3 -2
  657. package/src/elements/apps/SwcAppOptGroup.ts +3 -2
  658. package/src/elements/apps/SwcAppOption.ts +3 -2
  659. package/src/elements/apps/SwcAppOutput.ts +3 -2
  660. package/src/elements/apps/SwcAppParagraph.ts +3 -2
  661. package/src/elements/apps/SwcAppParam.ts +3 -2
  662. package/src/elements/apps/SwcAppPicture.ts +3 -2
  663. package/src/elements/apps/SwcAppPre.ts +3 -2
  664. package/src/elements/apps/SwcAppProgress.ts +3 -2
  665. package/src/elements/apps/SwcAppQuote.ts +3 -2
  666. package/src/elements/apps/SwcAppScript.ts +3 -2
  667. package/src/elements/apps/SwcAppSelect.ts +3 -2
  668. package/src/elements/apps/SwcAppSlot.ts +3 -2
  669. package/src/elements/apps/SwcAppSource.ts +3 -2
  670. package/src/elements/apps/SwcAppSpan.ts +3 -2
  671. package/src/elements/apps/SwcAppStyle.ts +3 -2
  672. package/src/elements/apps/SwcAppTable.ts +3 -2
  673. package/src/elements/apps/SwcAppTableCell.ts +3 -2
  674. package/src/elements/apps/SwcAppTableRow.ts +3 -2
  675. package/src/elements/apps/SwcAppTableSection.ts +3 -2
  676. package/src/elements/apps/SwcAppTemplate.ts +3 -2
  677. package/src/elements/apps/SwcAppTextArea.ts +3 -2
  678. package/src/elements/apps/SwcAppTime.ts +3 -2
  679. package/src/elements/apps/SwcAppTitle.ts +3 -2
  680. package/src/elements/apps/SwcAppTrack.ts +3 -2
  681. package/src/elements/apps/SwcAppUl.ts +3 -2
  682. package/src/elements/apps/SwcAppVideo.ts +3 -2
  683. package/src/elements/base/SwcHTMLAnchorElementBase.ts +22 -11
  684. package/src/elements/base/SwcHTMLAreaElementBase.ts +22 -11
  685. package/src/elements/base/SwcHTMLAudioElementBase.ts +22 -11
  686. package/src/elements/base/SwcHTMLBaseElementBase.ts +22 -11
  687. package/src/elements/base/SwcHTMLBodyElementBase.ts +22 -11
  688. package/src/elements/base/SwcHTMLButtonElementBase.ts +22 -11
  689. package/src/elements/base/SwcHTMLCanvasElementBase.ts +22 -11
  690. package/src/elements/base/SwcHTMLDListElementBase.ts +22 -11
  691. package/src/elements/base/SwcHTMLDataElementBase.ts +22 -11
  692. package/src/elements/base/SwcHTMLDataListElementBase.ts +22 -11
  693. package/src/elements/base/SwcHTMLDetailsElementBase.ts +22 -11
  694. package/src/elements/base/SwcHTMLDialogElementBase.ts +22 -11
  695. package/src/elements/base/SwcHTMLDivElementBase.ts +22 -11
  696. package/src/elements/base/SwcHTMLElementBase.ts +22 -11
  697. package/src/elements/base/SwcHTMLEmbedElementBase.ts +22 -11
  698. package/src/elements/base/SwcHTMLFieldSetElementBase.ts +22 -11
  699. package/src/elements/base/SwcHTMLFormElementBase.ts +22 -11
  700. package/src/elements/base/SwcHTMLHRElementBase.ts +22 -11
  701. package/src/elements/base/SwcHTMLHeadingElementBase.ts +22 -11
  702. package/src/elements/base/SwcHTMLIFrameElementBase.ts +22 -11
  703. package/src/elements/base/SwcHTMLImageElementBase.ts +22 -11
  704. package/src/elements/base/SwcHTMLInputElementBase.ts +22 -11
  705. package/src/elements/base/SwcHTMLLIElementBase.ts +22 -11
  706. package/src/elements/base/SwcHTMLLabelElementBase.ts +22 -11
  707. package/src/elements/base/SwcHTMLLegendElementBase.ts +22 -11
  708. package/src/elements/base/SwcHTMLLinkElementBase.ts +22 -11
  709. package/src/elements/base/SwcHTMLMapElementBase.ts +22 -11
  710. package/src/elements/base/SwcHTMLMetaElementBase.ts +22 -11
  711. package/src/elements/base/SwcHTMLMeterElementBase.ts +22 -11
  712. package/src/elements/base/SwcHTMLModElementBase.ts +22 -11
  713. package/src/elements/base/SwcHTMLOListElementBase.ts +22 -11
  714. package/src/elements/base/SwcHTMLObjectElementBase.ts +22 -11
  715. package/src/elements/base/SwcHTMLOptGroupElementBase.ts +22 -11
  716. package/src/elements/base/SwcHTMLOptionElementBase.ts +22 -11
  717. package/src/elements/base/SwcHTMLOutputElementBase.ts +22 -11
  718. package/src/elements/base/SwcHTMLParagraphElementBase.ts +22 -11
  719. package/src/elements/base/SwcHTMLParamElementBase.ts +22 -11
  720. package/src/elements/base/SwcHTMLPictureElementBase.ts +22 -11
  721. package/src/elements/base/SwcHTMLPreElementBase.ts +22 -11
  722. package/src/elements/base/SwcHTMLProgressElementBase.ts +22 -11
  723. package/src/elements/base/SwcHTMLQuoteElementBase.ts +22 -11
  724. package/src/elements/base/SwcHTMLScriptElementBase.ts +22 -11
  725. package/src/elements/base/SwcHTMLSelectElementBase.ts +22 -11
  726. package/src/elements/base/SwcHTMLSlotElementBase.ts +22 -11
  727. package/src/elements/base/SwcHTMLSourceElementBase.ts +22 -11
  728. package/src/elements/base/SwcHTMLSpanElementBase.ts +22 -11
  729. package/src/elements/base/SwcHTMLStyleElementBase.ts +22 -11
  730. package/src/elements/base/SwcHTMLTableCellElementBase.ts +22 -11
  731. package/src/elements/base/SwcHTMLTableElementBase.ts +22 -11
  732. package/src/elements/base/SwcHTMLTableRowElementBase.ts +22 -11
  733. package/src/elements/base/SwcHTMLTableSectionElementBase.ts +22 -11
  734. package/src/elements/base/SwcHTMLTemplateElementBase.ts +22 -11
  735. package/src/elements/base/SwcHTMLTextAreaElementBase.ts +22 -11
  736. package/src/elements/base/SwcHTMLTimeElementBase.ts +22 -11
  737. package/src/elements/base/SwcHTMLTitleElementBase.ts +22 -11
  738. package/src/elements/base/SwcHTMLTrackElementBase.ts +22 -11
  739. package/src/elements/base/SwcHTMLUListElementBase.ts +22 -11
  740. package/src/elements/base/SwcHTMLVideoElementBase.ts +22 -11
  741. package/src/elements/index.ts +1 -0
  742. package/src/index.ts +2 -17
  743. package/src/utils/Utils.ts +57 -0
  744. package/dist/cjs/elements/SwcAppInterface.js +0 -16
  745. package/dist/cjs/elements/SwcAppInterface.js.map +0 -7
  746. package/dist/cjs/elements/SwcHTMLElementInterface.js +0 -16
  747. package/dist/cjs/elements/SwcHTMLElementInterface.js.map +0 -7
  748. package/dist/esm/elements/SwcAppInterface.js +0 -1
  749. package/dist/esm/elements/SwcAppInterface.js.map +0 -7
  750. package/dist/esm/elements/SwcHTMLElementInterface.js +0 -1
  751. package/dist/esm/elements/SwcHTMLElementInterface.js.map +0 -7
  752. package/dist/types/elements/SwcAppInterface.d.ts +0 -15
  753. package/dist/types/elements/SwcAppInterface.d.ts.map +0 -1
  754. package/dist/types/elements/SwcHTMLElementInterface.d.ts +0 -9
  755. package/dist/types/elements/SwcHTMLElementInterface.d.ts.map +0 -1
  756. package/src/elements/SwcAppInterface.ts +0 -19
  757. package/src/elements/SwcHTMLElementInterface.ts +0 -9
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/elementDefine.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getInnerHtmlMetadataList } from './innerHtml';\nimport { getQueryMetadata } from './query';\nimport { getQueryAllMetadata } from './queryAll';\nimport { getAddEventListenerMetadata } from './addEventListener';\nimport { getLifecycleMetadata, ON_BEFORE_CONNECTED_METADATA_KEY, ON_AFTER_CONNECTED_METADATA_KEY, ON_BEFORE_DISCONNECTED_METADATA_KEY, ON_AFTER_DISCONNECTED_METADATA_KEY, ON_BEFORE_ADOPTED_METADATA_KEY, ON_AFTER_ADOPTED_METADATA_KEY, ON_ADD_EVENT_LISTENER_METADATA_KEY, ON_ATTRIBUTE_CHANGED_METADATA_KEY, ATTRIBUTE_CHANGED_WILDCARD, getMutationSubscribeMetadataList } from './lifecycles';\nimport { getAttributeMetadataList } from './attribute';\nimport { getStateMetadataList } from './state';\nimport { getEmitCustomEventMetadataList } from './emitCustomEvent';\nimport { SwcUtils, SWC_NOT_FOUND } from '../utils/Utils';\nimport { HTML_TAG_ENTRIES } from '../config/config';\n\nexport interface ElementConfig {\n name: string;\n extends?: string;\n observedAttributes?: string[];\n customElementRegistry?: CustomElementRegistry;\n autoRemoveEventListeners?: boolean;\n window?: Window;\n}\n\nexport const ELEMENT_CONFIG_KEY = Symbol('simple-web-component:element-config');\nexport const STATE_CHANGE_EVENT = 'swc:state-change';\n\n// --- \uD658\uACBD \uCD08\uAE30\uD654 \uD5EC\uD37C ---\n\nfunction buildEnv(configWindow?: Window) {\n const win: any = configWindow || (typeof window !== 'undefined' ? window : undefined);\n const doc: Document = win?.document;\n\n const builtInTagMap = new Map<any, string>();\n for (const [cls, tag] of HTML_TAG_ENTRIES) {\n if (win?.[cls]) builtInTagMap.set(win[cls], tag);\n }\n\n const domHelpers = {\n $d: doc,\n $w: win,\n $q: (sel: string, root?: Element | Document | ShadowRoot) => (root ?? doc).querySelector(sel),\n $qa: (sel: string, root?: Element | Document | ShadowRoot) => Array.from((root ?? doc).querySelectorAll(sel)),\n $qi: (id: string, root?: Document | ShadowRoot) => (root ?? doc).getElementById(id)\n } as const;\n\n return { win, doc, builtInTagMap, domHelpers };\n}\n\nexport const elementDefine =\n (inConfig: ElementConfig | string): ClassDecorator =>\n (constructor: any) => {\n const config: ElementConfig = typeof inConfig === 'string' ? { name: inConfig } : inConfig;\n const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);\n config.window = win;\n const SWC_DOM_HELPER_KEYS = Object.keys(SWC_DOM_HELPERS) as (keyof typeof SWC_DOM_HELPERS)[];\n const SWC_DOM_HELPER_VALS = () => SWC_DOM_HELPER_KEYS.map(k => (SWC_DOM_HELPERS as any)[k]);\n\n let extendsTagName = config.extends;\n if (!extendsTagName) {\n let proto = constructor;\n while (proto && proto !== HTMLElement && proto !== Function.prototype) {\n extendsTagName = BUILT_IN_TAG_MAP.get(proto);\n if (extendsTagName) break;\n proto = Object.getPrototypeOf(proto);\n }\n config.extends = extendsTagName;\n }\n\n const attributePropsList = getAttributeMetadataList(constructor);\n const emitCustomEventList = getEmitCustomEventMetadataList(constructor);\n const stateList = getStateMetadataList(constructor);\n const observedFromProps = attributePropsList ? attributePropsList.map(it => it.options.name!) : [];\n const observedFromEmits = emitCustomEventList ? emitCustomEventList.map(it => it.options.attributeName!) : [];\n const swcLifecycleAttributes = ['swc-on-constructor', 'swc-on-before-connected', 'swc-on-after-connected', 'swc-on-before-disconnected', 'swc-on-after-disconnected', 'swc-on-before-adopted', 'swc-on-after-adopted', 'swc-on-attribute-changed'];\n const mergedObservedAttributes = [...new Set([...(config.observedAttributes ?? []), ...observedFromProps, ...observedFromEmits, ...swcLifecycleAttributes])];\n\n const NewClass = class extends (constructor as any) {\n private _swcId = Math.random().toString(36).substring(2, 11);\n private _observer: MutationObserver | null = null;\n private _shadowObserver: MutationObserver | null = null;\n private _boundElements = new WeakMap<Element, Set<string | symbol>>();\n private _activeListeners: Array<{ el: Element | HTMLElement; type: string; handler: EventListener; options?: any }> = [];\n private _emitHandlers = new Map<string, EventListener>();\n private _stateBindings = new Map<string, any[]>();\n private _internalStates = new Map<string | symbol, any>();\n private _externalSources = new Map<string, HTMLElement>();\n\n // name\u2192value \uCEE8\uD14D\uC2A4\uD2B8 \uBC18\uD658 (applyData\uC758 hostContext\uC6A9)\n _getHostContext(): Record<string, any> {\n const ctx: Record<string, any> = {};\n\n // 1. @state \uBC0F @attribute \uC18D\uC131\uB4E4 \uC218\uC9D1\n if (stateList) {\n stateList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n\n // 2. 'as' \uBCC4\uCE6D \uBC0F \uAE30\uBCF8 'value' \uCC98\uB9AC\n const alias = this.getAttribute('as');\n const hostVal = (this as any).value !== undefined ? (this as any).value : this;\n\n // \uD56D\uC0C1 'value'\uB85C \uC811\uADFC \uAC00\uB2A5\uD558\uB3C4\uB85D \uC720\uC9C0\n ctx['value'] = hostVal;\n\n if (alias && alias !== 'value') {\n // \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uBCC4\uCE6D\uC73C\uB85C\uB3C4 \uC811\uADFC \uAC00\uB2A5 (\uC608: as=\"list\" -> {{list}})\n ctx[alias] = hostVal;\n }\n\n return ctx;\n }\n\n static get observedAttributes() {\n return mergedObservedAttributes;\n }\n\n private _executeSwcScript(attrName: string, extraArgs: Record<string, any> = {}) {\n const script = this.getAttribute(attrName);\n if (script) {\n try {\n const $hosts = SwcUtils.findAllSwcHosts(this as any);\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n const $host = $lastHost;\n const args = { $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPERS, ...extraArgs };\n const argNames = Object.keys(args);\n const argValues = Object.values(args);\n new Function(...argNames, script).apply(this, argValues);\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attrName} script:`, e);\n }\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this._executeSwcScript('swc-on-constructor');\n\n if (stateList) {\n stateList.forEach(meta => {\n const key = meta.propertyKey;\n const stateName = meta.options.name!;\n const initialVal = (this as any)[key];\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(initialVal, () => this._updateState(stateName))\n );\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(newVal, () => this._updateState(stateName))\n );\n this._updateState(stateName);\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const key = meta.propertyKey;\n const attrName = meta.options.name!;\n const attrValue = this.getAttribute(attrName);\n let initialVal = attrValue !== null ? attrValue : (this as any)[key];\n if (initialVal === undefined) initialVal = null;\n\n if (attrValue !== null) {\n if (meta.options.type === Number) initialVal = Number(attrValue);\n else if (meta.options.type === Boolean) initialVal = true;\n else if (meta.options.type === Object) {\n try {\n initialVal = JSON.parse(attrValue);\n } catch (e) {}\n }\n }\n\n this._internalStates.set(key, initialVal);\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(key, newVal);\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(attrName);\n // \uAC1D\uCCB4/\uBC30\uC5F4\uC740 setAttribute\uB85C \uBC18\uC601\uD558\uC9C0 \uC54A\uC74C - attributeChangedCallback \uBB34\uD55C\uB8E8\uD504 \uBC29\uC9C0\n if (!meta.options.disableReflect && this.setAttribute && typeof newVal !== 'object') {\n if (newVal === null || newVal === undefined || newVal === false) this.removeAttribute(attrName);\n else this.setAttribute(attrName, String(newVal));\n }\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n\n const innerHtmlList = getInnerHtmlMetadataList(this);\n if (innerHtmlList?.some(it => it.options.useShadow === true) && !this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n }\n\n private _isSyncing = false;\n\n private _syncDecorators() {\n if (this._isSyncing) return;\n this._isSyncing = true;\n try {\n this._buildStateMap();\n this._syncEventListenersAndQueries();\n } finally {\n this._isSyncing = false;\n }\n }\n\n private _syncEventListenersAndQueries() {\n const getSearchRoots = (rootOption?: string): Node[] => {\n const roots: Node[] = [];\n if (rootOption === 'shadow') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n } else if (rootOption === 'light') {\n roots.push(this as any as Node);\n } else if (rootOption === 'all') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n roots.push(this as any as Node);\n } else {\n roots.push(this.shadowRoot || (this as any as Node));\n }\n return roots;\n };\n\n const queryMetadata = getQueryMetadata(this);\n if (queryMetadata) {\n queryMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n let foundEl: Element | null = null;\n for (const root of searchRoots) {\n foundEl = it.selector ? (root as HTMLElement).querySelector(it.selector) : (this as any as Element);\n if (foundEl) break;\n }\n if (foundEl) {\n let bound = this._boundElements.get(foundEl);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(foundEl, bound);\n }\n if (!bound.has(it.propertyKey)) {\n (this as any)[it.propertyKey](foundEl);\n bound.add(it.propertyKey);\n }\n }\n });\n }\n\n const queryAllMetadata = getQueryAllMetadata(this);\n if (queryAllMetadata) {\n queryAllMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n const allElements: Element[] = [];\n searchRoots.forEach(root => {\n const found = it.selector ? (root as HTMLElement).querySelectorAll(it.selector) : [this as any as Element];\n allElements.push(...Array.from(found));\n });\n (this as any)[it.propertyKey](allElements);\n });\n }\n\n const eventListeners = getAddEventListenerMetadata(this);\n if (eventListeners) {\n eventListeners.forEach(it => {\n const { query, type, root: rootOption, ...options } = it.options;\n const searchRoots = getSearchRoots(rootOption);\n searchRoots.forEach(root => {\n const targetElements = query ? (root as HTMLElement).querySelectorAll(query) : [this as any as Element];\n targetElements.forEach(targetElement => {\n if (targetElement) {\n let bound = this._boundElements.get(targetElement);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(targetElement, bound);\n }\n const eventKey = `event:${String(it.propertyKey)}:${type}`;\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (it.options.stopImmediatePropagation) event.stopImmediatePropagation();\n if (it.options.stopPropagation) event.stopPropagation();\n if (it.options.preventDefault) event.preventDefault();\n (this as any)[it.propertyKey](event, targetElement);\n };\n targetElement.addEventListener(type, handler, options);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: targetElement, type, handler, options });\n const addEventMethods = getLifecycleMetadata(this, ON_ADD_EVENT_LISTENER_METADATA_KEY);\n addEventMethods?.forEach((m: string | symbol) => {\n if (typeof (this as any)[m] === 'function') (this as any)[m](targetElement, type, handler);\n });\n }\n }\n });\n });\n });\n }\n }\n\n private _buildStateMap() {\n const scan = (root: Node) => {\n const walker = doc.createTreeWalker(root, (win as any).NodeFilter.SHOW_ELEMENT | (win as any).NodeFilter.SHOW_TEXT);\n let node: Node | null = null;\n while ((node = walker.nextNode())) {\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n else if (node.nodeType === Node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n\n const alias = el.getAttribute('as');\n if (alias && !this._externalSources.has(alias)) {\n this._externalSources.set(alias, el);\n const aliasKey = `alias-event:${alias}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(aliasKey)) {\n // \uBD80\uBAA8\uAC00 \uC790\uC2DD\uC758 STATE_CHANGE_EVENT\uB97C \uB4E3\uACE0 \uC5C5\uB370\uC774\uD2B8 (\uAE30\uC874 \uBC84\uBE14\uB9C1\uC6A9)\n el.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(alias));\n bound.add(aliasKey);\n }\n }\n\n // --- [FIX] \uBD80\uBAA8 \uD638\uC2A4\uD2B8\uC758 \uC0C1\uD0DC \uBCC0\uACBD \uAD6C\uB3C5 ---\n // \uD604\uC7AC \uC5D8\uB9AC\uBA3C\uD2B8\uAC00 \uC0C1\uC704 \uD638\uC2A4\uD2B8\uC758 \uBCC4\uCE6D(\uC608: t1)\uC744 \uCC38\uC870\uD558\uACE0 \uC788\uB2E4\uBA74,\n // \uC0C1\uC704 \uD638\uC2A4\uD2B8\uC5D0\uC11C \uBC1C\uC0DD\uD558\uB294 \uC774\uBCA4\uD2B8\uB97C \uAC10\uC9C0\uD574\uC57C \uD568.\n const $hosts = SwcUtils.findAllSwcHosts(el);\n $hosts.forEach(host => {\n const hAlias = host.getAttribute('as');\n if (hAlias) {\n const hostBindKey = `parent-host-event:${hAlias}`;\n let hBound = this._boundElements.get(host);\n if (!hBound) {\n hBound = new Set();\n this._boundElements.set(host, hBound);\n }\n if (!hBound.has(hostBindKey)) {\n host.addEventListener(STATE_CHANGE_EVENT, () => {\n // \uBD80\uBAA8 \uBCC4\uCE6D\uC774 \uBC14\uB00C\uC5C8\uC73C\uBBC0\uB85C, \uD574\uB2F9 \uBCC4\uCE6D\uC744 \uC0AC\uC6A9\uD558\uB294 \uC790\uC2E0\uC758 \uBC14\uC778\uB529\uB4E4 \uAC31\uC2E0\n this._updateState(hAlias);\n });\n hBound.add(hostBindKey);\n }\n }\n });\n\n Array.from(el.attributes).forEach(attr => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n if (eventName === 'connected') {\n const eventKey = `attr-once:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n const script = el.getAttribute(attr.name);\n if (script) {\n try {\n const $hosts = SwcUtils.findAllSwcHosts(el);\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n const $host = $lastHost;\n new Function('event', '$data', '$host', '$hosts', '$firstHost', '$lastHost', ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n\n const eventKey = `attr-event:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n const rawScript = el.getAttribute(attr.name);\n if (rawScript) {\n try {\n const $hosts = SwcUtils.findAllSwcHosts(el);\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n const $host = $lastHost;\n new Function('event', '$data', '$host', '$hosts', '$firstHost', '$lastHost', ...SWC_DOM_HELPER_KEYS, rawScript).call(el, event, (event as CustomEvent).detail, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n el.addEventListener(eventName, handler);\n\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el, type: eventName, handler });\n }\n }\n this._parseAndBind(attr, 'attribute', el);\n });\n\n // --- Scope Protection: Don't scan inside child SWC components ---\n // is \uC5B4\uD2B8\uB9AC\uBDF0\uD2B8 \uBC29\uC2DD \uCEE4\uC2A4\uD140 \uC5D8\uB9AC\uBA3C\uD2B8\uB3C4 \uD3EC\uD568 (swc-for-of-*, swc-if-* \uB4F1)\n const isSwcChild = (el as any)._swcId || getElementConfig(el.constructor) || (el.getAttribute('is')?.startsWith('swc-') ?? false);\n if (isSwcChild) {\n const next = walker.nextSibling();\n if (!next) break;\n node = next;\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n }\n }\n }\n };\n if (this.shadowRoot) scan(this.shadowRoot);\n scan(this as any as Node);\n }\n\n private _parseAndBind(node: Node | Attr, type: 'text' | 'attribute', owner?: HTMLElement) {\n const tplKey = `__swc_original_${this._swcId}`;\n const isAlreadyBound = (node as any).__swc_bound_ids?.has(this._swcId);\n const content = (node as any)[tplKey] || node.textContent || '';\n const matches = Array.from(content.matchAll(/{{(.*?)}}/g)) as any[];\n if (matches.length === 0 || isAlreadyBound) return;\n\n matches.forEach(match => {\n const fullPath = (match[1] as string).trim();\n const rootName = fullPath.split('.')[0];\n const isState = stateList?.some(s => s.options.name === rootName);\n const isAttr = attributePropsList?.some(a => a.options.name === rootName);\n const isLogicKey = (this as any)._asKey === rootName || (this as any)._asIndexKey === rootName;\n const isExternal = this._externalSources.has(rootName);\n const isSelfAlias = this.getAttribute('as') === rootName;\n const isInstanceProp = rootName in this;\n\n // --- [FIX] \uBD80\uBAA8 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBCC4\uCE6D \uD655\uC778 \uCD94\uAC00 ---\n let isParentAlias = false;\n let curr: any = (this as any).parentElement || ((this as any).getRootNode?.() as any)?.host;\n while (curr) {\n if (curr.getAttribute?.('as') === rootName) {\n isParentAlias = true;\n break;\n }\n curr = curr.parentElement || (curr.getRootNode?.() as any)?.host;\n }\n\n if (!isState && !isAttr && !isLogicKey && !isExternal && !isSelfAlias && !isInstanceProp && !isParentAlias) return;\n\n if (!this._stateBindings.has(rootName)) this._stateBindings.set(rootName, []);\n if (!(node as any)[tplKey]) (node as any)[tplKey] = content;\n if (!(node as any).__swc_bound_ids) (node as any).__swc_bound_ids = new Set();\n (node as any).__swc_bound_ids.add(this._swcId);\n this._stateBindings.get(rootName)!.push({ node, type, owner, path: fullPath });\n this._updateState(rootName);\n });\n }\n\n private _isUpdatingState = false;\n\n private _updateState(stateName: string) {\n if (!this._stateBindings) return;\n if (this._isUpdatingState) return;\n this._isUpdatingState = true;\n try {\n this._executeBindingUpdate(stateName);\n const selfAlias = this.getAttribute('as');\n if (selfAlias && selfAlias !== stateName) this._executeBindingUpdate(selfAlias);\n\n // --- [FIX] \uC790\uC2DD\uB4E4\uC5D0\uAC8C \uC0C1\uD0DC \uBCC0\uACBD \uC54C\uB9BC ---\n this.dispatchEvent(\n new CustomEvent(STATE_CHANGE_EVENT, {\n bubbles: true,\n composed: true,\n detail: { source: stateName, host: this }\n })\n );\n } finally {\n this._isUpdatingState = false;\n }\n }\n\n private _executeBindingUpdate(stateName: string) {\n const bindings = this._stateBindings.get(stateName);\n if (!bindings) return;\n const tplKey = `__swc_original_${this._swcId}`;\n bindings.forEach(bin => {\n let text = (bin.node as any)[tplKey];\n if (!text) return;\n const matches = Array.from(text.matchAll(/{{(.*?)}}/g)) as RegExpMatchArray[];\n let updatedText = text;\n for (const match of matches) {\n const path = match[1].trim();\n const root = path.split('.')[0];\n let val: any = undefined;\n let current: HTMLElement | null = this as any as HTMLElement;\n while (current) {\n const currentNewClass = current as any;\n if (current.getAttribute('as') === root) {\n val = SwcUtils.getValueByPath(current, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const externalSource = currentNewClass._externalSources?.get(root);\n if (externalSource) {\n val = SwcUtils.getValueByPath(externalSource, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const cStates = getStateMetadataList(current.constructor);\n const cAttrs = getAttributeMetadataList(current.constructor);\n const sMeta = cStates?.find(s => s.options.name === root);\n const aMeta = cAttrs?.find(a => a.options.name === root);\n if (sMeta || aMeta) {\n // \uD504\uB85C\uD37C\uD2F0 \uD0A4\uB85C \uC778\uC2A4\uD134\uC2A4\uC5D0\uC11C \uB8E8\uD2B8 \uAC12\uC744 \uBA3C\uC800 \uAC00\uC838\uC628 \uB4A4 \uB098\uBA38\uC9C0 \uACBD\uB85C\uB97C \uD0D0\uC0C9\n const propKey = sMeta ? String(sMeta.propertyKey) : String(aMeta!.propertyKey);\n const rootVal = (current as any)[propKey];\n const subPath = path.split('.').slice(1).join('.');\n if (subPath) {\n // superUser.name \u2192 rootVal = superUser \uAC1D\uCCB4, subPath = \"name\"\n val = SwcUtils.getValueByPath(rootVal, subPath, subPath.split('.')[0]);\n if (val === SWC_NOT_FOUND) {\n // \uB2E8\uC21C \uC810 \uACBD\uB85C \uC9C1\uC811 \uC811\uADFC\n const parts = subPath.split('.');\n let cur = rootVal;\n for (const p of parts) {\n if (cur === null || cur === undefined) {\n cur = SWC_NOT_FOUND;\n break;\n }\n cur = cur[p];\n }\n if (cur !== undefined && cur !== SWC_NOT_FOUND) val = cur;\n }\n } else {\n // \uB8E8\uD2B8 \uC790\uCCB4\uAC00 \uAC12 (e.g. {{superUser}} \uC804\uCCB4)\n val = rootVal;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) break;\n }\n\n // Fallback: check raw property on instance even if not @state\n if (root in current) {\n val = SwcUtils.getValueByPath(current, path, root);\n if (val !== SWC_NOT_FOUND) break;\n }\n\n current = current.parentElement || (current.getRootNode() as any).host;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) {\n const strVal = val === null ? '' : typeof val === 'object' ? JSON.stringify(val) : String(val);\n updatedText = updatedText.replace(match[0], strVal);\n if (bin.type === 'attribute' && bin.owner) {\n const attrName = (bin.node as Attr).name;\n const ownerAttrs = getAttributeMetadataList(bin.owner.constructor);\n const attrMeta = ownerAttrs?.find(a => a.options.name === attrName);\n const propName = attrMeta ? String(attrMeta.propertyKey) : attrName.replace(/-([a-z])/g, g => g[1].toUpperCase());\n\n if (val === null || val === undefined) {\n bin.owner.removeAttribute(attrName);\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n } else {\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n bin.owner.setAttribute(attrName, updatedText);\n if ((attrName === 'value' || attrName === 'checked') && bin.owner.tagName.match(/INPUT|TEXTAREA|SELECT/)) {\n (bin.owner as any)[attrName] = updatedText;\n }\n }\n }\n }\n }\n if (bin.type === 'text') bin.node.textContent = updatedText;\n });\n }\n\n disconnectedCallback() {\n this._executeSwcScript('swc-on-before-disconnected');\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);\n bMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n if (this._observer) this._observer.disconnect();\n if (this._shadowObserver) this._shadowObserver.disconnect();\n if (config.autoRemoveEventListeners) {\n this._activeListeners.forEach(({ el, type, handler, options }) => el.removeEventListener(type, handler, options));\n this._activeListeners = [];\n }\n if (super.disconnectedCallback) super.disconnectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_DISCONNECTED_METADATA_KEY);\n aMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n this._executeSwcScript('swc-on-after-disconnected');\n }\n\n adoptedCallback() {\n this._executeSwcScript('swc-on-before-adopted');\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_ADOPTED_METADATA_KEY);\n bMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n if (super.adoptedCallback) super.adoptedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_ADOPTED_METADATA_KEY);\n aMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n this._executeSwcScript('swc-on-after-adopted');\n }\n\n async connectedCallback() {\n this._executeSwcScript('swc-on-before-connected');\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_CONNECTED_METADATA_KEY);\n bMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n if (typeof (this as any).initCore === 'function') (this as any).initCore();\n const iHtmlList = getInnerHtmlMetadataList(this);\n let sContent = '';\n let lContent = '';\n if (iHtmlList) {\n for (const meta of iHtmlList) {\n const result = await (this as any)[meta.propertyKey]();\n if (result !== undefined) {\n if (meta.options.useShadow === true) sContent += result;\n else lContent += result;\n }\n }\n }\n if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;\n if (lContent) this.innerHTML = lContent;\n (this as any)._syncDecorators();\n\n const isManagedByParent = !!SwcUtils.findNearestSwcHost(this as any);\n\n if (!isManagedByParent) {\n Array.from(this.attributes as any).forEach((attr: any) => {\n if (attr.name.startsWith('swc-on-') && swcLifecycleAttributes.indexOf(attr.name) === -1) {\n const eventName = attr.name.substring(7);\n if (eventName === 'connected') {\n const eventKey = `host-attr-once:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n const script = (this as any).getAttribute(attr.name);\n if (script) {\n try {\n const $hosts = SwcUtils.findAllSwcHosts(this as any);\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n const $host = $lastHost;\n new Function('event', '$data', '$host', '$hosts', '$firstHost', '$lastHost', ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n\n const eventKey = `host-attr-event:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n const script = (this as any).getAttribute(attr.name);\n if (script) {\n try {\n const $hosts = SwcUtils.findAllSwcHosts(this as any);\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n const $host = $lastHost;\n new Function('event', '$data', '$host', '$hosts', '$firstHost', '$lastHost', ...SWC_DOM_HELPER_KEYS, script).call(this, event, (event as CustomEvent).detail, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n this.addEventListener(eventName, handler);\n\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: this as any, type: eventName, handler });\n }\n }\n });\n }\n\n const mutationMetaList = getMutationSubscribeMetadataList(this);\n\n const fireMutationCallbacks = (mutationList: MutationRecord[], observer: MutationObserver, root: 'light' | 'shadow') => {\n mutationMetaList?.forEach(meta => {\n const r = meta.options.root ?? 'auto';\n const matches = r === 'all' || r === root || (r === 'auto' && (this.shadowRoot ? root === 'shadow' : root === 'light'));\n if (matches && typeof (this as any)[meta.propertyKey] === 'function') {\n (this as any)[meta.propertyKey](mutationList, observer, root);\n }\n });\n };\n\n this._observer = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'light');\n });\n // @ts-ignore\n this._observer.observe(this as any, { childList: true, subtree: true });\n\n if (this.shadowRoot) {\n this._shadowObserver = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'shadow');\n });\n // @ts-ignore\n this._shadowObserver.observe(this.shadowRoot, { childList: true, subtree: true });\n }\n if (super.connectedCallback) await super.connectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_CONNECTED_METADATA_KEY);\n aMethods?.forEach(m => {\n if (typeof (this as any)[m] === 'function') (this as any)[m]();\n });\n this._executeSwcScript('swc-on-after-connected');\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (super.attributeChangedCallback) super.attributeChangedCallback(name, oldValue, newValue);\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n if (meta.options.name === name) {\n const current = (this as any)[meta.propertyKey];\n // \uAC1D\uCCB4/\uBC30\uC5F4 \uD0C0\uC785\uC740 attributeChangedCallback\uC5D0\uC11C setter\uB97C \uC7AC\uD638\uCD9C\uD558\uC9C0 \uC54A\uC74C\n // (setter\uC5D0\uC11C setAttribute\uB97C \uD558\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC774 \uACBD\uB85C\uB85C \uB4E4\uC5B4\uC62C \uC77C\uC774 \uC5C6\uACE0,\n // \uC678\uBD80\uC5D0\uC11C attribute\uB97C \uC9C1\uC811 \uBC14\uAFB8\uB294 \uACBD\uC6B0\uB9CC \uCC98\uB9AC)\n if (typeof current === 'object' && current !== null) return;\n if (String(current) !== String(newValue)) (this as any)[meta.propertyKey] = newValue;\n }\n });\n }\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(name);\n const aMethodsMap = getLifecycleMetadata(constructor, ON_ATTRIBUTE_CHANGED_METADATA_KEY) as Map<string, (string | symbol)[]>;\n const mKeys = aMethodsMap?.get(name);\n if (mKeys && Array.isArray(mKeys))\n mKeys.forEach(key => {\n if (typeof (this as any)[key] === 'function') (this as any)[key](newValue, oldValue, name);\n });\n if (emitCustomEventList) {\n const eMeta = emitCustomEventList.find(it => it.options.attributeName === name);\n if (eMeta) {\n const eType = eMeta.options.type;\n const oHandler = this._emitHandlers.get(eType);\n if (oHandler) this.removeEventListener(eType, oHandler);\n if (newValue) {\n const nHandler = (e: Event) => {\n new Function('event', '$data', newValue).call(this, e, (e as CustomEvent).detail);\n };\n this.addEventListener(eType, nHandler);\n this._emitHandlers.set(eType, nHandler);\n }\n }\n }\n const wMethodsKeys = aMethodsMap?.get(ATTRIBUTE_CHANGED_WILDCARD);\n if (wMethodsKeys && Array.isArray(wMethodsKeys))\n wMethodsKeys.forEach(key => {\n if (typeof (this as any)[key] === 'function') (this as any)[key](newValue, oldValue, name);\n });\n this._executeSwcScript('swc-on-attribute-changed', { $new: newValue, $old: oldValue, $name: name });\n }\n };\n\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);\n\n const registry = config.customElementRegistry || (typeof win !== 'undefined' ? win.customElements : undefined);\n if (registry && !registry.get(config.name)) {\n const options = config.extends ? { extends: config.extends } : undefined;\n registry.define(config.name, NewClass as any, options);\n }\n\n return NewClass as any;\n };\n\nexport const getElementConfig = (target: any): ElementConfig | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);\n};\n"],
5
- "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,gCAAgC;AACzC,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,mCAAmC;AAC5C,SAAS,sBAAsB,kCAAkC,iCAAiC,qCAAqC,oCAAoC,gCAAgC,+BAA+B,oCAAoC,mCAAmC,4BAA4B,wCAAwC;AACrX,SAAS,gCAAgC;AACzC,SAAS,4BAA4B;AACrC,SAAS,sCAAsC;AAC/C,SAAS,UAAU,qBAAqB;AACxC,SAAS,wBAAwB;AAW1B,MAAM,qBAAqB,OAAO,qCAAqC;AACvE,MAAM,qBAAqB;AAIlC,SAAS,SAAS,cAAuB;AACvC,QAAM,MAAW,iBAAiB,OAAO,WAAW,cAAc,SAAS;AAC3E,QAAM,MAAgB,KAAK;AAE3B,QAAM,gBAAgB,oBAAI,IAAiB;AAC3C,aAAW,CAAC,KAAK,GAAG,KAAK,kBAAkB;AACzC,QAAI,MAAM,GAAG,EAAG,eAAc,IAAI,IAAI,GAAG,GAAG,GAAG;AAAA,EACjD;AAEA,QAAM,aAAa;AAAA,IACjB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI,CAAC,KAAa,UAA4C,QAAQ,KAAK,cAAc,GAAG;AAAA,IAC5F,KAAK,CAAC,KAAa,SAA2C,MAAM,MAAM,QAAQ,KAAK,iBAAiB,GAAG,CAAC;AAAA,IAC5G,KAAK,CAAC,IAAY,UAAkC,QAAQ,KAAK,eAAe,EAAE;AAAA,EACpF;AAEA,SAAO,EAAE,KAAK,KAAK,eAAe,WAAW;AAC/C;AAEO,MAAM,gBACX,CAAC,aACD,CAAC,gBAAqB;AACpB,QAAM,SAAwB,OAAO,aAAa,WAAW,EAAE,MAAM,SAAS,IAAI;AAClF,QAAM,EAAE,KAAK,KAAK,eAAe,kBAAkB,YAAY,gBAAgB,IAAI,SAAS,OAAO,MAAM;AACzG,SAAO,SAAS;AAChB,QAAM,sBAAsB,OAAO,KAAK,eAAe;AACvD,QAAM,sBAAsB,MAAM,oBAAoB,IAAI,OAAM,gBAAwB,CAAC,CAAC;AAE1F,MAAI,iBAAiB,OAAO;AAC5B,MAAI,CAAC,gBAAgB;AACnB,QAAI,QAAQ;AACZ,WAAO,SAAS,UAAU,eAAe,UAAU,SAAS,WAAW;AACrE,uBAAiB,iBAAiB,IAAI,KAAK;AAC3C,UAAI,eAAgB;AACpB,cAAQ,OAAO,eAAe,KAAK;AAAA,IACrC;AACA,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,qBAAqB,yBAAyB,WAAW;AAC/D,QAAM,sBAAsB,+BAA+B,WAAW;AACtE,QAAM,YAAY,qBAAqB,WAAW;AAClD,QAAM,oBAAoB,qBAAqB,mBAAmB,IAAI,QAAM,GAAG,QAAQ,IAAK,IAAI,CAAC;AACjG,QAAM,oBAAoB,sBAAsB,oBAAoB,IAAI,QAAM,GAAG,QAAQ,aAAc,IAAI,CAAC;AAC5G,QAAM,yBAAyB,CAAC,sBAAsB,2BAA2B,0BAA0B,8BAA8B,6BAA6B,yBAAyB,wBAAwB,0BAA0B;AACjP,QAAM,2BAA2B,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAI,OAAO,sBAAsB,CAAC,GAAI,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC,CAAC;AAE3J,QAAM,WAAW,cAAe,YAAoB;AAAA,IAoElD,eAAe,MAAa;AAC1B,YAAM,GAAG,IAAI;AApEf,WAAQ,SAAS,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,EAAE;AAC3D,WAAQ,YAAqC;AAC7C,WAAQ,kBAA2C;AACnD,WAAQ,iBAAiB,oBAAI,QAAuC;AACpE,WAAQ,mBAA8G,CAAC;AACvH,WAAQ,gBAAgB,oBAAI,IAA2B;AACvD,WAAQ,iBAAiB,oBAAI,IAAmB;AAChD,WAAQ,kBAAkB,oBAAI,IAA0B;AACxD,WAAQ,mBAAmB,oBAAI,IAAyB;AAmIxD,WAAQ,aAAa;AA2QrB,WAAQ,mBAAmB;AAjVzB,WAAK,kBAAkB,oBAAoB;AAE3C,UAAI,WAAW;AACb,kBAAU,QAAQ,UAAQ;AACxB,gBAAM,MAAM,KAAK;AACjB,gBAAM,YAAY,KAAK,QAAQ;AAC/B,gBAAM,aAAc,KAAa,GAAG;AACpC,eAAK,gBAAgB;AAAA,YACnB;AAAA,YACA,SAAS,oBAAoB,YAAY,MAAM,KAAK,aAAa,SAAS,CAAC;AAAA,UAC7E;AACA,iBAAO,eAAe,MAAM,KAAK;AAAA,YAC/B,KAAK,MAAM,KAAK,gBAAgB,IAAI,GAAG;AAAA,YACvC,KAAK,YAAU;AACb,kBAAI,KAAK,gBAAgB,IAAI,GAAG,MAAM,OAAQ;AAC9C,mBAAK,gBAAgB;AAAA,gBACnB;AAAA,gBACA,SAAS,oBAAoB,QAAQ,MAAM,KAAK,aAAa,SAAS,CAAC;AAAA,cACzE;AACA,mBAAK,aAAa,SAAS;AAAA,YAC7B;AAAA,YACA,YAAY;AAAA,YACZ,cAAc;AAAA,UAChB,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAEA,UAAI,oBAAoB;AACtB,2BAAmB,QAAQ,UAAQ;AACjC,gBAAM,MAAM,KAAK;AACjB,gBAAM,WAAW,KAAK,QAAQ;AAC9B,gBAAM,YAAY,KAAK,aAAa,QAAQ;AAC5C,cAAI,aAAa,cAAc,OAAO,YAAa,KAAa,GAAG;AACnE,cAAI,eAAe,OAAW,cAAa;AAE3C,cAAI,cAAc,MAAM;AACtB,gBAAI,KAAK,QAAQ,SAAS,OAAQ,cAAa,OAAO,SAAS;AAAA,qBACtD,KAAK,QAAQ,SAAS,QAAS,cAAa;AAAA,qBAC5C,KAAK,QAAQ,SAAS,QAAQ;AACrC,kBAAI;AACF,6BAAa,KAAK,MAAM,SAAS;AAAA,cACnC,SAAS,GAAG;AAAA,cAAC;AAAA,YACf;AAAA,UACF;AAEA,eAAK,gBAAgB,IAAI,KAAK,UAAU;AACxC,iBAAO,eAAe,MAAM,KAAK;AAAA,YAC/B,KAAK,MAAM,KAAK,gBAAgB,IAAI,GAAG;AAAA,YACvC,KAAK,YAAU;AACb,kBAAI,KAAK,gBAAgB,IAAI,GAAG,MAAM,OAAQ;AAC9C,mBAAK,gBAAgB,IAAI,KAAK,MAAM;AACpC,kBAAI,OAAQ,KAAa,iBAAiB,WAAY,CAAC,KAAa,aAAa,QAAQ;AAEzF,kBAAI,CAAC,KAAK,QAAQ,kBAAkB,KAAK,gBAAgB,OAAO,WAAW,UAAU;AACnF,oBAAI,WAAW,QAAQ,WAAW,UAAa,WAAW,MAAO,MAAK,gBAAgB,QAAQ;AAAA,oBACzF,MAAK,aAAa,UAAU,OAAO,MAAM,CAAC;AAAA,cACjD;AAAA,YACF;AAAA,YACA,YAAY;AAAA,YACZ,cAAc;AAAA,UAChB,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAEA,YAAM,gBAAgB,yBAAyB,IAAI;AACnD,UAAI,eAAe,KAAK,QAAM,GAAG,QAAQ,cAAc,IAAI,KAAK,CAAC,KAAK,YAAY;AAChF,aAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAAA,MACpC;AAAA,IACF;AAAA;AAAA,IA9HA,kBAAuC;AACrC,YAAM,MAA2B,CAAC;AAGlC,UAAI,WAAW;AACb,kBAAU,QAAQ,UAAQ;AACxB,gBAAM,OAAO,KAAK,QAAQ;AAC1B,gBAAM,MAAM,KAAK,gBAAgB,IAAI,KAAK,WAAW;AACrD,cAAI,IAAI,IAAI;AAAA,QACd,CAAC;AAAA,MACH;AACA,UAAI,oBAAoB;AACtB,2BAAmB,QAAQ,UAAQ;AACjC,gBAAM,OAAO,KAAK,QAAQ;AAC1B,gBAAM,MAAM,KAAK,gBAAgB,IAAI,KAAK,WAAW;AACrD,cAAI,IAAI,IAAI;AAAA,QACd,CAAC;AAAA,MACH;AAGA,YAAM,QAAQ,KAAK,aAAa,IAAI;AACpC,YAAM,UAAW,KAAa,UAAU,SAAa,KAAa,QAAQ;AAG1E,UAAI,OAAO,IAAI;AAEf,UAAI,SAAS,UAAU,SAAS;AAE9B,YAAI,KAAK,IAAI;AAAA,MACf;AAEA,aAAO;AAAA,IACT;AAAA,IAEA,WAAW,qBAAqB;AAC9B,aAAO;AAAA,IACT;AAAA,IAEQ,kBAAkB,UAAkB,YAAiC,CAAC,GAAG;AAC/E,YAAM,SAAS,KAAK,aAAa,QAAQ;AACzC,UAAI,QAAQ;AACV,YAAI;AACF,gBAAM,SAAS,SAAS,gBAAgB,IAAW;AACnD,gBAAM,aAAa,OAAO,CAAC,KAAK;AAChC,gBAAM,YAAY,OAAO,OAAO,SAAS,CAAC,KAAK;AAC/C,gBAAM,QAAQ;AACd,gBAAM,OAAO,EAAE,OAAO,QAAQ,YAAY,WAAW,GAAG,iBAAiB,GAAG,UAAU;AACtF,gBAAM,WAAW,OAAO,KAAK,IAAI;AACjC,gBAAM,YAAY,OAAO,OAAO,IAAI;AACpC,cAAI,SAAS,GAAG,UAAU,MAAM,EAAE,MAAM,MAAM,SAAS;AAAA,QACzD,SAAS,GAAG;AACV,kBAAQ,MAAM,2BAA2B,QAAQ,YAAY,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AAAA,IA4EQ,kBAAkB;AACxB,UAAI,KAAK,WAAY;AACrB,WAAK,aAAa;AAClB,UAAI;AACF,aAAK,eAAe;AACpB,aAAK,8BAA8B;AAAA,MACrC,UAAE;AACA,aAAK,aAAa;AAAA,MACpB;AAAA,IACF;AAAA,IAEQ,gCAAgC;AACtC,YAAM,iBAAiB,CAAC,eAAgC;AACtD,cAAM,QAAgB,CAAC;AACvB,YAAI,eAAe,UAAU;AAC3B,cAAI,KAAK,WAAY,OAAM,KAAK,KAAK,UAAU;AAAA,QACjD,WAAW,eAAe,SAAS;AACjC,gBAAM,KAAK,IAAmB;AAAA,QAChC,WAAW,eAAe,OAAO;AAC/B,cAAI,KAAK,WAAY,OAAM,KAAK,KAAK,UAAU;AAC/C,gBAAM,KAAK,IAAmB;AAAA,QAChC,OAAO;AACL,gBAAM,KAAK,KAAK,cAAe,IAAoB;AAAA,QACrD;AACA,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,iBAAiB,IAAI;AAC3C,UAAI,eAAe;AACjB,sBACG,OAAO,QAAM,GAAG,QAAQ,EACxB,QAAQ,QAAM;AACb,gBAAM,cAAc,eAAe,GAAG,QAAQ,IAAI;AAClD,cAAI,UAA0B;AAC9B,qBAAW,QAAQ,aAAa;AAC9B,sBAAU,GAAG,WAAY,KAAqB,cAAc,GAAG,QAAQ,IAAK;AAC5E,gBAAI,QAAS;AAAA,UACf;AACA,cAAI,SAAS;AACX,gBAAI,QAAQ,KAAK,eAAe,IAAI,OAAO;AAC3C,gBAAI,CAAC,OAAO;AACV,sBAAQ,oBAAI,IAAI;AAChB,mBAAK,eAAe,IAAI,SAAS,KAAK;AAAA,YACxC;AACA,gBAAI,CAAC,MAAM,IAAI,GAAG,WAAW,GAAG;AAC9B,cAAC,KAAa,GAAG,WAAW,EAAE,OAAO;AACrC,oBAAM,IAAI,GAAG,WAAW;AAAA,YAC1B;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACL;AAEA,YAAM,mBAAmB,oBAAoB,IAAI;AACjD,UAAI,kBAAkB;AACpB,yBACG,OAAO,QAAM,GAAG,QAAQ,EACxB,QAAQ,QAAM;AACb,gBAAM,cAAc,eAAe,GAAG,QAAQ,IAAI;AAClD,gBAAM,cAAyB,CAAC;AAChC,sBAAY,QAAQ,UAAQ;AAC1B,kBAAM,QAAQ,GAAG,WAAY,KAAqB,iBAAiB,GAAG,QAAQ,IAAI,CAAC,IAAsB;AACzG,wBAAY,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC;AAAA,UACvC,CAAC;AACD,UAAC,KAAa,GAAG,WAAW,EAAE,WAAW;AAAA,QAC3C,CAAC;AAAA,MACL;AAEA,YAAM,iBAAiB,4BAA4B,IAAI;AACvD,UAAI,gBAAgB;AAClB,uBAAe,QAAQ,QAAM;AAC3B,gBAAM,EAAE,OAAO,MAAM,MAAM,YAAY,GAAG,QAAQ,IAAI,GAAG;AACzD,gBAAM,cAAc,eAAe,UAAU;AAC7C,sBAAY,QAAQ,UAAQ;AAC1B,kBAAM,iBAAiB,QAAS,KAAqB,iBAAiB,KAAK,IAAI,CAAC,IAAsB;AACtG,2BAAe,QAAQ,mBAAiB;AACtC,kBAAI,eAAe;AACjB,oBAAI,QAAQ,KAAK,eAAe,IAAI,aAAa;AACjD,oBAAI,CAAC,OAAO;AACV,0BAAQ,oBAAI,IAAI;AAChB,uBAAK,eAAe,IAAI,eAAe,KAAK;AAAA,gBAC9C;AACA,sBAAM,WAAW,SAAS,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI;AACxD,oBAAI,CAAC,MAAM,IAAI,QAAQ,GAAG;AACxB,wBAAM,UAAU,CAAC,UAAe;AAC9B,wBAAI,GAAG,QAAQ,yBAA0B,OAAM,yBAAyB;AACxE,wBAAI,GAAG,QAAQ,gBAAiB,OAAM,gBAAgB;AACtD,wBAAI,GAAG,QAAQ,eAAgB,OAAM,eAAe;AACpD,oBAAC,KAAa,GAAG,WAAW,EAAE,OAAO,aAAa;AAAA,kBACpD;AACA,gCAAc,iBAAiB,MAAM,SAAS,OAAO;AACrD,wBAAM,IAAI,QAAQ;AAClB,sBAAI,OAAO,yBAA0B,MAAK,iBAAiB,KAAK,EAAE,IAAI,eAAe,MAAM,SAAS,QAAQ,CAAC;AAC7G,wBAAM,kBAAkB,qBAAqB,MAAM,kCAAkC;AACrF,mCAAiB,QAAQ,CAAC,MAAuB;AAC/C,wBAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE,eAAe,MAAM,OAAO;AAAA,kBAC3F,CAAC;AAAA,gBACH;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IAEQ,iBAAiB;AACvB,YAAM,OAAO,CAAC,SAAe;AAC3B,cAAM,SAAS,IAAI,iBAAiB,MAAO,IAAY,WAAW,eAAgB,IAAY,WAAW,SAAS;AAClH,YAAI,OAAoB;AACxB,eAAQ,OAAO,OAAO,SAAS,GAAI;AACjC,cAAI,KAAK,aAAa,KAAK,UAAW,MAAK,cAAc,MAAM,MAAM;AAAA,mBAC5D,KAAK,aAAa,KAAK,cAAc;AAC5C,kBAAM,KAAK;AAEX,kBAAM,QAAQ,GAAG,aAAa,IAAI;AAClC,gBAAI,SAAS,CAAC,KAAK,iBAAiB,IAAI,KAAK,GAAG;AAC9C,mBAAK,iBAAiB,IAAI,OAAO,EAAE;AACnC,oBAAM,WAAW,eAAe,KAAK;AACrC,kBAAI,QAAQ,KAAK,eAAe,IAAI,EAAE;AACtC,kBAAI,CAAC,OAAO;AACV,wBAAQ,oBAAI,IAAI;AAChB,qBAAK,eAAe,IAAI,IAAI,KAAK;AAAA,cACnC;AACA,kBAAI,CAAC,MAAM,IAAI,QAAQ,GAAG;AAExB,mBAAG,iBAAiB,oBAAoB,MAAM,KAAK,aAAa,KAAK,CAAC;AACtE,sBAAM,IAAI,QAAQ;AAAA,cACpB;AAAA,YACF;AAKA,kBAAM,SAAS,SAAS,gBAAgB,EAAE;AAC1C,mBAAO,QAAQ,UAAQ;AACrB,oBAAM,SAAS,KAAK,aAAa,IAAI;AACrC,kBAAI,QAAQ;AACV,sBAAM,cAAc,qBAAqB,MAAM;AAC/C,oBAAI,SAAS,KAAK,eAAe,IAAI,IAAI;AACzC,oBAAI,CAAC,QAAQ;AACX,2BAAS,oBAAI,IAAI;AACjB,uBAAK,eAAe,IAAI,MAAM,MAAM;AAAA,gBACtC;AACA,oBAAI,CAAC,OAAO,IAAI,WAAW,GAAG;AAC5B,uBAAK,iBAAiB,oBAAoB,MAAM;AAE9C,yBAAK,aAAa,MAAM;AAAA,kBAC1B,CAAC;AACD,yBAAO,IAAI,WAAW;AAAA,gBACxB;AAAA,cACF;AAAA,YACF,CAAC;AAED,kBAAM,KAAK,GAAG,UAAU,EAAE,QAAQ,UAAQ;AACxC,kBAAI,KAAK,KAAK,WAAW,SAAS,KAAK,CAAC,uBAAuB,SAAS,KAAK,IAAI,GAAG;AAClF,sBAAM,YAAY,KAAK,KAAK,UAAU,CAAC;AACvC,oBAAI,cAAc,aAAa;AAC7B,wBAAMA,YAAW,aAAa,KAAK,IAAI;AACvC,sBAAIC,SAAQ,KAAK,eAAe,IAAI,EAAE;AACtC,sBAAI,CAACA,QAAO;AACV,oBAAAA,SAAQ,oBAAI,IAAI;AAChB,yBAAK,eAAe,IAAI,IAAIA,MAAK;AAAA,kBACnC;AACA,sBAAI,CAACA,OAAM,IAAID,SAAQ,GAAG;AACxB,0BAAM,SAAS,GAAG,aAAa,KAAK,IAAI;AACxC,wBAAI,QAAQ;AACV,0BAAI;AACF,8BAAME,UAAS,SAAS,gBAAgB,EAAE;AAC1C,8BAAM,aAAaA,QAAO,CAAC,KAAK;AAChC,8BAAM,YAAYA,QAAOA,QAAO,SAAS,CAAC,KAAK;AAC/C,8BAAM,QAAQ;AACd,4BAAI,SAAS,SAAS,SAAS,SAAS,UAAU,cAAc,aAAa,GAAG,qBAAqB,MAAM,EAAE,KAAK,IAAI,MAAM,MAAM,OAAOA,SAAQ,YAAY,WAAW,GAAG,oBAAoB,CAAC;AAAA,sBAClM,SAAS,GAAG;AACV,gCAAQ,MAAM,2BAA2B,KAAK,IAAI,YAAY,CAAC;AAAA,sBACjE;AAAA,oBACF;AACA,oBAAAD,OAAM,IAAID,SAAQ;AAAA,kBACpB;AACA;AAAA,gBACF;AAEA,sBAAM,WAAW,cAAc,KAAK,IAAI;AACxC,oBAAI,QAAQ,KAAK,eAAe,IAAI,EAAE;AACtC,oBAAI,CAAC,OAAO;AACV,0BAAQ,oBAAI,IAAI;AAChB,uBAAK,eAAe,IAAI,IAAI,KAAK;AAAA,gBACnC;AACA,oBAAI,CAAC,MAAM,IAAI,QAAQ,GAAG;AACxB,wBAAM,UAAU,CAAC,UAAe;AAC9B,0BAAM,YAAY,GAAG,aAAa,KAAK,IAAI;AAC3C,wBAAI,WAAW;AACb,0BAAI;AACF,8BAAME,UAAS,SAAS,gBAAgB,EAAE;AAC1C,8BAAM,aAAaA,QAAO,CAAC,KAAK;AAChC,8BAAM,YAAYA,QAAOA,QAAO,SAAS,CAAC,KAAK;AAC/C,8BAAM,QAAQ;AACd,4BAAI,SAAS,SAAS,SAAS,SAAS,UAAU,cAAc,aAAa,GAAG,qBAAqB,SAAS,EAAE,KAAK,IAAI,OAAQ,MAAsB,QAAQ,OAAOA,SAAQ,YAAY,WAAW,GAAG,oBAAoB,CAAC;AAAA,sBAC/N,SAAS,GAAG;AACV,gCAAQ,MAAM,2BAA2B,KAAK,IAAI,YAAY,CAAC;AAAA,sBACjE;AAAA,oBACF;AAAA,kBACF;AACA,qBAAG,iBAAiB,WAAW,OAAO;AAEtC,wBAAM,IAAI,QAAQ;AAClB,sBAAI,OAAO,yBAA0B,MAAK,iBAAiB,KAAK,EAAE,IAAI,MAAM,WAAW,QAAQ,CAAC;AAAA,gBAClG;AAAA,cACF;AACA,mBAAK,cAAc,MAAM,aAAa,EAAE;AAAA,YAC1C,CAAC;AAID,kBAAM,aAAc,GAAW,UAAU,iBAAiB,GAAG,WAAW,MAAM,GAAG,aAAa,IAAI,GAAG,WAAW,MAAM,KAAK;AAC3H,gBAAI,YAAY;AACd,oBAAM,OAAO,OAAO,YAAY;AAChC,kBAAI,CAAC,KAAM;AACX,qBAAO;AACP,kBAAI,KAAK,aAAa,KAAK,UAAW,MAAK,cAAc,MAAM,MAAM;AAAA,YACvE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAK,WAAY,MAAK,KAAK,UAAU;AACzC,WAAK,IAAmB;AAAA,IAC1B;AAAA,IAEQ,cAAc,MAAmB,MAA4B,OAAqB;AACxF,YAAM,SAAS,kBAAkB,KAAK,MAAM;AAC5C,YAAM,iBAAkB,KAAa,iBAAiB,IAAI,KAAK,MAAM;AACrE,YAAM,UAAW,KAAa,MAAM,KAAK,KAAK,eAAe;AAC7D,YAAM,UAAU,MAAM,KAAK,QAAQ,SAAS,YAAY,CAAC;AACzD,UAAI,QAAQ,WAAW,KAAK,eAAgB;AAE5C,cAAQ,QAAQ,WAAS;AACvB,cAAM,WAAY,MAAM,CAAC,EAAa,KAAK;AAC3C,cAAM,WAAW,SAAS,MAAM,GAAG,EAAE,CAAC;AACtC,cAAM,UAAU,WAAW,KAAK,OAAK,EAAE,QAAQ,SAAS,QAAQ;AAChE,cAAM,SAAS,oBAAoB,KAAK,OAAK,EAAE,QAAQ,SAAS,QAAQ;AACxE,cAAM,aAAc,KAAa,WAAW,YAAa,KAAa,gBAAgB;AACtF,cAAM,aAAa,KAAK,iBAAiB,IAAI,QAAQ;AACrD,cAAM,cAAc,KAAK,aAAa,IAAI,MAAM;AAChD,cAAM,iBAAiB,YAAY;AAGnC,YAAI,gBAAgB;AACpB,YAAI,OAAa,KAAa,iBAAmB,KAAa,cAAc,GAAW;AACvF,eAAO,MAAM;AACX,cAAI,KAAK,eAAe,IAAI,MAAM,UAAU;AAC1C,4BAAgB;AAChB;AAAA,UACF;AACA,iBAAO,KAAK,iBAAkB,KAAK,cAAc,GAAW;AAAA,QAC9D;AAEA,YAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAe;AAE5G,YAAI,CAAC,KAAK,eAAe,IAAI,QAAQ,EAAG,MAAK,eAAe,IAAI,UAAU,CAAC,CAAC;AAC5E,YAAI,CAAE,KAAa,MAAM,EAAG,CAAC,KAAa,MAAM,IAAI;AACpD,YAAI,CAAE,KAAa,gBAAiB,CAAC,KAAa,kBAAkB,oBAAI,IAAI;AAC5E,QAAC,KAAa,gBAAgB,IAAI,KAAK,MAAM;AAC7C,aAAK,eAAe,IAAI,QAAQ,EAAG,KAAK,EAAE,MAAM,MAAM,OAAO,MAAM,SAAS,CAAC;AAC7E,aAAK,aAAa,QAAQ;AAAA,MAC5B,CAAC;AAAA,IACH;AAAA,IAIQ,aAAa,WAAmB;AACtC,UAAI,CAAC,KAAK,eAAgB;AAC1B,UAAI,KAAK,iBAAkB;AAC3B,WAAK,mBAAmB;AACxB,UAAI;AACF,aAAK,sBAAsB,SAAS;AACpC,cAAM,YAAY,KAAK,aAAa,IAAI;AACxC,YAAI,aAAa,cAAc,UAAW,MAAK,sBAAsB,SAAS;AAG9E,aAAK;AAAA,UACH,IAAI,YAAY,oBAAoB;AAAA,YAClC,SAAS;AAAA,YACT,UAAU;AAAA,YACV,QAAQ,EAAE,QAAQ,WAAW,MAAM,KAAK;AAAA,UAC1C,CAAC;AAAA,QACH;AAAA,MACF,UAAE;AACA,aAAK,mBAAmB;AAAA,MAC1B;AAAA,IACF;AAAA,IAEQ,sBAAsB,WAAmB;AAC/C,YAAM,WAAW,KAAK,eAAe,IAAI,SAAS;AAClD,UAAI,CAAC,SAAU;AACf,YAAM,SAAS,kBAAkB,KAAK,MAAM;AAC5C,eAAS,QAAQ,SAAO;AACtB,YAAI,OAAQ,IAAI,KAAa,MAAM;AACnC,YAAI,CAAC,KAAM;AACX,cAAM,UAAU,MAAM,KAAK,KAAK,SAAS,YAAY,CAAC;AACtD,YAAI,cAAc;AAClB,mBAAW,SAAS,SAAS;AAC3B,gBAAM,OAAO,MAAM,CAAC,EAAE,KAAK;AAC3B,gBAAM,OAAO,KAAK,MAAM,GAAG,EAAE,CAAC;AAC9B,cAAI,MAAW;AACf,cAAI,UAA8B;AAClC,iBAAO,SAAS;AACd,kBAAM,kBAAkB;AACxB,gBAAI,QAAQ,aAAa,IAAI,MAAM,MAAM;AACvC,oBAAM,SAAS,eAAe,SAAS,KAAK,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,SAAS,OAAO;AAC7F,kBAAI,QAAQ,cAAe;AAAA,YAC7B;AACA,kBAAM,iBAAiB,gBAAgB,kBAAkB,IAAI,IAAI;AACjE,gBAAI,gBAAgB;AAClB,oBAAM,SAAS,eAAe,gBAAgB,KAAK,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,SAAS,OAAO;AACpG,kBAAI,QAAQ,cAAe;AAAA,YAC7B;AACA,kBAAM,UAAU,qBAAqB,QAAQ,WAAW;AACxD,kBAAM,SAAS,yBAAyB,QAAQ,WAAW;AAC3D,kBAAM,QAAQ,SAAS,KAAK,OAAK,EAAE,QAAQ,SAAS,IAAI;AACxD,kBAAM,QAAQ,QAAQ,KAAK,OAAK,EAAE,QAAQ,SAAS,IAAI;AACvD,gBAAI,SAAS,OAAO;AAElB,oBAAM,UAAU,QAAQ,OAAO,MAAM,WAAW,IAAI,OAAO,MAAO,WAAW;AAC7E,oBAAM,UAAW,QAAgB,OAAO;AACxC,oBAAM,UAAU,KAAK,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AACjD,kBAAI,SAAS;AAEX,sBAAM,SAAS,eAAe,SAAS,SAAS,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;AACrE,oBAAI,QAAQ,eAAe;AAEzB,wBAAM,QAAQ,QAAQ,MAAM,GAAG;AAC/B,sBAAI,MAAM;AACV,6BAAW,KAAK,OAAO;AACrB,wBAAI,QAAQ,QAAQ,QAAQ,QAAW;AACrC,4BAAM;AACN;AAAA,oBACF;AACA,0BAAM,IAAI,CAAC;AAAA,kBACb;AACA,sBAAI,QAAQ,UAAa,QAAQ,cAAe,OAAM;AAAA,gBACxD;AAAA,cACF,OAAO;AAEL,sBAAM;AAAA,cACR;AACA,kBAAI,QAAQ,iBAAiB,QAAQ,OAAW;AAAA,YAClD;AAGA,gBAAI,QAAQ,SAAS;AACnB,oBAAM,SAAS,eAAe,SAAS,MAAM,IAAI;AACjD,kBAAI,QAAQ,cAAe;AAAA,YAC7B;AAEA,sBAAU,QAAQ,iBAAkB,QAAQ,YAAY,EAAU;AAAA,UACpE;AACA,cAAI,QAAQ,iBAAiB,QAAQ,QAAW;AAC9C,kBAAM,SAAS,QAAQ,OAAO,KAAK,OAAO,QAAQ,WAAW,KAAK,UAAU,GAAG,IAAI,OAAO,GAAG;AAC7F,0BAAc,YAAY,QAAQ,MAAM,CAAC,GAAG,MAAM;AAClD,gBAAI,IAAI,SAAS,eAAe,IAAI,OAAO;AACzC,oBAAM,WAAY,IAAI,KAAc;AACpC,oBAAM,aAAa,yBAAyB,IAAI,MAAM,WAAW;AACjE,oBAAM,WAAW,YAAY,KAAK,OAAK,EAAE,QAAQ,SAAS,QAAQ;AAClE,oBAAM,WAAW,WAAW,OAAO,SAAS,WAAW,IAAI,SAAS,QAAQ,aAAa,OAAK,EAAE,CAAC,EAAE,YAAY,CAAC;AAEhH,kBAAI,QAAQ,QAAQ,QAAQ,QAAW;AACrC,oBAAI,MAAM,gBAAgB,QAAQ;AAClC,oBAAI,YAAY,IAAI,MAAO,CAAC,IAAI,MAAc,QAAQ,IAAI;AAAA,cAC5D,OAAO;AACL,oBAAI,YAAY,IAAI,MAAO,CAAC,IAAI,MAAc,QAAQ,IAAI;AAC1D,oBAAI,MAAM,aAAa,UAAU,WAAW;AAC5C,qBAAK,aAAa,WAAW,aAAa,cAAc,IAAI,MAAM,QAAQ,MAAM,uBAAuB,GAAG;AACxG,kBAAC,IAAI,MAAc,QAAQ,IAAI;AAAA,gBACjC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,YAAI,IAAI,SAAS,OAAQ,KAAI,KAAK,cAAc;AAAA,MAClD,CAAC;AAAA,IACH;AAAA,IAEA,uBAAuB;AACrB,WAAK,kBAAkB,4BAA4B;AACnD,YAAM,WAAW,qBAA0C,MAAM,mCAAmC;AACpG,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,UAAI,KAAK,UAAW,MAAK,UAAU,WAAW;AAC9C,UAAI,KAAK,gBAAiB,MAAK,gBAAgB,WAAW;AAC1D,UAAI,OAAO,0BAA0B;AACnC,aAAK,iBAAiB,QAAQ,CAAC,EAAE,IAAI,MAAM,SAAS,QAAQ,MAAM,GAAG,oBAAoB,MAAM,SAAS,OAAO,CAAC;AAChH,aAAK,mBAAmB,CAAC;AAAA,MAC3B;AACA,UAAI,MAAM,qBAAsB,OAAM,qBAAqB;AAC3D,YAAM,WAAW,qBAA0C,MAAM,kCAAkC;AACnG,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,WAAK,kBAAkB,2BAA2B;AAAA,IACpD;AAAA,IAEA,kBAAkB;AAChB,WAAK,kBAAkB,uBAAuB;AAC9C,YAAM,WAAW,qBAA0C,MAAM,8BAA8B;AAC/F,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,UAAI,MAAM,gBAAiB,OAAM,gBAAgB;AACjD,YAAM,WAAW,qBAA0C,MAAM,6BAA6B;AAC9F,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,WAAK,kBAAkB,sBAAsB;AAAA,IAC/C;AAAA,IAEA,MAAM,oBAAoB;AACxB,WAAK,kBAAkB,yBAAyB;AAChD,YAAM,WAAW,qBAA0C,MAAM,gCAAgC;AACjG,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,UAAI,OAAQ,KAAa,aAAa,WAAY,CAAC,KAAa,SAAS;AACzE,YAAM,YAAY,yBAAyB,IAAI;AAC/C,UAAI,WAAW;AACf,UAAI,WAAW;AACf,UAAI,WAAW;AACb,mBAAW,QAAQ,WAAW;AAC5B,gBAAM,SAAS,MAAO,KAAa,KAAK,WAAW,EAAE;AACrD,cAAI,WAAW,QAAW;AACxB,gBAAI,KAAK,QAAQ,cAAc,KAAM,aAAY;AAAA,gBAC5C,aAAY;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAK,WAAY,MAAK,WAAW,YAAY;AACjD,UAAI,SAAU,MAAK,YAAY;AAC/B,MAAC,KAAa,gBAAgB;AAE9B,YAAM,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,IAAW;AAEnE,UAAI,CAAC,mBAAmB;AACtB,cAAM,KAAK,KAAK,UAAiB,EAAE,QAAQ,CAAC,SAAc;AACxD,cAAI,KAAK,KAAK,WAAW,SAAS,KAAK,uBAAuB,QAAQ,KAAK,IAAI,MAAM,IAAI;AACvF,kBAAM,YAAY,KAAK,KAAK,UAAU,CAAC;AACvC,gBAAI,cAAc,aAAa;AAC7B,oBAAMF,YAAW,kBAAkB,KAAK,IAAI;AAC5C,kBAAIC,SAAQ,KAAK,eAAe,IAAI,IAAW;AAC/C,kBAAI,CAACA,QAAO;AACV,gBAAAA,SAAQ,oBAAI,IAAI;AAChB,qBAAK,eAAe,IAAI,MAAaA,MAAK;AAAA,cAC5C;AACA,kBAAI,CAACA,OAAM,IAAID,SAAQ,GAAG;AACxB,sBAAM,SAAU,KAAa,aAAa,KAAK,IAAI;AACnD,oBAAI,QAAQ;AACV,sBAAI;AACF,0BAAM,SAAS,SAAS,gBAAgB,IAAW;AACnD,0BAAM,aAAa,OAAO,CAAC,KAAK;AAChC,0BAAM,YAAY,OAAO,OAAO,SAAS,CAAC,KAAK;AAC/C,0BAAM,QAAQ;AACd,wBAAI,SAAS,SAAS,SAAS,SAAS,UAAU,cAAc,aAAa,GAAG,qBAAqB,MAAM,EAAE,KAAK,MAAM,MAAM,MAAM,OAAO,QAAQ,YAAY,WAAW,GAAG,oBAAoB,CAAC;AAAA,kBACpM,SAAS,GAAG;AACV,4BAAQ,MAAM,2BAA2B,KAAK,IAAI,YAAY,CAAC;AAAA,kBACjE;AAAA,gBACF;AACA,gBAAAC,OAAM,IAAID,SAAQ;AAAA,cACpB;AACA;AAAA,YACF;AAEA,kBAAM,WAAW,mBAAmB,KAAK,IAAI;AAC7C,gBAAI,QAAQ,KAAK,eAAe,IAAI,IAAW;AAC/C,gBAAI,CAAC,OAAO;AACV,sBAAQ,oBAAI,IAAI;AAChB,mBAAK,eAAe,IAAI,MAAa,KAAK;AAAA,YAC5C;AAEA,gBAAI,CAAC,MAAM,IAAI,QAAQ,GAAG;AACxB,oBAAM,UAAU,CAAC,UAAe;AAC9B,sBAAM,SAAU,KAAa,aAAa,KAAK,IAAI;AACnD,oBAAI,QAAQ;AACV,sBAAI;AACF,0BAAM,SAAS,SAAS,gBAAgB,IAAW;AACnD,0BAAM,aAAa,OAAO,CAAC,KAAK;AAChC,0BAAM,YAAY,OAAO,OAAO,SAAS,CAAC,KAAK;AAC/C,0BAAM,QAAQ;AACd,wBAAI,SAAS,SAAS,SAAS,SAAS,UAAU,cAAc,aAAa,GAAG,qBAAqB,MAAM,EAAE,KAAK,MAAM,OAAQ,MAAsB,QAAQ,OAAO,QAAQ,YAAY,WAAW,GAAG,oBAAoB,CAAC;AAAA,kBAC9N,SAAS,GAAG;AACV,4BAAQ,MAAM,2BAA2B,KAAK,IAAI,YAAY,CAAC;AAAA,kBACjE;AAAA,gBACF;AAAA,cACF;AACA,mBAAK,iBAAiB,WAAW,OAAO;AAExC,oBAAM,IAAI,QAAQ;AAClB,kBAAI,OAAO,yBAA0B,MAAK,iBAAiB,KAAK,EAAE,IAAI,MAAa,MAAM,WAAW,QAAQ,CAAC;AAAA,YAC/G;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,mBAAmB,iCAAiC,IAAI;AAE9D,YAAM,wBAAwB,CAAC,cAAgC,UAA4B,SAA6B;AACtH,0BAAkB,QAAQ,UAAQ;AAChC,gBAAM,IAAI,KAAK,QAAQ,QAAQ;AAC/B,gBAAM,UAAU,MAAM,SAAS,MAAM,QAAS,MAAM,WAAW,KAAK,aAAa,SAAS,WAAW,SAAS;AAC9G,cAAI,WAAW,OAAQ,KAAa,KAAK,WAAW,MAAM,YAAY;AACpE,YAAC,KAAa,KAAK,WAAW,EAAE,cAAc,UAAU,IAAI;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,MACH;AAEA,WAAK,YAAY,IAAK,IAAY,iBAAiB,CAAC,cAAgC,aAA+B;AACjH,QAAC,KAAa,gBAAgB;AAC9B,8BAAsB,cAAc,UAAU,OAAO;AAAA,MACvD,CAAC;AAED,WAAK,UAAU,QAAQ,MAAa,EAAE,WAAW,MAAM,SAAS,KAAK,CAAC;AAEtE,UAAI,KAAK,YAAY;AACnB,aAAK,kBAAkB,IAAK,IAAY,iBAAiB,CAAC,cAAgC,aAA+B;AACvH,UAAC,KAAa,gBAAgB;AAC9B,gCAAsB,cAAc,UAAU,QAAQ;AAAA,QACxD,CAAC;AAED,aAAK,gBAAgB,QAAQ,KAAK,YAAY,EAAE,WAAW,MAAM,SAAS,KAAK,CAAC;AAAA,MAClF;AACA,UAAI,MAAM,kBAAmB,OAAM,MAAM,kBAAkB;AAC3D,YAAM,WAAW,qBAA0C,MAAM,+BAA+B;AAChG,gBAAU,QAAQ,OAAK;AACrB,YAAI,OAAQ,KAAa,CAAC,MAAM,WAAY,CAAC,KAAa,CAAC,EAAE;AAAA,MAC/D,CAAC;AACD,WAAK,kBAAkB,wBAAwB;AAAA,IACjD;AAAA,IAEA,yBAAyB,MAAc,UAAyB,UAAyB;AACvF,UAAI,MAAM,yBAA0B,OAAM,yBAAyB,MAAM,UAAU,QAAQ;AAC3F,UAAI,oBAAoB;AACtB,2BAAmB,QAAQ,UAAQ;AACjC,cAAI,KAAK,QAAQ,SAAS,MAAM;AAC9B,kBAAM,UAAW,KAAa,KAAK,WAAW;AAI9C,gBAAI,OAAO,YAAY,YAAY,YAAY,KAAM;AACrD,gBAAI,OAAO,OAAO,MAAM,OAAO,QAAQ,EAAG,CAAC,KAAa,KAAK,WAAW,IAAI;AAAA,UAC9E;AAAA,QACF,CAAC;AAAA,MACH;AACA,UAAI,OAAQ,KAAa,iBAAiB,WAAY,CAAC,KAAa,aAAa,IAAI;AACrF,YAAM,cAAc,qBAAqB,aAAa,iCAAiC;AACvF,YAAM,QAAQ,aAAa,IAAI,IAAI;AACnC,UAAI,SAAS,MAAM,QAAQ,KAAK;AAC9B,cAAM,QAAQ,SAAO;AACnB,cAAI,OAAQ,KAAa,GAAG,MAAM,WAAY,CAAC,KAAa,GAAG,EAAE,UAAU,UAAU,IAAI;AAAA,QAC3F,CAAC;AACH,UAAI,qBAAqB;AACvB,cAAM,QAAQ,oBAAoB,KAAK,QAAM,GAAG,QAAQ,kBAAkB,IAAI;AAC9E,YAAI,OAAO;AACT,gBAAM,QAAQ,MAAM,QAAQ;AAC5B,gBAAM,WAAW,KAAK,cAAc,IAAI,KAAK;AAC7C,cAAI,SAAU,MAAK,oBAAoB,OAAO,QAAQ;AACtD,cAAI,UAAU;AACZ,kBAAM,WAAW,CAAC,MAAa;AAC7B,kBAAI,SAAS,SAAS,SAAS,QAAQ,EAAE,KAAK,MAAM,GAAI,EAAkB,MAAM;AAAA,YAClF;AACA,iBAAK,iBAAiB,OAAO,QAAQ;AACrC,iBAAK,cAAc,IAAI,OAAO,QAAQ;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AACA,YAAM,eAAe,aAAa,IAAI,0BAA0B;AAChE,UAAI,gBAAgB,MAAM,QAAQ,YAAY;AAC5C,qBAAa,QAAQ,SAAO;AAC1B,cAAI,OAAQ,KAAa,GAAG,MAAM,WAAY,CAAC,KAAa,GAAG,EAAE,UAAU,UAAU,IAAI;AAAA,QAC3F,CAAC;AACH,WAAK,kBAAkB,4BAA4B,EAAE,MAAM,UAAU,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA,IACpG;AAAA,EACF;AAEA,eAAa,eAAe,oBAAoB,QAAQ,QAAQ;AAChE,eAAa,eAAe,oBAAoB,QAAQ,WAAW;AAEnE,QAAM,WAAW,OAAO,0BAA0B,OAAO,QAAQ,cAAc,IAAI,iBAAiB;AACpG,MAAI,YAAY,CAAC,SAAS,IAAI,OAAO,IAAI,GAAG;AAC1C,UAAM,UAAU,OAAO,UAAU,EAAE,SAAS,OAAO,QAAQ,IAAI;AAC/D,aAAS,OAAO,OAAO,MAAM,UAAiB,OAAO;AAAA,EACvD;AAEA,SAAO;AACT;AAEK,MAAM,mBAAmB,CAAC,WAA2C;AAC1E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,aAAa,YAAY,oBAAoB,WAAW;AACjE;",
6
- "names": ["eventKey", "bound", "$hosts"]
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getInnerHtmlMetadataList } from './innerHtml';\nimport { getQueryMetadata } from './query';\nimport { getQueryAllMetadata } from './queryAll';\nimport { getAddEventListenerMetadata } from './addEventListener';\nimport { getLifecycleMetadata, ON_BEFORE_CONNECTED_METADATA_KEY, ON_AFTER_CONNECTED_METADATA_KEY, ON_BEFORE_DISCONNECTED_METADATA_KEY, ON_AFTER_DISCONNECTED_METADATA_KEY, ON_BEFORE_ADOPTED_METADATA_KEY, ON_AFTER_ADOPTED_METADATA_KEY, ON_ADD_EVENT_LISTENER_METADATA_KEY, ON_ATTRIBUTE_CHANGED_METADATA_KEY, ATTRIBUTE_CHANGED_WILDCARD, getMutationSubscribeMetadataList } from './lifecycles';\nimport { getAttributeMetadataList } from './attribute';\nimport { getStateMetadataList } from './state';\nimport { getEmitCustomEventMetadataList } from './emitCustomEvent';\nimport { SwcUtils, SWC_NOT_FOUND } from '../utils/Utils';\nimport { HTML_TAG_ENTRIES } from '../config/config';\nimport {getInject, SituationTypeContainer, SituationTypeContainers} from '@dooboostore/simple-boot/decorators/inject/Inject';\nimport { InjectSituationType, HostSet } from '../elements/SwcInterfaces';\nimport { ConstructorType } from '@dooboostore/core/types';\n\nexport interface ElementConfig {\n name: string;\n extends?: string;\n observedAttributes?: string[];\n customElementRegistry?: CustomElementRegistry;\n autoRemoveEventListeners?: boolean;\n window?: Window;\n}\n\nexport const ELEMENT_CONFIG_KEY = Symbol('simple-web-component:element-config');\nexport const STATE_CHANGE_EVENT = 'swc:state-change';\n\n// --- \uD658\uACBD \uCD08\uAE30\uD654 \uD5EC\uD37C ---\n\nfunction buildEnv(configWindow?: Window) {\n const win: any = configWindow || (typeof window !== 'undefined' ? window : undefined);\n const doc: Document = win?.document;\n\n const builtInTagMap = new Map<any, string>();\n for (const [cls, tag] of HTML_TAG_ENTRIES) {\n if (win?.[cls]) builtInTagMap.set(win[cls], tag);\n }\n\n const domHelpers = {\n $d: doc,\n $w: win,\n $q: (sel: string, root?: Element | Document | ShadowRoot) => (root ?? doc).querySelector(sel),\n $qa: (sel: string, root?: Element | Document | ShadowRoot) => Array.from((root ?? doc).querySelectorAll(sel)),\n $qi: (id: string, root?: Document | ShadowRoot) => (root ?? doc).getElementById(id)\n } as const;\n\n return { win, doc, builtInTagMap, domHelpers };\n}\n\nexport const elementDefine =\n (inConfig: ElementConfig | string): ClassDecorator =>\n (constructor: any) => {\n const config: ElementConfig = typeof inConfig === 'string' ? { name: inConfig } : inConfig;\n const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);\n config.window = win;\n const SWC_DOM_HELPER_KEYS = Object.keys(SWC_DOM_HELPERS) as (keyof typeof SWC_DOM_HELPERS)[];\n const SWC_DOM_HELPER_VALS = () => SWC_DOM_HELPER_KEYS.map(k => (SWC_DOM_HELPERS as any)[k]);\n\n let extendsTagName = config.extends;\n if (!extendsTagName) {\n let proto = constructor;\n while (proto && proto !== HTMLElement && proto !== Function.prototype) {\n extendsTagName = BUILT_IN_TAG_MAP.get(proto);\n if (extendsTagName) break;\n proto = Object.getPrototypeOf(proto);\n }\n config.extends = extendsTagName;\n }\n\n const attributePropsList = getAttributeMetadataList(constructor);\n const emitCustomEventList = getEmitCustomEventMetadataList(constructor);\n const stateList = getStateMetadataList(constructor);\n const observedFromProps = attributePropsList ? attributePropsList.map(it => it.options.name!) : [];\n const observedFromEmits = emitCustomEventList ? emitCustomEventList.map(it => it.options.attributeName!) : [];\n const swcLifecycleAttributes = ['swc-on-constructor', 'swc-on-before-connected', 'swc-on-after-connected', 'swc-on-before-disconnected', 'swc-on-after-disconnected', 'swc-on-before-adopted', 'swc-on-after-adopted', 'swc-on-attribute-changed'];\n const mergedObservedAttributes = [...new Set([...(config.observedAttributes ?? []), ...observedFromProps, ...observedFromEmits, ...swcLifecycleAttributes])];\n\n const NewClass = class extends (constructor as any) {\n private _swcId = Math.random().toString(36).substring(2, 11);\n private _observer: MutationObserver | null = null;\n private _shadowObserver: MutationObserver | null = null;\n private _boundElements = new WeakMap<Element, Set<string | symbol>>();\n private _activeListeners: Array<{ el: Element | HTMLElement; type: string; handler: EventListener; options?: any }> = [];\n private _emitHandlers = new Map<string, EventListener>();\n private _stateBindings = new Map<string, any[]>();\n private _internalStates = new Map<string | symbol, any>();\n private _externalSources = new Map<string, HTMLElement>();\n\n _getHostContext(): Record<string, any> {\n const ctx: Record<string, any> = {};\n if (stateList) {\n stateList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n const hostVal = (this as any).value !== undefined ? (this as any).value : this;\n ctx['value'] = hostVal;\n const alias = this.getAttribute('as');\n if (alias && alias !== 'value') ctx[alias] = hostVal;\n return ctx;\n }\n\n static get observedAttributes() {\n return mergedObservedAttributes;\n }\n\n private _executeSwcScript(attrName: string, hostSet: HostSet, extraArgs: Record<string, any> = {}) {\n const script = this.getAttribute(attrName);\n if (script) {\n try {\n const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };\n const argNames = Object.keys(args);\n const argValues = Object.values(args);\n new Function(...argNames, script).apply(this, argValues);\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attrName} script:`, e);\n }\n }\n }\n\n private async _invokeLifecycleMethod(methodName: string | symbol, hostSet: HostSet, extraArgs: any[] = []) {\n if (typeof (this as any)[methodName] !== 'function') return;\n const app = hostSet.$appHost?.simpleApplication;\n\n if (app) {\n const otherStorage = new Map<any, any>();\n const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: InjectSituationType.HOST_SET, data: hostSet }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOST, data: hostSet.$appHost }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new SituationTypeContainer({ situationType: InjectSituationType.HOST, data: hostSet.$host }), new SituationTypeContainer({ situationType: InjectSituationType.HOSTS, data: hostSet.$hosts }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);\n otherStorage.set(SituationTypeContainers, situations);\n\n return app.simstanceManager.executeBindParameterSimPromise(\n {\n target: this,\n targetKey: methodName,\n inputParameters: extraArgs\n },\n otherStorage\n );\n } else {\n return (this as any)[methodName](hostSet,...extraArgs);\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-constructor', hostSet);\n\n if (stateList) {\n stateList.forEach(meta => {\n const key = meta.propertyKey;\n const stateName = meta.options.name!;\n const initialVal = (this as any)[key];\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(initialVal, () => this._updateState(stateName))\n );\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(newVal, () => this._updateState(stateName))\n );\n this._updateState(stateName);\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const key = meta.propertyKey;\n const attrName = meta.options.name!;\n const attrValue = this.getAttribute(attrName);\n let initialVal = attrValue !== null ? attrValue : (this as any)[key];\n if (initialVal === undefined) initialVal = null;\n if (attrValue !== null) {\n if (meta.options.type === Number) initialVal = Number(attrValue);\n else if (meta.options.type === Boolean) initialVal = true;\n else if (meta.options.type === Object) {\n try {\n initialVal = JSON.parse(attrValue);\n } catch (e) {}\n }\n }\n this._internalStates.set(key, initialVal);\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(key, newVal);\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(attrName);\n if (!meta.options.disableReflect && this.setAttribute && typeof newVal !== 'object') {\n if (newVal === null || newVal === undefined || newVal === false) this.removeAttribute(attrName);\n else this.setAttribute(attrName, String(newVal));\n }\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n const innerHtmlList = getInnerHtmlMetadataList(this);\n if (innerHtmlList?.some(it => it.options.useShadow === true) && !this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n }\n\n private _isSyncing = false;\n private _syncDecorators() {\n if (this._isSyncing) return;\n this._isSyncing = true;\n try {\n this._buildStateMap();\n this._syncEventListenersAndQueries();\n } finally {\n this._isSyncing = false;\n }\n }\n\n private _syncEventListenersAndQueries() {\n const getSearchRoots = (rootOption?: string): Node[] => {\n const roots: Node[] = [];\n if (rootOption === 'shadow') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n } else if (rootOption === 'light') {\n roots.push(this as any as Node);\n } else if (rootOption === 'all') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n roots.push(this as any as Node);\n } else {\n roots.push(this.shadowRoot || (this as any as Node));\n }\n return roots;\n };\n const queryMetadata = getQueryMetadata(this);\n if (queryMetadata) {\n queryMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n let foundEl: Element | null = null;\n for (const root of searchRoots) {\n foundEl = it.selector ? (root as HTMLElement).querySelector(it.selector) : (this as any as Element);\n if (foundEl) break;\n }\n if (foundEl) {\n let bound = this._boundElements.get(foundEl);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(foundEl, bound);\n }\n if (!bound.has(it.propertyKey)) {\n (this as any)[it.propertyKey](foundEl);\n bound.add(it.propertyKey);\n }\n }\n });\n }\n const queryAllMetadata = getQueryAllMetadata(this);\n if (queryAllMetadata) {\n queryAllMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n const allElements: Element[] = [];\n searchRoots.forEach(root => {\n const found = it.selector ? (root as HTMLElement).querySelectorAll(it.selector) : [this as any as Element];\n allElements.push(...Array.from(found));\n });\n (this as any)[it.propertyKey](allElements);\n });\n }\n const eventListeners = getAddEventListenerMetadata(this);\n if (eventListeners) {\n eventListeners.forEach(it => {\n const { query, type, root: rootOption, ...options } = it.options;\n const searchRoots = getSearchRoots(rootOption);\n searchRoots.forEach(root => {\n const targetElements = query ? (root as HTMLElement).querySelectorAll(query) : [this as any as Element];\n targetElements.forEach(targetElement => {\n if (targetElement) {\n let bound = this._boundElements.get(targetElement);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(targetElement, bound);\n }\n const eventKey = `event:${String(it.propertyKey)}:${type}`;\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (it.options.stopImmediatePropagation) event.stopImmediatePropagation();\n if (it.options.stopPropagation) event.stopPropagation();\n if (it.options.preventDefault) event.preventDefault();\n (this as any)[it.propertyKey](event, targetElement);\n };\n targetElement.addEventListener(type, handler, options);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: targetElement, type, handler, options });\n const addEventMethods = getLifecycleMetadata(this, ON_ADD_EVENT_LISTENER_METADATA_KEY);\n addEventMethods?.forEach((m: string | symbol) => {\n if (typeof (this as any)[m] === 'function') (this as any)[m](targetElement, type, handler);\n });\n }\n }\n });\n });\n });\n }\n }\n\n private _buildStateMap() {\n const scan = (root: Node) => {\n const walker = doc.createTreeWalker(root, (win as any).NodeFilter.SHOW_ELEMENT | (win as any).NodeFilter.SHOW_TEXT);\n let node: Node | null = null;\n while ((node = walker.nextNode())) {\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n else if (node.nodeType === Node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const alias = el.getAttribute('as');\n if (alias && !this._externalSources.has(alias)) {\n this._externalSources.set(alias, el);\n const aliasKey = `alias-event:${alias}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(aliasKey)) {\n el.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(alias));\n bound.add(aliasKey);\n }\n }\n const $hosts = SwcUtils.findAllSwcHosts(el);\n $hosts.forEach(host => {\n const hAlias = host.getAttribute('as');\n if (hAlias) {\n const hostBindKey = `parent-host-event:${hAlias}`;\n let hBound = this._boundElements.get(host);\n if (!hBound) {\n hBound = new Set();\n this._boundElements.set(host, hBound);\n }\n if (!hBound.has(hostBindKey)) {\n host.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(hAlias));\n hBound.add(hostBindKey);\n }\n }\n });\n Array.from(el.attributes).forEach(attr => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n const hostSet = SwcUtils.getHostSet(el);\n if (eventName === 'connected') {\n const eventKey = `attr-once:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `attr-event:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n el.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el, type: eventName, handler });\n }\n }\n this._parseAndBind(attr, 'attribute', el);\n });\n const isSwcChild = (el as any)._swcId || getElementConfig(el.constructor) || (el.getAttribute('is')?.startsWith('swc-') ?? false);\n if (isSwcChild) {\n const next = walker.nextSibling();\n if (!next) break;\n node = next;\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n }\n }\n }\n };\n if (this.shadowRoot) scan(this.shadowRoot);\n scan(this as any as Node);\n }\n\n private _parseAndBind(node: Node | Attr, type: 'text' | 'attribute', owner?: HTMLElement) {\n const tplKey = `__swc_original_${this._swcId}`;\n const isAlreadyBound = (node as any).__swc_bound_ids?.has(this._swcId);\n const content = (node as any)[tplKey] || node.textContent || '';\n const matches = Array.from(content.matchAll(/{{(.*?)}}/g)) as any[];\n if (matches.length === 0 || isAlreadyBound) return;\n matches.forEach(match => {\n const fullPath = (match[1] as string).trim();\n const rootName = fullPath.split('.')[0];\n const isState = stateList?.some(s => s.options.name === rootName);\n const isAttr = attributePropsList?.some(a => a.options.name === rootName);\n const isLogicKey = (this as any)._asKey === rootName || (this as any)._asItemKey === rootName || (this as any)._asIndexKey === rootName;\n const isExternal = this._externalSources.has(rootName);\n const isSelfAlias = this.getAttribute('as') === rootName;\n const isInstanceProp = rootName in this;\n let isParentAlias = false;\n let curr: any = (this as any).parentElement || ((this as any).getRootNode?.() as any)?.host;\n while (curr) {\n if (curr.getAttribute?.('as') === rootName) {\n isParentAlias = true;\n break;\n }\n curr = curr.parentElement || (curr.getRootNode?.() as any)?.host;\n }\n if (!isState && !isAttr && !isLogicKey && !isExternal && !isSelfAlias && !isInstanceProp && !isParentAlias) return;\n if (!this._stateBindings.has(rootName)) this._stateBindings.set(rootName, []);\n if (!(node as any)[tplKey]) (node as any)[tplKey] = content;\n if (!(node as any).__swc_bound_ids) (node as any).__swc_bound_ids = new Set();\n (node as any).__swc_bound_ids.add(this._swcId);\n this._stateBindings.get(rootName)!.push({ node, type, owner, path: fullPath });\n this._updateState(rootName);\n });\n }\n\n private _isUpdatingState = false;\n private _updateState(stateName: string) {\n if (!this._stateBindings) return;\n if (this._isUpdatingState) return;\n this._isUpdatingState = true;\n try {\n this._executeBindingUpdate(stateName);\n const selfAlias = this.getAttribute('as');\n if (selfAlias && selfAlias !== stateName) this._executeBindingUpdate(selfAlias);\n this.dispatchEvent(new CustomEvent(STATE_CHANGE_EVENT, { bubbles: true, composed: true, detail: { source: stateName, host: this } }));\n } finally {\n this._isUpdatingState = false;\n }\n }\n\n private _executeBindingUpdate(stateName: string) {\n const bindings = this._stateBindings.get(stateName);\n if (!bindings) return;\n const tplKey = `__swc_original_${this._swcId}`;\n bindings.forEach(bin => {\n let text = (bin.node as any)[tplKey];\n if (!text) return;\n const matches = Array.from(text.matchAll(/{{(.*?)}}/g)) as RegExpMatchArray[];\n let updatedText = text;\n for (const match of matches) {\n const path = match[1].trim();\n const root = path.split('.')[0];\n let val: any = undefined;\n let current: HTMLElement | null = this as any as HTMLElement;\n while (current) {\n const currentNewClass = current as any;\n if (current.getAttribute('as') === root) {\n val = SwcUtils.getValueByPath(current, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const externalSource = currentNewClass._externalSources?.get(root);\n if (externalSource) {\n val = SwcUtils.getValueByPath(externalSource, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const cStates = getStateMetadataList(current.constructor);\n const cAttrs = getAttributeMetadataList(current.constructor);\n const sMeta = cStates?.find(s => s.options.name === root);\n const aMeta = cAttrs?.find(a => a.options.name === root);\n if (sMeta || aMeta) {\n const propKey = sMeta ? String(sMeta.propertyKey) : String(aMeta!.propertyKey);\n const rootVal = (current as any)[propKey];\n const subPath = path.split('.').slice(1).join('.');\n if (subPath) {\n val = SwcUtils.getValueByPath(rootVal, subPath, subPath.split('.')[0]);\n if (val === SWC_NOT_FOUND) {\n const parts = subPath.split('.');\n let cur = rootVal;\n for (const p of parts) {\n if (cur === null || cur === undefined) {\n cur = SWC_NOT_FOUND;\n break;\n }\n cur = cur[p];\n }\n if (cur !== undefined && cur !== SWC_NOT_FOUND) val = cur;\n }\n } else {\n val = rootVal;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) break;\n }\n if (root in current) {\n val = SwcUtils.getValueByPath(current, path, root);\n if (val !== SWC_NOT_FOUND) break;\n }\n current = current.parentElement || (current.getRootNode() as any).host;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) {\n const strVal = val === null ? '' : typeof val === 'object' ? JSON.stringify(val) : String(val);\n updatedText = updatedText.replace(match[0], strVal);\n if (bin.type === 'attribute' && bin.owner) {\n const attrName = (bin.node as Attr).name;\n const ownerAttrs = getAttributeMetadataList(bin.owner.constructor);\n const attrMeta = ownerAttrs?.find(a => a.options.name === attrName);\n const propName = attrMeta ? String(attrMeta.propertyKey) : attrName.replace(/-([a-z])/g, g => g[1].toUpperCase());\n if (val === null || val === undefined) {\n bin.owner.removeAttribute(attrName);\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n } else {\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n bin.owner.setAttribute(attrName, updatedText);\n if ((attrName === 'value' || attrName === 'checked') && bin.owner.tagName.match(/INPUT|TEXTAREA|SELECT/)) {\n (bin.owner as any)[attrName] = updatedText;\n }\n }\n }\n }\n }\n if (bin.type === 'text') bin.node.textContent = updatedText;\n });\n }\n\n disconnectedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-disconnected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (this._observer) this._observer.disconnect();\n if (this._shadowObserver) this._shadowObserver.disconnect();\n if (config.autoRemoveEventListeners) {\n this._activeListeners.forEach(({ el, type, handler, options }) => el.removeEventListener(type, handler, options));\n this._activeListeners = [];\n }\n if (super.disconnectedCallback) super.disconnectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_DISCONNECTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-disconnected', hostSet);\n }\n\n adoptedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-adopted', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_ADOPTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (super.adoptedCallback) super.adoptedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_ADOPTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-adopted', hostSet);\n }\n\n async connectedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-connected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_CONNECTED_METADATA_KEY);\n if (bMethods) {\n for (const m of bMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n if (typeof (this as any).initCore === 'function') (this as any).initCore();\n const iHtmlList = getInnerHtmlMetadataList(this);\n let sContent = '';\n let lContent = '';\n if (iHtmlList) {\n for (const meta of iHtmlList) {\n const result = await (this as any)[meta.propertyKey]();\n if (result !== undefined) {\n if (meta.options.useShadow === true) sContent += result;\n else lContent += result;\n }\n }\n }\n if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;\n if (lContent) this.innerHTML = lContent;\n (this as any)._syncDecorators();\n\n // --- Root Host self-binding logic ---\n const isManagedByParent = !!SwcUtils.findNearestSwcHost(this as any);\n if (!isManagedByParent) {\n Array.from(this.attributes as any).forEach((attr: any) => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n if (eventName === 'connected') {\n const eventKey = `host-attr-once:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `host-attr-event:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n this.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: this as any, type: eventName, handler });\n }\n }\n });\n }\n\n const mutationMetaList = getMutationSubscribeMetadataList(this);\n const fireMutationCallbacks = (mutationList: MutationRecord[], observer: MutationObserver, root: 'light' | 'shadow') => {\n mutationMetaList?.forEach(meta => {\n const r = meta.options.root ?? 'auto';\n const matches = r === 'all' || r === root || (r === 'auto' && (this.shadowRoot ? root === 'shadow' : root === 'light'));\n if (matches && typeof (this as any)[meta.propertyKey] === 'function') {\n (this as any)[meta.propertyKey](mutationList, observer, root);\n }\n });\n };\n this._observer = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'light');\n });\n // @ts-ignore\n this._observer.observe(this as any, { childList: true, subtree: true });\n if (this.shadowRoot) {\n this._shadowObserver = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'shadow');\n });\n // @ts-ignore\n this._shadowObserver.observe(this.shadowRoot, { childList: true, subtree: true });\n }\n if (super.connectedCallback) await super.connectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_CONNECTED_METADATA_KEY);\n if (aMethods) {\n for (const m of aMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n this._executeSwcScript('swc-on-after-connected', hostSet);\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (super.attributeChangedCallback) super.attributeChangedCallback(name, oldValue, newValue);\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n if (meta.options.name === name) {\n const current = (this as any)[meta.propertyKey];\n if (typeof current === 'object' && current !== null) return;\n if (String(current) !== String(newValue)) (this as any)[meta.propertyKey] = newValue;\n }\n });\n }\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(name);\n const aMethodsMap = getLifecycleMetadata(constructor, ON_ATTRIBUTE_CHANGED_METADATA_KEY) as Map<string, (string | symbol)[]>;\n const mKeys = aMethodsMap?.get(name);\n const hostSet = SwcUtils.getHostSet(this as any);\n if (mKeys && Array.isArray(mKeys)) {\n mKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n if (emitCustomEventList) {\n const eMeta = emitCustomEventList.find(it => it.options.attributeName === name);\n if (eMeta) {\n const eType = eMeta.options.type;\n const oHandler = this._emitHandlers.get(eType);\n if (oHandler) this.removeEventListener(eType, oHandler);\n if (newValue) {\n const nHandler = (e: Event) => {\n new Function('event', '$data', newValue).call(this, e, (e as CustomEvent).detail);\n };\n this.addEventListener(eType, nHandler);\n this._emitHandlers.set(eType, nHandler);\n }\n }\n }\n const wMethodsKeys = aMethodsMap?.get(ATTRIBUTE_CHANGED_WILDCARD);\n if (wMethodsKeys && Array.isArray(wMethodsKeys)) {\n wMethodsKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n this._executeSwcScript('swc-on-attribute-changed', hostSet, { $new: newValue, $old: oldValue, $name: name });\n }\n };\n\n // [METADATA INHERITANCE FIX]\n // Copy method metadata from original constructor to NewClass\n // This ensures @Inject and other decorators on methods work correctly in the wrapped class.\n const originalProto = constructor.prototype;\n const newProto = NewClass.prototype;\n Object.getOwnPropertyNames(originalProto).forEach(name => {\n if (name === 'constructor') return;\n const keys = Reflect.getMetadataKeys(originalProto, name);\n keys.forEach(key => {\n const metadata = Reflect.getMetadata(key, originalProto, name);\n Reflect.defineMetadata(key, metadata, newProto, name);\n });\n });\n\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);\n const registry = config.customElementRegistry || (typeof win !== 'undefined' ? win.customElements : undefined);\n if (registry && !registry.get(config.name)) {\n const options = config.extends ? { extends: config.extends } : undefined;\n registry.define(config.name, NewClass as any, options);\n }\n return NewClass as any;\n };\n\nexport const getElementConfig = (target: any): ElementConfig | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["eventKey", "bound"]
7
7
  }
@@ -0,0 +1,10 @@
1
+ export * from "./addEventListener.js";
2
+ export * from "./attribute.js";
3
+ export * from "./elementDefine.js";
4
+ export * from "./emitCustomEvent.js";
5
+ export * from "./innerHtml.js";
6
+ export * from "./lifecycles.js";
7
+ export * from "./query.js";
8
+ export * from "./queryAll.js";
9
+ export * from "./state.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/decorators/index.ts"],
4
+ "sourcesContent": ["export * from './addEventListener'\nexport * from './attribute'\nexport * from './elementDefine'\nexport * from './emitCustomEvent'\nexport * from './innerHtml'\nexport * from './lifecycles'\nexport * from './query'\nexport * from './queryAll'\nexport * from './state'"],
5
+ "mappings": "AAAA,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;AACf,cAAe;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ var InjectSituationType = /* @__PURE__ */ ((InjectSituationType2) => {
2
+ InjectSituationType2["HOST_SET"] = "SIMPLE_WEB_COMPONENT://HOSTSET";
3
+ InjectSituationType2["APP_HOST"] = "SIMPLE_WEB_COMPONENT://APPHOST";
4
+ InjectSituationType2["APP_HOSTS"] = "SIMPLE_WEB_COMPONENT://APPHOSTS";
5
+ InjectSituationType2["HOST"] = "SIMPLE_WEB_COMPONENT://HOST";
6
+ InjectSituationType2["HOSTS"] = "SIMPLE_WEB_COMPONENT://HOSTS";
7
+ InjectSituationType2["FIRST_HOST"] = "SIMPLE_WEB_COMPONENT://FIRSTHOST";
8
+ InjectSituationType2["LAST_HOST"] = "SIMPLE_WEB_COMPONENT://LASTHOST";
9
+ InjectSituationType2["FIRST_APP_HOST"] = "SIMPLE_WEB_COMPONENT://FIRSTAPPHOST";
10
+ InjectSituationType2["LAST_APP_HOST"] = "SIMPLE_WEB_COMPONENT://LASTAPPHOST";
11
+ return InjectSituationType2;
12
+ })(InjectSituationType || {});
13
+ export {
14
+ InjectSituationType
15
+ };
16
+ //# sourceMappingURL=SwcInterfaces.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/elements/SwcInterfaces.ts"],
4
+ "sourcesContent": ["import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { ConstructorType, Optional } from '@dooboostore/core/types';\nexport enum InjectSituationType {\n HOST_SET = 'SIMPLE_WEB_COMPONENT://HOSTSET',\n APP_HOST = 'SIMPLE_WEB_COMPONENT://APPHOST',\n APP_HOSTS = 'SIMPLE_WEB_COMPONENT://APPHOSTS',\n HOST = 'SIMPLE_WEB_COMPONENT://HOST',\n HOSTS = 'SIMPLE_WEB_COMPONENT://HOSTS',\n FIRST_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTHOST',\n LAST_HOST = 'SIMPLE_WEB_COMPONENT://LASTHOST',\n FIRST_APP_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTAPPHOST',\n LAST_APP_HOST = 'SIMPLE_WEB_COMPONENT://LASTAPPHOST',\n}\nexport type HostSet = {\n $host: SwcHTMLElementInterface | null;\n $hosts: SwcHTMLElementInterface[];\n $firstHost: SwcHTMLElementInterface | null;\n $lastHost: SwcHTMLElementInterface | null;\n $appHost: SwcAppInterface | null;\n $appHosts: SwcAppInterface[];\n $firstAppHost: SwcAppInterface | null;\n $lastAppHost: SwcAppInterface | null;\n};\n\nexport interface SwcHTMLElementInterface extends HTMLElement {\n getAppHost(): SwcAppInterface | undefined;\n getAppHosts(): SwcAppInterface[];\n getFirstAppHost(): SwcAppInterface | undefined;\n getLastAppHost(): SwcAppInterface | undefined;\n getHosts(): SwcHTMLElementInterface[];\n getHost(): SwcHTMLElementInterface | undefined;\n getFirstHost(): SwcHTMLElementInterface | undefined;\n getLastHost(): SwcHTMLElementInterface | undefined;\n getHostSet(): HostSet;\n}\n\nexport type SwcConfigType = {\n rootRouter: ConstructorType<any>;\n routeType: 'path' | 'hash';\n path?: string;\n window: Window;\n};\n\nexport type SwcAttributeConfigType = Optional<SwcConfigType, 'routeType' | 'window'>;\n\nexport interface SwcAppInterface extends SwcHTMLElementInterface {\n simpleApplication?: SimpleApplication;\n routing(path: string): Promise<void>;\n}\n"],
5
+ "mappings": "AAEO,IAAK,sBAAL,kBAAKA,yBAAL;AACL,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,oBAAiB;AACjB,EAAAA,qBAAA,mBAAgB;AATN,SAAAA;AAAA,GAAA;",
6
+ "names": ["InjectSituationType"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcApp.ts"],
4
- "sourcesContent": ["import { SwcHTMLElementBase } from '../base';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app', extends: undefined })\nexport class SwcApp extends SwcHTMLElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,SAAN,MAAMA,gBAAe,mBAAkB;EAK5C,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,SAAM,WAAA;EADlB,cAAc,EAAE,MAAM,WAAW,SAAS,OAAS,CAAE;;GACzC,MAAM;",
4
+ "sourcesContent": ["import { SwcHTMLElementBase } from '../base';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app', extends: undefined })\nexport class SwcApp extends SwcHTMLElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,SAAN,MAAMA,gBAAe,mBAAkB;EAK5C,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,SAAM,WAAA;EADlB,cAAc,EAAE,MAAM,WAAW,SAAS,OAAS,CAAE;;GACzC,MAAM;",
6
6
  "names": ["SwcApp"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppAnchor.ts"],
4
- "sourcesContent": ["import { SwcHTMLAnchorElementBase } from '../base/SwcHTMLAnchorElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-a', extends: 'a' })\nexport class SwcAppAnchor extends SwcHTMLAnchorElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,eAAN,MAAMA,sBAAqB,yBAAwB;EAKxD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,eAAY,WAAA;EADxB,cAAc,EAAE,MAAM,aAAa,SAAS,IAAG,CAAE;;GACrC,YAAY;",
4
+ "sourcesContent": ["import { SwcHTMLAnchorElementBase } from '../base/SwcHTMLAnchorElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-a', extends: 'a' })\nexport class SwcAppAnchor extends SwcHTMLAnchorElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,eAAN,MAAMA,sBAAqB,yBAAwB;EAKxD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,eAAY,WAAA;EADxB,cAAc,EAAE,MAAM,aAAa,SAAS,IAAG,CAAE;;GACrC,YAAY;",
6
6
  "names": ["SwcAppAnchor"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppArea.ts"],
4
- "sourcesContent": ["import { SwcHTMLAreaElementBase } from '../base/SwcHTMLAreaElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-area', extends: 'area' })\nexport class SwcAppArea extends SwcHTMLAreaElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
4
+ "sourcesContent": ["import { SwcHTMLAreaElementBase } from '../base/SwcHTMLAreaElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-area', extends: 'area' })\nexport class SwcAppArea extends SwcHTMLAreaElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
6
6
  "names": ["SwcAppArea"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppAudio.ts"],
4
- "sourcesContent": ["import { SwcHTMLAudioElementBase } from '../base/SwcHTMLAudioElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-audio', extends: 'audio' })\nexport class SwcAppAudio extends SwcHTMLAudioElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,+BAA+B;AACxC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,wBAAuB;EAKtD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,cAAW,WAAA;EADvB,cAAc,EAAE,MAAM,iBAAiB,SAAS,QAAO,CAAE;;GAC7C,WAAW;",
4
+ "sourcesContent": ["import { SwcHTMLAudioElementBase } from '../base/SwcHTMLAudioElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-audio', extends: 'audio' })\nexport class SwcAppAudio extends SwcHTMLAudioElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,+BAA+B;AACxC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,wBAAuB;EAKtD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,cAAW,WAAA;EADvB,cAAc,EAAE,MAAM,iBAAiB,SAAS,QAAO,CAAE;;GAC7C,WAAW;",
6
6
  "names": ["SwcAppAudio"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppBase.ts"],
4
- "sourcesContent": ["import { SwcHTMLBaseElementBase } from '../base/SwcHTMLBaseElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-base', extends: 'base' })\nexport class SwcAppBase extends SwcHTMLBaseElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
4
+ "sourcesContent": ["import { SwcHTMLBaseElementBase } from '../base/SwcHTMLBaseElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-base', extends: 'base' })\nexport class SwcAppBase extends SwcHTMLBaseElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
6
6
  "names": ["SwcAppBase"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppBody.ts"],
4
- "sourcesContent": ["import { SwcHTMLBodyElementBase } from '../base/SwcHTMLBodyElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-body', extends: 'body' })\nexport class SwcAppBody extends SwcHTMLBodyElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
4
+ "sourcesContent": ["import { SwcHTMLBodyElementBase } from '../base/SwcHTMLBodyElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-body', extends: 'body' })\nexport class SwcAppBody extends SwcHTMLBodyElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,aAAN,MAAMA,oBAAmB,uBAAsB;EAKpD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,aAAU,WAAA;EADtB,cAAc,EAAE,MAAM,gBAAgB,SAAS,OAAM,CAAE;;GAC3C,UAAU;",
6
6
  "names": ["SwcAppBody"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppButton.ts"],
4
- "sourcesContent": ["import { SwcHTMLButtonElementBase } from '../base/SwcHTMLButtonElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcAppInterface';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-button', extends: 'button' })\nexport class SwcAppButton extends SwcHTMLButtonElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n const otherInstanceSim = new Map<ConstructorType<any> | Function, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;AAAA,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,eAAN,MAAMA,sBAAqB,yBAAwB;EAKxD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAzEW,eAAY,WAAA;EADxB,cAAc,EAAE,MAAM,kBAAkB,SAAS,SAAQ,CAAE;;GAC/C,YAAY;",
4
+ "sourcesContent": ["import { SwcHTMLButtonElementBase } from '../base/SwcHTMLButtonElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-button', extends: 'button' })\nexport class SwcAppButton extends SwcHTMLButtonElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n protected _router?: PathRouter | HashRouter;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config = {\n routeType: 'path',\n window: window,\n ...userConfig\n };\n\n this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });\n this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this._router) {\n otherInstanceSim.set(Router, this._router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this._router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this._router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;AAAA,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,cAA+B;AAIjC,IAAM,eAAN,MAAMA,sBAAqB,yBAAwB;EAKxD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAU;YACd,WAAW;YACX;YACA,GAAG;;AAGL,eAAK,UAAU,QAAQ,cAAc,SAAS,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE;AACpI,eAAK,qBAAqB,KAAK,QAAQ,WAAW,UAAU,CAAC,UAA0B;AACrF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,UAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,kBAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,QAAQ,KAAK,OAAO;UAC3C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;UACrC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,SAAS,GAAG,IAAI;EAC7B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AA1EW,eAAY,WAAA;EADxB,cAAc,EAAE,MAAM,kBAAkB,SAAS,SAAQ,CAAE;;GAC/C,YAAY;",
6
6
  "names": ["SwcAppButton"]
7
7
  }