@dooboostore/simple-web-component 1.0.5 → 1.0.7

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 (938) hide show
  1. package/README.md +151 -58
  2. package/dist/cjs/decorators/addEventListener.js +3 -2
  3. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  4. package/dist/cjs/decorators/attribute.js +79 -0
  5. package/dist/cjs/decorators/attribute.js.map +7 -0
  6. package/dist/cjs/decorators/elementDefine.js +261 -106
  7. package/dist/cjs/decorators/elementDefine.js.map +2 -2
  8. package/dist/cjs/decorators/emitCustomEvent.js +60 -0
  9. package/dist/cjs/decorators/emitCustomEvent.js.map +7 -0
  10. package/dist/cjs/decorators/lifecycles.js +38 -0
  11. package/dist/cjs/decorators/lifecycles.js.map +2 -2
  12. package/dist/cjs/decorators/query.js +27 -5
  13. package/dist/cjs/decorators/query.js.map +2 -2
  14. package/dist/cjs/decorators/queryAll.js +27 -5
  15. package/dist/cjs/decorators/queryAll.js.map +2 -2
  16. package/dist/cjs/decorators/state.js +50 -0
  17. package/dist/cjs/decorators/state.js.map +7 -0
  18. package/dist/cjs/elements/SwcChoose.js.map +2 -2
  19. package/dist/cjs/elements/SwcForOf.js +3 -1
  20. package/dist/cjs/elements/SwcForOf.js.map +2 -2
  21. package/dist/cjs/elements/SwcObject.js +8 -6
  22. package/dist/cjs/elements/SwcObject.js.map +2 -2
  23. package/dist/cjs/index.js +6 -7
  24. package/dist/cjs/index.js.map +2 -2
  25. package/dist/cjs/is/SwcChooseAnchor.js.map +2 -2
  26. package/dist/cjs/is/SwcChooseArea.js.map +2 -2
  27. package/dist/cjs/is/SwcChooseAudio.js.map +2 -2
  28. package/dist/cjs/is/SwcChooseBase.js.map +2 -2
  29. package/dist/cjs/is/SwcChooseButton.js.map +2 -2
  30. package/dist/cjs/is/SwcChooseCanvas.js.map +2 -2
  31. package/dist/cjs/is/SwcChooseData.js.map +2 -2
  32. package/dist/cjs/is/SwcChooseDataList.js.map +2 -2
  33. package/dist/cjs/is/SwcChooseDetails.js.map +2 -2
  34. package/dist/cjs/is/SwcChooseDialog.js.map +2 -2
  35. package/dist/cjs/is/SwcChooseDiv.js.map +2 -2
  36. package/dist/cjs/is/SwcChooseDl.js.map +2 -2
  37. package/dist/cjs/is/SwcChooseEmbed.js.map +2 -2
  38. package/dist/cjs/is/SwcChooseFieldSet.js.map +2 -2
  39. package/dist/cjs/is/SwcChooseForm.js.map +2 -2
  40. package/dist/cjs/is/SwcChooseHeading.js.map +2 -2
  41. package/dist/cjs/is/SwcChooseHr.js.map +2 -2
  42. package/dist/cjs/is/SwcChooseIFrame.js.map +2 -2
  43. package/dist/cjs/is/SwcChooseImage.js.map +2 -2
  44. package/dist/cjs/is/SwcChooseInput.js.map +2 -2
  45. package/dist/cjs/is/SwcChooseLabel.js.map +2 -2
  46. package/dist/cjs/is/SwcChooseLegend.js.map +2 -2
  47. package/dist/cjs/is/SwcChooseLi.js.map +2 -2
  48. package/dist/cjs/is/SwcChooseLink.js.map +2 -2
  49. package/dist/cjs/is/SwcChooseMap.js.map +2 -2
  50. package/dist/cjs/is/SwcChooseMeta.js.map +2 -2
  51. package/dist/cjs/is/SwcChooseMeter.js.map +2 -2
  52. package/dist/cjs/is/SwcChooseMod.js.map +2 -2
  53. package/dist/cjs/is/SwcChooseObject.js.map +2 -2
  54. package/dist/cjs/is/SwcChooseOl.js.map +2 -2
  55. package/dist/cjs/is/SwcChooseOptGroup.js.map +2 -2
  56. package/dist/cjs/is/SwcChooseOption.js.map +2 -2
  57. package/dist/cjs/is/SwcChooseOutput.js.map +2 -2
  58. package/dist/cjs/is/SwcChooseParagraph.js.map +2 -2
  59. package/dist/cjs/is/SwcChooseParam.js.map +2 -2
  60. package/dist/cjs/is/SwcChoosePicture.js.map +2 -2
  61. package/dist/cjs/is/SwcChoosePre.js.map +2 -2
  62. package/dist/cjs/is/SwcChooseProgress.js.map +2 -2
  63. package/dist/cjs/is/SwcChooseQuote.js.map +2 -2
  64. package/dist/cjs/is/SwcChooseScript.js.map +2 -2
  65. package/dist/cjs/is/SwcChooseSelect.js.map +2 -2
  66. package/dist/cjs/is/SwcChooseSlot.js.map +2 -2
  67. package/dist/cjs/is/SwcChooseSource.js.map +2 -2
  68. package/dist/cjs/is/SwcChooseSpan.js.map +2 -2
  69. package/dist/cjs/is/SwcChooseStyle.js.map +2 -2
  70. package/dist/cjs/is/SwcChooseTable.js.map +2 -2
  71. package/dist/cjs/is/SwcChooseTableCell.js.map +2 -2
  72. package/dist/cjs/is/SwcChooseTableRow.js.map +2 -2
  73. package/dist/cjs/is/SwcChooseTableSection.js.map +2 -2
  74. package/dist/cjs/is/SwcChooseTemplate.js.map +2 -2
  75. package/dist/cjs/is/SwcChooseTextArea.js.map +2 -2
  76. package/dist/cjs/is/SwcChooseTime.js.map +2 -2
  77. package/dist/cjs/is/SwcChooseTitle.js.map +2 -2
  78. package/dist/cjs/is/SwcChooseTrack.js.map +2 -2
  79. package/dist/cjs/is/SwcChooseUl.js.map +2 -2
  80. package/dist/cjs/is/SwcChooseVideo.js.map +2 -2
  81. package/dist/cjs/is/SwcIfAnchor.js.map +2 -2
  82. package/dist/cjs/is/SwcIfArea.js.map +2 -2
  83. package/dist/cjs/is/SwcIfAudio.js.map +2 -2
  84. package/dist/cjs/is/SwcIfBase.js.map +2 -2
  85. package/dist/cjs/is/SwcIfButton.js.map +2 -2
  86. package/dist/cjs/is/SwcIfCanvas.js.map +2 -2
  87. package/dist/cjs/is/SwcIfData.js.map +2 -2
  88. package/dist/cjs/is/SwcIfDataList.js.map +2 -2
  89. package/dist/cjs/is/SwcIfDetails.js.map +2 -2
  90. package/dist/cjs/is/SwcIfDialog.js.map +2 -2
  91. package/dist/cjs/is/SwcIfDiv.js.map +2 -2
  92. package/dist/cjs/is/SwcIfDl.js.map +2 -2
  93. package/dist/cjs/is/SwcIfEmbed.js.map +2 -2
  94. package/dist/cjs/is/SwcIfFieldSet.js.map +2 -2
  95. package/dist/cjs/is/SwcIfForm.js.map +2 -2
  96. package/dist/cjs/is/SwcIfHeading.js.map +2 -2
  97. package/dist/cjs/is/SwcIfHr.js.map +2 -2
  98. package/dist/cjs/is/SwcIfIFrame.js.map +2 -2
  99. package/dist/cjs/is/SwcIfImage.js.map +2 -2
  100. package/dist/cjs/is/SwcIfInput.js.map +2 -2
  101. package/dist/cjs/is/SwcIfLabel.js.map +2 -2
  102. package/dist/cjs/is/SwcIfLegend.js.map +2 -2
  103. package/dist/cjs/is/SwcIfLi.js.map +2 -2
  104. package/dist/cjs/is/SwcIfLink.js.map +2 -2
  105. package/dist/cjs/is/SwcIfMap.js.map +2 -2
  106. package/dist/cjs/is/SwcIfMeta.js.map +2 -2
  107. package/dist/cjs/is/SwcIfMeter.js.map +2 -2
  108. package/dist/cjs/is/SwcIfMod.js.map +2 -2
  109. package/dist/cjs/is/SwcIfObject.js.map +2 -2
  110. package/dist/cjs/is/SwcIfOl.js.map +2 -2
  111. package/dist/cjs/is/SwcIfOptGroup.js.map +2 -2
  112. package/dist/cjs/is/SwcIfOption.js.map +2 -2
  113. package/dist/cjs/is/SwcIfOutput.js.map +2 -2
  114. package/dist/cjs/is/SwcIfParagraph.js.map +2 -2
  115. package/dist/cjs/is/SwcIfParam.js.map +2 -2
  116. package/dist/cjs/is/SwcIfPicture.js.map +2 -2
  117. package/dist/cjs/is/SwcIfPre.js.map +2 -2
  118. package/dist/cjs/is/SwcIfProgress.js.map +2 -2
  119. package/dist/cjs/is/SwcIfQuote.js.map +2 -2
  120. package/dist/cjs/is/SwcIfScript.js.map +2 -2
  121. package/dist/cjs/is/SwcIfSelect.js.map +2 -2
  122. package/dist/cjs/is/SwcIfSlot.js.map +2 -2
  123. package/dist/cjs/is/SwcIfSource.js.map +2 -2
  124. package/dist/cjs/is/SwcIfSpan.js.map +2 -2
  125. package/dist/cjs/is/SwcIfStyle.js.map +2 -2
  126. package/dist/cjs/is/SwcIfTable.js.map +2 -2
  127. package/dist/cjs/is/SwcIfTableCell.js.map +2 -2
  128. package/dist/cjs/is/SwcIfTableRow.js.map +2 -2
  129. package/dist/cjs/is/SwcIfTableSection.js.map +2 -2
  130. package/dist/cjs/is/SwcIfTemplate.js.map +2 -2
  131. package/dist/cjs/is/SwcIfTextArea.js.map +2 -2
  132. package/dist/cjs/is/SwcIfTime.js.map +2 -2
  133. package/dist/cjs/is/SwcIfTitle.js.map +2 -2
  134. package/dist/cjs/is/SwcIfTrack.js.map +2 -2
  135. package/dist/cjs/is/SwcIfUl.js.map +2 -2
  136. package/dist/cjs/is/SwcIfVideo.js.map +2 -2
  137. package/dist/cjs/is/SwcOtherAnchor.js.map +2 -2
  138. package/dist/cjs/is/SwcOtherArea.js.map +2 -2
  139. package/dist/cjs/is/SwcOtherAudio.js.map +2 -2
  140. package/dist/cjs/is/SwcOtherBase.js.map +2 -2
  141. package/dist/cjs/is/SwcOtherButton.js.map +2 -2
  142. package/dist/cjs/is/SwcOtherCanvas.js.map +2 -2
  143. package/dist/cjs/is/SwcOtherData.js.map +2 -2
  144. package/dist/cjs/is/SwcOtherDataList.js.map +2 -2
  145. package/dist/cjs/is/SwcOtherDetails.js.map +2 -2
  146. package/dist/cjs/is/SwcOtherDialog.js.map +2 -2
  147. package/dist/cjs/is/SwcOtherDiv.js.map +2 -2
  148. package/dist/cjs/is/SwcOtherDl.js.map +2 -2
  149. package/dist/cjs/is/SwcOtherEmbed.js.map +2 -2
  150. package/dist/cjs/is/SwcOtherFieldSet.js.map +2 -2
  151. package/dist/cjs/is/SwcOtherForm.js.map +2 -2
  152. package/dist/cjs/is/SwcOtherHeading.js.map +2 -2
  153. package/dist/cjs/is/SwcOtherHr.js.map +2 -2
  154. package/dist/cjs/is/SwcOtherIFrame.js.map +2 -2
  155. package/dist/cjs/is/SwcOtherImage.js.map +2 -2
  156. package/dist/cjs/is/SwcOtherInput.js.map +2 -2
  157. package/dist/cjs/is/SwcOtherLabel.js.map +2 -2
  158. package/dist/cjs/is/SwcOtherLegend.js.map +2 -2
  159. package/dist/cjs/is/SwcOtherLi.js.map +2 -2
  160. package/dist/cjs/is/SwcOtherLink.js.map +2 -2
  161. package/dist/cjs/is/SwcOtherMap.js.map +2 -2
  162. package/dist/cjs/is/SwcOtherMeta.js.map +2 -2
  163. package/dist/cjs/is/SwcOtherMeter.js.map +2 -2
  164. package/dist/cjs/is/SwcOtherMod.js.map +2 -2
  165. package/dist/cjs/is/SwcOtherObject.js.map +2 -2
  166. package/dist/cjs/is/SwcOtherOl.js.map +2 -2
  167. package/dist/cjs/is/SwcOtherOptGroup.js.map +2 -2
  168. package/dist/cjs/is/SwcOtherOption.js.map +2 -2
  169. package/dist/cjs/is/SwcOtherOutput.js.map +2 -2
  170. package/dist/cjs/is/SwcOtherParagraph.js.map +2 -2
  171. package/dist/cjs/is/SwcOtherParam.js.map +2 -2
  172. package/dist/cjs/is/SwcOtherPicture.js.map +2 -2
  173. package/dist/cjs/is/SwcOtherPre.js.map +2 -2
  174. package/dist/cjs/is/SwcOtherProgress.js.map +2 -2
  175. package/dist/cjs/is/SwcOtherQuote.js.map +2 -2
  176. package/dist/cjs/is/SwcOtherScript.js.map +2 -2
  177. package/dist/cjs/is/SwcOtherSelect.js.map +2 -2
  178. package/dist/cjs/is/SwcOtherSlot.js.map +2 -2
  179. package/dist/cjs/is/SwcOtherSource.js.map +2 -2
  180. package/dist/cjs/is/SwcOtherSpan.js.map +2 -2
  181. package/dist/cjs/is/SwcOtherStyle.js.map +2 -2
  182. package/dist/cjs/is/SwcOtherTable.js.map +2 -2
  183. package/dist/cjs/is/SwcOtherTableCell.js.map +2 -2
  184. package/dist/cjs/is/SwcOtherTableRow.js.map +2 -2
  185. package/dist/cjs/is/SwcOtherTableSection.js.map +2 -2
  186. package/dist/cjs/is/SwcOtherTemplate.js.map +2 -2
  187. package/dist/cjs/is/SwcOtherTextArea.js.map +2 -2
  188. package/dist/cjs/is/SwcOtherTime.js.map +2 -2
  189. package/dist/cjs/is/SwcOtherTitle.js.map +2 -2
  190. package/dist/cjs/is/SwcOtherTrack.js.map +2 -2
  191. package/dist/cjs/is/SwcOtherUl.js.map +2 -2
  192. package/dist/cjs/is/SwcOtherVideo.js.map +2 -2
  193. package/dist/cjs/is/SwcWhenAnchor.js.map +2 -2
  194. package/dist/cjs/is/SwcWhenArea.js.map +2 -2
  195. package/dist/cjs/is/SwcWhenAudio.js.map +2 -2
  196. package/dist/cjs/is/SwcWhenBase.js.map +2 -2
  197. package/dist/cjs/is/SwcWhenButton.js.map +2 -2
  198. package/dist/cjs/is/SwcWhenCanvas.js.map +2 -2
  199. package/dist/cjs/is/SwcWhenData.js.map +2 -2
  200. package/dist/cjs/is/SwcWhenDataList.js.map +2 -2
  201. package/dist/cjs/is/SwcWhenDetails.js.map +2 -2
  202. package/dist/cjs/is/SwcWhenDialog.js.map +2 -2
  203. package/dist/cjs/is/SwcWhenDiv.js.map +2 -2
  204. package/dist/cjs/is/SwcWhenDl.js.map +2 -2
  205. package/dist/cjs/is/SwcWhenEmbed.js.map +2 -2
  206. package/dist/cjs/is/SwcWhenFieldSet.js.map +2 -2
  207. package/dist/cjs/is/SwcWhenForm.js.map +2 -2
  208. package/dist/cjs/is/SwcWhenHeading.js.map +2 -2
  209. package/dist/cjs/is/SwcWhenHr.js.map +2 -2
  210. package/dist/cjs/is/SwcWhenIFrame.js.map +2 -2
  211. package/dist/cjs/is/SwcWhenImage.js.map +2 -2
  212. package/dist/cjs/is/SwcWhenInput.js.map +2 -2
  213. package/dist/cjs/is/SwcWhenLabel.js.map +2 -2
  214. package/dist/cjs/is/SwcWhenLegend.js.map +2 -2
  215. package/dist/cjs/is/SwcWhenLi.js.map +2 -2
  216. package/dist/cjs/is/SwcWhenLink.js.map +2 -2
  217. package/dist/cjs/is/SwcWhenMap.js.map +2 -2
  218. package/dist/cjs/is/SwcWhenMeta.js.map +2 -2
  219. package/dist/cjs/is/SwcWhenMeter.js.map +2 -2
  220. package/dist/cjs/is/SwcWhenMod.js.map +2 -2
  221. package/dist/cjs/is/SwcWhenObject.js.map +2 -2
  222. package/dist/cjs/is/SwcWhenOl.js.map +2 -2
  223. package/dist/cjs/is/SwcWhenOptGroup.js.map +2 -2
  224. package/dist/cjs/is/SwcWhenOption.js.map +2 -2
  225. package/dist/cjs/is/SwcWhenOutput.js.map +2 -2
  226. package/dist/cjs/is/SwcWhenParagraph.js.map +2 -2
  227. package/dist/cjs/is/SwcWhenParam.js.map +2 -2
  228. package/dist/cjs/is/SwcWhenPicture.js.map +2 -2
  229. package/dist/cjs/is/SwcWhenPre.js.map +2 -2
  230. package/dist/cjs/is/SwcWhenProgress.js.map +2 -2
  231. package/dist/cjs/is/SwcWhenQuote.js.map +2 -2
  232. package/dist/cjs/is/SwcWhenScript.js.map +2 -2
  233. package/dist/cjs/is/SwcWhenSelect.js.map +2 -2
  234. package/dist/cjs/is/SwcWhenSlot.js.map +2 -2
  235. package/dist/cjs/is/SwcWhenSource.js.map +2 -2
  236. package/dist/cjs/is/SwcWhenSpan.js.map +2 -2
  237. package/dist/cjs/is/SwcWhenStyle.js.map +2 -2
  238. package/dist/cjs/is/SwcWhenTable.js.map +2 -2
  239. package/dist/cjs/is/SwcWhenTableCell.js.map +2 -2
  240. package/dist/cjs/is/SwcWhenTableRow.js.map +2 -2
  241. package/dist/cjs/is/SwcWhenTableSection.js.map +2 -2
  242. package/dist/cjs/is/SwcWhenTemplate.js.map +2 -2
  243. package/dist/cjs/is/SwcWhenTextArea.js.map +2 -2
  244. package/dist/cjs/is/SwcWhenTime.js.map +2 -2
  245. package/dist/cjs/is/SwcWhenTitle.js.map +2 -2
  246. package/dist/cjs/is/SwcWhenTrack.js.map +2 -2
  247. package/dist/cjs/is/SwcWhenUl.js.map +2 -2
  248. package/dist/cjs/is/SwcWhenVideo.js.map +2 -2
  249. package/dist/cjs/utils/Utils.js +49 -17
  250. package/dist/cjs/utils/Utils.js.map +2 -2
  251. package/dist/esm/decorators/addEventListener.js +3 -2
  252. package/dist/esm/decorators/addEventListener.js.map +2 -2
  253. package/dist/esm/decorators/attribute.js +60 -0
  254. package/dist/esm/decorators/attribute.js.map +7 -0
  255. package/dist/esm/decorators/elementDefine.js +262 -107
  256. package/dist/esm/decorators/elementDefine.js.map +2 -2
  257. package/dist/esm/decorators/emitCustomEvent.js +41 -0
  258. package/dist/esm/decorators/emitCustomEvent.js.map +7 -0
  259. package/dist/esm/decorators/lifecycles.js +38 -0
  260. package/dist/esm/decorators/lifecycles.js.map +2 -2
  261. package/dist/esm/decorators/query.js +27 -5
  262. package/dist/esm/decorators/query.js.map +2 -2
  263. package/dist/esm/decorators/queryAll.js +27 -5
  264. package/dist/esm/decorators/queryAll.js.map +2 -2
  265. package/dist/esm/decorators/state.js +31 -0
  266. package/dist/esm/decorators/state.js.map +7 -0
  267. package/dist/esm/elements/SwcChoose.js.map +2 -2
  268. package/dist/esm/elements/SwcForOf.js +3 -1
  269. package/dist/esm/elements/SwcForOf.js.map +2 -2
  270. package/dist/esm/elements/SwcObject.js +8 -6
  271. package/dist/esm/elements/SwcObject.js.map +2 -2
  272. package/dist/esm/index.js +6 -7
  273. package/dist/esm/index.js.map +2 -2
  274. package/dist/esm/is/SwcChooseAnchor.js.map +2 -2
  275. package/dist/esm/is/SwcChooseArea.js.map +2 -2
  276. package/dist/esm/is/SwcChooseAudio.js.map +2 -2
  277. package/dist/esm/is/SwcChooseBase.js.map +2 -2
  278. package/dist/esm/is/SwcChooseButton.js.map +2 -2
  279. package/dist/esm/is/SwcChooseCanvas.js.map +2 -2
  280. package/dist/esm/is/SwcChooseData.js.map +2 -2
  281. package/dist/esm/is/SwcChooseDataList.js.map +2 -2
  282. package/dist/esm/is/SwcChooseDetails.js.map +2 -2
  283. package/dist/esm/is/SwcChooseDialog.js.map +2 -2
  284. package/dist/esm/is/SwcChooseDiv.js.map +2 -2
  285. package/dist/esm/is/SwcChooseDl.js.map +2 -2
  286. package/dist/esm/is/SwcChooseEmbed.js.map +2 -2
  287. package/dist/esm/is/SwcChooseFieldSet.js.map +2 -2
  288. package/dist/esm/is/SwcChooseForm.js.map +2 -2
  289. package/dist/esm/is/SwcChooseHeading.js.map +2 -2
  290. package/dist/esm/is/SwcChooseHr.js.map +2 -2
  291. package/dist/esm/is/SwcChooseIFrame.js.map +2 -2
  292. package/dist/esm/is/SwcChooseImage.js.map +2 -2
  293. package/dist/esm/is/SwcChooseInput.js.map +2 -2
  294. package/dist/esm/is/SwcChooseLabel.js.map +2 -2
  295. package/dist/esm/is/SwcChooseLegend.js.map +2 -2
  296. package/dist/esm/is/SwcChooseLi.js.map +2 -2
  297. package/dist/esm/is/SwcChooseLink.js.map +2 -2
  298. package/dist/esm/is/SwcChooseMap.js.map +2 -2
  299. package/dist/esm/is/SwcChooseMeta.js.map +2 -2
  300. package/dist/esm/is/SwcChooseMeter.js.map +2 -2
  301. package/dist/esm/is/SwcChooseMod.js.map +2 -2
  302. package/dist/esm/is/SwcChooseObject.js.map +2 -2
  303. package/dist/esm/is/SwcChooseOl.js.map +2 -2
  304. package/dist/esm/is/SwcChooseOptGroup.js.map +2 -2
  305. package/dist/esm/is/SwcChooseOption.js.map +2 -2
  306. package/dist/esm/is/SwcChooseOutput.js.map +2 -2
  307. package/dist/esm/is/SwcChooseParagraph.js.map +2 -2
  308. package/dist/esm/is/SwcChooseParam.js.map +2 -2
  309. package/dist/esm/is/SwcChoosePicture.js.map +2 -2
  310. package/dist/esm/is/SwcChoosePre.js.map +2 -2
  311. package/dist/esm/is/SwcChooseProgress.js.map +2 -2
  312. package/dist/esm/is/SwcChooseQuote.js.map +2 -2
  313. package/dist/esm/is/SwcChooseScript.js.map +2 -2
  314. package/dist/esm/is/SwcChooseSelect.js.map +2 -2
  315. package/dist/esm/is/SwcChooseSlot.js.map +2 -2
  316. package/dist/esm/is/SwcChooseSource.js.map +2 -2
  317. package/dist/esm/is/SwcChooseSpan.js.map +2 -2
  318. package/dist/esm/is/SwcChooseStyle.js.map +2 -2
  319. package/dist/esm/is/SwcChooseTable.js.map +2 -2
  320. package/dist/esm/is/SwcChooseTableCell.js.map +2 -2
  321. package/dist/esm/is/SwcChooseTableRow.js.map +2 -2
  322. package/dist/esm/is/SwcChooseTableSection.js.map +2 -2
  323. package/dist/esm/is/SwcChooseTemplate.js.map +2 -2
  324. package/dist/esm/is/SwcChooseTextArea.js.map +2 -2
  325. package/dist/esm/is/SwcChooseTime.js.map +2 -2
  326. package/dist/esm/is/SwcChooseTitle.js.map +2 -2
  327. package/dist/esm/is/SwcChooseTrack.js.map +2 -2
  328. package/dist/esm/is/SwcChooseUl.js.map +2 -2
  329. package/dist/esm/is/SwcChooseVideo.js.map +2 -2
  330. package/dist/esm/is/SwcIfAnchor.js.map +2 -2
  331. package/dist/esm/is/SwcIfArea.js.map +2 -2
  332. package/dist/esm/is/SwcIfAudio.js.map +2 -2
  333. package/dist/esm/is/SwcIfBase.js.map +2 -2
  334. package/dist/esm/is/SwcIfButton.js.map +2 -2
  335. package/dist/esm/is/SwcIfCanvas.js.map +2 -2
  336. package/dist/esm/is/SwcIfData.js.map +2 -2
  337. package/dist/esm/is/SwcIfDataList.js.map +2 -2
  338. package/dist/esm/is/SwcIfDetails.js.map +2 -2
  339. package/dist/esm/is/SwcIfDialog.js.map +2 -2
  340. package/dist/esm/is/SwcIfDiv.js.map +2 -2
  341. package/dist/esm/is/SwcIfDl.js.map +2 -2
  342. package/dist/esm/is/SwcIfEmbed.js.map +2 -2
  343. package/dist/esm/is/SwcIfFieldSet.js.map +2 -2
  344. package/dist/esm/is/SwcIfForm.js.map +2 -2
  345. package/dist/esm/is/SwcIfHeading.js.map +2 -2
  346. package/dist/esm/is/SwcIfHr.js.map +2 -2
  347. package/dist/esm/is/SwcIfIFrame.js.map +2 -2
  348. package/dist/esm/is/SwcIfImage.js.map +2 -2
  349. package/dist/esm/is/SwcIfInput.js.map +2 -2
  350. package/dist/esm/is/SwcIfLabel.js.map +2 -2
  351. package/dist/esm/is/SwcIfLegend.js.map +2 -2
  352. package/dist/esm/is/SwcIfLi.js.map +2 -2
  353. package/dist/esm/is/SwcIfLink.js.map +2 -2
  354. package/dist/esm/is/SwcIfMap.js.map +2 -2
  355. package/dist/esm/is/SwcIfMeta.js.map +2 -2
  356. package/dist/esm/is/SwcIfMeter.js.map +2 -2
  357. package/dist/esm/is/SwcIfMod.js.map +2 -2
  358. package/dist/esm/is/SwcIfObject.js.map +2 -2
  359. package/dist/esm/is/SwcIfOl.js.map +2 -2
  360. package/dist/esm/is/SwcIfOptGroup.js.map +2 -2
  361. package/dist/esm/is/SwcIfOption.js.map +2 -2
  362. package/dist/esm/is/SwcIfOutput.js.map +2 -2
  363. package/dist/esm/is/SwcIfParagraph.js.map +2 -2
  364. package/dist/esm/is/SwcIfParam.js.map +2 -2
  365. package/dist/esm/is/SwcIfPicture.js.map +2 -2
  366. package/dist/esm/is/SwcIfPre.js.map +2 -2
  367. package/dist/esm/is/SwcIfProgress.js.map +2 -2
  368. package/dist/esm/is/SwcIfQuote.js.map +2 -2
  369. package/dist/esm/is/SwcIfScript.js.map +2 -2
  370. package/dist/esm/is/SwcIfSelect.js.map +2 -2
  371. package/dist/esm/is/SwcIfSlot.js.map +2 -2
  372. package/dist/esm/is/SwcIfSource.js.map +2 -2
  373. package/dist/esm/is/SwcIfSpan.js.map +2 -2
  374. package/dist/esm/is/SwcIfStyle.js.map +2 -2
  375. package/dist/esm/is/SwcIfTable.js.map +2 -2
  376. package/dist/esm/is/SwcIfTableCell.js.map +2 -2
  377. package/dist/esm/is/SwcIfTableRow.js.map +2 -2
  378. package/dist/esm/is/SwcIfTableSection.js.map +2 -2
  379. package/dist/esm/is/SwcIfTemplate.js.map +2 -2
  380. package/dist/esm/is/SwcIfTextArea.js.map +2 -2
  381. package/dist/esm/is/SwcIfTime.js.map +2 -2
  382. package/dist/esm/is/SwcIfTitle.js.map +2 -2
  383. package/dist/esm/is/SwcIfTrack.js.map +2 -2
  384. package/dist/esm/is/SwcIfUl.js.map +2 -2
  385. package/dist/esm/is/SwcIfVideo.js.map +2 -2
  386. package/dist/esm/is/SwcOtherAnchor.js.map +2 -2
  387. package/dist/esm/is/SwcOtherArea.js.map +2 -2
  388. package/dist/esm/is/SwcOtherAudio.js.map +2 -2
  389. package/dist/esm/is/SwcOtherBase.js.map +2 -2
  390. package/dist/esm/is/SwcOtherButton.js.map +2 -2
  391. package/dist/esm/is/SwcOtherCanvas.js.map +2 -2
  392. package/dist/esm/is/SwcOtherData.js.map +2 -2
  393. package/dist/esm/is/SwcOtherDataList.js.map +2 -2
  394. package/dist/esm/is/SwcOtherDetails.js.map +2 -2
  395. package/dist/esm/is/SwcOtherDialog.js.map +2 -2
  396. package/dist/esm/is/SwcOtherDiv.js.map +2 -2
  397. package/dist/esm/is/SwcOtherDl.js.map +2 -2
  398. package/dist/esm/is/SwcOtherEmbed.js.map +2 -2
  399. package/dist/esm/is/SwcOtherFieldSet.js.map +2 -2
  400. package/dist/esm/is/SwcOtherForm.js.map +2 -2
  401. package/dist/esm/is/SwcOtherHeading.js.map +2 -2
  402. package/dist/esm/is/SwcOtherHr.js.map +2 -2
  403. package/dist/esm/is/SwcOtherIFrame.js.map +2 -2
  404. package/dist/esm/is/SwcOtherImage.js.map +2 -2
  405. package/dist/esm/is/SwcOtherInput.js.map +2 -2
  406. package/dist/esm/is/SwcOtherLabel.js.map +2 -2
  407. package/dist/esm/is/SwcOtherLegend.js.map +2 -2
  408. package/dist/esm/is/SwcOtherLi.js.map +2 -2
  409. package/dist/esm/is/SwcOtherLink.js.map +2 -2
  410. package/dist/esm/is/SwcOtherMap.js.map +2 -2
  411. package/dist/esm/is/SwcOtherMeta.js.map +2 -2
  412. package/dist/esm/is/SwcOtherMeter.js.map +2 -2
  413. package/dist/esm/is/SwcOtherMod.js.map +2 -2
  414. package/dist/esm/is/SwcOtherObject.js.map +2 -2
  415. package/dist/esm/is/SwcOtherOl.js.map +2 -2
  416. package/dist/esm/is/SwcOtherOptGroup.js.map +2 -2
  417. package/dist/esm/is/SwcOtherOption.js.map +2 -2
  418. package/dist/esm/is/SwcOtherOutput.js.map +2 -2
  419. package/dist/esm/is/SwcOtherParagraph.js.map +2 -2
  420. package/dist/esm/is/SwcOtherParam.js.map +2 -2
  421. package/dist/esm/is/SwcOtherPicture.js.map +2 -2
  422. package/dist/esm/is/SwcOtherPre.js.map +2 -2
  423. package/dist/esm/is/SwcOtherProgress.js.map +2 -2
  424. package/dist/esm/is/SwcOtherQuote.js.map +2 -2
  425. package/dist/esm/is/SwcOtherScript.js.map +2 -2
  426. package/dist/esm/is/SwcOtherSelect.js.map +2 -2
  427. package/dist/esm/is/SwcOtherSlot.js.map +2 -2
  428. package/dist/esm/is/SwcOtherSource.js.map +2 -2
  429. package/dist/esm/is/SwcOtherSpan.js.map +2 -2
  430. package/dist/esm/is/SwcOtherStyle.js.map +2 -2
  431. package/dist/esm/is/SwcOtherTable.js.map +2 -2
  432. package/dist/esm/is/SwcOtherTableCell.js.map +2 -2
  433. package/dist/esm/is/SwcOtherTableRow.js.map +2 -2
  434. package/dist/esm/is/SwcOtherTableSection.js.map +2 -2
  435. package/dist/esm/is/SwcOtherTemplate.js.map +2 -2
  436. package/dist/esm/is/SwcOtherTextArea.js.map +2 -2
  437. package/dist/esm/is/SwcOtherTime.js.map +2 -2
  438. package/dist/esm/is/SwcOtherTitle.js.map +2 -2
  439. package/dist/esm/is/SwcOtherTrack.js.map +2 -2
  440. package/dist/esm/is/SwcOtherUl.js.map +2 -2
  441. package/dist/esm/is/SwcOtherVideo.js.map +2 -2
  442. package/dist/esm/is/SwcWhenAnchor.js.map +2 -2
  443. package/dist/esm/is/SwcWhenArea.js.map +2 -2
  444. package/dist/esm/is/SwcWhenAudio.js.map +2 -2
  445. package/dist/esm/is/SwcWhenBase.js.map +2 -2
  446. package/dist/esm/is/SwcWhenButton.js.map +2 -2
  447. package/dist/esm/is/SwcWhenCanvas.js.map +2 -2
  448. package/dist/esm/is/SwcWhenData.js.map +2 -2
  449. package/dist/esm/is/SwcWhenDataList.js.map +2 -2
  450. package/dist/esm/is/SwcWhenDetails.js.map +2 -2
  451. package/dist/esm/is/SwcWhenDialog.js.map +2 -2
  452. package/dist/esm/is/SwcWhenDiv.js.map +2 -2
  453. package/dist/esm/is/SwcWhenDl.js.map +2 -2
  454. package/dist/esm/is/SwcWhenEmbed.js.map +2 -2
  455. package/dist/esm/is/SwcWhenFieldSet.js.map +2 -2
  456. package/dist/esm/is/SwcWhenForm.js.map +2 -2
  457. package/dist/esm/is/SwcWhenHeading.js.map +2 -2
  458. package/dist/esm/is/SwcWhenHr.js.map +2 -2
  459. package/dist/esm/is/SwcWhenIFrame.js.map +2 -2
  460. package/dist/esm/is/SwcWhenImage.js.map +2 -2
  461. package/dist/esm/is/SwcWhenInput.js.map +2 -2
  462. package/dist/esm/is/SwcWhenLabel.js.map +2 -2
  463. package/dist/esm/is/SwcWhenLegend.js.map +2 -2
  464. package/dist/esm/is/SwcWhenLi.js.map +2 -2
  465. package/dist/esm/is/SwcWhenLink.js.map +2 -2
  466. package/dist/esm/is/SwcWhenMap.js.map +2 -2
  467. package/dist/esm/is/SwcWhenMeta.js.map +2 -2
  468. package/dist/esm/is/SwcWhenMeter.js.map +2 -2
  469. package/dist/esm/is/SwcWhenMod.js.map +2 -2
  470. package/dist/esm/is/SwcWhenObject.js.map +2 -2
  471. package/dist/esm/is/SwcWhenOl.js.map +2 -2
  472. package/dist/esm/is/SwcWhenOptGroup.js.map +2 -2
  473. package/dist/esm/is/SwcWhenOption.js.map +2 -2
  474. package/dist/esm/is/SwcWhenOutput.js.map +2 -2
  475. package/dist/esm/is/SwcWhenParagraph.js.map +2 -2
  476. package/dist/esm/is/SwcWhenParam.js.map +2 -2
  477. package/dist/esm/is/SwcWhenPicture.js.map +2 -2
  478. package/dist/esm/is/SwcWhenPre.js.map +2 -2
  479. package/dist/esm/is/SwcWhenProgress.js.map +2 -2
  480. package/dist/esm/is/SwcWhenQuote.js.map +2 -2
  481. package/dist/esm/is/SwcWhenScript.js.map +2 -2
  482. package/dist/esm/is/SwcWhenSelect.js.map +2 -2
  483. package/dist/esm/is/SwcWhenSlot.js.map +2 -2
  484. package/dist/esm/is/SwcWhenSource.js.map +2 -2
  485. package/dist/esm/is/SwcWhenSpan.js.map +2 -2
  486. package/dist/esm/is/SwcWhenStyle.js.map +2 -2
  487. package/dist/esm/is/SwcWhenTable.js.map +2 -2
  488. package/dist/esm/is/SwcWhenTableCell.js.map +2 -2
  489. package/dist/esm/is/SwcWhenTableRow.js.map +2 -2
  490. package/dist/esm/is/SwcWhenTableSection.js.map +2 -2
  491. package/dist/esm/is/SwcWhenTemplate.js.map +2 -2
  492. package/dist/esm/is/SwcWhenTextArea.js.map +2 -2
  493. package/dist/esm/is/SwcWhenTime.js.map +2 -2
  494. package/dist/esm/is/SwcWhenTitle.js.map +2 -2
  495. package/dist/esm/is/SwcWhenTrack.js.map +2 -2
  496. package/dist/esm/is/SwcWhenUl.js.map +2 -2
  497. package/dist/esm/is/SwcWhenVideo.js.map +2 -2
  498. package/dist/esm/utils/Utils.js +49 -17
  499. package/dist/esm/utils/Utils.js.map +2 -2
  500. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2344 -2136
  501. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  502. package/dist/types/decorators/addEventListener.d.ts +8 -4
  503. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  504. package/dist/types/decorators/attribute.d.ts +13 -0
  505. package/dist/types/decorators/attribute.d.ts.map +1 -0
  506. package/dist/types/decorators/elementDefine.d.ts +2 -0
  507. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  508. package/dist/types/decorators/emitCustomEvent.d.ts +15 -0
  509. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -0
  510. package/dist/types/decorators/lifecycles.d.ts +7 -1
  511. package/dist/types/decorators/lifecycles.d.ts.map +1 -1
  512. package/dist/types/decorators/query.d.ts +5 -2
  513. package/dist/types/decorators/query.d.ts.map +1 -1
  514. package/dist/types/decorators/queryAll.d.ts +5 -2
  515. package/dist/types/decorators/queryAll.d.ts.map +1 -1
  516. package/dist/types/decorators/state.d.ts +12 -0
  517. package/dist/types/decorators/state.d.ts.map +1 -0
  518. package/dist/types/elements/SwcChoose.d.ts.map +1 -1
  519. package/dist/types/elements/SwcForOf.d.ts.map +1 -1
  520. package/dist/types/elements/SwcObject.d.ts.map +1 -1
  521. package/dist/types/index.d.ts +6 -7
  522. package/dist/types/index.d.ts.map +1 -1
  523. package/dist/types/is/SwcChooseAnchor.d.ts.map +1 -1
  524. package/dist/types/is/SwcChooseArea.d.ts.map +1 -1
  525. package/dist/types/is/SwcChooseAudio.d.ts.map +1 -1
  526. package/dist/types/is/SwcChooseBase.d.ts.map +1 -1
  527. package/dist/types/is/SwcChooseButton.d.ts.map +1 -1
  528. package/dist/types/is/SwcChooseCanvas.d.ts.map +1 -1
  529. package/dist/types/is/SwcChooseData.d.ts.map +1 -1
  530. package/dist/types/is/SwcChooseDataList.d.ts.map +1 -1
  531. package/dist/types/is/SwcChooseDetails.d.ts.map +1 -1
  532. package/dist/types/is/SwcChooseDialog.d.ts.map +1 -1
  533. package/dist/types/is/SwcChooseDiv.d.ts.map +1 -1
  534. package/dist/types/is/SwcChooseDl.d.ts.map +1 -1
  535. package/dist/types/is/SwcChooseEmbed.d.ts.map +1 -1
  536. package/dist/types/is/SwcChooseFieldSet.d.ts.map +1 -1
  537. package/dist/types/is/SwcChooseForm.d.ts.map +1 -1
  538. package/dist/types/is/SwcChooseHeading.d.ts.map +1 -1
  539. package/dist/types/is/SwcChooseHr.d.ts.map +1 -1
  540. package/dist/types/is/SwcChooseIFrame.d.ts.map +1 -1
  541. package/dist/types/is/SwcChooseImage.d.ts.map +1 -1
  542. package/dist/types/is/SwcChooseInput.d.ts.map +1 -1
  543. package/dist/types/is/SwcChooseLabel.d.ts.map +1 -1
  544. package/dist/types/is/SwcChooseLegend.d.ts.map +1 -1
  545. package/dist/types/is/SwcChooseLi.d.ts.map +1 -1
  546. package/dist/types/is/SwcChooseLink.d.ts.map +1 -1
  547. package/dist/types/is/SwcChooseMap.d.ts.map +1 -1
  548. package/dist/types/is/SwcChooseMeta.d.ts.map +1 -1
  549. package/dist/types/is/SwcChooseMeter.d.ts.map +1 -1
  550. package/dist/types/is/SwcChooseMod.d.ts.map +1 -1
  551. package/dist/types/is/SwcChooseObject.d.ts.map +1 -1
  552. package/dist/types/is/SwcChooseOl.d.ts.map +1 -1
  553. package/dist/types/is/SwcChooseOptGroup.d.ts.map +1 -1
  554. package/dist/types/is/SwcChooseOption.d.ts.map +1 -1
  555. package/dist/types/is/SwcChooseOutput.d.ts.map +1 -1
  556. package/dist/types/is/SwcChooseParagraph.d.ts.map +1 -1
  557. package/dist/types/is/SwcChooseParam.d.ts.map +1 -1
  558. package/dist/types/is/SwcChoosePicture.d.ts.map +1 -1
  559. package/dist/types/is/SwcChoosePre.d.ts.map +1 -1
  560. package/dist/types/is/SwcChooseProgress.d.ts.map +1 -1
  561. package/dist/types/is/SwcChooseQuote.d.ts.map +1 -1
  562. package/dist/types/is/SwcChooseScript.d.ts.map +1 -1
  563. package/dist/types/is/SwcChooseSelect.d.ts.map +1 -1
  564. package/dist/types/is/SwcChooseSlot.d.ts.map +1 -1
  565. package/dist/types/is/SwcChooseSource.d.ts.map +1 -1
  566. package/dist/types/is/SwcChooseSpan.d.ts.map +1 -1
  567. package/dist/types/is/SwcChooseStyle.d.ts.map +1 -1
  568. package/dist/types/is/SwcChooseTable.d.ts.map +1 -1
  569. package/dist/types/is/SwcChooseTableCell.d.ts.map +1 -1
  570. package/dist/types/is/SwcChooseTableRow.d.ts.map +1 -1
  571. package/dist/types/is/SwcChooseTableSection.d.ts.map +1 -1
  572. package/dist/types/is/SwcChooseTemplate.d.ts.map +1 -1
  573. package/dist/types/is/SwcChooseTextArea.d.ts.map +1 -1
  574. package/dist/types/is/SwcChooseTime.d.ts.map +1 -1
  575. package/dist/types/is/SwcChooseTitle.d.ts.map +1 -1
  576. package/dist/types/is/SwcChooseTrack.d.ts.map +1 -1
  577. package/dist/types/is/SwcChooseUl.d.ts.map +1 -1
  578. package/dist/types/is/SwcChooseVideo.d.ts.map +1 -1
  579. package/dist/types/is/SwcIfAnchor.d.ts.map +1 -1
  580. package/dist/types/is/SwcIfArea.d.ts.map +1 -1
  581. package/dist/types/is/SwcIfAudio.d.ts.map +1 -1
  582. package/dist/types/is/SwcIfBase.d.ts.map +1 -1
  583. package/dist/types/is/SwcIfButton.d.ts.map +1 -1
  584. package/dist/types/is/SwcIfCanvas.d.ts.map +1 -1
  585. package/dist/types/is/SwcIfData.d.ts.map +1 -1
  586. package/dist/types/is/SwcIfDataList.d.ts.map +1 -1
  587. package/dist/types/is/SwcIfDetails.d.ts.map +1 -1
  588. package/dist/types/is/SwcIfDialog.d.ts.map +1 -1
  589. package/dist/types/is/SwcIfDiv.d.ts.map +1 -1
  590. package/dist/types/is/SwcIfDl.d.ts.map +1 -1
  591. package/dist/types/is/SwcIfEmbed.d.ts.map +1 -1
  592. package/dist/types/is/SwcIfFieldSet.d.ts.map +1 -1
  593. package/dist/types/is/SwcIfForm.d.ts.map +1 -1
  594. package/dist/types/is/SwcIfHeading.d.ts.map +1 -1
  595. package/dist/types/is/SwcIfHr.d.ts.map +1 -1
  596. package/dist/types/is/SwcIfIFrame.d.ts.map +1 -1
  597. package/dist/types/is/SwcIfImage.d.ts.map +1 -1
  598. package/dist/types/is/SwcIfInput.d.ts.map +1 -1
  599. package/dist/types/is/SwcIfLabel.d.ts.map +1 -1
  600. package/dist/types/is/SwcIfLegend.d.ts.map +1 -1
  601. package/dist/types/is/SwcIfLi.d.ts.map +1 -1
  602. package/dist/types/is/SwcIfLink.d.ts.map +1 -1
  603. package/dist/types/is/SwcIfMap.d.ts.map +1 -1
  604. package/dist/types/is/SwcIfMeta.d.ts.map +1 -1
  605. package/dist/types/is/SwcIfMeter.d.ts.map +1 -1
  606. package/dist/types/is/SwcIfMod.d.ts.map +1 -1
  607. package/dist/types/is/SwcIfObject.d.ts.map +1 -1
  608. package/dist/types/is/SwcIfOl.d.ts.map +1 -1
  609. package/dist/types/is/SwcIfOptGroup.d.ts.map +1 -1
  610. package/dist/types/is/SwcIfOption.d.ts.map +1 -1
  611. package/dist/types/is/SwcIfOutput.d.ts.map +1 -1
  612. package/dist/types/is/SwcIfParagraph.d.ts.map +1 -1
  613. package/dist/types/is/SwcIfParam.d.ts.map +1 -1
  614. package/dist/types/is/SwcIfPicture.d.ts.map +1 -1
  615. package/dist/types/is/SwcIfPre.d.ts.map +1 -1
  616. package/dist/types/is/SwcIfProgress.d.ts.map +1 -1
  617. package/dist/types/is/SwcIfQuote.d.ts.map +1 -1
  618. package/dist/types/is/SwcIfScript.d.ts.map +1 -1
  619. package/dist/types/is/SwcIfSelect.d.ts.map +1 -1
  620. package/dist/types/is/SwcIfSlot.d.ts.map +1 -1
  621. package/dist/types/is/SwcIfSource.d.ts.map +1 -1
  622. package/dist/types/is/SwcIfSpan.d.ts.map +1 -1
  623. package/dist/types/is/SwcIfStyle.d.ts.map +1 -1
  624. package/dist/types/is/SwcIfTable.d.ts.map +1 -1
  625. package/dist/types/is/SwcIfTableCell.d.ts.map +1 -1
  626. package/dist/types/is/SwcIfTableRow.d.ts.map +1 -1
  627. package/dist/types/is/SwcIfTableSection.d.ts.map +1 -1
  628. package/dist/types/is/SwcIfTemplate.d.ts.map +1 -1
  629. package/dist/types/is/SwcIfTextArea.d.ts.map +1 -1
  630. package/dist/types/is/SwcIfTime.d.ts.map +1 -1
  631. package/dist/types/is/SwcIfTitle.d.ts.map +1 -1
  632. package/dist/types/is/SwcIfTrack.d.ts.map +1 -1
  633. package/dist/types/is/SwcIfUl.d.ts.map +1 -1
  634. package/dist/types/is/SwcIfVideo.d.ts.map +1 -1
  635. package/dist/types/is/SwcWhenAnchor.d.ts.map +1 -1
  636. package/dist/types/is/SwcWhenArea.d.ts.map +1 -1
  637. package/dist/types/is/SwcWhenAudio.d.ts.map +1 -1
  638. package/dist/types/is/SwcWhenBase.d.ts.map +1 -1
  639. package/dist/types/is/SwcWhenButton.d.ts.map +1 -1
  640. package/dist/types/is/SwcWhenCanvas.d.ts.map +1 -1
  641. package/dist/types/is/SwcWhenData.d.ts.map +1 -1
  642. package/dist/types/is/SwcWhenDataList.d.ts.map +1 -1
  643. package/dist/types/is/SwcWhenDetails.d.ts.map +1 -1
  644. package/dist/types/is/SwcWhenDialog.d.ts.map +1 -1
  645. package/dist/types/is/SwcWhenDiv.d.ts.map +1 -1
  646. package/dist/types/is/SwcWhenDl.d.ts.map +1 -1
  647. package/dist/types/is/SwcWhenEmbed.d.ts.map +1 -1
  648. package/dist/types/is/SwcWhenFieldSet.d.ts.map +1 -1
  649. package/dist/types/is/SwcWhenForm.d.ts.map +1 -1
  650. package/dist/types/is/SwcWhenHeading.d.ts.map +1 -1
  651. package/dist/types/is/SwcWhenHr.d.ts.map +1 -1
  652. package/dist/types/is/SwcWhenIFrame.d.ts.map +1 -1
  653. package/dist/types/is/SwcWhenImage.d.ts.map +1 -1
  654. package/dist/types/is/SwcWhenInput.d.ts.map +1 -1
  655. package/dist/types/is/SwcWhenLabel.d.ts.map +1 -1
  656. package/dist/types/is/SwcWhenLegend.d.ts.map +1 -1
  657. package/dist/types/is/SwcWhenLi.d.ts.map +1 -1
  658. package/dist/types/is/SwcWhenLink.d.ts.map +1 -1
  659. package/dist/types/is/SwcWhenMap.d.ts.map +1 -1
  660. package/dist/types/is/SwcWhenMeta.d.ts.map +1 -1
  661. package/dist/types/is/SwcWhenMeter.d.ts.map +1 -1
  662. package/dist/types/is/SwcWhenMod.d.ts.map +1 -1
  663. package/dist/types/is/SwcWhenObject.d.ts.map +1 -1
  664. package/dist/types/is/SwcWhenOl.d.ts.map +1 -1
  665. package/dist/types/is/SwcWhenOptGroup.d.ts.map +1 -1
  666. package/dist/types/is/SwcWhenOption.d.ts.map +1 -1
  667. package/dist/types/is/SwcWhenOutput.d.ts.map +1 -1
  668. package/dist/types/is/SwcWhenParagraph.d.ts.map +1 -1
  669. package/dist/types/is/SwcWhenParam.d.ts.map +1 -1
  670. package/dist/types/is/SwcWhenPicture.d.ts.map +1 -1
  671. package/dist/types/is/SwcWhenPre.d.ts.map +1 -1
  672. package/dist/types/is/SwcWhenProgress.d.ts.map +1 -1
  673. package/dist/types/is/SwcWhenQuote.d.ts.map +1 -1
  674. package/dist/types/is/SwcWhenScript.d.ts.map +1 -1
  675. package/dist/types/is/SwcWhenSelect.d.ts.map +1 -1
  676. package/dist/types/is/SwcWhenSlot.d.ts.map +1 -1
  677. package/dist/types/is/SwcWhenSource.d.ts.map +1 -1
  678. package/dist/types/is/SwcWhenSpan.d.ts.map +1 -1
  679. package/dist/types/is/SwcWhenStyle.d.ts.map +1 -1
  680. package/dist/types/is/SwcWhenTable.d.ts.map +1 -1
  681. package/dist/types/is/SwcWhenTableCell.d.ts.map +1 -1
  682. package/dist/types/is/SwcWhenTableRow.d.ts.map +1 -1
  683. package/dist/types/is/SwcWhenTableSection.d.ts.map +1 -1
  684. package/dist/types/is/SwcWhenTemplate.d.ts.map +1 -1
  685. package/dist/types/is/SwcWhenTextArea.d.ts.map +1 -1
  686. package/dist/types/is/SwcWhenTime.d.ts.map +1 -1
  687. package/dist/types/is/SwcWhenTitle.d.ts.map +1 -1
  688. package/dist/types/is/SwcWhenTrack.d.ts.map +1 -1
  689. package/dist/types/is/SwcWhenUl.d.ts.map +1 -1
  690. package/dist/types/is/SwcWhenVideo.d.ts.map +1 -1
  691. package/dist/types/utils/Utils.d.ts.map +1 -1
  692. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2344 -2136
  693. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  694. package/package.json +4 -4
  695. package/src/decorators/addEventListener.ts +11 -5
  696. package/src/decorators/attribute.ts +77 -0
  697. package/src/decorators/elementDefine.ts +269 -149
  698. package/src/decorators/emitCustomEvent.ts +57 -0
  699. package/src/decorators/lifecycles.ts +44 -4
  700. package/src/decorators/query.ts +35 -8
  701. package/src/decorators/queryAll.ts +35 -8
  702. package/src/decorators/state.ts +44 -0
  703. package/src/elements/SwcChoose.ts +1 -5
  704. package/src/elements/SwcForOf.ts +2 -1
  705. package/src/elements/SwcObject.ts +8 -6
  706. package/src/index.ts +6 -7
  707. package/src/is/SwcChooseAnchor.ts +0 -1
  708. package/src/is/SwcChooseArea.ts +0 -1
  709. package/src/is/SwcChooseAudio.ts +0 -1
  710. package/src/is/SwcChooseBase.ts +0 -1
  711. package/src/is/SwcChooseButton.ts +0 -1
  712. package/src/is/SwcChooseCanvas.ts +0 -1
  713. package/src/is/SwcChooseData.ts +0 -1
  714. package/src/is/SwcChooseDataList.ts +0 -1
  715. package/src/is/SwcChooseDetails.ts +0 -1
  716. package/src/is/SwcChooseDialog.ts +0 -1
  717. package/src/is/SwcChooseDiv.ts +0 -1
  718. package/src/is/SwcChooseDl.ts +0 -1
  719. package/src/is/SwcChooseEmbed.ts +0 -1
  720. package/src/is/SwcChooseFieldSet.ts +0 -1
  721. package/src/is/SwcChooseForm.ts +0 -1
  722. package/src/is/SwcChooseHeading.ts +0 -1
  723. package/src/is/SwcChooseHr.ts +0 -1
  724. package/src/is/SwcChooseIFrame.ts +0 -1
  725. package/src/is/SwcChooseImage.ts +0 -1
  726. package/src/is/SwcChooseInput.ts +0 -1
  727. package/src/is/SwcChooseLabel.ts +0 -1
  728. package/src/is/SwcChooseLegend.ts +0 -1
  729. package/src/is/SwcChooseLi.ts +0 -1
  730. package/src/is/SwcChooseLink.ts +0 -1
  731. package/src/is/SwcChooseMap.ts +0 -1
  732. package/src/is/SwcChooseMeta.ts +0 -1
  733. package/src/is/SwcChooseMeter.ts +0 -1
  734. package/src/is/SwcChooseMod.ts +0 -1
  735. package/src/is/SwcChooseObject.ts +0 -1
  736. package/src/is/SwcChooseOl.ts +0 -1
  737. package/src/is/SwcChooseOptGroup.ts +0 -1
  738. package/src/is/SwcChooseOption.ts +0 -1
  739. package/src/is/SwcChooseOutput.ts +0 -1
  740. package/src/is/SwcChooseParagraph.ts +0 -1
  741. package/src/is/SwcChooseParam.ts +0 -1
  742. package/src/is/SwcChoosePicture.ts +0 -1
  743. package/src/is/SwcChoosePre.ts +0 -1
  744. package/src/is/SwcChooseProgress.ts +0 -1
  745. package/src/is/SwcChooseQuote.ts +0 -1
  746. package/src/is/SwcChooseScript.ts +0 -1
  747. package/src/is/SwcChooseSelect.ts +0 -1
  748. package/src/is/SwcChooseSlot.ts +0 -1
  749. package/src/is/SwcChooseSource.ts +0 -1
  750. package/src/is/SwcChooseSpan.ts +0 -1
  751. package/src/is/SwcChooseStyle.ts +0 -1
  752. package/src/is/SwcChooseTable.ts +0 -1
  753. package/src/is/SwcChooseTableCell.ts +0 -1
  754. package/src/is/SwcChooseTableRow.ts +0 -1
  755. package/src/is/SwcChooseTableSection.ts +0 -1
  756. package/src/is/SwcChooseTemplate.ts +0 -1
  757. package/src/is/SwcChooseTextArea.ts +0 -1
  758. package/src/is/SwcChooseTime.ts +0 -1
  759. package/src/is/SwcChooseTitle.ts +0 -1
  760. package/src/is/SwcChooseTrack.ts +0 -1
  761. package/src/is/SwcChooseUl.ts +0 -1
  762. package/src/is/SwcChooseVideo.ts +0 -1
  763. package/src/is/SwcIfAnchor.ts +0 -1
  764. package/src/is/SwcIfArea.ts +0 -1
  765. package/src/is/SwcIfAudio.ts +0 -1
  766. package/src/is/SwcIfBase.ts +0 -1
  767. package/src/is/SwcIfButton.ts +0 -1
  768. package/src/is/SwcIfCanvas.ts +0 -1
  769. package/src/is/SwcIfData.ts +0 -1
  770. package/src/is/SwcIfDataList.ts +0 -1
  771. package/src/is/SwcIfDetails.ts +0 -1
  772. package/src/is/SwcIfDialog.ts +0 -1
  773. package/src/is/SwcIfDiv.ts +0 -1
  774. package/src/is/SwcIfDl.ts +0 -1
  775. package/src/is/SwcIfEmbed.ts +0 -1
  776. package/src/is/SwcIfFieldSet.ts +0 -1
  777. package/src/is/SwcIfForm.ts +0 -1
  778. package/src/is/SwcIfHeading.ts +0 -1
  779. package/src/is/SwcIfHr.ts +0 -1
  780. package/src/is/SwcIfIFrame.ts +0 -1
  781. package/src/is/SwcIfImage.ts +0 -1
  782. package/src/is/SwcIfInput.ts +0 -1
  783. package/src/is/SwcIfLabel.ts +0 -1
  784. package/src/is/SwcIfLegend.ts +0 -1
  785. package/src/is/SwcIfLi.ts +0 -1
  786. package/src/is/SwcIfLink.ts +0 -1
  787. package/src/is/SwcIfMap.ts +0 -1
  788. package/src/is/SwcIfMeta.ts +0 -1
  789. package/src/is/SwcIfMeter.ts +0 -1
  790. package/src/is/SwcIfMod.ts +0 -1
  791. package/src/is/SwcIfObject.ts +0 -1
  792. package/src/is/SwcIfOl.ts +0 -1
  793. package/src/is/SwcIfOptGroup.ts +0 -1
  794. package/src/is/SwcIfOption.ts +0 -1
  795. package/src/is/SwcIfOutput.ts +0 -1
  796. package/src/is/SwcIfParagraph.ts +0 -1
  797. package/src/is/SwcIfParam.ts +0 -1
  798. package/src/is/SwcIfPicture.ts +0 -1
  799. package/src/is/SwcIfPre.ts +0 -1
  800. package/src/is/SwcIfProgress.ts +0 -1
  801. package/src/is/SwcIfQuote.ts +0 -1
  802. package/src/is/SwcIfScript.ts +0 -1
  803. package/src/is/SwcIfSelect.ts +0 -1
  804. package/src/is/SwcIfSlot.ts +0 -1
  805. package/src/is/SwcIfSource.ts +0 -1
  806. package/src/is/SwcIfSpan.ts +0 -1
  807. package/src/is/SwcIfStyle.ts +0 -1
  808. package/src/is/SwcIfTable.ts +0 -1
  809. package/src/is/SwcIfTableCell.ts +0 -1
  810. package/src/is/SwcIfTableRow.ts +0 -1
  811. package/src/is/SwcIfTableSection.ts +0 -1
  812. package/src/is/SwcIfTemplate.ts +0 -1
  813. package/src/is/SwcIfTextArea.ts +0 -1
  814. package/src/is/SwcIfTime.ts +0 -1
  815. package/src/is/SwcIfTitle.ts +0 -1
  816. package/src/is/SwcIfTrack.ts +0 -1
  817. package/src/is/SwcIfUl.ts +0 -1
  818. package/src/is/SwcIfVideo.ts +0 -1
  819. package/src/is/SwcOtherAnchor.ts +1 -1
  820. package/src/is/SwcOtherArea.ts +1 -1
  821. package/src/is/SwcOtherAudio.ts +1 -1
  822. package/src/is/SwcOtherBase.ts +1 -1
  823. package/src/is/SwcOtherButton.ts +1 -1
  824. package/src/is/SwcOtherCanvas.ts +1 -1
  825. package/src/is/SwcOtherData.ts +1 -1
  826. package/src/is/SwcOtherDataList.ts +1 -1
  827. package/src/is/SwcOtherDetails.ts +1 -1
  828. package/src/is/SwcOtherDialog.ts +1 -1
  829. package/src/is/SwcOtherDiv.ts +1 -1
  830. package/src/is/SwcOtherDl.ts +1 -1
  831. package/src/is/SwcOtherEmbed.ts +1 -1
  832. package/src/is/SwcOtherFieldSet.ts +1 -1
  833. package/src/is/SwcOtherForm.ts +1 -1
  834. package/src/is/SwcOtherHeading.ts +1 -1
  835. package/src/is/SwcOtherHr.ts +1 -1
  836. package/src/is/SwcOtherIFrame.ts +1 -1
  837. package/src/is/SwcOtherImage.ts +1 -1
  838. package/src/is/SwcOtherInput.ts +1 -1
  839. package/src/is/SwcOtherLabel.ts +1 -1
  840. package/src/is/SwcOtherLegend.ts +1 -1
  841. package/src/is/SwcOtherLi.ts +1 -1
  842. package/src/is/SwcOtherLink.ts +1 -1
  843. package/src/is/SwcOtherMap.ts +1 -1
  844. package/src/is/SwcOtherMeta.ts +1 -1
  845. package/src/is/SwcOtherMeter.ts +1 -1
  846. package/src/is/SwcOtherMod.ts +1 -1
  847. package/src/is/SwcOtherObject.ts +1 -1
  848. package/src/is/SwcOtherOl.ts +1 -1
  849. package/src/is/SwcOtherOptGroup.ts +1 -1
  850. package/src/is/SwcOtherOption.ts +1 -1
  851. package/src/is/SwcOtherOutput.ts +1 -1
  852. package/src/is/SwcOtherParagraph.ts +1 -1
  853. package/src/is/SwcOtherParam.ts +1 -1
  854. package/src/is/SwcOtherPicture.ts +1 -1
  855. package/src/is/SwcOtherPre.ts +1 -1
  856. package/src/is/SwcOtherProgress.ts +1 -1
  857. package/src/is/SwcOtherQuote.ts +1 -1
  858. package/src/is/SwcOtherScript.ts +1 -1
  859. package/src/is/SwcOtherSelect.ts +1 -1
  860. package/src/is/SwcOtherSlot.ts +1 -1
  861. package/src/is/SwcOtherSource.ts +1 -1
  862. package/src/is/SwcOtherSpan.ts +1 -1
  863. package/src/is/SwcOtherStyle.ts +1 -1
  864. package/src/is/SwcOtherTable.ts +1 -1
  865. package/src/is/SwcOtherTableCell.ts +1 -1
  866. package/src/is/SwcOtherTableRow.ts +1 -1
  867. package/src/is/SwcOtherTableSection.ts +1 -1
  868. package/src/is/SwcOtherTemplate.ts +1 -1
  869. package/src/is/SwcOtherTextArea.ts +1 -1
  870. package/src/is/SwcOtherTime.ts +1 -1
  871. package/src/is/SwcOtherTitle.ts +1 -1
  872. package/src/is/SwcOtherTrack.ts +1 -1
  873. package/src/is/SwcOtherUl.ts +1 -1
  874. package/src/is/SwcOtherVideo.ts +1 -1
  875. package/src/is/SwcWhenAnchor.ts +1 -3
  876. package/src/is/SwcWhenArea.ts +1 -3
  877. package/src/is/SwcWhenAudio.ts +1 -3
  878. package/src/is/SwcWhenBase.ts +1 -3
  879. package/src/is/SwcWhenButton.ts +1 -3
  880. package/src/is/SwcWhenCanvas.ts +1 -3
  881. package/src/is/SwcWhenData.ts +1 -3
  882. package/src/is/SwcWhenDataList.ts +1 -3
  883. package/src/is/SwcWhenDetails.ts +1 -3
  884. package/src/is/SwcWhenDialog.ts +1 -3
  885. package/src/is/SwcWhenDiv.ts +1 -3
  886. package/src/is/SwcWhenDl.ts +1 -3
  887. package/src/is/SwcWhenEmbed.ts +1 -3
  888. package/src/is/SwcWhenFieldSet.ts +1 -3
  889. package/src/is/SwcWhenForm.ts +1 -3
  890. package/src/is/SwcWhenHeading.ts +1 -3
  891. package/src/is/SwcWhenHr.ts +1 -3
  892. package/src/is/SwcWhenIFrame.ts +1 -3
  893. package/src/is/SwcWhenImage.ts +1 -3
  894. package/src/is/SwcWhenInput.ts +1 -3
  895. package/src/is/SwcWhenLabel.ts +1 -3
  896. package/src/is/SwcWhenLegend.ts +1 -3
  897. package/src/is/SwcWhenLi.ts +1 -3
  898. package/src/is/SwcWhenLink.ts +1 -3
  899. package/src/is/SwcWhenMap.ts +1 -3
  900. package/src/is/SwcWhenMeta.ts +1 -3
  901. package/src/is/SwcWhenMeter.ts +1 -3
  902. package/src/is/SwcWhenMod.ts +1 -3
  903. package/src/is/SwcWhenObject.ts +1 -3
  904. package/src/is/SwcWhenOl.ts +1 -3
  905. package/src/is/SwcWhenOptGroup.ts +1 -3
  906. package/src/is/SwcWhenOption.ts +1 -3
  907. package/src/is/SwcWhenOutput.ts +1 -3
  908. package/src/is/SwcWhenParagraph.ts +1 -3
  909. package/src/is/SwcWhenParam.ts +1 -3
  910. package/src/is/SwcWhenPicture.ts +1 -3
  911. package/src/is/SwcWhenPre.ts +1 -3
  912. package/src/is/SwcWhenProgress.ts +1 -3
  913. package/src/is/SwcWhenQuote.ts +1 -3
  914. package/src/is/SwcWhenScript.ts +1 -3
  915. package/src/is/SwcWhenSelect.ts +1 -3
  916. package/src/is/SwcWhenSlot.ts +1 -3
  917. package/src/is/SwcWhenSource.ts +1 -3
  918. package/src/is/SwcWhenSpan.ts +1 -3
  919. package/src/is/SwcWhenStyle.ts +1 -3
  920. package/src/is/SwcWhenTable.ts +1 -3
  921. package/src/is/SwcWhenTableCell.ts +1 -3
  922. package/src/is/SwcWhenTableRow.ts +1 -3
  923. package/src/is/SwcWhenTableSection.ts +1 -3
  924. package/src/is/SwcWhenTemplate.ts +1 -3
  925. package/src/is/SwcWhenTextArea.ts +1 -3
  926. package/src/is/SwcWhenTime.ts +1 -3
  927. package/src/is/SwcWhenTitle.ts +1 -3
  928. package/src/is/SwcWhenTrack.ts +1 -3
  929. package/src/is/SwcWhenUl.ts +1 -3
  930. package/src/is/SwcWhenVideo.ts +1 -3
  931. package/src/utils/Utils.ts +65 -22
  932. package/dist/cjs/decorators/attributeChanged.js +0 -62
  933. package/dist/cjs/decorators/attributeChanged.js.map +0 -7
  934. package/dist/esm/decorators/attributeChanged.js +0 -43
  935. package/dist/esm/decorators/attributeChanged.js.map +0 -7
  936. package/dist/types/decorators/attributeChanged.d.ts +0 -6
  937. package/dist/types/decorators/attributeChanged.d.ts.map +0 -1
  938. package/src/decorators/attributeChanged.ts +0 -43
