@dooboostore/simple-web-component 1.0.13 → 1.0.14

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 (427) hide show
  1. package/dist/cjs/decorators/elementDefine.js.map +2 -2
  2. package/dist/cjs/elements/SwcInterfaces.js.map +2 -2
  3. package/dist/cjs/elements/apps/SwcApp.js +14 -7
  4. package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
  5. package/dist/cjs/elements/apps/SwcAppAnchor.js +14 -7
  6. package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
  7. package/dist/cjs/elements/apps/SwcAppArea.js +14 -7
  8. package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
  9. package/dist/cjs/elements/apps/SwcAppAudio.js +14 -7
  10. package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
  11. package/dist/cjs/elements/apps/SwcAppBase.js +14 -7
  12. package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
  13. package/dist/cjs/elements/apps/SwcAppBody.js +14 -7
  14. package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
  15. package/dist/cjs/elements/apps/SwcAppButton.js +14 -7
  16. package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
  17. package/dist/cjs/elements/apps/SwcAppCanvas.js +14 -7
  18. package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
  19. package/dist/cjs/elements/apps/SwcAppData.js +14 -7
  20. package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
  21. package/dist/cjs/elements/apps/SwcAppDataList.js +14 -7
  22. package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
  23. package/dist/cjs/elements/apps/SwcAppDetails.js +14 -7
  24. package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
  25. package/dist/cjs/elements/apps/SwcAppDialog.js +14 -7
  26. package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
  27. package/dist/cjs/elements/apps/SwcAppDiv.js +14 -7
  28. package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
  29. package/dist/cjs/elements/apps/SwcAppDl.js +14 -7
  30. package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
  31. package/dist/cjs/elements/apps/SwcAppEmbed.js +14 -7
  32. package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
  33. package/dist/cjs/elements/apps/SwcAppFieldSet.js +14 -7
  34. package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
  35. package/dist/cjs/elements/apps/SwcAppForm.js +14 -7
  36. package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
  37. package/dist/cjs/elements/apps/SwcAppHeading.js +14 -7
  38. package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
  39. package/dist/cjs/elements/apps/SwcAppHr.js +14 -7
  40. package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
  41. package/dist/cjs/elements/apps/SwcAppIFrame.js +14 -7
  42. package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
  43. package/dist/cjs/elements/apps/SwcAppImage.js +14 -7
  44. package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
  45. package/dist/cjs/elements/apps/SwcAppInput.js +14 -7
  46. package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
  47. package/dist/cjs/elements/apps/SwcAppLabel.js +14 -7
  48. package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
  49. package/dist/cjs/elements/apps/SwcAppLegend.js +14 -7
  50. package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
  51. package/dist/cjs/elements/apps/SwcAppLi.js +14 -7
  52. package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
  53. package/dist/cjs/elements/apps/SwcAppLink.js +14 -7
  54. package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
  55. package/dist/cjs/elements/apps/SwcAppMap.js +14 -7
  56. package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
  57. package/dist/cjs/elements/apps/SwcAppMeta.js +14 -7
  58. package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
  59. package/dist/cjs/elements/apps/SwcAppMeter.js +14 -7
  60. package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
  61. package/dist/cjs/elements/apps/SwcAppMod.js +14 -7
  62. package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
  63. package/dist/cjs/elements/apps/SwcAppObject.js +14 -7
  64. package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
  65. package/dist/cjs/elements/apps/SwcAppOl.js +14 -7
  66. package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
  67. package/dist/cjs/elements/apps/SwcAppOptGroup.js +14 -7
  68. package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
  69. package/dist/cjs/elements/apps/SwcAppOption.js +14 -7
  70. package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
  71. package/dist/cjs/elements/apps/SwcAppOutput.js +14 -7
  72. package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
  73. package/dist/cjs/elements/apps/SwcAppParagraph.js +14 -7
  74. package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
  75. package/dist/cjs/elements/apps/SwcAppParam.js +14 -7
  76. package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
  77. package/dist/cjs/elements/apps/SwcAppPicture.js +14 -7
  78. package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
  79. package/dist/cjs/elements/apps/SwcAppPre.js +14 -7
  80. package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
  81. package/dist/cjs/elements/apps/SwcAppProgress.js +14 -7
  82. package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
  83. package/dist/cjs/elements/apps/SwcAppQuote.js +14 -7
  84. package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
  85. package/dist/cjs/elements/apps/SwcAppScript.js +14 -7
  86. package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
  87. package/dist/cjs/elements/apps/SwcAppSelect.js +14 -7
  88. package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
  89. package/dist/cjs/elements/apps/SwcAppSlot.js +14 -7
  90. package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
  91. package/dist/cjs/elements/apps/SwcAppSource.js +14 -7
  92. package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
  93. package/dist/cjs/elements/apps/SwcAppSpan.js +14 -7
  94. package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
  95. package/dist/cjs/elements/apps/SwcAppStyle.js +14 -7
  96. package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
  97. package/dist/cjs/elements/apps/SwcAppTable.js +14 -7
  98. package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
  99. package/dist/cjs/elements/apps/SwcAppTableCell.js +14 -7
  100. package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
  101. package/dist/cjs/elements/apps/SwcAppTableRow.js +14 -7
  102. package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
  103. package/dist/cjs/elements/apps/SwcAppTableSection.js +14 -7
  104. package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
  105. package/dist/cjs/elements/apps/SwcAppTemplate.js +14 -7
  106. package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
  107. package/dist/cjs/elements/apps/SwcAppTextArea.js +14 -7
  108. package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
  109. package/dist/cjs/elements/apps/SwcAppTime.js +14 -7
  110. package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
  111. package/dist/cjs/elements/apps/SwcAppTitle.js +14 -7
  112. package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
  113. package/dist/cjs/elements/apps/SwcAppTrack.js +14 -7
  114. package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
  115. package/dist/cjs/elements/apps/SwcAppUl.js +14 -7
  116. package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
  117. package/dist/cjs/elements/apps/SwcAppVideo.js +14 -7
  118. package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
  119. package/dist/cjs/router/ElementRouter.js +172 -0
  120. package/dist/cjs/router/ElementRouter.js.map +7 -0
  121. package/dist/esm/decorators/elementDefine.js.map +2 -2
  122. package/dist/esm/elements/SwcInterfaces.js.map +2 -2
  123. package/dist/esm/elements/apps/SwcApp.js +14 -7
  124. package/dist/esm/elements/apps/SwcApp.js.map +2 -2
  125. package/dist/esm/elements/apps/SwcAppAnchor.js +14 -7
  126. package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
  127. package/dist/esm/elements/apps/SwcAppArea.js +14 -7
  128. package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
  129. package/dist/esm/elements/apps/SwcAppAudio.js +14 -7
  130. package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
  131. package/dist/esm/elements/apps/SwcAppBase.js +14 -7
  132. package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
  133. package/dist/esm/elements/apps/SwcAppBody.js +14 -7
  134. package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
  135. package/dist/esm/elements/apps/SwcAppButton.js +14 -7
  136. package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
  137. package/dist/esm/elements/apps/SwcAppCanvas.js +14 -7
  138. package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
  139. package/dist/esm/elements/apps/SwcAppData.js +14 -7
  140. package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
  141. package/dist/esm/elements/apps/SwcAppDataList.js +14 -7
  142. package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
  143. package/dist/esm/elements/apps/SwcAppDetails.js +14 -7
  144. package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
  145. package/dist/esm/elements/apps/SwcAppDialog.js +14 -7
  146. package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
  147. package/dist/esm/elements/apps/SwcAppDiv.js +14 -7
  148. package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
  149. package/dist/esm/elements/apps/SwcAppDl.js +14 -7
  150. package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
  151. package/dist/esm/elements/apps/SwcAppEmbed.js +14 -7
  152. package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
  153. package/dist/esm/elements/apps/SwcAppFieldSet.js +14 -7
  154. package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
  155. package/dist/esm/elements/apps/SwcAppForm.js +14 -7
  156. package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
  157. package/dist/esm/elements/apps/SwcAppHeading.js +14 -7
  158. package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
  159. package/dist/esm/elements/apps/SwcAppHr.js +14 -7
  160. package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
  161. package/dist/esm/elements/apps/SwcAppIFrame.js +14 -7
  162. package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
  163. package/dist/esm/elements/apps/SwcAppImage.js +14 -7
  164. package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
  165. package/dist/esm/elements/apps/SwcAppInput.js +14 -7
  166. package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
  167. package/dist/esm/elements/apps/SwcAppLabel.js +14 -7
  168. package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
  169. package/dist/esm/elements/apps/SwcAppLegend.js +14 -7
  170. package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
  171. package/dist/esm/elements/apps/SwcAppLi.js +14 -7
  172. package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
  173. package/dist/esm/elements/apps/SwcAppLink.js +14 -7
  174. package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
  175. package/dist/esm/elements/apps/SwcAppMap.js +14 -7
  176. package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
  177. package/dist/esm/elements/apps/SwcAppMeta.js +14 -7
  178. package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
  179. package/dist/esm/elements/apps/SwcAppMeter.js +14 -7
  180. package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
  181. package/dist/esm/elements/apps/SwcAppMod.js +14 -7
  182. package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
  183. package/dist/esm/elements/apps/SwcAppObject.js +14 -7
  184. package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
  185. package/dist/esm/elements/apps/SwcAppOl.js +14 -7
  186. package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
  187. package/dist/esm/elements/apps/SwcAppOptGroup.js +14 -7
  188. package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
  189. package/dist/esm/elements/apps/SwcAppOption.js +14 -7
  190. package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
  191. package/dist/esm/elements/apps/SwcAppOutput.js +14 -7
  192. package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
  193. package/dist/esm/elements/apps/SwcAppParagraph.js +14 -7
  194. package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
  195. package/dist/esm/elements/apps/SwcAppParam.js +14 -7
  196. package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
  197. package/dist/esm/elements/apps/SwcAppPicture.js +14 -7
  198. package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
  199. package/dist/esm/elements/apps/SwcAppPre.js +14 -7
  200. package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
  201. package/dist/esm/elements/apps/SwcAppProgress.js +14 -7
  202. package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
  203. package/dist/esm/elements/apps/SwcAppQuote.js +14 -7
  204. package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
  205. package/dist/esm/elements/apps/SwcAppScript.js +14 -7
  206. package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
  207. package/dist/esm/elements/apps/SwcAppSelect.js +14 -7
  208. package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
  209. package/dist/esm/elements/apps/SwcAppSlot.js +14 -7
  210. package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
  211. package/dist/esm/elements/apps/SwcAppSource.js +14 -7
  212. package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
  213. package/dist/esm/elements/apps/SwcAppSpan.js +14 -7
  214. package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
  215. package/dist/esm/elements/apps/SwcAppStyle.js +14 -7
  216. package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
  217. package/dist/esm/elements/apps/SwcAppTable.js +14 -7
  218. package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
  219. package/dist/esm/elements/apps/SwcAppTableCell.js +14 -7
  220. package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
  221. package/dist/esm/elements/apps/SwcAppTableRow.js +14 -7
  222. package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
  223. package/dist/esm/elements/apps/SwcAppTableSection.js +14 -7
  224. package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
  225. package/dist/esm/elements/apps/SwcAppTemplate.js +14 -7
  226. package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
  227. package/dist/esm/elements/apps/SwcAppTextArea.js +14 -7
  228. package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
  229. package/dist/esm/elements/apps/SwcAppTime.js +14 -7
  230. package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
  231. package/dist/esm/elements/apps/SwcAppTitle.js +14 -7
  232. package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
  233. package/dist/esm/elements/apps/SwcAppTrack.js +14 -7
  234. package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
  235. package/dist/esm/elements/apps/SwcAppUl.js +14 -7
  236. package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
  237. package/dist/esm/elements/apps/SwcAppVideo.js +14 -7
  238. package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
  239. package/dist/esm/router/ElementRouter.js +153 -0
  240. package/dist/esm/router/ElementRouter.js.map +7 -0
  241. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +912 -415
  242. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  243. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  244. package/dist/types/elements/SwcInterfaces.d.ts +3 -1
  245. package/dist/types/elements/SwcInterfaces.d.ts.map +1 -1
  246. package/dist/types/elements/apps/SwcApp.d.ts +2 -3
  247. package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
  248. package/dist/types/elements/apps/SwcAppAnchor.d.ts +2 -3
  249. package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
  250. package/dist/types/elements/apps/SwcAppArea.d.ts +2 -3
  251. package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
  252. package/dist/types/elements/apps/SwcAppAudio.d.ts +2 -3
  253. package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
  254. package/dist/types/elements/apps/SwcAppBase.d.ts +2 -3
  255. package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
  256. package/dist/types/elements/apps/SwcAppBody.d.ts +2 -3
  257. package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
  258. package/dist/types/elements/apps/SwcAppButton.d.ts +2 -3
  259. package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
  260. package/dist/types/elements/apps/SwcAppCanvas.d.ts +2 -3
  261. package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
  262. package/dist/types/elements/apps/SwcAppData.d.ts +2 -3
  263. package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
  264. package/dist/types/elements/apps/SwcAppDataList.d.ts +2 -3
  265. package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
  266. package/dist/types/elements/apps/SwcAppDetails.d.ts +2 -3
  267. package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
  268. package/dist/types/elements/apps/SwcAppDialog.d.ts +2 -3
  269. package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
  270. package/dist/types/elements/apps/SwcAppDiv.d.ts +2 -3
  271. package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
  272. package/dist/types/elements/apps/SwcAppDl.d.ts +2 -3
  273. package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
  274. package/dist/types/elements/apps/SwcAppEmbed.d.ts +2 -3
  275. package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
  276. package/dist/types/elements/apps/SwcAppFieldSet.d.ts +2 -3
  277. package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
  278. package/dist/types/elements/apps/SwcAppForm.d.ts +2 -3
  279. package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
  280. package/dist/types/elements/apps/SwcAppHeading.d.ts +2 -3
  281. package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
  282. package/dist/types/elements/apps/SwcAppHr.d.ts +2 -3
  283. package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
  284. package/dist/types/elements/apps/SwcAppIFrame.d.ts +2 -3
  285. package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
  286. package/dist/types/elements/apps/SwcAppImage.d.ts +2 -3
  287. package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
  288. package/dist/types/elements/apps/SwcAppInput.d.ts +2 -3
  289. package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
  290. package/dist/types/elements/apps/SwcAppLabel.d.ts +2 -3
  291. package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
  292. package/dist/types/elements/apps/SwcAppLegend.d.ts +2 -3
  293. package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
  294. package/dist/types/elements/apps/SwcAppLi.d.ts +2 -3
  295. package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
  296. package/dist/types/elements/apps/SwcAppLink.d.ts +2 -3
  297. package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
  298. package/dist/types/elements/apps/SwcAppMap.d.ts +2 -3
  299. package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
  300. package/dist/types/elements/apps/SwcAppMeta.d.ts +2 -3
  301. package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
  302. package/dist/types/elements/apps/SwcAppMeter.d.ts +2 -3
  303. package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
  304. package/dist/types/elements/apps/SwcAppMod.d.ts +2 -3
  305. package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
  306. package/dist/types/elements/apps/SwcAppObject.d.ts +2 -3
  307. package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
  308. package/dist/types/elements/apps/SwcAppOl.d.ts +2 -3
  309. package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
  310. package/dist/types/elements/apps/SwcAppOptGroup.d.ts +2 -3
  311. package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
  312. package/dist/types/elements/apps/SwcAppOption.d.ts +2 -3
  313. package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
  314. package/dist/types/elements/apps/SwcAppOutput.d.ts +2 -3
  315. package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
  316. package/dist/types/elements/apps/SwcAppParagraph.d.ts +2 -3
  317. package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
  318. package/dist/types/elements/apps/SwcAppParam.d.ts +2 -3
  319. package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
  320. package/dist/types/elements/apps/SwcAppPicture.d.ts +2 -3
  321. package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
  322. package/dist/types/elements/apps/SwcAppPre.d.ts +2 -3
  323. package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
  324. package/dist/types/elements/apps/SwcAppProgress.d.ts +2 -3
  325. package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
  326. package/dist/types/elements/apps/SwcAppQuote.d.ts +2 -3
  327. package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
  328. package/dist/types/elements/apps/SwcAppScript.d.ts +2 -3
  329. package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
  330. package/dist/types/elements/apps/SwcAppSelect.d.ts +2 -3
  331. package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
  332. package/dist/types/elements/apps/SwcAppSlot.d.ts +2 -3
  333. package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
  334. package/dist/types/elements/apps/SwcAppSource.d.ts +2 -3
  335. package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
  336. package/dist/types/elements/apps/SwcAppSpan.d.ts +2 -3
  337. package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
  338. package/dist/types/elements/apps/SwcAppStyle.d.ts +2 -3
  339. package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
  340. package/dist/types/elements/apps/SwcAppTable.d.ts +2 -3
  341. package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
  342. package/dist/types/elements/apps/SwcAppTableCell.d.ts +2 -3
  343. package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
  344. package/dist/types/elements/apps/SwcAppTableRow.d.ts +2 -3
  345. package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
  346. package/dist/types/elements/apps/SwcAppTableSection.d.ts +2 -3
  347. package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
  348. package/dist/types/elements/apps/SwcAppTemplate.d.ts +2 -3
  349. package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
  350. package/dist/types/elements/apps/SwcAppTextArea.d.ts +2 -3
  351. package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
  352. package/dist/types/elements/apps/SwcAppTime.d.ts +2 -3
  353. package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
  354. package/dist/types/elements/apps/SwcAppTitle.d.ts +2 -3
  355. package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
  356. package/dist/types/elements/apps/SwcAppTrack.d.ts +2 -3
  357. package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
  358. package/dist/types/elements/apps/SwcAppUl.d.ts +2 -3
  359. package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
  360. package/dist/types/elements/apps/SwcAppVideo.d.ts +2 -3
  361. package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
  362. package/dist/types/router/ElementRouter.d.ts +41 -0
  363. package/dist/types/router/ElementRouter.d.ts.map +1 -0
  364. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +912 -415
  365. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  366. package/package.json +2 -2
  367. package/src/decorators/elementDefine.ts +1 -0
  368. package/src/elements/SwcInterfaces.ts +6 -2
  369. package/src/elements/apps/SwcApp.ts +17 -9
  370. package/src/elements/apps/SwcAppAnchor.ts +17 -9
  371. package/src/elements/apps/SwcAppArea.ts +17 -9
  372. package/src/elements/apps/SwcAppAudio.ts +17 -9
  373. package/src/elements/apps/SwcAppBase.ts +17 -9
  374. package/src/elements/apps/SwcAppBody.ts +17 -9
  375. package/src/elements/apps/SwcAppButton.ts +17 -9
  376. package/src/elements/apps/SwcAppCanvas.ts +17 -9
  377. package/src/elements/apps/SwcAppData.ts +17 -9
  378. package/src/elements/apps/SwcAppDataList.ts +17 -9
  379. package/src/elements/apps/SwcAppDetails.ts +17 -9
  380. package/src/elements/apps/SwcAppDialog.ts +17 -9
  381. package/src/elements/apps/SwcAppDiv.ts +17 -9
  382. package/src/elements/apps/SwcAppDl.ts +17 -9
  383. package/src/elements/apps/SwcAppEmbed.ts +17 -9
  384. package/src/elements/apps/SwcAppFieldSet.ts +17 -9
  385. package/src/elements/apps/SwcAppForm.ts +17 -9
  386. package/src/elements/apps/SwcAppHeading.ts +17 -9
  387. package/src/elements/apps/SwcAppHr.ts +17 -9
  388. package/src/elements/apps/SwcAppIFrame.ts +17 -9
  389. package/src/elements/apps/SwcAppImage.ts +17 -9
  390. package/src/elements/apps/SwcAppInput.ts +17 -9
  391. package/src/elements/apps/SwcAppLabel.ts +17 -9
  392. package/src/elements/apps/SwcAppLegend.ts +17 -9
  393. package/src/elements/apps/SwcAppLi.ts +17 -9
  394. package/src/elements/apps/SwcAppLink.ts +17 -9
  395. package/src/elements/apps/SwcAppMap.ts +17 -9
  396. package/src/elements/apps/SwcAppMeta.ts +17 -9
  397. package/src/elements/apps/SwcAppMeter.ts +17 -9
  398. package/src/elements/apps/SwcAppMod.ts +17 -9
  399. package/src/elements/apps/SwcAppObject.ts +17 -9
  400. package/src/elements/apps/SwcAppOl.ts +17 -9
  401. package/src/elements/apps/SwcAppOptGroup.ts +17 -9
  402. package/src/elements/apps/SwcAppOption.ts +17 -9
  403. package/src/elements/apps/SwcAppOutput.ts +17 -9
  404. package/src/elements/apps/SwcAppParagraph.ts +17 -9
  405. package/src/elements/apps/SwcAppParam.ts +17 -9
  406. package/src/elements/apps/SwcAppPicture.ts +17 -9
  407. package/src/elements/apps/SwcAppPre.ts +17 -9
  408. package/src/elements/apps/SwcAppProgress.ts +17 -9
  409. package/src/elements/apps/SwcAppQuote.ts +17 -9
  410. package/src/elements/apps/SwcAppScript.ts +17 -9
  411. package/src/elements/apps/SwcAppSelect.ts +17 -9
  412. package/src/elements/apps/SwcAppSlot.ts +17 -9
  413. package/src/elements/apps/SwcAppSource.ts +17 -9
  414. package/src/elements/apps/SwcAppSpan.ts +17 -9
  415. package/src/elements/apps/SwcAppStyle.ts +17 -9
  416. package/src/elements/apps/SwcAppTable.ts +17 -9
  417. package/src/elements/apps/SwcAppTableCell.ts +17 -9
  418. package/src/elements/apps/SwcAppTableRow.ts +17 -9
  419. package/src/elements/apps/SwcAppTableSection.ts +17 -9
  420. package/src/elements/apps/SwcAppTemplate.ts +17 -9
  421. package/src/elements/apps/SwcAppTextArea.ts +17 -9
  422. package/src/elements/apps/SwcAppTime.ts +17 -9
  423. package/src/elements/apps/SwcAppTitle.ts +17 -9
  424. package/src/elements/apps/SwcAppTrack.ts +17 -9
  425. package/src/elements/apps/SwcAppUl.ts +17 -9
  426. package/src/elements/apps/SwcAppVideo.ts +17 -9
  427. package/src/router/ElementRouter.ts +187 -0
