@dooboostore/simple-web-component 1.0.35 → 1.0.37

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 (284) hide show
  1. package/README.md +58 -21
  2. package/dist/cjs/{elements/SwcAppEngine.js → SwcAppEngine.js} +6 -6
  3. package/dist/cjs/SwcAppEngine.js.map +7 -0
  4. package/dist/cjs/decorators/addEventListener.js +12 -4
  5. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  6. package/dist/cjs/decorators/applyAttribute.js +19 -18
  7. package/dist/cjs/decorators/applyAttribute.js.map +2 -2
  8. package/dist/cjs/decorators/applyClass.js +23 -22
  9. package/dist/cjs/decorators/applyClass.js.map +2 -2
  10. package/dist/cjs/decorators/applyNode.js +28 -26
  11. package/dist/cjs/decorators/applyNode.js.map +2 -2
  12. package/dist/cjs/decorators/applySlot.js +122 -0
  13. package/dist/cjs/decorators/applySlot.js.map +7 -0
  14. package/dist/cjs/decorators/applyStyle.js +20 -19
  15. package/dist/cjs/decorators/applyStyle.js.map +2 -2
  16. package/dist/cjs/decorators/attribute.js +16 -15
  17. package/dist/cjs/decorators/attribute.js.map +2 -2
  18. package/dist/cjs/decorators/{changedAttributeHost.js → changedAttributeThis.js} +6 -6
  19. package/dist/cjs/decorators/changedAttributeThis.js.map +7 -0
  20. package/dist/cjs/decorators/elementDefine.js +59 -50
  21. package/dist/cjs/decorators/elementDefine.js.map +2 -2
  22. package/dist/cjs/decorators/emitCustomEvent.js +18 -16
  23. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  24. package/dist/cjs/decorators/index.js +2 -1
  25. package/dist/cjs/decorators/index.js.map +2 -2
  26. package/dist/cjs/decorators/lifecycles.js +56 -8
  27. package/dist/cjs/decorators/lifecycles.js.map +2 -2
  28. package/dist/cjs/decorators/query.js +38 -60
  29. package/dist/cjs/decorators/query.js.map +2 -2
  30. package/dist/cjs/decorators/queryAll.js +31 -63
  31. package/dist/cjs/decorators/queryAll.js.map +2 -2
  32. package/dist/cjs/decorators/setProperty.js +13 -12
  33. package/dist/cjs/decorators/setProperty.js.map +2 -2
  34. package/dist/cjs/elements/{SwcAppMixin.js → SwcApp.js} +107 -57
  35. package/dist/cjs/elements/SwcApp.js.map +7 -0
  36. package/dist/cjs/elements/index.js +21 -2
  37. package/dist/cjs/elements/index.js.map +3 -3
  38. package/dist/cjs/elements/tt/SwcAppMixin.js +1 -0
  39. package/dist/cjs/elements/tt/SwcAppMixin.js.map +7 -0
  40. package/dist/cjs/elements/tt/SwcAsync.js +1 -0
  41. package/dist/cjs/elements/tt/SwcAsync.js.map +7 -0
  42. package/dist/cjs/elements/tt/SwcAsyncTemplate.js +1 -0
  43. package/dist/cjs/elements/tt/SwcAsyncTemplate.js.map +7 -0
  44. package/dist/cjs/elements/tt/SwcChoose.js +1 -0
  45. package/dist/cjs/elements/tt/SwcChoose.js.map +7 -0
  46. package/dist/cjs/elements/tt/SwcChooseTemplate.js +1 -0
  47. package/dist/cjs/elements/tt/SwcChooseTemplate.js.map +7 -0
  48. package/dist/cjs/elements/tt/SwcIf.js +1 -0
  49. package/dist/cjs/elements/tt/SwcIf.js.map +7 -0
  50. package/dist/cjs/elements/tt/SwcIfTemplate.js +1 -0
  51. package/dist/cjs/elements/tt/SwcIfTemplate.js.map +7 -0
  52. package/dist/cjs/elements/tt/SwcLoop.js +1 -0
  53. package/dist/cjs/elements/tt/SwcLoop.js.map +7 -0
  54. package/dist/cjs/elements/tt/SwcLoopTemplate.js +1 -0
  55. package/dist/cjs/elements/tt/SwcLoopTemplate.js.map +7 -0
  56. package/dist/cjs/elements/tt/SwcSubTemplates.js +1 -0
  57. package/dist/cjs/elements/tt/SwcSubTemplates.js.map +7 -0
  58. package/dist/cjs/elements/tt/register.js +1 -0
  59. package/dist/cjs/elements/tt/register.js.map +7 -0
  60. package/dist/cjs/index.js +12 -8
  61. package/dist/cjs/index.js.map +2 -2
  62. package/dist/cjs/types/window.d.js +16 -0
  63. package/dist/cjs/types/window.d.js.map +7 -0
  64. package/dist/cjs/types.js.map +1 -1
  65. package/dist/cjs/utils/Utils.js +22 -19
  66. package/dist/cjs/utils/Utils.js.map +2 -2
  67. package/dist/esm/{elements/SwcAppEngine.js → SwcAppEngine.js} +4 -4
  68. package/dist/esm/SwcAppEngine.js.map +7 -0
  69. package/dist/esm/decorators/addEventListener.js +12 -4
  70. package/dist/esm/decorators/addEventListener.js.map +2 -2
  71. package/dist/esm/decorators/applyAttribute.js +19 -18
  72. package/dist/esm/decorators/applyAttribute.js.map +2 -2
  73. package/dist/esm/decorators/applyClass.js +23 -22
  74. package/dist/esm/decorators/applyClass.js.map +2 -2
  75. package/dist/esm/decorators/applyNode.js +28 -26
  76. package/dist/esm/decorators/applyNode.js.map +2 -2
  77. package/dist/esm/decorators/applySlot.js +103 -0
  78. package/dist/esm/decorators/applySlot.js.map +7 -0
  79. package/dist/esm/decorators/applyStyle.js +20 -19
  80. package/dist/esm/decorators/applyStyle.js.map +2 -2
  81. package/dist/esm/decorators/attribute.js +16 -15
  82. package/dist/esm/decorators/attribute.js.map +2 -2
  83. package/dist/esm/decorators/{changedAttributeHost.js → changedAttributeThis.js} +3 -3
  84. package/dist/esm/decorators/changedAttributeThis.js.map +7 -0
  85. package/dist/esm/decorators/elementDefine.js +60 -51
  86. package/dist/esm/decorators/elementDefine.js.map +2 -2
  87. package/dist/esm/decorators/emitCustomEvent.js +18 -16
  88. package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
  89. package/dist/esm/decorators/index.js +2 -1
  90. package/dist/esm/decorators/index.js.map +2 -2
  91. package/dist/esm/decorators/lifecycles.js +56 -8
  92. package/dist/esm/decorators/lifecycles.js.map +2 -2
  93. package/dist/esm/decorators/query.js +38 -60
  94. package/dist/esm/decorators/query.js.map +2 -2
  95. package/dist/esm/decorators/queryAll.js +31 -63
  96. package/dist/esm/decorators/queryAll.js.map +2 -2
  97. package/dist/esm/decorators/setProperty.js +13 -12
  98. package/dist/esm/decorators/setProperty.js.map +2 -2
  99. package/dist/esm/elements/{SwcAppMixin.js → SwcApp.js} +102 -53
  100. package/dist/esm/elements/SwcApp.js.map +7 -0
  101. package/dist/esm/elements/index.js +7 -1
  102. package/dist/esm/elements/index.js.map +2 -2
  103. package/dist/esm/elements/tt/SwcAppMixin.js +1 -0
  104. package/dist/esm/elements/tt/SwcAppMixin.js.map +7 -0
  105. package/dist/esm/elements/tt/SwcAsync.js +1 -0
  106. package/dist/esm/elements/tt/SwcAsync.js.map +7 -0
  107. package/dist/esm/elements/tt/SwcAsyncTemplate.js +1 -0
  108. package/dist/esm/elements/tt/SwcAsyncTemplate.js.map +7 -0
  109. package/dist/esm/elements/tt/SwcChoose.js +1 -0
  110. package/dist/esm/elements/tt/SwcChoose.js.map +7 -0
  111. package/dist/esm/elements/tt/SwcChooseTemplate.js +1 -0
  112. package/dist/esm/elements/tt/SwcChooseTemplate.js.map +7 -0
  113. package/dist/esm/elements/tt/SwcIf.js +1 -0
  114. package/dist/esm/elements/tt/SwcIf.js.map +7 -0
  115. package/dist/esm/elements/tt/SwcIfTemplate.js +1 -0
  116. package/dist/esm/elements/tt/SwcIfTemplate.js.map +7 -0
  117. package/dist/esm/elements/tt/SwcLoop.js +1 -0
  118. package/dist/esm/elements/tt/SwcLoop.js.map +7 -0
  119. package/dist/esm/elements/tt/SwcLoopTemplate.js +1 -0
  120. package/dist/esm/elements/tt/SwcLoopTemplate.js.map +7 -0
  121. package/dist/esm/elements/tt/SwcSubTemplates.js +1 -0
  122. package/dist/esm/elements/tt/SwcSubTemplates.js.map +7 -0
  123. package/dist/esm/elements/tt/register.js +1 -0
  124. package/dist/esm/elements/tt/register.js.map +7 -0
  125. package/dist/esm/index.js +13 -9
  126. package/dist/esm/index.js.map +2 -2
  127. package/dist/esm/types/window.d.js +1 -0
  128. package/dist/esm/types/window.d.js.map +7 -0
  129. package/dist/esm/types.js.map +1 -1
  130. package/dist/esm/utils/Utils.js +22 -19
  131. package/dist/esm/utils/Utils.js.map +2 -2
  132. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +4189 -456
  133. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  134. package/dist/types/{elements/SwcAppEngine.d.ts → SwcAppEngine.d.ts} +9 -4
  135. package/dist/types/SwcAppEngine.d.ts.map +1 -0
  136. package/dist/types/decorators/addEventListener.d.ts +5 -7
  137. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  138. package/dist/types/decorators/applyAttribute.d.ts +4 -4
  139. package/dist/types/decorators/applyAttribute.d.ts.map +1 -1
  140. package/dist/types/decorators/applyClass.d.ts +6 -6
  141. package/dist/types/decorators/applyClass.d.ts.map +1 -1
  142. package/dist/types/decorators/applyNode.d.ts +9 -9
  143. package/dist/types/decorators/applyNode.d.ts.map +1 -1
  144. package/dist/types/decorators/applySlot.d.ts +27 -0
  145. package/dist/types/decorators/applySlot.d.ts.map +1 -0
  146. package/dist/types/decorators/applyStyle.d.ts +4 -4
  147. package/dist/types/decorators/applyStyle.d.ts.map +1 -1
  148. package/dist/types/decorators/attribute.d.ts +5 -5
  149. package/dist/types/decorators/attribute.d.ts.map +1 -1
  150. package/dist/types/decorators/changedAttributeThis.d.ts +18 -0
  151. package/dist/types/decorators/changedAttributeThis.d.ts.map +1 -0
  152. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  153. package/dist/types/decorators/emitCustomEvent.d.ts +4 -9
  154. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
  155. package/dist/types/decorators/index.d.ts +2 -1
  156. package/dist/types/decorators/index.d.ts.map +1 -1
  157. package/dist/types/decorators/lifecycles.d.ts +21 -6
  158. package/dist/types/decorators/lifecycles.d.ts.map +1 -1
  159. package/dist/types/decorators/query.d.ts +17 -63
  160. package/dist/types/decorators/query.d.ts.map +1 -1
  161. package/dist/types/decorators/queryAll.d.ts +6 -63
  162. package/dist/types/decorators/queryAll.d.ts.map +1 -1
  163. package/dist/types/decorators/setProperty.d.ts +1 -1
  164. package/dist/types/decorators/setProperty.d.ts.map +1 -1
  165. package/dist/types/elements/SwcApp.d.ts +7 -0
  166. package/dist/types/elements/SwcApp.d.ts.map +1 -0
  167. package/dist/types/elements/index.d.ts +2 -1
  168. package/dist/types/elements/index.d.ts.map +1 -1
  169. package/dist/types/elements/tt/SwcAppMixin.d.ts +1 -0
  170. package/dist/types/elements/tt/SwcAppMixin.d.ts.map +1 -0
  171. package/dist/types/elements/tt/SwcAsync.d.ts +1 -0
  172. package/dist/types/elements/tt/SwcAsync.d.ts.map +1 -0
  173. package/dist/types/elements/tt/SwcAsyncTemplate.d.ts +1 -0
  174. package/dist/types/elements/tt/SwcAsyncTemplate.d.ts.map +1 -0
  175. package/dist/types/elements/tt/SwcChoose.d.ts +1 -0
  176. package/dist/types/elements/tt/SwcChoose.d.ts.map +1 -0
  177. package/dist/types/elements/tt/SwcChooseTemplate.d.ts +1 -0
  178. package/dist/types/elements/tt/SwcChooseTemplate.d.ts.map +1 -0
  179. package/dist/types/elements/tt/SwcIf.d.ts +1 -0
  180. package/dist/types/elements/{SwcIf.d.ts.map → tt/SwcIf.d.ts.map} +1 -1
  181. package/dist/types/elements/tt/SwcIfTemplate.d.ts +1 -0
  182. package/dist/types/elements/tt/SwcIfTemplate.d.ts.map +1 -0
  183. package/dist/types/elements/tt/SwcLoop.d.ts +1 -0
  184. package/dist/types/elements/tt/SwcLoop.d.ts.map +1 -0
  185. package/dist/types/elements/tt/SwcLoopTemplate.d.ts +1 -0
  186. package/dist/types/elements/tt/SwcLoopTemplate.d.ts.map +1 -0
  187. package/dist/types/elements/tt/SwcSubTemplates.d.ts +1 -0
  188. package/dist/types/elements/tt/SwcSubTemplates.d.ts.map +1 -0
  189. package/dist/types/elements/tt/register.d.ts +1 -0
  190. package/dist/types/elements/tt/register.d.ts.map +1 -0
  191. package/dist/types/index.d.ts +2 -2
  192. package/dist/types/index.d.ts.map +1 -1
  193. package/dist/types/types.d.ts +5 -5
  194. package/dist/types/types.d.ts.map +1 -1
  195. package/dist/types/utils/Utils.d.ts +13 -12
  196. package/dist/types/utils/Utils.d.ts.map +1 -1
  197. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +4189 -456
  198. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  199. package/package.json +4 -4
  200. package/src/{elements/SwcAppEngine.ts → SwcAppEngine.ts} +12 -7
  201. package/src/decorators/addEventListener.ts +11 -9
  202. package/src/decorators/applyAttribute.ts +16 -15
  203. package/src/decorators/applyClass.ts +18 -17
  204. package/src/decorators/applyNode.ts +30 -27
  205. package/src/decorators/applySlot.ts +228 -0
  206. package/src/decorators/applyStyle.ts +17 -16
  207. package/src/decorators/attribute.ts +20 -19
  208. package/src/decorators/{changedAttributeHost.ts → changedAttributeThis.ts} +10 -12
  209. package/src/decorators/elementDefine.ts +80 -57
  210. package/src/decorators/emitCustomEvent.ts +21 -26
  211. package/src/decorators/index.ts +2 -1
  212. package/src/decorators/lifecycles.ts +76 -11
  213. package/src/decorators/query.ts +51 -124
  214. package/src/decorators/queryAll.ts +30 -127
  215. package/src/decorators/setProperty.ts +12 -11
  216. package/src/elements/{SwcAppMixin.ts → SwcApp.ts} +98 -31
  217. package/src/elements/index.ts +11 -1
  218. package/src/elements/tt/SwcAppMixin.ts +13 -0
  219. package/src/elements/tt/SwcAsync.ts +139 -0
  220. package/src/elements/tt/SwcAsyncTemplate.ts +126 -0
  221. package/src/elements/tt/SwcChoose.ts +182 -0
  222. package/src/elements/tt/SwcChooseTemplate.ts +229 -0
  223. package/src/elements/tt/SwcIf.ts +145 -0
  224. package/src/elements/tt/SwcIfTemplate.ts +158 -0
  225. package/src/elements/tt/SwcLoop.ts +222 -0
  226. package/src/elements/tt/SwcLoopTemplate.ts +255 -0
  227. package/src/elements/tt/SwcSubTemplates.ts +6 -0
  228. package/src/elements/tt/register.ts +720 -0
  229. package/src/index.ts +13 -9
  230. package/src/types/window.d.ts +43 -0
  231. package/src/types.ts +9 -8
  232. package/src/utils/Utils.ts +28 -24
  233. package/dist/cjs/decorators/changedAttributeHost.js.map +0 -7
  234. package/dist/cjs/elements/SwcAppEngine.js.map +0 -7
  235. package/dist/cjs/elements/SwcAppMixin.js.map +0 -7
  236. package/dist/cjs/elements/SwcAsync.js +0 -129
  237. package/dist/cjs/elements/SwcAsync.js.map +0 -7
  238. package/dist/cjs/elements/SwcChoose.js +0 -155
  239. package/dist/cjs/elements/SwcChoose.js.map +0 -7
  240. package/dist/cjs/elements/SwcIf.js +0 -117
  241. package/dist/cjs/elements/SwcIf.js.map +0 -7
  242. package/dist/cjs/elements/SwcLoop.js +0 -176
  243. package/dist/cjs/elements/SwcLoop.js.map +0 -7
  244. package/dist/cjs/elements/SwcSubTemplates.js +0 -13
  245. package/dist/cjs/elements/SwcSubTemplates.js.map +0 -7
  246. package/dist/cjs/elements/register.js +0 -1026
  247. package/dist/cjs/elements/register.js.map +0 -7
  248. package/dist/esm/decorators/changedAttributeHost.js.map +0 -7
  249. package/dist/esm/elements/SwcAppEngine.js.map +0 -7
  250. package/dist/esm/elements/SwcAppMixin.js.map +0 -7
  251. package/dist/esm/elements/SwcAsync.js +0 -129
  252. package/dist/esm/elements/SwcAsync.js.map +0 -7
  253. package/dist/esm/elements/SwcChoose.js +0 -155
  254. package/dist/esm/elements/SwcChoose.js.map +0 -7
  255. package/dist/esm/elements/SwcIf.js +0 -117
  256. package/dist/esm/elements/SwcIf.js.map +0 -7
  257. package/dist/esm/elements/SwcLoop.js +0 -176
  258. package/dist/esm/elements/SwcLoop.js.map +0 -7
  259. package/dist/esm/elements/SwcSubTemplates.js +0 -13
  260. package/dist/esm/elements/SwcSubTemplates.js.map +0 -7
  261. package/dist/esm/elements/register.js +0 -1007
  262. package/dist/esm/elements/register.js.map +0 -7
  263. package/dist/types/decorators/changedAttributeHost.d.ts +0 -20
  264. package/dist/types/decorators/changedAttributeHost.d.ts.map +0 -1
  265. package/dist/types/elements/SwcAppEngine.d.ts.map +0 -1
  266. package/dist/types/elements/SwcAppMixin.d.ts +0 -386
  267. package/dist/types/elements/SwcAppMixin.d.ts.map +0 -1
  268. package/dist/types/elements/SwcAsync.d.ts +0 -2
  269. package/dist/types/elements/SwcAsync.d.ts.map +0 -1
  270. package/dist/types/elements/SwcChoose.d.ts +0 -2
  271. package/dist/types/elements/SwcChoose.d.ts.map +0 -1
  272. package/dist/types/elements/SwcIf.d.ts +0 -2
  273. package/dist/types/elements/SwcLoop.d.ts +0 -2
  274. package/dist/types/elements/SwcLoop.d.ts.map +0 -1
  275. package/dist/types/elements/SwcSubTemplates.d.ts +0 -13
  276. package/dist/types/elements/SwcSubTemplates.d.ts.map +0 -1
  277. package/dist/types/elements/register.d.ts +0 -4
  278. package/dist/types/elements/register.d.ts.map +0 -1
  279. package/src/elements/SwcAsync.ts +0 -126
  280. package/src/elements/SwcChoose.ts +0 -190
  281. package/src/elements/SwcIf.ts +0 -124
  282. package/src/elements/SwcLoop.ts +0 -205
  283. package/src/elements/SwcSubTemplates.ts +0 -6
  284. package/src/elements/register.ts +0 -1022
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/emitCustomEvent.ts"],
4
- "sourcesContent": ["import {ReflectUtils} from '@dooboostore/core';\nimport {SpecialSelector, SwcQueryOptions, HelperHostSet} from '../types';\nimport {ensureInit, getElementConfig} from './elementDefine';\nimport {SwcUtils} from '../utils/Utils';\n\nexport interface EmitCustomEventBaseOptions {\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n filter?: (target: EventTarget, detail: any, meta: { currentThis: any, helper: HelperHostSet }) => boolean;\n}\n\ntype Options = (EmitCustomEventBaseOptions & SwcQueryOptions) | (EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string });\n\nexport interface EmitCustomEventMetadata {\n propertyKey: string | symbol;\n selector: string;\n type: string;\n options: Options;\n}\n\nexport const EMIT_CUSTOM_EVENT_METADATA_KEY = Symbol.for('simple-web-component:emit-custom-event');\n\nexport function emitCustomEvent(target: SpecialSelector, type: string, options?: Options): MethodDecorator;\nexport function emitCustomEvent(selector: string, type: string, options?: Options): MethodDecorator;\n/**\n * @emitCustomEvent decorator to dispatch custom events to a target.\n */\nexport function emitCustomEvent(selectorOrTarget: string, type: string, options: any = {}): MethodDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = targetObj.constructor;\n\n const fullOptions: any = {...options, type};\n\n if (fullOptions.bubbles === undefined) fullOptions.bubbles = true;\n if (fullOptions.composed === undefined) fullOptions.composed = true;\n\n let list = ReflectUtils.getMetadata<EmitCustomEventMetadata[]>(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, list, constructor);\n }\n list.push({propertyKey, selector: selectorOrTarget, type, options: fullOptions});\n\n const original = descriptor.value;\n descriptor.value = function (...args: any[]) {\n ensureInit(this);\n const res = original.apply(this, args);\n\n const handleResult = (detail: any) => {\n const event = new CustomEvent(type, {\n detail,\n bubbles: fullOptions.bubbles,\n composed: fullOptions.composed,\n cancelable: fullOptions.cancelable\n });\n\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 eventTargets: EventTarget[] = [];\n if (selectorOrTarget === ':window') eventTargets.push(currentWin);\n else if (selectorOrTarget === ':document') eventTargets.push(currentWin.document);\n else if (selectorOrTarget === ':parentHost') {\n if (hostSet.$parentHost) eventTargets.push(hostSet.$parentHost);\n } else if (selectorOrTarget === ':appHost') {\n if (hostSet.$appHost) eventTargets.push(hostSet.$appHost);\n } else if (selectorOrTarget === ':firstHost') {\n if (hostSet.$firstHost) eventTargets.push(hostSet.$firstHost);\n } else if (selectorOrTarget === ':lastHost') {\n if (hostSet.$lastHost) eventTargets.push(hostSet.$lastHost);\n } else if (selectorOrTarget === ':firstAppHost') {\n if (hostSet.$firstAppHost) eventTargets.push(hostSet.$firstAppHost);\n } else if (selectorOrTarget === ':lastAppHost') {\n if (hostSet.$lastAppHost) eventTargets.push(hostSet.$lastAppHost);\n } else if (selectorOrTarget === ':hosts') {\n hostSet.$hosts.forEach(h => eventTargets.push(h));\n } else if (selectorOrTarget === ':appHosts') {\n hostSet.$appHosts.forEach(h => eventTargets.push(h));\n } else if (selectorOrTarget === ':host' || !selectorOrTarget) {\n eventTargets.push(this as any);\n } else {\n const r = fullOptions.root || 'auto';\n const searchRoots: (HTMLElement | ShadowRoot)[] = [];\n if (r === 'auto') searchRoots.push(this.shadowRoot || (this as any));\n else if (r === 'light') searchRoots.push(this as any);\n else if (r === 'shadow' && this.shadowRoot) searchRoots.push(this.shadowRoot);\n else if (r === 'all') {\n searchRoots.push(this as any);\n if (this.shadowRoot) searchRoots.push(this.shadowRoot);\n }\n\n searchRoots.forEach(sr => {\n sr.querySelectorAll(selectorOrTarget).forEach(el => eventTargets.push(el));\n });\n }\n\n eventTargets.forEach(t => {\n if (fullOptions.filter && !fullOptions.filter(t, detail, {currentThis: this, helper: hostSet})) {\n return;\n }\n t.dispatchEvent(event);\n });\n\n return detail;\n };\n\n if (res instanceof Promise) {\n return res.then(handleResult);\n } else {\n return handleResult(res);\n }\n };\n };\n}\n\nexport const getEmitCustomEventMetadataList = (target: any): EmitCustomEventMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);\n};\n\n/**\n * @emitCustomEventHost decorator - simplified version of @emitCustomEvent for :host selector\n * Usage: @emitCustomEventHost('navigate') // default attributeName: 'on-emit-navigate'\n * Usage: @emitCustomEventHost('navigate', { attributeName: 'on-navigate' })\n *\n * The attributeName option is used to automatically observe attributes for this event.\n * For example, { attributeName: 'on-navigate' } will add 'on-navigate' to observedAttributes.\n */\nexport function emitCustomEventHost(type: string, options: EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string }): MethodDecorator ;\nexport function emitCustomEventHost(type: string, attributeName: string): MethodDecorator ;\nexport function emitCustomEventHost(type: string): MethodDecorator;\nexport function emitCustomEventHost(type: string, optionsOrAttributeaName?: string | (EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string })): MethodDecorator {\n if (optionsOrAttributeaName && typeof optionsOrAttributeaName === 'string') {\n return emitCustomEventHost(type, {attributeName: optionsOrAttributeaName});\n } else if (optionsOrAttributeaName && typeof optionsOrAttributeaName === 'object') {\n if (!optionsOrAttributeaName.attributeName) {\n optionsOrAttributeaName.attributeName = `on-emit-${type}`;\n }\n return emitCustomEvent(':host', type, optionsOrAttributeaName);\n } else {\n return emitCustomEvent(':host', type, {attributeName: `on-emit-${type}`});\n }\n\n\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {ReflectUtils} from '@dooboostore/core';\nimport {SpecialSelector, SwcQueryOptions, HelperHostSet} from '../types';\nimport {ensureInit, getElementConfig} from './elementDefine';\nimport {SwcUtils} from '../utils/Utils';\n\nexport interface EmitCustomEventBaseOptions {\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n filter?: (target: EventTarget, detail: any, meta: { currentThis: any, helper: HelperHostSet }) => boolean;\n}\n\ntype Options = (EmitCustomEventBaseOptions & SwcQueryOptions) | (EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string });\n\nexport interface EmitCustomEventMetadata {\n propertyKey: string | symbol;\n selector: string;\n type: string;\n options: Options;\n}\n\nexport const EMIT_CUSTOM_EVENT_METADATA_KEY = Symbol.for('simple-web-component:emit-custom-event');\n\nexport function emitCustomEvent(target: SpecialSelector, type: string, options?: Options): MethodDecorator;\nexport function emitCustomEvent(selector: string, type: string, options?: Options): MethodDecorator;\n/**\n * @emitCustomEvent decorator to dispatch custom events to a target.\n */\nexport function emitCustomEvent(selectorOrTarget: string, type: string, options: any = {}): MethodDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = targetObj.constructor;\n\n const fullOptions: any = {...options, type};\n\n if (fullOptions.bubbles === undefined) fullOptions.bubbles = true;\n if (fullOptions.composed === undefined) fullOptions.composed = true;\n\n let list = ReflectUtils.getMetadata<EmitCustomEventMetadata[]>(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, list, constructor);\n }\n list.push({propertyKey, selector: selectorOrTarget, type, options: fullOptions});\n\n const original = descriptor.value;\n descriptor.value = function (...args: any[]) {\n ensureInit(this);\n const res = original.apply(this, args);\n\n const handleResult = (detail: any) => {\n const event = new CustomEvent(type, {\n detail,\n bubbles: fullOptions.bubbles,\n composed: fullOptions.composed,\n cancelable: fullOptions.cancelable\n });\n\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 eventTargets: EventTarget[] = [];\n if (selectorOrTarget === '$window') eventTargets.push(currentWin);\n else if (selectorOrTarget === '$document') eventTargets.push(currentWin.document);\n else if (selectorOrTarget === '$host') {\n if (hostSet.$host) eventTargets.push(hostSet.$host);\n } else if (selectorOrTarget === '$parentHost') {\n if (hostSet.$parentHost) eventTargets.push(hostSet.$parentHost);\n } else if (selectorOrTarget === '$appHost') {\n if (hostSet.$appHost) eventTargets.push(hostSet.$appHost);\n } else if (selectorOrTarget === '$firstHost') {\n if (hostSet.$firstHost) eventTargets.push(hostSet.$firstHost);\n } else if (selectorOrTarget === '$lastHost') {\n if (hostSet.$lastHost) eventTargets.push(hostSet.$lastHost);\n } else if (selectorOrTarget === '$firstAppHost') {\n if (hostSet.$firstAppHost) eventTargets.push(hostSet.$firstAppHost);\n } else if (selectorOrTarget === '$lastAppHost') {\n if (hostSet.$lastAppHost) eventTargets.push(hostSet.$lastAppHost);\n } else if (selectorOrTarget === '$hosts') {\n hostSet.$hosts.forEach(h => eventTargets.push(h));\n } else if (selectorOrTarget === '$appHosts') {\n hostSet.$appHosts.forEach(h => eventTargets.push(h));\n } else if (selectorOrTarget === '$this' || !selectorOrTarget) {\n eventTargets.push(this as any);\n } else {\n const r = fullOptions.root || 'auto';\n const searchRoots: (HTMLElement | ShadowRoot)[] = [];\n if (r === 'auto') searchRoots.push(this.shadowRoot || (this as any));\n else if (r === 'light') searchRoots.push(this as any);\n else if (r === 'shadow' && this.shadowRoot) searchRoots.push(this.shadowRoot);\n else if (r === 'all') {\n searchRoots.push(this as any);\n if (this.shadowRoot) searchRoots.push(this.shadowRoot);\n }\n\n searchRoots.forEach(sr => {\n sr.querySelectorAll(selectorOrTarget).forEach(el => eventTargets.push(el));\n });\n }\n\n eventTargets.forEach(t => {\n if (fullOptions.filter && !fullOptions.filter(t, detail, {currentThis: this, helper: hostSet})) {\n return;\n }\n t.dispatchEvent(event);\n });\n\n return detail;\n };\n\n if (res instanceof Promise) {\n return res.then(handleResult);\n } else {\n return handleResult(res);\n }\n };\n };\n}\n\nexport const getEmitCustomEventMetadataList = (target: any): EmitCustomEventMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);\n};\n\n/**\n * @emitCustomEventThis decorator - simplified version of @emitCustomEvent for $this selector\n */\nexport function emitCustomEventThis(type: string, options: EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string }): MethodDecorator ;\nexport function emitCustomEventThis(type: string, attributeName: string): MethodDecorator ;\nexport function emitCustomEventThis(type: string): MethodDecorator;\nexport function emitCustomEventThis(type: string, optionsOrAttributeaName?: string | (EmitCustomEventBaseOptions & SwcQueryOptions & { attributeName?: string })): MethodDecorator {\n if (optionsOrAttributeaName && typeof optionsOrAttributeaName === 'string') {\n return emitCustomEventThis(type, {attributeName: optionsOrAttributeaName});\n } else if (optionsOrAttributeaName && typeof optionsOrAttributeaName === 'object') {\n if (!optionsOrAttributeaName.attributeName) {\n optionsOrAttributeaName.attributeName = `on-emit-${type}`;\n }\n return emitCustomEvent('$this', type, optionsOrAttributeaName);\n } else {\n return emitCustomEvent('$this', type, {attributeName: `on-emit-${type}`});\n }\n}\n"],
5
+ "mappings": "AAAA,SAAQ,oBAAmB;AAE3B,SAAQ,YAAY,wBAAuB;AAC3C,SAAQ,gBAAe;AAkBhB,MAAM,iCAAiC,OAAO,IAAI,wCAAwC;AAO1F,SAAS,gBAAgB,kBAA0B,MAAc,UAAe,CAAC,GAAoB;AAC1G,SAAO,CAAC,WAAmB,aAA8B,eAAmC;AAC1F,UAAM,cAAc,UAAU;AAE9B,UAAM,cAAmB,EAAC,GAAG,SAAS,KAAI;AAE1C,QAAI,YAAY,YAAY,OAAW,aAAY,UAAU;AAC7D,QAAI,YAAY,aAAa,OAAW,aAAY,WAAW;AAE/D,QAAI,OAAO,aAAa,YAAuC,gCAAgC,WAAW;AAC1G,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,mBAAa,eAAe,gCAAgC,MAAM,WAAW;AAAA,IAC/E;AACA,SAAK,KAAK,EAAC,aAAa,UAAU,kBAAkB,MAAM,SAAS,YAAW,CAAC;AAE/E,UAAM,WAAW,WAAW;AAC5B,eAAW,QAAQ,YAAa,MAAa;AAC3C,iBAAW,IAAI;AACf,YAAM,MAAM,SAAS,MAAM,MAAM,IAAI;AAErC,YAAM,eAAe,CAAC,WAAgB;AACpC,cAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,UAClC;AAAA,UACA,SAAS,YAAY;AAAA,UACrB,UAAU,YAAY;AAAA,UACtB,YAAY,YAAY;AAAA,QAC1B,CAAC;AAED,cAAM,UAAU,SAAS,WAAW,IAAW;AAC/C,cAAM,OAAO,iBAAiB,IAAI;AAClC,cAAM,aAAc,KAAa,iBAAiB,IAAI,MAAO,OAAO,WAAW,cAAc,SAAS;AAEtG,cAAM,eAA8B,CAAC;AACrC,YAAI,qBAAqB,UAAW,cAAa,KAAK,UAAU;AAAA,iBACvD,qBAAqB,YAAa,cAAa,KAAK,WAAW,QAAQ;AAAA,iBACvE,qBAAqB,SAAS;AACrC,cAAI,QAAQ,MAAO,cAAa,KAAK,QAAQ,KAAK;AAAA,QACpD,WAAW,qBAAqB,eAAe;AAC7C,cAAI,QAAQ,YAAa,cAAa,KAAK,QAAQ,WAAW;AAAA,QAChE,WAAW,qBAAqB,YAAY;AAC1C,cAAI,QAAQ,SAAU,cAAa,KAAK,QAAQ,QAAQ;AAAA,QAC1D,WAAW,qBAAqB,cAAc;AAC5C,cAAI,QAAQ,WAAY,cAAa,KAAK,QAAQ,UAAU;AAAA,QAC9D,WAAW,qBAAqB,aAAa;AAC3C,cAAI,QAAQ,UAAW,cAAa,KAAK,QAAQ,SAAS;AAAA,QAC5D,WAAW,qBAAqB,iBAAiB;AAC/C,cAAI,QAAQ,cAAe,cAAa,KAAK,QAAQ,aAAa;AAAA,QACpE,WAAW,qBAAqB,gBAAgB;AAC9C,cAAI,QAAQ,aAAc,cAAa,KAAK,QAAQ,YAAY;AAAA,QAClE,WAAW,qBAAqB,UAAU;AACxC,kBAAQ,OAAO,QAAQ,OAAK,aAAa,KAAK,CAAC,CAAC;AAAA,QAClD,WAAW,qBAAqB,aAAa;AAC3C,kBAAQ,UAAU,QAAQ,OAAK,aAAa,KAAK,CAAC,CAAC;AAAA,QACrD,WAAW,qBAAqB,WAAW,CAAC,kBAAkB;AAC5D,uBAAa,KAAK,IAAW;AAAA,QAC/B,OAAO;AACL,gBAAM,IAAI,YAAY,QAAQ;AAC9B,gBAAM,cAA4C,CAAC;AACnD,cAAI,MAAM,OAAQ,aAAY,KAAK,KAAK,cAAe,IAAY;AAAA,mBAC1D,MAAM,QAAS,aAAY,KAAK,IAAW;AAAA,mBAC3C,MAAM,YAAY,KAAK,WAAY,aAAY,KAAK,KAAK,UAAU;AAAA,mBACnE,MAAM,OAAO;AACpB,wBAAY,KAAK,IAAW;AAC5B,gBAAI,KAAK,WAAY,aAAY,KAAK,KAAK,UAAU;AAAA,UACvD;AAEA,sBAAY,QAAQ,QAAM;AACxB,eAAG,iBAAiB,gBAAgB,EAAE,QAAQ,QAAM,aAAa,KAAK,EAAE,CAAC;AAAA,UAC3E,CAAC;AAAA,QACH;AAEA,qBAAa,QAAQ,OAAK;AACxB,cAAI,YAAY,UAAU,CAAC,YAAY,OAAO,GAAG,QAAQ,EAAC,aAAa,MAAM,QAAQ,QAAO,CAAC,GAAG;AAC9F;AAAA,UACF;AACA,YAAE,cAAc,KAAK;AAAA,QACvB,CAAC;AAED,eAAO;AAAA,MACT;AAEA,UAAI,eAAe,SAAS;AAC1B,eAAO,IAAI,KAAK,YAAY;AAAA,MAC9B,OAAO;AACL,eAAO,aAAa,GAAG;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;AAEO,MAAM,iCAAiC,CAAC,WAAuD;AACpG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,aAAa,YAAY,gCAAgC,WAAW;AAC7E;AAQO,SAAS,oBAAoB,MAAc,yBAAiI;AACjL,MAAI,2BAA2B,OAAO,4BAA4B,UAAU;AAC1E,WAAO,oBAAoB,MAAM,EAAC,eAAe,wBAAuB,CAAC;AAAA,EAC3E,WAAW,2BAA2B,OAAO,4BAA4B,UAAU;AACjF,QAAI,CAAC,wBAAwB,eAAe;AAC1C,8BAAwB,gBAAgB,WAAW,IAAI;AAAA,IACzD;AACA,WAAO,gBAAgB,SAAS,MAAM,uBAAuB;AAAA,EAC/D,OAAO;AACL,WAAO,gBAAgB,SAAS,MAAM,EAAC,eAAe,WAAW,IAAI,GAAE,CAAC;AAAA,EAC1E;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  export * from "./addEventListener.js";
2
2
  export * from "./attribute.js";
