@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
@@ -8,24 +8,33 @@ class SwcHTMLOptGroupElementBase extends HTMLOptGroupElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLOptGroupElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLOptGroupElementBase extends HTMLOptGroupElement 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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLOptGroupElementBase extends HTMLOptGroupElement 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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLOptionElementBase extends HTMLOptionElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLOptionElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLOptionElementBase extends HTMLOptionElement 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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLOptionElementBase extends HTMLOptionElement 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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLOutputElementBase extends HTMLOutputElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLOutputElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLOutputElementBase extends HTMLOutputElement 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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLOutputElementBase extends HTMLOutputElement 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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLParagraphElementBase extends HTMLParagraphElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLParagraphElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLParagraphElementBase extends HTMLParagraphElement 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,SAAS,gBAAgB;AAIlB,MAAe,oCAAoC,qBAAwD;AAAA,EAOhH,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,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLParagraphElementBase extends HTMLParagraphElement 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,SAAS,gBAAgB;AAGlB,MAAe,oCAAoC,qBAAwD;AAAA,EAOhH,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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLParamElementBase extends HTMLParamElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/elements/base/SwcHTMLParamElementBase.ts"],
4
- "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface } from '../SwcAppInterface';\nimport { SwcHTMLElementInterface } from '../SwcHTMLElementInterface';\n\nexport abstract class SwcHTMLParamElementBase extends HTMLParamElement 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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { SwcUtils } from '../../utils/Utils';\nimport { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../SwcInterfaces';\n\nexport abstract class SwcHTMLParamElementBase extends HTMLParamElement 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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLPictureElementBase extends HTMLPictureElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLPreElementBase extends HTMLPreElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }
@@ -8,24 +8,33 @@ class SwcHTMLProgressElementBase extends HTMLProgressElement {
8
8
  this._asIndexKey = "index";
9
9
  this._isInitialized = false;
10
10
  }
11
- getNearAppHost() {
12
- const hosts = this.getHosts();
13
- return hosts.reverse().find((host) => host.tagName.toLowerCase() === "swc-app" || host.getAttribute("is")?.startsWith("swc-app-"));
11
+ getAppHost() {
12
+ return SwcUtils.getAppHost(this);
13
+ }
14
+ getAppHosts() {
15
+ return SwcUtils.getAppHosts(this);
16
+ }
17
+ getFirstAppHost() {
18
+ return SwcUtils.getFirstAppHost(this);
19
+ }
20
+ getLastAppHost() {
21
+ return SwcUtils.getLastAppHost(this);
14
22
  }
15
23
  getHosts() {
16
- return SwcUtils.findAllSwcHosts(this);
24
+ return SwcUtils.getHosts(this);
17
25
  }
18
26
  getHost() {
19
- const hosts = this.getHosts();
20
- return hosts.length > 0 ? hosts[hosts.length - 1] : void 0;
27
+ return SwcUtils.getHost(this);
21
28
  }
22
29
  getFirstHost() {
23
- const hosts = this.getHosts();
24
- return hosts.length > 0 ? hosts[0] : void 0;
30
+ return SwcUtils.getFirstHost(this);
25
31
  }
26
32
  getLastHost() {
27
33
  return this.getHost();
28
34
  }
35
+ getHostSet() {
36
+ return SwcUtils.getHostSet(this);
37
+ }
29
38
  /**
30
39
  * 상위 호스트 체인에서 모든 컨텍스트(데이터)를 수집합니다.
31
40
  */
@@ -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,SAAS,gBAAgB;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,SAAS,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,aAAS,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,SAAS,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,SAAS,gBAAgB;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,SAAS,WAAW,IAAI;AAAA,EACjC;AAAA,EAEO,cAAiC;AACtC,WAAO,SAAS,YAAY,IAAI;AAAA,EAClC;AAAA,EAEO,kBAA+C;AACpD,WAAO,SAAS,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEO,iBAA8C;AACnD,WAAO,SAAS,eAAe,IAAI;AAAA,EACrC;AAAA,EAEO,WAAsC;AAC3C,WAAO,SAAS,SAAS,IAAI;AAAA,EAC/B;AAAA,EAEO,UAA+C;AACpD,WAAO,SAAS,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEO,eAAoD;AACzD,WAAO,SAAS,aAAa,IAAI;AAAA,EACnC;AAAA,EAEO,cAAmD;AACxD,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEO,aAAsB;AAC3B,WAAO,SAAS,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,aAAS,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,SAAS,oBAAoB,QAAQ,UAAU,aAAa;AAAA,EACrE;AACF;",
6
6
  "names": []
7
7
  }