@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
@@ -1,492 +1,401 @@
1
- import { ReflectUtils } from "@dooboostore/core/reflect/ReflectUtils";
2
- import { FunctionUtils } from "@dooboostore/core/function/FunctionUtils";
1
+ import { ReflectUtils } from "@dooboostore/core";
2
+ import { FunctionUtils } from "@dooboostore/core";
3
3
  import { getOnConnectedInnerHtmlMetadata } from "./onConnectedInnerHtml.js";
4
4
  import { getAddEventListenerMetadata } from "./addEventListener.js";
5
5
  import { ON_BEFORE_CONNECTED_METADATA_KEY, ON_AFTER_CONNECTED_METADATA_KEY, ON_BEFORE_DISCONNECTED_METADATA_KEY, ON_AFTER_DISCONNECTED_METADATA_KEY, ON_BEFORE_ADOPTED_METADATA_KEY, ON_AFTER_ADOPTED_METADATA_KEY, findAllLifecycleMetadata } from "./lifecycles.js";
6
6
  import { getEmitCustomEventMetadataList } from "./emitCustomEvent.js";
7
7
  import { findAllAttributeChangedMetadata } from "./changedAttribute.js";
8
8
  import { findAllSetAttributeMetadata } from "./setAttribute.js";
9
- import { findAllReplaceChildrenMetadata } from "./replaceChildren.js";
10
- import { findAllAppendChildMetadata } from "./appendChild.js";
9
+ import { findAllAttributeMetadata } from "./attribute.js";
11
10
  import { SwcUtils } from "../utils/Utils.js";
12
11
  import { HTML_TAG_ENTRIES, DOM_EVENT_NAMES } from "../config/config.js";
13
12
  import { SituationTypeContainer, SituationTypeContainers } from "@dooboostore/simple-boot/decorators/inject/Inject";
14
13
  import { InjectSituationType } from "../types.js";
15
14
  const ELEMENT_CONFIG_KEY = Symbol("simple-web-component:element-config");
15
+ const getElementConfig = (target) => {
16
+ const constructor = target instanceof Function ? target : target.constructor;
17
+ return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);
18
+ };
19
+ const ensureInit = (inst) => {
20
+ if (!inst.__swc_initialized) {
21
+ inst._swcId = Math.random().toString(36).substring(2, 11);
22
+ inst._emitHandlers = /* @__PURE__ */ new Map();
23
+ inst._boundListeners = [];
24
+ inst.__swc_initialized = true;
25
+ const hostSet = SwcUtils.getHostSet(inst);
26
+ inst._executeSwcScript?.("swc-on-constructor", hostSet);
27
+ }
28
+ };
16
29
  const globalDelegatedRoots = /* @__PURE__ */ new WeakSet();
