@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 SwcHTMLPictureElementBase extends HTMLPictureElement {
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/SwcHTMLPictureElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLPictureElementBase extends HTMLPictureElement 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 SwcHTMLPictureElementBase extends HTMLPictureElement 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 SwcHTMLPreElementBase extends HTMLPreElement {
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/SwcHTMLPreElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLPreElementBase extends HTMLPreElement 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 SwcHTMLPreElementBase extends HTMLPreElement 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 SwcHTMLProgressElementBase extends HTMLProgressElement {
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/SwcHTMLProgressElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLProgressElementBase extends HTMLProgressElement 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 SwcHTMLProgressElementBase extends HTMLProgressElement 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 SwcHTMLQuoteElementBase extends HTMLQuoteElement {
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/SwcHTMLQuoteElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLQuoteElementBase extends HTMLQuoteElement 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 SwcHTMLQuoteElementBase extends HTMLQuoteElement 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 SwcHTMLScriptElementBase extends HTMLScriptElement {
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/SwcHTMLScriptElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLScriptElementBase extends HTMLScriptElement 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 SwcHTMLScriptElementBase extends HTMLScriptElement 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 SwcHTMLSelectElementBase extends HTMLSelectElement {
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/SwcHTMLSelectElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLSelectElementBase extends HTMLSelectElement 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 SwcHTMLSelectElementBase extends HTMLSelectElement 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 SwcHTMLSlotElementBase extends HTMLSlotElement {
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/SwcHTMLSlotElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLSlotElementBase extends HTMLSlotElement 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 SwcHTMLSlotElementBase extends HTMLSlotElement 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 SwcHTMLSourceElementBase extends HTMLSourceElement {
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
  */