@dooboostore/simple-web-component 1.0.18 → 1.0.21

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 (618) hide show
  1. package/README.md +2065 -164
  2. package/dist/cjs/config/config.js +2 -0
  3. package/dist/cjs/config/config.js.map +2 -2
  4. package/dist/cjs/decorators/addEventListener.js +8 -8
  5. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  6. package/dist/cjs/decorators/appendChild.js +53 -9
  7. package/dist/cjs/decorators/appendChild.js.map +2 -2
  8. package/dist/cjs/decorators/attribute.js +141 -0
  9. package/dist/cjs/decorators/attribute.js.map +7 -0
  10. package/dist/cjs/decorators/changedAttribute.js +5 -5
  11. package/dist/cjs/decorators/changedAttribute.js.map +2 -2
  12. package/dist/cjs/decorators/classList.js +104 -0
  13. package/dist/cjs/decorators/classList.js.map +7 -0
  14. package/dist/cjs/decorators/elementDefine.js +334 -425
  15. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  16. package/dist/cjs/decorators/emitCustomEvent.js +65 -13
  17. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  18. package/dist/cjs/decorators/index.js +4 -0
  19. package/dist/cjs/decorators/index.js.map +2 -2
  20. package/dist/cjs/decorators/lifecycles.js +4 -4
  21. package/dist/cjs/decorators/lifecycles.js.map +2 -2
  22. package/dist/cjs/decorators/onConnectedInnerHtml.js +4 -4
  23. package/dist/cjs/decorators/onConnectedInnerHtml.js.map +2 -2
  24. package/dist/cjs/decorators/query.js +60 -36
  25. package/dist/cjs/decorators/query.js.map +2 -2
  26. package/dist/cjs/decorators/queryAll.js +47 -23
  27. package/dist/cjs/decorators/queryAll.js.map +2 -2
  28. package/dist/cjs/decorators/replaceChildren.js +32 -6
  29. package/dist/cjs/decorators/replaceChildren.js.map +2 -2
  30. package/dist/cjs/decorators/setAttribute.js +64 -10
  31. package/dist/cjs/decorators/setAttribute.js.map +2 -2
  32. package/dist/cjs/decorators/style.js +88 -0
  33. package/dist/cjs/decorators/style.js.map +7 -0
  34. package/dist/cjs/elements/SwcAppEngine.js +30 -15
  35. package/dist/cjs/elements/SwcAppEngine.js.map +3 -3
  36. package/dist/cjs/elements/SwcAppMixin.js +79 -0
  37. package/dist/cjs/elements/SwcAppMixin.js.map +7 -0
  38. package/dist/cjs/elements/SwcAsync.js +58 -123
  39. package/dist/cjs/elements/SwcAsync.js.map +3 -3
  40. package/dist/cjs/elements/SwcChoose.js +52 -76
  41. package/dist/cjs/elements/SwcChoose.js.map +3 -3
  42. package/dist/cjs/elements/SwcIf.js +66 -94
  43. package/dist/cjs/elements/SwcIf.js.map +3 -3
  44. package/dist/cjs/elements/SwcLoop.js +73 -174
  45. package/dist/cjs/elements/SwcLoop.js.map +3 -3
  46. package/dist/cjs/elements/SwcSubTemplates.js +12 -37
  47. package/dist/cjs/elements/SwcSubTemplates.js.map +3 -3
  48. package/dist/cjs/elements/index.js +1 -8
  49. package/dist/cjs/elements/index.js.map +2 -2
  50. package/dist/cjs/elements/register.js +831 -0
  51. package/dist/cjs/elements/register.js.map +7 -0
  52. package/dist/cjs/index.js +14 -3
  53. package/dist/cjs/index.js.map +2 -2
  54. package/dist/cjs/router/ElementRouter.js +7 -7
  55. package/dist/cjs/router/ElementRouter.js.map +2 -2
  56. package/dist/cjs/types.js.map +1 -1
  57. package/dist/cjs/utils/TemplateUtils.js +103 -0
  58. package/dist/cjs/utils/TemplateUtils.js.map +7 -0
  59. package/dist/cjs/utils/Utils.js +10 -7
  60. package/dist/cjs/utils/Utils.js.map +2 -2
  61. package/dist/esm/config/config.js +2 -0
  62. package/dist/esm/config/config.js.map +2 -2
  63. package/dist/esm/decorators/addEventListener.js +5 -5
  64. package/dist/esm/decorators/addEventListener.js.map +2 -2
  65. package/dist/esm/decorators/appendChild.js +52 -8
  66. package/dist/esm/decorators/appendChild.js.map +2 -2
  67. package/dist/esm/decorators/attribute.js +122 -0
  68. package/dist/esm/decorators/attribute.js.map +7 -0
  69. package/dist/esm/decorators/changedAttribute.js +1 -1
  70. package/dist/esm/decorators/changedAttribute.js.map +1 -1
  71. package/dist/esm/decorators/classList.js +85 -0
  72. package/dist/esm/decorators/classList.js.map +7 -0
  73. package/dist/esm/decorators/elementDefine.js +334 -425
  74. package/dist/esm/decorators/elementDefine.js.map +3 -3
  75. package/dist/esm/decorators/emitCustomEvent.js +62 -10
  76. package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
  77. package/dist/esm/decorators/index.js +4 -0
  78. package/dist/esm/decorators/index.js.map +2 -2
  79. package/dist/esm/decorators/lifecycles.js +1 -1
  80. package/dist/esm/decorators/lifecycles.js.map +1 -1
  81. package/dist/esm/decorators/onConnectedInnerHtml.js +1 -1
  82. package/dist/esm/decorators/onConnectedInnerHtml.js.map +1 -1
  83. package/dist/esm/decorators/query.js +58 -34
  84. package/dist/esm/decorators/query.js.map +2 -2
  85. package/dist/esm/decorators/queryAll.js +45 -21
  86. package/dist/esm/decorators/queryAll.js.map +2 -2
  87. package/dist/esm/decorators/replaceChildren.js +28 -2
  88. package/dist/esm/decorators/replaceChildren.js.map +2 -2
  89. package/dist/esm/decorators/setAttribute.js +62 -8
  90. package/dist/esm/decorators/setAttribute.js.map +2 -2
  91. package/dist/esm/decorators/style.js +69 -0
  92. package/dist/esm/decorators/style.js.map +7 -0
  93. package/dist/esm/elements/SwcAppEngine.js +27 -12
  94. package/dist/esm/elements/SwcAppEngine.js.map +2 -2
  95. package/dist/esm/elements/SwcAppMixin.js +60 -0
  96. package/dist/esm/elements/SwcAppMixin.js.map +7 -0
  97. package/dist/esm/elements/SwcAsync.js +58 -123
  98. package/dist/esm/elements/SwcAsync.js.map +3 -3
  99. package/dist/esm/elements/SwcChoose.js +52 -76
  100. package/dist/esm/elements/SwcChoose.js.map +3 -3
  101. package/dist/esm/elements/SwcIf.js +66 -94
  102. package/dist/esm/elements/SwcIf.js.map +3 -3
  103. package/dist/esm/elements/SwcLoop.js +72 -173
  104. package/dist/esm/elements/SwcLoop.js.map +3 -3
  105. package/dist/esm/elements/SwcSubTemplates.js +12 -37
  106. package/dist/esm/elements/SwcSubTemplates.js.map +3 -3
  107. package/dist/esm/elements/index.js +1 -8
  108. package/dist/esm/elements/index.js.map +2 -2
  109. package/dist/esm/elements/register.js +812 -0
  110. package/dist/esm/elements/register.js.map +7 -0
  111. package/dist/esm/index.js +14 -3
  112. package/dist/esm/index.js.map +2 -2
  113. package/dist/esm/router/ElementRouter.js +2 -2
  114. package/dist/esm/router/ElementRouter.js.map +1 -1
  115. package/dist/esm/types.js.map +1 -1
  116. package/dist/esm/utils/TemplateUtils.js +84 -0
  117. package/dist/esm/utils/TemplateUtils.js.map +7 -0
  118. package/dist/esm/utils/Utils.js +6 -3
  119. package/dist/esm/utils/Utils.js.map +2 -2
  120. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +4910 -7463
  121. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  122. package/dist/types/config/config.d.ts +1 -0
  123. package/dist/types/config/config.d.ts.map +1 -1
  124. package/dist/types/decorators/addEventListener.d.ts +11 -11
  125. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  126. package/dist/types/decorators/appendChild.d.ts +1 -1
  127. package/dist/types/decorators/appendChild.d.ts.map +1 -1
  128. package/dist/types/decorators/attribute.d.ts +23 -0
  129. package/dist/types/decorators/attribute.d.ts.map +1 -0
  130. package/dist/types/decorators/classList.d.ts +34 -0
  131. package/dist/types/decorators/classList.d.ts.map +1 -0
  132. package/dist/types/decorators/elementDefine.d.ts +9 -5
  133. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  134. package/dist/types/decorators/emitCustomEvent.d.ts +7 -4
  135. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
  136. package/dist/types/decorators/index.d.ts +4 -0
  137. package/dist/types/decorators/index.d.ts.map +1 -1
  138. package/dist/types/decorators/query.d.ts +7 -8
  139. package/dist/types/decorators/query.d.ts.map +1 -1
  140. package/dist/types/decorators/queryAll.d.ts +5 -9
  141. package/dist/types/decorators/queryAll.d.ts.map +1 -1
  142. package/dist/types/decorators/replaceChildren.d.ts.map +1 -1
  143. package/dist/types/decorators/setAttribute.d.ts +16 -3
  144. package/dist/types/decorators/setAttribute.d.ts.map +1 -1
  145. package/dist/types/decorators/style.d.ts +24 -0
  146. package/dist/types/decorators/style.d.ts.map +1 -0
  147. package/dist/types/elements/SwcAppEngine.d.ts +6 -5
  148. package/dist/types/elements/SwcAppEngine.d.ts.map +1 -1
  149. package/dist/types/elements/SwcAppMixin.d.ts +364 -0
  150. package/dist/types/elements/SwcAppMixin.d.ts.map +1 -0
  151. package/dist/types/elements/SwcAsync.d.ts +2 -6
  152. package/dist/types/elements/SwcAsync.d.ts.map +1 -1
  153. package/dist/types/elements/SwcChoose.d.ts +2 -1
  154. package/dist/types/elements/SwcChoose.d.ts.map +1 -1
  155. package/dist/types/elements/SwcIf.d.ts +5 -6
  156. package/dist/types/elements/SwcIf.d.ts.map +1 -1
  157. package/dist/types/elements/SwcLoop.d.ts +4 -10
  158. package/dist/types/elements/SwcLoop.d.ts.map +1 -1
  159. package/dist/types/elements/SwcSubTemplates.d.ts.map +1 -1
  160. package/dist/types/elements/index.d.ts +1 -8
  161. package/dist/types/elements/index.d.ts.map +1 -1
  162. package/dist/types/elements/register.d.ts +2 -0
  163. package/dist/types/elements/register.d.ts.map +1 -0
  164. package/dist/types/index.d.ts +8 -3
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/router/ElementRouter.d.ts +1 -1
  167. package/dist/types/router/ElementRouter.d.ts.map +1 -1
  168. package/dist/types/types.d.ts +8 -2
  169. package/dist/types/types.d.ts.map +1 -1
  170. package/dist/types/utils/TemplateUtils.d.ts +54 -0
  171. package/dist/types/utils/TemplateUtils.d.ts.map +1 -0
  172. package/dist/types/utils/Utils.d.ts.map +1 -1
  173. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +4910 -7463
  174. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  175. package/package.json +11 -6
  176. package/src/config/config.ts +2 -0
  177. package/src/decorators/addEventListener.ts +13 -12
  178. package/src/decorators/appendChild.ts +53 -9
  179. package/src/decorators/attribute.ts +158 -0
  180. package/src/decorators/changedAttribute.ts +1 -1
  181. package/src/decorators/classList.ts +117 -0
  182. package/src/decorators/elementDefine.ts +371 -425
  183. package/src/decorators/emitCustomEvent.ts +77 -13
  184. package/src/decorators/index.ts +4 -0
  185. package/src/decorators/lifecycles.ts +1 -1
  186. package/src/decorators/onConnectedInnerHtml.ts +1 -1
  187. package/src/decorators/query.ts +58 -38
  188. package/src/decorators/queryAll.ts +45 -29
  189. package/src/decorators/replaceChildren.ts +31 -2
  190. package/src/decorators/setAttribute.ts +86 -12
  191. package/src/decorators/style.ts +89 -0
  192. package/src/elements/SwcAppEngine.ts +34 -18
  193. package/src/elements/SwcAppMixin.ts +65 -0
  194. package/src/elements/SwcAsync.ts +58 -128
  195. package/src/elements/SwcChoose.ts +51 -77
  196. package/src/elements/SwcIf.ts +64 -86
  197. package/src/elements/SwcLoop.ts +71 -168
  198. package/src/elements/SwcSubTemplates.ts +0 -13
  199. package/src/elements/index.ts +1 -8
  200. package/src/elements/register.ts +735 -0
  201. package/src/index.ts +17 -5
  202. package/src/router/ElementRouter.ts +2 -2
  203. package/src/types.ts +15 -6
  204. package/src/utils/TemplateUtils.ts +83 -0
  205. package/src/utils/Utils.ts +6 -3
  206. package/dist/cjs/elements/SwcApp.js +0 -55
  207. package/dist/cjs/elements/SwcApp.js.map +0 -7
  208. package/dist/cjs/elements/is/SwcAppAnchor.js +0 -55
  209. package/dist/cjs/elements/is/SwcAppAnchor.js.map +0 -7
  210. package/dist/cjs/elements/is/SwcAppArea.js +0 -55
  211. package/dist/cjs/elements/is/SwcAppArea.js.map +0 -7
  212. package/dist/cjs/elements/is/SwcAppAudio.js +0 -55
  213. package/dist/cjs/elements/is/SwcAppAudio.js.map +0 -7
  214. package/dist/cjs/elements/is/SwcAppBase.js +0 -55
  215. package/dist/cjs/elements/is/SwcAppBase.js.map +0 -7
  216. package/dist/cjs/elements/is/SwcAppBody.js +0 -55
  217. package/dist/cjs/elements/is/SwcAppBody.js.map +0 -7
  218. package/dist/cjs/elements/is/SwcAppButton.js +0 -55
  219. package/dist/cjs/elements/is/SwcAppButton.js.map +0 -7
  220. package/dist/cjs/elements/is/SwcAppCanvas.js +0 -55
  221. package/dist/cjs/elements/is/SwcAppCanvas.js.map +0 -7
  222. package/dist/cjs/elements/is/SwcAppData.js +0 -55
  223. package/dist/cjs/elements/is/SwcAppData.js.map +0 -7
  224. package/dist/cjs/elements/is/SwcAppDataList.js +0 -55
  225. package/dist/cjs/elements/is/SwcAppDataList.js.map +0 -7
  226. package/dist/cjs/elements/is/SwcAppDetails.js +0 -55
  227. package/dist/cjs/elements/is/SwcAppDetails.js.map +0 -7
  228. package/dist/cjs/elements/is/SwcAppDialog.js +0 -55
  229. package/dist/cjs/elements/is/SwcAppDialog.js.map +0 -7
  230. package/dist/cjs/elements/is/SwcAppDiv.js +0 -55
  231. package/dist/cjs/elements/is/SwcAppDiv.js.map +0 -7
  232. package/dist/cjs/elements/is/SwcAppDl.js +0 -55
  233. package/dist/cjs/elements/is/SwcAppDl.js.map +0 -7
  234. package/dist/cjs/elements/is/SwcAppEmbed.js +0 -55
  235. package/dist/cjs/elements/is/SwcAppEmbed.js.map +0 -7
  236. package/dist/cjs/elements/is/SwcAppFieldSet.js +0 -55
  237. package/dist/cjs/elements/is/SwcAppFieldSet.js.map +0 -7
  238. package/dist/cjs/elements/is/SwcAppForm.js +0 -55
  239. package/dist/cjs/elements/is/SwcAppForm.js.map +0 -7
  240. package/dist/cjs/elements/is/SwcAppHeading.js +0 -55
  241. package/dist/cjs/elements/is/SwcAppHeading.js.map +0 -7
  242. package/dist/cjs/elements/is/SwcAppHr.js +0 -55
  243. package/dist/cjs/elements/is/SwcAppHr.js.map +0 -7
  244. package/dist/cjs/elements/is/SwcAppIFrame.js +0 -55
  245. package/dist/cjs/elements/is/SwcAppIFrame.js.map +0 -7
  246. package/dist/cjs/elements/is/SwcAppImage.js +0 -55
  247. package/dist/cjs/elements/is/SwcAppImage.js.map +0 -7
  248. package/dist/cjs/elements/is/SwcAppInput.js +0 -55
  249. package/dist/cjs/elements/is/SwcAppInput.js.map +0 -7
  250. package/dist/cjs/elements/is/SwcAppLabel.js +0 -55
  251. package/dist/cjs/elements/is/SwcAppLabel.js.map +0 -7
  252. package/dist/cjs/elements/is/SwcAppLegend.js +0 -55
  253. package/dist/cjs/elements/is/SwcAppLegend.js.map +0 -7
  254. package/dist/cjs/elements/is/SwcAppLi.js +0 -55
  255. package/dist/cjs/elements/is/SwcAppLi.js.map +0 -7
  256. package/dist/cjs/elements/is/SwcAppLink.js +0 -55
  257. package/dist/cjs/elements/is/SwcAppLink.js.map +0 -7
  258. package/dist/cjs/elements/is/SwcAppMap.js +0 -55
  259. package/dist/cjs/elements/is/SwcAppMap.js.map +0 -7
  260. package/dist/cjs/elements/is/SwcAppMeta.js +0 -55
  261. package/dist/cjs/elements/is/SwcAppMeta.js.map +0 -7
  262. package/dist/cjs/elements/is/SwcAppMeter.js +0 -55
  263. package/dist/cjs/elements/is/SwcAppMeter.js.map +0 -7
  264. package/dist/cjs/elements/is/SwcAppMod.js +0 -55
  265. package/dist/cjs/elements/is/SwcAppMod.js.map +0 -7
  266. package/dist/cjs/elements/is/SwcAppObject.js +0 -55
  267. package/dist/cjs/elements/is/SwcAppObject.js.map +0 -7
  268. package/dist/cjs/elements/is/SwcAppOl.js +0 -55
  269. package/dist/cjs/elements/is/SwcAppOl.js.map +0 -7
  270. package/dist/cjs/elements/is/SwcAppOptGroup.js +0 -55
  271. package/dist/cjs/elements/is/SwcAppOptGroup.js.map +0 -7
  272. package/dist/cjs/elements/is/SwcAppOption.js +0 -55
  273. package/dist/cjs/elements/is/SwcAppOption.js.map +0 -7
  274. package/dist/cjs/elements/is/SwcAppOutput.js +0 -55
  275. package/dist/cjs/elements/is/SwcAppOutput.js.map +0 -7
  276. package/dist/cjs/elements/is/SwcAppParagraph.js +0 -55
  277. package/dist/cjs/elements/is/SwcAppParagraph.js.map +0 -7
  278. package/dist/cjs/elements/is/SwcAppParam.js +0 -55
  279. package/dist/cjs/elements/is/SwcAppParam.js.map +0 -7
  280. package/dist/cjs/elements/is/SwcAppPicture.js +0 -55
  281. package/dist/cjs/elements/is/SwcAppPicture.js.map +0 -7
  282. package/dist/cjs/elements/is/SwcAppPre.js +0 -55
  283. package/dist/cjs/elements/is/SwcAppPre.js.map +0 -7
  284. package/dist/cjs/elements/is/SwcAppProgress.js +0 -55
  285. package/dist/cjs/elements/is/SwcAppProgress.js.map +0 -7
  286. package/dist/cjs/elements/is/SwcAppQuote.js +0 -55
  287. package/dist/cjs/elements/is/SwcAppQuote.js.map +0 -7
  288. package/dist/cjs/elements/is/SwcAppScript.js +0 -55
  289. package/dist/cjs/elements/is/SwcAppScript.js.map +0 -7
  290. package/dist/cjs/elements/is/SwcAppSelect.js +0 -55
  291. package/dist/cjs/elements/is/SwcAppSelect.js.map +0 -7
  292. package/dist/cjs/elements/is/SwcAppSlot.js +0 -55
  293. package/dist/cjs/elements/is/SwcAppSlot.js.map +0 -7
  294. package/dist/cjs/elements/is/SwcAppSource.js +0 -55
  295. package/dist/cjs/elements/is/SwcAppSource.js.map +0 -7
  296. package/dist/cjs/elements/is/SwcAppSpan.js +0 -55
  297. package/dist/cjs/elements/is/SwcAppSpan.js.map +0 -7
  298. package/dist/cjs/elements/is/SwcAppStyle.js +0 -55
  299. package/dist/cjs/elements/is/SwcAppStyle.js.map +0 -7
  300. package/dist/cjs/elements/is/SwcAppTable.js +0 -55
  301. package/dist/cjs/elements/is/SwcAppTable.js.map +0 -7
  302. package/dist/cjs/elements/is/SwcAppTableCell.js +0 -55
  303. package/dist/cjs/elements/is/SwcAppTableCell.js.map +0 -7
  304. package/dist/cjs/elements/is/SwcAppTableRow.js +0 -55
  305. package/dist/cjs/elements/is/SwcAppTableRow.js.map +0 -7
  306. package/dist/cjs/elements/is/SwcAppTableSection.js +0 -55
  307. package/dist/cjs/elements/is/SwcAppTableSection.js.map +0 -7
  308. package/dist/cjs/elements/is/SwcAppTemplate.js +0 -55
  309. package/dist/cjs/elements/is/SwcAppTemplate.js.map +0 -7
  310. package/dist/cjs/elements/is/SwcAppTextArea.js +0 -55
  311. package/dist/cjs/elements/is/SwcAppTextArea.js.map +0 -7
  312. package/dist/cjs/elements/is/SwcAppTime.js +0 -55
  313. package/dist/cjs/elements/is/SwcAppTime.js.map +0 -7
  314. package/dist/cjs/elements/is/SwcAppTitle.js +0 -55
  315. package/dist/cjs/elements/is/SwcAppTitle.js.map +0 -7
  316. package/dist/cjs/elements/is/SwcAppTrack.js +0 -55
  317. package/dist/cjs/elements/is/SwcAppTrack.js.map +0 -7
  318. package/dist/cjs/elements/is/SwcAppUl.js +0 -55
  319. package/dist/cjs/elements/is/SwcAppUl.js.map +0 -7
  320. package/dist/cjs/elements/is/SwcAppVideo.js +0 -55
  321. package/dist/cjs/elements/is/SwcAppVideo.js.map +0 -7
  322. package/dist/cjs/elements/is/index.js +0 -74
  323. package/dist/cjs/elements/is/index.js.map +0 -7
  324. package/dist/esm/elements/SwcApp.js +0 -36
  325. package/dist/esm/elements/SwcApp.js.map +0 -7
  326. package/dist/esm/elements/is/SwcAppAnchor.js +0 -36
  327. package/dist/esm/elements/is/SwcAppAnchor.js.map +0 -7
  328. package/dist/esm/elements/is/SwcAppArea.js +0 -36
  329. package/dist/esm/elements/is/SwcAppArea.js.map +0 -7
  330. package/dist/esm/elements/is/SwcAppAudio.js +0 -36
  331. package/dist/esm/elements/is/SwcAppAudio.js.map +0 -7
  332. package/dist/esm/elements/is/SwcAppBase.js +0 -36
  333. package/dist/esm/elements/is/SwcAppBase.js.map +0 -7
  334. package/dist/esm/elements/is/SwcAppBody.js +0 -36
  335. package/dist/esm/elements/is/SwcAppBody.js.map +0 -7
  336. package/dist/esm/elements/is/SwcAppButton.js +0 -36
  337. package/dist/esm/elements/is/SwcAppButton.js.map +0 -7
  338. package/dist/esm/elements/is/SwcAppCanvas.js +0 -36
  339. package/dist/esm/elements/is/SwcAppCanvas.js.map +0 -7
  340. package/dist/esm/elements/is/SwcAppData.js +0 -36
  341. package/dist/esm/elements/is/SwcAppData.js.map +0 -7
  342. package/dist/esm/elements/is/SwcAppDataList.js +0 -36
  343. package/dist/esm/elements/is/SwcAppDataList.js.map +0 -7
  344. package/dist/esm/elements/is/SwcAppDetails.js +0 -36
  345. package/dist/esm/elements/is/SwcAppDetails.js.map +0 -7
  346. package/dist/esm/elements/is/SwcAppDialog.js +0 -36
  347. package/dist/esm/elements/is/SwcAppDialog.js.map +0 -7
  348. package/dist/esm/elements/is/SwcAppDiv.js +0 -36
  349. package/dist/esm/elements/is/SwcAppDiv.js.map +0 -7
  350. package/dist/esm/elements/is/SwcAppDl.js +0 -36
  351. package/dist/esm/elements/is/SwcAppDl.js.map +0 -7
  352. package/dist/esm/elements/is/SwcAppEmbed.js +0 -36
  353. package/dist/esm/elements/is/SwcAppEmbed.js.map +0 -7
  354. package/dist/esm/elements/is/SwcAppFieldSet.js +0 -36
  355. package/dist/esm/elements/is/SwcAppFieldSet.js.map +0 -7
  356. package/dist/esm/elements/is/SwcAppForm.js +0 -36
  357. package/dist/esm/elements/is/SwcAppForm.js.map +0 -7
  358. package/dist/esm/elements/is/SwcAppHeading.js +0 -36
  359. package/dist/esm/elements/is/SwcAppHeading.js.map +0 -7
  360. package/dist/esm/elements/is/SwcAppHr.js +0 -36
  361. package/dist/esm/elements/is/SwcAppHr.js.map +0 -7
  362. package/dist/esm/elements/is/SwcAppIFrame.js +0 -36
  363. package/dist/esm/elements/is/SwcAppIFrame.js.map +0 -7
  364. package/dist/esm/elements/is/SwcAppImage.js +0 -36
  365. package/dist/esm/elements/is/SwcAppImage.js.map +0 -7
  366. package/dist/esm/elements/is/SwcAppInput.js +0 -36
  367. package/dist/esm/elements/is/SwcAppInput.js.map +0 -7
  368. package/dist/esm/elements/is/SwcAppLabel.js +0 -36
  369. package/dist/esm/elements/is/SwcAppLabel.js.map +0 -7
  370. package/dist/esm/elements/is/SwcAppLegend.js +0 -36
  371. package/dist/esm/elements/is/SwcAppLegend.js.map +0 -7
  372. package/dist/esm/elements/is/SwcAppLi.js +0 -36
  373. package/dist/esm/elements/is/SwcAppLi.js.map +0 -7
  374. package/dist/esm/elements/is/SwcAppLink.js +0 -36
  375. package/dist/esm/elements/is/SwcAppLink.js.map +0 -7
  376. package/dist/esm/elements/is/SwcAppMap.js +0 -36
  377. package/dist/esm/elements/is/SwcAppMap.js.map +0 -7
  378. package/dist/esm/elements/is/SwcAppMeta.js +0 -36
  379. package/dist/esm/elements/is/SwcAppMeta.js.map +0 -7
  380. package/dist/esm/elements/is/SwcAppMeter.js +0 -36
  381. package/dist/esm/elements/is/SwcAppMeter.js.map +0 -7
  382. package/dist/esm/elements/is/SwcAppMod.js +0 -36
  383. package/dist/esm/elements/is/SwcAppMod.js.map +0 -7
  384. package/dist/esm/elements/is/SwcAppObject.js +0 -36
  385. package/dist/esm/elements/is/SwcAppObject.js.map +0 -7
  386. package/dist/esm/elements/is/SwcAppOl.js +0 -36
  387. package/dist/esm/elements/is/SwcAppOl.js.map +0 -7
  388. package/dist/esm/elements/is/SwcAppOptGroup.js +0 -36
  389. package/dist/esm/elements/is/SwcAppOptGroup.js.map +0 -7
  390. package/dist/esm/elements/is/SwcAppOption.js +0 -36
  391. package/dist/esm/elements/is/SwcAppOption.js.map +0 -7
  392. package/dist/esm/elements/is/SwcAppOutput.js +0 -36
  393. package/dist/esm/elements/is/SwcAppOutput.js.map +0 -7
  394. package/dist/esm/elements/is/SwcAppParagraph.js +0 -36
  395. package/dist/esm/elements/is/SwcAppParagraph.js.map +0 -7
  396. package/dist/esm/elements/is/SwcAppParam.js +0 -36
  397. package/dist/esm/elements/is/SwcAppParam.js.map +0 -7
  398. package/dist/esm/elements/is/SwcAppPicture.js +0 -36
  399. package/dist/esm/elements/is/SwcAppPicture.js.map +0 -7
  400. package/dist/esm/elements/is/SwcAppPre.js +0 -36
  401. package/dist/esm/elements/is/SwcAppPre.js.map +0 -7
  402. package/dist/esm/elements/is/SwcAppProgress.js +0 -36
  403. package/dist/esm/elements/is/SwcAppProgress.js.map +0 -7
  404. package/dist/esm/elements/is/SwcAppQuote.js +0 -36
  405. package/dist/esm/elements/is/SwcAppQuote.js.map +0 -7
  406. package/dist/esm/elements/is/SwcAppScript.js +0 -36
  407. package/dist/esm/elements/is/SwcAppScript.js.map +0 -7
  408. package/dist/esm/elements/is/SwcAppSelect.js +0 -36
  409. package/dist/esm/elements/is/SwcAppSelect.js.map +0 -7
  410. package/dist/esm/elements/is/SwcAppSlot.js +0 -36
  411. package/dist/esm/elements/is/SwcAppSlot.js.map +0 -7
  412. package/dist/esm/elements/is/SwcAppSource.js +0 -36
  413. package/dist/esm/elements/is/SwcAppSource.js.map +0 -7
  414. package/dist/esm/elements/is/SwcAppSpan.js +0 -36
  415. package/dist/esm/elements/is/SwcAppSpan.js.map +0 -7
  416. package/dist/esm/elements/is/SwcAppStyle.js +0 -36
  417. package/dist/esm/elements/is/SwcAppStyle.js.map +0 -7
  418. package/dist/esm/elements/is/SwcAppTable.js +0 -36
  419. package/dist/esm/elements/is/SwcAppTable.js.map +0 -7
  420. package/dist/esm/elements/is/SwcAppTableCell.js +0 -36
  421. package/dist/esm/elements/is/SwcAppTableCell.js.map +0 -7
  422. package/dist/esm/elements/is/SwcAppTableRow.js +0 -36
  423. package/dist/esm/elements/is/SwcAppTableRow.js.map +0 -7
  424. package/dist/esm/elements/is/SwcAppTableSection.js +0 -36
  425. package/dist/esm/elements/is/SwcAppTableSection.js.map +0 -7
  426. package/dist/esm/elements/is/SwcAppTemplate.js +0 -36
  427. package/dist/esm/elements/is/SwcAppTemplate.js.map +0 -7
  428. package/dist/esm/elements/is/SwcAppTextArea.js +0 -36
  429. package/dist/esm/elements/is/SwcAppTextArea.js.map +0 -7
  430. package/dist/esm/elements/is/SwcAppTime.js +0 -36
  431. package/dist/esm/elements/is/SwcAppTime.js.map +0 -7
  432. package/dist/esm/elements/is/SwcAppTitle.js +0 -36
  433. package/dist/esm/elements/is/SwcAppTitle.js.map +0 -7
  434. package/dist/esm/elements/is/SwcAppTrack.js +0 -36
  435. package/dist/esm/elements/is/SwcAppTrack.js.map +0 -7
  436. package/dist/esm/elements/is/SwcAppUl.js +0 -36
  437. package/dist/esm/elements/is/SwcAppUl.js.map +0 -7
  438. package/dist/esm/elements/is/SwcAppVideo.js +0 -36
  439. package/dist/esm/elements/is/SwcAppVideo.js.map +0 -7
  440. package/dist/esm/elements/is/index.js +0 -58
  441. package/dist/esm/elements/is/index.js.map +0 -7
  442. package/dist/types/elements/SwcApp.d.ts +0 -9
  443. package/dist/types/elements/SwcApp.d.ts.map +0 -1
  444. package/dist/types/elements/is/SwcAppAnchor.d.ts +0 -9
  445. package/dist/types/elements/is/SwcAppAnchor.d.ts.map +0 -1
  446. package/dist/types/elements/is/SwcAppArea.d.ts +0 -9
  447. package/dist/types/elements/is/SwcAppArea.d.ts.map +0 -1
  448. package/dist/types/elements/is/SwcAppAudio.d.ts +0 -9
  449. package/dist/types/elements/is/SwcAppAudio.d.ts.map +0 -1
  450. package/dist/types/elements/is/SwcAppBase.d.ts +0 -9
  451. package/dist/types/elements/is/SwcAppBase.d.ts.map +0 -1
  452. package/dist/types/elements/is/SwcAppBody.d.ts +0 -9
  453. package/dist/types/elements/is/SwcAppBody.d.ts.map +0 -1
  454. package/dist/types/elements/is/SwcAppButton.d.ts +0 -9
  455. package/dist/types/elements/is/SwcAppButton.d.ts.map +0 -1
  456. package/dist/types/elements/is/SwcAppCanvas.d.ts +0 -9
  457. package/dist/types/elements/is/SwcAppCanvas.d.ts.map +0 -1
  458. package/dist/types/elements/is/SwcAppData.d.ts +0 -9
  459. package/dist/types/elements/is/SwcAppData.d.ts.map +0 -1
  460. package/dist/types/elements/is/SwcAppDataList.d.ts +0 -9
  461. package/dist/types/elements/is/SwcAppDataList.d.ts.map +0 -1
  462. package/dist/types/elements/is/SwcAppDetails.d.ts +0 -9
  463. package/dist/types/elements/is/SwcAppDetails.d.ts.map +0 -1
  464. package/dist/types/elements/is/SwcAppDialog.d.ts +0 -9
  465. package/dist/types/elements/is/SwcAppDialog.d.ts.map +0 -1
  466. package/dist/types/elements/is/SwcAppDiv.d.ts +0 -9
  467. package/dist/types/elements/is/SwcAppDiv.d.ts.map +0 -1
  468. package/dist/types/elements/is/SwcAppDl.d.ts +0 -9
  469. package/dist/types/elements/is/SwcAppDl.d.ts.map +0 -1
  470. package/dist/types/elements/is/SwcAppEmbed.d.ts +0 -9
  471. package/dist/types/elements/is/SwcAppEmbed.d.ts.map +0 -1
  472. package/dist/types/elements/is/SwcAppFieldSet.d.ts +0 -9
  473. package/dist/types/elements/is/SwcAppFieldSet.d.ts.map +0 -1
  474. package/dist/types/elements/is/SwcAppForm.d.ts +0 -9
  475. package/dist/types/elements/is/SwcAppForm.d.ts.map +0 -1
  476. package/dist/types/elements/is/SwcAppHeading.d.ts +0 -9
  477. package/dist/types/elements/is/SwcAppHeading.d.ts.map +0 -1
  478. package/dist/types/elements/is/SwcAppHr.d.ts +0 -9
  479. package/dist/types/elements/is/SwcAppHr.d.ts.map +0 -1
  480. package/dist/types/elements/is/SwcAppIFrame.d.ts +0 -9
  481. package/dist/types/elements/is/SwcAppIFrame.d.ts.map +0 -1
  482. package/dist/types/elements/is/SwcAppImage.d.ts +0 -9
  483. package/dist/types/elements/is/SwcAppImage.d.ts.map +0 -1
  484. package/dist/types/elements/is/SwcAppInput.d.ts +0 -9
  485. package/dist/types/elements/is/SwcAppInput.d.ts.map +0 -1
  486. package/dist/types/elements/is/SwcAppLabel.d.ts +0 -9
  487. package/dist/types/elements/is/SwcAppLabel.d.ts.map +0 -1
  488. package/dist/types/elements/is/SwcAppLegend.d.ts +0 -9
  489. package/dist/types/elements/is/SwcAppLegend.d.ts.map +0 -1
  490. package/dist/types/elements/is/SwcAppLi.d.ts +0 -9
  491. package/dist/types/elements/is/SwcAppLi.d.ts.map +0 -1
  492. package/dist/types/elements/is/SwcAppLink.d.ts +0 -9
  493. package/dist/types/elements/is/SwcAppLink.d.ts.map +0 -1
  494. package/dist/types/elements/is/SwcAppMap.d.ts +0 -9
  495. package/dist/types/elements/is/SwcAppMap.d.ts.map +0 -1
  496. package/dist/types/elements/is/SwcAppMeta.d.ts +0 -9
  497. package/dist/types/elements/is/SwcAppMeta.d.ts.map +0 -1
  498. package/dist/types/elements/is/SwcAppMeter.d.ts +0 -9
  499. package/dist/types/elements/is/SwcAppMeter.d.ts.map +0 -1
  500. package/dist/types/elements/is/SwcAppMod.d.ts +0 -9
  501. package/dist/types/elements/is/SwcAppMod.d.ts.map +0 -1
  502. package/dist/types/elements/is/SwcAppObject.d.ts +0 -9
  503. package/dist/types/elements/is/SwcAppObject.d.ts.map +0 -1
  504. package/dist/types/elements/is/SwcAppOl.d.ts +0 -9
  505. package/dist/types/elements/is/SwcAppOl.d.ts.map +0 -1
  506. package/dist/types/elements/is/SwcAppOptGroup.d.ts +0 -9
  507. package/dist/types/elements/is/SwcAppOptGroup.d.ts.map +0 -1
  508. package/dist/types/elements/is/SwcAppOption.d.ts +0 -9
  509. package/dist/types/elements/is/SwcAppOption.d.ts.map +0 -1
  510. package/dist/types/elements/is/SwcAppOutput.d.ts +0 -9
  511. package/dist/types/elements/is/SwcAppOutput.d.ts.map +0 -1
  512. package/dist/types/elements/is/SwcAppParagraph.d.ts +0 -9
  513. package/dist/types/elements/is/SwcAppParagraph.d.ts.map +0 -1
  514. package/dist/types/elements/is/SwcAppParam.d.ts +0 -9
  515. package/dist/types/elements/is/SwcAppParam.d.ts.map +0 -1
  516. package/dist/types/elements/is/SwcAppPicture.d.ts +0 -9
  517. package/dist/types/elements/is/SwcAppPicture.d.ts.map +0 -1
  518. package/dist/types/elements/is/SwcAppPre.d.ts +0 -9
  519. package/dist/types/elements/is/SwcAppPre.d.ts.map +0 -1
  520. package/dist/types/elements/is/SwcAppProgress.d.ts +0 -9
  521. package/dist/types/elements/is/SwcAppProgress.d.ts.map +0 -1
  522. package/dist/types/elements/is/SwcAppQuote.d.ts +0 -9
  523. package/dist/types/elements/is/SwcAppQuote.d.ts.map +0 -1
  524. package/dist/types/elements/is/SwcAppScript.d.ts +0 -9
  525. package/dist/types/elements/is/SwcAppScript.d.ts.map +0 -1
  526. package/dist/types/elements/is/SwcAppSelect.d.ts +0 -9
  527. package/dist/types/elements/is/SwcAppSelect.d.ts.map +0 -1
  528. package/dist/types/elements/is/SwcAppSlot.d.ts +0 -9
  529. package/dist/types/elements/is/SwcAppSlot.d.ts.map +0 -1
  530. package/dist/types/elements/is/SwcAppSource.d.ts +0 -9
  531. package/dist/types/elements/is/SwcAppSource.d.ts.map +0 -1
  532. package/dist/types/elements/is/SwcAppSpan.d.ts +0 -9
  533. package/dist/types/elements/is/SwcAppSpan.d.ts.map +0 -1
  534. package/dist/types/elements/is/SwcAppStyle.d.ts +0 -9
  535. package/dist/types/elements/is/SwcAppStyle.d.ts.map +0 -1
  536. package/dist/types/elements/is/SwcAppTable.d.ts +0 -9
  537. package/dist/types/elements/is/SwcAppTable.d.ts.map +0 -1
  538. package/dist/types/elements/is/SwcAppTableCell.d.ts +0 -9
  539. package/dist/types/elements/is/SwcAppTableCell.d.ts.map +0 -1
  540. package/dist/types/elements/is/SwcAppTableRow.d.ts +0 -9
  541. package/dist/types/elements/is/SwcAppTableRow.d.ts.map +0 -1
  542. package/dist/types/elements/is/SwcAppTableSection.d.ts +0 -9
  543. package/dist/types/elements/is/SwcAppTableSection.d.ts.map +0 -1
  544. package/dist/types/elements/is/SwcAppTemplate.d.ts +0 -9
  545. package/dist/types/elements/is/SwcAppTemplate.d.ts.map +0 -1
  546. package/dist/types/elements/is/SwcAppTextArea.d.ts +0 -9
  547. package/dist/types/elements/is/SwcAppTextArea.d.ts.map +0 -1
  548. package/dist/types/elements/is/SwcAppTime.d.ts +0 -9
  549. package/dist/types/elements/is/SwcAppTime.d.ts.map +0 -1
  550. package/dist/types/elements/is/SwcAppTitle.d.ts +0 -9
  551. package/dist/types/elements/is/SwcAppTitle.d.ts.map +0 -1
  552. package/dist/types/elements/is/SwcAppTrack.d.ts +0 -9
  553. package/dist/types/elements/is/SwcAppTrack.d.ts.map +0 -1
  554. package/dist/types/elements/is/SwcAppUl.d.ts +0 -9
  555. package/dist/types/elements/is/SwcAppUl.d.ts.map +0 -1
  556. package/dist/types/elements/is/SwcAppVideo.d.ts +0 -9
  557. package/dist/types/elements/is/SwcAppVideo.d.ts.map +0 -1
  558. package/dist/types/elements/is/index.d.ts +0 -58
  559. package/dist/types/elements/is/index.d.ts.map +0 -1
  560. package/src/elements/SwcApp.ts +0 -26
  561. package/src/elements/is/SwcAppAnchor.ts +0 -26
  562. package/src/elements/is/SwcAppArea.ts +0 -26
  563. package/src/elements/is/SwcAppAudio.ts +0 -26
  564. package/src/elements/is/SwcAppBase.ts +0 -26
  565. package/src/elements/is/SwcAppBody.ts +0 -26
  566. package/src/elements/is/SwcAppButton.ts +0 -26
  567. package/src/elements/is/SwcAppCanvas.ts +0 -26
  568. package/src/elements/is/SwcAppData.ts +0 -26
  569. package/src/elements/is/SwcAppDataList.ts +0 -26
  570. package/src/elements/is/SwcAppDetails.ts +0 -26
  571. package/src/elements/is/SwcAppDialog.ts +0 -26
  572. package/src/elements/is/SwcAppDiv.ts +0 -26
  573. package/src/elements/is/SwcAppDl.ts +0 -26
  574. package/src/elements/is/SwcAppEmbed.ts +0 -26
  575. package/src/elements/is/SwcAppFieldSet.ts +0 -26
  576. package/src/elements/is/SwcAppForm.ts +0 -26
  577. package/src/elements/is/SwcAppHeading.ts +0 -26
  578. package/src/elements/is/SwcAppHr.ts +0 -26
  579. package/src/elements/is/SwcAppIFrame.ts +0 -26
  580. package/src/elements/is/SwcAppImage.ts +0 -26
  581. package/src/elements/is/SwcAppInput.ts +0 -26
  582. package/src/elements/is/SwcAppLabel.ts +0 -26
  583. package/src/elements/is/SwcAppLegend.ts +0 -26
  584. package/src/elements/is/SwcAppLi.ts +0 -26
  585. package/src/elements/is/SwcAppLink.ts +0 -26
  586. package/src/elements/is/SwcAppMap.ts +0 -26
  587. package/src/elements/is/SwcAppMeta.ts +0 -26
  588. package/src/elements/is/SwcAppMeter.ts +0 -26
  589. package/src/elements/is/SwcAppMod.ts +0 -26
  590. package/src/elements/is/SwcAppObject.ts +0 -26
  591. package/src/elements/is/SwcAppOl.ts +0 -26
  592. package/src/elements/is/SwcAppOptGroup.ts +0 -26
  593. package/src/elements/is/SwcAppOption.ts +0 -26
  594. package/src/elements/is/SwcAppOutput.ts +0 -26
  595. package/src/elements/is/SwcAppParagraph.ts +0 -26
  596. package/src/elements/is/SwcAppParam.ts +0 -26
  597. package/src/elements/is/SwcAppPicture.ts +0 -26
  598. package/src/elements/is/SwcAppPre.ts +0 -26
  599. package/src/elements/is/SwcAppProgress.ts +0 -26
  600. package/src/elements/is/SwcAppQuote.ts +0 -26
  601. package/src/elements/is/SwcAppScript.ts +0 -26
  602. package/src/elements/is/SwcAppSelect.ts +0 -26
  603. package/src/elements/is/SwcAppSlot.ts +0 -26
  604. package/src/elements/is/SwcAppSource.ts +0 -26
  605. package/src/elements/is/SwcAppSpan.ts +0 -26
  606. package/src/elements/is/SwcAppStyle.ts +0 -26
  607. package/src/elements/is/SwcAppTable.ts +0 -26
  608. package/src/elements/is/SwcAppTableCell.ts +0 -26
  609. package/src/elements/is/SwcAppTableRow.ts +0 -26
  610. package/src/elements/is/SwcAppTableSection.ts +0 -26
  611. package/src/elements/is/SwcAppTemplate.ts +0 -26
  612. package/src/elements/is/SwcAppTextArea.ts +0 -26
  613. package/src/elements/is/SwcAppTime.ts +0 -26
  614. package/src/elements/is/SwcAppTitle.ts +0 -26
  615. package/src/elements/is/SwcAppTrack.ts +0 -26
  616. package/src/elements/is/SwcAppUl.ts +0 -26
  617. package/src/elements/is/SwcAppVideo.ts +0 -26
  618. package/src/elements/is/index.ts +0 -57