@@ -4,6 +4,7 @@ import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
4
4
  import { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';
5
5
  import { PathRouter } from '@dooboostore/core-web/routers/PathRouter';
6
6
  import { HashRouter } from '@dooboostore/core-web/routers/HashRouter';
7
+ import { ElementRouter } from '../../router/ElementRouter';
7
8
  import { SimOption } from '@dooboostore/simple-boot/SimOption';
8
9
  import { ConstructorType } from '@dooboostore/core/types';
9
10
  import { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';
@@ -12,7 +13,7 @@ import { Subscription } from '@dooboostore/core/message/Subscription';
12
13
  @elementDefine({ name: 'swc-app-time', extends: 'time' })
13
14
  export class SwcAppTime extends SwcHTMLTimeElementBase implements SwcAppInterface {
14
15
  public simpleApplication?: SimpleApplication;
15
- protected _router?: PathRouter | HashRouter;
16
+ public router?: Router;
16
17
  private routerSubscription?: Subscription;
17
18
 
18
19
  constructor() {
@@ -31,14 +32,21 @@ export class SwcAppTime extends SwcHTMLTimeElementBase implements SwcAppInterfac
31
32
  try {
32
33
  const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);
33
34
  if (userConfig) {
34
- const _config = {
35
- routeType: 'path',
35
+ const _config: SwcConfigType = {
36
+ routeType: 'element',
36
37
  window: window,
37
38
  ...userConfig
38
39
  };
39
40
 
40
- this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });
41
- this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {
41
+ if (_config.routeType === 'path') {
42
+ this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });
43
+ } else if (_config.routeType === 'hash') {
44
+ this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });
45
+ } else {
46
+ this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });
47
+ }
48
+
49
+ this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {
42
50
  if (route.triggerPoint === 'end') {
43
51
  this.routingProcess(route.path);
44
52
  }
@@ -52,8 +60,8 @@ export class SwcAppTime extends SwcHTMLTimeElementBase implements SwcAppInterfac
52
60
 
53
61
  // Use 'any' key for Map to allow Abstract classes like Router
54
62
  const otherInstanceSim = new Map<any, any>();
55
- if (this._router) {
56
- otherInstanceSim.set(Router, this._router);
63
+ if (this.router) {
64
+ otherInstanceSim.set(Router, this.router);
57
65
  }
58
66
  this.simpleApplication.run(otherInstanceSim);
59
67
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -65,7 +73,7 @@ export class SwcAppTime extends SwcHTMLTimeElementBase implements SwcAppInterfac
65
73
  }
66
74
  }