30
+ const handleGlobalSwcEvent = async (event) => {
31
+ if (event.__swc_handled) return;
32
+ const path = event.composedPath();
33
+ const type = event.type;
34
+ const attrName = `swc-on-${type}`;
35
+ for (const node of path) {
36
+ if (!(node instanceof HTMLElement)) continue;
37
+ const script = node.getAttribute?.(attrName);
38
+ if (script && !getElementConfig(node)) {
39
+ const host = SwcUtils.findNearestSwcHost(node);
40
+ if (host && host.isConnected && typeof host.__swc_executeAttributeEvent === "function") {
41
+ await host.__swc_executeAttributeEvent(node, attrName, script, event);
42
+ event.__swc_handled = true;
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ };
17
48
  function buildEnv(configWindow) {
18
49
  const win = configWindow || (typeof window !== "undefined" ? window : void 0);
19
50
  const doc = win?.document;
20
51
  const builtInTagMap = /* @__PURE__ */ new Map();
21
52
  for (const [cls, tag] of HTML_TAG_ENTRIES) {
22
- if (win?.[cls])
23
- builtInTagMap.set(win[cls], tag);
53
+ if (win?.[cls]) builtInTagMap.set(win[cls], tag);
24
54
  }
25
55
  const domHelpers = SwcUtils.getHelperSet(win);
26
56
  return { win, doc, builtInTagMap, domHelpers };
27
57
  }
28
58
  const getHandlers = (inst) => {
29
- if (!inst.__swc_attributeEventHandlers)
30
- inst.__swc_attributeEventHandlers = /* @__PURE__ */ new Map();
59
+ if (!inst.__swc_attributeEventHandlers) inst.__swc_attributeEventHandlers = /* @__PURE__ */ new Map();
31
60
  return inst.__swc_attributeEventHandlers;
32
61
  };
33
- const elementDefine = (inConfig) => (constructor) => {
34
- const config = typeof inConfig === "string" ? { name: inConfig } : inConfig;
62
+ const setupPrototype = (proto) => {
63
+ if (proto.__swc_proto_setup) return;
64
+ proto.__swc_proto_setup = true;
65
+ proto._executeSwcScript = function(attrName, hostSet, extraArgs = {}) {
66
+ ensureInit(this);
67
+ const script = this.getAttribute(attrName);
68
+ if (script) {
69
+ try {
70
+ const conf = getElementConfig(this);
71
+ const currentWin = this._resolveWindow(conf);
72
+ const helpers = SwcUtils.getHelperSet(currentWin);
73
+ const args = { ...hostSet, ...helpers, ...extraArgs, $el: this, $root: this.getRootNode() };
74
+ FunctionUtils.execute({ script, context: this, args });
75
+ } catch (e) {
76
+ console.error(`[SWC] Failed to execute ${attrName}:`, e);
77
+ }
78
+ }
79
+ };
80
+ proto._resolveWindow = function(localConfig) {
81
+ ensureInit(this);
82
+ if (localConfig?.window) return localConfig.window;
83
+ const ancestors = SwcUtils.findAllSwcHosts(this);
84
+ for (let i = ancestors.length - 1; i >= 0; i--) {
85
+ const aConf = getElementConfig(ancestors[i]);
86
+ if (aConf?.window) return aConf.window;
87
+ }
88
+ return typeof window !== "undefined" ? window : void 0;
89
+ };
90
+ proto._invokeLifecycleMethod = function(methodName, hostSet, extraArgs = []) {
91
+ ensureInit(this);
92
+ if (typeof this[methodName] !== "function") return;
93
+ const app = hostSet.$appHost?.simpleApplication;
94
+ if (app) {
95
+ const otherStorage = /* @__PURE__ */ new Map();
96
+ 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 })]);
97
+ otherStorage.set(SituationTypeContainers, situations);
98
+ return app.simstanceManager.executeBindParameterSimPromise(
99
+ {
100
+ target: this,
101
+ targetKey: methodName,
102
+ inputParameters: extraArgs
103
+ },
104
+ otherStorage
105
+ );
106
+ } else {
107
+ return this[methodName](...extraArgs);
108
+ }
109
+ };
110
+ proto._bindAttributeEvent = function(el, attrName, script, eventName) {
111
+ ensureInit(this);
112
+ if (!eventName) {
113
+ if (!attrName.startsWith("swc-on-")) return;
114
+ eventName = attrName.substring(7);
115
+ }
116
+ const elHandlers = getHandlers(this);
117
+ let handlers = elHandlers.get(el);
118
+ if (!handlers) {
119
+ handlers = /* @__PURE__ */ new Map();
120
+ elHandlers.set(el, handlers);
121
+ }
122
+ const oldHandler = handlers.get(attrName);
123
+ if (oldHandler) el.removeEventListener(eventName, oldHandler);
124
+ const handler = async (event) => {
125
+ const hostSet = SwcUtils.getHostSet(el);
126
+ const conf = getElementConfig(this);
127
+ const currentWin = this._resolveWindow(conf);
128
+ const helpers = SwcUtils.getHelperSet(currentWin);
129
+ const args = {
130
+ event,
131
+ $data: event.detail,
132
+ ...hostSet,
133
+ ...helpers,
134
+ $el: el,
135
+ $root: this.getRootNode()
136
+ };
137
+ await FunctionUtils.execute({ script, context: el, args });
138
+ };
139
+ el.addEventListener(eventName, handler);
140
+ handlers.set(attrName, handler);
141
+ };
142
+ proto.__swc_executeAttributeEvent = async function(el, attrName, script, event) {
143
+ ensureInit(this);
144
+ const hostSet = SwcUtils.getHostSet(el);
145
+ const conf = getElementConfig(this);
146
+ const currentWin = this._resolveWindow(conf);
147
+ const currentHelpers = SwcUtils.getHelperSet(currentWin);
148
+ const args = {
149
+ event,
150
+ $data: event.detail,
151
+ ...hostSet,
152
+ ...currentHelpers,
153
+ $el: el,
154
+ $root: this.getRootNode()
155
+ };
156
+ await FunctionUtils.execute({ script, context: el, args });
157
+ };
158
+ };
159
+ const elementDefine = (name, config = {}) => (constructor) => {
35
160
  const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);