3
3
  export * from "./elementDefine.js";
4
- export * from "./changedAttributeHost.js";
4
+ export * from "./changedAttributeThis.js";
5
5
  export * from "./emitCustomEvent.js";
6
6
  export * from "./applyNode.js";
7
7
  export * from "./lifecycles.js";
@@ -14,4 +14,5 @@ export * from "./setProperty.js";
14
14
  export * from "./subscribeSwcAppRouteChangeWhileConnected.js";
15
15
  export * from "./subscribeSwcAppMessageWhileConnected.js";
16
16
  export * from "./publishSwcAppMessage.js";
17
+ export * from "./applySlot.js";
17
18
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/index.ts"],
4
- "sourcesContent": ["export * from './addEventListener';\nexport * from './attribute';\nexport * from './elementDefine';\nexport * from './changedAttributeHost';\nexport * from './emitCustomEvent';\nexport * from './applyNode';\nexport * from './lifecycles';\nexport * from './query';\nexport * from './queryAll';\nexport * from './applyClass';\nexport * from './applyStyle';\nexport * from './applyAttribute';\nexport * from './setProperty';\nexport * from './subscribeSwcAppRouteChangeWhileConnected';\nexport * from './subscribeSwcAppMessageWhileConnected';\nexport * from './publishSwcAppMessage';\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["export * from './addEventListener';\nexport * from './attribute';\nexport * from './elementDefine';\nexport * from './changedAttributeThis';\nexport * from './emitCustomEvent';\nexport * from './applyNode';\nexport * from './lifecycles';\nexport * from './query';\nexport * from './queryAll';\nexport * from './applyClass';\nexport * from './applyStyle';\nexport * from './applyAttribute';\nexport * from './setProperty';\nexport * from './subscribeSwcAppRouteChangeWhileConnected';\nexport * from './subscribeSwcAppMessageWhileConnected';\nexport * from './publishSwcAppMessage';\nexport * from './applySlot';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -7,9 +7,44 @@ const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol.for("simple-web-component:on-a
7
7
  const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol.for("simple-web-component:on-before-adopted");
8
8
  const ON_AFTER_ADOPTED_METADATA_KEY = Symbol.for("simple-web-component:on-after-adopted");
9
9
  const ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol.for("simple-web-component:on-add-event-listener");
10
+ const ON_CONNECTED_INNER_HTML_METADATA_KEY = Symbol.for("simple-web-component:inner-html");
10
11
  const ON_CONNECTED_SWC_APP_METADATA_KEY = Symbol.for("simple-web-component:on-connected-swc-app");
11
- const INNER_HTML_METADATA_KEY = Symbol.for("simple-web-component:inner-html");
12
+ const ON_CONNECTED_COMPLETED_METADATA_KEY = Symbol.for("simple-web-component:on-completed");
12
13
  const ATTRIBUTE_CHANGED_WILDCARD = "*";
14
+ function onConnectedBefore(arg1, arg2, arg3) {
15
+ const decorator = (options, target, propertyKey) => {
16
+ const constructor = target.constructor;
17
+ let list = ReflectUtils.getMetadata(ON_BEFORE_CONNECTED_METADATA_KEY, constructor);
18
+ if (!list) {
19
+ list = [];
20
+ ReflectUtils.defineMetadata(ON_BEFORE_CONNECTED_METADATA_KEY, list, constructor);
21
+ }
22
+ list.push({ propertyKey, options });
23
+ };
24
+ if (arg2) {
25
+ return decorator({}, arg1, arg2);
26
+ }
27
+ return (target, propertyKey) => {
28
+ decorator(arg1 || {}, target, propertyKey);
29
+ };
30
+ }
31
+ function onConnectedAfter(arg1, arg2, arg3) {
32
+ const decorator = (options, target, propertyKey) => {
33
+ const constructor = target.constructor;
34
+ let list = ReflectUtils.getMetadata(ON_AFTER_CONNECTED_METADATA_KEY, constructor);
35
+ if (!list) {
36
+ list = [];
37
+ ReflectUtils.defineMetadata(ON_AFTER_CONNECTED_METADATA_KEY, list, constructor);
38
+ }
39
+ list.push({ propertyKey, options });
40
+ };
41
+ if (arg2) {
42
+ return decorator({}, arg1, arg2);
43
+ }
44
+ return (target, propertyKey) => {
45
+ decorator(arg1 || {}, target, propertyKey);
46
+ };
47
+ }
13
48
  function createLifecycleDecorator(metadataKey) {
14
49
  return (target, propertyKey) => {
15
50
  const constructor = target.constructor;
@@ -22,8 +57,6 @@ function createLifecycleDecorator(metadataKey) {
22
57
  };
23
58
  }
24
59
  const onInitialize = createLifecycleDecorator(ON_INITIALIZE_METADATA_KEY);
25
- const onConnectedBefore = createLifecycleDecorator(ON_BEFORE_CONNECTED_METADATA_KEY);
26
- const onConnectedAfter = createLifecycleDecorator(ON_AFTER_CONNECTED_METADATA_KEY);
27
60
  const onConnected = onConnectedAfter;
28
61
  const onDisconnectedBefore = createLifecycleDecorator(ON_BEFORE_DISCONNECTED_METADATA_KEY);
29
62
  const onDisconnectedAfter = createLifecycleDecorator(ON_AFTER_DISCONNECTED_METADATA_KEY);
@@ -32,13 +65,15 @@ const onAdoptedBefore = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY)
32
65
  const onAdoptedAfter = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);
33
66
  const onAdopted = onAdoptedAfter;
34
67
  const onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);
