@dooboostore/simple-web-component 1.0.12 → 1.0.14

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 (880) 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 +14 -7
  9. package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
  10. package/dist/cjs/elements/apps/SwcAppAnchor.js +14 -7
  11. package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
  12. package/dist/cjs/elements/apps/SwcAppArea.js +14 -7
  13. package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
  14. package/dist/cjs/elements/apps/SwcAppAudio.js +14 -7
  15. package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
  16. package/dist/cjs/elements/apps/SwcAppBase.js +14 -7
  17. package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
  18. package/dist/cjs/elements/apps/SwcAppBody.js +14 -7
  19. package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
  20. package/dist/cjs/elements/apps/SwcAppButton.js +14 -7
  21. package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
  22. package/dist/cjs/elements/apps/SwcAppCanvas.js +14 -7
  23. package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
  24. package/dist/cjs/elements/apps/SwcAppData.js +14 -7
  25. package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
  26. package/dist/cjs/elements/apps/SwcAppDataList.js +14 -7
  27. package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
  28. package/dist/cjs/elements/apps/SwcAppDetails.js +14 -7
  29. package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
  30. package/dist/cjs/elements/apps/SwcAppDialog.js +14 -7
  31. package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
  32. package/dist/cjs/elements/apps/SwcAppDiv.js +14 -7
  33. package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
  34. package/dist/cjs/elements/apps/SwcAppDl.js +14 -7
  35. package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
  36. package/dist/cjs/elements/apps/SwcAppEmbed.js +14 -7
  37. package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
  38. package/dist/cjs/elements/apps/SwcAppFieldSet.js +14 -7
  39. package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
  40. package/dist/cjs/elements/apps/SwcAppForm.js +14 -7
  41. package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
  42. package/dist/cjs/elements/apps/SwcAppHeading.js +14 -7
  43. package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
  44. package/dist/cjs/elements/apps/SwcAppHr.js +14 -7
  45. package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
  46. package/dist/cjs/elements/apps/SwcAppIFrame.js +14 -7
  47. package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
  48. package/dist/cjs/elements/apps/SwcAppImage.js +14 -7
  49. package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
  50. package/dist/cjs/elements/apps/SwcAppInput.js +14 -7
  51. package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
  52. package/dist/cjs/elements/apps/SwcAppLabel.js +14 -7
  53. package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
  54. package/dist/cjs/elements/apps/SwcAppLegend.js +14 -7
  55. package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
  56. package/dist/cjs/elements/apps/SwcAppLi.js +14 -7
  57. package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
  58. package/dist/cjs/elements/apps/SwcAppLink.js +14 -7
  59. package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
  60. package/dist/cjs/elements/apps/SwcAppMap.js +14 -7
  61. package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
  62. package/dist/cjs/elements/apps/SwcAppMeta.js +14 -7
  63. package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
  64. package/dist/cjs/elements/apps/SwcAppMeter.js +14 -7
  65. package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
  66. package/dist/cjs/elements/apps/SwcAppMod.js +14 -7
  67. package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
  68. package/dist/cjs/elements/apps/SwcAppObject.js +14 -7
  69. package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
  70. package/dist/cjs/elements/apps/SwcAppOl.js +14 -7
  71. package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
  72. package/dist/cjs/elements/apps/SwcAppOptGroup.js +14 -7
  73. package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
  74. package/dist/cjs/elements/apps/SwcAppOption.js +14 -7
  75. package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
  76. package/dist/cjs/elements/apps/SwcAppOutput.js +14 -7
  77. package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
  78. package/dist/cjs/elements/apps/SwcAppParagraph.js +14 -7
  79. package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
  80. package/dist/cjs/elements/apps/SwcAppParam.js +14 -7
  81. package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
  82. package/dist/cjs/elements/apps/SwcAppPicture.js +14 -7
  83. package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
  84. package/dist/cjs/elements/apps/SwcAppPre.js +14 -7
  85. package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
  86. package/dist/cjs/elements/apps/SwcAppProgress.js +14 -7
  87. package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
  88. package/dist/cjs/elements/apps/SwcAppQuote.js +14 -7
  89. package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
  90. package/dist/cjs/elements/apps/SwcAppScript.js +14 -7
  91. package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
  92. package/dist/cjs/elements/apps/SwcAppSelect.js +14 -7
  93. package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
  94. package/dist/cjs/elements/apps/SwcAppSlot.js +14 -7
  95. package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
  96. package/dist/cjs/elements/apps/SwcAppSource.js +14 -7
  97. package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
  98. package/dist/cjs/elements/apps/SwcAppSpan.js +14 -7
  99. package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
  100. package/dist/cjs/elements/apps/SwcAppStyle.js +14 -7
  101. package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
  102. package/dist/cjs/elements/apps/SwcAppTable.js +14 -7
  103. package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
  104. package/dist/cjs/elements/apps/SwcAppTableCell.js +14 -7
  105. package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
  106. package/dist/cjs/elements/apps/SwcAppTableRow.js +14 -7
  107. package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
  108. package/dist/cjs/elements/apps/SwcAppTableSection.js +14 -7
  109. package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
  110. package/dist/cjs/elements/apps/SwcAppTemplate.js +14 -7
  111. package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
  112. package/dist/cjs/elements/apps/SwcAppTextArea.js +14 -7
  113. package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
  114. package/dist/cjs/elements/apps/SwcAppTime.js +14 -7
  115. package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
  116. package/dist/cjs/elements/apps/SwcAppTitle.js +14 -7
  117. package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
  118. package/dist/cjs/elements/apps/SwcAppTrack.js +14 -7
  119. package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
  120. package/dist/cjs/elements/apps/SwcAppUl.js +14 -7
  121. package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
  122. package/dist/cjs/elements/apps/SwcAppVideo.js +14 -7
  123. package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
  124. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  125. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  126. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js +17 -8
  127. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  128. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js +17 -8
  129. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  130. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js +17 -8
  131. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  132. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js +17 -8
  133. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  134. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js +17 -8
  135. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  136. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  137. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  138. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js +17 -8
  139. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  140. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js +17 -8
  141. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  142. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js +17 -8
  143. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  144. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  145. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  146. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js +17 -8
  147. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  148. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js +17 -8
  149. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  150. package/dist/cjs/elements/base/SwcHTMLElementBase.js +17 -8
  151. package/dist/cjs/elements/base/SwcHTMLElementBase.js.map +2 -2
  152. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  153. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  154. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  155. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  156. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js +17 -8
  157. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  158. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js +17 -8
  159. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  160. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  161. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  162. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  163. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  164. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js +17 -8
  165. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  166. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js +17 -8
  167. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  168. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js +17 -8
  169. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  170. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js +17 -8
  171. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  172. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js +17 -8
  173. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  174. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js +17 -8
  175. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  176. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js +17 -8
  177. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  178. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js +17 -8
  179. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  180. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js +17 -8
  181. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  182. package/dist/cjs/elements/base/SwcHTMLModElementBase.js +17 -8
  183. package/dist/cjs/elements/base/SwcHTMLModElementBase.js.map +2 -2
  184. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js +17 -8
  185. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  186. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js +17 -8
  187. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  188. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  189. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  190. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js +17 -8
  191. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  192. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js +17 -8
  193. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  194. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  195. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  196. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js +17 -8
  197. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  198. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js +17 -8
  199. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  200. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js +17 -8
  201. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  202. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js +17 -8
  203. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  204. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  205. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  206. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js +17 -8
  207. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  208. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js +17 -8
  209. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  210. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js +17 -8
  211. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  212. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js +17 -8
  213. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  214. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js +17 -8
  215. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  216. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js +17 -8
  217. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  218. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  219. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  220. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js +17 -8
  221. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  222. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  223. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  224. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  225. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  226. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  227. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  228. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  229. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  230. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js +17 -8
  231. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  232. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js +17 -8
  233. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  234. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js +17 -8
  235. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  236. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js +17 -8
  237. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  238. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js +17 -8
  239. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  240. package/dist/cjs/elements/index.js +1 -0
  241. package/dist/cjs/elements/index.js.map +2 -2
  242. package/dist/cjs/index.js +2 -17
  243. package/dist/cjs/index.js.map +2 -2
  244. package/dist/cjs/router/ElementRouter.js +172 -0
  245. package/dist/cjs/router/ElementRouter.js.map +7 -0
  246. package/dist/cjs/utils/Utils.js +44 -0
  247. package/dist/cjs/utils/Utils.js.map +2 -2
  248. package/dist/esm/decorators/elementDefine.js +88 -82
  249. package/dist/esm/decorators/elementDefine.js.map +3 -3
  250. package/dist/esm/decorators/index.js +10 -0
  251. package/dist/esm/decorators/index.js.map +7 -0
  252. package/dist/esm/elements/SwcInterfaces.js +16 -0
  253. package/dist/esm/elements/SwcInterfaces.js.map +7 -0
  254. package/dist/esm/elements/apps/SwcApp.js +14 -7
  255. package/dist/esm/elements/apps/SwcApp.js.map +2 -2
  256. package/dist/esm/elements/apps/SwcAppAnchor.js +14 -7
  257. package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
  258. package/dist/esm/elements/apps/SwcAppArea.js +14 -7
  259. package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
  260. package/dist/esm/elements/apps/SwcAppAudio.js +14 -7
  261. package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
  262. package/dist/esm/elements/apps/SwcAppBase.js +14 -7
  263. package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
  264. package/dist/esm/elements/apps/SwcAppBody.js +14 -7
  265. package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
  266. package/dist/esm/elements/apps/SwcAppButton.js +14 -7
  267. package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
  268. package/dist/esm/elements/apps/SwcAppCanvas.js +14 -7
  269. package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
  270. package/dist/esm/elements/apps/SwcAppData.js +14 -7
  271. package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
  272. package/dist/esm/elements/apps/SwcAppDataList.js +14 -7
  273. package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
  274. package/dist/esm/elements/apps/SwcAppDetails.js +14 -7
  275. package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
  276. package/dist/esm/elements/apps/SwcAppDialog.js +14 -7
  277. package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
  278. package/dist/esm/elements/apps/SwcAppDiv.js +14 -7
  279. package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
  280. package/dist/esm/elements/apps/SwcAppDl.js +14 -7
  281. package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
  282. package/dist/esm/elements/apps/SwcAppEmbed.js +14 -7
  283. package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
  284. package/dist/esm/elements/apps/SwcAppFieldSet.js +14 -7
  285. package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
  286. package/dist/esm/elements/apps/SwcAppForm.js +14 -7
  287. package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
  288. package/dist/esm/elements/apps/SwcAppHeading.js +14 -7
  289. package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
  290. package/dist/esm/elements/apps/SwcAppHr.js +14 -7
  291. package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
  292. package/dist/esm/elements/apps/SwcAppIFrame.js +14 -7
  293. package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
  294. package/dist/esm/elements/apps/SwcAppImage.js +14 -7
  295. package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
  296. package/dist/esm/elements/apps/SwcAppInput.js +14 -7
  297. package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
  298. package/dist/esm/elements/apps/SwcAppLabel.js +14 -7
  299. package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
  300. package/dist/esm/elements/apps/SwcAppLegend.js +14 -7
  301. package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
  302. package/dist/esm/elements/apps/SwcAppLi.js +14 -7
  303. package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
  304. package/dist/esm/elements/apps/SwcAppLink.js +14 -7
  305. package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
  306. package/dist/esm/elements/apps/SwcAppMap.js +14 -7
  307. package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
  308. package/dist/esm/elements/apps/SwcAppMeta.js +14 -7
  309. package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
  310. package/dist/esm/elements/apps/SwcAppMeter.js +14 -7
  311. package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
  312. package/dist/esm/elements/apps/SwcAppMod.js +14 -7
  313. package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
  314. package/dist/esm/elements/apps/SwcAppObject.js +14 -7
  315. package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
  316. package/dist/esm/elements/apps/SwcAppOl.js +14 -7
  317. package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
  318. package/dist/esm/elements/apps/SwcAppOptGroup.js +14 -7
  319. package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
  320. package/dist/esm/elements/apps/SwcAppOption.js +14 -7
  321. package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
  322. package/dist/esm/elements/apps/SwcAppOutput.js +14 -7
  323. package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
  324. package/dist/esm/elements/apps/SwcAppParagraph.js +14 -7
  325. package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
  326. package/dist/esm/elements/apps/SwcAppParam.js +14 -7
  327. package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
  328. package/dist/esm/elements/apps/SwcAppPicture.js +14 -7
  329. package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
  330. package/dist/esm/elements/apps/SwcAppPre.js +14 -7
  331. package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
  332. package/dist/esm/elements/apps/SwcAppProgress.js +14 -7
  333. package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
  334. package/dist/esm/elements/apps/SwcAppQuote.js +14 -7
  335. package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
  336. package/dist/esm/elements/apps/SwcAppScript.js +14 -7
  337. package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
  338. package/dist/esm/elements/apps/SwcAppSelect.js +14 -7
  339. package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
  340. package/dist/esm/elements/apps/SwcAppSlot.js +14 -7
  341. package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
  342. package/dist/esm/elements/apps/SwcAppSource.js +14 -7
  343. package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
  344. package/dist/esm/elements/apps/SwcAppSpan.js +14 -7
  345. package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
  346. package/dist/esm/elements/apps/SwcAppStyle.js +14 -7
  347. package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
  348. package/dist/esm/elements/apps/SwcAppTable.js +14 -7
  349. package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
  350. package/dist/esm/elements/apps/SwcAppTableCell.js +14 -7
  351. package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
  352. package/dist/esm/elements/apps/SwcAppTableRow.js +14 -7
  353. package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
  354. package/dist/esm/elements/apps/SwcAppTableSection.js +14 -7
  355. package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
  356. package/dist/esm/elements/apps/SwcAppTemplate.js +14 -7
  357. package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
  358. package/dist/esm/elements/apps/SwcAppTextArea.js +14 -7
  359. package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
  360. package/dist/esm/elements/apps/SwcAppTime.js +14 -7
  361. package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
  362. package/dist/esm/elements/apps/SwcAppTitle.js +14 -7
  363. package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
  364. package/dist/esm/elements/apps/SwcAppTrack.js +14 -7
  365. package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
  366. package/dist/esm/elements/apps/SwcAppUl.js +14 -7
  367. package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
  368. package/dist/esm/elements/apps/SwcAppVideo.js +14 -7
  369. package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
  370. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  371. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  372. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js +17 -8
  373. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  374. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js +17 -8
  375. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  376. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js +17 -8
  377. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  378. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js +17 -8
  379. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  380. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js +17 -8
  381. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  382. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  383. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  384. package/dist/esm/elements/base/SwcHTMLDListElementBase.js +17 -8
  385. package/dist/esm/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  386. package/dist/esm/elements/base/SwcHTMLDataElementBase.js +17 -8
  387. package/dist/esm/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  388. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js +17 -8
  389. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  390. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  391. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  392. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js +17 -8
  393. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  394. package/dist/esm/elements/base/SwcHTMLDivElementBase.js +17 -8
  395. package/dist/esm/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  396. package/dist/esm/elements/base/SwcHTMLElementBase.js +17 -8
  397. package/dist/esm/elements/base/SwcHTMLElementBase.js.map +2 -2
  398. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  399. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  400. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  401. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  402. package/dist/esm/elements/base/SwcHTMLFormElementBase.js +17 -8
  403. package/dist/esm/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  404. package/dist/esm/elements/base/SwcHTMLHRElementBase.js +17 -8
  405. package/dist/esm/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  406. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  407. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  408. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  409. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  410. package/dist/esm/elements/base/SwcHTMLImageElementBase.js +17 -8
  411. package/dist/esm/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  412. package/dist/esm/elements/base/SwcHTMLInputElementBase.js +17 -8
  413. package/dist/esm/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  414. package/dist/esm/elements/base/SwcHTMLLIElementBase.js +17 -8
  415. package/dist/esm/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  416. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js +17 -8
  417. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  418. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js +17 -8
  419. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  420. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js +17 -8
  421. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  422. package/dist/esm/elements/base/SwcHTMLMapElementBase.js +17 -8
  423. package/dist/esm/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  424. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js +17 -8
  425. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  426. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js +17 -8
  427. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  428. package/dist/esm/elements/base/SwcHTMLModElementBase.js +17 -8
  429. package/dist/esm/elements/base/SwcHTMLModElementBase.js.map +2 -2
  430. package/dist/esm/elements/base/SwcHTMLOListElementBase.js +17 -8
  431. package/dist/esm/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  432. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js +17 -8
  433. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  434. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  435. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  436. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js +17 -8
  437. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  438. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js +17 -8
  439. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  440. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  441. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  442. package/dist/esm/elements/base/SwcHTMLParamElementBase.js +17 -8
  443. package/dist/esm/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  444. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js +17 -8
  445. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  446. package/dist/esm/elements/base/SwcHTMLPreElementBase.js +17 -8
  447. package/dist/esm/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  448. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js +17 -8
  449. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  450. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  451. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  452. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js +17 -8
  453. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  454. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js +17 -8
  455. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  456. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js +17 -8
  457. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  458. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js +17 -8
  459. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  460. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js +17 -8
  461. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  462. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js +17 -8
  463. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  464. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  465. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  466. package/dist/esm/elements/base/SwcHTMLTableElementBase.js +17 -8
  467. package/dist/esm/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  468. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  469. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  470. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  471. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  472. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  473. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  474. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  475. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  476. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js +17 -8
  477. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  478. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js +17 -8
  479. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  480. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js +17 -8
  481. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  482. package/dist/esm/elements/base/SwcHTMLUListElementBase.js +17 -8
  483. package/dist/esm/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  484. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js +17 -8
  485. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  486. package/dist/esm/elements/index.js +1 -0
  487. package/dist/esm/elements/index.js.map +2 -2
  488. package/dist/esm/index.js +2 -17
  489. package/dist/esm/index.js.map +2 -2
  490. package/dist/esm/router/ElementRouter.js +153 -0
  491. package/dist/esm/router/ElementRouter.js.map +7 -0
  492. package/dist/esm/utils/Utils.js +44 -0
  493. package/dist/esm/utils/Utils.js.map +2 -2
  494. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +3334 -2251
  495. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  496. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  497. package/dist/types/decorators/index.d.ts +10 -0
  498. package/dist/types/decorators/index.d.ts.map +1 -0
  499. package/dist/types/elements/SwcInterfaces.d.ts +48 -0
  500. package/dist/types/elements/SwcInterfaces.d.ts.map +1 -0
  501. package/dist/types/elements/apps/SwcApp.d.ts +3 -4
  502. package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
  503. package/dist/types/elements/apps/SwcAppAnchor.d.ts +3 -4
  504. package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
  505. package/dist/types/elements/apps/SwcAppArea.d.ts +3 -4
  506. package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
  507. package/dist/types/elements/apps/SwcAppAudio.d.ts +3 -4
  508. package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
  509. package/dist/types/elements/apps/SwcAppBase.d.ts +3 -4
  510. package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
  511. package/dist/types/elements/apps/SwcAppBody.d.ts +3 -4
  512. package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
  513. package/dist/types/elements/apps/SwcAppButton.d.ts +3 -4
  514. package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
  515. package/dist/types/elements/apps/SwcAppCanvas.d.ts +3 -4
  516. package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
  517. package/dist/types/elements/apps/SwcAppData.d.ts +3 -4
  518. package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
  519. package/dist/types/elements/apps/SwcAppDataList.d.ts +3 -4
  520. package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
  521. package/dist/types/elements/apps/SwcAppDetails.d.ts +3 -4
  522. package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
  523. package/dist/types/elements/apps/SwcAppDialog.d.ts +3 -4
  524. package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
  525. package/dist/types/elements/apps/SwcAppDiv.d.ts +3 -4
  526. package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
  527. package/dist/types/elements/apps/SwcAppDl.d.ts +3 -4
  528. package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
  529. package/dist/types/elements/apps/SwcAppEmbed.d.ts +3 -4
  530. package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
  531. package/dist/types/elements/apps/SwcAppFieldSet.d.ts +3 -4
  532. package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
  533. package/dist/types/elements/apps/SwcAppForm.d.ts +3 -4
  534. package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
  535. package/dist/types/elements/apps/SwcAppHeading.d.ts +3 -4
  536. package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
  537. package/dist/types/elements/apps/SwcAppHr.d.ts +3 -4
  538. package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
  539. package/dist/types/elements/apps/SwcAppIFrame.d.ts +3 -4
  540. package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
  541. package/dist/types/elements/apps/SwcAppImage.d.ts +3 -4
  542. package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
  543. package/dist/types/elements/apps/SwcAppInput.d.ts +3 -4
  544. package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
  545. package/dist/types/elements/apps/SwcAppLabel.d.ts +3 -4
  546. package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
  547. package/dist/types/elements/apps/SwcAppLegend.d.ts +3 -4
  548. package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
  549. package/dist/types/elements/apps/SwcAppLi.d.ts +3 -4
  550. package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
  551. package/dist/types/elements/apps/SwcAppLink.d.ts +3 -4
  552. package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
  553. package/dist/types/elements/apps/SwcAppMap.d.ts +3 -4
  554. package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
  555. package/dist/types/elements/apps/SwcAppMeta.d.ts +3 -4
  556. package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
  557. package/dist/types/elements/apps/SwcAppMeter.d.ts +3 -4
  558. package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
  559. package/dist/types/elements/apps/SwcAppMod.d.ts +3 -4
  560. package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
  561. package/dist/types/elements/apps/SwcAppObject.d.ts +3 -4
  562. package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
  563. package/dist/types/elements/apps/SwcAppOl.d.ts +3 -4
  564. package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
  565. package/dist/types/elements/apps/SwcAppOptGroup.d.ts +3 -4
  566. package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
  567. package/dist/types/elements/apps/SwcAppOption.d.ts +3 -4
  568. package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
  569. package/dist/types/elements/apps/SwcAppOutput.d.ts +3 -4
  570. package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
  571. package/dist/types/elements/apps/SwcAppParagraph.d.ts +3 -4
  572. package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
  573. package/dist/types/elements/apps/SwcAppParam.d.ts +3 -4
  574. package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
  575. package/dist/types/elements/apps/SwcAppPicture.d.ts +3 -4
  576. package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
  577. package/dist/types/elements/apps/SwcAppPre.d.ts +3 -4
  578. package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
  579. package/dist/types/elements/apps/SwcAppProgress.d.ts +3 -4
  580. package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
  581. package/dist/types/elements/apps/SwcAppQuote.d.ts +3 -4
  582. package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
  583. package/dist/types/elements/apps/SwcAppScript.d.ts +3 -4
  584. package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
  585. package/dist/types/elements/apps/SwcAppSelect.d.ts +3 -4
  586. package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
  587. package/dist/types/elements/apps/SwcAppSlot.d.ts +3 -4
  588. package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
  589. package/dist/types/elements/apps/SwcAppSource.d.ts +3 -4
  590. package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
  591. package/dist/types/elements/apps/SwcAppSpan.d.ts +3 -4
  592. package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
  593. package/dist/types/elements/apps/SwcAppStyle.d.ts +3 -4
  594. package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
  595. package/dist/types/elements/apps/SwcAppTable.d.ts +3 -4
  596. package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
  597. package/dist/types/elements/apps/SwcAppTableCell.d.ts +3 -4
  598. package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
  599. package/dist/types/elements/apps/SwcAppTableRow.d.ts +3 -4
  600. package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
  601. package/dist/types/elements/apps/SwcAppTableSection.d.ts +3 -4
  602. package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
  603. package/dist/types/elements/apps/SwcAppTemplate.d.ts +3 -4
  604. package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
  605. package/dist/types/elements/apps/SwcAppTextArea.d.ts +3 -4
  606. package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
  607. package/dist/types/elements/apps/SwcAppTime.d.ts +3 -4
  608. package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
  609. package/dist/types/elements/apps/SwcAppTitle.d.ts +3 -4
  610. package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
  611. package/dist/types/elements/apps/SwcAppTrack.d.ts +3 -4
  612. package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
  613. package/dist/types/elements/apps/SwcAppUl.d.ts +3 -4
  614. package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
  615. package/dist/types/elements/apps/SwcAppVideo.d.ts +3 -4
  616. package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
  617. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts +6 -3
  618. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts.map +1 -1
  619. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts +6 -3
  620. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts.map +1 -1
  621. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts +6 -3
  622. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts.map +1 -1
  623. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts +6 -3
  624. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts.map +1 -1
  625. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts +6 -3
  626. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts.map +1 -1
  627. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts +6 -3
  628. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts.map +1 -1
  629. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts +6 -3
  630. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts.map +1 -1
  631. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts +6 -3
  632. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts.map +1 -1
  633. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts +6 -3
  634. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts.map +1 -1
  635. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts +6 -3
  636. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts.map +1 -1
  637. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts +6 -3
  638. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts.map +1 -1
  639. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts +6 -3
  640. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts.map +1 -1
  641. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts +6 -3
  642. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts.map +1 -1
  643. package/dist/types/elements/base/SwcHTMLElementBase.d.ts +6 -3
  644. package/dist/types/elements/base/SwcHTMLElementBase.d.ts.map +1 -1
  645. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts +6 -3
  646. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts.map +1 -1
  647. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts +6 -3
  648. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts.map +1 -1
  649. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts +6 -3
  650. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts.map +1 -1
  651. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts +6 -3
  652. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts.map +1 -1
  653. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts +6 -3
  654. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts.map +1 -1
  655. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts +6 -3
  656. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts.map +1 -1
  657. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts +6 -3
  658. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts.map +1 -1
  659. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts +6 -3
  660. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts.map +1 -1
  661. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts +6 -3
  662. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts.map +1 -1
  663. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts +6 -3
  664. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts.map +1 -1
  665. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts +6 -3
  666. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts.map +1 -1
  667. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts +6 -3
  668. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts.map +1 -1
  669. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts +6 -3
  670. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts.map +1 -1
  671. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts +6 -3
  672. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts.map +1 -1
  673. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts +6 -3
  674. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts.map +1 -1
  675. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts +6 -3
  676. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts.map +1 -1
  677. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts +6 -3
  678. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts.map +1 -1
  679. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts +6 -3
  680. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts.map +1 -1
  681. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts +6 -3
  682. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts.map +1 -1
  683. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts +6 -3
  684. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts.map +1 -1
  685. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts +6 -3
  686. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts.map +1 -1
  687. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts +6 -3
  688. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts.map +1 -1
  689. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts +6 -3
  690. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts.map +1 -1
  691. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts +6 -3
  692. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts.map +1 -1
  693. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts +6 -3
  694. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts.map +1 -1
  695. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts +6 -3
  696. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts.map +1 -1
  697. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts +6 -3
  698. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts.map +1 -1
  699. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts +6 -3
  700. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts.map +1 -1
  701. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts +6 -3
  702. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts.map +1 -1
  703. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts +6 -3
  704. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts.map +1 -1
  705. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts +6 -3
  706. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts.map +1 -1
  707. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts +6 -3
  708. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts.map +1 -1
  709. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts +6 -3
  710. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts.map +1 -1
  711. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts +6 -3
  712. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts.map +1 -1
  713. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts +6 -3
  714. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts.map +1 -1
  715. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts +6 -3
  716. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts.map +1 -1
  717. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts +6 -3
  718. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts.map +1 -1
  719. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts +6 -3
  720. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts.map +1 -1
  721. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts +6 -3
  722. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts.map +1 -1
  723. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts +6 -3
  724. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts.map +1 -1
  725. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts +6 -3
  726. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts.map +1 -1
  727. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts +6 -3
  728. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts.map +1 -1
  729. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts +6 -3
  730. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts.map +1 -1
  731. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts +6 -3
  732. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts.map +1 -1
  733. package/dist/types/elements/index.d.ts +1 -0
  734. package/dist/types/elements/index.d.ts.map +1 -1
  735. package/dist/types/index.d.ts +2 -17
  736. package/dist/types/index.d.ts.map +1 -1
  737. package/dist/types/router/ElementRouter.d.ts +41 -0
  738. package/dist/types/router/ElementRouter.d.ts.map +1 -0
  739. package/dist/types/utils/Utils.d.ts +9 -0
  740. package/dist/types/utils/Utils.d.ts.map +1 -1
  741. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +3334 -2251
  742. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  743. package/package.json +3 -3
  744. package/src/decorators/elementDefine.ts +98 -141
  745. package/src/decorators/index.ts +9 -0
  746. package/src/elements/SwcInterfaces.ts +53 -0
  747. package/src/elements/apps/SwcApp.ts +20 -11
  748. package/src/elements/apps/SwcAppAnchor.ts +20 -11
  749. package/src/elements/apps/SwcAppArea.ts +20 -11
  750. package/src/elements/apps/SwcAppAudio.ts +20 -11
  751. package/src/elements/apps/SwcAppBase.ts +20 -11
  752. package/src/elements/apps/SwcAppBody.ts +20 -11
  753. package/src/elements/apps/SwcAppButton.ts +20 -11
  754. package/src/elements/apps/SwcAppCanvas.ts +20 -11
  755. package/src/elements/apps/SwcAppData.ts +20 -11
  756. package/src/elements/apps/SwcAppDataList.ts +20 -11
  757. package/src/elements/apps/SwcAppDetails.ts +20 -11
  758. package/src/elements/apps/SwcAppDialog.ts +20 -11
  759. package/src/elements/apps/SwcAppDiv.ts +20 -11
  760. package/src/elements/apps/SwcAppDl.ts +20 -11
  761. package/src/elements/apps/SwcAppEmbed.ts +20 -11
  762. package/src/elements/apps/SwcAppFieldSet.ts +20 -11
  763. package/src/elements/apps/SwcAppForm.ts +20 -11
  764. package/src/elements/apps/SwcAppHeading.ts +20 -11
  765. package/src/elements/apps/SwcAppHr.ts +20 -11
  766. package/src/elements/apps/SwcAppIFrame.ts +20 -11
  767. package/src/elements/apps/SwcAppImage.ts +20 -11
  768. package/src/elements/apps/SwcAppInput.ts +20 -11
  769. package/src/elements/apps/SwcAppLabel.ts +20 -11
  770. package/src/elements/apps/SwcAppLegend.ts +20 -11
  771. package/src/elements/apps/SwcAppLi.ts +20 -11
  772. package/src/elements/apps/SwcAppLink.ts +20 -11
  773. package/src/elements/apps/SwcAppMap.ts +20 -11
  774. package/src/elements/apps/SwcAppMeta.ts +20 -11
  775. package/src/elements/apps/SwcAppMeter.ts +20 -11
  776. package/src/elements/apps/SwcAppMod.ts +20 -11
  777. package/src/elements/apps/SwcAppObject.ts +20 -11
  778. package/src/elements/apps/SwcAppOl.ts +20 -11
  779. package/src/elements/apps/SwcAppOptGroup.ts +20 -11
  780. package/src/elements/apps/SwcAppOption.ts +20 -11
  781. package/src/elements/apps/SwcAppOutput.ts +20 -11
  782. package/src/elements/apps/SwcAppParagraph.ts +20 -11
  783. package/src/elements/apps/SwcAppParam.ts +20 -11
  784. package/src/elements/apps/SwcAppPicture.ts +20 -11
  785. package/src/elements/apps/SwcAppPre.ts +20 -11
  786. package/src/elements/apps/SwcAppProgress.ts +20 -11
  787. package/src/elements/apps/SwcAppQuote.ts +20 -11
  788. package/src/elements/apps/SwcAppScript.ts +20 -11
  789. package/src/elements/apps/SwcAppSelect.ts +20 -11
  790. package/src/elements/apps/SwcAppSlot.ts +20 -11
  791. package/src/elements/apps/SwcAppSource.ts +20 -11
  792. package/src/elements/apps/SwcAppSpan.ts +20 -11
  793. package/src/elements/apps/SwcAppStyle.ts +20 -11
  794. package/src/elements/apps/SwcAppTable.ts +20 -11
  795. package/src/elements/apps/SwcAppTableCell.ts +20 -11
  796. package/src/elements/apps/SwcAppTableRow.ts +20 -11
  797. package/src/elements/apps/SwcAppTableSection.ts +20 -11
  798. package/src/elements/apps/SwcAppTemplate.ts +20 -11
  799. package/src/elements/apps/SwcAppTextArea.ts +20 -11
  800. package/src/elements/apps/SwcAppTime.ts +20 -11
  801. package/src/elements/apps/SwcAppTitle.ts +20 -11
  802. package/src/elements/apps/SwcAppTrack.ts +20 -11
  803. package/src/elements/apps/SwcAppUl.ts +20 -11
  804. package/src/elements/apps/SwcAppVideo.ts +20 -11
  805. package/src/elements/base/SwcHTMLAnchorElementBase.ts +22 -11
  806. package/src/elements/base/SwcHTMLAreaElementBase.ts +22 -11
  807. package/src/elements/base/SwcHTMLAudioElementBase.ts +22 -11
  808. package/src/elements/base/SwcHTMLBaseElementBase.ts +22 -11
  809. package/src/elements/base/SwcHTMLBodyElementBase.ts +22 -11
  810. package/src/elements/base/SwcHTMLButtonElementBase.ts +22 -11
  811. package/src/elements/base/SwcHTMLCanvasElementBase.ts +22 -11
  812. package/src/elements/base/SwcHTMLDListElementBase.ts +22 -11
  813. package/src/elements/base/SwcHTMLDataElementBase.ts +22 -11
  814. package/src/elements/base/SwcHTMLDataListElementBase.ts +22 -11
  815. package/src/elements/base/SwcHTMLDetailsElementBase.ts +22 -11
  816. package/src/elements/base/SwcHTMLDialogElementBase.ts +22 -11
  817. package/src/elements/base/SwcHTMLDivElementBase.ts +22 -11
  818. package/src/elements/base/SwcHTMLElementBase.ts +22 -11
  819. package/src/elements/base/SwcHTMLEmbedElementBase.ts +22 -11
  820. package/src/elements/base/SwcHTMLFieldSetElementBase.ts +22 -11
  821. package/src/elements/base/SwcHTMLFormElementBase.ts +22 -11
  822. package/src/elements/base/SwcHTMLHRElementBase.ts +22 -11
  823. package/src/elements/base/SwcHTMLHeadingElementBase.ts +22 -11
  824. package/src/elements/base/SwcHTMLIFrameElementBase.ts +22 -11
  825. package/src/elements/base/SwcHTMLImageElementBase.ts +22 -11
  826. package/src/elements/base/SwcHTMLInputElementBase.ts +22 -11
  827. package/src/elements/base/SwcHTMLLIElementBase.ts +22 -11
  828. package/src/elements/base/SwcHTMLLabelElementBase.ts +22 -11
  829. package/src/elements/base/SwcHTMLLegendElementBase.ts +22 -11
  830. package/src/elements/base/SwcHTMLLinkElementBase.ts +22 -11
  831. package/src/elements/base/SwcHTMLMapElementBase.ts +22 -11
  832. package/src/elements/base/SwcHTMLMetaElementBase.ts +22 -11
  833. package/src/elements/base/SwcHTMLMeterElementBase.ts +22 -11
  834. package/src/elements/base/SwcHTMLModElementBase.ts +22 -11
  835. package/src/elements/base/SwcHTMLOListElementBase.ts +22 -11
  836. package/src/elements/base/SwcHTMLObjectElementBase.ts +22 -11
  837. package/src/elements/base/SwcHTMLOptGroupElementBase.ts +22 -11
  838. package/src/elements/base/SwcHTMLOptionElementBase.ts +22 -11
  839. package/src/elements/base/SwcHTMLOutputElementBase.ts +22 -11
  840. package/src/elements/base/SwcHTMLParagraphElementBase.ts +22 -11
  841. package/src/elements/base/SwcHTMLParamElementBase.ts +22 -11
  842. package/src/elements/base/SwcHTMLPictureElementBase.ts +22 -11
  843. package/src/elements/base/SwcHTMLPreElementBase.ts +22 -11
  844. package/src/elements/base/SwcHTMLProgressElementBase.ts +22 -11
  845. package/src/elements/base/SwcHTMLQuoteElementBase.ts +22 -11
  846. package/src/elements/base/SwcHTMLScriptElementBase.ts +22 -11
  847. package/src/elements/base/SwcHTMLSelectElementBase.ts +22 -11
  848. package/src/elements/base/SwcHTMLSlotElementBase.ts +22 -11
  849. package/src/elements/base/SwcHTMLSourceElementBase.ts +22 -11
  850. package/src/elements/base/SwcHTMLSpanElementBase.ts +22 -11
  851. package/src/elements/base/SwcHTMLStyleElementBase.ts +22 -11
  852. package/src/elements/base/SwcHTMLTableCellElementBase.ts +22 -11
  853. package/src/elements/base/SwcHTMLTableElementBase.ts +22 -11
  854. package/src/elements/base/SwcHTMLTableRowElementBase.ts +22 -11
  855. package/src/elements/base/SwcHTMLTableSectionElementBase.ts +22 -11
  856. package/src/elements/base/SwcHTMLTemplateElementBase.ts +22 -11
  857. package/src/elements/base/SwcHTMLTextAreaElementBase.ts +22 -11
  858. package/src/elements/base/SwcHTMLTimeElementBase.ts +22 -11
  859. package/src/elements/base/SwcHTMLTitleElementBase.ts +22 -11
  860. package/src/elements/base/SwcHTMLTrackElementBase.ts +22 -11
  861. package/src/elements/base/SwcHTMLUListElementBase.ts +22 -11
  862. package/src/elements/base/SwcHTMLVideoElementBase.ts +22 -11
  863. package/src/elements/index.ts +1 -0
  864. package/src/index.ts +2 -17
  865. package/src/router/ElementRouter.ts +187 -0
  866. package/src/utils/Utils.ts +57 -0
  867. package/dist/cjs/elements/SwcAppInterface.js +0 -16
  868. package/dist/cjs/elements/SwcAppInterface.js.map +0 -7
  869. package/dist/cjs/elements/SwcHTMLElementInterface.js +0 -16
  870. package/dist/cjs/elements/SwcHTMLElementInterface.js.map +0 -7
  871. package/dist/esm/elements/SwcAppInterface.js +0 -1
  872. package/dist/esm/elements/SwcAppInterface.js.map +0 -7
  873. package/dist/esm/elements/SwcHTMLElementInterface.js +0 -1
  874. package/dist/esm/elements/SwcHTMLElementInterface.js.map +0 -7
  875. package/dist/types/elements/SwcAppInterface.d.ts +0 -15
  876. package/dist/types/elements/SwcAppInterface.d.ts.map +0 -1
  877. package/dist/types/elements/SwcHTMLElementInterface.d.ts +0 -9
  878. package/dist/types/elements/SwcHTMLElementInterface.d.ts.map +0 -1
  879. package/src/elements/SwcAppInterface.ts +0 -19
  880. package/src/elements/SwcHTMLElementInterface.ts +0 -9
