@dooboostore/simple-web-component 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (757) hide show
  1. package/README.md +11 -12
  2. package/dist/cjs/decorators/elementDefine.js +88 -82
  3. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  4. package/dist/cjs/decorators/index.js +26 -0
  5. package/dist/cjs/decorators/index.js.map +7 -0
  6. package/dist/cjs/elements/SwcInterfaces.js +35 -0
  7. package/dist/cjs/elements/SwcInterfaces.js.map +7 -0
  8. package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
  9. package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
  10. package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
  11. package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
  12. package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
  13. package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
  14. package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
  15. package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
  16. package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
  17. package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
  18. package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
  19. package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
  20. package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
  21. package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
  22. package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
  23. package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
  24. package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
  25. package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
  26. package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
  27. package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
  28. package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
  29. package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
  30. package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
  31. package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
  32. package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
  33. package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
  34. package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
  35. package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
  36. package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
  37. package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
  38. package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
  39. package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
  40. package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
  41. package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
  42. package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
  43. package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
  44. package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
  45. package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
  46. package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
  47. package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
  48. package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
  49. package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
  50. package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
  51. package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
  52. package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
  53. package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
  54. package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
  55. package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
  56. package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
  57. package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
  58. package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
  59. package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
  60. package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
  61. package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
  62. package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
  63. package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
  64. package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
  65. package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
  66. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  67. package/dist/cjs/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  68. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js +17 -8
  69. package/dist/cjs/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  70. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js +17 -8
  71. package/dist/cjs/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  72. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js +17 -8
  73. package/dist/cjs/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  74. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js +17 -8
  75. package/dist/cjs/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  76. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js +17 -8
  77. package/dist/cjs/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  78. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  79. package/dist/cjs/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  80. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js +17 -8
  81. package/dist/cjs/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  82. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js +17 -8
  83. package/dist/cjs/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  84. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js +17 -8
  85. package/dist/cjs/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  86. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  87. package/dist/cjs/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  88. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js +17 -8
  89. package/dist/cjs/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  90. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js +17 -8
  91. package/dist/cjs/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  92. package/dist/cjs/elements/base/SwcHTMLElementBase.js +17 -8
  93. package/dist/cjs/elements/base/SwcHTMLElementBase.js.map +2 -2
  94. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  95. package/dist/cjs/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  96. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  97. package/dist/cjs/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  98. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js +17 -8
  99. package/dist/cjs/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  100. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js +17 -8
  101. package/dist/cjs/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  102. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  103. package/dist/cjs/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  104. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  105. package/dist/cjs/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  106. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js +17 -8
  107. package/dist/cjs/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  108. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js +17 -8
  109. package/dist/cjs/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  110. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js +17 -8
  111. package/dist/cjs/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  112. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js +17 -8
  113. package/dist/cjs/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  114. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js +17 -8
  115. package/dist/cjs/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  116. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js +17 -8
  117. package/dist/cjs/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  118. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js +17 -8
  119. package/dist/cjs/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  120. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js +17 -8
  121. package/dist/cjs/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  122. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js +17 -8
  123. package/dist/cjs/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  124. package/dist/cjs/elements/base/SwcHTMLModElementBase.js +17 -8
  125. package/dist/cjs/elements/base/SwcHTMLModElementBase.js.map +2 -2
  126. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js +17 -8
  127. package/dist/cjs/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  128. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js +17 -8
  129. package/dist/cjs/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  130. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  131. package/dist/cjs/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  132. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js +17 -8
  133. package/dist/cjs/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  134. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js +17 -8
  135. package/dist/cjs/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  136. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  137. package/dist/cjs/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  138. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js +17 -8
  139. package/dist/cjs/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  140. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js +17 -8
  141. package/dist/cjs/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  142. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js +17 -8
  143. package/dist/cjs/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  144. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js +17 -8
  145. package/dist/cjs/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  146. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  147. package/dist/cjs/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  148. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js +17 -8
  149. package/dist/cjs/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  150. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js +17 -8
  151. package/dist/cjs/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  152. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js +17 -8
  153. package/dist/cjs/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  154. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js +17 -8
  155. package/dist/cjs/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  156. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js +17 -8
  157. package/dist/cjs/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  158. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js +17 -8
  159. package/dist/cjs/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  160. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  161. package/dist/cjs/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  162. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js +17 -8
  163. package/dist/cjs/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  164. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  165. package/dist/cjs/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  166. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  167. package/dist/cjs/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  168. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  169. package/dist/cjs/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  170. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  171. package/dist/cjs/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  172. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js +17 -8
  173. package/dist/cjs/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  174. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js +17 -8
  175. package/dist/cjs/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  176. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js +17 -8
  177. package/dist/cjs/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  178. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js +17 -8
  179. package/dist/cjs/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  180. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js +17 -8
  181. package/dist/cjs/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  182. package/dist/cjs/elements/index.js +1 -0
  183. package/dist/cjs/elements/index.js.map +2 -2
  184. package/dist/cjs/index.js +2 -17
  185. package/dist/cjs/index.js.map +2 -2
  186. package/dist/cjs/utils/Utils.js +44 -0
  187. package/dist/cjs/utils/Utils.js.map +2 -2
  188. package/dist/esm/decorators/elementDefine.js +88 -82
  189. package/dist/esm/decorators/elementDefine.js.map +3 -3
  190. package/dist/esm/decorators/index.js +10 -0
  191. package/dist/esm/decorators/index.js.map +7 -0
  192. package/dist/esm/elements/SwcInterfaces.js +16 -0
  193. package/dist/esm/elements/SwcInterfaces.js.map +7 -0
  194. package/dist/esm/elements/apps/SwcApp.js.map +2 -2
  195. package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
  196. package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
  197. package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
  198. package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
  199. package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
  200. package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
  201. package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
  202. package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
  203. package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
  204. package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
  205. package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
  206. package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
  207. package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
  208. package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
  209. package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
  210. package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
  211. package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
  212. package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
  213. package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
  214. package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
  215. package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
  216. package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
  217. package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
  218. package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
  219. package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
  220. package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
  221. package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
  222. package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
  223. package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
  224. package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
  225. package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
  226. package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
  227. package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
  228. package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
  229. package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
  230. package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
  231. package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
  232. package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
  233. package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
  234. package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
  235. package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
  236. package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
  237. package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
  238. package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
  239. package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
  240. package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
  241. package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
  242. package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
  243. package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
  244. package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
  245. package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
  246. package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
  247. package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
  248. package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
  249. package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
  250. package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
  251. package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
  252. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js +17 -8
  253. package/dist/esm/elements/base/SwcHTMLAnchorElementBase.js.map +2 -2
  254. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js +17 -8
  255. package/dist/esm/elements/base/SwcHTMLAreaElementBase.js.map +2 -2
  256. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js +17 -8
  257. package/dist/esm/elements/base/SwcHTMLAudioElementBase.js.map +2 -2
  258. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js +17 -8
  259. package/dist/esm/elements/base/SwcHTMLBaseElementBase.js.map +2 -2
  260. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js +17 -8
  261. package/dist/esm/elements/base/SwcHTMLBodyElementBase.js.map +2 -2
  262. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js +17 -8
  263. package/dist/esm/elements/base/SwcHTMLButtonElementBase.js.map +2 -2
  264. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js +17 -8
  265. package/dist/esm/elements/base/SwcHTMLCanvasElementBase.js.map +2 -2
  266. package/dist/esm/elements/base/SwcHTMLDListElementBase.js +17 -8
  267. package/dist/esm/elements/base/SwcHTMLDListElementBase.js.map +2 -2
  268. package/dist/esm/elements/base/SwcHTMLDataElementBase.js +17 -8
  269. package/dist/esm/elements/base/SwcHTMLDataElementBase.js.map +2 -2
  270. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js +17 -8
  271. package/dist/esm/elements/base/SwcHTMLDataListElementBase.js.map +2 -2
  272. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js +17 -8
  273. package/dist/esm/elements/base/SwcHTMLDetailsElementBase.js.map +2 -2
  274. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js +17 -8
  275. package/dist/esm/elements/base/SwcHTMLDialogElementBase.js.map +2 -2
  276. package/dist/esm/elements/base/SwcHTMLDivElementBase.js +17 -8
  277. package/dist/esm/elements/base/SwcHTMLDivElementBase.js.map +2 -2
  278. package/dist/esm/elements/base/SwcHTMLElementBase.js +17 -8
  279. package/dist/esm/elements/base/SwcHTMLElementBase.js.map +2 -2
  280. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js +17 -8
  281. package/dist/esm/elements/base/SwcHTMLEmbedElementBase.js.map +2 -2
  282. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js +17 -8
  283. package/dist/esm/elements/base/SwcHTMLFieldSetElementBase.js.map +2 -2
  284. package/dist/esm/elements/base/SwcHTMLFormElementBase.js +17 -8
  285. package/dist/esm/elements/base/SwcHTMLFormElementBase.js.map +2 -2
  286. package/dist/esm/elements/base/SwcHTMLHRElementBase.js +17 -8
  287. package/dist/esm/elements/base/SwcHTMLHRElementBase.js.map +2 -2
  288. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js +17 -8
  289. package/dist/esm/elements/base/SwcHTMLHeadingElementBase.js.map +2 -2
  290. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js +17 -8
  291. package/dist/esm/elements/base/SwcHTMLIFrameElementBase.js.map +2 -2
  292. package/dist/esm/elements/base/SwcHTMLImageElementBase.js +17 -8
  293. package/dist/esm/elements/base/SwcHTMLImageElementBase.js.map +2 -2
  294. package/dist/esm/elements/base/SwcHTMLInputElementBase.js +17 -8
  295. package/dist/esm/elements/base/SwcHTMLInputElementBase.js.map +2 -2
  296. package/dist/esm/elements/base/SwcHTMLLIElementBase.js +17 -8
  297. package/dist/esm/elements/base/SwcHTMLLIElementBase.js.map +2 -2
  298. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js +17 -8
  299. package/dist/esm/elements/base/SwcHTMLLabelElementBase.js.map +2 -2
  300. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js +17 -8
  301. package/dist/esm/elements/base/SwcHTMLLegendElementBase.js.map +2 -2
  302. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js +17 -8
  303. package/dist/esm/elements/base/SwcHTMLLinkElementBase.js.map +2 -2
  304. package/dist/esm/elements/base/SwcHTMLMapElementBase.js +17 -8
  305. package/dist/esm/elements/base/SwcHTMLMapElementBase.js.map +2 -2
  306. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js +17 -8
  307. package/dist/esm/elements/base/SwcHTMLMetaElementBase.js.map +2 -2
  308. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js +17 -8
  309. package/dist/esm/elements/base/SwcHTMLMeterElementBase.js.map +2 -2
  310. package/dist/esm/elements/base/SwcHTMLModElementBase.js +17 -8
  311. package/dist/esm/elements/base/SwcHTMLModElementBase.js.map +2 -2
  312. package/dist/esm/elements/base/SwcHTMLOListElementBase.js +17 -8
  313. package/dist/esm/elements/base/SwcHTMLOListElementBase.js.map +2 -2
  314. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js +17 -8
  315. package/dist/esm/elements/base/SwcHTMLObjectElementBase.js.map +2 -2
  316. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js +17 -8
  317. package/dist/esm/elements/base/SwcHTMLOptGroupElementBase.js.map +2 -2
  318. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js +17 -8
  319. package/dist/esm/elements/base/SwcHTMLOptionElementBase.js.map +2 -2
  320. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js +17 -8
  321. package/dist/esm/elements/base/SwcHTMLOutputElementBase.js.map +2 -2
  322. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js +17 -8
  323. package/dist/esm/elements/base/SwcHTMLParagraphElementBase.js.map +2 -2
  324. package/dist/esm/elements/base/SwcHTMLParamElementBase.js +17 -8
  325. package/dist/esm/elements/base/SwcHTMLParamElementBase.js.map +2 -2
  326. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js +17 -8
  327. package/dist/esm/elements/base/SwcHTMLPictureElementBase.js.map +2 -2
  328. package/dist/esm/elements/base/SwcHTMLPreElementBase.js +17 -8
  329. package/dist/esm/elements/base/SwcHTMLPreElementBase.js.map +2 -2
  330. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js +17 -8
  331. package/dist/esm/elements/base/SwcHTMLProgressElementBase.js.map +2 -2
  332. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js +17 -8
  333. package/dist/esm/elements/base/SwcHTMLQuoteElementBase.js.map +2 -2
  334. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js +17 -8
  335. package/dist/esm/elements/base/SwcHTMLScriptElementBase.js.map +2 -2
  336. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js +17 -8
  337. package/dist/esm/elements/base/SwcHTMLSelectElementBase.js.map +2 -2
  338. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js +17 -8
  339. package/dist/esm/elements/base/SwcHTMLSlotElementBase.js.map +2 -2
  340. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js +17 -8
  341. package/dist/esm/elements/base/SwcHTMLSourceElementBase.js.map +2 -2
  342. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js +17 -8
  343. package/dist/esm/elements/base/SwcHTMLSpanElementBase.js.map +2 -2
  344. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js +17 -8
  345. package/dist/esm/elements/base/SwcHTMLStyleElementBase.js.map +2 -2
  346. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js +17 -8
  347. package/dist/esm/elements/base/SwcHTMLTableCellElementBase.js.map +2 -2
  348. package/dist/esm/elements/base/SwcHTMLTableElementBase.js +17 -8
  349. package/dist/esm/elements/base/SwcHTMLTableElementBase.js.map +2 -2
  350. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js +17 -8
  351. package/dist/esm/elements/base/SwcHTMLTableRowElementBase.js.map +2 -2
  352. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js +17 -8
  353. package/dist/esm/elements/base/SwcHTMLTableSectionElementBase.js.map +2 -2
  354. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js +17 -8
  355. package/dist/esm/elements/base/SwcHTMLTemplateElementBase.js.map +2 -2
  356. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js +17 -8
  357. package/dist/esm/elements/base/SwcHTMLTextAreaElementBase.js.map +2 -2
  358. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js +17 -8
  359. package/dist/esm/elements/base/SwcHTMLTimeElementBase.js.map +2 -2
  360. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js +17 -8
  361. package/dist/esm/elements/base/SwcHTMLTitleElementBase.js.map +2 -2
  362. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js +17 -8
  363. package/dist/esm/elements/base/SwcHTMLTrackElementBase.js.map +2 -2
  364. package/dist/esm/elements/base/SwcHTMLUListElementBase.js +17 -8
  365. package/dist/esm/elements/base/SwcHTMLUListElementBase.js.map +2 -2
  366. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js +17 -8
  367. package/dist/esm/elements/base/SwcHTMLVideoElementBase.js.map +2 -2
  368. package/dist/esm/elements/index.js +1 -0
  369. package/dist/esm/elements/index.js.map +2 -2
  370. package/dist/esm/index.js +2 -17
  371. package/dist/esm/index.js.map +2 -2
  372. package/dist/esm/utils/Utils.js +44 -0
  373. package/dist/esm/utils/Utils.js.map +2 -2
  374. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2402 -1816
  375. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  376. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  377. package/dist/types/decorators/index.d.ts +10 -0
  378. package/dist/types/decorators/index.d.ts.map +1 -0
  379. package/dist/types/elements/SwcInterfaces.d.ts +46 -0
  380. package/dist/types/elements/SwcInterfaces.d.ts.map +1 -0
  381. package/dist/types/elements/apps/SwcApp.d.ts +1 -1
  382. package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
  383. package/dist/types/elements/apps/SwcAppAnchor.d.ts +1 -1
  384. package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
  385. package/dist/types/elements/apps/SwcAppArea.d.ts +1 -1
  386. package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
  387. package/dist/types/elements/apps/SwcAppAudio.d.ts +1 -1
  388. package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
  389. package/dist/types/elements/apps/SwcAppBase.d.ts +1 -1
  390. package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
  391. package/dist/types/elements/apps/SwcAppBody.d.ts +1 -1
  392. package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
  393. package/dist/types/elements/apps/SwcAppButton.d.ts +1 -1
  394. package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
  395. package/dist/types/elements/apps/SwcAppCanvas.d.ts +1 -1
  396. package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
  397. package/dist/types/elements/apps/SwcAppData.d.ts +1 -1
  398. package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
  399. package/dist/types/elements/apps/SwcAppDataList.d.ts +1 -1
  400. package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
  401. package/dist/types/elements/apps/SwcAppDetails.d.ts +1 -1
  402. package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
  403. package/dist/types/elements/apps/SwcAppDialog.d.ts +1 -1
  404. package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
  405. package/dist/types/elements/apps/SwcAppDiv.d.ts +1 -1
  406. package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
  407. package/dist/types/elements/apps/SwcAppDl.d.ts +1 -1
  408. package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
  409. package/dist/types/elements/apps/SwcAppEmbed.d.ts +1 -1
  410. package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
  411. package/dist/types/elements/apps/SwcAppFieldSet.d.ts +1 -1
  412. package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
  413. package/dist/types/elements/apps/SwcAppForm.d.ts +1 -1
  414. package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
  415. package/dist/types/elements/apps/SwcAppHeading.d.ts +1 -1
  416. package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
  417. package/dist/types/elements/apps/SwcAppHr.d.ts +1 -1
  418. package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
  419. package/dist/types/elements/apps/SwcAppIFrame.d.ts +1 -1
  420. package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
  421. package/dist/types/elements/apps/SwcAppImage.d.ts +1 -1
  422. package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
  423. package/dist/types/elements/apps/SwcAppInput.d.ts +1 -1
  424. package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
  425. package/dist/types/elements/apps/SwcAppLabel.d.ts +1 -1
  426. package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
  427. package/dist/types/elements/apps/SwcAppLegend.d.ts +1 -1
  428. package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
  429. package/dist/types/elements/apps/SwcAppLi.d.ts +1 -1
  430. package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
  431. package/dist/types/elements/apps/SwcAppLink.d.ts +1 -1
  432. package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
  433. package/dist/types/elements/apps/SwcAppMap.d.ts +1 -1
  434. package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
  435. package/dist/types/elements/apps/SwcAppMeta.d.ts +1 -1
  436. package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
  437. package/dist/types/elements/apps/SwcAppMeter.d.ts +1 -1
  438. package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
  439. package/dist/types/elements/apps/SwcAppMod.d.ts +1 -1
  440. package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
  441. package/dist/types/elements/apps/SwcAppObject.d.ts +1 -1
  442. package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
  443. package/dist/types/elements/apps/SwcAppOl.d.ts +1 -1
  444. package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
  445. package/dist/types/elements/apps/SwcAppOptGroup.d.ts +1 -1
  446. package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
  447. package/dist/types/elements/apps/SwcAppOption.d.ts +1 -1
  448. package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
  449. package/dist/types/elements/apps/SwcAppOutput.d.ts +1 -1
  450. package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
  451. package/dist/types/elements/apps/SwcAppParagraph.d.ts +1 -1
  452. package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
  453. package/dist/types/elements/apps/SwcAppParam.d.ts +1 -1
  454. package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
  455. package/dist/types/elements/apps/SwcAppPicture.d.ts +1 -1
  456. package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
  457. package/dist/types/elements/apps/SwcAppPre.d.ts +1 -1
  458. package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
  459. package/dist/types/elements/apps/SwcAppProgress.d.ts +1 -1
  460. package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
  461. package/dist/types/elements/apps/SwcAppQuote.d.ts +1 -1
  462. package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
  463. package/dist/types/elements/apps/SwcAppScript.d.ts +1 -1
  464. package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
  465. package/dist/types/elements/apps/SwcAppSelect.d.ts +1 -1
  466. package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
  467. package/dist/types/elements/apps/SwcAppSlot.d.ts +1 -1
  468. package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
  469. package/dist/types/elements/apps/SwcAppSource.d.ts +1 -1
  470. package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
  471. package/dist/types/elements/apps/SwcAppSpan.d.ts +1 -1
  472. package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
  473. package/dist/types/elements/apps/SwcAppStyle.d.ts +1 -1
  474. package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
  475. package/dist/types/elements/apps/SwcAppTable.d.ts +1 -1
  476. package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
  477. package/dist/types/elements/apps/SwcAppTableCell.d.ts +1 -1
  478. package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
  479. package/dist/types/elements/apps/SwcAppTableRow.d.ts +1 -1
  480. package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
  481. package/dist/types/elements/apps/SwcAppTableSection.d.ts +1 -1
  482. package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
  483. package/dist/types/elements/apps/SwcAppTemplate.d.ts +1 -1
  484. package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
  485. package/dist/types/elements/apps/SwcAppTextArea.d.ts +1 -1
  486. package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
  487. package/dist/types/elements/apps/SwcAppTime.d.ts +1 -1
  488. package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
  489. package/dist/types/elements/apps/SwcAppTitle.d.ts +1 -1
  490. package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
  491. package/dist/types/elements/apps/SwcAppTrack.d.ts +1 -1
  492. package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
  493. package/dist/types/elements/apps/SwcAppUl.d.ts +1 -1
  494. package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
  495. package/dist/types/elements/apps/SwcAppVideo.d.ts +1 -1
  496. package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
  497. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts +6 -3
  498. package/dist/types/elements/base/SwcHTMLAnchorElementBase.d.ts.map +1 -1
  499. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts +6 -3
  500. package/dist/types/elements/base/SwcHTMLAreaElementBase.d.ts.map +1 -1
  501. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts +6 -3
  502. package/dist/types/elements/base/SwcHTMLAudioElementBase.d.ts.map +1 -1
  503. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts +6 -3
  504. package/dist/types/elements/base/SwcHTMLBaseElementBase.d.ts.map +1 -1
  505. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts +6 -3
  506. package/dist/types/elements/base/SwcHTMLBodyElementBase.d.ts.map +1 -1
  507. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts +6 -3
  508. package/dist/types/elements/base/SwcHTMLButtonElementBase.d.ts.map +1 -1
  509. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts +6 -3
  510. package/dist/types/elements/base/SwcHTMLCanvasElementBase.d.ts.map +1 -1
  511. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts +6 -3
  512. package/dist/types/elements/base/SwcHTMLDListElementBase.d.ts.map +1 -1
  513. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts +6 -3
  514. package/dist/types/elements/base/SwcHTMLDataElementBase.d.ts.map +1 -1
  515. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts +6 -3
  516. package/dist/types/elements/base/SwcHTMLDataListElementBase.d.ts.map +1 -1
  517. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts +6 -3
  518. package/dist/types/elements/base/SwcHTMLDetailsElementBase.d.ts.map +1 -1
  519. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts +6 -3
  520. package/dist/types/elements/base/SwcHTMLDialogElementBase.d.ts.map +1 -1
  521. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts +6 -3
  522. package/dist/types/elements/base/SwcHTMLDivElementBase.d.ts.map +1 -1
  523. package/dist/types/elements/base/SwcHTMLElementBase.d.ts +6 -3
  524. package/dist/types/elements/base/SwcHTMLElementBase.d.ts.map +1 -1
  525. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts +6 -3
  526. package/dist/types/elements/base/SwcHTMLEmbedElementBase.d.ts.map +1 -1
  527. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts +6 -3
  528. package/dist/types/elements/base/SwcHTMLFieldSetElementBase.d.ts.map +1 -1
  529. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts +6 -3
  530. package/dist/types/elements/base/SwcHTMLFormElementBase.d.ts.map +1 -1
  531. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts +6 -3
  532. package/dist/types/elements/base/SwcHTMLHRElementBase.d.ts.map +1 -1
  533. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts +6 -3
  534. package/dist/types/elements/base/SwcHTMLHeadingElementBase.d.ts.map +1 -1
  535. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts +6 -3
  536. package/dist/types/elements/base/SwcHTMLIFrameElementBase.d.ts.map +1 -1
  537. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts +6 -3
  538. package/dist/types/elements/base/SwcHTMLImageElementBase.d.ts.map +1 -1
  539. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts +6 -3
  540. package/dist/types/elements/base/SwcHTMLInputElementBase.d.ts.map +1 -1
  541. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts +6 -3
  542. package/dist/types/elements/base/SwcHTMLLIElementBase.d.ts.map +1 -1
  543. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts +6 -3
  544. package/dist/types/elements/base/SwcHTMLLabelElementBase.d.ts.map +1 -1
  545. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts +6 -3
  546. package/dist/types/elements/base/SwcHTMLLegendElementBase.d.ts.map +1 -1
  547. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts +6 -3
  548. package/dist/types/elements/base/SwcHTMLLinkElementBase.d.ts.map +1 -1
  549. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts +6 -3
  550. package/dist/types/elements/base/SwcHTMLMapElementBase.d.ts.map +1 -1
  551. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts +6 -3
  552. package/dist/types/elements/base/SwcHTMLMetaElementBase.d.ts.map +1 -1
  553. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts +6 -3
  554. package/dist/types/elements/base/SwcHTMLMeterElementBase.d.ts.map +1 -1
  555. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts +6 -3
  556. package/dist/types/elements/base/SwcHTMLModElementBase.d.ts.map +1 -1
  557. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts +6 -3
  558. package/dist/types/elements/base/SwcHTMLOListElementBase.d.ts.map +1 -1
  559. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts +6 -3
  560. package/dist/types/elements/base/SwcHTMLObjectElementBase.d.ts.map +1 -1
  561. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts +6 -3
  562. package/dist/types/elements/base/SwcHTMLOptGroupElementBase.d.ts.map +1 -1
  563. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts +6 -3
  564. package/dist/types/elements/base/SwcHTMLOptionElementBase.d.ts.map +1 -1
  565. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts +6 -3
  566. package/dist/types/elements/base/SwcHTMLOutputElementBase.d.ts.map +1 -1
  567. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts +6 -3
  568. package/dist/types/elements/base/SwcHTMLParagraphElementBase.d.ts.map +1 -1
  569. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts +6 -3
  570. package/dist/types/elements/base/SwcHTMLParamElementBase.d.ts.map +1 -1
  571. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts +6 -3
  572. package/dist/types/elements/base/SwcHTMLPictureElementBase.d.ts.map +1 -1
  573. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts +6 -3
  574. package/dist/types/elements/base/SwcHTMLPreElementBase.d.ts.map +1 -1
  575. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts +6 -3
  576. package/dist/types/elements/base/SwcHTMLProgressElementBase.d.ts.map +1 -1
  577. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts +6 -3
  578. package/dist/types/elements/base/SwcHTMLQuoteElementBase.d.ts.map +1 -1
  579. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts +6 -3
  580. package/dist/types/elements/base/SwcHTMLScriptElementBase.d.ts.map +1 -1
  581. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts +6 -3
  582. package/dist/types/elements/base/SwcHTMLSelectElementBase.d.ts.map +1 -1
  583. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts +6 -3
  584. package/dist/types/elements/base/SwcHTMLSlotElementBase.d.ts.map +1 -1
  585. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts +6 -3
  586. package/dist/types/elements/base/SwcHTMLSourceElementBase.d.ts.map +1 -1
  587. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts +6 -3
  588. package/dist/types/elements/base/SwcHTMLSpanElementBase.d.ts.map +1 -1
  589. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts +6 -3
  590. package/dist/types/elements/base/SwcHTMLStyleElementBase.d.ts.map +1 -1
  591. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts +6 -3
  592. package/dist/types/elements/base/SwcHTMLTableCellElementBase.d.ts.map +1 -1
  593. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts +6 -3
  594. package/dist/types/elements/base/SwcHTMLTableElementBase.d.ts.map +1 -1
  595. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts +6 -3
  596. package/dist/types/elements/base/SwcHTMLTableRowElementBase.d.ts.map +1 -1
  597. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts +6 -3
  598. package/dist/types/elements/base/SwcHTMLTableSectionElementBase.d.ts.map +1 -1
  599. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts +6 -3
  600. package/dist/types/elements/base/SwcHTMLTemplateElementBase.d.ts.map +1 -1
  601. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts +6 -3
  602. package/dist/types/elements/base/SwcHTMLTextAreaElementBase.d.ts.map +1 -1
  603. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts +6 -3
  604. package/dist/types/elements/base/SwcHTMLTimeElementBase.d.ts.map +1 -1
  605. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts +6 -3
  606. package/dist/types/elements/base/SwcHTMLTitleElementBase.d.ts.map +1 -1
  607. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts +6 -3
  608. package/dist/types/elements/base/SwcHTMLTrackElementBase.d.ts.map +1 -1
  609. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts +6 -3
  610. package/dist/types/elements/base/SwcHTMLUListElementBase.d.ts.map +1 -1
  611. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts +6 -3
  612. package/dist/types/elements/base/SwcHTMLVideoElementBase.d.ts.map +1 -1
  613. package/dist/types/elements/index.d.ts +1 -0
  614. package/dist/types/elements/index.d.ts.map +1 -1
  615. package/dist/types/index.d.ts +2 -17
  616. package/dist/types/index.d.ts.map +1 -1
  617. package/dist/types/utils/Utils.d.ts +9 -0
  618. package/dist/types/utils/Utils.d.ts.map +1 -1
  619. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2402 -1816
  620. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  621. package/package.json +3 -3
  622. package/src/decorators/elementDefine.ts +97 -141
  623. package/src/decorators/index.ts +9 -0
  624. package/src/elements/SwcInterfaces.ts +49 -0
  625. package/src/elements/apps/SwcApp.ts +3 -2
  626. package/src/elements/apps/SwcAppAnchor.ts +3 -2
  627. package/src/elements/apps/SwcAppArea.ts +3 -2
  628. package/src/elements/apps/SwcAppAudio.ts +3 -2
  629. package/src/elements/apps/SwcAppBase.ts +3 -2
  630. package/src/elements/apps/SwcAppBody.ts +3 -2
  631. package/src/elements/apps/SwcAppButton.ts +3 -2
  632. package/src/elements/apps/SwcAppCanvas.ts +3 -2
  633. package/src/elements/apps/SwcAppData.ts +3 -2
  634. package/src/elements/apps/SwcAppDataList.ts +3 -2
  635. package/src/elements/apps/SwcAppDetails.ts +3 -2
  636. package/src/elements/apps/SwcAppDialog.ts +3 -2
  637. package/src/elements/apps/SwcAppDiv.ts +3 -2
  638. package/src/elements/apps/SwcAppDl.ts +3 -2
  639. package/src/elements/apps/SwcAppEmbed.ts +3 -2
  640. package/src/elements/apps/SwcAppFieldSet.ts +3 -2
  641. package/src/elements/apps/SwcAppForm.ts +3 -2
  642. package/src/elements/apps/SwcAppHeading.ts +3 -2
  643. package/src/elements/apps/SwcAppHr.ts +3 -2
  644. package/src/elements/apps/SwcAppIFrame.ts +3 -2
  645. package/src/elements/apps/SwcAppImage.ts +3 -2
  646. package/src/elements/apps/SwcAppInput.ts +3 -2
  647. package/src/elements/apps/SwcAppLabel.ts +3 -2
  648. package/src/elements/apps/SwcAppLegend.ts +3 -2
  649. package/src/elements/apps/SwcAppLi.ts +3 -2
  650. package/src/elements/apps/SwcAppLink.ts +3 -2
  651. package/src/elements/apps/SwcAppMap.ts +3 -2
  652. package/src/elements/apps/SwcAppMeta.ts +3 -2
  653. package/src/elements/apps/SwcAppMeter.ts +3 -2
  654. package/src/elements/apps/SwcAppMod.ts +3 -2
  655. package/src/elements/apps/SwcAppObject.ts +3 -2
  656. package/src/elements/apps/SwcAppOl.ts +3 -2
  657. package/src/elements/apps/SwcAppOptGroup.ts +3 -2
  658. package/src/elements/apps/SwcAppOption.ts +3 -2
  659. package/src/elements/apps/SwcAppOutput.ts +3 -2
  660. package/src/elements/apps/SwcAppParagraph.ts +3 -2
  661. package/src/elements/apps/SwcAppParam.ts +3 -2
  662. package/src/elements/apps/SwcAppPicture.ts +3 -2
  663. package/src/elements/apps/SwcAppPre.ts +3 -2
  664. package/src/elements/apps/SwcAppProgress.ts +3 -2
  665. package/src/elements/apps/SwcAppQuote.ts +3 -2
  666. package/src/elements/apps/SwcAppScript.ts +3 -2
  667. package/src/elements/apps/SwcAppSelect.ts +3 -2
  668. package/src/elements/apps/SwcAppSlot.ts +3 -2
  669. package/src/elements/apps/SwcAppSource.ts +3 -2
  670. package/src/elements/apps/SwcAppSpan.ts +3 -2
  671. package/src/elements/apps/SwcAppStyle.ts +3 -2
  672. package/src/elements/apps/SwcAppTable.ts +3 -2
  673. package/src/elements/apps/SwcAppTableCell.ts +3 -2
  674. package/src/elements/apps/SwcAppTableRow.ts +3 -2
  675. package/src/elements/apps/SwcAppTableSection.ts +3 -2
  676. package/src/elements/apps/SwcAppTemplate.ts +3 -2
  677. package/src/elements/apps/SwcAppTextArea.ts +3 -2
  678. package/src/elements/apps/SwcAppTime.ts +3 -2
  679. package/src/elements/apps/SwcAppTitle.ts +3 -2
  680. package/src/elements/apps/SwcAppTrack.ts +3 -2
  681. package/src/elements/apps/SwcAppUl.ts +3 -2
  682. package/src/elements/apps/SwcAppVideo.ts +3 -2
  683. package/src/elements/base/SwcHTMLAnchorElementBase.ts +22 -11
  684. package/src/elements/base/SwcHTMLAreaElementBase.ts +22 -11
  685. package/src/elements/base/SwcHTMLAudioElementBase.ts +22 -11
  686. package/src/elements/base/SwcHTMLBaseElementBase.ts +22 -11
  687. package/src/elements/base/SwcHTMLBodyElementBase.ts +22 -11
  688. package/src/elements/base/SwcHTMLButtonElementBase.ts +22 -11
  689. package/src/elements/base/SwcHTMLCanvasElementBase.ts +22 -11
  690. package/src/elements/base/SwcHTMLDListElementBase.ts +22 -11
  691. package/src/elements/base/SwcHTMLDataElementBase.ts +22 -11
  692. package/src/elements/base/SwcHTMLDataListElementBase.ts +22 -11
  693. package/src/elements/base/SwcHTMLDetailsElementBase.ts +22 -11
  694. package/src/elements/base/SwcHTMLDialogElementBase.ts +22 -11
  695. package/src/elements/base/SwcHTMLDivElementBase.ts +22 -11
  696. package/src/elements/base/SwcHTMLElementBase.ts +22 -11
  697. package/src/elements/base/SwcHTMLEmbedElementBase.ts +22 -11
  698. package/src/elements/base/SwcHTMLFieldSetElementBase.ts +22 -11
  699. package/src/elements/base/SwcHTMLFormElementBase.ts +22 -11
  700. package/src/elements/base/SwcHTMLHRElementBase.ts +22 -11
  701. package/src/elements/base/SwcHTMLHeadingElementBase.ts +22 -11
  702. package/src/elements/base/SwcHTMLIFrameElementBase.ts +22 -11
  703. package/src/elements/base/SwcHTMLImageElementBase.ts +22 -11
  704. package/src/elements/base/SwcHTMLInputElementBase.ts +22 -11
  705. package/src/elements/base/SwcHTMLLIElementBase.ts +22 -11
  706. package/src/elements/base/SwcHTMLLabelElementBase.ts +22 -11
  707. package/src/elements/base/SwcHTMLLegendElementBase.ts +22 -11
  708. package/src/elements/base/SwcHTMLLinkElementBase.ts +22 -11
  709. package/src/elements/base/SwcHTMLMapElementBase.ts +22 -11
  710. package/src/elements/base/SwcHTMLMetaElementBase.ts +22 -11
  711. package/src/elements/base/SwcHTMLMeterElementBase.ts +22 -11
  712. package/src/elements/base/SwcHTMLModElementBase.ts +22 -11
  713. package/src/elements/base/SwcHTMLOListElementBase.ts +22 -11
  714. package/src/elements/base/SwcHTMLObjectElementBase.ts +22 -11
  715. package/src/elements/base/SwcHTMLOptGroupElementBase.ts +22 -11
  716. package/src/elements/base/SwcHTMLOptionElementBase.ts +22 -11
  717. package/src/elements/base/SwcHTMLOutputElementBase.ts +22 -11
  718. package/src/elements/base/SwcHTMLParagraphElementBase.ts +22 -11
  719. package/src/elements/base/SwcHTMLParamElementBase.ts +22 -11
  720. package/src/elements/base/SwcHTMLPictureElementBase.ts +22 -11
  721. package/src/elements/base/SwcHTMLPreElementBase.ts +22 -11
  722. package/src/elements/base/SwcHTMLProgressElementBase.ts +22 -11
  723. package/src/elements/base/SwcHTMLQuoteElementBase.ts +22 -11
  724. package/src/elements/base/SwcHTMLScriptElementBase.ts +22 -11
  725. package/src/elements/base/SwcHTMLSelectElementBase.ts +22 -11
  726. package/src/elements/base/SwcHTMLSlotElementBase.ts +22 -11
  727. package/src/elements/base/SwcHTMLSourceElementBase.ts +22 -11
  728. package/src/elements/base/SwcHTMLSpanElementBase.ts +22 -11
  729. package/src/elements/base/SwcHTMLStyleElementBase.ts +22 -11
  730. package/src/elements/base/SwcHTMLTableCellElementBase.ts +22 -11
  731. package/src/elements/base/SwcHTMLTableElementBase.ts +22 -11
  732. package/src/elements/base/SwcHTMLTableRowElementBase.ts +22 -11
  733. package/src/elements/base/SwcHTMLTableSectionElementBase.ts +22 -11
  734. package/src/elements/base/SwcHTMLTemplateElementBase.ts +22 -11
  735. package/src/elements/base/SwcHTMLTextAreaElementBase.ts +22 -11
  736. package/src/elements/base/SwcHTMLTimeElementBase.ts +22 -11
  737. package/src/elements/base/SwcHTMLTitleElementBase.ts +22 -11
  738. package/src/elements/base/SwcHTMLTrackElementBase.ts +22 -11
  739. package/src/elements/base/SwcHTMLUListElementBase.ts +22 -11
  740. package/src/elements/base/SwcHTMLVideoElementBase.ts +22 -11
  741. package/src/elements/index.ts +1 -0
  742. package/src/index.ts +2 -17
  743. package/src/utils/Utils.ts +57 -0
  744. package/dist/cjs/elements/SwcAppInterface.js +0 -16
  745. package/dist/cjs/elements/SwcAppInterface.js.map +0 -7
  746. package/dist/cjs/elements/SwcHTMLElementInterface.js +0 -16
  747. package/dist/cjs/elements/SwcHTMLElementInterface.js.map +0 -7
  748. package/dist/esm/elements/SwcAppInterface.js +0 -1
  749. package/dist/esm/elements/SwcAppInterface.js.map +0 -7
  750. package/dist/esm/elements/SwcHTMLElementInterface.js +0 -1
  751. package/dist/esm/elements/SwcHTMLElementInterface.js.map +0 -7
  752. package/dist/types/elements/SwcAppInterface.d.ts +0 -15
  753. package/dist/types/elements/SwcAppInterface.d.ts.map +0 -1
  754. package/dist/types/elements/SwcHTMLElementInterface.d.ts +0 -9
  755. package/dist/types/elements/SwcHTMLElementInterface.d.ts.map +0 -1
  756. package/src/elements/SwcAppInterface.ts +0 -19
  757. package/src/elements/SwcHTMLElementInterface.ts +0 -9
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/utils/Utils.ts"],
4
- "sourcesContent": ["export const SWC_NOT_FOUND = Symbol('SWC_NOT_FOUND');\n\nexport class SwcUtils {\n static getValueByPath(obj: any, path: string, rootName: string) {\n if (!obj || !path) return SWC_NOT_FOUND;\n\n const parts = path.split('.');\n\n // 1. If the path starts with the rootName (alias), strip it and resolve within obj\n if (parts[0] === rootName && parts.length > 1) {\n const subParts = parts.slice(1);\n let subResult = obj;\n for (const part of subParts) {\n if (subResult === null || typeof subResult !== 'object' || !(part in subResult)) return SWC_NOT_FOUND;\n subResult = subResult[part];\n }\n return subResult;\n }\n\n // 2. Fallback: resolve directly on obj (standard behavior)\n let result = obj;\n for (const part of parts) {\n if (result === null || typeof result !== 'object' || !(part in result)) {\n return SWC_NOT_FOUND;\n }\n result = result[part];\n }\n\n // Safety: don't return the instance itself or a DOM element as a template value\n if (result !== obj && !(result instanceof HTMLElement)) {\n return result;\n }\n\n return SWC_NOT_FOUND;\n }\n\n static evalExpression(expr: string, context: Record<string, any>): any {\n try {\n const keys = Object.keys(context);\n const values = Object.values(context);\n // eslint-disable-next-line no-new-func\n return new Function(...keys, `return (${expr})`).apply(null, values);\n } catch {\n return SWC_NOT_FOUND;\n }\n }\n\n static applyData(\n node: Node,\n data: any,\n options: {\n asKey: string;\n asIndexKey: string;\n index?: number;\n hostContext?: Record<string, any>;\n }\n ) {\n const { asKey, asIndexKey, index, hostContext } = options;\n const context: Record<string, any> = {};\n if (index !== undefined) {\n context[asIndexKey] = index;\n }\n if (data !== null && data !== undefined) {\n context[asKey] = data;\n context['value'] = data; // Always provide 'value' as well\n }\n const fullContext: Record<string, any> = { ...(hostContext || {}), ...context };\n\n const resolveExpr = (expr: string, match: string): string => {\n expr = expr.trim();\n // 1. Local path resolve\n const simpleVal = SwcUtils.getValueByPath(data, expr, asKey);\n if (simpleVal !== SWC_NOT_FOUND && typeof simpleVal !== 'symbol') {\n return simpleVal === null || simpleVal === undefined ? '' : String(simpleVal);\n }\n // 2. Full context eval (alias, host states, etc.)\n const exprVal = SwcUtils.evalExpression(expr, fullContext);\n if (exprVal !== SWC_NOT_FOUND && typeof exprVal !== 'symbol') {\n return exprVal === null || exprVal === undefined ? '' : String(exprVal);\n }\n return match;\n };\n\n const walk = (n: Node) => {\n if (n.nodeType === Node.TEXT_NODE) {\n if (!(n as any)._original) (n as any)._original = n.textContent;\n let text = (n as any)._original;\n text = text.replace(/{{(.*?)}}/g, (match: string, path: string) => {\n return resolveExpr(path, match);\n });\n if (n.textContent !== text) n.textContent = text;\n } else if (n.nodeType === Node.ELEMENT_NODE) {\n const el = n as HTMLElement;\n Array.from(el.attributes).forEach(a => {\n if (!(a as any)._original) (a as any)._original = a.value;\n let val = (a as any)._original;\n val = val.replace(/{{(.*?)}}/g, (match: string, path: string) => {\n return resolveExpr(path, match);\n });\n if (a.value !== val) a.value = val;\n });\n el.childNodes.forEach(walk);\n }\n };\n walk(node);\n }\n\n static createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n const makeRecursiveProxy = (obj: any): any => {\n if (typeof obj !== 'object' || obj === null || obj instanceof Node) return obj;\n if ((obj as any).__swc_is_proxy) return obj;\n\n const IS_PROXY_KEY = '__swc_is_proxy';\n\n const proxy = new Proxy(obj, {\n get: (t, prop) => {\n if (prop === IS_PROXY_KEY) return true;\n if (typeof prop === 'symbol') return t[prop];\n return t[prop];\n },\n set: (t, prop, val) => {\n if (prop === IS_PROXY_KEY) return true;\n if (typeof prop === 'symbol') {\n t[prop] = val;\n return true;\n }\n const oldVal = t[prop];\n if (oldVal === val) return true;\n t[prop] = makeRecursiveProxy(val);\n const isIndex = !isNaN(Number(prop)) && Array.isArray(t);\n if (isIndex && onIndexChange) {\n onIndexChange(Number(prop), val);\n } else {\n onChange();\n }\n return true;\n },\n deleteProperty: (t, prop) => {\n delete t[prop];\n onChange();\n return true;\n }\n });\n return proxy;\n };\n\n return makeRecursiveProxy(target);\n }\n\n static findNearestSwcHost(el: HTMLElement | Node): any {\n const hosts = this.findAllSwcHosts(el);\n return hosts.length > 0 ? hosts[hosts.length - 1] : null;\n }\n\n static findAllSwcHosts(el: HTMLElement | Node): any[] {\n const hosts: any[] = [];\n let curr: any = el instanceof Node && !(el instanceof HTMLElement) ? (el as any).host : el;\n curr = curr?.parentElement || (curr?.getRootNode() as any)?.host;\n\n while (curr) {\n if (curr._swcId) hosts.push(curr);\n curr = curr.parentElement || (curr?.getRootNode() as any)?.host;\n }\n return hosts.reverse();\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { SwcAppInterface, SwcHTMLElementInterface, HostSet } from '../elements/SwcInterfaces';\n\nexport const SWC_NOT_FOUND = Symbol('SWC_NOT_FOUND');\n\nexport class SwcUtils {\n static getValueByPath(obj: any, path: string, rootName: string) {\n if (!obj || !path) return SWC_NOT_FOUND;\n\n const parts = path.split('.');\n\n // 1. If the path starts with the rootName (alias), strip it and resolve within obj\n if (parts[0] === rootName && parts.length > 1) {\n const subParts = parts.slice(1);\n let subResult = obj;\n for (const part of subParts) {\n if (subResult === null || typeof subResult !== 'object' || !(part in subResult)) return SWC_NOT_FOUND;\n subResult = subResult[part];\n }\n return subResult;\n }\n\n // 2. Fallback: resolve directly on obj (standard behavior)\n let result = obj;\n for (const part of parts) {\n if (result === null || typeof result !== 'object' || !(part in result)) {\n return SWC_NOT_FOUND;\n }\n result = result[part];\n }\n\n // Safety: don't return the instance itself or a DOM element as a template value\n if (result !== obj && !(result instanceof HTMLElement)) {\n return result;\n }\n\n return SWC_NOT_FOUND;\n }\n\n static evalExpression(expr: string, context: Record<string, any>): any {\n try {\n const keys = Object.keys(context);\n const values = Object.values(context);\n // eslint-disable-next-line no-new-func\n return new Function(...keys, `return (${expr})`).apply(null, values);\n } catch {\n return SWC_NOT_FOUND;\n }\n }\n\n static applyData(\n node: Node,\n data: any,\n options: {\n asKey: string;\n asIndexKey: string;\n index?: number;\n hostContext?: Record<string, any>;\n }\n ) {\n const { asKey, asIndexKey, index, hostContext } = options;\n const context: Record<string, any> = {};\n if (index !== undefined) {\n context[asIndexKey] = index;\n }\n if (data !== null && data !== undefined) {\n context[asKey] = data;\n context['value'] = data; // Always provide 'value' as well\n }\n const fullContext: Record<string, any> = { ...(hostContext || {}), ...context };\n\n const resolveExpr = (expr: string, match: string): string => {\n expr = expr.trim();\n // 1. Local path resolve\n const simpleVal = SwcUtils.getValueByPath(data, expr, asKey);\n if (simpleVal !== SWC_NOT_FOUND && typeof simpleVal !== 'symbol') {\n return simpleVal === null || simpleVal === undefined ? '' : String(simpleVal);\n }\n // 2. Full context eval (alias, host states, etc.)\n const exprVal = SwcUtils.evalExpression(expr, fullContext);\n if (exprVal !== SWC_NOT_FOUND && typeof exprVal !== 'symbol') {\n return exprVal === null || exprVal === undefined ? '' : String(exprVal);\n }\n return match;\n };\n\n const walk = (n: Node) => {\n if (n.nodeType === Node.TEXT_NODE) {\n if (!(n as any)._original) (n as any)._original = n.textContent;\n let text = (n as any)._original;\n text = text.replace(/{{(.*?)}}/g, (match: string, path: string) => {\n return resolveExpr(path, match);\n });\n if (n.textContent !== text) n.textContent = text;\n } else if (n.nodeType === Node.ELEMENT_NODE) {\n const el = n as HTMLElement;\n Array.from(el.attributes).forEach(a => {\n if (!(a as any)._original) (a as any)._original = a.value;\n let val = (a as any)._original;\n val = val.replace(/{{(.*?)}}/g, (match: string, path: string) => {\n return resolveExpr(path, match);\n });\n if (a.value !== val) a.value = val;\n });\n el.childNodes.forEach(walk);\n }\n };\n walk(node);\n }\n\n static createReactiveProxy(target: any, onChange: () => void, onIndexChange?: (index: number, val: any) => void) {\n const makeRecursiveProxy = (obj: any): any => {\n if (typeof obj !== 'object' || obj === null || obj instanceof Node) return obj;\n if ((obj as any).__swc_is_proxy) return obj;\n\n const IS_PROXY_KEY = '__swc_is_proxy';\n\n const proxy = new Proxy(obj, {\n get: (t, prop) => {\n if (prop === IS_PROXY_KEY) return true;\n if (typeof prop === 'symbol') return t[prop];\n return t[prop];\n },\n set: (t, prop, val) => {\n if (prop === IS_PROXY_KEY) return true;\n if (typeof prop === 'symbol') {\n t[prop] = val;\n return true;\n }\n const oldVal = t[prop];\n if (oldVal === val) return true;\n t[prop] = makeRecursiveProxy(val);\n const isIndex = !isNaN(Number(prop)) && Array.isArray(t);\n if (isIndex && onIndexChange) {\n onIndexChange(Number(prop), val);\n } else {\n onChange();\n }\n return true;\n },\n deleteProperty: (t, prop) => {\n delete t[prop];\n onChange();\n return true;\n }\n });\n return proxy;\n };\n\n return makeRecursiveProxy(target);\n }\n\n static findNearestSwcHost(el: HTMLElement | Node): any {\n const hosts = this.findAllSwcHosts(el);\n return hosts.length > 0 ? hosts[hosts.length - 1] : null;\n }\n\n static findAllSwcHosts(el: HTMLElement | Node): any[] {\n const hosts: any[] = [];\n let curr: any = el instanceof Node && !(el instanceof HTMLElement) ? (el as any).host : el;\n curr = curr?.parentElement || (curr?.getRootNode() as any)?.host;\n\n while (curr) {\n if (curr._swcId) hosts.push(curr);\n curr = curr.parentElement || (curr?.getRootNode() as any)?.host;\n }\n return hosts.reverse();\n }\n\n static getHosts(el: HTMLElement): SwcHTMLElementInterface[] {\n return this.findAllSwcHosts(el);\n }\n\n static getHost(el: HTMLElement): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts(el);\n return hosts.length > 0 ? hosts[hosts.length - 1] : undefined;\n }\n\n static getFirstHost(el: HTMLElement): SwcHTMLElementInterface | undefined {\n const hosts = this.getHosts(el);\n return hosts.length > 0 ? hosts[0] : undefined;\n }\n\n static getAppHosts(el: HTMLElement): SwcAppInterface[] {\n const hosts = this.getHosts(el);\n return hosts.filter(host => host.tagName.toLowerCase() === 'swc-app' || host.getAttribute('is')?.startsWith('swc-app-')) as SwcAppInterface[];\n }\n\n static getAppHost(el: HTMLElement): SwcAppInterface | undefined {\n const appHosts = this.getAppHosts(el);\n return appHosts.length > 0 ? appHosts[appHosts.length - 1] : undefined;\n }\n\n static getFirstAppHost(el: HTMLElement): SwcAppInterface | undefined {\n const appHosts = this.getAppHosts(el);\n return appHosts.length > 0 ? appHosts[0] : undefined;\n }\n\n static getLastAppHost(el: HTMLElement): SwcAppInterface | undefined {\n return this.getAppHost(el);\n }\n\n static getHostSet(el: HTMLElement): HostSet {\n const $hosts = this.getHosts(el);\n const $appHosts = this.getAppHosts(el);\n\n const $firstHost = $hosts[0] || null;\n const $lastHost = $hosts[$hosts.length - 1] || null;\n\n const $firstAppHost = $appHosts[0] || null;\n const $lastAppHost = $appHosts[$appHosts.length - 1] || null;\n\n return {\n $host: $lastHost,\n $hosts,\n $firstHost,\n $lastHost,\n $appHost: $lastAppHost,\n $appHosts,\n $firstAppHost,\n $lastAppHost\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,8 @@ import { getStateMetadataList } from "./state.js";
9
9
  import { getEmitCustomEventMetadataList } from "./emitCustomEvent.js";
10
10
  import { SwcUtils, SWC_NOT_FOUND } from "../utils/Utils.js";
11
11
  import { HTML_TAG_ENTRIES } from "../config/config.js";
12
+ import { SituationTypeContainer, SituationTypeContainers } from "@dooboostore/simple-boot/decorators/inject/Inject";
13
+ import { InjectSituationType } from "../elements/SwcInterfaces.js";
12
14
  const ELEMENT_CONFIG_KEY = Symbol("simple-web-component:element-config");
13
15
  const STATE_CHANGE_EVENT = "swc:state-change";
14
16
  function buildEnv(configWindow) {
@@ -64,7 +66,8 @@ const elementDefine = (inConfig) => (constructor) => {
64
66
  this._externalSources = /* @__PURE__ */ new Map();
65
67
  this._isSyncing = false;
66
68
  this._isUpdatingState = false;
67
- this._executeSwcScript("swc-on-constructor");
69
+ const hostSet = SwcUtils.getHostSet(this);
70
+ this._executeSwcScript("swc-on-constructor", hostSet);
68
71
  if (stateList) {
69
72
  stateList.forEach((meta) => {
70
73
  const key = meta.propertyKey;
@@ -128,7 +131,6 @@ const elementDefine = (inConfig) => (constructor) => {
128
131
  this.attachShadow({ mode: "open" });
129
132
  }
130
133
  }
131
- // name→value 컨텍스트 반환 (applyData의 hostContext용)
132
134
  _getHostContext() {
133
135
  const ctx = {};
134
136
  if (stateList) {
@@ -145,26 +147,20 @@ const elementDefine = (inConfig) => (constructor) => {
145
147
  ctx[name] = val;
146
148
  });
147
149
  }
148
- const alias = this.getAttribute("as");
149
150
  const hostVal = this.value !== void 0 ? this.value : this;
150
151
  ctx["value"] = hostVal;
151
- if (alias && alias !== "value") {
152
- ctx[alias] = hostVal;
153
- }
152
+ const alias = this.getAttribute("as");
153
+ if (alias && alias !== "value") ctx[alias] = hostVal;
154
154
  return ctx;
155
155
  }
156
156
  static get observedAttributes() {
157
157
  return mergedObservedAttributes;
158
158
  }
159
- _executeSwcScript(attrName, extraArgs = {}) {
159
+ _executeSwcScript(attrName, hostSet, extraArgs = {}) {
160
160
  const script = this.getAttribute(attrName);
161
161
  if (script) {
162
162
  try {
163
- const $hosts = SwcUtils.findAllSwcHosts(this);
164
- const $firstHost = $hosts[0] || null;
165
- const $lastHost = $hosts[$hosts.length - 1] || null;
166
- const $host = $lastHost;
167
- const args = { $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPERS, ...extraArgs };
163
+ const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };
168
164
  const argNames = Object.keys(args);
169
165
  const argValues = Object.values(args);
170
166
  new Function(...argNames, script).apply(this, argValues);
@@ -173,6 +169,25 @@ const elementDefine = (inConfig) => (constructor) => {
173
169
  }
174
170
  }
175
171
  }
172
+ async _invokeLifecycleMethod(methodName, hostSet, extraArgs = []) {
173
+ if (typeof this[methodName] !== "function") return;
174
+ const app = hostSet.$appHost?.simpleApplication;
175
+ if (app) {
176
+ const otherStorage = /* @__PURE__ */ new Map();
177
+ const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: InjectSituationType.HOST_SET, data: hostSet }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOST, data: hostSet.$appHost }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new SituationTypeContainer({ situationType: InjectSituationType.HOST, data: hostSet.$host }), new SituationTypeContainer({ situationType: InjectSituationType.HOSTS, data: hostSet.$hosts }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);
178
+ otherStorage.set(SituationTypeContainers, situations);
179
+ return app.simstanceManager.executeBindParameterSimPromise(
180
+ {
181
+ target: this,
182
+ targetKey: methodName,
183
+ inputParameters: extraArgs
184
+ },
185
+ otherStorage
186
+ );
187
+ } else {
188
+ return this[methodName](hostSet, ...extraArgs);
189
+ }
190
+ }
176
191
  _syncDecorators() {
177
192
  if (this._isSyncing) return;
178
193
  this._isSyncing = true;
@@ -301,9 +316,7 @@ const elementDefine = (inConfig) => (constructor) => {
301
316
  this._boundElements.set(host, hBound);
302
317
  }
303
318
  if (!hBound.has(hostBindKey)) {
304
- host.addEventListener(STATE_CHANGE_EVENT, () => {
305
- this._updateState(hAlias);
306
- });
319
+ host.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(hAlias));
307
320
  hBound.add(hostBindKey);
308
321
  }
309
322
  }
@@ -311,6 +324,8 @@ const elementDefine = (inConfig) => (constructor) => {
311
324
  Array.from(el.attributes).forEach((attr) => {
312
325
  if (attr.name.startsWith("swc-on-") && !swcLifecycleAttributes.includes(attr.name)) {
313
326
  const eventName = attr.name.substring(7);
327
+ const script = attr.value;
328
+ const hostSet = SwcUtils.getHostSet(el);
314
329
  if (eventName === "connected") {
315
330
  const eventKey2 = `attr-once:${attr.name}`;
316
331
  let bound2 = this._boundElements.get(el);
@@ -319,14 +334,11 @@ const elementDefine = (inConfig) => (constructor) => {
319
334
  this._boundElements.set(el, bound2);
320
335
  }
321
336
  if (!bound2.has(eventKey2)) {
322
- const script = el.getAttribute(attr.name);
323
337
  if (script) {
324
338
  try {
325
- const $hosts2 = SwcUtils.findAllSwcHosts(el);
326
- const $firstHost = $hosts2[0] || null;
327
- const $lastHost = $hosts2[$hosts2.length - 1] || null;
328
- const $host = $lastHost;
329
- new Function("event", "$data", "$host", "$hosts", "$firstHost", "$lastHost", ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, $host, $hosts2, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());
339
+ const argNames = Object.keys(hostSet);
340
+ const argValues = Object.values(hostSet);
341
+ new Function("event", "$data", ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());
330
342
  } catch (e) {
331
343
  console.error(`[SWC] Failed to execute ${attr.name} script:`, e);
332
344
  }
@@ -343,14 +355,11 @@ const elementDefine = (inConfig) => (constructor) => {
343
355
  }
344
356
  if (!bound.has(eventKey)) {
345
357
  const handler = (event) => {
346
- const rawScript = el.getAttribute(attr.name);
347
- if (rawScript) {
358
+ if (script) {
348
359
  try {
349
- const $hosts2 = SwcUtils.findAllSwcHosts(el);
350
- const $firstHost = $hosts2[0] || null;
351
- const $lastHost = $hosts2[$hosts2.length - 1] || null;
352
- const $host = $lastHost;
353
- new Function("event", "$data", "$host", "$hosts", "$firstHost", "$lastHost", ...SWC_DOM_HELPER_KEYS, rawScript).call(el, event, event.detail, $host, $hosts2, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());
360
+ const argNames = Object.keys(hostSet);
361
+ const argValues = Object.values(hostSet);
362
+ new Function("event", "$data", ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, event, event.detail, ...argValues, ...SWC_DOM_HELPER_VALS());
354
363
  } catch (e) {
355
364
  console.error(`[SWC] Failed to execute ${attr.name} script:`, e);
356
365
  }
@@ -387,7 +396,7 @@ const elementDefine = (inConfig) => (constructor) => {
387
396
  const rootName = fullPath.split(".")[0];
388
397
  const isState = stateList?.some((s) => s.options.name === rootName);
389
398
  const isAttr = attributePropsList?.some((a) => a.options.name === rootName);
390
- const isLogicKey = this._asKey === rootName || this._asIndexKey === rootName;
399
+ const isLogicKey = this._asKey === rootName || this._asItemKey === rootName || this._asIndexKey === rootName;
391
400
  const isExternal = this._externalSources.has(rootName);
392
401
  const isSelfAlias = this.getAttribute("as") === rootName;
393
402
  const isInstanceProp = rootName in this;
@@ -417,13 +426,7 @@ const elementDefine = (inConfig) => (constructor) => {
417
426
  this._executeBindingUpdate(stateName);
418
427
  const selfAlias = this.getAttribute("as");
419
428
  if (selfAlias && selfAlias !== stateName) this._executeBindingUpdate(selfAlias);
420
- this.dispatchEvent(
421
- new CustomEvent(STATE_CHANGE_EVENT, {
422
- bubbles: true,
423
- composed: true,
424
- detail: { source: stateName, host: this }
425
- })
426
- );
429
+ this.dispatchEvent(new CustomEvent(STATE_CHANGE_EVENT, { bubbles: true, composed: true, detail: { source: stateName, host: this } }));
427
430
  } finally {
428
431
  this._isUpdatingState = false;
429
432
  }
@@ -511,11 +514,10 @@ const elementDefine = (inConfig) => (constructor) => {
511
514
  });
512
515
  }
513
516
  disconnectedCallback() {
514
- this._executeSwcScript("swc-on-before-disconnected");
517
+ const hostSet = SwcUtils.getHostSet(this);
518
+ this._executeSwcScript("swc-on-before-disconnected", hostSet);
515
519
  const bMethods = getLifecycleMetadata(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);
516
- bMethods?.forEach((m) => {
517
- if (typeof this[m] === "function") this[m]();
518
- });
520
+ bMethods?.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
519
521
  if (this._observer) this._observer.disconnect();
520
522
  if (this._shadowObserver) this._shadowObserver.disconnect();
521
523
  if (config.autoRemoveEventListeners) {
@@ -524,30 +526,28 @@ const elementDefine = (inConfig) => (constructor) => {
524
526
  }
525
527
  if (super.disconnectedCallback) super.disconnectedCallback();
526
528
  const aMethods = getLifecycleMetadata(this, ON_AFTER_DISCONNECTED_METADATA_KEY);
527
- aMethods?.forEach((m) => {
528
- if (typeof this[m] === "function") this[m]();
529
- });
530
- this._executeSwcScript("swc-on-after-disconnected");
529
+ aMethods?.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
530
+ this._executeSwcScript("swc-on-after-disconnected", hostSet);
531
531
  }
532
532
  adoptedCallback() {
533
- this._executeSwcScript("swc-on-before-adopted");
533
+ const hostSet = SwcUtils.getHostSet(this);
534
+ this._executeSwcScript("swc-on-before-adopted", hostSet);
534
535
  const bMethods = getLifecycleMetadata(this, ON_BEFORE_ADOPTED_METADATA_KEY);
535
- bMethods?.forEach((m) => {
536
- if (typeof this[m] === "function") this[m]();
537
- });
536
+ bMethods?.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
538
537
  if (super.adoptedCallback) super.adoptedCallback();
539
538
  const aMethods = getLifecycleMetadata(this, ON_AFTER_ADOPTED_METADATA_KEY);
540
- aMethods?.forEach((m) => {
541
- if (typeof this[m] === "function") this[m]();
542
- });
543
- this._executeSwcScript("swc-on-after-adopted");
539
+ aMethods?.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
540
+ this._executeSwcScript("swc-on-after-adopted", hostSet);
544
541
  }
545
542
  async connectedCallback() {
546
- this._executeSwcScript("swc-on-before-connected");
543
+ const hostSet = SwcUtils.getHostSet(this);
544
+ this._executeSwcScript("swc-on-before-connected", hostSet);
547
545
  const bMethods = getLifecycleMetadata(this, ON_BEFORE_CONNECTED_METADATA_KEY);
548
- bMethods?.forEach((m) => {
549
- if (typeof this[m] === "function") this[m]();
550
- });
546
+ if (bMethods) {
547
+ for (const m of bMethods) {
548
+ await this._invokeLifecycleMethod(m, hostSet);
549
+ }
550
+ }
551
551
  if (typeof this.initCore === "function") this.initCore();
552
552
  const iHtmlList = getInnerHtmlMetadataList(this);
553
553
  let sContent = "";
@@ -567,8 +567,9 @@ const elementDefine = (inConfig) => (constructor) => {
567
567
  const isManagedByParent = !!SwcUtils.findNearestSwcHost(this);
568
568
  if (!isManagedByParent) {
569
569
  Array.from(this.attributes).forEach((attr) => {
570
- if (attr.name.startsWith("swc-on-") && swcLifecycleAttributes.indexOf(attr.name) === -1) {
570
+ if (attr.name.startsWith("swc-on-") && !swcLifecycleAttributes.includes(attr.name)) {
571
571
  const eventName = attr.name.substring(7);
572
+ const script = attr.value;
572
573
  if (eventName === "connected") {
573
574
  const eventKey2 = `host-attr-once:${attr.name}`;
574
575
  let bound2 = this._boundElements.get(this);
@@ -577,14 +578,11 @@ const elementDefine = (inConfig) => (constructor) => {
577
578
  this._boundElements.set(this, bound2);
578
579
  }
579
580
  if (!bound2.has(eventKey2)) {
580
- const script = this.getAttribute(attr.name);
581
581
  if (script) {
582
582
  try {
583
- const $hosts = SwcUtils.findAllSwcHosts(this);
584
- const $firstHost = $hosts[0] || null;
585
- const $lastHost = $hosts[$hosts.length - 1] || null;
586
- const $host = $lastHost;
587
- new Function("event", "$data", "$host", "$hosts", "$firstHost", "$lastHost", ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());
583
+ const argNames = Object.keys(hostSet);
584
+ const argValues = Object.values(hostSet);
585
+ new Function("event", "$data", ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());
588
586
  } catch (e) {
589
587
  console.error(`[SWC] Failed to execute ${attr.name} script:`, e);
590
588
  }
@@ -601,14 +599,11 @@ const elementDefine = (inConfig) => (constructor) => {
601
599
  }
602
600
  if (!bound.has(eventKey)) {
603
601
  const handler = (event) => {
604
- const script = this.getAttribute(attr.name);
605
602
  if (script) {
606
603
  try {
607
- const $hosts = SwcUtils.findAllSwcHosts(this);
608
- const $firstHost = $hosts[0] || null;
609
- const $lastHost = $hosts[$hosts.length - 1] || null;
610
- const $host = $lastHost;
611
- new Function("event", "$data", "$host", "$hosts", "$firstHost", "$lastHost", ...SWC_DOM_HELPER_KEYS, script).call(this, event, event.detail, $host, $hosts, $firstHost, $lastHost, ...SWC_DOM_HELPER_VALS());
604
+ const argNames = Object.keys(hostSet);
605
+ const argValues = Object.values(hostSet);
606
+ new Function("event", "$data", ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, event, event.detail, ...argValues, ...SWC_DOM_HELPER_VALS());
612
607
  } catch (e) {
613
608
  console.error(`[SWC] Failed to execute ${attr.name} script:`, e);
614
609
  }
@@ -645,10 +640,12 @@ const elementDefine = (inConfig) => (constructor) => {
645
640
  }
646
641
  if (super.connectedCallback) await super.connectedCallback();
647
642
  const aMethods = getLifecycleMetadata(this, ON_AFTER_CONNECTED_METADATA_KEY);
648
- aMethods?.forEach((m) => {
649
- if (typeof this[m] === "function") this[m]();
650
- });
651
- this._executeSwcScript("swc-on-after-connected");
643
+ if (aMethods) {
644
+ for (const m of aMethods) {
645
+ await this._invokeLifecycleMethod(m, hostSet);
646
+ }
647
+ }
648
+ this._executeSwcScript("swc-on-after-connected", hostSet);
652
649
  }
653
650
  attributeChangedCallback(name, oldValue, newValue) {
654
651
  if (super.attributeChangedCallback) super.attributeChangedCallback(name, oldValue, newValue);
@@ -664,10 +661,10 @@ const elementDefine = (inConfig) => (constructor) => {
664
661
  if (typeof this._updateState === "function") this._updateState(name);
665
662
  const aMethodsMap = getLifecycleMetadata(constructor, ON_ATTRIBUTE_CHANGED_METADATA_KEY);
666
663
  const mKeys = aMethodsMap?.get(name);
667
- if (mKeys && Array.isArray(mKeys))
668
- mKeys.forEach((key) => {
669
- if (typeof this[key] === "function") this[key](newValue, oldValue, name);
670
- });
664
+ const hostSet = SwcUtils.getHostSet(this);
665
+ if (mKeys && Array.isArray(mKeys)) {
666
+ mKeys.forEach((key) => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));
667
+ }
671
668
  if (emitCustomEventList) {
672
669
  const eMeta = emitCustomEventList.find((it) => it.options.attributeName === name);
673
670
  if (eMeta) {
@@ -684,13 +681,22 @@ const elementDefine = (inConfig) => (constructor) => {
684
681
  }
685
682
  }
686
683
  const wMethodsKeys = aMethodsMap?.get(ATTRIBUTE_CHANGED_WILDCARD);
687
- if (wMethodsKeys && Array.isArray(wMethodsKeys))
688
- wMethodsKeys.forEach((key) => {
689
- if (typeof this[key] === "function") this[key](newValue, oldValue, name);
690
- });
691
- this._executeSwcScript("swc-on-attribute-changed", { $new: newValue, $old: oldValue, $name: name });
684
+ if (wMethodsKeys && Array.isArray(wMethodsKeys)) {
685
+ wMethodsKeys.forEach((key) => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));
686
+ }
687
+ this._executeSwcScript("swc-on-attribute-changed", hostSet, { $new: newValue, $old: oldValue, $name: name });
692
688
  }
693
689
  };
690
+ const originalProto = constructor.prototype;
691
+ const newProto = NewClass.prototype;
692
+ Object.getOwnPropertyNames(originalProto).forEach((name) => {
693
+ if (name === "constructor") return;
694
+ const keys = Reflect.getMetadataKeys(originalProto, name);
695
+ keys.forEach((key) => {
696
+ const metadata = Reflect.getMetadata(key, originalProto, name);
697
+ Reflect.defineMetadata(key, metadata, newProto, name);
698
+ });
699
+ });
694
700
  ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);
695
701
  ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);
696
702
  const registry = config.customElementRegistry || (typeof win !== "undefined" ? win.customElements : void 0);