@@ -0,0 +1,60 @@
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 emitCustomEvent_exports = {};
19
+ __export(emitCustomEvent_exports, {
20
+ EMIT_CUSTOM_EVENT_METADATA_KEY: () => EMIT_CUSTOM_EVENT_METADATA_KEY,
21
+ emitCustomEvent: () => emitCustomEvent,
22
+ getEmitCustomEventMetadataList: () => getEmitCustomEventMetadataList
23
+ });
24
+ module.exports = __toCommonJS(emitCustomEvent_exports);
25
+ var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
+ const EMIT_CUSTOM_EVENT_METADATA_KEY = Symbol("simple-web-component:emit-custom-event");
27
+ function emitCustomEvent(typeOrOptions) {
28
+ return (target, propertyKey, descriptor) => {
29
+ const constructor = target.constructor;
30
+ const options = typeof typeOrOptions === "string" ? { type: typeOrOptions } : typeOrOptions;
31
+ if (!options.attributeName) {
32
+ options.attributeName = `on${options.type}`;
33
+ }
34
+ if (options.bubbles === void 0) options.bubbles = true;
35
+ if (options.composed === void 0) options.composed = true;
36
+ let list = import_ReflectUtils.ReflectUtils.getMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);
37
+ if (!list) {
38
+ list = [];
39
+ import_ReflectUtils.ReflectUtils.defineMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, list, constructor);
40
+ }
41
+ list.push({ propertyKey, options });
42
+ const originalMethod = descriptor.value;
43
+ descriptor.value = function(...args) {
44
+ const detail = originalMethod.apply(this, args);
45
+ const event = new CustomEvent(options.type, {
46
+ detail,
47
+ bubbles: options.bubbles,
48
+ composed: options.composed,
49
+ cancelable: options.cancelable
50
+ });
51
+ this.dispatchEvent(event);
52
+ return detail;
53
+ };
54
+ };
55
+ }
56
+ const getEmitCustomEventMetadataList = (target) => {
57
+ const constructor = target instanceof Function ? target : target.constructor;
58
+ return import_ReflectUtils.ReflectUtils.getMetadata(EMIT_CUSTOM_EVENT_METADATA_KEY, constructor);
59
+ };
60
+ //# sourceMappingURL=emitCustomEvent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/decorators/emitCustomEvent.ts"],
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport interface EmitCustomEventOptions {\n type: string;\n attributeName?: string; // Default: on + type\n bubbles?: boolean; // Default: true\n composed?: boolean; // Default: true\n cancelable?: boolean;\n}\n\nexport interface EmitCustomEventMetadata {\n propertyKey: string | symbol;\n options: EmitCustomEventOptions;\n}\n\nexport const EMIT_CUSTOM_EVENT_METADATA_KEY = Symbol('simple-web-component:emit-custom-event');\n\nexport function emitCustomEvent(typeOrOptions: string | EmitCustomEventOptions): MethodDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n const options: EmitCustomEventOptions = typeof typeOrOptions === 'string' ? { type: typeOrOptions } : typeOrOptions;\n\n if (!options.attributeName) {\n options.attributeName = `on${options.type}`;\n }\n if (options.bubbles === undefined) options.bubbles = true;\n if (options.composed === undefined) options.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, options });\n\n // Wrap the original method to dispatch event after execution\n const originalMethod = descriptor.value;\n descriptor.value = function (this: HTMLElement, ...args: any[]) {\n const detail = originalMethod.apply(this, args);\n\n const event = new CustomEvent(options.type, {\n detail,\n bubbles: options.bubbles,\n composed: options.composed,\n cancelable: options.cancelable\n });\n\n this.dispatchEvent(event);\n return detail;\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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAetB,MAAM,iCAAiC,OAAO,wCAAwC;AAEtF,SAAS,gBAAgB,eAAiE;AAC/F,SAAO,CAAC,QAAgB,aAA8B,eAAmC;AACvF,UAAM,cAAc,OAAO;AAC3B,UAAM,UAAkC,OAAO,kBAAkB,WAAW,EAAE,MAAM,cAAc,IAAI;AAEtG,QAAI,CAAC,QAAQ,eAAe;AAC1B,cAAQ,gBAAgB,KAAK,QAAQ,IAAI;AAAA,IAC3C;AACA,QAAI,QAAQ,YAAY,OAAW,SAAQ,UAAU;AACrD,QAAI,QAAQ,aAAa,OAAW,SAAQ,WAAW;AAEvD,QAAI,OAAO,iCAAa,YAAuC,gCAAgC,WAAW;AAC1G,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,uCAAa,eAAe,gCAAgC,MAAM,WAAW;AAAA,IAC/E;AACA,SAAK,KAAK,EAAE,aAAa,QAAQ,CAAC;AAGlC,UAAM,iBAAiB,WAAW;AAClC,eAAW,QAAQ,YAAgC,MAAa;AAC9D,YAAM,SAAS,eAAe,MAAM,MAAM,IAAI;AAE9C,YAAM,QAAQ,IAAI,YAAY,QAAQ,MAAM;AAAA,QAC1C;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB,UAAU,QAAQ;AAAA,QAClB,YAAY,QAAQ;AAAA,MACtB,CAAC;AAED,WAAK,cAAc,KAAK;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,iCAAiC,CAAC,WAAuD;AACpG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,gCAAgC,WAAW;AAC7E;",
6
+ "names": []
7
+ }
@@ -17,17 +17,22 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var lifecycles_exports = {};
19
19
  __export(lifecycles_exports, {
20
+ ATTRIBUTE_CHANGED_WILDCARD: () => ATTRIBUTE_CHANGED_WILDCARD,
21
+ ON_ADD_EVENT_LISTENER_METADATA_KEY: () => ON_ADD_EVENT_LISTENER_METADATA_KEY,
20
22
  ON_AFTER_ADOPTED_METADATA_KEY: () => ON_AFTER_ADOPTED_METADATA_KEY,
21
23
  ON_AFTER_CONNECTED_METADATA_KEY: () => ON_AFTER_CONNECTED_METADATA_KEY,
22
24
  ON_AFTER_DISCONNECTED_METADATA_KEY: () => ON_AFTER_DISCONNECTED_METADATA_KEY,
25
+ ON_ATTRIBUTE_CHANGED_METADATA_KEY: () => ON_ATTRIBUTE_CHANGED_METADATA_KEY,
23
26
  ON_BEFORE_ADOPTED_METADATA_KEY: () => ON_BEFORE_ADOPTED_METADATA_KEY,
24
27
  ON_BEFORE_CONNECTED_METADATA_KEY: () => ON_BEFORE_CONNECTED_METADATA_KEY,
25
28
  ON_BEFORE_DISCONNECTED_METADATA_KEY: () => ON_BEFORE_DISCONNECTED_METADATA_KEY,
26
29
  getLifecycleMetadata: () => getLifecycleMetadata,
30
+ onAddEventListener: () => onAddEventListener,
27
31
  onAdopted: () => onAdopted,
28
32
  onAfterAdopted: () => onAfterAdopted,
29
33
  onAfterConnected: () => onAfterConnected,
30
34
  onAfterDisconnected: () => onAfterDisconnected,
35
+ onAttributeChanged: () => onAttributeChanged,
31
36
  onBeforeAdopted: () => onBeforeAdopted,
32
37
  onBeforeConnected: () => onBeforeConnected,
33
38
  onBeforeDisconnected: () => onBeforeDisconnected,
@@ -42,6 +47,9 @@ const ON_BEFORE_DISCONNECTED_METADATA_KEY = Symbol("simple-web-component:on-befo
42
47
  const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol("simple-web-component:on-after-disconnected");
43
48
  const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol("simple-web-component:on-before-adopted");
44
49
  const ON_AFTER_ADOPTED_METADATA_KEY = Symbol("simple-web-component:on-after-adopted");
50
+ const ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol("simple-web-component:on-add-event-listener");
51
+ const ON_ATTRIBUTE_CHANGED_METADATA_KEY = Symbol("simple-web-component:on-attribute-changed");
52
+ const ATTRIBUTE_CHANGED_WILDCARD = "*";
45
53
  function createLifecycleDecorator(metadataKey) {
46
54
  return (target, propertyKey) => {
47
55
  const constructor = target.constructor;
@@ -62,6 +70,36 @@ const onDisconnected = onAfterDisconnected;
62
70
  const onBeforeAdopted = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);
63
71
  const onAfterAdopted = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);
64
72
  const onAdopted = onAfterAdopted;
73
+ const onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);
74
+ function onAttributeChanged(arg1, arg2, arg3) {
75
+ const decorator = (attributeName, target, propertyKey) => {
76
+ const constructor = target.constructor;
77
+ let meta = import_ReflectUtils.ReflectUtils.getMetadata(ON_ATTRIBUTE_CHANGED_METADATA_KEY, constructor);
78
+ if (!meta) {
79
+ meta = /* @__PURE__ */ new Map();
80
+ import_ReflectUtils.ReflectUtils.defineMetadata(ON_ATTRIBUTE_CHANGED_METADATA_KEY, meta, constructor);
81
+ }
82
+ let methods = meta.get(attributeName);
83
+ if (!methods) {
84
+ methods = [];
85
+ meta.set(attributeName, methods);
86
+ }
87
+ if (!methods.includes(propertyKey)) {
88
+ methods.push(propertyKey);
89
+ }
90
+ };
91
+ if (typeof arg1 === "string") {
92
+ return (target, propertyKey) => {
93
+ decorator(arg1, target, propertyKey);
94
+ };
95
+ } else if (Array.isArray(arg1)) {
96
+ return (target, propertyKey) => {
97
+ arg1.forEach((name) => decorator(name, target, propertyKey));
98
+ };
99
+ } else if (arg1 && arg2) {
100
+ decorator(ATTRIBUTE_CHANGED_WILDCARD, arg1, arg2);
101
+ }
102
+ }
65
103
  const getLifecycleMetadata = (target, metadataKey) => {
66
104
  const constructor = target instanceof Function ? target : target.constructor;
67
105
  return import_ReflectUtils.ReflectUtils.getMetadata(metadataKey, constructor);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/lifecycles.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport const ON_BEFORE_CONNECTED_METADATA_KEY = Symbol('simple-web-component:on-before-connected');\nexport const ON_AFTER_CONNECTED_METADATA_KEY = Symbol('simple-web-component:on-after-connected');\nexport const ON_BEFORE_DISCONNECTED_METADATA_KEY = Symbol('simple-web-component:on-before-disconnected');\nexport const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol('simple-web-component:on-after-disconnected');\nexport const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol('simple-web-component:on-before-adopted');\nexport const ON_AFTER_ADOPTED_METADATA_KEY = Symbol('simple-web-component:on-after-adopted');\n\nfunction createLifecycleDecorator(metadataKey: symbol): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<(string | symbol)[]>(metadataKey, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(metadataKey, list, constructor);\n }\n list.push(propertyKey);\n };\n}\n\nexport const onBeforeConnected = createLifecycleDecorator(ON_BEFORE_CONNECTED_METADATA_KEY);\nexport const onAfterConnected = createLifecycleDecorator(ON_AFTER_CONNECTED_METADATA_KEY);\nexport const onConnected = onAfterConnected; // Alias for backward compatibility\n\nexport const onBeforeDisconnected = createLifecycleDecorator(ON_BEFORE_DISCONNECTED_METADATA_KEY);\nexport const onAfterDisconnected = createLifecycleDecorator(ON_AFTER_DISCONNECTED_METADATA_KEY);\nexport const onDisconnected = onAfterDisconnected; // Alias\n\nexport const onBeforeAdopted = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);\nexport const onAfterAdopted = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);\nexport const onAdopted = onAfterAdopted; // Alias\n\nexport const getLifecycleMetadata = (target: any, metadataKey: symbol): (string | symbol)[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(metadataKey, constructor);\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAEtB,MAAM,mCAAmC,OAAO,0CAA0C;AAC1F,MAAM,kCAAkC,OAAO,yCAAyC;AACxF,MAAM,sCAAsC,OAAO,6CAA6C;AAChG,MAAM,qCAAqC,OAAO,4CAA4C;AAC9F,MAAM,iCAAiC,OAAO,wCAAwC;AACtF,MAAM,gCAAgC,OAAO,uCAAuC;AAE3F,SAAS,yBAAyB,aAAsC;AACtE,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,iCAAa,YAAiC,aAAa,WAAW;AACjF,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,uCAAa,eAAe,aAAa,MAAM,WAAW;AAAA,IAC5D;AACA,SAAK,KAAK,WAAW;AAAA,EACvB;AACF;AAEO,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,uBAAuB,CAAC,QAAa,gBAAyD;AACzG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,aAAa,WAAW;AAC1D;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport const ON_BEFORE_CONNECTED_METADATA_KEY = Symbol('simple-web-component:on-before-connected');\nexport const ON_AFTER_CONNECTED_METADATA_KEY = Symbol('simple-web-component:on-after-connected');\nexport const ON_BEFORE_DISCONNECTED_METADATA_KEY = Symbol('simple-web-component:on-before-disconnected');\nexport const ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol('simple-web-component:on-after-disconnected');\nexport const ON_BEFORE_ADOPTED_METADATA_KEY = Symbol('simple-web-component:on-before-adopted');\nexport const ON_AFTER_ADOPTED_METADATA_KEY = Symbol('simple-web-component:on-after-adopted');\nexport const ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol('simple-web-component:on-add-event-listener');\nexport const ON_ATTRIBUTE_CHANGED_METADATA_KEY = Symbol('simple-web-component:on-attribute-changed');\n\nexport const ATTRIBUTE_CHANGED_WILDCARD = '*';\n\nfunction createLifecycleDecorator(metadataKey: symbol): MethodDecorator {\n return (target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let list = ReflectUtils.getMetadata<(string | symbol)[]>(metadataKey, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(metadataKey, list, constructor);\n }\n list.push(propertyKey);\n };\n}\n\nexport const onBeforeConnected = createLifecycleDecorator(ON_BEFORE_CONNECTED_METADATA_KEY);\nexport const onAfterConnected = createLifecycleDecorator(ON_AFTER_CONNECTED_METADATA_KEY);\nexport const onConnected = onAfterConnected;\n\nexport const onBeforeDisconnected = createLifecycleDecorator(ON_BEFORE_DISCONNECTED_METADATA_KEY);\nexport const onAfterDisconnected = createLifecycleDecorator(ON_AFTER_DISCONNECTED_METADATA_KEY);\nexport const onDisconnected = onAfterDisconnected;\n\nexport const onBeforeAdopted = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);\nexport const onAfterAdopted = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);\nexport const onAdopted = onAfterAdopted;\n\nexport const onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);\n\nexport function onAttributeChanged(attributeName: string | string[]): MethodDecorator;\nexport function onAttributeChanged(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function onAttributeChanged(arg1: string | string[] | Object, arg2?: string | symbol, arg3?: PropertyDescriptor): MethodDecorator | void {\n const decorator = (attributeName: string, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n let meta = ReflectUtils.getMetadata<Map<string, (string | symbol)[]>>(ON_ATTRIBUTE_CHANGED_METADATA_KEY, constructor);\n if (!meta) {\n meta = new Map<string, (string | symbol)[]>();\n ReflectUtils.defineMetadata(ON_ATTRIBUTE_CHANGED_METADATA_KEY, meta, constructor);\n }\n\n let methods = meta.get(attributeName);\n if (!methods) {\n methods = [];\n meta.set(attributeName, methods);\n }\n if (!methods.includes(propertyKey)) {\n methods.push(propertyKey);\n }\n };\n\n if (typeof arg1 === 'string') {\n return (target: Object, propertyKey: string | symbol) => {\n decorator(arg1, target, propertyKey);\n };\n } else if (Array.isArray(arg1)) {\n return (target: Object, propertyKey: string | symbol) => {\n arg1.forEach(name => decorator(name, target, propertyKey));\n };\n } else if (arg1 && arg2) {\n decorator(ATTRIBUTE_CHANGED_WILDCARD, arg1, arg2);\n }\n}\n\nexport const getLifecycleMetadata = (target: any, metadataKey: symbol): any => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(metadataKey, constructor);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAEtB,MAAM,mCAAmC,OAAO,0CAA0C;AAC1F,MAAM,kCAAkC,OAAO,yCAAyC;AACxF,MAAM,sCAAsC,OAAO,6CAA6C;AAChG,MAAM,qCAAqC,OAAO,4CAA4C;AAC9F,MAAM,iCAAiC,OAAO,wCAAwC;AACtF,MAAM,gCAAgC,OAAO,uCAAuC;AACpF,MAAM,qCAAqC,OAAO,4CAA4C;AAC9F,MAAM,oCAAoC,OAAO,2CAA2C;AAE5F,MAAM,6BAA6B;AAE1C,SAAS,yBAAyB,aAAsC;AACtE,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,iCAAa,YAAiC,aAAa,WAAW;AACjF,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,uCAAa,eAAe,aAAa,MAAM,WAAW;AAAA,IAC5D;AACA,SAAK,KAAK,WAAW;AAAA,EACvB;AACF;AAEO,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;AAItF,SAAS,mBAAmB,MAAkC,MAAwB,MAAmD;AAC9I,QAAM,YAAY,CAAC,eAAuB,QAAgB,gBAAiC;AACzF,UAAM,cAAc,OAAO;AAC3B,QAAI,OAAO,iCAAa,YAA8C,mCAAmC,WAAW;AACpH,QAAI,CAAC,MAAM;AACT,aAAO,oBAAI,IAAiC;AAC5C,uCAAa,eAAe,mCAAmC,MAAM,WAAW;AAAA,IAClF;AAEA,QAAI,UAAU,KAAK,IAAI,aAAa;AACpC,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAC;AACX,WAAK,IAAI,eAAe,OAAO;AAAA,IACjC;AACA,QAAI,CAAC,QAAQ,SAAS,WAAW,GAAG;AAClC,cAAQ,KAAK,WAAW;AAAA,IAC1B;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,CAAC,QAAgB,gBAAiC;AACvD,gBAAU,MAAM,QAAQ,WAAW;AAAA,IACrC;AAAA,EACF,WAAW,MAAM,QAAQ,IAAI,GAAG;AAC9B,WAAO,CAAC,QAAgB,gBAAiC;AACvD,WAAK,QAAQ,UAAQ,UAAU,MAAM,QAAQ,WAAW,CAAC;AAAA,IAC3D;AAAA,EACF,WAAW,QAAQ,MAAM;AACvB,cAAU,4BAA4B,MAAM,IAAI;AAAA,EAClD;AACF;AAEO,MAAM,uBAAuB,CAAC,QAAa,gBAA6B;AAC7E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,aAAa,WAAW;AAC1D;",
6
6
  "names": []
7
7
  }
