@dooboostore/simple-web-component 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (757) hide show
  1. package/README.md +11 -12
  2. package/dist/cjs/decorators/elementDefine.js +88 -82
  3. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  4. package/dist/cjs/decorators/index.js +26 -0
  5. package/dist/cjs/decorators/index.js.map +7 -0
  6. package/dist/cjs/elements/SwcInterfaces.js +35 -0
  7. package/dist/cjs/elements/SwcInterfaces.js.map +7 -0
  8. package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
  9. package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
  10. package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
  11. package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
  12. package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
  13. package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
  14. package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
  15. package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
  16. package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
  17. package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
  18. package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
  19. package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
  20. package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
  21. package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
  22. package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
  23. package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
  24. package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
  25. package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
  26. package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
  27. package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
  28. package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
  29. package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
  30. package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
  31. package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
  32. package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
  33. package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
  34. package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
  35. package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
  36. package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
  37. package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
  38. package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
  39. package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
  40. package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
  41. package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
  42. package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
  43. package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
  44. package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
  45. package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
  46. package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
  47. package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
  48. package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
  49. package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
  50. package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
  51. package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
  52. package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
  53. package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
  54. package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
  55. package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
  56. package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
  57. package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
  58. package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
  59. package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
  60. package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
  61. package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
  62. package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
  63. package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
  64. package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
  65. package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
  66. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  67. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  68. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js +17 -8
  69. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  70. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js +17 -8
  71. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  72. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js +17 -8
  73. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  74. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js +17 -8
  75. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  76. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js +17 -8
  77. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  78. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  79. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  80. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js +17 -8
  81. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  82. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js +17 -8
  83. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  84. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js +17 -8
  85. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  86. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  87. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  88. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js +17 -8
  89. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  90. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js +17 -8
  91. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  92. package/dist/cjs/elements/base/SwcHTMLElementBase.js +17 -8
  93. package/dist/cjs/elements/base/SwcHTMLElementBase.js.map +2 -2
  94. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  95. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  96. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  97. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  98. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js +17 -8
  99. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  100. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js +17 -8
  101. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  102. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  103. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  104. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  105. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  106. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js +17 -8
  107. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  108. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js +17 -8
  109. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  110. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js +17 -8
  111. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  112. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js +17 -8
  113. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  114. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js +17 -8
  115. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  116. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js +17 -8
  117. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  118. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js +17 -8
  119. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  120. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js +17 -8
  121. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  122. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js +17 -8
  123. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  124. package/dist/cjs/elements/base/SwcHTMLModElementBase.js +17 -8
  125. package/dist/cjs/elements/base/SwcHTMLModElementBase.js.map +2 -2
  126. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js +17 -8
  127. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  128. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js +17 -8
  129. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  130. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  131. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  132. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js +17 -8
  133. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  134. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js +17 -8
  135. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  136. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  137. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  138. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js +17 -8
  139. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  140. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js +17 -8
  141. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  142. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js +17 -8
  143. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  144. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js +17 -8
  145. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  146. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  147. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  148. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js +17 -8
  149. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  150. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js +17 -8
  151. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  152. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js +17 -8
  153. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  154. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js +17 -8
  155. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  156. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js +17 -8
  157. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  158. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js +17 -8
  159. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  160. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  161. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  162. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js +17 -8
  163. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  164. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  165. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  166. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  167. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  168. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  169. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  170. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  171. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  172. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js +17 -8
  173. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  174. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js +17 -8
  175. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  176. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js +17 -8
  177. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  178. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js +17 -8
  179. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  180. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js +17 -8
  181. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  182. package/dist/cjs/elements/index.js +1 -0
  183. package/dist/cjs/elements/index.js.map +2 -2
  184. package/dist/cjs/index.js +2 -17
  185. package/dist/cjs/index.js.map +2 -2
  186. package/dist/cjs/utils/Utils.js +44 -0
  187. package/dist/cjs/utils/Utils.js.map +2 -2
  188. package/dist/esm/decorators/elementDefine.js +88 -82
  189. package/dist/esm/decorators/elementDefine.js.map +3 -3
  190. package/dist/esm/decorators/index.js +10 -0
  191. package/dist/esm/decorators/index.js.map +7 -0
  192. package/dist/esm/elements/SwcInterfaces.js +16 -0
  193. package/dist/esm/elements/SwcInterfaces.js.map +7 -0
  194. package/dist/esm/elements/apps/SwcApp.js.map +2 -2
  195. package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
  196. package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
  197. package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
  198. package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
  199. package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
  200. package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
  201. package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
  202. package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
  203. package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
  204. package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
  205. package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
  206. package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
  207. package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
  208. package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
  209. package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
  210. package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
  211. package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
  212. package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
  213. package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
  214. package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
  215. package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
  216. package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
  217. package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
  218. package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
  219. package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
  220. package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
  221. package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
  222. package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
  223. package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
  224. package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
  225. package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
  226. package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
  227. package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
  228. package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
  229. package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
  230. package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
  231. package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
  232. package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
  233. package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
  234. package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
  235. package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
  236. package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
  237. package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
  238. package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
  239. package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
  240. package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
  241. package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
  242. package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
  243. package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
  244. package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
  245. package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
  246. package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
  247. package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
  248. package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
  249. package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
  250. package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
  251. package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
  252. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  253. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  254. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js +17 -8
  255. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  256. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js +17 -8
  257. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  258. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js +17 -8
  259. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  260. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js +17 -8
  261. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  262. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js +17 -8
  263. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  264. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  265. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  266. package/dist/esm/elements/base/SwcHTMLDListElementBase.js +17 -8
  267. package/dist/esm/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  268. package/dist/esm/elements/base/SwcHTMLDataElementBase.js +17 -8
  269. package/dist/esm/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  270. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js +17 -8
  271. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  272. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  273. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  274. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js +17 -8
  275. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  276. package/dist/esm/elements/base/SwcHTMLDivElementBase.js +17 -8
  277. package/dist/esm/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  278. package/dist/esm/elements/base/SwcHTMLElementBase.js +17 -8
  279. package/dist/esm/elements/base/SwcHTMLElementBase.js.map +2 -2
  280. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  281. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  282. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  283. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  284. package/dist/esm/elements/base/SwcHTMLFormElementBase.js +17 -8
  285. package/dist/esm/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  286. package/dist/esm/elements/base/SwcHTMLHRElementBase.js +17 -8
  287. package/dist/esm/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  288. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  289. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  290. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  291. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  292. package/dist/esm/elements/base/SwcHTMLImageElementBase.js +17 -8
  293. package/dist/esm/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  294. package/dist/esm/elements/base/SwcHTMLInputElementBase.js +17 -8
  295. package/dist/esm/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  296. package/dist/esm/elements/base/SwcHTMLLIElementBase.js +17 -8
  297. package/dist/esm/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  298. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js +17 -8
  299. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  300. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js +17 -8
  301. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  302. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js +17 -8
  303. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  304. package/dist/esm/elements/base/SwcHTMLMapElementBase.js +17 -8
  305. package/dist/esm/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  306. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js +17 -8
  307. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  308. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js +17 -8
  309. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  310. package/dist/esm/elements/base/SwcHTMLModElementBase.js +17 -8
  311. package/dist/esm/elements/base/SwcHTMLModElementBase.js.map +2 -2
  312. package/dist/esm/elements/base/SwcHTMLOListElementBase.js +17 -8
  313. package/dist/esm/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  314. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js +17 -8
  315. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  316. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  317. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  318. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js +17 -8
  319. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  320. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js +17 -8
  321. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  322. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  323. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  324. package/dist/esm/elements/base/SwcHTMLParamElementBase.js +17 -8
  325. package/dist/esm/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  326. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js +17 -8
  327. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  328. package/dist/esm/elements/base/SwcHTMLPreElementBase.js +17 -8
  329. package/dist/esm/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  330. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js +17 -8
  331. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  332. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  333. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  334. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js +17 -8
  335. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  336. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js +17 -8
  337. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  338. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js +17 -8
  339. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  340. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js +17 -8
  341. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  342. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js +17 -8
  343. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  344. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js +17 -8
  345. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  346. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  347. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  348. package/dist/esm/elements/base/SwcHTMLTableElementBase.js +17 -8
  349. package/dist/esm/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  350. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  351. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  352. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  353. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  354. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  355. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  356. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  357. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  358. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js +17 -8
  359. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  360. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js +17 -8
  361. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  362. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js +17 -8
  363. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  364. package/dist/esm/elements/base/SwcHTMLUListElementBase.js +17 -8
  365. package/dist/esm/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  366. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js +17 -8
  367. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  368. package/dist/esm/elements/index.js +1 -0
  369. package/dist/esm/elements/index.js.map +2 -2
  370. package/dist/esm/index.js +2 -17
  371. package/dist/esm/index.js.map +2 -2
  372. package/dist/esm/utils/Utils.js +44 -0
  373. package/dist/esm/utils/Utils.js.map +2 -2
  374. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2402 -1816
  375. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  376. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  377. package/dist/types/decorators/index.d.ts +10 -0
  378. package/dist/types/decorators/index.d.ts.map +1 -0
  379. package/dist/types/elements/SwcInterfaces.d.ts +46 -0
  380. package/dist/types/elements/SwcInterfaces.d.ts.map +1 -0
  381. package/dist/types/elements/apps/SwcApp.d.ts +1 -1
  382. package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
  383. package/dist/types/elements/apps/SwcAppAnchor.d.ts +1 -1
  384. package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
  385. package/dist/types/elements/apps/SwcAppArea.d.ts +1 -1
  386. package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
  387. package/dist/types/elements/apps/SwcAppAudio.d.ts +1 -1
  388. package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
  389. package/dist/types/elements/apps/SwcAppBase.d.ts +1 -1
  390. package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
  391. package/dist/types/elements/apps/SwcAppBody.d.ts +1 -1
  392. package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
  393. package/dist/types/elements/apps/SwcAppButton.d.ts +1 -1
  394. package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
  395. package/dist/types/elements/apps/SwcAppCanvas.d.ts +1 -1
  396. package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
  397. package/dist/types/elements/apps/SwcAppData.d.ts +1 -1
  398. package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
  399. package/dist/types/elements/apps/SwcAppDataList.d.ts +1 -1
  400. package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
  401. package/dist/types/elements/apps/SwcAppDetails.d.ts +1 -1
  402. package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
  403. package/dist/types/elements/apps/SwcAppDialog.d.ts +1 -1
  404. package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
  405. package/dist/types/elements/apps/SwcAppDiv.d.ts +1 -1
  406. package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
  407. package/dist/types/elements/apps/SwcAppDl.d.ts +1 -1
  408. package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
  409. package/dist/types/elements/apps/SwcAppEmbed.d.ts +1 -1
  410. package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
  411. package/dist/types/elements/apps/SwcAppFieldSet.d.ts +1 -1
  412. package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
  413. package/dist/types/elements/apps/SwcAppForm.d.ts +1 -1
  414. package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
  415. package/dist/types/elements/apps/SwcAppHeading.d.ts +1 -1
  416. package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
  417. package/dist/types/elements/apps/SwcAppHr.d.ts +1 -1
  418. package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
  419. package/dist/types/elements/apps/SwcAppIFrame.d.ts +1 -1
  420. package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
  421. package/dist/types/elements/apps/SwcAppImage.d.ts +1 -1
  422. package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
  423. package/dist/types/elements/apps/SwcAppInput.d.ts +1 -1
  424. package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
  425. package/dist/types/elements/apps/SwcAppLabel.d.ts +1 -1
  426. package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
  427. package/dist/types/elements/apps/SwcAppLegend.d.ts +1 -1
  428. package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
  429. package/dist/types/elements/apps/SwcAppLi.d.ts +1 -1
  430. package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
  431. package/dist/types/elements/apps/SwcAppLink.d.ts +1 -1
  432. package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
  433. package/dist/types/elements/apps/SwcAppMap.d.ts +1 -1
  434. package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
  435. package/dist/types/elements/apps/SwcAppMeta.d.ts +1 -1
  436. package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
  437. package/dist/types/elements/apps/SwcAppMeter.d.ts +1 -1
  438. package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
  439. package/dist/types/elements/apps/SwcAppMod.d.ts +1 -1
  440. package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
  441. package/dist/types/elements/apps/SwcAppObject.d.ts +1 -1
  442. package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
  443. package/dist/types/elements/apps/SwcAppOl.d.ts +1 -1
  444. package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
  445. package/dist/types/elements/apps/SwcAppOptGroup.d.ts +1 -1
  446. package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
  447. package/dist/types/elements/apps/SwcAppOption.d.ts +1 -1
  448. package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
  449. package/dist/types/elements/apps/SwcAppOutput.d.ts +1 -1
  450. package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
  451. package/dist/types/elements/apps/SwcAppParagraph.d.ts +1 -1
  452. package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
  453. package/dist/types/elements/apps/SwcAppParam.d.ts +1 -1
  454. package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
  455. package/dist/types/elements/apps/SwcAppPicture.d.ts +1 -1
  456. package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
  457. package/dist/types/elements/apps/SwcAppPre.d.ts +1 -1
  458. package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
  459. package/dist/types/elements/apps/SwcAppProgress.d.ts +1 -1
  460. package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
  461. package/dist/types/elements/apps/SwcAppQuote.d.ts +1 -1
  462. package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
  463. package/dist/types/elements/apps/SwcAppScript.d.ts +1 -1
  464. package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
  465. package/dist/types/elements/apps/SwcAppSelect.d.ts +1 -1
  466. package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
  467. package/dist/types/elements/apps/SwcAppSlot.d.ts +1 -1
  468. package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
  469. package/dist/types/elements/apps/SwcAppSource.d.ts +1 -1
  470. package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
  471. package/dist/types/elements/apps/SwcAppSpan.d.ts +1 -1
  472. package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
  473. package/dist/types/elements/apps/SwcAppStyle.d.ts +1 -1
  474. package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
  475. package/dist/types/elements/apps/SwcAppTable.d.ts +1 -1
  476. package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
  477. package/dist/types/elements/apps/SwcAppTableCell.d.ts +1 -1
  478. package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
  479. package/dist/types/elements/apps/SwcAppTableRow.d.ts +1 -1
  480. package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
  481. package/dist/types/elements/apps/SwcAppTableSection.d.ts +1 -1
  482. package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
  483. package/dist/types/elements/apps/SwcAppTemplate.d.ts +1 -1
  484. package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
  485. package/dist/types/elements/apps/SwcAppTextArea.d.ts +1 -1
  486. package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
  487. package/dist/types/elements/apps/SwcAppTime.d.ts +1 -1
  488. package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
  489. package/dist/types/elements/apps/SwcAppTitle.d.ts +1 -1
  490. package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
  491. package/dist/types/elements/apps/SwcAppTrack.d.ts +1 -1
  492. package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
  493. package/dist/types/elements/apps/SwcAppUl.d.ts +1 -1
  494. package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
  495. package/dist/types/elements/apps/SwcAppVideo.d.ts +1 -1
  496. package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
  497. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts +6 -3
  498. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts.map +1 -1
  499. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts +6 -3
  500. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts.map +1 -1
  501. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts +6 -3
  502. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts.map +1 -1
  503. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts +6 -3
  504. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts.map +1 -1
  505. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts +6 -3
  506. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts.map +1 -1
  507. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts +6 -3
  508. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts.map +1 -1
  509. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts +6 -3
  510. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts.map +1 -1
  511. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts +6 -3
  512. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts.map +1 -1
  513. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts +6 -3
  514. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts.map +1 -1
  515. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts +6 -3
  516. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts.map +1 -1
  517. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts +6 -3
  518. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts.map +1 -1
  519. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts +6 -3
  520. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts.map +1 -1
  521. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts +6 -3
  522. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts.map +1 -1
  523. package/dist/types/elements/base/SwcHTMLElementBase.d.ts +6 -3
  524. package/dist/types/elements/base/SwcHTMLElementBase.d.ts.map +1 -1
  525. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts +6 -3
  526. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts.map +1 -1
  527. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts +6 -3
  528. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts.map +1 -1
  529. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts +6 -3
  530. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts.map +1 -1
  531. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts +6 -3
  532. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts.map +1 -1
  533. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts +6 -3
  534. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts.map +1 -1
  535. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts +6 -3
  536. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts.map +1 -1
  537. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts +6 -3
  538. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts.map +1 -1
  539. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts +6 -3
  540. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts.map +1 -1
  541. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts +6 -3
  542. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts.map +1 -1
  543. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts +6 -3
  544. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts.map +1 -1
  545. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts +6 -3
  546. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts.map +1 -1
  547. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts +6 -3
  548. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts.map +1 -1
  549. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts +6 -3
  550. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts.map +1 -1
  551. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts +6 -3
  552. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts.map +1 -1
  553. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts +6 -3
  554. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts.map +1 -1
  555. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts +6 -3
  556. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts.map +1 -1
  557. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts +6 -3
  558. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts.map +1 -1
  559. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts +6 -3
  560. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts.map +1 -1
  561. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts +6 -3
  562. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts.map +1 -1
  563. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts +6 -3
  564. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts.map +1 -1
  565. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts +6 -3
  566. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts.map +1 -1
  567. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts +6 -3
  568. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts.map +1 -1
  569. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts +6 -3
  570. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts.map +1 -1
  571. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts +6 -3
  572. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts.map +1 -1
  573. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts +6 -3
  574. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts.map +1 -1
  575. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts +6 -3
  576. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts.map +1 -1
  577. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts +6 -3
  578. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts.map +1 -1
  579. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts +6 -3
  580. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts.map +1 -1
  581. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts +6 -3
  582. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts.map +1 -1
  583. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts +6 -3
  584. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts.map +1 -1
  585. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts +6 -3
  586. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts.map +1 -1
  587. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts +6 -3
  588. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts.map +1 -1
  589. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts +6 -3
  590. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts.map +1 -1
  591. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts +6 -3
  592. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts.map +1 -1
  593. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts +6 -3
  594. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts.map +1 -1
  595. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts +6 -3
  596. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts.map +1 -1
  597. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts +6 -3
  598. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts.map +1 -1
  599. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts +6 -3
  600. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts.map +1 -1
  601. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts +6 -3
  602. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts.map +1 -1
  603. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts +6 -3
  604. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts.map +1 -1
  605. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts +6 -3
  606. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts.map +1 -1
  607. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts +6 -3
  608. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts.map +1 -1
  609. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts +6 -3
  610. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts.map +1 -1
  611. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts +6 -3
  612. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts.map +1 -1
  613. package/dist/types/elements/index.d.ts +1 -0
  614. package/dist/types/elements/index.d.ts.map +1 -1
  615. package/dist/types/index.d.ts +2 -17
  616. package/dist/types/index.d.ts.map +1 -1
  617. package/dist/types/utils/Utils.d.ts +9 -0
  618. package/dist/types/utils/Utils.d.ts.map +1 -1
  619. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2402 -1816
  620. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  621. package/package.json +3 -3
  622. package/src/decorators/elementDefine.ts +97 -141
  623. package/src/decorators/index.ts +9 -0
  624. package/src/elements/SwcInterfaces.ts +49 -0
  625. package/src/elements/apps/SwcApp.ts +3 -2
  626. package/src/elements/apps/SwcAppAnchor.ts +3 -2
  627. package/src/elements/apps/SwcAppArea.ts +3 -2
  628. package/src/elements/apps/SwcAppAudio.ts +3 -2
  629. package/src/elements/apps/SwcAppBase.ts +3 -2
  630. package/src/elements/apps/SwcAppBody.ts +3 -2
  631. package/src/elements/apps/SwcAppButton.ts +3 -2
  632. package/src/elements/apps/SwcAppCanvas.ts +3 -2
  633. package/src/elements/apps/SwcAppData.ts +3 -2
  634. package/src/elements/apps/SwcAppDataList.ts +3 -2
  635. package/src/elements/apps/SwcAppDetails.ts +3 -2
  636. package/src/elements/apps/SwcAppDialog.ts +3 -2
  637. package/src/elements/apps/SwcAppDiv.ts +3 -2
  638. package/src/elements/apps/SwcAppDl.ts +3 -2
  639. package/src/elements/apps/SwcAppEmbed.ts +3 -2
  640. package/src/elements/apps/SwcAppFieldSet.ts +3 -2
  641. package/src/elements/apps/SwcAppForm.ts +3 -2
  642. package/src/elements/apps/SwcAppHeading.ts +3 -2
  643. package/src/elements/apps/SwcAppHr.ts +3 -2
  644. package/src/elements/apps/SwcAppIFrame.ts +3 -2
  645. package/src/elements/apps/SwcAppImage.ts +3 -2
  646. package/src/elements/apps/SwcAppInput.ts +3 -2
  647. package/src/elements/apps/SwcAppLabel.ts +3 -2
  648. package/src/elements/apps/SwcAppLegend.ts +3 -2
  649. package/src/elements/apps/SwcAppLi.ts +3 -2
  650. package/src/elements/apps/SwcAppLink.ts +3 -2
  651. package/src/elements/apps/SwcAppMap.ts +3 -2
  652. package/src/elements/apps/SwcAppMeta.ts +3 -2
  653. package/src/elements/apps/SwcAppMeter.ts +3 -2
  654. package/src/elements/apps/SwcAppMod.ts +3 -2
  655. package/src/elements/apps/SwcAppObject.ts +3 -2
  656. package/src/elements/apps/SwcAppOl.ts +3 -2
  657. package/src/elements/apps/SwcAppOptGroup.ts +3 -2
  658. package/src/elements/apps/SwcAppOption.ts +3 -2
  659. package/src/elements/apps/SwcAppOutput.ts +3 -2
  660. package/src/elements/apps/SwcAppParagraph.ts +3 -2
  661. package/src/elements/apps/SwcAppParam.ts +3 -2
  662. package/src/elements/apps/SwcAppPicture.ts +3 -2
  663. package/src/elements/apps/SwcAppPre.ts +3 -2
  664. package/src/elements/apps/SwcAppProgress.ts +3 -2
  665. package/src/elements/apps/SwcAppQuote.ts +3 -2
  666. package/src/elements/apps/SwcAppScript.ts +3 -2
  667. package/src/elements/apps/SwcAppSelect.ts +3 -2
  668. package/src/elements/apps/SwcAppSlot.ts +3 -2
  669. package/src/elements/apps/SwcAppSource.ts +3 -2
  670. package/src/elements/apps/SwcAppSpan.ts +3 -2
  671. package/src/elements/apps/SwcAppStyle.ts +3 -2
  672. package/src/elements/apps/SwcAppTable.ts +3 -2
  673. package/src/elements/apps/SwcAppTableCell.ts +3 -2
  674. package/src/elements/apps/SwcAppTableRow.ts +3 -2
  675. package/src/elements/apps/SwcAppTableSection.ts +3 -2
  676. package/src/elements/apps/SwcAppTemplate.ts +3 -2
  677. package/src/elements/apps/SwcAppTextArea.ts +3 -2
  678. package/src/elements/apps/SwcAppTime.ts +3 -2
  679. package/src/elements/apps/SwcAppTitle.ts +3 -2
  680. package/src/elements/apps/SwcAppTrack.ts +3 -2
  681. package/src/elements/apps/SwcAppUl.ts +3 -2
  682. package/src/elements/apps/SwcAppVideo.ts +3 -2
  683. package/src/elements/base/SwcHTMLAnchorElementBase.ts +22 -11
  684. package/src/elements/base/SwcHTMLAreaElementBase.ts +22 -11
  685. package/src/elements/base/SwcHTMLAudioElementBase.ts +22 -11
  686. package/src/elements/base/SwcHTMLBaseElementBase.ts +22 -11
  687. package/src/elements/base/SwcHTMLBodyElementBase.ts +22 -11
  688. package/src/elements/base/SwcHTMLButtonElementBase.ts +22 -11
  689. package/src/elements/base/SwcHTMLCanvasElementBase.ts +22 -11
  690. package/src/elements/base/SwcHTMLDListElementBase.ts +22 -11
  691. package/src/elements/base/SwcHTMLDataElementBase.ts +22 -11
  692. package/src/elements/base/SwcHTMLDataListElementBase.ts +22 -11
  693. package/src/elements/base/SwcHTMLDetailsElementBase.ts +22 -11
  694. package/src/elements/base/SwcHTMLDialogElementBase.ts +22 -11
  695. package/src/elements/base/SwcHTMLDivElementBase.ts +22 -11
  696. package/src/elements/base/SwcHTMLElementBase.ts +22 -11
  697. package/src/elements/base/SwcHTMLEmbedElementBase.ts +22 -11
  698. package/src/elements/base/SwcHTMLFieldSetElementBase.ts +22 -11
  699. package/src/elements/base/SwcHTMLFormElementBase.ts +22 -11
  700. package/src/elements/base/SwcHTMLHRElementBase.ts +22 -11
  701. package/src/elements/base/SwcHTMLHeadingElementBase.ts +22 -11
  702. package/src/elements/base/SwcHTMLIFrameElementBase.ts +22 -11
  703. package/src/elements/base/SwcHTMLImageElementBase.ts +22 -11
  704. package/src/elements/base/SwcHTMLInputElementBase.ts +22 -11
  705. package/src/elements/base/SwcHTMLLIElementBase.ts +22 -11
  706. package/src/elements/base/SwcHTMLLabelElementBase.ts +22 -11
  707. package/src/elements/base/SwcHTMLLegendElementBase.ts +22 -11
  708. package/src/elements/base/SwcHTMLLinkElementBase.ts +22 -11
  709. package/src/elements/base/SwcHTMLMapElementBase.ts +22 -11
  710. package/src/elements/base/SwcHTMLMetaElementBase.ts +22 -11
  711. package/src/elements/base/SwcHTMLMeterElementBase.ts +22 -11
  712. package/src/elements/base/SwcHTMLModElementBase.ts +22 -11
  713. package/src/elements/base/SwcHTMLOListElementBase.ts +22 -11
  714. package/src/elements/base/SwcHTMLObjectElementBase.ts +22 -11
  715. package/src/elements/base/SwcHTMLOptGroupElementBase.ts +22 -11
  716. package/src/elements/base/SwcHTMLOptionElementBase.ts +22 -11
  717. package/src/elements/base/SwcHTMLOutputElementBase.ts +22 -11
  718. package/src/elements/base/SwcHTMLParagraphElementBase.ts +22 -11
  719. package/src/elements/base/SwcHTMLParamElementBase.ts +22 -11
  720. package/src/elements/base/SwcHTMLPictureElementBase.ts +22 -11
  721. package/src/elements/base/SwcHTMLPreElementBase.ts +22 -11
  722. package/src/elements/base/SwcHTMLProgressElementBase.ts +22 -11
  723. package/src/elements/base/SwcHTMLQuoteElementBase.ts +22 -11
  724. package/src/elements/base/SwcHTMLScriptElementBase.ts +22 -11
  725. package/src/elements/base/SwcHTMLSelectElementBase.ts +22 -11
  726. package/src/elements/base/SwcHTMLSlotElementBase.ts +22 -11
  727. package/src/elements/base/SwcHTMLSourceElementBase.ts +22 -11
  728. package/src/elements/base/SwcHTMLSpanElementBase.ts +22 -11
  729. package/src/elements/base/SwcHTMLStyleElementBase.ts +22 -11
  730. package/src/elements/base/SwcHTMLTableCellElementBase.ts +22 -11
  731. package/src/elements/base/SwcHTMLTableElementBase.ts +22 -11
  732. package/src/elements/base/SwcHTMLTableRowElementBase.ts +22 -11
  733. package/src/elements/base/SwcHTMLTableSectionElementBase.ts +22 -11
  734. package/src/elements/base/SwcHTMLTemplateElementBase.ts +22 -11
  735. package/src/elements/base/SwcHTMLTextAreaElementBase.ts +22 -11
  736. package/src/elements/base/SwcHTMLTimeElementBase.ts +22 -11
  737. package/src/elements/base/SwcHTMLTitleElementBase.ts +22 -11
  738. package/src/elements/base/SwcHTMLTrackElementBase.ts +22 -11
  739. package/src/elements/base/SwcHTMLUListElementBase.ts +22 -11
  740. package/src/elements/base/SwcHTMLVideoElementBase.ts +22 -11
  741. package/src/elements/index.ts +1 -0
  742. package/src/index.ts +2 -17
  743. package/src/utils/Utils.ts +57 -0
  744. package/dist/cjs/elements/SwcAppInterface.js +0 -16
  745. package/dist/cjs/elements/SwcAppInterface.js.map +0 -7
  746. package/dist/cjs/elements/SwcHTMLElementInterface.js +0 -16
  747. package/dist/cjs/elements/SwcHTMLElementInterface.js.map +0 -7
  748. package/dist/esm/elements/SwcAppInterface.js +0 -1
  749. package/dist/esm/elements/SwcAppInterface.js.map +0 -7
  750. package/dist/esm/elements/SwcHTMLElementInterface.js +0 -1
  751. package/dist/esm/elements/SwcHTMLElementInterface.js.map +0 -7
  752. package/dist/types/elements/SwcAppInterface.d.ts +0 -15
  753. package/dist/types/elements/SwcAppInterface.d.ts.map +0 -1
  754. package/dist/types/elements/SwcHTMLElementInterface.d.ts +0 -9
  755. package/dist/types/elements/SwcHTMLElementInterface.d.ts.map +0 -1
  756. package/src/elements/SwcAppInterface.ts +0 -19
  757. package/src/elements/SwcHTMLElementInterface.ts +0 -9