@@ -19,493 +19,402 @@ var elementDefine_exports = {};
19
19
  __export(elementDefine_exports, {
20
20
  ELEMENT_CONFIG_KEY: () => ELEMENT_CONFIG_KEY,
21
21
  elementDefine: () => elementDefine,
22
+ ensureInit: () => ensureInit,
22
23
  getElementConfig: () => getElementConfig
23
24
  });
24
25
  module.exports = __toCommonJS(elementDefine_exports);
25
- var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
- var import_FunctionUtils = require("@dooboostore/core/function/FunctionUtils");
26
+ var import_core = require("@dooboostore/core");
27
+ var import_core2 = require("@dooboostore/core");
27
28
  var import_onConnectedInnerHtml = require("./onConnectedInnerHtml");
28
29
  var import_addEventListener = require("./addEventListener");
29
30
  var import_lifecycles = require("./lifecycles");
30
31
  var import_emitCustomEvent = require("./emitCustomEvent");
31
32
  var import_changedAttribute = require("./changedAttribute");
32
33
  var import_setAttribute = require("./setAttribute");
33
- var import_replaceChildren = require("./replaceChildren");
34
- var import_appendChild = require("./appendChild");
34
+ var import_attribute = require("./attribute");
35
35
  var import_Utils = require("../utils/Utils");