@@ -25,6 +25,7 @@ var import_elementDefine = require("../../decorators/elementDefine");
25
25
  var import_SimpleApplication = require("@dooboostore/simple-boot/SimpleApplication");
26
26
  var import_PathRouter = require("@dooboostore/core-web/routers/PathRouter");
27
27
  var import_HashRouter = require("@dooboostore/core-web/routers/HashRouter");
28
+ var import_ElementRouter = require("../../router/ElementRouter");
28
29
  var import_SimOption = require("@dooboostore/simple-boot/SimOption");
29
30
  var import_Router = require("@dooboostore/core-web/routers/Router");
30
31
  var __decorate = function(decorators, target, key, desc) {
@@ -51,12 +52,18 @@ let SwcAppUl = class SwcAppUl2 extends import_SwcHTMLUListElementBase.SwcHTMLULi
51
52
  const userConfig = new Function(`return ${applicationConfigStr}`).apply(this);
52
53
  if (userConfig) {
53
54
  const _config = {
54
- routeType: "path",
55
+ routeType: "element",
55
56
  window,
56
57
  ...userConfig
57
58
  };
58
- this._router = _config.routeType === "path" ? new import_PathRouter.PathRouter({ window: _config.window }) : new import_HashRouter.HashRouter({ window: _config.window });
59
- this.routerSubscription = this._router.observable.subscribe((route) => {
59
+ if (_config.routeType === "path") {
60
+ this.router = new import_PathRouter.PathRouter({ window: _config.window, firstUrl: _config.path });
61
+ } else if (_config.routeType === "hash") {
62
+ this.router = new import_HashRouter.HashRouter({ window: _config.window, firstUrl: _config.path });
63
+ } else {
64
+ this.router = new import_ElementRouter.ElementRouter({ window: _config.window, firstUrl: _config.path });
65
+ }
66
+ this.routerSubscription = this.router.observable.subscribe((route) => {
60
67
  if (route.triggerPoint === "end") {
61
68
  this.routingProcess(route.path);
62
69
  }
@@ -67,8 +74,8 @@ let SwcAppUl = class SwcAppUl2 extends import_SwcHTMLUListElementBase.SwcHTMLULi
67
74
  });
68
75
  this.simpleApplication = new import_SimpleApplication.SimpleApplication(option);
69
76
  const otherInstanceSim = /* @__PURE__ */ new Map();
70
- if (this._router) {
71
- otherInstanceSim.set(import_Router.Router, this._router);
77
+ if (this.router) {
78
+ otherInstanceSim.set(import_Router.Router, this.router);
72
79
  }
73
80
  this.simpleApplication.run(otherInstanceSim);
74
81
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -80,7 +87,7 @@ let SwcAppUl = class SwcAppUl2 extends import_SwcHTMLUListElementBase.SwcHTMLULi
80
87
  }
81
88
  }
82
89
  if (_config.path) {
83
- await this._router?.go(_config.path);
90
+ await this.router?.go(_config.path);
84
91
  }
85
92
  }
86
93
  } catch (e) {
@@ -92,7 +99,7 @@ let SwcAppUl = class SwcAppUl2 extends import_SwcHTMLUListElementBase.SwcHTMLULi
92
99
  this.routerSubscription?.unsubscribe();
93
100
  }
94
101
  async routing(path) {
95
- await this._router?.go(path);
102
+ await this.router?.go(path);
96
103
  }
97
104
  async routingProcess(path) {
98
105
  await this.simpleApplication?.routing(path);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppUl.ts"],
4
- "sourcesContent": ["import { SwcHTMLUListElementBase } from '../base/SwcHTMLUListElementBase';\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-ul', extends: 'ul' })\nexport class SwcAppUl extends SwcHTMLUListElementBase 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,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,WAAN,MAAMA,kBAAiB,uDAAuB;EAKnD,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,6BAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,6BAAW,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,2BAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,2CAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,sBAAQ,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,WAAQ,WAAA;MADpB,oCAAc,EAAE,MAAM,cAAc,SAAS,KAAI,CAAE;;GACvC,QAAQ;",
4
+ "sourcesContent": ["import { SwcHTMLUListElementBase } from '../base/SwcHTMLUListElementBase';\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 { ElementRouter } from '../../router/ElementRouter';\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-ul', extends: 'ul' })\nexport class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n public router?: Router;\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: SwcConfigType = {\n routeType: 'element',\n window: window,\n ...userConfig\n };\n\n if (_config.routeType === 'path') {\n this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });\n } else if (_config.routeType === 'hash') {\n this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });\n } else {\n this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });\n }\n\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,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,2BAA8B;AAC9B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,WAAN,MAAMA,kBAAiB,uDAAuB;EAKnD,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,UAAyB;YAC7B,WAAW;YACX;YACA,GAAG;;AAGL,cAAI,QAAQ,cAAc,QAAQ;AAChC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,WAAW,QAAQ,cAAc,QAAQ;AACvC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,OAAO;AACL,iBAAK,SAAS,IAAI,mCAAc,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACpF;AAEA,eAAK,qBAAqB,KAAK,OAAO,WAAW,UAAU,CAAC,UAA0B;AACpF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,2BAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,2CAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,QAAQ;AACf,6BAAiB,IAAI,sBAAQ,KAAK,MAAM;UAC1C;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,QAAQ,GAAG,QAAQ,IAAI;UACpC;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,QAAQ,GAAG,IAAI;EAC5B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAjFW,WAAQ,WAAA;MADpB,oCAAc,EAAE,MAAM,cAAc,SAAS,KAAI,CAAE;;GACvC,QAAQ;",
6
6
  "names": ["SwcAppUl"]
7
7
  }
@@ -25,6 +25,7 @@ var import_elementDefine = require("../../decorators/elementDefine");
25
25
  var import_SimpleApplication = require("@dooboostore/simple-boot/SimpleApplication");
26
26
  var import_PathRouter = require("@dooboostore/core-web/routers/PathRouter");
27
27
  var import_HashRouter = require("@dooboostore/core-web/routers/HashRouter");
28
+ var import_ElementRouter = require("../../router/ElementRouter");
28
29
  var import_SimOption = require("@dooboostore/simple-boot/SimOption");
29
30
  var import_Router = require("@dooboostore/core-web/routers/Router");
30
31
  var __decorate = function(decorators, target, key, desc) {
@@ -51,12 +52,18 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
51
52
  const userConfig = new Function(`return ${applicationConfigStr}`).apply(this);
52
53
  if (userConfig) {
53
54
  const _config = {
54
- routeType: "path",
55
+ routeType: "element",
55
56
  window,
56
57
  ...userConfig
57
58
  };
58
- this._router = _config.routeType === "path" ? new import_PathRouter.PathRouter({ window: _config.window }) : new import_HashRouter.HashRouter({ window: _config.window });
59
- this.routerSubscription = this._router.observable.subscribe((route) => {
59
+ if (_config.routeType === "path") {
60
+ this.router = new import_PathRouter.PathRouter({ window: _config.window, firstUrl: _config.path });
61
+ } else if (_config.routeType === "hash") {
62
+ this.router = new import_HashRouter.HashRouter({ window: _config.window, firstUrl: _config.path });
63
+ } else {
64
+ this.router = new import_ElementRouter.ElementRouter({ window: _config.window, firstUrl: _config.path });
65
+ }
66
+ this.routerSubscription = this.router.observable.subscribe((route) => {
60
67
  if (route.triggerPoint === "end") {
61
68
  this.routingProcess(route.path);
62
69
  }
@@ -67,8 +74,8 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
67
74
  });
68
75
  this.simpleApplication = new import_SimpleApplication.SimpleApplication(option);
69
76
  const otherInstanceSim = /* @__PURE__ */ new Map();
70
- if (this._router) {
71
- otherInstanceSim.set(import_Router.Router, this._router);
77
+ if (this.router) {
78
+ otherInstanceSim.set(import_Router.Router, this.router);
72
79
  }
73
80
  this.simpleApplication.run(otherInstanceSim);
74
81
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -80,7 +87,7 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
80
87
  }
81
88
  }
82
89
  if (_config.path) {
83
- await this._router?.go(_config.path);
90
+ await this.router?.go(_config.path);
84
91
  }
85
92
  }
86
93
  } catch (e) {
@@ -92,7 +99,7 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
92
99
  this.routerSubscription?.unsubscribe();
93
100
  }
94
101
  async routing(path) {
95
- await this._router?.go(path);
102
+ await this.router?.go(path);
96
103
  }
97
104
  async routingProcess(path) {
98
105
  await this.simpleApplication?.routing(path);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/apps/SwcAppVideo.ts"],
4
- "sourcesContent": ["import { SwcHTMLVideoElementBase } from '../base/SwcHTMLVideoElementBase';\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-video', extends: 'video' })\nexport class SwcAppVideo extends SwcHTMLVideoElementBase 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,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,uDAAuB;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,6BAAW,EAAE,QAAQ,QAAQ,OAAM,CAAE,IAAI,IAAI,6BAAW,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,2BAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,2CAAkB,MAAM;AAErD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,SAAS;AAChB,6BAAiB,IAAI,sBAAQ,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;MADvB,oCAAc,EAAE,MAAM,iBAAiB,SAAS,QAAO,CAAE;;GAC7C,WAAW;",
4
+ "sourcesContent": ["import { SwcHTMLVideoElementBase } from '../base/SwcHTMLVideoElementBase';\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 { ElementRouter } from '../../router/ElementRouter';\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-video', extends: 'video' })\nexport class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n public router?: Router;\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: SwcConfigType = {\n routeType: 'element',\n window: window,\n ...userConfig\n };\n\n if (_config.routeType === 'path') {\n this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });\n } else if (_config.routeType === 'hash') {\n this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });\n } else {\n this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });\n }\n\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,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,2BAA8B;AAC9B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,uDAAuB;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,UAAyB;YAC7B,WAAW;YACX;YACA,GAAG;;AAGL,cAAI,QAAQ,cAAc,QAAQ;AAChC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,WAAW,QAAQ,cAAc,QAAQ;AACvC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,OAAO;AACL,iBAAK,SAAS,IAAI,mCAAc,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACpF;AAEA,eAAK,qBAAqB,KAAK,OAAO,WAAW,UAAU,CAAC,UAA0B;AACpF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,2BAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,2CAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,QAAQ;AACf,6BAAiB,IAAI,sBAAQ,KAAK,MAAM;UAC1C;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,QAAQ,GAAG,QAAQ,IAAI;UACpC;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,QAAQ,GAAG,IAAI;EAC5B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAjFW,cAAW,WAAA;MADvB,oCAAc,EAAE,MAAM,iBAAiB,SAAS,QAAO,CAAE;;GAC7C,WAAW;",
6
6
  "names": ["SwcAppVideo"]
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLAnchorElementBase extends HTMLAnchorElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLAnchorElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLAnchorElementBase extends HTMLAnchorElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getNearAppHost(): SwcAppInterface | undefined {\n const hosts = this.getHosts();\n // [Root, ..., Parent] \uC21C\uC11C\uC774\uBBC0\uB85C reverse() \uD6C4 find \uD558\uC5EC \uCD5C\uCE21\uADFC\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.\n return hosts.reverse().find(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface | undefined;\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.findAllSwcHosts(this as any);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAIlB,MAAe,iCAAiC,kBAAqD;AAAA,EAO1G,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,iBAA8C;AACnD,UAAM,QAAQ,KAAK,SAAS;AAE5B,WAAO,MAAM,QAAQ,EAAE,KAAK,UAAQ,KAAK,QAAQ,YAAY,MAAM,aAAa,KAAK,aAAa,IAAI,GAAG,WAAW,UAAU,CAAC;AAAA,EACjI;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,gBAAgB,IAAW;AAAA,EAC7C;AAAA,EAEO,UAA+C;AACpD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,MAAM,SAAS,CAAC,IAAI;AAAA,EACtD;AAAA,EAEO,eAAoD;AACzD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAAA,EACvC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLAnchorElementBase extends HTMLAnchorElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getAppHost(this);\n }\n\n public getAppHosts(): SwcAppInterface[] {\n return SwcUtils.getAppHosts(this);\n }\n\n public getFirstAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getFirstAppHost(this);\n }\n\n public getLastAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getLastAppHost(this);\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.getHosts(this);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getHost(this);\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getFirstHost(this);\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n public getHostSet(): HostSet {\n return SwcUtils.getHostSet(this);\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAGlB,MAAe,iCAAiC,kBAAqD;AAAA,EAO1G,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,aAA0C;AAC/C,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,sBAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,sBAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,sBAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,sBAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,sBAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLAreaElementBase extends HTMLAreaElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLAreaElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLAreaElementBase extends HTMLAreaElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getNearAppHost(): SwcAppInterface | undefined {\n const hosts = this.getHosts();\n // [Root, ..., Parent] \uC21C\uC11C\uC774\uBBC0\uB85C reverse() \uD6C4 find \uD558\uC5EC \uCD5C\uCE21\uADFC\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.\n return hosts.reverse().find(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface | undefined;\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.findAllSwcHosts(this as any);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAIlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,iBAA8C;AACnD,UAAM,QAAQ,KAAK,SAAS;AAE5B,WAAO,MAAM,QAAQ,EAAE,KAAK,UAAQ,KAAK,QAAQ,YAAY,MAAM,aAAa,KAAK,aAAa,IAAI,GAAG,WAAW,UAAU,CAAC;AAAA,EACjI;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,gBAAgB,IAAW;AAAA,EAC7C;AAAA,EAEO,UAA+C;AACpD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,MAAM,SAAS,CAAC,IAAI;AAAA,EACtD;AAAA,EAEO,eAAoD;AACzD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAAA,EACvC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLAreaElementBase extends HTMLAreaElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getAppHost(this);\n }\n\n public getAppHosts(): SwcAppInterface[] {\n return SwcUtils.getAppHosts(this);\n }\n\n public getFirstAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getFirstAppHost(this);\n }\n\n public getLastAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getLastAppHost(this);\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.getHosts(this);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getHost(this);\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getFirstHost(this);\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n public getHostSet(): HostSet {\n return SwcUtils.getHostSet(this);\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAGlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,aAA0C;AAC/C,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,sBAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,sBAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,sBAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,sBAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,sBAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLAudioElementBase extends HTMLAudioElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLAudioElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLAudioElementBase extends HTMLAudioElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getNearAppHost(): SwcAppInterface | undefined {\n const hosts = this.getHosts();\n // [Root, ..., Parent] \uC21C\uC11C\uC774\uBBC0\uB85C reverse() \uD6C4 find \uD558\uC5EC \uCD5C\uCE21\uADFC\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.\n return hosts.reverse().find(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface | undefined;\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.findAllSwcHosts(this as any);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAIlB,MAAe,gCAAgC,iBAAoD;AAAA,EAOxG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,iBAA8C;AACnD,UAAM,QAAQ,KAAK,SAAS;AAE5B,WAAO,MAAM,QAAQ,EAAE,KAAK,UAAQ,KAAK,QAAQ,YAAY,MAAM,aAAa,KAAK,aAAa,IAAI,GAAG,WAAW,UAAU,CAAC;AAAA,EACjI;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,gBAAgB,IAAW;AAAA,EAC7C;AAAA,EAEO,UAA+C;AACpD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,MAAM,SAAS,CAAC,IAAI;AAAA,EACtD;AAAA,EAEO,eAAoD;AACzD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAAA,EACvC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLAudioElementBase extends HTMLAudioElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getAppHost(this);\n }\n\n public getAppHosts(): SwcAppInterface[] {\n return SwcUtils.getAppHosts(this);\n }\n\n public getFirstAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getFirstAppHost(this);\n }\n\n public getLastAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getLastAppHost(this);\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.getHosts(this);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getHost(this);\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getFirstHost(this);\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n public getHostSet(): HostSet {\n return SwcUtils.getHostSet(this);\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAGlB,MAAe,gCAAgC,iBAAoD;AAAA,EAOxG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,aAA0C;AAC/C,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,sBAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,sBAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,sBAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,sBAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,sBAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLBaseElementBase extends HTMLBaseElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLBaseElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLBaseElementBase extends HTMLBaseElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getNearAppHost(): SwcAppInterface | undefined {\n const hosts = this.getHosts();\n // [Root, ..., Parent] \uC21C\uC11C\uC774\uBBC0\uB85C reverse() \uD6C4 find \uD558\uC5EC \uCD5C\uCE21\uADFC\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.\n return hosts.reverse().find(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface | undefined;\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.findAllSwcHosts(this as any);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAIlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,iBAA8C;AACnD,UAAM,QAAQ,KAAK,SAAS;AAE5B,WAAO,MAAM,QAAQ,EAAE,KAAK,UAAQ,KAAK,QAAQ,YAAY,MAAM,aAAa,KAAK,aAAa,IAAI,GAAG,WAAW,UAAU,CAAC;AAAA,EACjI;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,gBAAgB,IAAW;AAAA,EAC7C;AAAA,EAEO,UAA+C;AACpD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,MAAM,SAAS,CAAC,IAAI;AAAA,EACtD;AAAA,EAEO,eAAoD;AACzD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAAA,EACvC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLBaseElementBase extends HTMLBaseElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getAppHost(this);\n }\n\n public getAppHosts(): SwcAppInterface[] {\n return SwcUtils.getAppHosts(this);\n }\n\n public getFirstAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getFirstAppHost(this);\n }\n\n public getLastAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getLastAppHost(this);\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.getHosts(this);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getHost(this);\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getFirstHost(this);\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n public getHostSet(): HostSet {\n return SwcUtils.getHostSet(this);\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAGlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,aAA0C;AAC/C,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,sBAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,sBAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,sBAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,sBAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,sBAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLBodyElementBase extends HTMLBodyElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLBodyElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLBodyElementBase extends HTMLBodyElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getNearAppHost(): SwcAppInterface | undefined {\n const hosts = this.getHosts();\n // [Root, ..., Parent] \uC21C\uC11C\uC774\uBBC0\uB85C reverse() \uD6C4 find \uD558\uC5EC \uCD5C\uCE21\uADFC\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.\n return hosts.reverse().find(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface | undefined;\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.findAllSwcHosts(this as any);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts();\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAIlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,iBAA8C;AACnD,UAAM,QAAQ,KAAK,SAAS;AAE5B,WAAO,MAAM,QAAQ,EAAE,KAAK,UAAQ,KAAK,QAAQ,YAAY,MAAM,aAAa,KAAK,aAAa,IAAI,GAAG,WAAW,UAAU,CAAC;AAAA,EACjI;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,gBAAgB,IAAW;AAAA,EAC7C;AAAA,EAEO,UAA+C;AACpD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,MAAM,SAAS,CAAC,IAAI;AAAA,EACtD;AAAA,EAEO,eAAoD;AACzD,UAAM,QAAQ,KAAK,SAAS;AAC5B,WAAO,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAAA,EACvC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLBodyElementBase extends HTMLBodyElement implements SwcHTMLElementInterface {\n protected _masterTplNodes: Node[] = [];\n protected _asKey: string = 'value';\n protected _asItemKey: string = 'item';\n protected _asIndexKey: string = 'index';\n protected _isInitialized = false;\n\n constructor() {\n super();\n }\n\n public getAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getAppHost(this);\n }\n\n public getAppHosts(): SwcAppInterface[] {\n return SwcUtils.getAppHosts(this);\n }\n\n public getFirstAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getFirstAppHost(this);\n }\n\n public getLastAppHost(): SwcAppInterface | undefined {\n return SwcUtils.getLastAppHost(this);\n }\n\n public getHosts(): SwcHTMLElementInterface[] {\n return SwcUtils.getHosts(this);\n }\n\n public getHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getHost(this);\n }\n\n public getFirstHost(): SwcHTMLElementInterface | undefined {\n return SwcUtils.getFirstHost(this);\n }\n\n public getLastHost(): SwcHTMLElementInterface | undefined {\n return this.getHost();\n }\n\n public getHostSet(): HostSet {\n return SwcUtils.getHostSet(this);\n }\n\n /**\n * \uC0C1\uC704 \uD638\uC2A4\uD2B8 \uCCB4\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8(\uB370\uC774\uD130)\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n protected _getSuperiorContext(): Record<string, any> {\n const hostContext: Record<string, any> = {};\n const hosts = this.getHosts();\n hosts.forEach(host => {\n if (typeof (host as any)._getHostContext === 'function') {\n Object.assign(hostContext, (host as any)._getHostContext());\n }\n });\n return hostContext;\n }\n\n protected initCore() {\n this._asKey = this.getAttribute('as') || 'value';\n this._asItemKey = this.getAttribute('as-item') || this.getAttribute('as') || 'item';\n this._asIndexKey = this.getAttribute('as-index') || 'index';\n\n if (this._masterTplNodes.length > 0) return; // \uC774\uBBF8 \uCD08\uAE30\uD654\uB428\n\n const tplSlot = this.shadowRoot?.getElementById('tpl-slot') as HTMLSlotElement;\n if (tplSlot) {\n this._masterTplNodes = tplSlot.assignedNodes().map(n => n.cloneNode(true));\n } else if (this.childNodes.length > 0) {\n // Light DOM\uC5D0\uC11C \uD15C\uD50C\uB9BF \uCD94\uCD9C\n this._masterTplNodes = Array.from(this.childNodes).map(n => n.cloneNode(true));\n }\n }\n\n protected applyData(node: Node, data: any, index?: number) {\n const hostContext = this._getSuperiorContext();\n\n SwcUtils.applyData(node, data, {\n asKey: this._asItemKey,\n asIndexKey: this._asIndexKey,\n index,\n hostContext\n });\n }\n\n protected createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n return SwcUtils.createReactiveProxy(target, onChange, onIndexChange);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAGlB,MAAe,+BAA+B,gBAAmD;AAAA,EAOtG,cAAc;AACZ,UAAM;AAPR,SAAU,kBAA0B,CAAC;AACrC,SAAU,SAAiB;AAC3B,SAAU,aAAqB;AAC/B,SAAU,cAAsB;AAChC,SAAU,iBAAiB;AAAA,EAI3B;AAAA,EAEO,aAA0C;AAC/C,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,sBAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,sBAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,sBAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,sBAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,sBAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,sBAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,sBAAS,WAAW,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKU,sBAA2C;AACnD,UAAM,cAAmC,CAAC;AAC1C,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,UAAQ;AACpB,UAAI,OAAQ,KAAa,oBAAoB,YAAY;AACvD,eAAO,OAAO,aAAc,KAAa,gBAAgB,CAAC;AAAA,MAC5D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEU,WAAW;AACnB,SAAK,SAAS,KAAK,aAAa,IAAI,KAAK;AACzC,SAAK,aAAa,KAAK,aAAa,SAAS,KAAK,KAAK,aAAa,IAAI,KAAK;AAC7E,SAAK,cAAc,KAAK,aAAa,UAAU,KAAK;AAEpD,QAAI,KAAK,gBAAgB,SAAS,EAAG;AAErC,UAAM,UAAU,KAAK,YAAY,eAAe,UAAU;AAC1D,QAAI,SAAS;AACX,WAAK,kBAAkB,QAAQ,cAAc,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC3E,WAAW,KAAK,WAAW,SAAS,GAAG;AAErC,WAAK,kBAAkB,MAAM,KAAK,KAAK,UAAU,EAAE,IAAI,OAAK,EAAE,UAAU,IAAI,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEU,UAAU,MAAY,MAAW,OAAgB;AACzD,UAAM,cAAc,KAAK,oBAAoB;AAE7C,0BAAS,UAAU,MAAM,MAAM;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,QAAa,UAAsB,eAAmD;AAClH,WAAO,sBAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,24 +30,33 @@ class SwcHTMLButtonElementBase extends HTMLButtonElement {
30
30
  this._asIndexKey = "index";
31
31
  this._isInitialized = false;
32
32
  }
33
- getNearAppHost() {
34
- const hosts = this.getHosts();
35
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
33
+ getAppHost() {
34
+ return import_Utils.SwcUtils.getAppHost(this);
35
+ }
36
+ getAppHosts() {
37
+ return import_Utils.SwcUtils.getAppHosts(this);
38
+ }
39
+ getFirstAppHost() {
40
+ return import_Utils.SwcUtils.getFirstAppHost(this);
41
+ }
42
+ getLastAppHost() {
43
+ return import_Utils.SwcUtils.getLastAppHost(this);
36
44
  }
37
45
  getHosts() {
38
- return import_Utils.SwcUtils.findAllSwcHosts(this);
46
+ return import_Utils.SwcUtils.getHosts(this);
39
47
  }
40
48
  getHost() {
41
- const hosts = this.getHosts();
42
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
49
+ return import_Utils.SwcUtils.getHost(this);
43
50
  }
44
51
  getFirstHost() {
45
- const hosts = this.getHosts();
46
- return hosts.length > 0 ? hosts[0] : void 0;
52
+ return import_Utils.SwcUtils.getFirstHost(this);
47
53
  }
48
54
  getLastHost() {
49
55
  return this.getHost();
50
56
  }
57
+ getHostSet() {
58
+ return import_Utils.SwcUtils.getHostSet(this);
59
+ }
51
60
  /**
52
61
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
53
62
  */