@@ -24,8 +24,8 @@ __export(query_exports, {
24
24
  module.exports = __toCommonJS(query_exports);
25
25
  var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
26
  const QUERY_METADATA_KEY = Symbol("simple-web-component:query");
27
- const query = (selector, options = { useShadow: true }) => {
28
- return (target, propertyKey, descriptor) => {
27
+ function query(arg1, arg2) {
28
+ const decorator = (selector, options, target, propertyKey, descriptor) => {
29
29
  const isMethod = !!descriptor;
30
30
  const constructor = target.constructor;
31
31
  let queries = import_ReflectUtils.ReflectUtils.getMetadata(QUERY_METADATA_KEY, constructor);
@@ -37,15 +37,37 @@ const query = (selector, options = { useShadow: true }) => {
37
37
  if (!isMethod) {
38
38
  Object.defineProperty(target, propertyKey, {
39
39
  get() {
40
- const root = options.useShadow !== false && this.shadowRoot ? this.shadowRoot : this;
41
- return root.querySelector(selector);
40
+ if (!selector)
41
+ return this;
42
+ let searchRoot = this;
43
+ if (options.root === "shadow")
44
+ searchRoot = this.shadowRoot || this;
45
+ else if (options.root === "light")
46
+ searchRoot = this;
47
+ else
48
+ searchRoot = this.shadowRoot || this;
49
+ return searchRoot.querySelector(selector);
42
50
  },
43
51
  enumerable: true,
44
52
  configurable: true
45
53
  });
46
54
  }
47
55
  };
48
- };
56
+ if (arg1 && typeof arg2 === "string") {
57
+ return decorator("", {}, arg1, arg2);
58
+ }
59
+ return (target, propertyKey, descriptor) => {
60
+ let selector = "";
61
+ let options = {};
62
+ if (typeof arg1 === "string") {
63
+ selector = arg1;
64
+ } else if (typeof arg1 === "object") {
65
+ options = arg1;
66
+ selector = options.selector || "";
67
+ }
68
+ decorator(selector, options, target, propertyKey, descriptor);
69
+ };
70
+ }
49
71
  const getQueryMetadata = (target) => {
50
72
  const constructor = target instanceof Function ? target : target.constructor;
51
73
  return import_ReflectUtils.ReflectUtils.getMetadata(QUERY_METADATA_KEY, constructor);
@@ -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';\n\nexport interface QueryOptions {\n useShadow?: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n options: QueryOptions;\n propertyKey: string | symbol;\n isMethod: boolean;\n}\n\nexport const QUERY_METADATA_KEY = Symbol('simple-web-component:query');\n\nexport const query = (selector: string, options: QueryOptions = { useShadow: true }): any => {\n return (target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const isMethod = !!descriptor;\n const constructor = target.constructor;\n\n // \uBA54\uD0C0\uB370\uC774\uD130 \uC800\uC7A5 (\uB098\uC911\uC5D0 elementDefine\uC5D0\uC11C \uC0AC\uC6A9)\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, isMethod });\n\n if (!isMethod) {\n // \uC18D\uC131 \uB370\uCF54\uB808\uC774\uD130\uC778 \uACBD\uC6B0: \uAE30\uC874\uCC98\uB7FC Lazy Getter \uC124\uC815\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n const root = options.useShadow !== false && this.shadowRoot ? this.shadowRoot : this;\n return root.querySelector(selector);\n },\n enumerable: true,\n configurable: true\n });\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAatB,MAAM,qBAAqB,OAAO,4BAA4B;AAE9D,MAAM,QAAQ,CAAC,UAAkB,UAAwB,EAAE,WAAW,KAAK,MAAW;AAC3F,SAAO,CAAC,QAAgB,aAA8B,eAAoC;AACxF,UAAM,WAAW,CAAC,CAAC;AACnB,UAAM,cAAc,OAAO;AAG3B,QAAI,UAAU,iCAAa,YAA6B,oBAAoB,WAAW;AACvF,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAC;AACX,uCAAa,eAAe,oBAAoB,SAAS,WAAW;AAAA,IACtE;AACA,YAAQ,KAAK,EAAE,UAAU,SAAS,aAAa,SAAS,CAAC;AAEzD,QAAI,CAAC,UAAU;AAEb,aAAO,eAAe,QAAQ,aAAa;AAAA,QACzC,MAAuB;AACrB,gBAAM,OAAO,QAAQ,cAAc,SAAS,KAAK,aAAa,KAAK,aAAa;AAChF,iBAAO,KAAK,cAAc,QAAQ;AAAA,QACpC;AAAA,QACA,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,mBAAmB,CAAC,WAA6C;AAC5E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,oBAAoB,WAAW;AACjE;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport interface QueryOptions {\n selector?: string;\n root?: 'light' | 'shadow' | 'all' | 'auto';\n}\n\nexport interface QueryMetadata {\n selector: string;\n options: QueryOptions;\n propertyKey: string | symbol;\n isMethod: boolean;\n}\n\nexport const QUERY_METADATA_KEY = Symbol('simple-web-component:query');\n\nexport function query(selector: string): any;\nexport function query(options: QueryOptions): any;\nexport function query(target: Object, propertyKey: string | symbol): void;\nexport function query(arg1?: string | QueryOptions | Object, arg2?: string | symbol): any {\n const decorator = (selector: string, options: QueryOptions, target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const isMethod = !!descriptor;\n const constructor = target.constructor;\n\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, isMethod });\n\n if (!isMethod) {\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n if (!selector) return this;\n let searchRoot: Node = this;\n if (options.root === 'shadow') searchRoot = this.shadowRoot || this;\n else if (options.root === 'light') searchRoot = this;\n else searchRoot = this.shadowRoot || this; // Default: Auto (Shadow-First)\n\n return (searchRoot as HTMLElement).querySelector(selector);\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n\n // Case: @query (parameterless decorator)\n if (arg1 && typeof arg2 === 'string') {\n return decorator('', {}, arg1 as Object, arg2 as string | symbol);\n }\n\n // Case: @query('selector') or @query({ selector: '...', ... })\n return (target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n let selector = '';\n let options: QueryOptions = {};\n\n if (typeof arg1 === 'string') {\n selector = arg1;\n } else if (typeof arg1 === 'object') {\n options = arg1 as QueryOptions;\n selector = options.selector || '';\n }\n\n decorator(selector, options, target, propertyKey, descriptor);\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;AActB,MAAM,qBAAqB,OAAO,4BAA4B;AAK/D,SAAU,MAAM,MAAuC,MAAsB;AACjF,QAAM,YAAY,CAAC,UAAkB,SAAuB,QAAgB,aAA8B,eAAmC;AAC3I,UAAM,WAAW,CAAC,CAAC;AACnB,UAAM,cAAc,OAAO;AAE3B,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,aAAa,SAAQ,CAAE;AAEzD,QAAI,CAAC,UAAU;AACb,aAAO,eAAe,QAAQ,aAAa;QACzC,MAAG;AACD,cAAI,CAAC;AAAU,mBAAO;AACtB,cAAI,aAAmB;AACvB,cAAI,QAAQ,SAAS;AAAU,yBAAa,KAAK,cAAc;mBACtD,QAAQ,SAAS;AAAS,yBAAa;;AAC3C,yBAAa,KAAK,cAAc;AAErC,iBAAQ,WAA2B,cAAc,QAAQ;QAC3D;QACA,YAAY;QACZ,cAAc;OACf;IACH;EACF;AAGA,MAAI,QAAQ,OAAO,SAAS,UAAU;AACpC,WAAO,UAAU,IAAI,CAAA,GAAI,MAAgB,IAAuB;EAClE;AAGA,SAAO,CAAC,QAAgB,aAA8B,eAAmC;AACvF,QAAI,WAAW;AACf,QAAI,UAAwB,CAAA;AAE5B,QAAI,OAAO,SAAS,UAAU;AAC5B,iBAAW;IACb,WAAW,OAAO,SAAS,UAAU;AACnC,gBAAU;AACV,iBAAW,QAAQ,YAAY;IACjC;AAEA,cAAU,UAAU,SAAS,QAAQ,aAAa,UAAU;EAC9D;AACF;AAEO,MAAM,mBAAmB,CAAC,WAA4C;AAC3E,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,oBAAoB,WAAW;AACjE;",
6
6
  "names": []
7
7
  }
@@ -24,8 +24,8 @@ __export(queryAll_exports, {
24
24
  module.exports = __toCommonJS(queryAll_exports);
25
25
  var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
26
  const QUERY_ALL_METADATA_KEY = Symbol("simple-web-component:query-all");
27
- const queryAll = (selector, options = { useShadow: true }) => {
28
- return (target, propertyKey, descriptor) => {
27
+ function queryAll(arg1, arg2) {
28
+ const decorator = (selector, options, target, propertyKey, descriptor) => {
29
29
  const isMethod = !!descriptor;
30
30
  const constructor = target.constructor;
31
31
  let queries = import_ReflectUtils.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
@@ -37,15 +37,37 @@ const queryAll = (selector, options = { useShadow: true }) => {
37
37
  if (!isMethod) {
38
38
  Object.defineProperty(target, propertyKey, {
39
39
  get() {
40
- const root = options.useShadow !== false && this.shadowRoot ? this.shadowRoot : this;
41
- return root.querySelectorAll(selector);
40
+ if (!selector)
41
+ return [this];
42
+ let searchRoot = this;
43
+ if (options.root === "shadow")
44
+ searchRoot = this.shadowRoot || this;
45
+ else if (options.root === "light")
46
+ searchRoot = this;
47
+ else
48
+ searchRoot = this.shadowRoot || this;
49
+ return searchRoot.querySelectorAll(selector);
42
50
  },
43
51
  enumerable: true,
44
52
  configurable: true
45
53
  });
46
54
  }
47
55
  };
48
- };
56
+ if (arg1 && typeof arg2 === "string") {
57
+ return decorator("", {}, arg1, arg2);
58
+ }
59
+ return (target, propertyKey, descriptor) => {
60
+ let selector = "";
61
+ let options = {};
62
+ if (typeof arg1 === "string") {
63
+ selector = arg1;
64
+ } else if (typeof arg1 === "object") {
65
+ options = arg1;
66
+ selector = options.selector || "";
67
+ }
68
+ decorator(selector, options, target, propertyKey, descriptor);
69
+ };
70
+ }
49
71
  const getQueryAllMetadata = (target) => {
50
72
  const constructor = target instanceof Function ? target : target.constructor;
51
73
  return import_ReflectUtils.ReflectUtils.getMetadata(QUERY_ALL_METADATA_KEY, constructor);
@@ -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';\n\nexport interface QueryAllOptions {\n useShadow?: boolean;\n}\n\nexport interface QueryAllMetadata {\n selector: string;\n options: QueryAllOptions;\n propertyKey: string | symbol;\n isMethod: boolean;\n}\n\nexport const QUERY_ALL_METADATA_KEY = Symbol('simple-web-component:query-all');\n\nexport const queryAll = (selector: string, options: QueryAllOptions = { useShadow: true }): any => {\n return (target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const isMethod = !!descriptor;\n const constructor = target.constructor;\n\n // \uBA54\uD0C0\uB370\uC774\uD130 \uC800\uC7A5 (\uB098\uC911\uC5D0 elementDefine\uC5D0\uC11C \uC0AC\uC6A9)\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, isMethod });\n\n if (!isMethod) {\n // \uC18D\uC131 \uB370\uCF54\uB808\uC774\uD130\uC778 \uACBD\uC6B0: \uAE30\uC874\uCC98\uB7FC Lazy Getter \uC124\uC815\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n const root = options.useShadow !== false && this.shadowRoot ? this.shadowRoot : this;\n return root.querySelectorAll(selector);\n },\n enumerable: true,\n configurable: true\n });\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAatB,MAAM,yBAAyB,OAAO,gCAAgC;AAEtE,MAAM,WAAW,CAAC,UAAkB,UAA2B,EAAE,WAAW,KAAK,MAAW;AACjG,SAAO,CAAC,QAAgB,aAA8B,eAAoC;AACxF,UAAM,WAAW,CAAC,CAAC;AACnB,UAAM,cAAc,OAAO;AAG3B,QAAI,UAAU,iCAAa,YAAgC,wBAAwB,WAAW;AAC9F,QAAI,CAAC,SAAS;AACZ,gBAAU,CAAC;AACX,uCAAa,eAAe,wBAAwB,SAAS,WAAW;AAAA,IAC1E;AACA,YAAQ,KAAK,EAAE,UAAU,SAAS,aAAa,SAAS,CAAC;AAEzD,QAAI,CAAC,UAAU;AAEb,aAAO,eAAe,QAAQ,aAAa;AAAA,QACzC,MAAuB;AACrB,gBAAM,OAAO,QAAQ,cAAc,SAAS,KAAK,aAAa,KAAK,aAAa;AAChF,iBAAO,KAAK,iBAAiB,QAAQ;AAAA,QACvC;AAAA,QACA,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsB,CAAC,WAAgD;AAClF,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,wBAAwB,WAAW;AACrE;",
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport interface QueryAllOptions {\n selector?: string;\n root?: 'light' | 'shadow' | 'all' | 'auto';\n}\n\nexport interface QueryAllMetadata {\n selector: string;\n options: QueryAllOptions;\n propertyKey: string | symbol;\n isMethod: boolean;\n}\n\nexport const QUERY_ALL_METADATA_KEY = Symbol('simple-web-component:query-all');\n\nexport function queryAll(selector: string): any;\nexport function queryAll(options: QueryAllOptions): any;\nexport function queryAll(target: Object, propertyKey: string | symbol): void;\nexport function queryAll(arg1?: string | QueryAllOptions | Object, arg2?: string | symbol): any {\n const decorator = (selector: string, options: QueryAllOptions, target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const isMethod = !!descriptor;\n const constructor = target.constructor;\n\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, isMethod });\n\n if (!isMethod) {\n Object.defineProperty(target, propertyKey, {\n get(this: HTMLElement) {\n if (!selector) return [this];\n let searchRoot: Node = this;\n if (options.root === 'shadow') searchRoot = this.shadowRoot || this;\n else if (options.root === 'light') searchRoot = this;\n else searchRoot = this.shadowRoot || this; // Default: Auto (Shadow-First)\n\n return (searchRoot as HTMLElement).querySelectorAll(selector);\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n\n // Case: @queryAll (parameterless decorator)\n if (arg1 && typeof arg2 === 'string') {\n return decorator('', {}, arg1 as Object, arg2 as string | symbol);\n }\n\n // Case: @queryAll('selector') or @queryAll({ selector: '...', ... })\n return (target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n let selector = '';\n let options: QueryAllOptions = {};\n\n if (typeof arg1 === 'string') {\n selector = arg1;\n } else if (typeof arg1 === 'object') {\n options = arg1 as QueryAllOptions;\n selector = options.selector || '';\n }\n\n decorator(selector, options, target, propertyKey, descriptor);\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;AActB,MAAM,yBAAyB,OAAO,gCAAgC;AAKvE,SAAU,SAAS,MAA0C,MAAsB;AACvF,QAAM,YAAY,CAAC,UAAkB,SAA0B,QAAgB,aAA8B,eAAmC;AAC9I,UAAM,WAAW,CAAC,CAAC;AACnB,UAAM,cAAc,OAAO;AAE3B,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,aAAa,SAAQ,CAAE;AAEzD,QAAI,CAAC,UAAU;AACb,aAAO,eAAe,QAAQ,aAAa;QACzC,MAAG;AACD,cAAI,CAAC;AAAU,mBAAO,CAAC,IAAI;AAC3B,cAAI,aAAmB;AACvB,cAAI,QAAQ,SAAS;AAAU,yBAAa,KAAK,cAAc;mBACtD,QAAQ,SAAS;AAAS,yBAAa;;AAC3C,yBAAa,KAAK,cAAc;AAErC,iBAAQ,WAA2B,iBAAiB,QAAQ;QAC9D;QACA,YAAY;QACZ,cAAc;OACf;IACH;EACF;AAGA,MAAI,QAAQ,OAAO,SAAS,UAAU;AACpC,WAAO,UAAU,IAAI,CAAA,GAAI,MAAgB,IAAuB;EAClE;AAGA,SAAO,CAAC,QAAgB,aAA8B,eAAmC;AACvF,QAAI,WAAW;AACf,QAAI,UAA2B,CAAA;AAE/B,QAAI,OAAO,SAAS,UAAU;AAC5B,iBAAW;IACb,WAAW,OAAO,SAAS,UAAU;AACnC,gBAAU;AACV,iBAAW,QAAQ,YAAY;IACjC;AAEA,cAAU,UAAU,SAAS,QAAQ,aAAa,UAAU;EAC9D;AACF;AAEO,MAAM,sBAAsB,CAAC,WAA+C;AACjF,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,wBAAwB,WAAW;AACrE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,50 @@
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 state_exports = {};
19
+ __export(state_exports, {
20
+ STATE_METADATA_KEY: () => STATE_METADATA_KEY,
21
+ getStateMetadataList: () => getStateMetadataList,
22
+ state: () => state
23
+ });
24
+ module.exports = __toCommonJS(state_exports);
25
+ var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
26
+ const STATE_METADATA_KEY = Symbol("simple-web-component:state");
27
+ function state(arg1, arg2) {
28
+ const decorator = (options, target, propertyKey) => {
29
+ const constructor = target.constructor;
30
+ if (!options.name) options.name = String(propertyKey);
31
+ let list = import_ReflectUtils.ReflectUtils.getMetadata(STATE_METADATA_KEY, constructor);
32
+ if (!list) {
33
+ list = [];
34
+ import_ReflectUtils.ReflectUtils.defineMetadata(STATE_METADATA_KEY, list, constructor);
35
+ }
36
+ list.push({ propertyKey, options });
37
+ };
38
+ if (arg2) {
39
+ return decorator({}, arg1, arg2);
40
+ }
41
+ return (target, propertyKey) => {
42
+ const options = typeof arg1 === "string" ? { name: arg1 } : arg1 || {};
43
+ decorator(options, target, propertyKey);
44
+ };
45
+ }
46
+ const getStateMetadataList = (target) => {
47
+ const constructor = target instanceof Function ? target : target.constructor;
48
+ return import_ReflectUtils.ReflectUtils.getMetadata(STATE_METADATA_KEY, constructor);
49
+ };
50
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/decorators/state.ts"],
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\n\nexport interface StateOptions {\n name?: string;\n}\n\nexport interface StateMetadata {\n propertyKey: string | symbol;\n options: StateOptions;\n}\n\nexport const STATE_METADATA_KEY = Symbol('simple-web-component:state');\n\nexport function state(nameOrOptions?: string | StateOptions): PropertyDecorator;\nexport function state(target: Object, propertyKey: string | symbol): void;\nexport function state(arg1?: string | StateOptions | Object, arg2?: string | symbol): PropertyDecorator | void {\n const decorator = (options: StateOptions, target: Object, propertyKey: string | symbol) => {\n const constructor = target.constructor;\n if (!options.name) options.name = String(propertyKey);\n\n let list = ReflectUtils.getMetadata<StateMetadata[]>(STATE_METADATA_KEY, constructor);\n if (!list) {\n list = [];\n ReflectUtils.defineMetadata(STATE_METADATA_KEY, list, constructor);\n }\n list.push({ propertyKey, options });\n };\n\n if (arg2) {\n // Used as @state\n return decorator({}, arg1!, arg2);\n }\n\n // Used as @state(options)\n return (target: Object, propertyKey: string | symbol) => {\n const options: StateOptions = typeof arg1 === 'string' ? { name: arg1 } : (arg1 as StateOptions) || {};\n decorator(options, target, propertyKey);\n };\n}\n\nexport const getStateMetadataList = (target: any): StateMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(STATE_METADATA_KEY, constructor);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAWtB,MAAM,qBAAqB,OAAO,4BAA4B;AAI9D,SAAS,MAAM,MAAuC,MAAkD;AAC7G,QAAM,YAAY,CAAC,SAAuB,QAAgB,gBAAiC;AACzF,UAAM,cAAc,OAAO;AAC3B,QAAI,CAAC,QAAQ,KAAM,SAAQ,OAAO,OAAO,WAAW;AAEpD,QAAI,OAAO,iCAAa,YAA6B,oBAAoB,WAAW;AACpF,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AACR,uCAAa,eAAe,oBAAoB,MAAM,WAAW;AAAA,IACnE;AACA,SAAK,KAAK,EAAE,aAAa,QAAQ,CAAC;AAAA,EACpC;AAEA,MAAI,MAAM;AAER,WAAO,UAAU,CAAC,GAAG,MAAO,IAAI;AAAA,EAClC;AAGA,SAAO,CAAC,QAAgB,gBAAiC;AACvD,UAAM,UAAwB,OAAO,SAAS,WAAW,EAAE,MAAM,KAAK,IAAK,QAAyB,CAAC;AACrG,cAAU,SAAS,QAAQ,WAAW;AAAA,EACxC;AACF;AAEO,MAAM,uBAAuB,CAAC,WAA6C;AAChF,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,iCAAa,YAAY,oBAAoB,WAAW;AACjE;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcChoose.ts"],
4
- "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\n\n@elementDefine({ name: 'swc-choose' })\nexport class SwcChoose extends HTMLElement {\n private _observer: MutationObserver | null = null;\n private _swcValue: any = undefined;\n\n set swcValue(val: any) {\n this._swcValue = val;\n this.evaluate();\n }\n\n get swcValue() {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n render() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"choose-slot\"></slot>\n `;\n }\n\n connectedCallback() {\n this._observer = new MutationObserver(() => this.evaluate());\n this._observer.observe(this, { attributes: true, subtree: true, childList: true });\n this.evaluate();\n }\n\n disconnectedCallback() {\n this._observer?.disconnect();\n }\n\n private evaluate() {\n const whens = Array.from(this.querySelectorAll('swc-when'));\n const other = this.querySelector('swc-other');\n let matched = false;\n\n // 현재 choose에 설정된 value (swc-value 우선)\n const chooseValue = this.getAttribute('swc-value') ?? this.getAttribute('value') ?? this._swcValue;\n\n whens.forEach(when => {\n if (matched) {\n (when as HTMLElement).style.display = 'none';\n return;\n }\n\n const testAttr = when.getAttribute('test');\n if (testAttr === null) return;\n if (testAttr.includes('{{')) return; // 아직 치환 전이면 스킵\n\n let isConditionMet = false;\n\n if (chooseValue !== undefined && chooseValue !== null) {\n // 1. 매칭 모드: choose의 value와 when의 test값이 같은지 비교\n isConditionMet = String(chooseValue) === String(testAttr);\n } else {\n // 2. 표현식 모드: testAttr 자체가 실행 가능한 코드인 경우\n try {\n if (testAttr === 'true') isConditionMet = true;\n else if (testAttr === 'false') isConditionMet = false;\n else isConditionMet = !!new Function(`return ${testAttr}`)();\n } catch (e) {\n isConditionMet = false;\n }\n }\n\n if (isConditionMet) {\n (when as HTMLElement).style.display = '';\n matched = true;\n } else {\n (when as HTMLElement).style.display = 'none';\n }\n });\n\n if (other) {\n (other as HTMLElement).style.display = matched ? 'none' : '';\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;;;;;;;;;;AAGlC,IAAM,YAAN,MAAMA,mBAAkB,YAAW;EAAnC,cAAA;;AACG,SAAA,YAAqC;AACrC,SAAA,YAAiB;EA2E3B;EAzEE,IAAI,SAAS,KAAQ;AACnB,SAAK,YAAY;AACjB,SAAK,SAAQ;EACf;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,SAAM;AACJ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,YAAY,IAAI,iBAAiB,MAAM,KAAK,SAAQ,CAAE;AAC3D,SAAK,UAAU,QAAQ,MAAM,EAAE,YAAY,MAAM,SAAS,MAAM,WAAW,KAAI,CAAE;AACjF,SAAK,SAAQ;EACf;EAEA,uBAAoB;AAClB,SAAK,WAAW,WAAU;EAC5B;EAEQ,WAAQ;AACd,UAAM,QAAQ,MAAM,KAAK,KAAK,iBAAiB,UAAU,CAAC;AAC1D,UAAM,QAAQ,KAAK,cAAc,WAAW;AAC5C,QAAI,UAAU;AAGd,UAAM,cAAc,KAAK,aAAa,WAAW,KAAK,KAAK,aAAa,OAAO,KAAK,KAAK;AAEzF,UAAM,QAAQ,UAAO;AACnB,UAAI,SAAS;AACV,aAAqB,MAAM,UAAU;AACtC;MACF;AAEA,YAAM,WAAW,KAAK,aAAa,MAAM;AACzC,UAAI,aAAa;AAAM;AACvB,UAAI,SAAS,SAAS,IAAI;AAAG;AAE7B,UAAI,iBAAiB;AAErB,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AAErD,yBAAiB,OAAO,WAAW,MAAM,OAAO,QAAQ;MAC1D,OAAO;AAEL,YAAI;AACF,cAAI,aAAa;AAAQ,6BAAiB;mBACjC,aAAa;AAAS,6BAAiB;;AAC3C,6BAAiB,CAAC,CAAC,IAAI,SAAS,UAAU,QAAQ,EAAE,EAAC;QAC5D,SAAS,GAAG;AACV,2BAAiB;QACnB;MACF;AAEA,UAAI,gBAAgB;AACjB,aAAqB,MAAM,UAAU;AACtC,kBAAU;MACZ,OAAO;AACJ,aAAqB,MAAM,UAAU;MACxC;IACF,CAAC;AAED,QAAI,OAAO;AACR,YAAsB,MAAM,UAAU,UAAU,SAAS;IAC5D;EACF;;AA9DA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AAbnB,YAAS,WAAA;MADrB,wBAAc,EAAE,MAAM,aAAY,CAAE;GACxB,SAAS;",
4
+ "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\n\n@elementDefine({ name: 'swc-choose' })\nexport class SwcChoose extends HTMLElement {\n private _observer: MutationObserver | null = null;\n private _swcValue: any = undefined;\n\n set swcValue(val: any) {\n this._swcValue = val;\n this.evaluate();\n }\n\n get swcValue() {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n render() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"choose-slot\"></slot>\n `;\n }\n\n connectedCallback() {\n this._observer = new MutationObserver(() => this.evaluate());\n this._observer.observe(this, { attributes: true, subtree: true, childList: true });\n this.evaluate();\n }\n\n disconnectedCallback() {\n this._observer?.disconnect();\n }\n\n private evaluate() {\n const whens = Array.from(this.querySelectorAll('swc-when'));\n const other = this.querySelector('swc-other');\n let matched = false;\n\n const chooseValue = this.getAttribute('swc-value') ?? this.getAttribute('value') ?? this._swcValue;\n\n whens.forEach(when => {\n if (matched) {\n (when as HTMLElement).style.display = 'none';\n return;\n }\n\n const testAttr = when.getAttribute('test');\n if (testAttr === null) return;\n if (testAttr.includes('{{')) return;\n\n let isConditionMet = false;\n if (chooseValue !== undefined && chooseValue !== null) {\n isConditionMet = String(chooseValue) === String(testAttr);\n } else {\n try {\n if (testAttr === 'true') isConditionMet = true;\n else if (testAttr === 'false') isConditionMet = false;\n else isConditionMet = !!new Function(`return ${testAttr}`)();\n } catch (e) {\n isConditionMet = false;\n }\n }\n\n if (isConditionMet) {\n (when as HTMLElement).style.display = '';\n matched = true;\n } else {\n (when as HTMLElement).style.display = 'none';\n }\n });\n\n if (other) {\n (other as HTMLElement).style.display = matched ? 'none' : '';\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;;;;;;;;;;AAGlC,IAAM,YAAN,MAAMA,mBAAkB,YAAW;EAAnC,cAAA;;AACG,SAAA,YAAqC;AACrC,SAAA,YAAiB;EAuE3B;EArEE,IAAI,SAAS,KAAQ;AACnB,SAAK,YAAY;AACjB,SAAK,SAAQ;EACf;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,SAAM;AACJ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,YAAY,IAAI,iBAAiB,MAAM,KAAK,SAAQ,CAAE;AAC3D,SAAK,UAAU,QAAQ,MAAM,EAAE,YAAY,MAAM,SAAS,MAAM,WAAW,KAAI,CAAE;AACjF,SAAK,SAAQ;EACf;EAEA,uBAAoB;AAClB,SAAK,WAAW,WAAU;EAC5B;EAEQ,WAAQ;AACd,UAAM,QAAQ,MAAM,KAAK,KAAK,iBAAiB,UAAU,CAAC;AAC1D,UAAM,QAAQ,KAAK,cAAc,WAAW;AAC5C,QAAI,UAAU;AAEd,UAAM,cAAc,KAAK,aAAa,WAAW,KAAK,KAAK,aAAa,OAAO,KAAK,KAAK;AAEzF,UAAM,QAAQ,UAAO;AACnB,UAAI,SAAS;AACV,aAAqB,MAAM,UAAU;AACtC;MACF;AAEA,YAAM,WAAW,KAAK,aAAa,MAAM;AACzC,UAAI,aAAa;AAAM;AACvB,UAAI,SAAS,SAAS,IAAI;AAAG;AAE7B,UAAI,iBAAiB;AACrB,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACrD,yBAAiB,OAAO,WAAW,MAAM,OAAO,QAAQ;MAC1D,OAAO;AACL,YAAI;AACF,cAAI,aAAa;AAAQ,6BAAiB;mBACjC,aAAa;AAAS,6BAAiB;;AAC3C,6BAAiB,CAAC,CAAC,IAAI,SAAS,UAAU,QAAQ,EAAE,EAAC;QAC5D,SAAS,GAAG;AACV,2BAAiB;QACnB;MACF;AAEA,UAAI,gBAAgB;AACjB,aAAqB,MAAM,UAAU;AACtC,kBAAU;MACZ,OAAO;AACJ,aAAqB,MAAM,UAAU;MACxC;IACF,CAAC;AAED,QAAI,OAAO;AACR,YAAsB,MAAM,UAAU,UAAU,SAAS;IAC5D;EACF;;AA1DA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AAbnB,YAAS,WAAA;MADrB,wBAAc,EAAE,MAAM,aAAY,CAAE;GACxB,SAAS;",
6
6
  "names": ["SwcChoose"]
7
7
  }
@@ -39,7 +39,9 @@ let SwcForOf = class SwcForOf2 extends import_SwcHTMLElementBase.SwcHTMLElementB
39
39
  set swcValue(val) {
40
40
  if (!Array.isArray(val))
41
41
  val = [];
42
- this._swcValue = this.createReactiveProxy(val, () => this.renderAll(), (idx, v) => this.updateSingleRow(idx, v));
42
+ this._swcValue = this.createReactiveProxy(val, () => this._updateState(this._asKey), (idx, v) => this.updateSingleRow(idx, v));
43
+ if (this._masterTplNodes.length === 0)
44
+ this.initCore();
43
45
  this.renderAll();
44
46
  }
45
47
  get swcValue() {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcForOf.ts"],
4
- "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\nimport { SwcHTMLElementBase } from './SwcHTMLElementBase';\n\n@elementDefine({ name: 'swc-for-of' })\nexport class SwcForOf extends SwcHTMLElementBase {\n private _swcValue: any[] = [];\n\n constructor() {\n super();\n }\n\n set swcValue(val: any[]) {\n if (!Array.isArray(val)) val = [];\n this._swcValue = this.createReactiveProxy(\n val,\n () => this.renderAll(),\n (idx, v) => this.updateSingleRow(idx, v)\n );\n this.renderAll();\n }\n\n get swcValue(): any[] {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n renderTemplate() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"tpl-slot\" style=\"display:none;\"></slot>\n `;\n }\n\n connectedCallback() {\n this.initCore();\n this.renderAll();\n }\n\n public updateSingleRow(index: number, newValue: any) {\n const targets = this.querySelectorAll(`[slot=\"row-${index}\"]`);\n if (targets.length > 0) {\n targets.forEach(target => this.applyData(target, newValue, index));\n } else {\n this.renderRow(newValue, index);\n }\n }\n\n private renderRow(item: any, index: number) {\n if (!this.shadowRoot || this._masterTplNodes.length === 0) return;\n\n const slotName = `row-${index}`;\n if (!this.shadowRoot.querySelector(`slot[name=\"${slotName}\"]`)) {\n const slot = document.createElement('slot');\n slot.name = slotName;\n this.shadowRoot.appendChild(slot);\n }\n\n this._masterTplNodes.forEach(tplNode => {\n const clone = tplNode.cloneNode(true);\n if (clone.nodeType === Node.ELEMENT_NODE) {\n (clone as HTMLElement).setAttribute('slot', slotName);\n (clone as HTMLElement).style.display = '';\n } else if (clone.nodeType === Node.TEXT_NODE) {\n if (clone.textContent?.trim().length === 0) return;\n const span = document.createElement('span');\n span.setAttribute('slot', slotName);\n span.appendChild(clone);\n this.appendChild(span);\n this.applyData(span, item, index);\n return;\n }\n this.appendChild(clone);\n this.applyData(clone, item, index);\n });\n }\n\n private renderAll() {\n if (this._masterTplNodes.length === 0 || !this.shadowRoot) return;\n\n Array.from(this.children).forEach(c => {\n const slot = c.getAttribute('slot');\n if (slot && slot.startsWith('row-')) {\n c.remove();\n }\n });\n\n Array.from(this.shadowRoot.querySelectorAll('slot')).forEach(s => {\n if (s.id !== 'tpl-slot') s.remove();\n });\n\n this._swcValue.forEach((item, index) => this.renderRow(item, index));\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;AACzC,gCAAmC;;;;;;;;;;AAG5B,IAAM,WAAN,MAAMA,kBAAiB,6CAAkB;EAG9C,cAAA;AACE,UAAK;AAHC,SAAA,YAAmB,CAAA;EAI3B;EAEA,IAAI,SAAS,KAAU;AACrB,QAAI,CAAC,MAAM,QAAQ,GAAG;AAAG,YAAM,CAAA;AAC/B,SAAK,YAAY,KAAK,oBACpB,KACA,MAAM,KAAK,UAAS,GACpB,CAAC,KAAK,MAAM,KAAK,gBAAgB,KAAK,CAAC,CAAC;AAE1C,SAAK,UAAS;EAChB;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,iBAAc;AACZ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,SAAQ;AACb,SAAK,UAAS;EAChB;EAEO,gBAAgB,OAAe,UAAa;AACjD,UAAM,UAAU,KAAK,iBAAiB,cAAc,KAAK,IAAI;AAC7D,QAAI,QAAQ,SAAS,GAAG;AACtB,cAAQ,QAAQ,YAAU,KAAK,UAAU,QAAQ,UAAU,KAAK,CAAC;IACnE,OAAO;AACL,WAAK,UAAU,UAAU,KAAK;IAChC;EACF;EAEQ,UAAU,MAAW,OAAa;AACxC,QAAI,CAAC,KAAK,cAAc,KAAK,gBAAgB,WAAW;AAAG;AAE3D,UAAM,WAAW,OAAO,KAAK;AAC7B,QAAI,CAAC,KAAK,WAAW,cAAc,cAAc,QAAQ,IAAI,GAAG;AAC9D,YAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,OAAO;AACZ,WAAK,WAAW,YAAY,IAAI;IAClC;AAEA,SAAK,gBAAgB,QAAQ,aAAU;AACrC,YAAM,QAAQ,QAAQ,UAAU,IAAI;AACpC,UAAI,MAAM,aAAa,KAAK,cAAc;AACvC,cAAsB,aAAa,QAAQ,QAAQ;AACnD,cAAsB,MAAM,UAAU;MACzC,WAAW,MAAM,aAAa,KAAK,WAAW;AAC5C,YAAI,MAAM,aAAa,KAAI,EAAG,WAAW;AAAG;AAC5C,cAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,aAAa,QAAQ,QAAQ;AAClC,aAAK,YAAY,KAAK;AACtB,aAAK,YAAY,IAAI;AACrB,aAAK,UAAU,MAAM,MAAM,KAAK;AAChC;MACF;AACA,WAAK,YAAY,KAAK;AACtB,WAAK,UAAU,OAAO,MAAM,KAAK;IACnC,CAAC;EACH;EAEQ,YAAS;AACf,QAAI,KAAK,gBAAgB,WAAW,KAAK,CAAC,KAAK;AAAY;AAE3D,UAAM,KAAK,KAAK,QAAQ,EAAE,QAAQ,OAAI;AACpC,YAAM,OAAO,EAAE,aAAa,MAAM;AAClC,UAAI,QAAQ,KAAK,WAAW,MAAM,GAAG;AACnC,UAAE,OAAM;MACV;IACF,CAAC;AAED,UAAM,KAAK,KAAK,WAAW,iBAAiB,MAAM,CAAC,EAAE,QAAQ,OAAI;AAC/D,UAAI,EAAE,OAAO;AAAY,UAAE,OAAM;IACnC,CAAC;AAED,SAAK,UAAU,QAAQ,CAAC,MAAM,UAAU,KAAK,UAAU,MAAM,KAAK,CAAC;EACrE;;AAjEA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AArBnB,WAAQ,WAAA;MADpB,wBAAc,EAAE,MAAM,aAAY,CAAE;;GACxB,QAAQ;",
4
+ "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\nimport { SwcHTMLElementBase } from './SwcHTMLElementBase';\n\n@elementDefine({ name: 'swc-for-of' })\nexport class SwcForOf extends SwcHTMLElementBase {\n private _swcValue: any[] = [];\n\n constructor() {\n super();\n }\n\n set swcValue(val: any[]) {\n if (!Array.isArray(val)) val = [];\n this._swcValue = this.createReactiveProxy(\n val,\n () => (this as any)._updateState((this as any)._asKey),\n (idx, v) => this.updateSingleRow(idx, v)\n );\n if (this._masterTplNodes.length === 0) this.initCore();\n this.renderAll();\n }\n\n get swcValue(): any[] {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n renderTemplate() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"tpl-slot\" style=\"display:none;\"></slot>\n `;\n }\n\n connectedCallback() {\n this.initCore();\n this.renderAll();\n }\n\n public updateSingleRow(index: number, newValue: any) {\n const targets = this.querySelectorAll(`[slot=\"row-${index}\"]`);\n if (targets.length > 0) {\n targets.forEach(target => this.applyData(target, newValue, index));\n } else {\n this.renderRow(newValue, index);\n }\n }\n\n private renderRow(item: any, index: number) {\n if (!this.shadowRoot || this._masterTplNodes.length === 0) return;\n\n const slotName = `row-${index}`;\n if (!this.shadowRoot.querySelector(`slot[name=\"${slotName}\"]`)) {\n const slot = document.createElement('slot');\n slot.name = slotName;\n this.shadowRoot.appendChild(slot);\n }\n\n this._masterTplNodes.forEach(tplNode => {\n const clone = tplNode.cloneNode(true);\n if (clone.nodeType === Node.ELEMENT_NODE) {\n (clone as HTMLElement).setAttribute('slot', slotName);\n (clone as HTMLElement).style.display = '';\n } else if (clone.nodeType === Node.TEXT_NODE) {\n if (clone.textContent?.trim().length === 0) return;\n const span = document.createElement('span');\n span.setAttribute('slot', slotName);\n span.appendChild(clone);\n this.appendChild(span);\n this.applyData(span, item, index);\n return;\n }\n this.appendChild(clone);\n this.applyData(clone, item, index);\n });\n }\n\n private renderAll() {\n if (this._masterTplNodes.length === 0 || !this.shadowRoot) return;\n\n Array.from(this.children).forEach(c => {\n const slot = c.getAttribute('slot');\n if (slot && slot.startsWith('row-')) {\n c.remove();\n }\n });\n\n Array.from(this.shadowRoot.querySelectorAll('slot')).forEach(s => {\n if (s.id !== 'tpl-slot') s.remove();\n });\n\n this._swcValue.forEach((item, index) => this.renderRow(item, index));\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;AACzC,gCAAmC;;;;;;;;;;AAG5B,IAAM,WAAN,MAAMA,kBAAiB,6CAAkB;EAG9C,cAAA;AACE,UAAK;AAHC,SAAA,YAAmB,CAAA;EAI3B;EAEA,IAAI,SAAS,KAAU;AACrB,QAAI,CAAC,MAAM,QAAQ,GAAG;AAAG,YAAM,CAAA;AAC/B,SAAK,YAAY,KAAK,oBACpB,KACA,MAAO,KAAa,aAAc,KAAa,MAAM,GACrD,CAAC,KAAK,MAAM,KAAK,gBAAgB,KAAK,CAAC,CAAC;AAE1C,QAAI,KAAK,gBAAgB,WAAW;AAAG,WAAK,SAAQ;AACpD,SAAK,UAAS;EAChB;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,iBAAc;AACZ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,SAAQ;AACb,SAAK,UAAS;EAChB;EAEO,gBAAgB,OAAe,UAAa;AACjD,UAAM,UAAU,KAAK,iBAAiB,cAAc,KAAK,IAAI;AAC7D,QAAI,QAAQ,SAAS,GAAG;AACtB,cAAQ,QAAQ,YAAU,KAAK,UAAU,QAAQ,UAAU,KAAK,CAAC;IACnE,OAAO;AACL,WAAK,UAAU,UAAU,KAAK;IAChC;EACF;EAEQ,UAAU,MAAW,OAAa;AACxC,QAAI,CAAC,KAAK,cAAc,KAAK,gBAAgB,WAAW;AAAG;AAE3D,UAAM,WAAW,OAAO,KAAK;AAC7B,QAAI,CAAC,KAAK,WAAW,cAAc,cAAc,QAAQ,IAAI,GAAG;AAC9D,YAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,OAAO;AACZ,WAAK,WAAW,YAAY,IAAI;IAClC;AAEA,SAAK,gBAAgB,QAAQ,aAAU;AACrC,YAAM,QAAQ,QAAQ,UAAU,IAAI;AACpC,UAAI,MAAM,aAAa,KAAK,cAAc;AACvC,cAAsB,aAAa,QAAQ,QAAQ;AACnD,cAAsB,MAAM,UAAU;MACzC,WAAW,MAAM,aAAa,KAAK,WAAW;AAC5C,YAAI,MAAM,aAAa,KAAI,EAAG,WAAW;AAAG;AAC5C,cAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,aAAa,QAAQ,QAAQ;AAClC,aAAK,YAAY,KAAK;AACtB,aAAK,YAAY,IAAI;AACrB,aAAK,UAAU,MAAM,MAAM,KAAK;AAChC;MACF;AACA,WAAK,YAAY,KAAK;AACtB,WAAK,UAAU,OAAO,MAAM,KAAK;IACnC,CAAC;EACH;EAEQ,YAAS;AACf,QAAI,KAAK,gBAAgB,WAAW,KAAK,CAAC,KAAK;AAAY;AAE3D,UAAM,KAAK,KAAK,QAAQ,EAAE,QAAQ,OAAI;AACpC,YAAM,OAAO,EAAE,aAAa,MAAM;AAClC,UAAI,QAAQ,KAAK,WAAW,MAAM,GAAG;AACnC,UAAE,OAAM;MACV;IACF,CAAC;AAED,UAAM,KAAK,KAAK,WAAW,iBAAiB,MAAM,CAAC,EAAE,QAAQ,OAAI;AAC/D,UAAI,EAAE,OAAO;AAAY,UAAE,OAAM;IACnC,CAAC;AAED,SAAK,UAAU,QAAQ,CAAC,MAAM,UAAU,KAAK,UAAU,MAAM,KAAK,CAAC;EACrE;;AAjEA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AAtBnB,WAAQ,WAAA;MADpB,wBAAc,EAAE,MAAM,aAAY,CAAE;;GACxB,QAAQ;",
6
6
  "names": ["SwcForOf"]
7
7
  }
@@ -40,7 +40,12 @@ let SwcObject = class SwcObject2 extends import_SwcHTMLElementBase.SwcHTMLElemen
40
40
  set swcValue(val) {
41
41
  if (typeof val !== "object" || val === null)
42
42
  val = {};
43
- this._swcValue = this.createReactiveProxy(val, () => this.updateUI());
43
+ this._swcValue = this.createReactiveProxy(val, () => {
44
+ if (typeof this._updateState === "function") {
45
+ this._updateState(this._asKey);
46
+ }
47
+ this.updateUI();
48
+ });
44
49
  if (this._masterTplNodes.length === 0)
45
50
  this.initCore();
46
51
  this.render();
@@ -64,13 +69,10 @@ let SwcObject = class SwcObject2 extends import_SwcHTMLElementBase.SwcHTMLElemen
64
69
  });
65
70
  }
66
71
  render() {
72
+ this.innerHTML = "";
73
+ this._renderedNodes = [];
67
74
  if (!this.shadowRoot || this._masterTplNodes.length === 0)
68
75
  return;
69
- this._renderedNodes.forEach((n) => {
70
- if (n.parentElement === this)
71
- this.removeChild(n);
72
- });
73
- this._renderedNodes = [];
74
76
  let slot = this.shadowRoot.querySelector('slot[name="obj-content"]');
75
77
  if (!slot) {
76
78
  slot = document.createElement("slot");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcObject.ts"],
4
- "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\nimport { SwcHTMLElementBase } from './SwcHTMLElementBase';\n\n@elementDefine({ name: 'swc-object' })\nexport class SwcObject extends SwcHTMLElementBase {\n private _swcValue: any = {};\n private _renderedNodes: Node[] = [];\n\n constructor() {\n super();\n }\n\n set swcValue(val: any) {\n if (typeof val !== 'object' || val === null) val = {};\n this._swcValue = this.createReactiveProxy(val, () => this.updateUI());\n if (this._masterTplNodes.length === 0) this.initCore();\n this.render();\n }\n\n get swcValue(): any {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n renderTemplate() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"tpl-slot\" style=\"display:none;\"></slot>\n `;\n }\n\n connectedCallback() {\n this.initCore();\n this.render();\n }\n\n private updateUI() {\n this._renderedNodes.forEach(node => {\n this.applyData(node, this._swcValue);\n });\n }\n\n private render() {\n if (!this.shadowRoot || this._masterTplNodes.length === 0) return;\n\n this._renderedNodes.forEach(n => {\n if (n.parentElement === this) this.removeChild(n);\n });\n this._renderedNodes = [];\n\n let slot = this.shadowRoot.querySelector('slot[name=\"obj-content\"]');\n if (!slot) {\n slot = document.createElement('slot');\n (slot as HTMLSlotElement).name = 'obj-content';\n this.shadowRoot.appendChild(slot);\n }\n\n this._masterTplNodes.forEach(tplNode => {\n const clone = tplNode.cloneNode(true);\n if (clone.nodeType === Node.ELEMENT_NODE) {\n (clone as HTMLElement).setAttribute('slot', 'obj-content');\n } else if (clone.nodeType === Node.TEXT_NODE) {\n if (clone.textContent?.trim().length === 0) return;\n const span = document.createElement('span');\n span.setAttribute('slot', 'obj-content');\n span.appendChild(clone);\n this.appendChild(span);\n this._renderedNodes.push(span);\n this.applyData(span, this._swcValue);\n return;\n }\n this.appendChild(clone);\n this._renderedNodes.push(clone);\n this.applyData(clone, this._swcValue);\n });\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;AACzC,gCAAmC;;;;;;;;;;AAG5B,IAAM,YAAN,MAAMA,mBAAkB,6CAAkB;EAI/C,cAAA;AACE,UAAK;AAJC,SAAA,YAAiB,CAAA;AACjB,SAAA,iBAAyB,CAAA;EAIjC;EAEA,IAAI,SAAS,KAAQ;AACnB,QAAI,OAAO,QAAQ,YAAY,QAAQ;AAAM,YAAM,CAAA;AACnD,SAAK,YAAY,KAAK,oBAAoB,KAAK,MAAM,KAAK,SAAQ,CAAE;AACpE,QAAI,KAAK,gBAAgB,WAAW;AAAG,WAAK,SAAQ;AACpD,SAAK,OAAM;EACb;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,iBAAc;AACZ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,SAAQ;AACb,SAAK,OAAM;EACb;EAEQ,WAAQ;AACd,SAAK,eAAe,QAAQ,UAAO;AACjC,WAAK,UAAU,MAAM,KAAK,SAAS;IACrC,CAAC;EACH;EAEQ,SAAM;AACZ,QAAI,CAAC,KAAK,cAAc,KAAK,gBAAgB,WAAW;AAAG;AAE3D,SAAK,eAAe,QAAQ,OAAI;AAC9B,UAAI,EAAE,kBAAkB;AAAM,aAAK,YAAY,CAAC;IAClD,CAAC;AACD,SAAK,iBAAiB,CAAA;AAEtB,QAAI,OAAO,KAAK,WAAW,cAAc,0BAA0B;AACnE,QAAI,CAAC,MAAM;AACT,aAAO,SAAS,cAAc,MAAM;AACnC,WAAyB,OAAO;AACjC,WAAK,WAAW,YAAY,IAAI;IAClC;AAEA,SAAK,gBAAgB,QAAQ,aAAU;AACrC,YAAM,QAAQ,QAAQ,UAAU,IAAI;AACpC,UAAI,MAAM,aAAa,KAAK,cAAc;AACvC,cAAsB,aAAa,QAAQ,aAAa;MAC3D,WAAW,MAAM,aAAa,KAAK,WAAW;AAC5C,YAAI,MAAM,aAAa,KAAI,EAAG,WAAW;AAAG;AAC5C,cAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,aAAa,QAAQ,aAAa;AACvC,aAAK,YAAY,KAAK;AACtB,aAAK,YAAY,IAAI;AACrB,aAAK,eAAe,KAAK,IAAI;AAC7B,aAAK,UAAU,MAAM,KAAK,SAAS;AACnC;MACF;AACA,WAAK,YAAY,KAAK;AACtB,WAAK,eAAe,KAAK,KAAK;AAC9B,WAAK,UAAU,OAAO,KAAK,SAAS;IACtC,CAAC;EACH;;AAnDA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AAnBnB,YAAS,WAAA;MADrB,wBAAc,EAAE,MAAM,aAAY,CAAE;;GACxB,SAAS;",
4
+ "sourcesContent": ["import { elementDefine, innerHtml } from '../index';\nimport { SwcHTMLElementBase } from './SwcHTMLElementBase';\n\n@elementDefine({ name: 'swc-object' })\nexport class SwcObject extends SwcHTMLElementBase {\n private _swcValue: any = {};\n private _renderedNodes: Node[] = [];\n\n constructor() {\n super();\n }\n\n set swcValue(val: any) {\n if (typeof val !== 'object' || val === null) val = {};\n this._swcValue = this.createReactiveProxy(val, () => {\n if (typeof (this as any)._updateState === 'function') {\n (this as any)._updateState((this as any)._asKey);\n }\n this.updateUI();\n });\n if (this._masterTplNodes.length === 0) this.initCore();\n this.render();\n }\n\n get swcValue(): any {\n return this._swcValue;\n }\n\n @innerHtml({ useShadow: true })\n renderTemplate() {\n return `\n <style>:host { display: contents; }</style>\n <slot id=\"tpl-slot\" style=\"display:none;\"></slot>\n `;\n }\n\n connectedCallback() {\n this.initCore();\n this.render();\n }\n\n private updateUI() {\n this._renderedNodes.forEach(node => {\n this.applyData(node, this._swcValue);\n });\n }\n\n private render() {\n this.innerHTML = '';\n this._renderedNodes = [];\n if (!this.shadowRoot || this._masterTplNodes.length === 0) return;\n\n let slot = this.shadowRoot.querySelector('slot[name=\"obj-content\"]');\n if (!slot) {\n slot = document.createElement('slot');\n (slot as HTMLSlotElement).name = 'obj-content';\n this.shadowRoot.appendChild(slot);\n }\n\n this._masterTplNodes.forEach(tplNode => {\n const clone = tplNode.cloneNode(true);\n if (clone.nodeType === Node.ELEMENT_NODE) {\n (clone as HTMLElement).setAttribute('slot', 'obj-content');\n } else if (clone.nodeType === Node.TEXT_NODE) {\n if (clone.textContent?.trim().length === 0) return;\n const span = document.createElement('span');\n span.setAttribute('slot', 'obj-content');\n span.appendChild(clone);\n this.appendChild(span);\n this._renderedNodes.push(span);\n this.applyData(span, this._swcValue);\n return;\n }\n this.appendChild(clone);\n this._renderedNodes.push(clone);\n this.applyData(clone, this._swcValue);\n });\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,eAAyC;AACzC,gCAAmC;;;;;;;;;;AAG5B,IAAM,YAAN,MAAMA,mBAAkB,6CAAkB;EAI/C,cAAA;AACE,UAAK;AAJC,SAAA,YAAiB,CAAA;AACjB,SAAA,iBAAyB,CAAA;EAIjC;EAEA,IAAI,SAAS,KAAQ;AACnB,QAAI,OAAO,QAAQ,YAAY,QAAQ;AAAM,YAAM,CAAA;AACnD,SAAK,YAAY,KAAK,oBAAoB,KAAK,MAAK;AAClD,UAAI,OAAQ,KAAa,iBAAiB,YAAY;AACnD,aAAa,aAAc,KAAa,MAAM;MACjD;AACA,WAAK,SAAQ;IACf,CAAC;AACD,QAAI,KAAK,gBAAgB,WAAW;AAAG,WAAK,SAAQ;AACpD,SAAK,OAAM;EACb;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK;EACd;EAGA,iBAAc;AACZ,WAAO;;;;EAIT;EAEA,oBAAiB;AACf,SAAK,SAAQ;AACb,SAAK,OAAM;EACb;EAEQ,WAAQ;AACd,SAAK,eAAe,QAAQ,UAAO;AACjC,WAAK,UAAU,MAAM,KAAK,SAAS;IACrC,CAAC;EACH;EAEQ,SAAM;AACZ,SAAK,YAAY;AACjB,SAAK,iBAAiB,CAAA;AACtB,QAAI,CAAC,KAAK,cAAc,KAAK,gBAAgB,WAAW;AAAG;AAE3D,QAAI,OAAO,KAAK,WAAW,cAAc,0BAA0B;AACnE,QAAI,CAAC,MAAM;AACT,aAAO,SAAS,cAAc,MAAM;AACnC,WAAyB,OAAO;AACjC,WAAK,WAAW,YAAY,IAAI;IAClC;AAEA,SAAK,gBAAgB,QAAQ,aAAU;AACrC,YAAM,QAAQ,QAAQ,UAAU,IAAI;AACpC,UAAI,MAAM,aAAa,KAAK,cAAc;AACvC,cAAsB,aAAa,QAAQ,aAAa;MAC3D,WAAW,MAAM,aAAa,KAAK,WAAW;AAC5C,YAAI,MAAM,aAAa,KAAI,EAAG,WAAW;AAAG;AAC5C,cAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,aAAa,QAAQ,aAAa;AACvC,aAAK,YAAY,KAAK;AACtB,aAAK,YAAY,IAAI;AACrB,aAAK,eAAe,KAAK,IAAI;AAC7B,aAAK,UAAU,MAAM,KAAK,SAAS;AACnC;MACF;AACA,WAAK,YAAY,KAAK;AACtB,WAAK,eAAe,KAAK,KAAK;AAC9B,WAAK,UAAU,OAAO,KAAK,SAAS;IACtC,CAAC;EACH;;AAhDA,WAAA;MADC,oBAAU,EAAE,WAAW,KAAI,CAAE;;;;;AAxBnB,YAAS,WAAA;MADrB,wBAAc,EAAE,MAAM,aAAY,CAAE;;GACxB,SAAS;",
6
6
  "names": ["SwcObject"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -17,18 +17,17 @@ module.exports = __toCommonJS(src_exports);
17
17
  var import_reflect_metadata = require("reflect-metadata");
18
18
  __reExport(src_exports, require("./decorators/elementDefine"), module.exports);
19
19
  __reExport(src_exports, require("./decorators/innerHtml"), module.exports);
20
- __reExport(src_exports, require("./decorators/attributeChanged"), module.exports);
20
+ __reExport(src_exports, require("./decorators/attribute"), module.exports);
21
+ __reExport(src_exports, require("./decorators/state"), module.exports);
22
+ __reExport(src_exports, require("./decorators/emitCustomEvent"), module.exports);
21
23
  __reExport(src_exports, require("./decorators/lifecycles"), module.exports);
22
24
  __reExport(src_exports, require("./decorators/query"), module.exports);
23
25
  __reExport(src_exports, require("./decorators/queryAll"), module.exports);
24
26
  __reExport(src_exports, require("./decorators/addEventListener"), module.exports);
25
- __reExport(src_exports, require("./elements/SwcForOf"), module.exports);
26
- __reExport(src_exports, require("./elements/SwcIf"), module.exports);
27
- __reExport(src_exports, require("./elements/SwcChoose"), module.exports);
28
- __reExport(src_exports, require("./elements/SwcWhen"), module.exports);
29
- __reExport(src_exports, require("./elements/SwcOther"), module.exports);
30
- __reExport(src_exports, require("./elements/SwcObject"), module.exports);
31
27
  __reExport(src_exports, require("./elements/SwcHTMLElementBase"), module.exports);
28
+ __reExport(src_exports, require("./elements/SwcObject"), module.exports);
29
+ __reExport(src_exports, require("./elements/SwcIf"), module.exports);
30
+ __reExport(src_exports, require("./elements/SwcForOf"), module.exports);
32
31
  __reExport(src_exports, require("./utils/Utils"), module.exports);
33
32
  __reExport(src_exports, require("./is/SwcHTMLAnchorElementBase"), module.exports);
34
33
  __reExport(src_exports, require("./is/SwcForOfAnchor"), module.exports);