36
36
  var import_config = require("../config/config");
37
37
  var import_Inject = require("@dooboostore/simple-boot/decorators/inject/Inject");
38
38
  var import_types = require("../types");
39
39
  const ELEMENT_CONFIG_KEY = Symbol("simple-web-component:element-config");
40
+ const getElementConfig = (target) => {
41
+ const constructor = target instanceof Function ? target : target.constructor;
42
+ return import_core.ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);
43
+ };
44
+ const ensureInit = (inst) => {
45
+ if (!inst.__swc_initialized) {
46
+ inst._swcId = Math.random().toString(36).substring(2, 11);
47
+ inst._emitHandlers = /* @__PURE__ */ new Map();
48
+ inst._boundListeners = [];
49
+ inst.__swc_initialized = true;
50
+ const hostSet = import_Utils.SwcUtils.getHostSet(inst);
51
+ inst._executeSwcScript?.("swc-on-constructor", hostSet);
52
+ }
53
+ };
40
54
  const globalDelegatedRoots = /* @__PURE__ */ new WeakSet();
55
+ const handleGlobalSwcEvent = async (event) => {
56
+ if (event.__swc_handled) return;
57
+ const path = event.composedPath();
58
+ const type = event.type;
59
+ const attrName = `swc-on-${type}`;
60
+ for (const node of path) {
61
+ if (!(node instanceof HTMLElement)) continue;
62
+ const script = node.getAttribute?.(attrName);
63
+ if (script && !getElementConfig(node)) {
64
+ const host = import_Utils.SwcUtils.findNearestSwcHost(node);
65
+ if (host && host.isConnected && typeof host.__swc_executeAttributeEvent === "function") {
66
+ await host.__swc_executeAttributeEvent(node, attrName, script, event);
67
+ event.__swc_handled = true;
68
+ break;
69
+ }
70
+ }
71
+ }
72
+ };
41
73
  function buildEnv(configWindow) {
42
74
  const win = configWindow || (typeof window !== "undefined" ? window : void 0);
43
75
  const doc = win?.document;
44
76
  const builtInTagMap = /* @__PURE__ */ new Map();
45
77
  for (const [cls, tag] of import_config.HTML_TAG_ENTRIES) {
46
- if (win?.[cls])
47
- builtInTagMap.set(win[cls], tag);
78
+ if (win?.[cls]) builtInTagMap.set(win[cls], tag);
48
79
  }
49
80
  const domHelpers = import_Utils.SwcUtils.getHelperSet(win);
50
81
  return { win, doc, builtInTagMap, domHelpers };
51
82
  }