67
75
  if (_config.path) {
68
- await this._router?.go(_config.path);
76
+ await this.router?.go(_config.path);
69
77
  }
70
78
  }
71
79
  } catch (e) {
@@ -79,7 +87,7 @@ export class SwcAppTime extends SwcHTMLTimeElementBase implements SwcAppInterfac
79
87
  }
80
88
 
81
89
  async routing(path: string) {
82
- await this._router?.go(path);
90
+ await this.router?.go(path);
83
91
  }
84
92
 
85
93
  private async routingProcess(path: string) {
@@ -4,6 +4,7 @@ import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
4
4
  import { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';
5
5
  import { PathRouter } from '@dooboostore/core-web/routers/PathRouter';
6
6
  import { HashRouter } from '@dooboostore/core-web/routers/HashRouter';
7
+ import { ElementRouter } from '../../router/ElementRouter';
7
8
  import { SimOption } from '@dooboostore/simple-boot/SimOption';
8
9
  import { ConstructorType } from '@dooboostore/core/types';
9
10
  import { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';
@@ -12,7 +13,7 @@ import { Subscription } from '@dooboostore/core/message/Subscription';
12
13
  @elementDefine({ name: 'swc-app-title', extends: 'title' })
13
14
  export class SwcAppTitle extends SwcHTMLTitleElementBase implements SwcAppInterface {
14
15
  public simpleApplication?: SimpleApplication;
15
- protected _router?: PathRouter | HashRouter;
16
+ public router?: Router;
16
17
  private routerSubscription?: Subscription;
17
18
 
18
19
  constructor() {
@@ -31,14 +32,21 @@ export class SwcAppTitle extends SwcHTMLTitleElementBase implements SwcAppInterf
31
32
  try {
32
33
  const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);
33
34
  if (userConfig) {
34
- const _config = {
35
- routeType: 'path',
35
+ const _config: SwcConfigType = {
36
+ routeType: 'element',
36
37
  window: window,
37
38
  ...userConfig
38
39
  };
39
40
 
40
- this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });
41
- this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {
41
+ if (_config.routeType === 'path') {
42
+ this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });
43
+ } else if (_config.routeType === 'hash') {
44
+ this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });
45
+ } else {
46
+ this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });
47
+ }
48
+
49
+ this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {
42
50
  if (route.triggerPoint === 'end') {
43
51
  this.routingProcess(route.path);
44
52
  }
@@ -52,8 +60,8 @@ export class SwcAppTitle extends SwcHTMLTitleElementBase implements SwcAppInterf
52
60
 
53
61
  // Use 'any' key for Map to allow Abstract classes like Router
54
62
  const otherInstanceSim = new Map<any, any>();
55
- if (this._router) {
56
- otherInstanceSim.set(Router, this._router);
63
+ if (this.router) {
64
+ otherInstanceSim.set(Router, this.router);
57
65
  }
58
66
  this.simpleApplication.run(otherInstanceSim);
59
67
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -65,7 +73,7 @@ export class SwcAppTitle extends SwcHTMLTitleElementBase implements SwcAppInterf
65
73
  }
66
74
  }