68
+ const onConnectedSwcApp = createLifecycleDecorator(ON_CONNECTED_SWC_APP_METADATA_KEY);
69
+ const onConnectedCompleted = createLifecycleDecorator(ON_CONNECTED_COMPLETED_METADATA_KEY);
35
70
  function onConnectedInnerHtml(arg1, arg2, arg3) {
36
71
  const decorator = (options, target, propertyKey) => {
37
72
  const constructor = target.constructor;
38
- let list = ReflectUtils.getMetadata(INNER_HTML_METADATA_KEY, constructor);
73
+ let list = ReflectUtils.getMetadata(ON_CONNECTED_INNER_HTML_METADATA_KEY, constructor);
39
74
  if (!list) {
40
75
  list = [];
41
- ReflectUtils.defineMetadata(INNER_HTML_METADATA_KEY, list, constructor);
76
+ ReflectUtils.defineMetadata(ON_CONNECTED_INNER_HTML_METADATA_KEY, list, constructor);
42
77
  }
43
78
  list.push({ propertyKey, options });
44
79
  };
@@ -51,15 +86,22 @@ function onConnectedInnerHtml(arg1, arg2, arg3) {
51
86
  }
52
87
  const findAllLifecycleMetadata = (target, metadataKey) => {
53
88
  const results = ReflectUtils.findAllMetadataFlatten(metadataKey, target);
54
- return results.length > 0 ? results : void 0;
89
+ return results;
55
90
  };
56
91
  const getOnConnectedInnerHtmlMetadata = (target) => {
57
92
  const constructor = target instanceof Function ? target : target.constructor;
58
- return ReflectUtils.getMetadata(INNER_HTML_METADATA_KEY, constructor);
93
+ return ReflectUtils.getMetadata(ON_CONNECTED_INNER_HTML_METADATA_KEY, constructor) ?? [];
94
+ };
95
+ const getOnConnectedBeforeMetadata = (target) => {
96
+ const constructor = target instanceof Function ? target : target.constructor;
97
+ return ReflectUtils.getMetadata(ON_BEFORE_CONNECTED_METADATA_KEY, constructor) ?? [];
98
+ };
99
+ const getOnConnectedAfterMetadata = (target) => {
100
+ const constructor = target instanceof Function ? target : target.constructor;
101
+ return ReflectUtils.getMetadata(ON_AFTER_CONNECTED_METADATA_KEY, constructor) ?? [];
59
102
  };
60
103
  export {
61
104
  ATTRIBUTE_CHANGED_WILDCARD,
62
- INNER_HTML_METADATA_KEY,
63
105
  ON_ADD_EVENT_LISTENER_METADATA_KEY,
64
106
  ON_AFTER_ADOPTED_METADATA_KEY,
65
107
  ON_AFTER_CONNECTED_METADATA_KEY,
@@ -67,9 +109,13 @@ export {
67
109
  ON_BEFORE_ADOPTED_METADATA_KEY,
68
110
  ON_BEFORE_CONNECTED_METADATA_KEY,
69
111
  ON_BEFORE_DISCONNECTED_METADATA_KEY,
112
+ ON_CONNECTED_COMPLETED_METADATA_KEY,
113
+ ON_CONNECTED_INNER_HTML_METADATA_KEY,
70
114
  ON_CONNECTED_SWC_APP_METADATA_KEY,
71
115
  ON_INITIALIZE_METADATA_KEY,
72
116
  findAllLifecycleMetadata,
117
+ getOnConnectedAfterMetadata,
118
+ getOnConnectedBeforeMetadata,
73
119
  getOnConnectedInnerHtmlMetadata,
74
120
  onAddEventListener,
75
121
  onAdopted,
@@ -78,7 +124,9 @@ export {
78
124
  onConnected,
79
125
  onConnectedAfter,
80
126
  onConnectedBefore,
127
+ onConnectedCompleted,
81
128
  onConnectedInnerHtml,
129
+ onConnectedSwcApp,
82
130
  onDisconnected,
83
131
  onDisconnectedAfter,
84
132
  onDisconnectedBefore,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/lifecycles.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\n\nexport const ON_INITIALIZE_METADATA_KEY = Symbol.for('simple-web-component:on-constructor');\nexport const ON_BEFORE_CONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-connected');\nexport const ON_AFTER_CONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-connected');\nexport const ON_BEFORE_DISCONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-disconnected');\nexport const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-disconnected');\nexport const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-adopted');\nexport const ON_AFTER_ADOPTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-adopted');\nexport const ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol.for('simple-web-component:on-add-event-listener');\nexport const ON_CONNECTED_SWC_APP_METADATA_KEY = Symbol.for('simple-web-component:on-connected-swc-app');\nexport const INNER_HTML_METADATA_KEY = Symbol.for('simple-web-component:inner-html');\n\nexport const ATTRIBUTE_CHANGED_WILDCARD = '*';\n\nexport interface InnerHtmlOptions {\n replaceWrap?:{ start: string, end:string},\n useShadow?: boolean;\n}\n\nexport interface InnerHtmlMetadata {\n propertyKey: string | symbol;\n options: InnerHtmlOptions;\n}\n\nfunction createLifecycleDecorator(metadataKey: symbol): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getOwnMetadata(metadataKey, constructor) as (string | symbol)[];\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(metadataKey, list, constructor);\n }\n list.push(propertyKey);\n };\n}\n\nexport const onInitialize = createLifecycleDecorator(ON_INITIALIZE_METADATA_KEY);\nexport const onConnectedBefore = createLifecycleDecorator(ON_BEFORE_CONNECTED_METADATA_KEY);\nexport const onConnectedAfter = createLifecycleDecorator(ON_AFTER_CONNECTED_METADATA_KEY);\nexport const onConnected = onConnectedAfter;\n\nexport const onDisconnectedBefore = createLifecycleDecorator(ON_BEFORE_DISCONNECTED_METADATA_KEY);\nexport const onDisconnectedAfter = createLifecycleDecorator(ON_AFTER_DISCONNECTED_METADATA_KEY);\nexport const onDisconnected = onDisconnectedAfter;\n\nexport const onAdoptedBefore = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);\nexport const onAdoptedAfter = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);\nexport const onAdopted = onAdoptedAfter;\n\nexport const onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);\n\n// export const onConnectedSwcApp = createLifecycleDecorator(ON_CONNECTED_SWC_APP_METADATA_KEY);\n\n/**\n * @onConnectedInnerHtml decorator to define the initial HTML content when connected.\n */\nexport function onConnectedInnerHtml(options: InnerHtmlOptions): MethodDecorator;\nexport function onConnectedInnerHtml(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function onConnectedInnerHtml(arg1?: InnerHtmlOptions | Object, arg2?: string | symbol, arg3?: PropertyDescriptor): MethodDecorator | void {\n const decorator = (options: InnerHtmlOptions, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<InnerHtmlMetadata[]>(INNER_HTML_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(INNER_HTML_METADATA_KEY, list, constructor);\n }\n list.push({ propertyKey, options });\n };\n\n if (arg2) {\n return decorator({}, arg1!, arg2);\n }\n\n return (target: Object, propertyKey: string | symbol) => {\n decorator((arg1 as InnerHtmlOptions) || {}, target, propertyKey);\n };\n}\n\n/**\n * \uD504\uB85C\uD1A0\uD0C0\uC785 \uCCB4\uC778\uC744 \uC21C\uD68C\uD558\uBA70 \uBAA8\uB4E0 \uB77C\uC774\uD504\uC0AC\uC774\uD074 \uBA54\uC11C\uB4DC\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\nexport const findAllLifecycleMetadata = <T = (string | symbol)[]>(target: any, metadataKey: symbol): T | undefined => {\n const results = ReflectUtils.findAllMetadataFlatten(metadataKey, target);\n return results.length > 0 ? (results as unknown as T) : undefined;\n};\n\nexport const getOnConnectedInnerHtmlMetadata = (target: any): InnerHtmlMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(INNER_HTML_METADATA_KEY, constructor);\n};\n"],