52
83
  const getHandlers = (inst) => {
53
- if (!inst.__swc_attributeEventHandlers)
54
- inst.__swc_attributeEventHandlers = /* @__PURE__ */ new Map();
84
+ if (!inst.__swc_attributeEventHandlers) inst.__swc_attributeEventHandlers = /* @__PURE__ */ new Map();
55
85
  return inst.__swc_attributeEventHandlers;
56
86
  };
57
- const elementDefine = (inConfig) => (constructor) => {
58
- const config = typeof inConfig === "string" ? { name: inConfig } : inConfig;
87
+ const setupPrototype = (proto) => {
88
+ if (proto.__swc_proto_setup) return;
89
+ proto.__swc_proto_setup = true;
90
+ proto._executeSwcScript = function(attrName, hostSet, extraArgs = {}) {
91
+ ensureInit(this);
92
+ const script = this.getAttribute(attrName);
93
+ if (script) {
94
+ try {
95
+ const conf = getElementConfig(this);
96
+ const currentWin = this._resolveWindow(conf);
97
+ const helpers = import_Utils.SwcUtils.getHelperSet(currentWin);
98
+ const args = { ...hostSet, ...helpers, ...extraArgs, $el: this, $root: this.getRootNode() };
99
+ import_core2.FunctionUtils.execute({ script, context: this, args });
100
+ } catch (e) {
101
+ console.error(`[SWC] Failed to execute ${attrName}:`, e);
102
+ }
103
+ }
104
+ };
105
+ proto._resolveWindow = function(localConfig) {
106
+ ensureInit(this);
107
+ if (localConfig?.window) return localConfig.window;
108
+ const ancestors = import_Utils.SwcUtils.findAllSwcHosts(this);
109
+ for (let i = ancestors.length - 1; i >= 0; i--) {
110
+ const aConf = getElementConfig(ancestors[i]);
111
+ if (aConf?.window) return aConf.window;
112
+ }
113
+ return typeof window !== "undefined" ? window : void 0;
114
+ };
115
+ proto._invokeLifecycleMethod = function(methodName, hostSet, extraArgs = []) {
116
+ ensureInit(this);
117
+ if (typeof this[methodName] !== "function") return;
118
+ const app = hostSet.$appHost?.simpleApplication;
119
+ if (app) {
120
+ const otherStorage = /* @__PURE__ */ new Map();
121
+ const situations = new import_Inject.SituationTypeContainers([new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOST_SET, data: hostSet }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.APP_HOST, data: hostSet.$appHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOST, data: hostSet.$host }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOSTS, data: hostSet.$hosts }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);
122
+ otherStorage.set(import_Inject.SituationTypeContainers, situations);
123
+ return app.simstanceManager.executeBindParameterSimPromise(
124
+ {
125
+ target: this,
126
+ targetKey: methodName,
127
+ inputParameters: extraArgs
128
+ },
129
+ otherStorage
130
+ );
131
+ } else {
132
+ return this[methodName](...extraArgs);
133
+ }
134
+ };
135
+ proto._bindAttributeEvent = function(el, attrName, script, eventName) {
136
+ ensureInit(this);
137
+ if (!eventName) {
138
+ if (!attrName.startsWith("swc-on-")) return;
139
+ eventName = attrName.substring(7);
140
+ }
141
+ const elHandlers = getHandlers(this);
142
+ let handlers = elHandlers.get(el);
143
+ if (!handlers) {
144
+ handlers = /* @__PURE__ */ new Map();
145
+ elHandlers.set(el, handlers);
146
+ }
147
+ const oldHandler = handlers.get(attrName);
148
+ if (oldHandler) el.removeEventListener(eventName, oldHandler);
149
+ const handler = async (event) => {
150
+ const hostSet = import_Utils.SwcUtils.getHostSet(el);
151
+ const conf = getElementConfig(this);
152
+ const currentWin = this._resolveWindow(conf);
153
+ const helpers = import_Utils.SwcUtils.getHelperSet(currentWin);
154
+ const args = {
155
+ event,
156
+ $data: event.detail,
157
+ ...hostSet,
158
+ ...helpers,
159
+ $el: el,
160
+ $root: this.getRootNode()
161
+ };
162
+ await import_core2.FunctionUtils.execute({ script, context: el, args });
163
+ };
164
+ el.addEventListener(eventName, handler);
165
+ handlers.set(attrName, handler);
166
+ };
167
+ proto.__swc_executeAttributeEvent = async function(el, attrName, script, event) {
168
+ ensureInit(this);
169
+ const hostSet = import_Utils.SwcUtils.getHostSet(el);
170
+ const conf = getElementConfig(this);
171
+ const currentWin = this._resolveWindow(conf);
172
+ const currentHelpers = import_Utils.SwcUtils.getHelperSet(currentWin);
173
+ const args = {
174
+ event,
175
+ $data: event.detail,
176
+ ...hostSet,
177
+ ...currentHelpers,
178
+ $el: el,
179
+ $root: this.getRootNode()
180
+ };
181
+ await import_core2.FunctionUtils.execute({ script, context: el, args });
182
+ };
183
+ };
184
+ const elementDefine = (name, config = {}) => (constructor) => {
59
185
  const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);