67
75
  if (_config.path) {
68
- await this._router?.go(_config.path);
76
+ await this.router?.go(_config.path);
69
77
  }
70
78
  }
71
79
  } catch (e) {
@@ -79,7 +87,7 @@ export class SwcAppTitle extends SwcHTMLTitleElementBase implements SwcAppInterf
79
87
  }
80
88
 
81
89
  async routing(path: string) {
82
- await this._router?.go(path);
90
+ await this.router?.go(path);
83
91
  }
84
92
 
85
93
  private async routingProcess(path: string) {
@@ -4,6 +4,7 @@ import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
4
4
  import { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';
5
5
  import { PathRouter } from '@dooboostore/core-web/routers/PathRouter';
6
6
  import { HashRouter } from '@dooboostore/core-web/routers/HashRouter';
7
+ import { ElementRouter } from '../../router/ElementRouter';
7
8
  import { SimOption } from '@dooboostore/simple-boot/SimOption';
8
9
  import { ConstructorType } from '@dooboostore/core/types';
9
10
  import { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';
@@ -12,7 +13,7 @@ import { Subscription } from '@dooboostore/core/message/Subscription';
12
13
  @elementDefine({ name: 'swc-app-track', extends: 'track' })
13
14
  export class SwcAppTrack extends SwcHTMLTrackElementBase implements SwcAppInterface {
14
15
  public simpleApplication?: SimpleApplication;
15
- protected _router?: PathRouter | HashRouter;
16
+ public router?: Router;
16
17
  private routerSubscription?: Subscription;
17
18
 
18
19
  constructor() {
@@ -31,14 +32,21 @@ export class SwcAppTrack extends SwcHTMLTrackElementBase implements SwcAppInterf
31
32
  try {
32
33
  const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);
33
34
  if (userConfig) {
34
- const _config = {
35
- routeType: 'path',
35
+ const _config: SwcConfigType = {
36
+ routeType: 'element',
36
37
  window: window,
37
38
  ...userConfig
38
39
  };
39
40
 
40
- this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });
41
- this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {
41
+ if (_config.routeType === 'path') {
42
+ this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });
43
+ } else if (_config.routeType === 'hash') {
44
+ this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });
45
+ } else {
46
+ this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });
47
+ }
48
+
49
+ this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {
42
50
  if (route.triggerPoint === 'end') {
43
51
  this.routingProcess(route.path);
44
52
  }
@@ -52,8 +60,8 @@ export class SwcAppTrack extends SwcHTMLTrackElementBase implements SwcAppInterf
52
60
 
53
61
  // Use 'any' key for Map to allow Abstract classes like Router
54
62
  const otherInstanceSim = new Map<any, any>();
55
- if (this._router) {
56
- otherInstanceSim.set(Router, this._router);
63
+ if (this.router) {
64
+ otherInstanceSim.set(Router, this.router);
57
65
  }
58
66
  this.simpleApplication.run(otherInstanceSim);
59
67
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -65,7 +73,7 @@ export class SwcAppTrack extends SwcHTMLTrackElementBase implements SwcAppInterf
65
73
  }
66
74
  }