5
- "mappings": "AAAA,SAAS,oBAAoB;AAEtB,MAAM,6BAA6B,OAAO,IAAI,qCAAqC;AACnF,MAAM,mCAAmC,OAAO,IAAI,0CAA0C;AAC9F,MAAM,kCAAkC,OAAO,IAAI,yCAAyC;AAC5F,MAAM,sCAAsC,OAAO,IAAI,6CAA6C;AACpG,MAAM,qCAAqC,OAAO,IAAI,4CAA4C;AAClG,MAAM,iCAAiC,OAAO,IAAI,wCAAwC;AAC1F,MAAM,gCAAgC,OAAO,IAAI,uCAAuC;AACxF,MAAM,qCAAqC,OAAO,IAAI,4CAA4C;AAClG,MAAM,oCAAoC,OAAO,IAAI,2CAA2C;AAChG,MAAM,0BAA0B,OAAO,IAAI,iCAAiC;AAE5E,MAAM,6BAA6B;AAY1C,SAAS,yBAAyB,aAAsC;AACtE,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,aAAa,eAAe,aAAa,WAAW;AAC/D,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,mBAAa,eAAe,aAAa,MAAM,WAAW;AAAA,IAC5D;AACA,SAAK,KAAK,WAAW;AAAA,EACvB;AACF;AAEO,MAAM,eAAe,yBAAyB,0BAA0B;AACxE,MAAM,oBAAoB,yBAAyB,gCAAgC;AACnF,MAAM,mBAAmB,yBAAyB,+BAA+B;AACjF,MAAM,cAAc;AAEpB,MAAM,uBAAuB,yBAAyB,mCAAmC;AACzF,MAAM,sBAAsB,yBAAyB,kCAAkC;AACvF,MAAM,iBAAiB;AAEvB,MAAM,kBAAkB,yBAAyB,8BAA8B;AAC/E,MAAM,iBAAiB,yBAAyB,6BAA6B;AAC7E,MAAM,YAAY;AAElB,MAAM,qBAAqB,yBAAyB,kCAAkC;AAStF,SAAS,qBAAqB,MAAkC,MAAwB,MAAmD;AAChJ,QAAM,YAAY,CAAC,SAA2B,QAAgB,gBAAiC;AAC7F,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,aAAa,YAAiC,yBAAyB,WAAW;AAC7F,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,mBAAa,eAAe,yBAAyB,MAAM,WAAW;AAAA,IACxE;AACA,SAAK,KAAK,EAAE,aAAa,QAAQ,CAAC;AAAA,EACpC;AAEA,MAAI,MAAM;AACR,WAAO,UAAU,CAAC,GAAG,MAAO,IAAI;AAAA,EAClC;AAEA,SAAO,CAAC,QAAgB,gBAAiC;AACvD,cAAW,QAA6B,CAAC,GAAG,QAAQ,WAAW;AAAA,EACjE;AACF;AAKO,MAAM,2BAA2B,CAA0B,QAAa,gBAAuC;AACpH,QAAM,UAAU,aAAa,uBAAuB,aAAa,MAAM;AACvE,SAAO,QAAQ,SAAS,IAAK,UAA2B;AAC1D;AAEO,MAAM,kCAAkC,CAAC,WAAiD;AAC/F,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,aAAa,YAAY,yBAAyB,WAAW;AACtE;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\n\nexport const ON_INITIALIZE_METADATA_KEY = Symbol.for('simple-web-component:on-constructor');\nexport const ON_BEFORE_CONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-connected');\nexport const ON_AFTER_CONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-connected');\nexport const ON_BEFORE_DISCONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-disconnected');\nexport const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-disconnected');\nexport const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol.for('simple-web-component:on-before-adopted');\nexport const ON_AFTER_ADOPTED_METADATA_KEY = Symbol.for('simple-web-component:on-after-adopted');\nexport const ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol.for('simple-web-component:on-add-event-listener');\nexport const ON_CONNECTED_INNER_HTML_METADATA_KEY = Symbol.for('simple-web-component:inner-html');\nexport const ON_CONNECTED_SWC_APP_METADATA_KEY = Symbol.for('simple-web-component:on-connected-swc-app');\nexport const ON_CONNECTED_COMPLETED_METADATA_KEY = Symbol.for('simple-web-component:on-completed');\n\nexport const ATTRIBUTE_CHANGED_WILDCARD = '*';\n\nexport interface InnerHtmlOptions {\n ssrFirst?: boolean;\n replaceWrap?:{ start: string, end:string},\n useShadow?: boolean;\n}\nexport interface InnerHtmlMetadata {\n propertyKey: string | symbol;\n options: InnerHtmlOptions;\n}\n\nexport interface OnConnectedOptions {\n ssrFirst?: boolean;\n}\nexport interface OnConnectedMetadata {\n propertyKey: string | symbol;\n options: OnConnectedOptions;\n}\n\n\nexport function onConnectedBefore(options: OnConnectedOptions): MethodDecorator;\nexport function onConnectedBefore(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function onConnectedBefore(arg1?: OnConnectedOptions | Object, arg2?: string | symbol, arg3?: PropertyDescriptor): MethodDecorator | void {\n const decorator = (options: OnConnectedOptions, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<OnConnectedMetadata[]>(ON_BEFORE_CONNECTED_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(ON_BEFORE_CONNECTED_METADATA_KEY, list, constructor);\n }\n list.push({ propertyKey, options });\n };\n\n if (arg2) {\n return decorator({}, arg1!, arg2);\n }\n\n return (target: Object, propertyKey: string | symbol) => {\n decorator((arg1 as OnConnectedOptions) || {}, target, propertyKey);\n };\n}\n\nexport function onConnectedAfter(options: OnConnectedOptions): MethodDecorator;\nexport function onConnectedAfter(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function onConnectedAfter(arg1?: OnConnectedOptions | Object, arg2?: string | symbol, arg3?: PropertyDescriptor): MethodDecorator | void {\n const decorator = (options: OnConnectedOptions, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<OnConnectedMetadata[]>(ON_AFTER_CONNECTED_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(ON_AFTER_CONNECTED_METADATA_KEY, list, constructor);\n }\n list.push({ propertyKey, options });\n };\n\n if (arg2) {\n return decorator({}, arg1!, arg2);\n }\n\n return (target: Object, propertyKey: string | symbol) => {\n decorator((arg1 as OnConnectedOptions) || {}, target, propertyKey);\n };\n}\n\n\nfunction createLifecycleDecorator(metadataKey: symbol): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getOwnMetadata(metadataKey, constructor) as (string | symbol)[];\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(metadataKey, list, constructor);\n }\n list.push(propertyKey);\n };\n}\n\nexport const onInitialize = createLifecycleDecorator(ON_INITIALIZE_METADATA_KEY);\n// export const onConnectedBefore = createLifecycleDecorator(ON_BEFORE_CONNECTED_METADATA_KEY);\n// export const onConnectedAfter = createLifecycleDecorator(ON_AFTER_CONNECTED_METADATA_KEY);\nexport const onConnected = onConnectedAfter;\n\nexport const onDisconnectedBefore = createLifecycleDecorator(ON_BEFORE_DISCONNECTED_METADATA_KEY);\nexport const onDisconnectedAfter = createLifecycleDecorator(ON_AFTER_DISCONNECTED_METADATA_KEY);\nexport const onDisconnected = onDisconnectedAfter;\n\nexport const onAdoptedBefore = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);\nexport const onAdoptedAfter = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);\nexport const onAdopted = onAdoptedAfter;\n\nexport const onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);\n\nexport const onConnectedSwcApp = createLifecycleDecorator(ON_CONNECTED_SWC_APP_METADATA_KEY);\nexport const onConnectedCompleted = createLifecycleDecorator(ON_CONNECTED_COMPLETED_METADATA_KEY);\n\n/**\n * @onConnectedInnerHtml decorator to define the initial HTML content when connected.\n */\nexport function onConnectedInnerHtml(options: InnerHtmlOptions): MethodDecorator;\nexport function onConnectedInnerHtml(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function onConnectedInnerHtml(arg1?: InnerHtmlOptions | Object, arg2?: string | symbol, arg3?: PropertyDescriptor): MethodDecorator | void {\n const decorator = (options: InnerHtmlOptions, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<InnerHtmlMetadata[]>(ON_CONNECTED_INNER_HTML_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(ON_CONNECTED_INNER_HTML_METADATA_KEY, list, constructor);\n }\n list.push({ propertyKey, options });\n };\n\n if (arg2) {\n return decorator({}, arg1!, arg2);\n }\n\n return (target: Object, propertyKey: string | symbol) => {\n decorator((arg1 as InnerHtmlOptions) || {}, target, propertyKey);\n };\n}\n\n/**\n * \uD504\uB85C\uD1A0\uD0C0\uC785 \uCCB4\uC778\uC744 \uC21C\uD68C\uD558\uBA70 \uBAA8\uB4E0 \uB77C\uC774\uD504\uC0AC\uC774\uD074 \uBA54\uC11C\uB4DC\uB97C \uC218\uC9D1\uD569\uB2C8\uB2E4.\n */\n// export const findAllLifecycleMetadata = <T = (string | symbol)[]>(target: any, metadataKey: symbol): T | undefined => {\nexport const findAllLifecycleMetadata = (target: any, metadataKey: symbol): (string | symbol)[] => {\n const results = ReflectUtils.findAllMetadataFlatten(metadataKey, target);\n return results;\n};\n\nexport const getOnConnectedInnerHtmlMetadata = (target: any): InnerHtmlMetadata[] => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ON_CONNECTED_INNER_HTML_METADATA_KEY, constructor) ?? [];\n};\nexport const getOnConnectedBeforeMetadata = (target: any): OnConnectedMetadata[] => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ON_BEFORE_CONNECTED_METADATA_KEY, constructor) ?? [];\n};\nexport const getOnConnectedAfterMetadata = (target: any): OnConnectedMetadata[] => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ON_AFTER_CONNECTED_METADATA_KEY, constructor) ?? [];\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -33,26 +33,28 @@ function query(selectorOrTarget, options = {}) {
33
33
  return t;