60
- config.window = win;
61
- let extendsTagName = config.extends;
186
+ const metadata = { ...config, name, window: win };
187
+ if (!metadata.window) {
188
+ throw new Error("window is required");
189
+ }
190
+ let extendsTagName = metadata.extends;
62
191
  if (!extendsTagName) {
63
- let proto = constructor;
64
- while (proto && proto !== HTMLElement && proto !== Function.prototype) {
65
- extendsTagName = BUILT_IN_TAG_MAP.get(proto);
66
- if (extendsTagName)
67
- break;
68
- proto = Object.getPrototypeOf(proto);
192
+ let proto2 = constructor;
193
+ const BaseHTMLElement = win.HTMLElement;
194
+ while (proto2 && proto2 !== BaseHTMLElement && proto2 !== Function.prototype) {
195
+ extendsTagName = BUILT_IN_TAG_MAP.get(proto2);
196
+ if (extendsTagName) break;
197
+ proto2 = Object.getPrototypeOf(proto2);
69
198
  }
70
- config.extends = extendsTagName;
199
+ metadata.extends = extendsTagName;
71
200
  }
72
201
  const emitCustomEventList = (0, import_emitCustomEvent.getEmitCustomEventMetadataList)(constructor) || [];
73
202
  const addEventListenerList = (0, import_addEventListener.getAddEventListenerMetadata)(constructor) || [];
74
203
  const attrChangeMap = (0, import_changedAttribute.findAllAttributeChangedMetadata)(constructor);
75
- const setAttrMap = (0, import_setAttribute.findAllSetAttributeMetadata)(constructor);
76
- const replaceChildrenMap = (0, import_replaceChildren.findAllReplaceChildrenMetadata)(constructor);
77
- const appendChildMap = (0, import_appendChild.findAllAppendChildMetadata)(constructor);
204
+ const attributeList = (0, import_attribute.findAllAttributeMetadata)(constructor);
78
205
  const swcLifecycleAttributes = ["swc-on-constructor", "swc-on-connected", "swc-on-disconnected", "swc-on-before-connected", "swc-on-after-connected", "swc-on-before-disconnected", "swc-on-after-disconnected", "swc-on-before-adopted", "swc-on-after-adopted", "swc-on-attribute-changed"];
79
206
  const swcOnEvents = import_config.DOM_EVENT_NAMES.map((e) => `swc-on-${e}`);
80
- const mergedObservedAttributes = [.../* @__PURE__ */ new Set([...config.observedAttributes ?? [], ...attrChangeMap.keys(), ...setAttrMap.keys(), ...emitCustomEventList.map((it) => it.options.attributeName), ...swcLifecycleAttributes, ...swcOnEvents])];
207
+ const mergedObservedAttributes = [.../* @__PURE__ */ new Set([...metadata.observedAttributes ?? [], ...attrChangeMap.keys(), ...Array.from((0, import_setAttribute.findAllSetAttributeMetadata)(constructor).values()).map((it) => it.name), ...attributeList.map((it) => it.options.name || String(it.propertyKey)), ...emitCustomEventList.map((it) => it.options.attributeName), ...swcLifecycleAttributes, ...swcOnEvents])];
81
208
  const connectedInnerHtmlList = (0, import_onConnectedInnerHtml.getOnConnectedInnerHtmlMetadata)(constructor) || [];
82
- const NewClass = class extends constructor {
83
- _executeSwcScript(attrName, hostSet, extraArgs = {}) {
84
- const script = this.getAttribute(attrName);
85
- if (script) {
86
- try {
87
- const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };
88
- import_FunctionUtils.FunctionUtils.execute({ script, context: this, args });
89
- } catch (e) {
90
- console.error(`[SWC] Failed to execute ${attrName}:`, e);
91
- }
92
- }
209
+ const proto = constructor.prototype;
210
+ setupPrototype(proto);
211
+ const originalConnected = proto.connectedCallback;
212
+ proto.connectedCallback = function() {
213
+ ensureInit(this);
214
+ if (connectedInnerHtmlList.some((it) => it.options.useShadow === true) && !this.shadowRoot) {
215
+ this.attachShadow({ mode: "open" });
93
216
  }
94
- async _invokeLifecycleMethod(methodName, hostSet, extraArgs = []) {
95
- if (typeof this[methodName] !== "function")
96
- return;
97
- const app = hostSet.$appHost?.simpleApplication;
98
- if (app) {
99
- const otherStorage = /* @__PURE__ */ new Map();
100
- const situations = new import_Inject.SituationTypeContainers([new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOST_SET, data: hostSet }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.APP_HOST, data: hostSet.$appHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOST, data: hostSet.$host }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.HOSTS, data: hostSet.$hosts }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new import_Inject.SituationTypeContainer({ situationType: import_types.InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);
101
- otherStorage.set(import_Inject.SituationTypeContainers, situations);
102
- return app.simstanceManager.executeBindParameterSimPromise({
103
- target: this,
104
- targetKey: methodName,
105
- inputParameters: extraArgs
106
- }, otherStorage);
107
- } else {
108
- return this[methodName](...extraArgs);
109
- }
217
+ const conf = getElementConfig(this);
218
+ const currentWin = this._resolveWindow(conf);
219
+ const hostSet = import_Utils.SwcUtils.getHostSet(this);
220
+ this._executeSwcScript("swc-on-before-connected", hostSet);
221
+ const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_CONNECTED_METADATA_KEY);
222
+ if (bMethods) {
223
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
110
224
  }
111
- _bindAttributeEvent(el, attrName, script, eventName) {
112
- if (!eventName) {
113
- if (!attrName.startsWith("swc-on-"))
114
- return;
115
- eventName = attrName.substring(7);
116
- }
117
- if (swcLifecycleAttributes.includes(attrName))
118
- return;
119
- const elHandlers = getHandlers(this);
120
- let handlers = elHandlers.get(el);
121
- if (!handlers) {
122
- handlers = /* @__PURE__ */ new Map();
123
- elHandlers.set(el, handlers);
124
- }
125
- const oldHandler = handlers.get(attrName);
126
- if (oldHandler)
127
- el.removeEventListener(eventName, oldHandler);
128
- const handler = (event) => {
129
- const hostSet = import_Utils.SwcUtils.getHostSet(el);
130
- const args = {
131
- event,
132
- $data: event.detail,
133
- ...hostSet,
134
- ...SWC_DOM_HELPERS
135
- };
136
- import_FunctionUtils.FunctionUtils.execute({ script, context: el, args });
137
- };
138
- el.addEventListener(eventName, handler);
139
- handlers.set(attrName, handler);
140
- }
141
- constructor(...args) {
142
- super(...args);
143
- this._swcId = Math.random().toString(36).substring(2, 11);
144
- this._emitHandlers = /* @__PURE__ */ new Map();
145
- this._boundListeners = [];
146
- const hostSet = import_Utils.SwcUtils.getHostSet(this);
147
- this._executeSwcScript("swc-on-constructor", hostSet);
148
- if (connectedInnerHtmlList.some((it) => it.options.useShadow === true) && !this.shadowRoot) {
149
- this.attachShadow({ mode: "open" });
150
- }
151
- }
152
- static get observedAttributes() {
153
- return mergedObservedAttributes;
154
- }
155
- async connectedCallback() {
156
- const conf = getElementConfig(this);
157
- const currentWin = conf?.window || window;
158
- const currentDoc = currentWin.document;
159
- const hostSet = import_Utils.SwcUtils.getHostSet(this);
160
- this._executeSwcScript("swc-on-before-connected", hostSet);
161
- const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_CONNECTED_METADATA_KEY);
162
- if (bMethods) {
163
- for (const m of bMethods)
164
- await this._invokeLifecycleMethod(m, hostSet);
165
- }
166
- if (typeof this.initCore === "function")
167
- this.initCore();
168
- if (connectedInnerHtmlList.length > 0) {
169
- let sContent = "", lContent = "";
170
- for (const meta of connectedInnerHtmlList) {
171
- const res = await this[meta.propertyKey]();
172
- if (res !== void 0) {
173
- if (meta.options.useShadow)
174
- sContent += res;
175
- else
176
- lContent += res;
225
+ attributeList.forEach((meta) => {
226
+ const attrName = meta.options.name || String(meta.propertyKey);
227
+ if (meta.options.connectedInitialize) {
228
+ const memoryVal = this[meta.privateKey];
229
+ if (memoryVal !== void 0) {
230
+ this.__swc_syncing_init = true;
231
+ try {
232
+ this[meta.propertyKey] = memoryVal;
233
+ } finally {
234
+ this.__swc_syncing_init = false;
177
235
  }
178
236
  }
179
- if (this.shadowRoot)
180
- this.shadowRoot.innerHTML = sContent;
181
- if (lContent)
182
- this.innerHTML = lContent;
183
- }
184
- const createDelegationHandler = (delegateHost) => (event) => {
185
- if (event.__swc_handled)
186
- return;
187
- const path = event.composedPath();
188
- const type = event.type;
189
- const attrName = `swc-on-${type}`;
190
- for (const node of path) {
191
- if (node === delegateHost)
192
- break;
193
- if (!(node instanceof HTMLElement))
194
- continue;
195
- const script = node.getAttribute?.(attrName);
196
- if (script && !getElementConfig(node)) {
197
- const host = import_Utils.SwcUtils.findNearestSwcHost(node);
198
- if (host) {
199
- const childHostSet = import_Utils.SwcUtils.getHostSet(node);
200
- const args = {
201
- event,
202
- $data: event.detail,
203
- ...childHostSet,
204
- ...SWC_DOM_HELPERS
205
- };
206
- import_FunctionUtils.FunctionUtils.execute({ script, context: node, args });
207
- event.__swc_handled = true;
208
- break;
209
- }
237
+ } else if (meta.selector === ":host" || !meta.selector) {
238
+ const domVal = this.getAttribute(attrName);
239
+ if (domVal !== null) {
240
+ this.__swc_syncing_init = true;
241
+ try {
242
+ this[meta.propertyKey] = domVal;
243
+ } finally {
244
+ this.__swc_syncing_init = false;
210
245
  }
211
246
  }
212
- };
213
- import_config.DOM_EVENT_NAMES.forEach((type) => {
214
- const handler = createDelegationHandler(this);
215
- this.addEventListener(type, handler);
216
- this._boundListeners.push({ target: this, type, handler });
217
- });
218
- const hasParentHost = import_Utils.SwcUtils.findAllSwcHosts(this).length > 0;
219
- if (!hasParentHost) {
220
- const root = this.getRootNode();
221
- if (!globalDelegatedRoots.has(root)) {
222
- import_config.DOM_EVENT_NAMES.forEach((type) => {
223
- const handler = createDelegationHandler(root);
224
- root.addEventListener(type, handler);
225
- });
226
- globalDelegatedRoots.add(root);
247
+ }
248
+ });
249
+ if (connectedInnerHtmlList.length > 0) {
250
+ let sContent = "", lContent = "";
251
+ for (const meta of connectedInnerHtmlList) {
252
+ const res = this[meta.propertyKey]();
253
+ if (res !== void 0) {
254
+ if (meta.options.useShadow) sContent += res;
255
+ else lContent += res;
227
256
  }
228
257
  }
229
- addEventListenerList.forEach((meta) => {
230
- const { selector, type, options } = meta;
231
- const { root, capture, once, passive, stopPropagation, stopImmediatePropagation, preventDefault, delegate, removeOnDisconnected } = options;
232
- const opts = { capture, once, passive };
233
- const bindTargets = [];
234
- if (selector === ":window") {
235
- bindTargets.push(currentWin);
236
- } else if (selector === ":document") {
237
- bindTargets.push(currentDoc);
238
- } else if (selector === ":parentHost") {
239
- if (hostSet.$parentHost)
240
- bindTargets.push(hostSet.$parentHost);
241
- } else if (selector === ":appHost") {
242
- if (hostSet.$appHost)
243
- bindTargets.push(hostSet.$appHost);
244
- } else if (selector === ":firstHost") {
245
- if (hostSet.$firstHost)
246
- bindTargets.push(hostSet.$firstHost);
247
- } else if (selector === ":lastHost") {
248
- if (hostSet.$lastHost)
249
- bindTargets.push(hostSet.$lastHost);
250
- } else if (selector === ":firstAppHost") {
251
- if (hostSet.$firstAppHost)
252
- bindTargets.push(hostSet.$firstAppHost);
253
- } else if (selector === ":lastAppHost") {
254
- if (hostSet.$lastAppHost)
255
- bindTargets.push(hostSet.$lastAppHost);
256
- } else if (!selector || selector === ":host") {
257
- bindTargets.push(this);
258
- } else if (delegate) {
259
- const bindRoots = [];
260
- const r = root || "auto";
261
- if (r === "auto")
262
- bindRoots.push(this.shadowRoot || this);
263
- else if (r === "light")
264
- bindRoots.push(this);
265
- else if (r === "shadow") {
266
- if (this.shadowRoot)
267
- bindRoots.push(this.shadowRoot);
268
- } else if (r === "all") {
269
- bindRoots.push(this);
270
- if (this.shadowRoot)
271
- bindRoots.push(this.shadowRoot);
272
- }
273
- bindRoots.forEach((br) => {
274
- const handler = (event) => {
275
- const matchedEl = event.target.closest(selector);
276
- if (matchedEl && br.contains(matchedEl)) {
277
- if (stopPropagation)
278
- event.stopPropagation();
279
- if (stopImmediatePropagation)
280
- event.stopImmediatePropagation();
281
- if (preventDefault)
282
- event.preventDefault();
283
- const currentHostSet = import_Utils.SwcUtils.getHostSet(this);
284
- this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, matchedEl]);
285
- }
286
- };
287
- br.addEventListener(type, handler, opts);
288
- const self = this;
289
- if (removeOnDisconnected === true || br !== self && br !== self.shadowRoot) {
290
- this._boundListeners.push({ target: br, type, handler, options: opts });
291
- }
292
- });
258
+ if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;
259
+ if (lContent) this.innerHTML = lContent;
260
+ }
261
+ const root = this.getRootNode();
262
+ if (!globalDelegatedRoots.has(root)) {
263
+ import_config.DOM_EVENT_NAMES.forEach((type) => {
264
+ root.addEventListener(type, handleGlobalSwcEvent);
265
+ });
266
+ globalDelegatedRoots.add(root);
267
+ }
268
+ addEventListenerList.forEach((meta) => {
269
+ const { selector, type, options } = meta;
270
+ const opts = { capture: options.capture, once: options.once, passive: options.passive };
271
+ const bindTargets = [];
272
+ const r = options.root || "auto";
273
+ const applyRootOption = (target) => {
274
+ if (!target) return;
275
+ if (r === "auto") {
276
+ bindTargets.push(target.shadowRoot || target);
293
277
  } else {
294
- const searchRoots = [];
295
- const r = root || "auto";
296
- if (r === "auto")
297
- searchRoots.push(this.shadowRoot || this);
298
- else if (r === "light")
299
- searchRoots.push(this);
300
- else if (r === "shadow") {
301
- if (this.shadowRoot)
302
- searchRoots.push(this.shadowRoot);
303
- } else if (r === "all") {
304
- searchRoots.push(this);
305
- if (this.shadowRoot)
306
- searchRoots.push(this.shadowRoot);
307
- }
308
- searchRoots.forEach((sr) => {
309
- sr.querySelectorAll(selector).forEach((el) => bindTargets.push(el));
310
- });
278
+ if (r === "light" || r === "all") bindTargets.push(target);
279
+ if ((r === "shadow" || r === "all") && target.shadowRoot) bindTargets.push(target.shadowRoot);
311
280
  }
312
- bindTargets.forEach((target) => {
313
- const handler = (event) => {
314
- if (stopPropagation)
315
- event.stopPropagation();
316
- if (stopImmediatePropagation)
317
- event.stopImmediatePropagation();
318
- if (preventDefault)
319
- event.preventDefault();
320
- const currentHostSet = import_Utils.SwcUtils.getHostSet(this);
321
- this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet]);
281
+ };
282
+ if (selector === ":window") bindTargets.push(currentWin);
283
+ else if (selector === ":document") bindTargets.push(currentWin.document);
284
+ else if (selector === ":parentHost") applyRootOption(hostSet.$parentHost);
285
+ else if (selector === ":appHost") applyRootOption(hostSet.$appHost);
286
+ else if (selector === ":firstHost") applyRootOption(hostSet.$firstHost);
287
+ else if (selector === ":lastHost") applyRootOption(hostSet.$lastHost);
288
+ else if (selector === ":firstAppHost") applyRootOption(hostSet.$firstAppHost);
289
+ else if (selector === ":lastAppHost") applyRootOption(hostSet.$lastAppHost);
290
+ else if (selector === ":hosts") hostSet.$hosts.forEach(applyRootOption);
291
+ else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRootOption);
292
+ else if (selector === ":host" || !selector) applyRootOption(this);
293
+ else if (options.delegate) {
294
+ const bindRoots = [];
295
+ if (r === "auto") bindRoots.push(this.shadowRoot || this);
296
+ else if (r === "light") bindRoots.push(this);
297
+ else if (r === "shadow" && this.shadowRoot) bindRoots.push(this.shadowRoot);
298
+ else if (r === "all") {
299
+ bindRoots.push(this);
300
+ if (this.shadowRoot) bindRoots.push(this.shadowRoot);
301
+ }
302
+ bindRoots.forEach((br) => {
303
+ const handler = async (event) => {
304
+ const matchedEl = event.target.closest(selector);
305
+ if (matchedEl && br.contains(matchedEl)) {
306
+ if (options.stopPropagation) event.stopPropagation();
307
+ if (options.stopImmediatePropagation) event.stopImmediatePropagation();
308
+ if (options.preventDefault) event.preventDefault();
309
+ const currentHostSet = import_Utils.SwcUtils.getHostSet(this);
310
+ const args = { event, ...currentHostSet, $el: matchedEl, $root: br };
311
+ await this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, matchedEl, args]);
312
+ }
322
313
  };
323
- target.addEventListener(type, handler, opts);
324
- if (removeOnDisconnected === true || target === currentWin || target === currentDoc) {
325
- this._boundListeners.push({ target, type, handler, options: opts });
314
+ br.addEventListener(type, handler, opts);
315
+ if (options.removeOnDisconnected === true || br !== this && br !== this.shadowRoot) {
316
+ this._boundListeners.push({ target: br, type, handler, options: opts });
326
317
  }
327
318
  });
328
- });
329
- if (super.connectedCallback)
330
- await super.connectedCallback();
331
- const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_CONNECTED_METADATA_KEY);
332
- if (aMethods) {
333
- for (const m of aMethods)
334
- await this._invokeLifecycleMethod(m, hostSet);
319
+ } else {
320
+ const searchRoots = [];
321
+ if (r === "auto") searchRoots.push(this.shadowRoot || this);
322
+ else if (r === "light") searchRoots.push(this);
323
+ else if (r === "shadow" && this.shadowRoot) searchRoots.push(this.shadowRoot);
324
+ else if (r === "all") {
325
+ searchRoots.push(this);
326
+ if (this.shadowRoot) searchRoots.push(this.shadowRoot);
327
+ }
328
+ searchRoots.forEach((sr) => {
329
+ sr.querySelectorAll(selector).forEach((el) => bindTargets.push(el));
330
+ });
335
331
  }
336
- this._executeSwcScript("swc-on-connected", hostSet);
337
- this._executeSwcScript("swc-on-after-connected", hostSet);
332
+ bindTargets.forEach((t) => {
333
+ const handler = async (event) => {
334
+ if (options.stopPropagation) event.stopPropagation();
335
+ if (options.stopImmediatePropagation) event.stopImmediatePropagation();
336
+ if (options.preventDefault) event.preventDefault();
337
+ const currentHostSet = import_Utils.SwcUtils.getHostSet(this);
338
+ const args = { event, ...currentHostSet, $el: t, $root: t };
339
+ await this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, args]);
340
+ };
341
+ t.addEventListener(type, handler, opts);
342
+ if (options.removeOnDisconnected === true || t === currentWin || t === currentWin.document) {
343
+ this._boundListeners.push({ target: t, type, handler, options: opts });
344
+ }
345
+ });
346
+ });
347
+ if (originalConnected) originalConnected.apply(this);
348
+ const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_CONNECTED_METADATA_KEY);
349
+ if (aMethods) {
350
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
338
351
  }
339
- disconnectedCallback() {
340
- const hostSet = import_Utils.SwcUtils.getHostSet(this);
341
- this._executeSwcScript("swc-on-before-disconnected", hostSet);
342
- const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_DISCONNECTED_METADATA_KEY);
343
- if (bMethods)
344
- bMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
352
+ this._executeSwcScript("swc-on-connected", hostSet);
353
+ this._executeSwcScript("swc-on-after-connected", hostSet);
354
+ this.__swc_connected = true;
355
+ };
356
+ const originalDisconnected = proto.disconnectedCallback;
357
+ proto.disconnectedCallback = function() {
358
+ const hostSet = import_Utils.SwcUtils.getHostSet(this);
359
+ this._executeSwcScript("swc-on-before-disconnected", hostSet);
360
+ const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_DISCONNECTED_METADATA_KEY);
361
+ if (bMethods) {
362
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
363
+ }
364
+ if (this._boundListeners) {
345
365
  this._boundListeners.forEach((l) => l.target.removeEventListener(l.type, l.handler, l.options));
346
366
  this._boundListeners = [];
347
- if (super.disconnectedCallback)
348
- super.disconnectedCallback();
349
- const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_DISCONNECTED_METADATA_KEY);
350
- if (aMethods)
351
- aMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
352
- this._executeSwcScript("swc-on-disconnected", hostSet);
353
- this._executeSwcScript("swc-on-after-disconnected", hostSet);
354
- }
355
- adoptedCallback() {
356
- const hostSet = import_Utils.SwcUtils.getHostSet(this);
357
- this._executeSwcScript("swc-on-before-adopted", hostSet);
358
- const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_ADOPTED_METADATA_KEY);
359
- if (bMethods)
360
- bMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
361
- if (super.adoptedCallback)
362
- super.adoptedCallback();
363
- const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_ADOPTED_METADATA_KEY);
364
- if (aMethods)
365
- aMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
366
- this._executeSwcScript("swc-on-adopted", hostSet);
367
- this._executeSwcScript("swc-on-after-adopted", hostSet);
368
367
  }