67
75
  if (_config.path) {
68
- await this._router?.go(_config.path);
76
+ await this.router?.go(_config.path);
69
77
  }
70
78
  }
71
79
  } catch (e) {
@@ -79,7 +87,7 @@ export class SwcAppTrack extends SwcHTMLTrackElementBase implements SwcAppInterf
79
87
  }
80
88
 
81
89
  async routing(path: string) {
82
- await this._router?.go(path);
90
+ await this.router?.go(path);
83
91
  }
84
92
 
85
93
  private async routingProcess(path: string) {
@@ -4,6 +4,7 @@ import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
4
4
  import { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';
5
5
  import { PathRouter } from '@dooboostore/core-web/routers/PathRouter';
6
6
  import { HashRouter } from '@dooboostore/core-web/routers/HashRouter';
7
+ import { ElementRouter } from '../../router/ElementRouter';
7
8
  import { SimOption } from '@dooboostore/simple-boot/SimOption';
8
9
  import { ConstructorType } from '@dooboostore/core/types';
9
10
  import { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';
@@ -12,7 +13,7 @@ import { Subscription } from '@dooboostore/core/message/Subscription';
12
13
  @elementDefine({ name: 'swc-app-ul', extends: 'ul' })
13
14
  export class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface {
14
15
  public simpleApplication?: SimpleApplication;
15
- protected _router?: PathRouter | HashRouter;
16
+ public router?: Router;
16
17
  private routerSubscription?: Subscription;
17
18
 
18
19
  constructor() {
@@ -31,14 +32,21 @@ export class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface
31
32
  try {
32
33
  const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);
33
34
  if (userConfig) {
34
- const _config = {
35
- routeType: 'path',
35
+ const _config: SwcConfigType = {
36
+ routeType: 'element',
36
37
  window: window,
37
38
  ...userConfig
38
39
  };
39
40
 
40
- this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });
41
- this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {
41
+ if (_config.routeType === 'path') {
42
+ this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });
43
+ } else if (_config.routeType === 'hash') {
44
+ this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });
45
+ } else {
46
+ this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });
47
+ }
48
+
49
+ this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {
42
50
  if (route.triggerPoint === 'end') {
43
51
  this.routingProcess(route.path);
44
52
  }
@@ -52,8 +60,8 @@ export class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface
52
60
 
53
61
  // Use 'any' key for Map to allow Abstract classes like Router
54
62
  const otherInstanceSim = new Map<any, any>();
55
- if (this._router) {
56
- otherInstanceSim.set(Router, this._router);
63
+ if (this.router) {
64
+ otherInstanceSim.set(Router, this.router);
57
65
  }
58
66
  this.simpleApplication.run(otherInstanceSim);
59
67
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -65,7 +73,7 @@ export class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface
65
73
  }
66
74
  }