34
34
  };
35
35
  const hostSet = SwcUtils.getHostSet(this);
36
- if (selector === ":parentHost")
36
+ if (selector === "$this")
37
+ return applyRoot(this);
38
+ if (selector === "$host")
39
+ return applyRoot(hostSet.$host);
40
+ if (selector === "$parentHost")
37
41
  return applyRoot(hostSet.$parentHost);
38
- if (selector === ":appHost")
42
+ if (selector === "$appHost")
39
43
  return applyRoot(hostSet.$appHost);
40
- if (selector === ":firstHost")
44
+ if (selector === "$firstHost")
41
45
  return applyRoot(hostSet.$firstHost);
42
- if (selector === ":lastHost")
46
+ if (selector === "$lastHost")
43
47
  return applyRoot(hostSet.$lastHost);
44
- if (selector === ":firstAppHost")
48
+ if (selector === "$firstAppHost")
45
49
  return applyRoot(hostSet.$firstAppHost);
46
- if (selector === ":lastAppHost")
50
+ if (selector === "$lastAppHost")
47
51
  return applyRoot(hostSet.$lastAppHost);
48
52
  const config = getElementConfig(this);
49
53
  const win = config?.window || window;
50
- if (selector === ":window")
54
+ if (selector === "$window")
51
55
  return win;