@@ -30,24 +30,33 @@ class SwcHTMLDListElementBase extends HTMLDListElement {
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/SwcHTMLDListElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDListElementBase extends HTMLDListElement 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 SwcHTMLDListElementBase extends HTMLDListElement 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 SwcHTMLDataElementBase extends HTMLDataElement {
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/SwcHTMLDataElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDataElementBase extends HTMLDataElement 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 SwcHTMLDataElementBase extends HTMLDataElement 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 SwcHTMLDataListElementBase extends HTMLDataListElement {
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/SwcHTMLDataListElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDataListElementBase extends HTMLDataListElement 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,mCAAmC,oBAAuD;AAAA,EAO9G,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 SwcHTMLDataListElementBase extends HTMLDataListElement 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,mCAAmC,oBAAuD;AAAA,EAO9G,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 SwcHTMLDetailsElementBase extends HTMLDetailsElement {
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/SwcHTMLDetailsElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDetailsElementBase extends HTMLDetailsElement 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,kCAAkC,mBAAsD;AAAA,EAO5G,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 SwcHTMLDetailsElementBase extends HTMLDetailsElement 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,kCAAkC,mBAAsD;AAAA,EAO5G,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 SwcHTMLDialogElementBase extends HTMLDialogElement {
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/SwcHTMLDialogElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDialogElementBase extends HTMLDialogElement 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 SwcHTMLDialogElementBase extends HTMLDialogElement 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 SwcHTMLDivElementBase extends HTMLDivElement {
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/SwcHTMLDivElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLDivElementBase extends HTMLDivElement 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,8BAA8B,eAAkD;AAAA,EAOpG,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 SwcHTMLDivElementBase extends HTMLDivElement 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,8BAA8B,eAAkD;AAAA,EAOpG,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 SwcHTMLElementBase extends HTMLElement {
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/SwcHTMLElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLElementBase extends HTMLElement 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,2BAA2B,YAA+C;AAAA,EAO9F,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 SwcHTMLElementBase extends HTMLElement 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,2BAA2B,YAA+C;AAAA,EAO9F,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 SwcHTMLEmbedElementBase extends HTMLEmbedElement {
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
  */