@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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/query.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getElementConfig } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\n\nexport interface QueryOptions {\n root?: 'light' | 'shadow' | 'all' | 'auto';\n}\n\nexport interface QueryMetadata {\n selector: string;\n options: QueryOptions;\n propertyKey: string | symbol;\n}\n\nexport const QUERY_METADATA_KEY = Symbol('simple-web-component:query');\n\n/**\n * @query decorator to inject a single element into a class property.\n */\nexport function query(selector: string, options: QueryOptions = {}): PropertyDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor?: never): void => {\n if (descriptor !== undefined) {\n throw new Error(`@query decorator cannot be used on methods. (Method: ${String(propertyKey)})`);\n }\n\n const constructor = target.constructor;\n let queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, constructor);\n if (!queries) {\n queries = [];\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, constructor);\n }\n queries.push({ selector, options, propertyKey });\n\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n // --- Special Selectors: HostSet ---\n const hostSet = SwcUtils.getHostSet(this);\n if (selector === ':parentHost') return hostSet.$parentHost;\n if (selector === ':appHost') return hostSet.$appHost;\n if (selector === ':firstHost') return hostSet.$firstHost;\n if (selector === ':lastHost') return hostSet.$lastHost;\n if (selector === ':firstAppHost') return hostSet.$firstAppHost;\n if (selector === ':lastAppHost') return hostSet.$lastAppHost;\n\n // --- Special Selectors: Env ---\n const config = getElementConfig(this);\n const win = config?.window || window;\n const doc = win.document;\n\n if (selector === ':window') return win;\n if (selector === ':document') return doc;\n if (!selector || selector === ':host') return this;\n\n // --- Standard Selectors ---\n const r = options.root || 'auto';\n\n if (r === 'shadow') {\n return this.shadowRoot ? this.shadowRoot.querySelector(selector) : null;\n }\n if (r === 'light') {\n return this.querySelector(selector);\n }\n if (r === 'all') {\n return this.shadowRoot?.querySelector(selector) || this.querySelector(selector);\n }\n // auto\n return (this.shadowRoot || this).querySelector(selector);\n },\n set(this: HTMLElement, nv: any) {\n if (nv === null || nv === undefined) {\n const r = options.root || 'auto';\n let targetEl: Element | null = null;\n if (r === 'shadow') targetEl = this.shadowRoot ? this.shadowRoot.querySelector(selector) : null;\n else if (r === 'light') targetEl = this.querySelector(selector);\n else if (r === 'all') targetEl = this.shadowRoot?.querySelector(selector) || this.querySelector(selector);\n else targetEl = (this.shadowRoot || this).querySelector(selector);\n\n if (targetEl) targetEl.remove();\n }\n },\n enumerable: true,\n configurable: true\n });\n };\n}\n\nexport const getQueryMetadata = (target: any): QueryMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(QUERY_METADATA_KEY, constructor);\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;;;;;;;0BAA6B;AAC7B,2BAAiC;AACjC,mBAAyB;AAYlB,MAAM,qBAAqB,OAAO,4BAA4B;AAK/D,SAAU,MAAM,UAAkB,UAAwB,CAAA,GAAE;AAChE,SAAO,CAAC,QAAgB,aAA8B,eAA4B;AAChF,QAAI,eAAe,QAAW;AAC5B,YAAM,IAAI,MAAM,wDAAwD,OAAO,WAAW,CAAC,GAAG;IAChG;AAEA,UAAM,cAAc,OAAO;AAC3B,QAAI,UAAU,iCAAa,YAA6B,oBAAoB,WAAW;AACvF,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAA;AACV,uCAAa,eAAe,oBAAoB,SAAS,WAAW;IACtE;AACA,YAAQ,KAAK,EAAE,UAAU,SAAS,YAAW,CAAE;AAE/C,WAAO,eAAe,QAAQ,aAAa;MACzC,MAAG;AAED,cAAM,UAAU,sBAAS,WAAW,IAAI;AACxC,YAAI,aAAa;AAAe,iBAAO,QAAQ;AAC/C,YAAI,aAAa;AAAY,iBAAO,QAAQ;AAC5C,YAAI,aAAa;AAAc,iBAAO,QAAQ;AAC9C,YAAI,aAAa;AAAa,iBAAO,QAAQ;AAC7C,YAAI,aAAa;AAAiB,iBAAO,QAAQ;AACjD,YAAI,aAAa;AAAgB,iBAAO,QAAQ;AAGhD,cAAM,aAAS,uCAAiB,IAAI;AACpC,cAAM,MAAM,QAAQ,UAAU;AAC9B,cAAM,MAAM,IAAI;AAEhB,YAAI,aAAa;AAAW,iBAAO;AACnC,YAAI,aAAa;AAAa,iBAAO;AACrC,YAAI,CAAC,YAAY,aAAa;AAAS,iBAAO;AAG9C,cAAM,IAAI,QAAQ,QAAQ;AAE1B,YAAI,MAAM,UAAU;AAClB,iBAAO,KAAK,aAAa,KAAK,WAAW,cAAc,QAAQ,IAAI;QACrE;AACA,YAAI,MAAM,SAAS;AACjB,iBAAO,KAAK,cAAc,QAAQ;QACpC;AACA,YAAI,MAAM,OAAO;AACf,iBAAO,KAAK,YAAY,cAAc,QAAQ,KAAK,KAAK,cAAc,QAAQ;QAChF;AAEA,gBAAQ,KAAK,cAAc,MAAM,cAAc,QAAQ;MACzD;MACA,IAAuB,IAAO;AAC5B,YAAI,OAAO,QAAQ,OAAO,QAAW;AACnC,gBAAM,IAAI,QAAQ,QAAQ;AAC1B,cAAI,WAA2B;AAC/B,cAAI,MAAM;AAAU,uBAAW,KAAK,aAAa,KAAK,WAAW,cAAc,QAAQ,IAAI;mBAClF,MAAM;AAAS,uBAAW,KAAK,cAAc,QAAQ;mBACrD,MAAM;AAAO,uBAAW,KAAK,YAAY,cAAc,QAAQ,KAAK,KAAK,cAAc,QAAQ;;AACnG,wBAAY,KAAK,cAAc,MAAM,cAAc,QAAQ;AAEhE,cAAI;AAAU,qBAAS,OAAM;QAC/B;MACF;MACA,YAAY;MACZ,cAAc;KACf;EACH;AACF;AAEO,MAAM,mBAAmB,CAAC,WAA4C;AAC3E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,oBAAoB,WAAW;AACjE;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { getElementConfig, ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SpecialSelector, SwcQueryOptions } from '../types';\n\nexport type QueryOptions = { root?: 'light' | 'shadow' | 'all' | 'auto' };\n\nexport interface QueryMetadata {\n propertyKey: string | symbol;\n selector: string;\n options: SwcQueryOptions;\n}\n\nexport const QUERY_METADATA_KEY = Symbol('simple-web-component:query');\n\nexport function query(target: SpecialSelector): PropertyDecorator;\nexport function query(selector: string, options?: SwcQueryOptions): PropertyDecorator;\n/**\n * @query decorator to inject a single element into a class property.\n */\nexport function query(selectorOrTarget: string, options: any = {}): PropertyDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor?: never): void => {\n if (descriptor !== undefined) {\n throw new Error(`@query decorator cannot be used on methods. (Method: ${String(propertyKey)})`);\n }\n\n const constructor = targetObj.constructor;\n let queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, constructor);\n if (!queries) {\n queries = [];\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, constructor);\n }\n queries.push({ propertyKey, selector: selectorOrTarget, options });\n\n // const propertyType = Reflect.getMetadata(\"design:type\", targetObj, propertyKey);\n // console.log(`Property ${String(propertyKey)} type is:`, propertyType.name);\n Object.defineProperty(targetObj, propertyKey, {\n get(this: HTMLElement) {\n ensureInit(this);\n const selector = selectorOrTarget;\n\n const r = options.root || 'auto';\n const applyRoot = (t: any) => {\n if (!t || !(t instanceof HTMLElement)) return t;\n if (r === 'auto') return t.shadowRoot || t;\n if (r === 'shadow') return t.shadowRoot;\n if (r === 'light') return t;\n if (r === 'all') return t.shadowRoot || t; // query only returns one, so shadow preferred\n return t;\n };\n\n // --- Special Selectors: HostSet ---\n const hostSet = SwcUtils.getHostSet(this);\n if (selector === ':parentHost') return applyRoot(hostSet.$parentHost);\n if (selector === ':appHost') return applyRoot(hostSet.$appHost);\n if (selector === ':firstHost') return applyRoot(hostSet.$firstHost);\n if (selector === ':lastHost') return applyRoot(hostSet.$lastHost);\n if (selector === ':firstAppHost') return applyRoot(hostSet.$firstAppHost);\n if (selector === ':lastAppHost') return applyRoot(hostSet.$lastAppHost);\n\n // --- Special Selectors: Env ---\n const config = getElementConfig(this);\n const win = config?.window || window;\n if (selector === ':window') return win;\n if (selector === ':document') return win.document;\n if (selector === ':host') return applyRoot(this);\n\n // --- Standard Selectors ---\n if (r === 'shadow') return this.shadowRoot ? this.shadowRoot.querySelector(selector) : null;\n if (r === 'light') return this.querySelector(selector);\n if (r === 'all') {\n const shadowMatch = this.shadowRoot ? this.shadowRoot.querySelector(selector) : null;\n return shadowMatch || this.querySelector(selector);\n }\n return (this.shadowRoot || this).querySelector(selector);\n },\n set(this: HTMLElement, nv: any) {\n ensureInit(this);\n if (nv === null || nv === undefined) {\n const selector = selectorOrTarget;\n if (selector.startsWith(':') && selector !== ':host') return;\n\n const r = options.root || 'auto';\n const targets: Element[] = [];\n\n if (r === 'shadow') {\n if (this.shadowRoot?.querySelector(selector)) targets.push(this.shadowRoot.querySelector(selector)!);\n } else if (r === 'light') {\n if (this.querySelector(selector)) targets.push(this.querySelector(selector)!);\n } else if (r === 'all') {\n if (this.shadowRoot?.querySelector(selector)) targets.push(this.shadowRoot.querySelector(selector)!);\n if (this.querySelector(selector)) targets.push(this.querySelector(selector)!);\n } else {\n const el = (this.shadowRoot || this).querySelector(selector);\n if (el) targets.push(el);\n }\n\n targets.forEach(t => t.remove());\n }\n },\n enumerable: true,\n configurable: true\n });\n };\n}\n\nexport const getQueryMetadata = (target: any): QueryMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(QUERY_METADATA_KEY, constructor);\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -22,55 +22,79 @@ __export(queryAll_exports, {
22
22
  queryAll: () => queryAll