52
- if (selector === ":document")
56
+ if (selector === "$document")
53
57
  return win.document;
54
- if (selector === ":host")
55
- return applyRoot(this);
56
58
  if (r === "shadow")
57
59
  return this.shadowRoot ? this.shadowRoot.querySelector(selector) : null;
58
60
  if (r === "light")
@@ -67,7 +69,7 @@ function query(selectorOrTarget, options = {}) {
67
69
  ensureInit(this);
68
70
  if (nv === null || nv === void 0) {
69
71
  const selector = selectorOrTarget;
70
- if (selector.startsWith(":") && selector !== ":host")
72
+ if (selector.startsWith("$") && selector !== "$this")
71
73
  return;
72
74
  const r = options.root || "auto";
73
75
  const targets = [];
@@ -95,75 +97,54 @@ function query(selectorOrTarget, options = {}) {
95
97
  });
96
98
  };
97
99
  }
98
- function queryHost(targetOrOptions, propertyKey) {
99
- if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
100
- return query(":host", {})(targetOrOptions, propertyKey);
101
- }
102
- if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
103
- return query(":host", targetOrOptions);
104
- } else {
105
- return query(":host", {});
106
- }
107
- }
108
- const host = queryHost;
109
- function parentHost(targetOrOptions, propertyKey) {
110
- if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
111
- return query(":parentHost", {})(targetOrOptions, propertyKey);
112
- }
113
- if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
114
- return query(":parentHost", targetOrOptions);
115
- } else {
116
- return query(":parentHost", {});
117
- }
118
- }
119
- function appHost(targetOrOptions, propertyKey) {
100
+ function queryThis(targetOrOptions, propertyKey) {
120
101
  if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
121
- return query(":appHost", {})(targetOrOptions, propertyKey);
102
+ return query("$this", {})(targetOrOptions, propertyKey);
122
103
  }
123
104
  if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
124
- return query(":appHost", targetOrOptions);
105
+ return query("$this", targetOrOptions);
125
106
  } else {
126
- return query(":appHost", {});
107
+ return query("$this", {});
127
108
  }
