@dooboostore/simple-web-component 1.0.17 → 1.0.19

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