23
23
  });
24
24
  module.exports = __toCommonJS(queryAll_exports);
25
- var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
25
+ var import_core = require("@dooboostore/core");
26
26
  var import_elementDefine = require("./elementDefine");
27
27
  var import_Utils = require("../utils/Utils");
28
28
  const QUERY_ALL_METADATA_KEY = Symbol("simple-web-component:query-all");
29
- function queryAll(selector, options = {}) {
30
- return (target, propertyKey, descriptor) => {
29
+ function queryAll(selectorOrTarget, options = {}) {
30
+ return (targetObj, propertyKey, descriptor) => {
31
31
  if (descriptor !== void 0) {
32
32
  throw new Error(`@queryAll decorator cannot be used on methods. (Method: ${String(propertyKey)})`);
33
33
  }
34
- const constructor = target.constructor;
35
- let queries = import_ReflectUtils.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
34
+ const constructor = targetObj.constructor;
35
+ let queries = import_core.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
36
36
  if (!queries) {
37
37
  queries = [];
38
- import_ReflectUtils.ReflectUtils.defineMetadata(QUERY_ALL_METADATA_KEY, queries, constructor);
38
+ import_core.ReflectUtils.defineMetadata(QUERY_ALL_METADATA_KEY, queries, constructor);
39
39
  }
40
- queries.push({ selector, options, propertyKey });
41
- Object.defineProperty(target, propertyKey, {
40
+ queries.push({ propertyKey, selector: selectorOrTarget, options });
41
+ Object.defineProperty(targetObj, propertyKey, {
42
42
  get() {
43
+ (0, import_elementDefine.ensureInit)(this);
44
+ const selector = selectorOrTarget;
45
+ const r = options.root || "auto";
46
+ const applyRoot = (t) => {
47
+ if (!t)
48
+ return [];
49
+ const items = Array.isArray(t) ? t : [t];
50
+ const results = [];
51
+ items.forEach((it) => {
52
+ if (!(it instanceof HTMLElement)) {
53
+ results.push(it);
54
+ return;
55
+ }
56
+ if (r === "auto")
57
+ results.push(it.shadowRoot || it);
58
+ else {
59
+ if (r === "light" || r === "all")
60
+ results.push(it);
61
+ if ((r === "shadow" || r === "all") && it.shadowRoot)
62
+ results.push(it.shadowRoot);
63
+ }
64
+ });
65
+ return results;
66
+ };
43
67
  const hostSet = import_Utils.SwcUtils.getHostSet(this);
44
68
  if (selector === ":hosts")
45
- return hostSet.$hosts;
69
+ return applyRoot(hostSet.$hosts);
46
70
  if (selector === ":appHosts")
47
- return hostSet.$appHosts;
71
+ return applyRoot(hostSet.$appHosts);
48
72
  const config = (0, import_elementDefine.getElementConfig)(this);
49
73
  const win = config?.window || window;
50
- const doc = win.document;
51
74
  if (selector === ":window")
52
75
  return [win];
53
76
  if (selector === ":document")
54
- return [doc];
55
- if (!selector || selector === ":host")
56
- return [this];
57
- const r = options.root || "auto";
58
- if (r === "shadow") {
59
- return this.shadowRoot ? this.shadowRoot.querySelectorAll(selector) : [];
60
- }
61
- if (r === "light") {
62
- return this.querySelectorAll(selector);
63
- }
77
+ return [win.document];
78
+ if (selector === ":host")
79
+ return applyRoot(this);
80
+ if (r === "shadow")
81
+ return this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];
82
+ if (r === "light")
83
+ return Array.from(this.querySelectorAll(selector));
64
84
  if (r === "all") {
65
85
  const sNodes = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];
66
86
  const lNodes = Array.from(this.querySelectorAll(selector));
67
87
  return [...sNodes, ...lNodes];
68
88
  }
69
89
  const root = this.shadowRoot || this;
70
- return root.querySelectorAll(selector);
90
+ return Array.from(root.querySelectorAll(selector));
71
91
  },
72
92
  set(nv) {
93
+ (0, import_elementDefine.ensureInit)(this);
73
94
  if (nv === null || nv === void 0 || Array.isArray(nv) && nv.length === 0) {
95
+ const selector = selectorOrTarget;
96
+ if (selector.startsWith(":") && selector !== ":host")
97
+ return;
74
98
  const r = options.root || "auto";
75
99
  let targets = [];
76
100
  if (r === "shadow")
@@ -94,6 +118,6 @@ function queryAll(selector, options = {}) {
94
118
  }
95
119
  const getQueryAllMetadata = (target) => {
96
120
  const constructor = target instanceof Function ? target : target.constructor;
97
- return import_ReflectUtils.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
121
+ return import_core.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
98
122
  };
99
123
  //# sourceMappingURL=queryAll.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/queryAll.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getElementConfig } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\n\nexport interface QueryAllOptions {\n root?: 'light' | 'shadow' | 'all' | 'auto';\n}\n\nexport interface QueryAllMetadata {\n selector: string;\n options: QueryAllOptions;\n propertyKey: string | symbol;\n}\n\nexport const QUERY_ALL_METADATA_KEY = Symbol('simple-web-component:query-all');\n\n/**\n * @queryAll decorator to inject a list of elements into a class property.\n */\nexport function queryAll(selector: string, options: QueryAllOptions = {}): PropertyDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor?: never): void => {\n if (descriptor !== undefined) {\n throw new Error(`@queryAll decorator cannot be used on methods. (Method: ${String(propertyKey)})`);\n }\n\n const constructor = target.constructor;\n let queries = ReflectUtils.getMetadata<QueryAllMetadata[]>(QUERY_ALL_METADATA_KEY, constructor);\n if (!queries) {\n queries = [];\n ReflectUtils.defineMetadata(QUERY_ALL_METADATA_KEY, queries, constructor);\n }\n queries.push({ selector, options, propertyKey });\n\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n // --- Special Selectors: HostSet ---\n const hostSet = SwcUtils.getHostSet(this);\n if (selector === ':hosts') return hostSet.$hosts;\n if (selector === ':appHosts') return hostSet.$appHosts;\n\n // --- Special Selectors: Env ---\n const config = getElementConfig(this);\n const win = config?.window || window;\n const doc = win.document;\n\n if (selector === ':window') return [win];\n if (selector === ':document') return [doc];\n if (!selector || selector === ':host') return [this];\n\n // --- Standard Selectors ---\n const r = options.root || 'auto';\n\n if (r === 'shadow') {\n return this.shadowRoot ? this.shadowRoot.querySelectorAll(selector) : [];\n }\n if (r === 'light') {\n return this.querySelectorAll(selector);\n }\n if (r === 'all') {\n const sNodes = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n const lNodes = Array.from(this.querySelectorAll(selector));\n return [...sNodes, ...lNodes];\n }\n // auto\n const root = this.shadowRoot || this;\n return root.querySelectorAll(selector);\n },\n set(this: HTMLElement, nv: any) {\n if (nv === null || nv === undefined || (Array.isArray(nv) && nv.length === 0)) {\n const r = options.root || 'auto';\n let targets: (Element | Node)[] = [];\n if (r === 'shadow') targets = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n else if (r === 'light') targets = Array.from(this.querySelectorAll(selector));\n else if (r === 'all') {\n const sNodes = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n const lNodes = Array.from(this.querySelectorAll(selector));\n targets = [...sNodes, ...lNodes];\n } else {\n targets = Array.from((this.shadowRoot || this).querySelectorAll(selector));\n }\n targets.forEach(t => (t as Element).remove());\n }\n },\n enumerable: true,\n configurable: true\n });\n };\n}\n\nexport const getQueryAllMetadata = (target: any): QueryAllMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;;;;;;;0BAA6B;AAC7B,2BAAiC;AACjC,mBAAyB;AAYlB,MAAM,yBAAyB,OAAO,gCAAgC;AAKvE,SAAU,SAAS,UAAkB,UAA2B,CAAA,GAAE;AACtE,SAAO,CAAC,QAAgB,aAA8B,eAA4B;AAChF,QAAI,eAAe,QAAW;AAC5B,YAAM,IAAI,MAAM,2DAA2D,OAAO,WAAW,CAAC,GAAG;IACnG;AAEA,UAAM,cAAc,OAAO;AAC3B,QAAI,UAAU,iCAAa,YAAgC,wBAAwB,WAAW;AAC9F,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAA;AACV,uCAAa,eAAe,wBAAwB,SAAS,WAAW;IAC1E;AACA,YAAQ,KAAK,EAAE,UAAU,SAAS,YAAW,CAAE;AAE/C,WAAO,eAAe,QAAQ,aAAa;MACzC,MAAG;AAED,cAAM,UAAU,sBAAS,WAAW,IAAI;AACxC,YAAI,aAAa;AAAU,iBAAO,QAAQ;AAC1C,YAAI,aAAa;AAAa,iBAAO,QAAQ;AAG7C,cAAM,aAAS,uCAAiB,IAAI;AACpC,cAAM,MAAM,QAAQ,UAAU;AAC9B,cAAM,MAAM,IAAI;AAEhB,YAAI,aAAa;AAAW,iBAAO,CAAC,GAAG;AACvC,YAAI,aAAa;AAAa,iBAAO,CAAC,GAAG;AACzC,YAAI,CAAC,YAAY,aAAa;AAAS,iBAAO,CAAC,IAAI;AAGnD,cAAM,IAAI,QAAQ,QAAQ;AAE1B,YAAI,MAAM,UAAU;AAClB,iBAAO,KAAK,aAAa,KAAK,WAAW,iBAAiB,QAAQ,IAAI,CAAA;QACxE;AACA,YAAI,MAAM,SAAS;AACjB,iBAAO,KAAK,iBAAiB,QAAQ;QACvC;AACA,YAAI,MAAM,OAAO;AACf,gBAAM,SAAS,KAAK,aAAa,MAAM,KAAK,KAAK,WAAW,iBAAiB,QAAQ,CAAC,IAAI,CAAA;AAC1F,gBAAM,SAAS,MAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;AACzD,iBAAO,CAAC,GAAG,QAAQ,GAAG,MAAM;QAC9B;AAEA,cAAM,OAAO,KAAK,cAAc;AAChC,eAAO,KAAK,iBAAiB,QAAQ;MACvC;MACA,IAAuB,IAAO;AAC5B,YAAI,OAAO,QAAQ,OAAO,UAAc,MAAM,QAAQ,EAAE,KAAK,GAAG,WAAW,GAAI;AAC7E,gBAAM,IAAI,QAAQ,QAAQ;AAC1B,cAAI,UAA8B,CAAA;AAClC,cAAI,MAAM;AAAU,sBAAU,KAAK,aAAa,MAAM,KAAK,KAAK,WAAW,iBAAiB,QAAQ,CAAC,IAAI,CAAA;mBAChG,MAAM;AAAS,sBAAU,MAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;mBACnE,MAAM,OAAO;AACpB,kBAAM,SAAS,KAAK,aAAa,MAAM,KAAK,KAAK,WAAW,iBAAiB,QAAQ,CAAC,IAAI,CAAA;AAC1F,kBAAM,SAAS,MAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;AACzD,sBAAU,CAAC,GAAG,QAAQ,GAAG,MAAM;UACjC,OAAO;AACL,sBAAU,MAAM,MAAM,KAAK,cAAc,MAAM,iBAAiB,QAAQ,CAAC;UAC3E;AACA,kBAAQ,QAAQ,OAAM,EAAc,OAAM,CAAE;QAC9C;MACF;MACA,YAAY;MACZ,cAAc;KACf;EACH;AACF;AAEO,MAAM,sBAAsB,CAAC,WAA+C;AACjF,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,wBAAwB,WAAW;AACrE;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { getElementConfig, ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SpecialSelector, SwcQueryOptions } from '../types';\n\nexport interface QueryAllMetadata {\n propertyKey: string | symbol;\n selector: string;\n options: SwcQueryOptions;\n}\n\nexport const QUERY_ALL_METADATA_KEY = Symbol('simple-web-component:query-all');\n\nexport function queryAll(target: SpecialSelector): PropertyDecorator;\nexport function queryAll(selector: string, options?: SwcQueryOptions): PropertyDecorator;\n/**\n * @queryAll decorator to inject a list of elements into a class property.\n */\nexport function queryAll(selectorOrTarget: string, options: any = {}): PropertyDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor?: never): void => {\n if (descriptor !== undefined) {\n throw new Error(`@queryAll decorator cannot be used on methods. (Method: ${String(propertyKey)})`);\n }\n\n const constructor = targetObj.constructor;\n let queries = ReflectUtils.getMetadata<QueryAllMetadata[]>(QUERY_ALL_METADATA_KEY, constructor);\n if (!queries) {\n queries = [];\n ReflectUtils.defineMetadata(QUERY_ALL_METADATA_KEY, queries, constructor);\n }\n queries.push({ propertyKey, selector: selectorOrTarget, options });\n\n Object.defineProperty(targetObj, propertyKey, {\n get(this: HTMLElement) {\n ensureInit(this);\n const selector = selectorOrTarget;\n\n const r = options.root || 'auto';\n const applyRoot = (t: any): any[] => {\n if (!t) return [];\n const items = Array.isArray(t) ? t : [t];\n const results: any[] = [];\n items.forEach(it => {\n if (!(it instanceof HTMLElement)) {\n results.push(it);\n return;\n }\n if (r === 'auto') results.push(it.shadowRoot || it);\n else {\n if (r === 'light' || r === 'all') results.push(it);\n if ((r === 'shadow' || r === 'all') && it.shadowRoot) results.push(it.shadowRoot);\n }\n });\n return results;\n };\n\n // --- Special Selectors: HostSet ---\n const hostSet = SwcUtils.getHostSet(this);\n if (selector === ':hosts') return applyRoot(hostSet.$hosts);\n if (selector === ':appHosts') return applyRoot(hostSet.$appHosts);\n\n // --- Special Selectors: Env ---\n const config = getElementConfig(this);\n const win = config?.window || window;\n if (selector === ':window') return [win];\n if (selector === ':document') return [win.document];\n if (selector === ':host') return applyRoot(this);\n\n // --- Standard Selectors ---\n if (r === 'shadow') return this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n if (r === 'light') return Array.from(this.querySelectorAll(selector));\n if (r === 'all') {\n const sNodes = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n const lNodes = Array.from(this.querySelectorAll(selector));\n return [...sNodes, ...lNodes];\n }\n const root = this.shadowRoot || this;\n return Array.from(root.querySelectorAll(selector));\n },\n set(this: HTMLElement, nv: any) {\n ensureInit(this);\n if (nv === null || nv === undefined || (Array.isArray(nv) && nv.length === 0)) {\n const selector = selectorOrTarget;\n if (selector.startsWith(':') && selector !== ':host') return;\n\n const r = options.root || 'auto';\n let targets: (Element | Node)[] = [];\n if (r === 'shadow') targets = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n else if (r === 'light') targets = Array.from(this.querySelectorAll(selector));\n else if (r === 'all') {\n const sNodes = this.shadowRoot ? Array.from(this.shadowRoot.querySelectorAll(selector)) : [];\n const lNodes = Array.from(this.querySelectorAll(selector));\n targets = [...sNodes, ...lNodes];\n } else {\n targets = Array.from((this.shadowRoot || this).querySelectorAll(selector));\n }\n targets.forEach(t => (t as Element).remove());\n }\n },\n enumerable: true,\n configurable: true\n });\n };\n}\n\nexport const getQueryAllMetadata = (target: any): QueryAllMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -23,26 +23,52 @@ __export(replaceChildren_exports, {
23
23
  replaceChildren: () => replaceChildren
24
24
  });
25
25
  module.exports = __toCommonJS(replaceChildren_exports);
26
- var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
+ var import_core = require("@dooboostore/core");
27
+ var import_elementDefine = require("./elementDefine");
27
28
  const REPLACE_CHILDREN_METADATA_KEY = Symbol("simple-web-component:replace-children");
28
29
  function replaceChildren(selector) {
29
- return (target, propertyKey) => {
30
+ return (target, propertyKey, descriptor) => {
30
31
  const constructor = target.constructor;
31
- let meta = import_ReflectUtils.ReflectUtils.getOwnMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);
32
+ let meta = import_core.ReflectUtils.getOwnMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);
32
33
  if (!meta) {
33
34
  meta = /* @__PURE__ */ new Map();
34
- import_ReflectUtils.ReflectUtils.defineMetadata(REPLACE_CHILDREN_METADATA_KEY, meta, constructor);
35
+ import_core.ReflectUtils.defineMetadata(REPLACE_CHILDREN_METADATA_KEY, meta, constructor);
35
36
  }
36
37
  meta.set(propertyKey, selector);
38
+ const original = descriptor.value;
39
+ descriptor.value = async function(...args) {
40
+ (0, import_elementDefine.ensureInit)(this);
41
+ const res = await original.apply(this, args);
42
+ if (res !== void 0) {
43
+ const conf = (0, import_elementDefine.getElementConfig)(this);
44
+ const currentWin = this._resolveWindow?.(conf) || (typeof window !== "undefined" ? window : void 0);
45
+ const currentDoc = currentWin.document;
46
+ let targetEl = null;
47
+ if (selector === ":host" || !selector) {
48
+ targetEl = this;
49
+ } else {
50
+ targetEl = (this.shadowRoot || this).querySelector(selector);
51
+ }
52
+ if (targetEl) {
53
+ if (typeof res === "string") {
54
+ targetEl.textContent = res;
55
+ } else {
56
+ const nodes = Array.isArray(res) ? res.map((n) => typeof n === "string" ? currentDoc.createTextNode(n) : n) : [res];
57
+ targetEl.replaceChildren(...nodes);
58
+ }
59
+ }
60
+ }
61
+ return res;
62
+ };
37
63
  };
38
64
  }
39
65
  const getReplaceChildrenMetadata = (target) => {
40
66
  const constructor = target instanceof Function ? target : target.constructor;
41
- return import_ReflectUtils.ReflectUtils.getMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);
67
+ return import_core.ReflectUtils.getMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);
42
68
  };
43
69
  const findAllReplaceChildrenMetadata = (target) => {
44
70
  const result = /* @__PURE__ */ new Map();
45
- const maps = import_ReflectUtils.ReflectUtils.findAllMetadata(REPLACE_CHILDREN_METADATA_KEY, target);
71
+ const maps = import_core.ReflectUtils.findAllMetadata(REPLACE_CHILDREN_METADATA_KEY, target);
46
72
  maps.forEach((map) => {
47
73
  if (map instanceof Map) {
48
74
  map.forEach((v, k) => result.set(k, v));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/replaceChildren.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport const REPLACE_CHILDREN_METADATA_KEY = Symbol('simple-web-component:replace-children');\n\n/**\n * @replaceChildren decorator to surgically replace children of a target element.\n * Usage: @replaceChildren('#container') renderPart() { return '<div>New Content</div>'; }\n */\nexport function replaceChildren(selector: string): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let meta = ReflectUtils.getOwnMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor) as Map<string | symbol, string>;\n if (!meta) {\n meta = new Map<string | symbol, string>();\n ReflectUtils.defineMetadata(REPLACE_CHILDREN_METADATA_KEY, meta, constructor);\n }\n meta.set(propertyKey, selector);\n };\n}\n\nexport const getReplaceChildrenMetadata = (target: any): Map<string | symbol, string> | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);\n};\n\nexport const findAllReplaceChildrenMetadata = (target: any): Map<string | symbol, string> => {\n const result = new Map<string | symbol, string>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, string>>(REPLACE_CHILDREN_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAEtB,MAAM,gCAAgC,OAAO,uCAAuC;AAMpF,SAAS,gBAAgB,UAAmC;AACjE,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,iCAAa,eAAe,+BAA+B,WAAW;AACjF,QAAI,CAAC,MAAM;AACT,aAAO,oBAAI,IAA6B;AACxC,uCAAa,eAAe,+BAA+B,MAAM,WAAW;AAAA,IAC9E;AACA,SAAK,IAAI,aAAa,QAAQ;AAAA,EAChC;AACF;AAEO,MAAM,6BAA6B,CAAC,WAA0D;AACnG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,+BAA+B,WAAW;AAC5E;AAEO,MAAM,iCAAiC,CAAC,WAA8C;AAC3F,QAAM,SAAS,oBAAI,IAA6B;AAChD,QAAM,OAAO,iCAAa,gBAA8C,+BAA+B,MAAM;AAC7G,OAAK,QAAQ,SAAO;AAClB,QAAI,eAAe,KAAK;AACtB,UAAI,QAAQ,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,CAAC,CAAC;AAAA,IACxC;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit, getElementConfig } from './elementDefine';\n\nexport const REPLACE_CHILDREN_METADATA_KEY = Symbol('simple-web-component:replace-children');\n\n/**\n * @replaceChildren decorator to surgically replace children of a target element.\n * Usage: @replaceChildren('#container') renderPart() { return '<div>New Content</div>'; }\n */\nexport function replaceChildren(selector: string): MethodDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let meta = ReflectUtils.getOwnMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor) as Map<string | symbol, string>;\n if (!meta) {\n meta = new Map<string | symbol, string>();\n ReflectUtils.defineMetadata(REPLACE_CHILDREN_METADATA_KEY, meta, constructor);\n }\n meta.set(propertyKey, selector);\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const conf = getElementConfig(this);\n const currentWin = (this as any)._resolveWindow?.(conf) || ((typeof window !== 'undefined' ? window : undefined) as Window);\n const currentDoc = currentWin.document;\n\n let targetEl: Element | null = null;\n if (selector === ':host' || !selector) {\n targetEl = this as any;\n } else {\n targetEl = (this.shadowRoot || (this as any)).querySelector(selector);\n }\n\n if (targetEl) {\n if (typeof res === 'string') {\n targetEl.textContent = res;\n } else {\n const nodes: Node[] = Array.isArray(res) ? res.map(n => (typeof n === 'string' ? currentDoc.createTextNode(n) : n)) : [res as Node];\n (targetEl as any).replaceChildren(...nodes);\n }\n }\n }\n return res;\n };\n };\n}\n\nexport const getReplaceChildrenMetadata = (target: any): Map<string | symbol, string> | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(REPLACE_CHILDREN_METADATA_KEY, constructor);\n};\n\nexport const findAllReplaceChildrenMetadata = (target: any): Map<string | symbol, string> => {\n const result = new Map<string | symbol, string>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, string>>(REPLACE_CHILDREN_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAC7B,2BAA6C;AAEtC,MAAM,gCAAgC,OAAO,uCAAuC;AAMpF,SAAS,gBAAgB,UAAmC;AACjE,SAAO,CAAC,QAAgB,aAA8B,eAAmC;AACvF,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,yBAAa,eAAe,+BAA+B,WAAW;AACjF,QAAI,CAAC,MAAM;AACT,aAAO,oBAAI,IAA6B;AACxC,+BAAa,eAAe,+BAA+B,MAAM,WAAW;AAAA,IAC9E;AACA,SAAK,IAAI,aAAa,QAAQ;AAE9B,UAAM,WAAW,WAAW;AAC5B,eAAW,QAAQ,kBAAmB,MAAa;AACjD,2CAAW,IAAI;AACf,YAAM,MAAM,MAAM,SAAS,MAAM,MAAM,IAAI;AAC3C,UAAI,QAAQ,QAAW;AACrB,cAAM,WAAO,uCAAiB,IAAI;AAClC,cAAM,aAAc,KAAa,iBAAiB,IAAI,MAAO,OAAO,WAAW,cAAc,SAAS;AACtG,cAAM,aAAa,WAAW;AAE9B,YAAI,WAA2B;AAC/B,YAAI,aAAa,WAAW,CAAC,UAAU;AACrC,qBAAW;AAAA,QACb,OAAO;AACL,sBAAY,KAAK,cAAe,MAAc,cAAc,QAAQ;AAAA,QACtE;AAEA,YAAI,UAAU;AACZ,cAAI,OAAO,QAAQ,UAAU;AAC3B,qBAAS,cAAc;AAAA,UACzB,OAAO;AACL,kBAAM,QAAgB,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,OAAM,OAAO,MAAM,WAAW,WAAW,eAAe,CAAC,IAAI,CAAE,IAAI,CAAC,GAAW;AAClI,YAAC,SAAiB,gBAAgB,GAAG,KAAK;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,6BAA6B,CAAC,WAA0D;AACnG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,yBAAa,YAAY,+BAA+B,WAAW;AAC5E;AAEO,MAAM,iCAAiC,CAAC,WAA8C;AAC3F,QAAM,SAAS,oBAAI,IAA6B;AAChD,QAAM,OAAO,yBAAa,gBAA8C,+BAA+B,MAAM;AAC7G,OAAK,QAAQ,SAAO;AAClB,QAAI,eAAe,KAAK;AACtB,UAAI,QAAQ,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,CAAC,CAAC;AAAA,IACxC;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -23,26 +23,80 @@ __export(setAttribute_exports, {
23
23
  setAttribute: () => setAttribute
24
24
  });
25
25
  module.exports = __toCommonJS(setAttribute_exports);
26
- var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
+ var import_core = require("@dooboostore/core");
27
+ var import_elementDefine = require("./elementDefine");
28
+ var import_Utils = require("../utils/Utils");
27
29
  const SET_ATTRIBUTE_METADATA_KEY = Symbol("simple-web-component:set-attribute");
28
- function setAttribute(attributeName) {
29
- return (target, propertyKey) => {
30
+ function setAttribute(selector, name, options = {}) {
31
+ return (target, propertyKey, descriptor) => {
30
32
  const constructor = target.constructor;
31
- let meta = import_ReflectUtils.ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
32
- if (!meta) {
33
- meta = /* @__PURE__ */ new Map();
34
- import_ReflectUtils.ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, meta, constructor);
33
+ let metaList = import_core.ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
34
+ if (!metaList) {
35
+ metaList = /* @__PURE__ */ new Map();
36
+ import_core.ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, metaList, constructor);
35
37
  }
36
- meta.set(attributeName || String(propertyKey), propertyKey);
38
+ metaList.set(propertyKey, { propertyKey, selector, name, options });
39
+ const original = descriptor.value;
40
+ descriptor.value = async function(...args) {
41
+ (0, import_elementDefine.ensureInit)(this);
42
+ const res = await original.apply(this, args);
43
+ if (res !== void 0) {
44
+ const hostSet = import_Utils.SwcUtils.getHostSet(this);
45
+ const conf = (0, import_elementDefine.getElementConfig)(this);
46
+ const currentWin = this._resolveWindow?.(conf) || (typeof window !== "undefined" ? window : void 0);
47
+ const targetEls = [];
48
+ const r = options.root || "auto";
49
+ const applyRoot = (t) => {
50
+ if (!t) return;
51
+ if (r === "auto") {
52
+ targetEls.push(t.shadowRoot || t);
53
+ return;
54
+ }
55
+ if (r === "light" || r === "all") targetEls.push(t);
56
+ if ((r === "shadow" || r === "all") && t.shadowRoot) targetEls.push(t.shadowRoot);
57
+ };
58
+ if (selector === ":window") targetEls.push(currentWin);
59
+ else if (selector === ":document") targetEls.push(currentWin.document);
60
+ else if (selector === ":parentHost") applyRoot(hostSet.$parentHost);
61
+ else if (selector === ":appHost") applyRoot(hostSet.$appHost);
62
+ else if (selector === ":firstHost") applyRoot(hostSet.$firstHost);
63
+ else if (selector === ":lastHost") applyRoot(hostSet.$lastHost);
64
+ else if (selector === ":firstAppHost") applyRoot(hostSet.$firstAppHost);
65
+ else if (selector === ":lastAppHost") applyRoot(hostSet.$lastAppHost);
66
+ else if (selector === ":hosts") hostSet.$hosts.forEach(applyRoot);
67
+ else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRoot);
68
+ else if (selector === ":host" || !selector) applyRoot(this);
69
+ else {
70
+ const roots = [];
71
+ if (r === "shadow") {
72
+ if (this.shadowRoot) roots.push(this.shadowRoot);
73
+ } else if (r === "light") {
74
+ roots.push(this);
75
+ } else if (r === "all") {
76
+ roots.push(this);
77
+ if (this.shadowRoot) roots.push(this.shadowRoot);
78
+ } else {
79
+ roots.push(this.shadowRoot || this);
80
+ }
81
+ roots.forEach((root) => targetEls.push(...root.querySelectorAll(selector)));
82
+ }
83
+ targetEls.forEach((targetEl) => {
84
+ if (!targetEl || typeof targetEl.setAttribute !== "function") return;
85
+ if (res === null) targetEl.removeAttribute(name);
86
+ else targetEl.setAttribute(name, String(res));
87
+ });
88
+ }
89
+ return res;
90
+ };
37
91
  };
38
92
  }
39
93
  const getSetAttributeMetadata = (target) => {
40
94
  const constructor = target instanceof Function ? target : target.constructor;
41
- return import_ReflectUtils.ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
95
+ return import_core.ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
42
96
  };
43
97
  const findAllSetAttributeMetadata = (target) => {
44
98
  const result = /* @__PURE__ */ new Map();
45
- const maps = import_ReflectUtils.ReflectUtils.findAllMetadata(SET_ATTRIBUTE_METADATA_KEY, target);
99
+ const maps = import_core.ReflectUtils.findAllMetadata(SET_ATTRIBUTE_METADATA_KEY, target);
46
100
  maps.forEach((map) => {
47
101
  if (map instanceof Map) {
48
102
  map.forEach((v, k) => result.set(k, v));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/setAttribute.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport const SET_ATTRIBUTE_METADATA_KEY = Symbol('simple-web-component:set-attribute');\n\nexport function setAttribute(attributeName?: string): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let meta = ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor) as Map<string, string | symbol>;\n if (!meta) {\n meta = new Map<string, string | symbol>();\n ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, meta, constructor);\n }\n meta.set(attributeName || String(propertyKey), propertyKey);\n };\n}\n\nexport const getSetAttributeMetadata = (target: any): Map<string, string | symbol> | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);\n};\n\nexport const findAllSetAttributeMetadata = (target: any): Map<string, string | symbol> => {\n const result = new Map<string, string | symbol>();\n const maps = ReflectUtils.findAllMetadata<any>(SET_ATTRIBUTE_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAEtB,MAAM,6BAA6B,OAAO,oCAAoC;AAE9E,SAAS,aAAa,eAAyC;AACpE,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,iCAAa,eAAe,4BAA4B,WAAW;AAC9E,QAAI,CAAC,MAAM;AACT,aAAO,oBAAI,IAA6B;AACxC,uCAAa,eAAe,4BAA4B,MAAM,WAAW;AAAA,IAC3E;AACA,SAAK,IAAI,iBAAiB,OAAO,WAAW,GAAG,WAAW;AAAA,EAC5D;AACF;AAEO,MAAM,0BAA0B,CAAC,WAA0D;AAChG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,4BAA4B,WAAW;AACzE;AAEO,MAAM,8BAA8B,CAAC,WAA8C;AACxF,QAAM,SAAS,oBAAI,IAA6B;AAChD,QAAM,OAAO,iCAAa,gBAAqB,4BAA4B,MAAM;AACjF,OAAK,QAAQ,SAAO;AAClB,QAAI,eAAe,KAAK;AACtB,UAAI,QAAQ,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,CAAC,CAAC;AAAA,IACxC;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit, getElementConfig } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SwcQueryOptions } from '../types';\n\nexport interface SetAttributeMetadata {\n propertyKey: string | symbol;\n selector: string;\n name: string;\n options: SwcQueryOptions;\n}\n\nexport const SET_ATTRIBUTE_METADATA_KEY = Symbol('simple-web-component:set-attribute');\n\n/**\n * @setAttribute decorator to surgically update an attribute of a target element.\n * Usage: @setAttribute(':host', 'count')\n * Usage: @setAttribute('#child', 'disabled')\n */\nexport function setAttribute(selector: string, name: string): MethodDecorator;\nexport function setAttribute(selector: string, name: string, options?: SwcQueryOptions): MethodDecorator;\nexport function setAttribute(selector: string, name: string, options: SwcQueryOptions = {}): MethodDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor) as Map<string | symbol, SetAttributeMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, SetAttributeMetadata>();\n ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, name, options });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const hostSet = SwcUtils.getHostSet(this as any);\n const conf = getElementConfig(this);\n const currentWin = (this as any)._resolveWindow?.(conf) || ((typeof window !== 'undefined' ? window : undefined) as Window);\n\n const targetEls: any[] = [];\n const r = options.root || 'auto';\n\n const applyRoot = (t: any) => {\n if (!t) return;\n if (r === 'auto') {\n targetEls.push((t as any).shadowRoot || t);\n return;\n }\n if (r === 'light' || r === 'all') targetEls.push(t);\n if ((r === 'shadow' || r === 'all') && (t as any).shadowRoot) targetEls.push((t as any).shadowRoot);\n };\n\n if (selector === ':window') targetEls.push(currentWin);\n else if (selector === ':document') targetEls.push(currentWin.document as any);\n else if (selector === ':parentHost') applyRoot(hostSet.$parentHost);\n else if (selector === ':appHost') applyRoot(hostSet.$appHost);\n else if (selector === ':firstHost') applyRoot(hostSet.$firstHost);\n else if (selector === ':lastHost') applyRoot(hostSet.$lastHost);\n else if (selector === ':firstAppHost') applyRoot(hostSet.$firstAppHost);\n else if (selector === ':lastAppHost') applyRoot(hostSet.$lastAppHost);\n else if (selector === ':hosts') hostSet.$hosts.forEach(applyRoot);\n else if (selector === ':appHosts') hostSet.$appHosts.forEach(applyRoot);\n else if (selector === ':host' || !selector) applyRoot(this);\n else {\n const roots: any[] = [];\n if (r === 'shadow') {\n if ((this as any).shadowRoot) roots.push((this as any).shadowRoot);\n } else if (r === 'light') {\n roots.push(this as any);\n } else if (r === 'all') {\n roots.push(this as any);\n if ((this as any).shadowRoot) roots.push((this as any).shadowRoot);\n } else {\n roots.push((this as any).shadowRoot || (this as any));\n }\n roots.forEach(root => targetEls.push(...root.querySelectorAll(selector)));\n }\n\n targetEls.forEach(targetEl => {\n if (!targetEl || typeof (targetEl as any).setAttribute !== 'function') return;\n if (res === null) (targetEl as any).removeAttribute(name);\n else (targetEl as any).setAttribute(name, String(res));\n })\n }\n return res;\n };\n };\n}\n\nexport const getSetAttributeMetadata = (target: any): Map<string | symbol, SetAttributeMetadata> | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);\n};\n\nexport const findAllSetAttributeMetadata = (target: any): Map<string | symbol, SetAttributeMetadata> => {\n const result = new Map<string | symbol, SetAttributeMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, SetAttributeMetadata>>(SET_ATTRIBUTE_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,88 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var style_exports = {};
19
+ __export(style_exports, {
20
+ STYLE_METADATA_KEY: () => STYLE_METADATA_KEY,
21
+ findAllStyleMetadata: () => findAllStyleMetadata,
22
+ removeStyle: () => removeStyle,
23
+ setStyle: () => setStyle,
24
+ updateStyle: () => updateStyle
25
+ });
26
+ module.exports = __toCommonJS(style_exports);
27
+ var import_core = require("@dooboostore/core");
28
+ var import_elementDefine = require("./elementDefine");
29
+ var import_Utils = require("../utils/Utils");
30
+ const STYLE_METADATA_KEY = Symbol("simple-web-component:style");
31
+ function createStyleDecorator(action) {
32
+ return (selector) => {
33
+ return (target, propertyKey, descriptor) => {
34
+ const constructor = target.constructor;
35
+ let metaList = import_core.ReflectUtils.getOwnMetadata(STYLE_METADATA_KEY, constructor);
36
+ if (!metaList) {
37
+ metaList = /* @__PURE__ */ new Map();
38
+ import_core.ReflectUtils.defineMetadata(STYLE_METADATA_KEY, metaList, constructor);
39
+ }
40
+ metaList.set(propertyKey, { propertyKey, selector, action });
41
+ const original = descriptor.value;
42
+ descriptor.value = async function(...args) {
43
+ (0, import_elementDefine.ensureInit)(this);
44
+ const res = await original.apply(this, args);
45
+ if (res !== void 0) {
46
+ const hostSet = import_Utils.SwcUtils.getHostSet(this);
47
+ let targetEl = null;
48
+ if (selector === ":host" || !selector) targetEl = this;
49
+ else if (selector === ":parentHost") targetEl = hostSet.$parentHost;
50
+ else if (selector === ":appHost") targetEl = hostSet.$appHost;
51
+ else targetEl = (this.shadowRoot || this).querySelector(selector);
52
+ if (targetEl) {
53
+ if (action === "set") {
54
+ targetEl.style.cssText = "";
55
+ if (typeof res === "object" && res !== null) {
56
+ Object.assign(targetEl.style, res);
57
+ } else if (typeof res === "string") {
58
+ targetEl.style.cssText = res;
59
+ }
60
+ } else if (action === "update") {
61
+ if (typeof res === "object" && res !== null) {
62
+ Object.assign(targetEl.style, res);
63
+ }
64
+ } else if (action === "remove") {
65
+ const props = Array.isArray(res) ? res : [res];
66
+ props.forEach((p) => targetEl.style.removeProperty(String(p)));
67
+ }
68
+ }
69
+ }
70
+ return res;
71
+ };
72
+ };
73
+ };
74
+ }
75
+ const setStyle = createStyleDecorator("set");
76
+ const updateStyle = createStyleDecorator("update");
77
+ const removeStyle = createStyleDecorator("remove");
78
+ const findAllStyleMetadata = (target) => {
79
+ const result = /* @__PURE__ */ new Map();
80
+ const maps = import_core.ReflectUtils.findAllMetadata(STYLE_METADATA_KEY, target);
81
+ maps.forEach((map) => {
82
+ if (map instanceof Map) {
83
+ map.forEach((v, k) => result.set(k, v));
84
+ }
85
+ });
86
+ return result;
87
+ };
88
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/decorators/style.ts"],
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\n\nexport type StyleAction = 'set' | 'update' | 'remove';\n\nexport interface StyleMetadata {\n propertyKey: string | symbol;\n selector: string;\n action: StyleAction;\n}\n\nexport const STYLE_METADATA_KEY = Symbol('simple-web-component:style');\n\nfunction createStyleDecorator(action: StyleAction) {\n return (selector: string): MethodDecorator => {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(STYLE_METADATA_KEY, constructor) as Map<string | symbol, StyleMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, StyleMetadata>();\n ReflectUtils.defineMetadata(STYLE_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, action });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const hostSet = SwcUtils.getHostSet(this as any);\n let targetEl: HTMLElement | null = null;\n if (selector === ':host' || !selector) targetEl = this as any;\n else if (selector === ':parentHost') targetEl = hostSet.$parentHost;\n else if (selector === ':appHost') targetEl = hostSet.$appHost;\n else targetEl = (this.shadowRoot || (this as any)).querySelector(selector);\n\n if (targetEl) {\n if (action === 'set') {\n targetEl.style.cssText = '';\n if (typeof res === 'object' && res !== null) {\n Object.assign(targetEl.style, res);\n } else if (typeof res === 'string') {\n targetEl.style.cssText = res;\n }\n } else if (action === 'update') {\n if (typeof res === 'object' && res !== null) {\n Object.assign(targetEl.style, res);\n }\n } else if (action === 'remove') {\n const props = Array.isArray(res) ? res : [res];\n props.forEach(p => targetEl!.style.removeProperty(String(p)));\n }\n }\n }\n return res;\n };\n };\n };\n}\n\n/**\n * @setStyle decorator to surgically set styles on a target element (replaces all existing styles).\n * Usage: @setStyle('#box') getStyles() { return { color: 'red', display: 'block' }; }\n */\nexport const setStyle = createStyleDecorator('set');\n\n/**\n * @updateStyle decorator to surgically update styles on a target element (merges with existing styles).\n * Usage: @updateStyle('#box') updateStyles() { return { color: 'blue' }; }\n */\nexport const updateStyle = createStyleDecorator('update');\n\n/**\n * @removeStyle decorator to surgically remove styles from a target element.\n * Usage: @removeStyle('#box') clearStyles() { return ['color', 'display']; }\n */\nexport const removeStyle = createStyleDecorator('remove');\n\nexport const findAllStyleMetadata = (target: any): Map<string | symbol, StyleMetadata> => {\n const result = new Map<string | symbol, StyleMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, StyleMetadata>>(STYLE_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAC7B,2BAA2B;AAC3B,mBAAyB;AAUlB,MAAM,qBAAqB,OAAO,4BAA4B;AAErE,SAAS,qBAAqB,QAAqB;AACjD,SAAO,CAAC,aAAsC;AAC5C,WAAO,CAAC,QAAgB,aAA8B,eAAmC;AACvF,YAAM,cAAc,OAAO;AAC3B,UAAI,WAAW,yBAAa,eAAe,oBAAoB,WAAW;AAC1E,UAAI,CAAC,UAAU;AACb,mBAAW,oBAAI,IAAoC;AACnD,iCAAa,eAAe,oBAAoB,UAAU,WAAW;AAAA,MACvE;AACA,eAAS,IAAI,aAAa,EAAE,aAAa,UAAU,OAAO,CAAC;AAE3D,YAAM,WAAW,WAAW;AAC5B,iBAAW,QAAQ,kBAAmB,MAAa;AACjD,6CAAW,IAAI;AACf,cAAM,MAAM,MAAM,SAAS,MAAM,MAAM,IAAI;AAC3C,YAAI,QAAQ,QAAW;AACrB,gBAAM,UAAU,sBAAS,WAAW,IAAW;AAC/C,cAAI,WAA+B;AACnC,cAAI,aAAa,WAAW,CAAC,SAAU,YAAW;AAAA,mBACzC,aAAa,cAAe,YAAW,QAAQ;AAAA,mBAC/C,aAAa,WAAY,YAAW,QAAQ;AAAA,cAChD,aAAY,KAAK,cAAe,MAAc,cAAc,QAAQ;AAEzE,cAAI,UAAU;AACZ,gBAAI,WAAW,OAAO;AACpB,uBAAS,MAAM,UAAU;AACzB,kBAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,uBAAO,OAAO,SAAS,OAAO,GAAG;AAAA,cACnC,WAAW,OAAO,QAAQ,UAAU;AAClC,yBAAS,MAAM,UAAU;AAAA,cAC3B;AAAA,YACF,WAAW,WAAW,UAAU;AAC9B,kBAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,uBAAO,OAAO,SAAS,OAAO,GAAG;AAAA,cACnC;AAAA,YACF,WAAW,WAAW,UAAU;AAC9B,oBAAM,QAAQ,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AAC7C,oBAAM,QAAQ,OAAK,SAAU,MAAM,eAAe,OAAO,CAAC,CAAC,CAAC;AAAA,YAC9D;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAMO,MAAM,WAAW,qBAAqB,KAAK;AAM3C,MAAM,cAAc,qBAAqB,QAAQ;AAMjD,MAAM,cAAc,qBAAqB,QAAQ;AAEjD,MAAM,uBAAuB,CAAC,WAAqD;AACxF,QAAM,SAAS,oBAAI,IAAoC;AACvD,QAAM,OAAO,yBAAa,gBAAqD,oBAAoB,MAAM;AACzG,OAAK,QAAQ,SAAO;AAClB,QAAI,eAAe,KAAK;AACtB,UAAI,QAAQ,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,CAAC,CAAC;AAAA,IACxC;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -21,35 +21,50 @@ __export(SwcAppEngine_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(SwcAppEngine_exports);
23
23
  var import_SimpleApplication = require("@dooboostore/simple-boot/SimpleApplication");
24
- var import_PathRouter = require("@dooboostore/core-web/routers/PathRouter");
25
- var import_HashRouter = require("@dooboostore/core-web/routers/HashRouter");
24
+ var import_core_web = require("@dooboostore/core-web");
25
+ var import_core_web2 = require("@dooboostore/core-web");
26
26
  var import_ElementRouter = require("../router/ElementRouter");
27
27
  var import_SimOption = require("@dooboostore/simple-boot/SimOption");
28
- var import_Router = require("@dooboostore/core-web/routers/Router");
29
- var import_FunctionUtils = require("@dooboostore/core/function/FunctionUtils");
28
+ var import_core_web3 = require("@dooboostore/core-web");
29
+ var import_core3 = require("@dooboostore/core");
30
+ var import_Utils = require("../utils/Utils");
30
31
  class SwcAppEngine {
31
32
  constructor(host) {
32
33
  this.host = host;
33
34
  this._isInitialized = false;
34
35
  }
35
- async connect() {
36
+ async connect(config) {
36
37
  if (this._isInitialized) return;
38
+ let userConfig = config;
39
+ const win = this.host.ownerDocument?.defaultView || window;
40
+ const Node = win.Node;
41
+ if (!userConfig) {
42
+ const configStr = this.host.getAttribute("swc-get-application-config");
43
+ if (configStr) {
44
+ try {
45
+ userConfig = import_core3.FunctionUtils.executeReturn({
46
+ script: configStr,
47
+ context: this.host,
48
+ args: import_Utils.SwcUtils.getHelperAndHostSet(win, this.host)
49
+ });
50
+ } catch (e) {
51
+ console.error("[SWC-APP-ENGINE] Script execution failed:", e);
52
+ }
53
+ }
54
+ }
55
+ if (!userConfig) return;
37
56
  this._isInitialized = true;
38
- await new Promise((resolve) => setTimeout(resolve, 0));
39
- const configStr = this.host.getAttribute("swc-get-application-config");
40
- if (!configStr) return;
41
57
  try {
42
- const userConfig = import_FunctionUtils.FunctionUtils.executeReturn({ script: configStr, context: this.host });
43
- if (userConfig && userConfig.rootRouter) {
58
+ if (userConfig.rootRouter) {
44
59
  const _config = {
45
60
  routeType: "element",
46
- window,
61
+ window: win,
47
62
  ...userConfig
48
63
  };
49
64
  if (_config.routeType === "path") {
50
- this.router = new import_PathRouter.PathRouter({ window: _config.window, firstUrl: _config.path });
65
+ this.router = new import_core_web.PathRouter({ window: _config.window, firstUrl: _config.path });
51
66
  } else if (_config.routeType === "hash") {
52
- this.router = new import_HashRouter.HashRouter({ window: _config.window, firstUrl: _config.path });
67
+ this.router = new import_core_web2.HashRouter({ window: _config.window, firstUrl: _config.path });
53
68
  } else if (_config.routeType === "element") {
54
69
  this.router = new import_ElementRouter.ElementRouter({ window: _config.window, firstUrl: _config.path });
55
70
  }
@@ -62,14 +77,14 @@ class SwcAppEngine {
62
77
  }
63
78
  this.simpleApplication = new import_SimpleApplication.SimpleApplication(new import_SimOption.SimOption({ excludeProxys: [Node], rootRouter: _config.rootRouter }));
64
79
  const otherInstanceSim = /* @__PURE__ */ new Map();
65
- if (this.router) otherInstanceSim.set(import_Router.Router, this.router);
80
+ if (this.router) otherInstanceSim.set(import_core_web3.Router, this.router);
66
81
  this.simpleApplication.run(otherInstanceSim);
67
82
  const data = this.simpleApplication.sim(_config.rootRouter);
68
83
  if (data instanceof Node) {
69
84
  if (this.host.shadowRoot) this.host.shadowRoot.replaceChildren(data);
70
85
  else this.host.replaceChildren(data);
71
86
  }
72
- if (_config.path) await this.router?.go(_config.path);
87
+ if (_config.path) this.router?.go(_config.path);
73
88
  }
74
89
  } catch (e) {
75
90
  console.error("[SWC-APP-ENGINE] Init failed:", e);