128
109
  }
129
- function firstHost(targetOrOptions, propertyKey) {
110
+ function queryWindow(targetOrOptions, propertyKey) {
130
111
  if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
131
- return query(":firstHost", {})(targetOrOptions, propertyKey);
112
+ return query("$window", {})(targetOrOptions, propertyKey);
132
113
  }
133
114
  if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
134
- return query(":firstHost", targetOrOptions);
115
+ return query("$window", targetOrOptions);
135
116
  } else {
136
- return query(":firstHost", {});
117
+ return query("$window", {});
137
118
  }
138
119
  }
139
- function lastHost(targetOrOptions, propertyKey) {
120
+ function queryDocument(targetOrOptions, propertyKey) {
140
121
  if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
141
- return query(":lastHost", {})(targetOrOptions, propertyKey);
122
+ return query("$document", {})(targetOrOptions, propertyKey);
142
123
  }
143
124
  if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
144
- return query(":lastHost", targetOrOptions);
125
+ return query("$document", targetOrOptions);
145
126
  } else {
146
- return query(":lastHost", {});
127
+ return query("$document", {});
147
128
  }
148
129
  }
149
- function firstAppHost(targetOrOptions, propertyKey) {
130
+ function queryHost(targetOrOptions, propertyKey) {
150
131
  if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
151
- return query(":firstAppHost", {})(targetOrOptions, propertyKey);
132
+ return query("$host", {})(targetOrOptions, propertyKey);
152
133
  }
153
134
  if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
154
- return query(":firstAppHost", targetOrOptions);
135
+ return query("$host", targetOrOptions);
155
136
  } else {
156
- return query(":firstAppHost", {});
137
+ return query("$host", {});
157
138
  }
158
139
  }