369
- attributeChangedCallback(name, old, newVal) {
370
- if (super.attributeChangedCallback)
371
- super.attributeChangedCallback(name, old, newVal);
372
- if (name.startsWith("swc-on-") && !swcLifecycleAttributes.includes(name)) {
373
- if (newVal !== null) {
374
- const customEventMeta = emitCustomEventList.find((it) => it.options.attributeName === name);
375
- const eventName = customEventMeta ? customEventMeta.options.type : name.substring(7);
376
- this._bindAttributeEvent(this, name, newVal, eventName);
377
- }
378
- }
379
- const mKeys = attrChangeMap.get(name);
380
- if (mKeys && Array.isArray(mKeys)) {
381
- const hSet = import_Utils.SwcUtils.getHostSet(this);
382
- mKeys.forEach((key) => this._invokeLifecycleMethod(key, hSet, [newVal, old, name]));
383
- }
368
+ if (originalDisconnected) originalDisconnected.apply(this);
369
+ const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_DISCONNECTED_METADATA_KEY);
370
+ if (aMethods) {
371
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
384
372
  }
373
+ this._executeSwcScript("swc-on-disconnected", hostSet);
374
+ this._executeSwcScript("swc-on-after-disconnected", hostSet);
375
+ this.__swc_connected = false;
385
376
  };