67
75
  if (_config.path) {
68
- await this._router?.go(_config.path);
76
+ await this.router?.go(_config.path);
69
77
  }
70
78
  }
71
79
  } catch (e) {
@@ -79,7 +87,7 @@ export class SwcAppUl extends SwcHTMLUListElementBase implements SwcAppInterface
79
87
  }
80
88
 
81
89
  async routing(path: string) {
82
- await this._router?.go(path);
90
+ await this.router?.go(path);
83
91
  }
84
92
 
85
93
  private async routingProcess(path: string) {
@@ -4,6 +4,7 @@ import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
4
4
  import { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';
5
5
  import { PathRouter } from '@dooboostore/core-web/routers/PathRouter';
6
6
  import { HashRouter } from '@dooboostore/core-web/routers/HashRouter';
7
+ import { ElementRouter } from '../../router/ElementRouter';
7
8
  import { SimOption } from '@dooboostore/simple-boot/SimOption';
8
9
  import { ConstructorType } from '@dooboostore/core/types';
9
10
  import { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';
@@ -12,7 +13,7 @@ import { Subscription } from '@dooboostore/core/message/Subscription';
12
13
  @elementDefine({ name: 'swc-app-video', extends: 'video' })
13
14
  export class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterface {
14
15
  public simpleApplication?: SimpleApplication;
15
- protected _router?: PathRouter | HashRouter;
16
+ public router?: Router;
16
17
  private routerSubscription?: Subscription;
17
18
 
18
19
  constructor() {
@@ -31,14 +32,21 @@ export class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterf
31
32
  try {
32
33
  const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);
33
34
  if (userConfig) {
34
- const _config = {
35
- routeType: 'path',
35
+ const _config: SwcConfigType = {
36
+ routeType: 'element',
36
37
  window: window,
37
38
  ...userConfig
38
39
  };
39
40
 
40
- this._router = _config.routeType === 'path' ? new PathRouter({ window: _config.window }) : new HashRouter({ window: _config.window });
41
- this.routerSubscription = this._router.observable.subscribe((route: RouterEventType) => {
41
+ if (_config.routeType === 'path') {
42
+ this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });
43
+ } else if (_config.routeType === 'hash') {
44
+ this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });
45
+ } else {
46
+ this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });
47
+ }
48
+
49
+ this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {
42
50
  if (route.triggerPoint === 'end') {
43
51
  this.routingProcess(route.path);
44
52
  }
@@ -52,8 +60,8 @@ export class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterf
52
60
 
53
61
  // Use 'any' key for Map to allow Abstract classes like Router
54
62
  const otherInstanceSim = new Map<any, any>();
55
- if (this._router) {
56
- otherInstanceSim.set(Router, this._router);
63
+ if (this.router) {
64
+ otherInstanceSim.set(Router, this.router);
57
65
  }
58
66
  this.simpleApplication.run(otherInstanceSim);
59
67
  const data = this.simpleApplication.sim(_config.rootRouter);
@@ -65,7 +73,7 @@ export class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterf
65
73
  }
66
74
  }
67
75
  if (_config.path) {
68
- await this._router?.go(_config.path);
76
+ await this.router?.go(_config.path);
69
77
  }
70
78
  }
71
79
  } catch (e) {
@@ -79,7 +87,7 @@ export class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterf
79
87
  }
80
88
 
81
89
  async routing(path: string) {
82
- await this._router?.go(path);
90
+ await this.router?.go(path);
83
91
  }
84
92
 
85
93
  private async routingProcess(path: string) {
@@ -0,0 +1,187 @@
1
+ import { ChangeStateConfig, ChangeStateResult, RouteAction, Router, RouterConfig, RouterMethodOptions } from '@dooboostore/core-web/routers/Router';
2
+ import { UrlUtils } from '@dooboostore/core/url/UrlUtils';
3
+
4
+ export class ElementRouter extends Router {
5
+ private _history: { url: string; data: any; title?: string }[] = [];
6
+ private _currentIndex = -1;
7
+
8
+ constructor(config: RouterConfig) {
9
+ // Router 부모 클래스가 생성자에서 go()를 호출하여 초기화되지 않은 필드에 접근하는 것을 방지하기 위해
10
+ // firstUrl을 제거하고 넘긴 뒤 자식에서 수동 처리합니다.
11
+ const { firstUrl, ...rest } = config;
12
+ super(rest);
13
+
14
+ const startUrl = firstUrl ?? '/';
15
+ this._history = [{ url: startUrl, data: null }];
16
+ this._currentIndex = 0;
17
+
18
+ if (firstUrl) {
19
+ this.replace(firstUrl, { config: { noEventAndPublish: true } });
20
+ }
21
+ }
22
+
23
+ // Override pushState to manage internal history
24
+ pushState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {
25
+ const behaviorSubject = (this as any).behaviorSubject;
26
+ if (!config?.noEventAndPublish && behaviorSubject) {
27
+ behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });
28
+ }
29
+
30
+ // Ensure _history is initialized (defense for super calls)
31
+ if (!this._history) this._history = [];
32
+
33
+ this._history = this._history.slice(0, this._currentIndex + 1);
34
+ this._history.push({ url: path, data, title });
35
+ this._currentIndex++;
36
+
37
+ if (!config?.noEventAndPublish && behaviorSubject) {
38
+ behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });
39
+ }
40
+ return { data };
41
+ }
42
+
43
+ // Override replaceState to manage internal history
44
+ replaceState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {
45
+ const behaviorSubject = (this as any).behaviorSubject;
46
+ if (!config?.noEventAndPublish && behaviorSubject) {
47
+ behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });
48
+ }
49
+
50
+ if (!this._history) this._history = [];
51
+ if (this._currentIndex === -1) {
52
+ this._history.push({ url: path, data, title });
53
+ this._currentIndex = 0;
54
+ } else {
55
+ this._history[this._currentIndex] = { url: path, data, title };
56
+ }
57
+
58
+ if (!config?.noEventAndPublish && behaviorSubject) {
59
+ behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });
60
+ }
61
+ return { data };
62
+ }
63
+
64
+ push(path: RouteAction, state?: RouterMethodOptions): void {
65
+ this.pushState(state?.data, state?.title, this.toUrl(path), state?.config);
66
+ }
67
+
68
+ replace(path: RouteAction, state?: RouterMethodOptions): void {
69
+ this.replaceState(state?.data, state?.title, this.toUrl(path), state?.config);
70
+ }
71
+
72
+ back(config?: ChangeStateConfig): void {
73
+ if (this._currentIndex > 0) {
74
+ this.go(-1, config);
75
+ }
76
+ }
77
+
78
+ forward(config?: ChangeStateConfig): void {
79
+ if (this._currentIndex < this._history.length - 1) {
80
+ this.go(1, config);
81
+ }
82
+ }
83
+
84
+ go(i: number, config?: ChangeStateConfig): void;
85
+ async go(config: string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }): Promise<void>;
86
+ go(config: number | string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }, changeStateConfig?: ChangeStateConfig): Promise<void> | void {
87
+ if (typeof config === 'number') {
88
+ const targetIndex = this._currentIndex + config;
89
+ if (this._history && targetIndex >= 0 && targetIndex < this._history.length) {
90
+ const behaviorSubject = (this as any).behaviorSubject;
91
+ if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {
92
+ behaviorSubject.next({ ...this.getRouteData(), triggerPoint: 'start' });
93
+ }
94
+
95
+ this._currentIndex = targetIndex;
96
+ const entry = this._history[this._currentIndex];
97
+
98
+ if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {
99
+ behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: entry.url }), triggerPoint: 'end' });
100
+ }
101
+ }
102
+ return;
103
+ }
104
+ return super.go(config as any, changeStateConfig);
105
+ }
106
+
107
+ getData(): any {
108
+ return this._history?.[this._currentIndex]?.data;
109
+ }
110
+
111
+ getUrl(): string {
112
+ return this._history?.[this._currentIndex]?.url ?? this.config?.firstUrl ?? '/';
113
+ }
114
+
115
+ getHref(): string {
116
+ return this.getUrl();
117
+ }
118
+
119
+ getPathName(): string {
120
+ return this.getUrl().split('?')[0];
121
+ }
122
+
123
+ getSearch(): string {
124
+ const parts = this.getUrl().split('?');
125
+ return parts[1] ? `?${parts[1]}` : '';
126
+ }
127
+
128
+ getSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {
129
+ const search = this.getSearch();
130
+ const searchParams = new URLSearchParams(search);
131
+ return UrlUtils.manipulateSearchParams(searchParams, data);
132
+ }
133
+
134
+ getHashSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {
135
+ const url = this.getUrl();
136
+ const hashIdx = url.indexOf('#');
137
+ const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : '';
138
+ const searchParams = new URLSearchParams(hash);
139
+ return UrlUtils.manipulateSearchParams(searchParams, data);
140
+ }
141
+
142
+ pushAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {
143
+ const s = this.getSearchParams({ append: params });
144
+ this.push({ searchParams: s }, state);
145
+ }
146
+
147
+ pushDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {
148
+ const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });
149
+ const url = this.getUrl().split('#')[0];
150
+ const size = Array.from(s.entries()).length;
151
+ this.push(url + (size > 0 ? '#' + s.toString() : ''), state);
152
+ }
153
+
154
+ pushDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {
155
+ const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });
156
+ this.push({ searchParams: s }, state);
157
+ }
158
+
159
+ pushUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {
160
+ const s = this.getSearchParams();
161
+ UrlUtils.upsertSearchParam(s, params);
162
+ this.push({ searchParams: s }, state);
163
+ }
164
+
165
+ replaceAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {
166
+ const s = this.getSearchParams({ append: params });
167
+ this.replace({ searchParams: s }, state);
168
+ }
169
+
170
+ replaceDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {
171
+ const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });
172
+ const url = this.getUrl().split('#')[0];
173
+ const size = Array.from(s.entries()).length;
174
+ this.replace(url + (size > 0 ? '#' + s.toString() : ''), state);
175
+ }
176
+
177
+ replaceDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {
178
+ const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });
179
+ this.replace({ searchParams: s }, state);
180
+ }
181
+
182
+ replaceUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {
183
+ const s = this.getSearchParamObject();
184
+ UrlUtils.upsertSearchParam(s as any, params);
185
+ this.replace({ searchParams: s as any }, state);
186
+ }
187
+ }