159
- function lastAppHost(targetOrOptions, propertyKey) {
140
+ function queryAppHost(targetOrOptions, propertyKey) {
160
141
  if (propertyKey !== void 0 && (typeof propertyKey === "string" || typeof propertyKey === "symbol")) {
161
- return query(":lastAppHost", {})(targetOrOptions, propertyKey);
142
+ return query("$appHost", {})(targetOrOptions, propertyKey);
162
143
  }
163
144
  if (typeof targetOrOptions === "object" && targetOrOptions !== null) {
164
- return query(":lastAppHost", targetOrOptions);
145
+ return query("$appHost", targetOrOptions);
165
146
  } else {
166
- return query(":lastAppHost", {});
147
+ return query("$appHost", {});
167
148
  }
168
149
  }
169
150
  const getQueryMetadata = (target) => {
@@ -172,15 +153,12 @@ const getQueryMetadata = (target) => {
172
153
  };
173
154
  export {
174
155
  QUERY_METADATA_KEY,
175
- appHost,
176
- firstAppHost,
177
- firstHost,
178
156
  getQueryMetadata,
179
- host,
180
- lastAppHost,
181
- lastHost,
182
- parentHost,
183
157
  query,
184
- queryHost
158
+ queryAppHost,
159
+ queryDocument,
160
+ queryHost,
161
+ queryThis,
162
+ queryWindow
185
163
  };
186
164
  //# sourceMappingURL=query.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/query.ts"],
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 QueryMetadata {\n propertyKey: string | symbol;\n selector: string;\n options: SwcQueryOptions;\n}\n\nexport const QUERY_METADATA_KEY = Symbol.for('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\n/**\n * @queryHost decorator - simplified version of @query for :host selector\n * Usage: @queryHost testzzs: HTMLElement | undefined;\n * Usage: @queryHost() testzzs: HTMLElement | undefined;\n * Usage: @queryHost({ root: 'shadow' }) testzzs: HTMLElement | undefined;\n */\nexport function queryHost(target: Object, propertyKey: string | symbol): void;\nexport function queryHost(): PropertyDecorator;\nexport function queryHost(options: SwcQueryOptions): PropertyDecorator;\nexport function queryHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n // Direct decorator usage: @queryHost (no parentheses)\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':host', {})(targetOrOptions, propertyKey);\n }\n\n // @queryHost() or @queryHost(options)\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':host', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':host', {});\n }\n}\n\n/**\n * @host - Alias for @queryHost decorator\n * Usage: @host element: HTMLElement | undefined;\n * Usage: @host() element: HTMLElement | undefined;\n * Usage: @host({ root: 'shadow' }) element: HTMLElement | undefined;\n */\nexport const host = queryHost;\n\n/**\n * @parentHost - Query :parentHost (Direct parent SWC component)\n * Usage: @parentHost parent: HTMLElement | undefined;\n * Usage: @parentHost() parent: HTMLElement | undefined;\n * Usage: @parentHost({ root: 'shadow' }) parent: HTMLElement | undefined;\n */\nexport function parentHost(target: Object, propertyKey: string | symbol): void;\nexport function parentHost(): PropertyDecorator;\nexport function parentHost(options: SwcQueryOptions): PropertyDecorator;\nexport function parentHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':parentHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':parentHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':parentHost', {});\n }\n}\n\n/**\n * @appHost - Query :appHost (Nearest <swc-app>)\n * Usage: @appHost app: SwcAppInterface | undefined;\n * Usage: @appHost() app: SwcAppInterface | undefined;\n * Usage: @appHost({ root: 'shadow' }) app: SwcAppInterface | undefined;\n */\nexport function appHost(target: Object, propertyKey: string | symbol): void;\nexport function appHost(): PropertyDecorator;\nexport function appHost(options: SwcQueryOptions): PropertyDecorator;\nexport function appHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':appHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':appHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':appHost', {});\n }\n}\n\n/**\n * @firstHost - Query :firstHost (First component in hierarchy)\n * Usage: @firstHost first: HTMLElement | undefined;\n * Usage: @firstHost() first: HTMLElement | undefined;\n * Usage: @firstHost({ root: 'shadow' }) first: HTMLElement | undefined;\n */\nexport function firstHost(target: Object, propertyKey: string | symbol): void;\nexport function firstHost(): PropertyDecorator;\nexport function firstHost(options: SwcQueryOptions): PropertyDecorator;\nexport function firstHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':firstHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':firstHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':firstHost', {});\n }\n}\n\n/**\n * @lastHost - Query :lastHost (Last component in hierarchy)\n * Usage: @lastHost last: HTMLElement | undefined;\n * Usage: @lastHost() last: HTMLElement | undefined;\n * Usage: @lastHost({ root: 'shadow' }) last: HTMLElement | undefined;\n */\nexport function lastHost(target: Object, propertyKey: string | symbol): void;\nexport function lastHost(): PropertyDecorator;\nexport function lastHost(options: SwcQueryOptions): PropertyDecorator;\nexport function lastHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':lastHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':lastHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':lastHost', {});\n }\n}\n\n/**\n * @firstAppHost - Query :firstAppHost (First <swc-app> in hierarchy)\n * Usage: @firstAppHost app: SwcAppInterface | undefined;\n * Usage: @firstAppHost() app: SwcAppInterface | undefined;\n * Usage: @firstAppHost({ root: 'shadow' }) app: SwcAppInterface | undefined;\n */\nexport function firstAppHost(target: Object, propertyKey: string | symbol): void;\nexport function firstAppHost(): PropertyDecorator;\nexport function firstAppHost(options: SwcQueryOptions): PropertyDecorator;\nexport function firstAppHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':firstAppHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':firstAppHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':firstAppHost', {});\n }\n}\n\n/**\n * @lastAppHost - Query :lastAppHost (Last <swc-app> in hierarchy)\n * Usage: @lastAppHost app: SwcAppInterface | undefined;\n * Usage: @lastAppHost() app: SwcAppInterface | undefined;\n * Usage: @lastAppHost({ root: 'shadow' }) app: SwcAppInterface | undefined;\n */\nexport function lastAppHost(target: Object, propertyKey: string | symbol): void;\nexport function lastAppHost(): PropertyDecorator;\nexport function lastAppHost(options: SwcQueryOptions): PropertyDecorator;\nexport function lastAppHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query(':lastAppHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query(':lastAppHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query(':lastAppHost', {});\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};"],
5
- "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB,kBAAkB;AAC7C,SAAS,gBAAgB;AASlB,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAOnE,SAAU,MAAM,kBAA0B,UAAe,CAAA,GAAE;AAC/D,SAAO,CAAC,WAAmB,aAA8B,eAA4B;AACnF,QAAI,eAAe,QAAW;AAC5B,YAAM,IAAI,MAAM,wDAAwD,OAAO,WAAW,CAAC,GAAG;IAChG;AAEA,UAAM,cAAc,UAAU;AAC9B,QAAI,UAAU,aAAa,YAA6B,oBAAoB,WAAW;AACvF,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAA;AACV,mBAAa,eAAe,oBAAoB,SAAS,WAAW;IACtE;AACA,YAAQ,KAAK,EAAE,aAAa,UAAU,kBAAkB,QAAO,CAAE;AAIjE,WAAO,eAAe,WAAW,aAAa;MAC5C,MAAG;AACD,mBAAW,IAAI;AACf,cAAM,WAAW;AAEjB,cAAM,IAAI,QAAQ,QAAQ;AAC1B,cAAM,YAAY,CAAC,MAAU;AAC3B,cAAI,CAAC,KAAK,EAAE,aAAa;AAAc,mBAAO;AAC9C,cAAI,MAAM;AAAQ,mBAAO,EAAE,cAAc;AACzC,cAAI,MAAM;AAAU,mBAAO,EAAE;AAC7B,cAAI,MAAM;AAAS,mBAAO;AAC1B,cAAI,MAAM;AAAO,mBAAO,EAAE,cAAc;AACxC,iBAAO;QACT;AAGA,cAAM,UAAU,SAAS,WAAW,IAAI;AACxC,YAAI,aAAa;AAAe,iBAAO,UAAU,QAAQ,WAAW;AACpE,YAAI,aAAa;AAAY,iBAAO,UAAU,QAAQ,QAAQ;AAC9D,YAAI,aAAa;AAAc,iBAAO,UAAU,QAAQ,UAAU;AAClE,YAAI,aAAa;AAAa,iBAAO,UAAU,QAAQ,SAAS;AAChE,YAAI,aAAa;AAAiB,iBAAO,UAAU,QAAQ,aAAa;AACxE,YAAI,aAAa;AAAgB,iBAAO,UAAU,QAAQ,YAAY;AAGtE,cAAM,SAAS,iBAAiB,IAAI;AACpC,cAAM,MAAM,QAAQ,UAAU;AAC9B,YAAI,aAAa;AAAW,iBAAO;AACnC,YAAI,aAAa;AAAa,iBAAO,IAAI;AACzC,YAAI,aAAa;AAAS,iBAAO,UAAU,IAAI;AAG/C,YAAI,MAAM;AAAU,iBAAO,KAAK,aAAa,KAAK,WAAW,cAAc,QAAQ,IAAI;AACvF,YAAI,MAAM;AAAS,iBAAO,KAAK,cAAc,QAAQ;AACrD,YAAI,MAAM,OAAO;AACf,gBAAM,cAAc,KAAK,aAAa,KAAK,WAAW,cAAc,QAAQ,IAAI;AAChF,iBAAO,eAAe,KAAK,cAAc,QAAQ;QACnD;AACA,gBAAQ,KAAK,cAAc,MAAM,cAAc,QAAQ;MACzD;MACA,IAAuB,IAAO;AAC5B,mBAAW,IAAI;AACf,YAAI,OAAO,QAAQ,OAAO,QAAW;AACnC,gBAAM,WAAW;AACjB,cAAI,SAAS,WAAW,GAAG,KAAK,aAAa;AAAS;AAEtD,gBAAM,IAAI,QAAQ,QAAQ;AAC1B,gBAAM,UAAqB,CAAA;AAE3B,cAAI,MAAM,UAAU;AAClB,gBAAI,KAAK,YAAY,cAAc,QAAQ;AAAG,sBAAQ,KAAK,KAAK,WAAW,cAAc,QAAQ,CAAE;UACrG,WAAW,MAAM,SAAS;AACxB,gBAAI,KAAK,cAAc,QAAQ;AAAG,sBAAQ,KAAK,KAAK,cAAc,QAAQ,CAAE;UAC9E,WAAW,MAAM,OAAO;AACtB,gBAAI,KAAK,YAAY,cAAc,QAAQ;AAAG,sBAAQ,KAAK,KAAK,WAAW,cAAc,QAAQ,CAAE;AACnG,gBAAI,KAAK,cAAc,QAAQ;AAAG,sBAAQ,KAAK,KAAK,cAAc,QAAQ,CAAE;UAC9E,OAAO;AACL,kBAAM,MAAM,KAAK,cAAc,MAAM,cAAc,QAAQ;AAC3D,gBAAI;AAAI,sBAAQ,KAAK,EAAE;UACzB;AAEA,kBAAQ,QAAQ,OAAK,EAAE,OAAM,CAAE;QACjC;MACF;MACA,YAAY;MACZ,cAAc;KACf;EACH;AACF;AAWM,SAAU,UAAU,iBAAuB,aAA6B;AAE5E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,SAAS,CAAA,CAAE,EAAE,iBAAiB,WAAW;EACxD;AAGA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,SAAS,eAAkC;EAC1D,OAAO;AACL,WAAO,MAAM,SAAS,CAAA,CAAE;EAC1B;AACF;AAQO,MAAM,OAAO;AAWd,SAAU,WAAW,iBAAuB,aAA6B;AAC7E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,eAAe,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAC9D;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,eAAe,eAAkC;EAChE,OAAO;AACL,WAAO,MAAM,eAAe,CAAA,CAAE;EAChC;AACF;AAWM,SAAU,QAAQ,iBAAuB,aAA6B;AAC1E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,YAAY,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAC3D;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,YAAY,eAAkC;EAC7D,OAAO;AACL,WAAO,MAAM,YAAY,CAAA,CAAE;EAC7B;AACF;AAWM,SAAU,UAAU,iBAAuB,aAA6B;AAC5E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,cAAc,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAC7D;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,cAAc,eAAkC;EAC/D,OAAO;AACL,WAAO,MAAM,cAAc,CAAA,CAAE;EAC/B;AACF;AAWM,SAAU,SAAS,iBAAuB,aAA6B;AAC3E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,aAAa,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAC5D;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,aAAa,eAAkC;EAC9D,OAAO;AACL,WAAO,MAAM,aAAa,CAAA,CAAE;EAC9B;AACF;AAWM,SAAU,aAAa,iBAAuB,aAA6B;AAC/E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,iBAAiB,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAChE;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,iBAAiB,eAAkC;EAClE,OAAO;AACL,WAAO,MAAM,iBAAiB,CAAA,CAAE;EAClC;AACF;AAWM,SAAU,YAAY,iBAAuB,aAA6B;AAC9E,MAAI,gBAAgB,WAAc,OAAO,gBAAgB,YAAY,OAAO,gBAAgB,WAAW;AACrG,WAAO,MAAM,gBAAgB,CAAA,CAAE,EAAE,iBAAiB,WAAW;EAC/D;AACA,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE,WAAO,MAAM,gBAAgB,eAAkC;EACjE,OAAO;AACL,WAAO,MAAM,gBAAgB,CAAA,CAAE;EACjC;AACF;AAEO,MAAM,mBAAmB,CAAC,WAA4C;AAC3E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,aAAa,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 interface QueryMetadata {\n propertyKey: string | symbol;\n selector: string;\n options: SwcQueryOptions;\n}\n\nexport const QUERY_METADATA_KEY = Symbol.for('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 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; \n return t;\n };\n\n // --- Special Selectors: HostSet ---\n const hostSet = SwcUtils.getHostSet(this);\n if (selector === '$this') return applyRoot(this);\n if (selector === '$host') return applyRoot(hostSet.$host);\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\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 !== '$this') 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\n/**\n * @queryThis decorator - simplified version of @query for $this selector\n */\nexport function queryThis(target: Object, propertyKey: string | symbol): void;\nexport function queryThis(): PropertyDecorator;\nexport function queryThis(options: SwcQueryOptions): PropertyDecorator;\nexport function queryThis(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query('$this', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query('$this', targetOrOptions as SwcQueryOptions);\n } else {\n return query('$this', {});\n }\n}\n\n\nexport function queryWindow(target: Object, propertyKey: string | symbol): void;\nexport function queryWindow(): PropertyDecorator;\nexport function queryWindow(options: SwcQueryOptions): PropertyDecorator;\nexport function queryWindow(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query('$window', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query('$window', targetOrOptions as SwcQueryOptions);\n } else {\n return query('$window', {});\n }\n}\n\nexport function queryDocument(target: Object, propertyKey: string | symbol): void;\nexport function queryDocument(): PropertyDecorator;\nexport function queryDocument(options: SwcQueryOptions): PropertyDecorator;\nexport function queryDocument(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query('$document', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query('$document', targetOrOptions as SwcQueryOptions);\n } else {\n return query('$document', {});\n }\n}\n/**\n * @host - Query $host (Direct parent SWC component)\n */\nexport function queryHost(target: Object, propertyKey: string | symbol): void;\nexport function queryHost(): PropertyDecorator;\nexport function queryHost(options: SwcQueryOptions): PropertyDecorator;\nexport function queryHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query('$host', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query('$host', targetOrOptions as SwcQueryOptions);\n } else {\n return query('$host', {});\n }\n}\n\n/**\n * @appHost - Query $appHost (Nearest <swc-app>)\n */\nexport function queryAppHost(target: Object, propertyKey: string | symbol): void;\nexport function queryAppHost(): PropertyDecorator;\nexport function queryAppHost(options: SwcQueryOptions): PropertyDecorator;\nexport function queryAppHost(targetOrOptions?: any, propertyKey?: string | symbol): any {\n if (propertyKey !== undefined && (typeof propertyKey === 'string' || typeof propertyKey === 'symbol')) {\n return query('$appHost', {})(targetOrOptions, propertyKey);\n }\n if (typeof targetOrOptions === 'object' && targetOrOptions !== null) {\n return query('$appHost', targetOrOptions as SwcQueryOptions);\n } else {\n return query('$appHost', {});\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
  }