386
- setAttrMap.forEach((methodName, attrName) => {
387
- const original = NewClass.prototype[methodName];
388
- if (typeof original === "function") {
389
- NewClass.prototype[methodName] = function(...args) {
390
- const res = original.apply(this, args);
391
- if (res !== void 0) {
392
- if (res === null)
393
- this.removeAttribute(attrName);
394
- else
395
- this.setAttribute(attrName, String(res));
396
- }
397
- return res;
398
- };
377
+ const originalAdopted = proto.adoptedCallback;
378
+ proto.adoptedCallback = function() {
379
+ const hostSet = import_Utils.SwcUtils.getHostSet(this);
380
+ this._executeSwcScript("swc-on-before-adopted", hostSet);
381
+ const bMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_BEFORE_ADOPTED_METADATA_KEY);
382
+ if (bMethods) {
383
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
399
384
  }
400
- });
401
- emitCustomEventList.forEach((meta) => {
402
- const { propertyKey, options } = meta;
403
- const original = NewClass.prototype[propertyKey];
404
- if (typeof original === "function") {
405
- NewClass.prototype[propertyKey] = function(...args) {
406
- const detail = original.apply(this, args);
407
- const event = new CustomEvent(options.type, {
408
- detail,
409
- bubbles: options.bubbles,
410
- composed: options.composed,
411
- cancelable: options.cancelable
412
- });
413
- this.dispatchEvent(event);
414
- return detail;
415
- };
385
+ if (originalAdopted) originalAdopted.apply(this);
386
+ const aMethods = (0, import_lifecycles.findAllLifecycleMetadata)(this, import_lifecycles.ON_AFTER_ADOPTED_METADATA_KEY);
387
+ if (aMethods) {
388
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
416
389
  }
417
- });
418
- replaceChildrenMap.forEach((selector, methodName) => {
419
- const original = NewClass.prototype[methodName];
420
- if (typeof original === "function") {
421
- NewClass.prototype[methodName] = function(...args) {
422
- const res = original.apply(this, args);
423
- if (res !== void 0) {
424
- const conf = getElementConfig(this);
425
- const currentWin = conf?.window || window;
426
- const currentDoc = currentWin.document;
427
- let targetEl = null;
428
- if (selector === ":host" || !selector) {
429
- targetEl = this;
430
- } else {
431
- targetEl = (this.shadowRoot || this).querySelector(selector);
432
- }
433
- if (targetEl) {
434
- const nodes = Array.isArray(res) ? res : [res];
435
- const normalizedNodes = nodes.map((n) => {
436
- if (typeof n === "string") {
437
- const t = currentDoc.createElement("template");
438
- t.innerHTML = n;
439
- return t.content;
440
- }
441
- return n;
442
- });
443
- targetEl.replaceChildren(...normalizedNodes);
444
- }
445
- }
446
- return res;
447
- };
390
+ this._executeSwcScript("swc-on-adopted", hostSet);
391
+ this._executeSwcScript("swc-on-after-adopted", hostSet);
392
+ };
393
+ const originalAttributeChanged = proto.attributeChangedCallback;
394
+ proto.attributeChangedCallback = function(name2, old, newVal) {
395
+ if (originalAttributeChanged) originalAttributeChanged.apply(this, [name2, old, newVal]);
396
+ if (name2.startsWith("swc-on-") && !swcLifecycleAttributes.includes(name2)) {
397
+ if (newVal !== null) {
398
+ const customEventMeta = emitCustomEventList.find((it) => it.options.attributeName === name2);
399
+ const eventName = customEventMeta ? customEventMeta.type : name2.substring(7);
400
+ this._bindAttributeEvent(this, name2, newVal, eventName);
401
+ }
448
402
  }
449
- });
450
- appendChildMap.forEach((meta, methodName) => {
451
- const { selector, options } = meta;
452
- const original = NewClass.prototype[methodName];
453
- if (typeof original === "function") {
454
- NewClass.prototype[methodName] = function(...args) {
455
- const res = original.apply(this, args);
456
- if (res !== void 0) {
457
- const conf = getElementConfig(this);
458
- const currentWin = conf?.window || window;
459
- const currentDoc = currentWin.document;
460
- let targetEl = null;
461
- if (selector === ":host" || !selector) {
462
- targetEl = this;
463
- } else {
464
- targetEl = (this.shadowRoot || this).querySelector(selector);
465
- }
466
- if (targetEl) {
467
- const nodes = Array.isArray(res) ? res : [res];
468
- const normalizedNodes = nodes.map((n) => {
469
- if (typeof n === "string") {
470
- const t = currentDoc.createElement("template");
471
- t.innerHTML = n;
472
- return t.content;
473
- }
474
- return n;
475
- });
476
- const pos = options.position || "lastChild";
477
- if (pos === "lastChild")
478
- targetEl.append(...normalizedNodes);
479
- else if (pos === "firstChild")
480
- targetEl.prepend(...normalizedNodes);
481
- else if (pos === "nextSibling")
482
- targetEl.after(...normalizedNodes);
483
- else if (pos === "previousSibling")
484
- targetEl.before(...normalizedNodes);
485
- }
486
- }
487
- return res;
488
- };
403
+ const mKeys = attrChangeMap.get(name2);
404
+ if (mKeys && Array.isArray(mKeys)) {
405
+ const hSet = import_Utils.SwcUtils.getHostSet(this);
406
+ for (const key of mKeys) this._invokeLifecycleMethod(key, hSet, [newVal, old, name2]);
489
407
  }
408
+ };
409
+ Object.defineProperty(constructor, "observedAttributes", {
410
+ get: () => mergedObservedAttributes,
411
+ configurable: true
490
412
  });
491
- const originalProto = constructor.prototype;
492
- const newProto = NewClass.prototype;
493
- Object.getOwnPropertyNames(originalProto).forEach((name) => {
494
- if (name === "constructor")
495
- return;
496
- const keys = Reflect.getMetadataKeys(originalProto, name);
497
- keys.forEach((key) => Reflect.defineMetadata(key, Reflect.getMetadata(key, originalProto, name), newProto, name));
498
- });
499
- import_ReflectUtils.ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);
500
- import_ReflectUtils.ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);
501
- const registry = config.customElementRegistry || win?.customElements;
502
- if (registry && !registry.get(config.name)) {
503
- registry.define(config.name, NewClass, config.extends ? { extends: config.extends } : void 0);
413
+ import_core.ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, metadata, constructor);
414
+ const registry = metadata.customElementRegistry || win?.customElements;
415
+ if (registry && !registry.get(metadata.name)) {
416
+ registry.define(metadata.name, constructor, metadata.extends ? { extends: metadata.extends } : void 0);
504
417
  }
505
- return NewClass;
506
- };
507
- const getElementConfig = (target) => {
508
- const constructor = target instanceof Function ? target : target.constructor;
509
- return import_ReflectUtils.ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);
418
+ return constructor;
510
419
  };
511
420
  //# sourceMappingURL=elementDefine.js.map