36
- config.window = win;
37
- let extendsTagName = config.extends;
161
+ const metadata = { ...config, name, window: win };
162
+ if (!metadata.window) {
163
+ throw new Error("window is required");
164
+ }
165
+ let extendsTagName = metadata.extends;
38
166
  if (!extendsTagName) {
39
- let proto = constructor;
40
- while (proto && proto !== HTMLElement && proto !== Function.prototype) {
41
- extendsTagName = BUILT_IN_TAG_MAP.get(proto);
42
- if (extendsTagName)
43
- break;
44
- proto = Object.getPrototypeOf(proto);
167
+ let proto2 = constructor;
168
+ const BaseHTMLElement = win.HTMLElement;
169
+ while (proto2 && proto2 !== BaseHTMLElement && proto2 !== Function.prototype) {
170
+ extendsTagName = BUILT_IN_TAG_MAP.get(proto2);
171
+ if (extendsTagName) break;
172
+ proto2 = Object.getPrototypeOf(proto2);
45
173
  }
46
- config.extends = extendsTagName;
174
+ metadata.extends = extendsTagName;
47
175
  }
48
176
  const emitCustomEventList = getEmitCustomEventMetadataList(constructor) || [];
49
177
  const addEventListenerList = getAddEventListenerMetadata(constructor) || [];
50
178
  const attrChangeMap = findAllAttributeChangedMetadata(constructor);
51
- const setAttrMap = findAllSetAttributeMetadata(constructor);
52
- const replaceChildrenMap = findAllReplaceChildrenMetadata(constructor);
53
- const appendChildMap = findAllAppendChildMetadata(constructor);
179
+ const attributeList = findAllAttributeMetadata(constructor);
54
180
  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"];
55
181
  const swcOnEvents = DOM_EVENT_NAMES.map((e) => `swc-on-${e}`);
56
- const mergedObservedAttributes = [.../* @__PURE__ */ new Set([...config.observedAttributes ?? [], ...attrChangeMap.keys(), ...setAttrMap.keys(), ...emitCustomEventList.map((it) => it.options.attributeName), ...swcLifecycleAttributes, ...swcOnEvents])];
182
+ const mergedObservedAttributes = [.../* @__PURE__ */ new Set([...metadata.observedAttributes ?? [], ...attrChangeMap.keys(), ...Array.from(findAllSetAttributeMetadata(constructor).values()).map((it) => it.name), ...attributeList.map((it) => it.options.name || String(it.propertyKey)), ...emitCustomEventList.map((it) => it.options.attributeName), ...swcLifecycleAttributes, ...swcOnEvents])];
57
183
  const connectedInnerHtmlList = getOnConnectedInnerHtmlMetadata(constructor) || [];
58
- const NewClass = class extends constructor {
59
- _executeSwcScript(attrName, hostSet, extraArgs = {}) {
60
- const script = this.getAttribute(attrName);
61
- if (script) {
62
- try {
63
- const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };
64
- FunctionUtils.execute({ script, context: this, args });
65
- } catch (e) {
66
- console.error(`[SWC] Failed to execute ${attrName}:`, e);
67
- }
68
- }
69
- }
70
- async _invokeLifecycleMethod(methodName, hostSet, extraArgs = []) {
71
- if (typeof this[methodName] !== "function")
72
- return;
73
- const app = hostSet.$appHost?.simpleApplication;
74
- if (app) {
75
- const otherStorage = /* @__PURE__ */ new Map();
76
- 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 })]);
77
- otherStorage.set(SituationTypeContainers, situations);
78
- return app.simstanceManager.executeBindParameterSimPromise({
79
- target: this,
80
- targetKey: methodName,
81
- inputParameters: extraArgs
82
- }, otherStorage);
83
- } else {
84
- return this[methodName](...extraArgs);
85
- }
86
- }
87
- _bindAttributeEvent(el, attrName, script, eventName) {
88
- if (!eventName) {
89
- if (!attrName.startsWith("swc-on-"))
90
- return;
91
- eventName = attrName.substring(7);
92
- }
93
- if (swcLifecycleAttributes.includes(attrName))
94
- return;
95
- const elHandlers = getHandlers(this);
96
- let handlers = elHandlers.get(el);
97
- if (!handlers) {
98
- handlers = /* @__PURE__ */ new Map();
99
- elHandlers.set(el, handlers);
100
- }
101
- const oldHandler = handlers.get(attrName);
102
- if (oldHandler)
103
- el.removeEventListener(eventName, oldHandler);
104
- const handler = (event) => {
105
- const hostSet = SwcUtils.getHostSet(el);
106
- const args = {
107
- event,
108
- $data: event.detail,
109
- ...hostSet,
110
- ...SWC_DOM_HELPERS
111
- };
112
- FunctionUtils.execute({ script, context: el, args });
113
- };
114
- el.addEventListener(eventName, handler);
115
- handlers.set(attrName, handler);
116
- }
117
- constructor(...args) {
118
- super(...args);
119
- this._swcId = Math.random().toString(36).substring(2, 11);
120
- this._emitHandlers = /* @__PURE__ */ new Map();
121
- this._boundListeners = [];
122
- const hostSet = SwcUtils.getHostSet(this);
123
- this._executeSwcScript("swc-on-constructor", hostSet);
124
- if (connectedInnerHtmlList.some((it) => it.options.useShadow === true) && !this.shadowRoot) {
125
- this.attachShadow({ mode: "open" });
126
- }
184
+ const proto = constructor.prototype;
185
+ setupPrototype(proto);
186
+ const originalConnected = proto.connectedCallback;
187
+ proto.connectedCallback = function() {
188
+ ensureInit(this);
189
+ if (connectedInnerHtmlList.some((it) => it.options.useShadow === true) && !this.shadowRoot) {
190
+ this.attachShadow({ mode: "open" });
127
191
  }
128
- static get observedAttributes() {
129
- return mergedObservedAttributes;
192
+ const conf = getElementConfig(this);
193
+ const currentWin = this._resolveWindow(conf);
194
+ const hostSet = SwcUtils.getHostSet(this);
195
+ this._executeSwcScript("swc-on-before-connected", hostSet);
196
+ const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_CONNECTED_METADATA_KEY);
197
+ if (bMethods) {
198
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
130
199
  }
131
- async connectedCallback() {
132
- const conf = getElementConfig(this);
133
- const currentWin = conf?.window || window;
134
- const currentDoc = currentWin.document;
135
- const hostSet = SwcUtils.getHostSet(this);
136
- this._executeSwcScript("swc-on-before-connected", hostSet);
137
- const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_CONNECTED_METADATA_KEY);
138
- if (bMethods) {
139
- for (const m of bMethods)
140
- await this._invokeLifecycleMethod(m, hostSet);
141
- }
142
- if (typeof this.initCore === "function")
143
- this.initCore();
144
- if (connectedInnerHtmlList.length > 0) {
145
- let sContent = "", lContent = "";
146
- for (const meta of connectedInnerHtmlList) {
147
- const res = await this[meta.propertyKey]();
148
- if (res !== void 0) {
149
- if (meta.options.useShadow)
150
- sContent += res;
151
- else
152
- lContent += res;
200
+ attributeList.forEach((meta) => {
201
+ const attrName = meta.options.name || String(meta.propertyKey);
202
+ if (meta.options.connectedInitialize) {
203
+ const memoryVal = this[meta.privateKey];
204
+ if (memoryVal !== void 0) {
205
+ this.__swc_syncing_init = true;
206
+ try {
207
+ this[meta.propertyKey] = memoryVal;
208
+ } finally {
209
+ this.__swc_syncing_init = false;
153
210
  }
154
211
  }
155
- if (this.shadowRoot)
156
- this.shadowRoot.innerHTML = sContent;
157
- if (lContent)
158
- this.innerHTML = lContent;
159
- }
160
- const createDelegationHandler = (delegateHost) => (event) => {
161
- if (event.__swc_handled)
162
- return;
163
- const path = event.composedPath();
164
- const type = event.type;
165
- const attrName = `swc-on-${type}`;
166
- for (const node of path) {
167
- if (node === delegateHost)
168
- break;
169
- if (!(node instanceof HTMLElement))
170
- continue;
171
- const script = node.getAttribute?.(attrName);
172
- if (script && !getElementConfig(node)) {
173
- const host = SwcUtils.findNearestSwcHost(node);
174
- if (host) {
175
- const childHostSet = SwcUtils.getHostSet(node);
176
- const args = {
177
- event,
178
- $data: event.detail,
179
- ...childHostSet,
180
- ...SWC_DOM_HELPERS
181
- };
182
- FunctionUtils.execute({ script, context: node, args });
183
- event.__swc_handled = true;
184
- break;
185
- }
212
+ } else if (meta.selector === ":host" || !meta.selector) {
213
+ const domVal = this.getAttribute(attrName);
214
+ if (domVal !== null) {
215
+ this.__swc_syncing_init = true;
216
+ try {
217
+ this[meta.propertyKey] = domVal;
218
+ } finally {
219
+ this.__swc_syncing_init = false;
186
220
  }
187
221
  }
188
- };
189
- DOM_EVENT_NAMES.forEach((type) => {
190
- const handler = createDelegationHandler(this);
191
- this.addEventListener(type, handler);
192
- this._boundListeners.push({ target: this, type, handler });
193
- });
194
- const hasParentHost = SwcUtils.findAllSwcHosts(this).length > 0;
195
- if (!hasParentHost) {
196
- const root = this.getRootNode();
197
- if (!globalDelegatedRoots.has(root)) {
198
- DOM_EVENT_NAMES.forEach((type) => {
199
- const handler = createDelegationHandler(root);
200
- root.addEventListener(type, handler);
201
- });
202
- globalDelegatedRoots.add(root);
222
+ }
223
+ });
224
+ if (connectedInnerHtmlList.length > 0) {
225
+ let sContent = "", lContent = "";
226
+ for (const meta of connectedInnerHtmlList) {
227
+ const res = this[meta.propertyKey]();
228
+ if (res !== void 0) {
229
+ if (meta.options.useShadow) sContent += res;
230
+ else lContent += res;
203
231
  }
204
232
  }
205
- addEventListenerList.forEach((meta) => {
206
- const { selector, type, options } = meta;
207
- const { root, capture, once, passive, stopPropagation, stopImmediatePropagation, preventDefault, delegate, removeOnDisconnected } = options;
208
- const opts = { capture, once, passive };
209
- const bindTargets = [];
210
- if (selector === ":window") {
211
- bindTargets.push(currentWin);
212
- } else if (selector === ":document") {
213
- bindTargets.push(currentDoc);
214
- } else if (selector === ":parentHost") {
215
- if (hostSet.$parentHost)
216
- bindTargets.push(hostSet.$parentHost);
217
- } else if (selector === ":appHost") {
218
- if (hostSet.$appHost)
219
- bindTargets.push(hostSet.$appHost);
220
- } else if (selector === ":firstHost") {
221
- if (hostSet.$firstHost)
222
- bindTargets.push(hostSet.$firstHost);
223
- } else if (selector === ":lastHost") {
224
- if (hostSet.$lastHost)
225
- bindTargets.push(hostSet.$lastHost);
226
- } else if (selector === ":firstAppHost") {
227
- if (hostSet.$firstAppHost)
228
- bindTargets.push(hostSet.$firstAppHost);
229
- } else if (selector === ":lastAppHost") {
230
- if (hostSet.$lastAppHost)
231
- bindTargets.push(hostSet.$lastAppHost);
232
- } else if (!selector || selector === ":host") {
233
- bindTargets.push(this);
234
- } else if (delegate) {
235
- const bindRoots = [];
236
- const r = root || "auto";
237
- if (r === "auto")
238
- bindRoots.push(this.shadowRoot || this);
239
- else if (r === "light")
240
- bindRoots.push(this);
241
- else if (r === "shadow") {
242
- if (this.shadowRoot)
243
- bindRoots.push(this.shadowRoot);
244
- } else if (r === "all") {
245
- bindRoots.push(this);
246
- if (this.shadowRoot)
247
- bindRoots.push(this.shadowRoot);
248
- }
249
- bindRoots.forEach((br) => {
250
- const handler = (event) => {
251
- const matchedEl = event.target.closest(selector);
252
- if (matchedEl && br.contains(matchedEl)) {
253
- if (stopPropagation)
254
- event.stopPropagation();
255
- if (stopImmediatePropagation)
256
- event.stopImmediatePropagation();
257
- if (preventDefault)
258
- event.preventDefault();
259
- const currentHostSet = SwcUtils.getHostSet(this);
260
- this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, matchedEl]);
261
- }
262
- };
263
- br.addEventListener(type, handler, opts);
264
- const self = this;
265
- if (removeOnDisconnected === true || br !== self && br !== self.shadowRoot) {
266
- this._boundListeners.push({ target: br, type, handler, options: opts });
267
- }
268
- });
233
+ if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;
234
+ if (lContent) this.innerHTML = lContent;
235
+ }
236
+ const root = this.getRootNode();
237
+ if (!globalDelegatedRoots.has(root)) {
238
+ DOM_EVENT_NAMES.forEach((type) => {
239
+ root.addEventListener(type, handleGlobalSwcEvent);
240
+ });
241
+ globalDelegatedRoots.add(root);
242
+ }
243
+ addEventListenerList.forEach((meta) => {
244
+ const { selector, type, options } = meta;
245
+ const opts = { capture: options.capture, once: options.once, passive: options.passive };
246
+ const bindTargets = [];
247
+ const r = options.root || "auto";
248
+ const applyRootOption = (target) => {
249
+ if (!target) return;
250
+ if (r === "auto") {
251
+ bindTargets.push(target.shadowRoot || target);
269
252
  } else {
270
- const searchRoots = [];
271
- const r = root || "auto";
272
- if (r === "auto")
273
- searchRoots.push(this.shadowRoot || this);
274
- else if (r === "light")
275
- searchRoots.push(this);
276
- else if (r === "shadow") {
277
- if (this.shadowRoot)
278
- searchRoots.push(this.shadowRoot);
279
- } else if (r === "all") {
280
- searchRoots.push(this);
281
- if (this.shadowRoot)
282
- searchRoots.push(this.shadowRoot);
283
- }
284
- searchRoots.forEach((sr) => {
285
- sr.querySelectorAll(selector).forEach((el) => bindTargets.push(el));
286
- });
253
+ if (r === "light" || r === "all") bindTargets.push(target);
254
+ if ((r === "shadow" || r === "all") && target.shadowRoot) bindTargets.push(target.shadowRoot);
287
255
  }
288
- bindTargets.forEach((target) => {
289
- const handler = (event) => {
290
- if (stopPropagation)
291
- event.stopPropagation();
292
- if (stopImmediatePropagation)
293
- event.stopImmediatePropagation();
294
- if (preventDefault)
295
- event.preventDefault();
296
- const currentHostSet = SwcUtils.getHostSet(this);
297
- this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet]);
256
+ };
257
+ if (selector === ":window") bindTargets.push(currentWin);
258
+ else if (selector === ":document") bindTargets.push(currentWin.document);
259
+ else if (selector === ":parentHost") applyRootOption(hostSet.$parentHost);
260
+ else if (selector === ":appHost") applyRootOption(hostSet.$appHost);
261
+ else if (selector === ":firstHost") applyRootOption(hostSet.$firstHost);
262
+ else if (selector === ":lastHost") applyRootOption(hostSet.$lastHost);
263
+ else if (selector === ":firstAppHost") applyRootOption(hostSet.$firstAppHost);
264
+ else if (selector === ":lastAppHost") applyRootOption(hostSet.$lastAppHost);
265
+ else if (selector === ":hosts") hostSet.$hosts.forEach(applyRootOption);
266
+ else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRootOption);
267
+ else if (selector === ":host" || !selector) applyRootOption(this);
268
+ else if (options.delegate) {
269
+ const bindRoots = [];
270
+ if (r === "auto") bindRoots.push(this.shadowRoot || this);
271
+ else if (r === "light") bindRoots.push(this);
272
+ else if (r === "shadow" && this.shadowRoot) bindRoots.push(this.shadowRoot);
273
+ else if (r === "all") {
274
+ bindRoots.push(this);
275
+ if (this.shadowRoot) bindRoots.push(this.shadowRoot);
276
+ }
277
+ bindRoots.forEach((br) => {
278
+ const handler = async (event) => {
279
+ const matchedEl = event.target.closest(selector);
280
+ if (matchedEl && br.contains(matchedEl)) {
281
+ if (options.stopPropagation) event.stopPropagation();
282
+ if (options.stopImmediatePropagation) event.stopImmediatePropagation();
283
+ if (options.preventDefault) event.preventDefault();
284
+ const currentHostSet = SwcUtils.getHostSet(this);
285
+ const args = { event, ...currentHostSet, $el: matchedEl, $root: br };
286
+ await this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, matchedEl, args]);
287
+ }
298
288
  };
299
- target.addEventListener(type, handler, opts);
300
- if (removeOnDisconnected === true || target === currentWin || target === currentDoc) {
301
- this._boundListeners.push({ target, type, handler, options: opts });
289
+ br.addEventListener(type, handler, opts);
290
+ if (options.removeOnDisconnected === true || br !== this && br !== this.shadowRoot) {
291
+ this._boundListeners.push({ target: br, type, handler, options: opts });
302
292
  }
303
293
  });
304
- });
305
- if (super.connectedCallback)
306
- await super.connectedCallback();
307
- const aMethods = findAllLifecycleMetadata(this, ON_AFTER_CONNECTED_METADATA_KEY);
308
- if (aMethods) {
309
- for (const m of aMethods)
310
- await this._invokeLifecycleMethod(m, hostSet);
294
+ } else {
295
+ const searchRoots = [];
296
+ if (r === "auto") searchRoots.push(this.shadowRoot || this);
297
+ else if (r === "light") searchRoots.push(this);
298
+ else if (r === "shadow" && this.shadowRoot) searchRoots.push(this.shadowRoot);
299
+ else if (r === "all") {
300
+ searchRoots.push(this);
301
+ if (this.shadowRoot) searchRoots.push(this.shadowRoot);
302
+ }
303
+ searchRoots.forEach((sr) => {
304
+ sr.querySelectorAll(selector).forEach((el) => bindTargets.push(el));
305
+ });
311
306
  }
312
- this._executeSwcScript("swc-on-connected", hostSet);
313
- this._executeSwcScript("swc-on-after-connected", hostSet);
307
+ bindTargets.forEach((t) => {
308
+ const handler = async (event) => {
309
+ if (options.stopPropagation) event.stopPropagation();
310
+ if (options.stopImmediatePropagation) event.stopImmediatePropagation();
311
+ if (options.preventDefault) event.preventDefault();
312
+ const currentHostSet = SwcUtils.getHostSet(this);
313
+ const args = { event, ...currentHostSet, $el: t, $root: t };
314
+ await this._invokeLifecycleMethod(meta.propertyKey, currentHostSet, [event, currentHostSet, args]);
315
+ };
316
+ t.addEventListener(type, handler, opts);
317
+ if (options.removeOnDisconnected === true || t === currentWin || t === currentWin.document) {
318
+ this._boundListeners.push({ target: t, type, handler, options: opts });
319
+ }
320
+ });
321
+ });
322
+ if (originalConnected) originalConnected.apply(this);
323
+ const aMethods = findAllLifecycleMetadata(this, ON_AFTER_CONNECTED_METADATA_KEY);
324
+ if (aMethods) {
325
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
314
326
  }
315
- disconnectedCallback() {
316
- const hostSet = SwcUtils.getHostSet(this);
317
- this._executeSwcScript("swc-on-before-disconnected", hostSet);
318
- const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);
319
- if (bMethods)
320
- bMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
327
+ this._executeSwcScript("swc-on-connected", hostSet);
328
+ this._executeSwcScript("swc-on-after-connected", hostSet);
329
+ this.__swc_connected = true;
330
+ };
331
+ const originalDisconnected = proto.disconnectedCallback;
332
+ proto.disconnectedCallback = function() {
333
+ const hostSet = SwcUtils.getHostSet(this);
334
+ this._executeSwcScript("swc-on-before-disconnected", hostSet);
335
+ const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);
336
+ if (bMethods) {
337
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
338
+ }
339
+ if (this._boundListeners) {
321
340
  this._boundListeners.forEach((l) => l.target.removeEventListener(l.type, l.handler, l.options));
322
341
  this._boundListeners = [];
323
- if (super.disconnectedCallback)
324
- super.disconnectedCallback();
325
- const aMethods = findAllLifecycleMetadata(this, ON_AFTER_DISCONNECTED_METADATA_KEY);
326
- if (aMethods)
327
- aMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
328
- this._executeSwcScript("swc-on-disconnected", hostSet);
329
- this._executeSwcScript("swc-on-after-disconnected", hostSet);
330
- }
331
- adoptedCallback() {
332
- const hostSet = SwcUtils.getHostSet(this);
333
- this._executeSwcScript("swc-on-before-adopted", hostSet);
334
- const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_ADOPTED_METADATA_KEY);
335
- if (bMethods)
336
- bMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
337
- if (super.adoptedCallback)
338
- super.adoptedCallback();
339
- const aMethods = findAllLifecycleMetadata(this, ON_AFTER_ADOPTED_METADATA_KEY);
340
- if (aMethods)
341
- aMethods.forEach((m) => this._invokeLifecycleMethod(m, hostSet));
342
- this._executeSwcScript("swc-on-adopted", hostSet);
343
- this._executeSwcScript("swc-on-after-adopted", hostSet);
344
342
  }
345
- attributeChangedCallback(name, old, newVal) {
346
- if (super.attributeChangedCallback)
347
- super.attributeChangedCallback(name, old, newVal);
348
- if (name.startsWith("swc-on-") && !swcLifecycleAttributes.includes(name)) {
349
- if (newVal !== null) {
350
- const customEventMeta = emitCustomEventList.find((it) => it.options.attributeName === name);
351
- const eventName = customEventMeta ? customEventMeta.options.type : name.substring(7);
352
- this._bindAttributeEvent(this, name, newVal, eventName);
353
- }
354
- }
355
- const mKeys = attrChangeMap.get(name);
356
- if (mKeys && Array.isArray(mKeys)) {
357
- const hSet = SwcUtils.getHostSet(this);
358
- mKeys.forEach((key) => this._invokeLifecycleMethod(key, hSet, [newVal, old, name]));
359
- }
343
+ if (originalDisconnected) originalDisconnected.apply(this);
344
+ const aMethods = findAllLifecycleMetadata(this, ON_AFTER_DISCONNECTED_METADATA_KEY);
345
+ if (aMethods) {
346
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
360
347
  }
348
+ this._executeSwcScript("swc-on-disconnected", hostSet);
349
+ this._executeSwcScript("swc-on-after-disconnected", hostSet);
350
+ this.__swc_connected = false;
361
351
  };
362
- setAttrMap.forEach((methodName, attrName) => {
363
- const original = NewClass.prototype[methodName];
364
- if (typeof original === "function") {
365
- NewClass.prototype[methodName] = function(...args) {
366
- const res = original.apply(this, args);
367
- if (res !== void 0) {
368
- if (res === null)
369
- this.removeAttribute(attrName);
370
- else
371
- this.setAttribute(attrName, String(res));
372
- }
373
- return res;
374
- };
352
+ const originalAdopted = proto.adoptedCallback;
353
+ proto.adoptedCallback = function() {
354
+ const hostSet = SwcUtils.getHostSet(this);
355
+ this._executeSwcScript("swc-on-before-adopted", hostSet);
356
+ const bMethods = findAllLifecycleMetadata(this, ON_BEFORE_ADOPTED_METADATA_KEY);
357
+ if (bMethods) {
358
+ for (const m of bMethods) this._invokeLifecycleMethod(m, hostSet);
375
359
  }
376
- });
377
- emitCustomEventList.forEach((meta) => {
378
- const { propertyKey, options } = meta;
379
- const original = NewClass.prototype[propertyKey];
380
- if (typeof original === "function") {
381
- NewClass.prototype[propertyKey] = function(...args) {
382
- const detail = original.apply(this, args);
383
- const event = new CustomEvent(options.type, {
384
- detail,
385
- bubbles: options.bubbles,
386
- composed: options.composed,
387
- cancelable: options.cancelable
388
- });
389
- this.dispatchEvent(event);
390
- return detail;
391
- };
360
+ if (originalAdopted) originalAdopted.apply(this);
361
+ const aMethods = findAllLifecycleMetadata(this, ON_AFTER_ADOPTED_METADATA_KEY);
362
+ if (aMethods) {
363
+ for (const m of aMethods) this._invokeLifecycleMethod(m, hostSet);
392
364
  }
393
- });
394
- replaceChildrenMap.forEach((selector, methodName) => {
395
- const original = NewClass.prototype[methodName];
396
- if (typeof original === "function") {
397
- NewClass.prototype[methodName] = function(...args) {
398
- const res = original.apply(this, args);
399
- if (res !== void 0) {
400
- const conf = getElementConfig(this);
401
- const currentWin = conf?.window || window;
402
- const currentDoc = currentWin.document;
403
- let targetEl = null;
404
- if (selector === ":host" || !selector) {
405
- targetEl = this;
406
- } else {
407
- targetEl = (this.shadowRoot || this).querySelector(selector);
408
- }
409
- if (targetEl) {
410
- const nodes = Array.isArray(res) ? res : [res];
411
- const normalizedNodes = nodes.map((n) => {
412
- if (typeof n === "string") {
413
- const t = currentDoc.createElement("template");
414
- t.innerHTML = n;
415
- return t.content;
416
- }
417
- return n;
418
- });
419
- targetEl.replaceChildren(...normalizedNodes);
420
- }
421
- }
422
- return res;
423
- };
365
+ this._executeSwcScript("swc-on-adopted", hostSet);
366
+ this._executeSwcScript("swc-on-after-adopted", hostSet);
367
+ };
368
+ const originalAttributeChanged = proto.attributeChangedCallback;
369
+ proto.attributeChangedCallback = function(name2, old, newVal) {
370
+ if (originalAttributeChanged) originalAttributeChanged.apply(this, [name2, old, newVal]);
371
+ if (name2.startsWith("swc-on-") && !swcLifecycleAttributes.includes(name2)) {
372
+ if (newVal !== null) {
373
+ const customEventMeta = emitCustomEventList.find((it) => it.options.attributeName === name2);
374
+ const eventName = customEventMeta ? customEventMeta.type : name2.substring(7);
375
+ this._bindAttributeEvent(this, name2, newVal, eventName);
376
+ }
424
377
  }
425
- });
426
- appendChildMap.forEach((meta, methodName) => {
427
- const { selector, options } = meta;
428
- const original = NewClass.prototype[methodName];
429
- if (typeof original === "function") {
430
- NewClass.prototype[methodName] = function(...args) {
431
- const res = original.apply(this, args);
432
- if (res !== void 0) {
433
- const conf = getElementConfig(this);
434
- const currentWin = conf?.window || window;
435
- const currentDoc = currentWin.document;
436
- let targetEl = null;
437
- if (selector === ":host" || !selector) {
438
- targetEl = this;
439
- } else {
440
- targetEl = (this.shadowRoot || this).querySelector(selector);
441
- }
442
- if (targetEl) {
443
- const nodes = Array.isArray(res) ? res : [res];
444
- const normalizedNodes = nodes.map((n) => {
445
- if (typeof n === "string") {
446
- const t = currentDoc.createElement("template");
447
- t.innerHTML = n;
448
- return t.content;
449
- }
450
- return n;
451
- });
452
- const pos = options.position || "lastChild";
453
- if (pos === "lastChild")
454
- targetEl.append(...normalizedNodes);
455
- else if (pos === "firstChild")
456
- targetEl.prepend(...normalizedNodes);
457
- else if (pos === "nextSibling")
458
- targetEl.after(...normalizedNodes);
459
- else if (pos === "previousSibling")
460
- targetEl.before(...normalizedNodes);
461
- }
462
- }
463
- return res;
464
- };
378
+ const mKeys = attrChangeMap.get(name2);
379
+ if (mKeys && Array.isArray(mKeys)) {
380
+ const hSet = SwcUtils.getHostSet(this);
381
+ for (const key of mKeys) this._invokeLifecycleMethod(key, hSet, [newVal, old, name2]);
465
382
  }
383
+ };
384
+ Object.defineProperty(constructor, "observedAttributes", {
385
+ get: () => mergedObservedAttributes,
386
+ configurable: true
466
387
  });
467
- const originalProto = constructor.prototype;
468
- const newProto = NewClass.prototype;
469
- Object.getOwnPropertyNames(originalProto).forEach((name) => {
470
- if (name === "constructor")
471
- return;
472
- const keys = Reflect.getMetadataKeys(originalProto, name);
473
- keys.forEach((key) => Reflect.defineMetadata(key, Reflect.getMetadata(key, originalProto, name), newProto, name));
474
- });
475
- ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);
476
- ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);
477
- const registry = config.customElementRegistry || win?.customElements;
478
- if (registry && !registry.get(config.name)) {
479
- registry.define(config.name, NewClass, config.extends ? { extends: config.extends } : void 0);
388
+ ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, metadata, constructor);
389
+ const registry = metadata.customElementRegistry || win?.customElements;
390
+ if (registry && !registry.get(metadata.name)) {
391
+ registry.define(metadata.name, constructor, metadata.extends ? { extends: metadata.extends } : void 0);
480
392
  }
481
- return NewClass;
482
- };
483
- const getElementConfig = (target) => {
484
- const constructor = target instanceof Function ? target : target.constructor;
485
- return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);
393
+ return constructor;
486
394
  };
487
395
  export {
488
396
  ELEMENT_CONFIG_KEY,
489
397
  elementDefine,
398
+ ensureInit,
490
399
  getElementConfig
491
400
  };
492
401
  //# sourceMappingURL=elementDefine.js.map