@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.
- package/dist/cjs/decorators/elementDefine.js.map +2 -2
- package/dist/cjs/elements/SwcInterfaces.js.map +2 -2
- package/dist/cjs/elements/apps/SwcApp.js +14 -7
- package/dist/cjs/elements/apps/SwcApp.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppAnchor.js +14 -7
- package/dist/cjs/elements/apps/SwcAppAnchor.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppArea.js +14 -7
- package/dist/cjs/elements/apps/SwcAppArea.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppAudio.js +14 -7
- package/dist/cjs/elements/apps/SwcAppAudio.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppBase.js +14 -7
- package/dist/cjs/elements/apps/SwcAppBase.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppBody.js +14 -7
- package/dist/cjs/elements/apps/SwcAppBody.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppButton.js +14 -7
- package/dist/cjs/elements/apps/SwcAppButton.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppCanvas.js +14 -7
- package/dist/cjs/elements/apps/SwcAppCanvas.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppData.js +14 -7
- package/dist/cjs/elements/apps/SwcAppData.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppDataList.js +14 -7
- package/dist/cjs/elements/apps/SwcAppDataList.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppDetails.js +14 -7
- package/dist/cjs/elements/apps/SwcAppDetails.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppDialog.js +14 -7
- package/dist/cjs/elements/apps/SwcAppDialog.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppDiv.js +14 -7
- package/dist/cjs/elements/apps/SwcAppDiv.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppDl.js +14 -7
- package/dist/cjs/elements/apps/SwcAppDl.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppEmbed.js +14 -7
- package/dist/cjs/elements/apps/SwcAppEmbed.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppFieldSet.js +14 -7
- package/dist/cjs/elements/apps/SwcAppFieldSet.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppForm.js +14 -7
- package/dist/cjs/elements/apps/SwcAppForm.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppHeading.js +14 -7
- package/dist/cjs/elements/apps/SwcAppHeading.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppHr.js +14 -7
- package/dist/cjs/elements/apps/SwcAppHr.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppIFrame.js +14 -7
- package/dist/cjs/elements/apps/SwcAppIFrame.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppImage.js +14 -7
- package/dist/cjs/elements/apps/SwcAppImage.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppInput.js +14 -7
- package/dist/cjs/elements/apps/SwcAppInput.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppLabel.js +14 -7
- package/dist/cjs/elements/apps/SwcAppLabel.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppLegend.js +14 -7
- package/dist/cjs/elements/apps/SwcAppLegend.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppLi.js +14 -7
- package/dist/cjs/elements/apps/SwcAppLi.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppLink.js +14 -7
- package/dist/cjs/elements/apps/SwcAppLink.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppMap.js +14 -7
- package/dist/cjs/elements/apps/SwcAppMap.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppMeta.js +14 -7
- package/dist/cjs/elements/apps/SwcAppMeta.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppMeter.js +14 -7
- package/dist/cjs/elements/apps/SwcAppMeter.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppMod.js +14 -7
- package/dist/cjs/elements/apps/SwcAppMod.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppObject.js +14 -7
- package/dist/cjs/elements/apps/SwcAppObject.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppOl.js +14 -7
- package/dist/cjs/elements/apps/SwcAppOl.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppOptGroup.js +14 -7
- package/dist/cjs/elements/apps/SwcAppOptGroup.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppOption.js +14 -7
- package/dist/cjs/elements/apps/SwcAppOption.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppOutput.js +14 -7
- package/dist/cjs/elements/apps/SwcAppOutput.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppParagraph.js +14 -7
- package/dist/cjs/elements/apps/SwcAppParagraph.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppParam.js +14 -7
- package/dist/cjs/elements/apps/SwcAppParam.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppPicture.js +14 -7
- package/dist/cjs/elements/apps/SwcAppPicture.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppPre.js +14 -7
- package/dist/cjs/elements/apps/SwcAppPre.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppProgress.js +14 -7
- package/dist/cjs/elements/apps/SwcAppProgress.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppQuote.js +14 -7
- package/dist/cjs/elements/apps/SwcAppQuote.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppScript.js +14 -7
- package/dist/cjs/elements/apps/SwcAppScript.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppSelect.js +14 -7
- package/dist/cjs/elements/apps/SwcAppSelect.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppSlot.js +14 -7
- package/dist/cjs/elements/apps/SwcAppSlot.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppSource.js +14 -7
- package/dist/cjs/elements/apps/SwcAppSource.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppSpan.js +14 -7
- package/dist/cjs/elements/apps/SwcAppSpan.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppStyle.js +14 -7
- package/dist/cjs/elements/apps/SwcAppStyle.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTable.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTable.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTableCell.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTableCell.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTableRow.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTableRow.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTableSection.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTableSection.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTemplate.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTemplate.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTextArea.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTextArea.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTime.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTime.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTitle.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTitle.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppTrack.js +14 -7
- package/dist/cjs/elements/apps/SwcAppTrack.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppUl.js +14 -7
- package/dist/cjs/elements/apps/SwcAppUl.js.map +2 -2
- package/dist/cjs/elements/apps/SwcAppVideo.js +14 -7
- package/dist/cjs/elements/apps/SwcAppVideo.js.map +2 -2
- package/dist/cjs/router/ElementRouter.js +172 -0
- package/dist/cjs/router/ElementRouter.js.map +7 -0
- package/dist/esm/decorators/elementDefine.js.map +2 -2
- package/dist/esm/elements/SwcInterfaces.js.map +2 -2
- package/dist/esm/elements/apps/SwcApp.js +14 -7
- package/dist/esm/elements/apps/SwcApp.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppAnchor.js +14 -7
- package/dist/esm/elements/apps/SwcAppAnchor.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppArea.js +14 -7
- package/dist/esm/elements/apps/SwcAppArea.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppAudio.js +14 -7
- package/dist/esm/elements/apps/SwcAppAudio.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppBase.js +14 -7
- package/dist/esm/elements/apps/SwcAppBase.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppBody.js +14 -7
- package/dist/esm/elements/apps/SwcAppBody.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppButton.js +14 -7
- package/dist/esm/elements/apps/SwcAppButton.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppCanvas.js +14 -7
- package/dist/esm/elements/apps/SwcAppCanvas.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppData.js +14 -7
- package/dist/esm/elements/apps/SwcAppData.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppDataList.js +14 -7
- package/dist/esm/elements/apps/SwcAppDataList.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppDetails.js +14 -7
- package/dist/esm/elements/apps/SwcAppDetails.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppDialog.js +14 -7
- package/dist/esm/elements/apps/SwcAppDialog.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppDiv.js +14 -7
- package/dist/esm/elements/apps/SwcAppDiv.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppDl.js +14 -7
- package/dist/esm/elements/apps/SwcAppDl.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppEmbed.js +14 -7
- package/dist/esm/elements/apps/SwcAppEmbed.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppFieldSet.js +14 -7
- package/dist/esm/elements/apps/SwcAppFieldSet.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppForm.js +14 -7
- package/dist/esm/elements/apps/SwcAppForm.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppHeading.js +14 -7
- package/dist/esm/elements/apps/SwcAppHeading.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppHr.js +14 -7
- package/dist/esm/elements/apps/SwcAppHr.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppIFrame.js +14 -7
- package/dist/esm/elements/apps/SwcAppIFrame.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppImage.js +14 -7
- package/dist/esm/elements/apps/SwcAppImage.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppInput.js +14 -7
- package/dist/esm/elements/apps/SwcAppInput.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppLabel.js +14 -7
- package/dist/esm/elements/apps/SwcAppLabel.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppLegend.js +14 -7
- package/dist/esm/elements/apps/SwcAppLegend.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppLi.js +14 -7
- package/dist/esm/elements/apps/SwcAppLi.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppLink.js +14 -7
- package/dist/esm/elements/apps/SwcAppLink.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppMap.js +14 -7
- package/dist/esm/elements/apps/SwcAppMap.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppMeta.js +14 -7
- package/dist/esm/elements/apps/SwcAppMeta.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppMeter.js +14 -7
- package/dist/esm/elements/apps/SwcAppMeter.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppMod.js +14 -7
- package/dist/esm/elements/apps/SwcAppMod.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppObject.js +14 -7
- package/dist/esm/elements/apps/SwcAppObject.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppOl.js +14 -7
- package/dist/esm/elements/apps/SwcAppOl.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppOptGroup.js +14 -7
- package/dist/esm/elements/apps/SwcAppOptGroup.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppOption.js +14 -7
- package/dist/esm/elements/apps/SwcAppOption.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppOutput.js +14 -7
- package/dist/esm/elements/apps/SwcAppOutput.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppParagraph.js +14 -7
- package/dist/esm/elements/apps/SwcAppParagraph.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppParam.js +14 -7
- package/dist/esm/elements/apps/SwcAppParam.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppPicture.js +14 -7
- package/dist/esm/elements/apps/SwcAppPicture.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppPre.js +14 -7
- package/dist/esm/elements/apps/SwcAppPre.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppProgress.js +14 -7
- package/dist/esm/elements/apps/SwcAppProgress.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppQuote.js +14 -7
- package/dist/esm/elements/apps/SwcAppQuote.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppScript.js +14 -7
- package/dist/esm/elements/apps/SwcAppScript.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppSelect.js +14 -7
- package/dist/esm/elements/apps/SwcAppSelect.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppSlot.js +14 -7
- package/dist/esm/elements/apps/SwcAppSlot.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppSource.js +14 -7
- package/dist/esm/elements/apps/SwcAppSource.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppSpan.js +14 -7
- package/dist/esm/elements/apps/SwcAppSpan.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppStyle.js +14 -7
- package/dist/esm/elements/apps/SwcAppStyle.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTable.js +14 -7
- package/dist/esm/elements/apps/SwcAppTable.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTableCell.js +14 -7
- package/dist/esm/elements/apps/SwcAppTableCell.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTableRow.js +14 -7
- package/dist/esm/elements/apps/SwcAppTableRow.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTableSection.js +14 -7
- package/dist/esm/elements/apps/SwcAppTableSection.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTemplate.js +14 -7
- package/dist/esm/elements/apps/SwcAppTemplate.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTextArea.js +14 -7
- package/dist/esm/elements/apps/SwcAppTextArea.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTime.js +14 -7
- package/dist/esm/elements/apps/SwcAppTime.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTitle.js +14 -7
- package/dist/esm/elements/apps/SwcAppTitle.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppTrack.js +14 -7
- package/dist/esm/elements/apps/SwcAppTrack.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppUl.js +14 -7
- package/dist/esm/elements/apps/SwcAppUl.js.map +2 -2
- package/dist/esm/elements/apps/SwcAppVideo.js +14 -7
- package/dist/esm/elements/apps/SwcAppVideo.js.map +2 -2
- package/dist/esm/router/ElementRouter.js +153 -0
- package/dist/esm/router/ElementRouter.js.map +7 -0
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +912 -415
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
- package/dist/types/decorators/elementDefine.d.ts.map +1 -1
- package/dist/types/elements/SwcInterfaces.d.ts +3 -1
- package/dist/types/elements/SwcInterfaces.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcApp.d.ts +2 -3
- package/dist/types/elements/apps/SwcApp.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppAnchor.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppAnchor.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppArea.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppArea.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppAudio.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppAudio.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppBase.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppBase.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppBody.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppBody.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppButton.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppButton.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppCanvas.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppCanvas.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppData.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppData.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppDataList.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppDataList.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppDetails.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppDetails.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppDialog.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppDialog.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppDiv.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppDiv.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppDl.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppDl.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppEmbed.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppEmbed.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppFieldSet.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppFieldSet.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppForm.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppForm.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppHeading.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppHeading.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppHr.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppHr.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppIFrame.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppIFrame.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppImage.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppImage.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppInput.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppInput.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppLabel.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppLabel.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppLegend.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppLegend.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppLi.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppLi.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppLink.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppLink.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppMap.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppMap.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppMeta.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppMeta.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppMeter.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppMeter.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppMod.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppMod.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppObject.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppObject.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppOl.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppOl.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppOptGroup.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppOptGroup.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppOption.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppOption.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppOutput.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppOutput.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppParagraph.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppParagraph.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppParam.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppParam.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppPicture.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppPicture.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppPre.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppPre.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppProgress.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppProgress.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppQuote.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppQuote.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppScript.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppScript.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppSelect.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppSelect.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppSlot.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppSlot.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppSource.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppSource.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppSpan.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppSpan.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppStyle.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppStyle.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTable.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTable.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTableCell.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTableCell.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTableRow.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTableRow.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTableSection.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTableSection.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTemplate.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTemplate.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTextArea.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTextArea.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTime.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTime.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTitle.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTitle.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppTrack.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppTrack.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppUl.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppUl.d.ts.map +1 -1
- package/dist/types/elements/apps/SwcAppVideo.d.ts +2 -3
- package/dist/types/elements/apps/SwcAppVideo.d.ts.map +1 -1
- package/dist/types/router/ElementRouter.d.ts +41 -0
- package/dist/types/router/ElementRouter.d.ts.map +1 -0
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +912 -415
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
- package/package.json +2 -2
- package/src/decorators/elementDefine.ts +1 -0
- package/src/elements/SwcInterfaces.ts +6 -2
- package/src/elements/apps/SwcApp.ts +17 -9
- package/src/elements/apps/SwcAppAnchor.ts +17 -9
- package/src/elements/apps/SwcAppArea.ts +17 -9
- package/src/elements/apps/SwcAppAudio.ts +17 -9
- package/src/elements/apps/SwcAppBase.ts +17 -9
- package/src/elements/apps/SwcAppBody.ts +17 -9
- package/src/elements/apps/SwcAppButton.ts +17 -9
- package/src/elements/apps/SwcAppCanvas.ts +17 -9
- package/src/elements/apps/SwcAppData.ts +17 -9
- package/src/elements/apps/SwcAppDataList.ts +17 -9
- package/src/elements/apps/SwcAppDetails.ts +17 -9
- package/src/elements/apps/SwcAppDialog.ts +17 -9
- package/src/elements/apps/SwcAppDiv.ts +17 -9
- package/src/elements/apps/SwcAppDl.ts +17 -9
- package/src/elements/apps/SwcAppEmbed.ts +17 -9
- package/src/elements/apps/SwcAppFieldSet.ts +17 -9
- package/src/elements/apps/SwcAppForm.ts +17 -9
- package/src/elements/apps/SwcAppHeading.ts +17 -9
- package/src/elements/apps/SwcAppHr.ts +17 -9
- package/src/elements/apps/SwcAppIFrame.ts +17 -9
- package/src/elements/apps/SwcAppImage.ts +17 -9
- package/src/elements/apps/SwcAppInput.ts +17 -9
- package/src/elements/apps/SwcAppLabel.ts +17 -9
- package/src/elements/apps/SwcAppLegend.ts +17 -9
- package/src/elements/apps/SwcAppLi.ts +17 -9
- package/src/elements/apps/SwcAppLink.ts +17 -9
- package/src/elements/apps/SwcAppMap.ts +17 -9
- package/src/elements/apps/SwcAppMeta.ts +17 -9
- package/src/elements/apps/SwcAppMeter.ts +17 -9
- package/src/elements/apps/SwcAppMod.ts +17 -9
- package/src/elements/apps/SwcAppObject.ts +17 -9
- package/src/elements/apps/SwcAppOl.ts +17 -9
- package/src/elements/apps/SwcAppOptGroup.ts +17 -9
- package/src/elements/apps/SwcAppOption.ts +17 -9
- package/src/elements/apps/SwcAppOutput.ts +17 -9
- package/src/elements/apps/SwcAppParagraph.ts +17 -9
- package/src/elements/apps/SwcAppParam.ts +17 -9
- package/src/elements/apps/SwcAppPicture.ts +17 -9
- package/src/elements/apps/SwcAppPre.ts +17 -9
- package/src/elements/apps/SwcAppProgress.ts +17 -9
- package/src/elements/apps/SwcAppQuote.ts +17 -9
- package/src/elements/apps/SwcAppScript.ts +17 -9
- package/src/elements/apps/SwcAppSelect.ts +17 -9
- package/src/elements/apps/SwcAppSlot.ts +17 -9
- package/src/elements/apps/SwcAppSource.ts +17 -9
- package/src/elements/apps/SwcAppSpan.ts +17 -9
- package/src/elements/apps/SwcAppStyle.ts +17 -9
- package/src/elements/apps/SwcAppTable.ts +17 -9
- package/src/elements/apps/SwcAppTableCell.ts +17 -9
- package/src/elements/apps/SwcAppTableRow.ts +17 -9
- package/src/elements/apps/SwcAppTableSection.ts +17 -9
- package/src/elements/apps/SwcAppTemplate.ts +17 -9
- package/src/elements/apps/SwcAppTextArea.ts +17 -9
- package/src/elements/apps/SwcAppTime.ts +17 -9
- package/src/elements/apps/SwcAppTitle.ts +17 -9
- package/src/elements/apps/SwcAppTrack.ts +17 -9
- package/src/elements/apps/SwcAppUl.ts +17 -9
- package/src/elements/apps/SwcAppVideo.ts +17 -9
- package/src/router/ElementRouter.ts +187 -0
|
@@ -25,6 +25,7 @@ var import_elementDefine = require("../../decorators/elementDefine");
|
|
|
25
25
|
var import_SimpleApplication = require("@dooboostore/simple-boot/SimpleApplication");
|
|
26
26
|
var import_PathRouter = require("@dooboostore/core-web/routers/PathRouter");
|
|
27
27
|
var import_HashRouter = require("@dooboostore/core-web/routers/HashRouter");
|
|
28
|
+
var import_ElementRouter = require("../../router/ElementRouter");
|
|
28
29
|
var import_SimOption = require("@dooboostore/simple-boot/SimOption");
|
|
29
30
|
var import_Router = require("@dooboostore/core-web/routers/Router");
|
|
30
31
|
var __decorate = function(decorators, target, key, desc) {
|
|
@@ -51,12 +52,18 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
|
|
|
51
52
|
const userConfig = new Function(`return ${applicationConfigStr}`).apply(this);
|
|
52
53
|
if (userConfig) {
|
|
53
54
|
const _config = {
|
|
54
|
-
routeType: "
|
|
55
|
+
routeType: "element",
|
|
55
56
|
window,
|
|
56
57
|
...userConfig
|
|
57
58
|
};
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
if (_config.routeType === "path") {
|
|
60
|
+
this.router = new import_PathRouter.PathRouter({ window: _config.window, firstUrl: _config.path });
|
|
61
|
+
} else if (_config.routeType === "hash") {
|
|
62
|
+
this.router = new import_HashRouter.HashRouter({ window: _config.window, firstUrl: _config.path });
|
|
63
|
+
} else {
|
|
64
|
+
this.router = new import_ElementRouter.ElementRouter({ window: _config.window, firstUrl: _config.path });
|
|
65
|
+
}
|
|
66
|
+
this.routerSubscription = this.router.observable.subscribe((route) => {
|
|
60
67
|
if (route.triggerPoint === "end") {
|
|
61
68
|
this.routingProcess(route.path);
|
|
62
69
|
}
|
|
@@ -67,8 +74,8 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
|
|
|
67
74
|
});
|
|
68
75
|
this.simpleApplication = new import_SimpleApplication.SimpleApplication(option);
|
|
69
76
|
const otherInstanceSim = /* @__PURE__ */ new Map();
|
|
70
|
-
if (this.
|
|
71
|
-
otherInstanceSim.set(import_Router.Router, this.
|
|
77
|
+
if (this.router) {
|
|
78
|
+
otherInstanceSim.set(import_Router.Router, this.router);
|
|
72
79
|
}
|
|
73
80
|
this.simpleApplication.run(otherInstanceSim);
|
|
74
81
|
const data = this.simpleApplication.sim(_config.rootRouter);
|
|
@@ -80,7 +87,7 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
|
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
89
|
if (_config.path) {
|
|
83
|
-
await this.
|
|
90
|
+
await this.router?.go(_config.path);
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
93
|
} catch (e) {
|
|
@@ -92,7 +99,7 @@ let SwcAppVideo = class SwcAppVideo2 extends import_SwcHTMLVideoElementBase.SwcH
|
|
|
92
99
|
this.routerSubscription?.unsubscribe();
|
|
93
100
|
}
|
|
94
101
|
async routing(path) {
|
|
95
|
-
await this.
|
|
102
|
+
await this.router?.go(path);
|
|
96
103
|
}
|
|
97
104
|
async routingProcess(path) {
|
|
98
105
|
await this.simpleApplication?.routing(path);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/elements/apps/SwcAppVideo.ts"],
|
|
4
|
-
"sourcesContent": ["import { SwcHTMLVideoElementBase } from '../base/SwcHTMLVideoElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-video', extends: 'video' })\nexport class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,uDAAuB;EAKtD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,
|
|
4
|
+
"sourcesContent": ["import { SwcHTMLVideoElementBase } from '../base/SwcHTMLVideoElementBase';\nimport { elementDefine } from '../../decorators/elementDefine';\nimport { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { SwcAppInterface, SwcConfigType, SwcAttributeConfigType } from '../SwcInterfaces';\nimport { PathRouter } from '@dooboostore/core-web/routers/PathRouter';\nimport { HashRouter } from '@dooboostore/core-web/routers/HashRouter';\nimport { ElementRouter } from '../../router/ElementRouter';\nimport { SimOption } from '@dooboostore/simple-boot/SimOption';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { Router, RouterEventType } from '@dooboostore/core-web/routers/Router';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\n@elementDefine({ name: 'swc-app-video', extends: 'video' })\nexport class SwcAppVideo extends SwcHTMLVideoElementBase implements SwcAppInterface {\n public simpleApplication?: SimpleApplication;\n public router?: Router;\n private routerSubscription?: Subscription;\n\n constructor() {\n super();\n }\n\n async connectedCallback() {\n if (this._isInitialized) return;\n this._isInitialized = true;\n\n // Push to the end of the event loop to ensure global scripts are evaluated\n await new Promise(resolve => setTimeout(resolve, 0));\n\n const applicationConfigStr = this.getAttribute('swc-get-application-config');\n if (applicationConfigStr) {\n try {\n const userConfig: SwcAttributeConfigType = new Function(`return ${applicationConfigStr}`).apply(this);\n if (userConfig) {\n const _config: SwcConfigType = {\n routeType: 'element',\n window: window,\n ...userConfig\n };\n\n if (_config.routeType === 'path') {\n this.router = new PathRouter({ window: _config.window, firstUrl: _config.path });\n } else if (_config.routeType === 'hash') {\n this.router = new HashRouter({ window: _config.window, firstUrl: _config.path });\n } else {\n this.router = new ElementRouter({ window: _config.window, firstUrl: _config.path });\n }\n\n this.routerSubscription = this.router.observable.subscribe((route: RouterEventType) => {\n if (route.triggerPoint === 'end') {\n this.routingProcess(route.path);\n }\n });\n const option = new SimOption({\n excludeProxys: [Node],\n rootRouter: _config.rootRouter\n });\n\n this.simpleApplication = new SimpleApplication(option);\n\n // Use 'any' key for Map to allow Abstract classes like Router\n const otherInstanceSim = new Map<any, any>();\n if (this.router) {\n otherInstanceSim.set(Router, this.router);\n }\n this.simpleApplication.run(otherInstanceSim);\n const data = this.simpleApplication.sim(_config.rootRouter);\n if (data instanceof Node) {\n if (this.shadowRoot) {\n this.shadowRoot.replaceChildren(data);\n } else if (!this.contains(data)) {\n this.replaceChildren(data);\n }\n }\n if (_config.path) {\n await this.router?.go(_config.path);\n }\n }\n } catch (e) {\n console.error('[SWC-APP] Failed to execute swc-get-application-config script:', e);\n }\n }\n }\n\n disconnectedCallback() {\n this.routerSubscription?.unsubscribe();\n }\n\n async routing(path: string) {\n await this.router?.go(path);\n }\n\n private async routingProcess(path: string) {\n await this.simpleApplication?.routing(path);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,2BAA8B;AAC9B,+BAAkC;AAElC,wBAA2B;AAC3B,wBAA2B;AAC3B,2BAA8B;AAC9B,uBAA0B;AAE1B,oBAAwC;;;;;;;;;;AAIjC,IAAM,cAAN,MAAMA,qBAAoB,uDAAuB;EAKtD,cAAA;AACE,UAAK;EACP;EAEA,MAAM,oBAAiB;AACrB,QAAI,KAAK;AAAgB;AACzB,SAAK,iBAAiB;AAGtB,UAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,CAAC,CAAC;AAEnD,UAAM,uBAAuB,KAAK,aAAa,4BAA4B;AAC3E,QAAI,sBAAsB;AACxB,UAAI;AACF,cAAM,aAAqC,IAAI,SAAS,UAAU,oBAAoB,EAAE,EAAE,MAAM,IAAI;AACpG,YAAI,YAAY;AACd,gBAAM,UAAyB;YAC7B,WAAW;YACX;YACA,GAAG;;AAGL,cAAI,QAAQ,cAAc,QAAQ;AAChC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,WAAW,QAAQ,cAAc,QAAQ;AACvC,iBAAK,SAAS,IAAI,6BAAW,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACjF,OAAO;AACL,iBAAK,SAAS,IAAI,mCAAc,EAAE,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAI,CAAE;UACpF;AAEA,eAAK,qBAAqB,KAAK,OAAO,WAAW,UAAU,CAAC,UAA0B;AACpF,gBAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAK,eAAe,MAAM,IAAI;YAChC;UACF,CAAC;AACD,gBAAM,SAAS,IAAI,2BAAU;YAC3B,eAAe,CAAC,IAAI;YACpB,YAAY,QAAQ;WACrB;AAED,eAAK,oBAAoB,IAAI,2CAAkB,MAAM;AAGrD,gBAAM,mBAAmB,oBAAI,IAAG;AAChC,cAAI,KAAK,QAAQ;AACf,6BAAiB,IAAI,sBAAQ,KAAK,MAAM;UAC1C;AACA,eAAK,kBAAkB,IAAI,gBAAgB;AAC3C,gBAAM,OAAO,KAAK,kBAAkB,IAAI,QAAQ,UAAU;AAC1D,cAAI,gBAAgB,MAAM;AACxB,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,gBAAgB,IAAI;YACtC,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AAC/B,mBAAK,gBAAgB,IAAI;YAC3B;UACF;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,QAAQ,GAAG,QAAQ,IAAI;UACpC;QACF;MACF,SAAS,GAAG;AACV,gBAAQ,MAAM,kEAAkE,CAAC;MACnF;IACF;EACF;EAEA,uBAAoB;AAClB,SAAK,oBAAoB,YAAW;EACtC;EAEA,MAAM,QAAQ,MAAY;AACxB,UAAM,KAAK,QAAQ,GAAG,IAAI;EAC5B;EAEQ,MAAM,eAAe,MAAY;AACvC,UAAM,KAAK,mBAAmB,QAAQ,IAAI;EAC5C;;AAjFW,cAAW,WAAA;MADvB,oCAAc,EAAE,MAAM,iBAAiB,SAAS,QAAO,CAAE;;GAC7C,WAAW;",
|
|
6
6
|
"names": ["SwcAppVideo"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,172 @@
|
|
|
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 ElementRouter_exports = {};
|
|
19
|
+
__export(ElementRouter_exports, {
|
|
20
|
+
ElementRouter: () => ElementRouter
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(ElementRouter_exports);
|
|
23
|
+
var import_Router = require("@dooboostore/core-web/routers/Router");
|
|
24
|
+
var import_UrlUtils = require("@dooboostore/core/url/UrlUtils");
|
|
25
|
+
class ElementRouter extends import_Router.Router {
|
|
26
|
+
constructor(config) {
|
|
27
|
+
const { firstUrl, ...rest } = config;
|
|
28
|
+
super(rest);
|
|
29
|
+
this._history = [];
|
|
30
|
+
this._currentIndex = -1;
|
|
31
|
+
const startUrl = firstUrl ?? "/";
|
|
32
|
+
this._history = [{ url: startUrl, data: null }];
|
|
33
|
+
this._currentIndex = 0;
|
|
34
|
+
if (firstUrl) {
|
|
35
|
+
this.replace(firstUrl, { config: { noEventAndPublish: true } });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Override pushState to manage internal history
|
|
39
|
+
pushState(data, title, path, config) {
|
|
40
|
+
const behaviorSubject = this.behaviorSubject;
|
|
41
|
+
if (!config?.noEventAndPublish && behaviorSubject) {
|
|
42
|
+
behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "start" });
|
|
43
|
+
}
|
|
44
|
+
if (!this._history) this._history = [];
|
|
45
|
+
this._history = this._history.slice(0, this._currentIndex + 1);
|
|
46
|
+
this._history.push({ url: path, data, title });
|
|
47
|
+
this._currentIndex++;
|
|
48
|
+
if (!config?.noEventAndPublish && behaviorSubject) {
|
|
49
|
+
behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "end" });
|
|
50
|
+
}
|
|
51
|
+
return { data };
|
|
52
|
+
}
|
|
53
|
+
// Override replaceState to manage internal history
|
|
54
|
+
replaceState(data, title, path, config) {
|
|
55
|
+
const behaviorSubject = this.behaviorSubject;
|
|
56
|
+
if (!config?.noEventAndPublish && behaviorSubject) {
|
|
57
|
+
behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "start" });
|
|
58
|
+
}
|
|
59
|
+
if (!this._history) this._history = [];
|
|
60
|
+
if (this._currentIndex === -1) {
|
|
61
|
+
this._history.push({ url: path, data, title });
|
|
62
|
+
this._currentIndex = 0;
|
|
63
|
+
} else {
|
|
64
|
+
this._history[this._currentIndex] = { url: path, data, title };
|
|
65
|
+
}
|
|
66
|
+
if (!config?.noEventAndPublish && behaviorSubject) {
|
|
67
|
+
behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "end" });
|
|
68
|
+
}
|
|
69
|
+
return { data };
|
|
70
|
+
}
|
|
71
|
+
push(path, state) {
|
|
72
|
+
this.pushState(state?.data, state?.title, this.toUrl(path), state?.config);
|
|
73
|
+
}
|
|
74
|
+
replace(path, state) {
|
|
75
|
+
this.replaceState(state?.data, state?.title, this.toUrl(path), state?.config);
|
|
76
|
+
}
|
|
77
|
+
back(config) {
|
|
78
|
+
if (this._currentIndex > 0) {
|
|
79
|
+
this.go(-1, config);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
forward(config) {
|
|
83
|
+
if (this._currentIndex < this._history.length - 1) {
|
|
84
|
+
this.go(1, config);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
go(config, changeStateConfig) {
|
|
88
|
+
if (typeof config === "number") {
|
|
89
|
+
const targetIndex = this._currentIndex + config;
|
|
90
|
+
if (this._history && targetIndex >= 0 && targetIndex < this._history.length) {
|
|
91
|
+
const behaviorSubject = this.behaviorSubject;
|
|
92
|
+
if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {
|
|
93
|
+
behaviorSubject.next({ ...this.getRouteData(), triggerPoint: "start" });
|
|
94
|
+
}
|
|
95
|
+
this._currentIndex = targetIndex;
|
|
96
|
+
const entry = this._history[this._currentIndex];
|
|
97
|
+
if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {
|
|
98
|
+
behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: entry.url }), triggerPoint: "end" });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
return super.go(config, changeStateConfig);
|
|
104
|
+
}
|
|
105
|
+
getData() {
|
|
106
|
+
return this._history?.[this._currentIndex]?.data;
|
|
107
|
+
}
|
|
108
|
+
getUrl() {
|
|
109
|
+
return this._history?.[this._currentIndex]?.url ?? this.config?.firstUrl ?? "/";
|
|
110
|
+
}
|
|
111
|
+
getHref() {
|
|
112
|
+
return this.getUrl();
|
|
113
|
+
}
|
|
114
|
+
getPathName() {
|
|
115
|
+
return this.getUrl().split("?")[0];
|
|
116
|
+
}
|
|
117
|
+
getSearch() {
|
|
118
|
+
const parts = this.getUrl().split("?");
|
|
119
|
+
return parts[1] ? `?${parts[1]}` : "";
|
|
120
|
+
}
|
|
121
|
+
getSearchParams(data) {
|
|
122
|
+
const search = this.getSearch();
|
|
123
|
+
const searchParams = new URLSearchParams(search);
|
|
124
|
+
return import_UrlUtils.UrlUtils.manipulateSearchParams(searchParams, data);
|
|
125
|
+
}
|
|
126
|
+
getHashSearchParams(data) {
|
|
127
|
+
const url = this.getUrl();
|
|
128
|
+
const hashIdx = url.indexOf("#");
|
|
129
|
+
const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : "";
|
|
130
|
+
const searchParams = new URLSearchParams(hash);
|
|
131
|
+
return import_UrlUtils.UrlUtils.manipulateSearchParams(searchParams, data);
|
|
132
|
+
}
|
|
133
|
+
pushAddSearchParam(params, state) {
|
|
134
|
+
const s = this.getSearchParams({ append: params });
|
|
135
|
+
this.push({ searchParams: s }, state);
|
|
136
|
+
}
|
|
137
|
+
pushDeleteHashSearchParam(name, state) {
|
|
138
|
+
const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });
|
|
139
|
+
const url = this.getUrl().split("#")[0];
|
|
140
|
+
const size = Array.from(s.entries()).length;
|
|
141
|
+
this.push(url + (size > 0 ? "#" + s.toString() : ""), state);
|
|
142
|
+
}
|
|
143
|
+
pushDeleteSearchParam(name, state) {
|
|
144
|
+
const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });
|
|
145
|
+
this.push({ searchParams: s }, state);
|
|
146
|
+
}
|
|
147
|
+
pushUpsertSearchParam(params, state) {
|
|
148
|
+
const s = this.getSearchParams();
|
|
149
|
+
import_UrlUtils.UrlUtils.upsertSearchParam(s, params);
|
|
150
|
+
this.push({ searchParams: s }, state);
|
|
151
|
+
}
|
|
152
|
+
replaceAddSearchParam(params, state) {
|
|
153
|
+
const s = this.getSearchParams({ append: params });
|
|
154
|
+
this.replace({ searchParams: s }, state);
|
|
155
|
+
}
|
|
156
|
+
replaceDeleteHashSearchParam(name, state) {
|
|
157
|
+
const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });
|
|
158
|
+
const url = this.getUrl().split("#")[0];
|
|
159
|
+
const size = Array.from(s.entries()).length;
|
|
160
|
+
this.replace(url + (size > 0 ? "#" + s.toString() : ""), state);
|
|
161
|
+
}
|
|
162
|
+
replaceDeleteSearchParam(name, state) {
|
|
163
|
+
const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });
|
|
164
|
+
this.replace({ searchParams: s }, state);
|
|
165
|
+
}
|
|
166
|
+
replaceUpsertSearchParam(params, state) {
|
|
167
|
+
const s = this.getSearchParamObject();
|
|
168
|
+
import_UrlUtils.UrlUtils.upsertSearchParam(s, params);
|
|
169
|
+
this.replace({ searchParams: s }, state);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=ElementRouter.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/router/ElementRouter.ts"],
|
|
4
|
+
"sourcesContent": ["import { ChangeStateConfig, ChangeStateResult, RouteAction, Router, RouterConfig, RouterMethodOptions } from '@dooboostore/core-web/routers/Router';\nimport { UrlUtils } from '@dooboostore/core/url/UrlUtils';\n\nexport class ElementRouter extends Router {\n private _history: { url: string; data: any; title?: string }[] = [];\n private _currentIndex = -1;\n\n constructor(config: RouterConfig) {\n // Router \uBD80\uBAA8 \uD074\uB798\uC2A4\uAC00 \uC0DD\uC131\uC790\uC5D0\uC11C go()\uB97C \uD638\uCD9C\uD558\uC5EC \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC740 \uD544\uB4DC\uC5D0 \uC811\uADFC\uD558\uB294 \uAC83\uC744 \uBC29\uC9C0\uD558\uAE30 \uC704\uD574\n // firstUrl\uC744 \uC81C\uAC70\uD558\uACE0 \uB118\uAE34 \uB4A4 \uC790\uC2DD\uC5D0\uC11C \uC218\uB3D9 \uCC98\uB9AC\uD569\uB2C8\uB2E4.\n const { firstUrl, ...rest } = config;\n super(rest);\n\n const startUrl = firstUrl ?? '/';\n this._history = [{ url: startUrl, data: null }];\n this._currentIndex = 0;\n\n if (firstUrl) {\n this.replace(firstUrl, { config: { noEventAndPublish: true } });\n }\n }\n\n // Override pushState to manage internal history\n pushState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n // Ensure _history is initialized (defense for super calls)\n if (!this._history) this._history = [];\n\n this._history = this._history.slice(0, this._currentIndex + 1);\n this._history.push({ url: path, data, title });\n this._currentIndex++;\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n // Override replaceState to manage internal history\n replaceState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n if (!this._history) this._history = [];\n if (this._currentIndex === -1) {\n this._history.push({ url: path, data, title });\n this._currentIndex = 0;\n } else {\n this._history[this._currentIndex] = { url: path, data, title };\n }\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n push(path: RouteAction, state?: RouterMethodOptions): void {\n this.pushState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n replace(path: RouteAction, state?: RouterMethodOptions): void {\n this.replaceState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n back(config?: ChangeStateConfig): void {\n if (this._currentIndex > 0) {\n this.go(-1, config);\n }\n }\n\n forward(config?: ChangeStateConfig): void {\n if (this._currentIndex < this._history.length - 1) {\n this.go(1, config);\n }\n }\n\n go(i: number, config?: ChangeStateConfig): void;\n async go(config: string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }): Promise<void>;\n go(config: number | string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }, changeStateConfig?: ChangeStateConfig): Promise<void> | void {\n if (typeof config === 'number') {\n const targetIndex = this._currentIndex + config;\n if (this._history && targetIndex >= 0 && targetIndex < this._history.length) {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData(), triggerPoint: 'start' });\n }\n\n this._currentIndex = targetIndex;\n const entry = this._history[this._currentIndex];\n\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: entry.url }), triggerPoint: 'end' });\n }\n }\n return;\n }\n return super.go(config as any, changeStateConfig);\n }\n\n getData(): any {\n return this._history?.[this._currentIndex]?.data;\n }\n\n getUrl(): string {\n return this._history?.[this._currentIndex]?.url ?? this.config?.firstUrl ?? '/';\n }\n\n getHref(): string {\n return this.getUrl();\n }\n\n getPathName(): string {\n return this.getUrl().split('?')[0];\n }\n\n getSearch(): string {\n const parts = this.getUrl().split('?');\n return parts[1] ? `?${parts[1]}` : '';\n }\n\n getSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const search = this.getSearch();\n const searchParams = new URLSearchParams(search);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n getHashSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const url = this.getUrl();\n const hashIdx = url.indexOf('#');\n const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : '';\n const searchParams = new URLSearchParams(hash);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n pushAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.push({ searchParams: s }, state);\n }\n\n pushDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.push(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n pushDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.push({ searchParams: s }, state);\n }\n\n pushUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams();\n UrlUtils.upsertSearchParam(s, params);\n this.push({ searchParams: s }, state);\n }\n\n replaceAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.replace({ searchParams: s }, state);\n }\n\n replaceDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.replace(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n replaceDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.replace({ searchParams: s }, state);\n }\n\n replaceUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParamObject();\n UrlUtils.upsertSearchParam(s as any, params);\n this.replace({ searchParams: s as any }, state);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/decorators/elementDefine.ts"],
|
|
4
|
-
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getInnerHtmlMetadataList } from './innerHtml';\nimport { getQueryMetadata } from './query';\nimport { getQueryAllMetadata } from './queryAll';\nimport { getAddEventListenerMetadata } from './addEventListener';\nimport { getLifecycleMetadata, ON_BEFORE_CONNECTED_METADATA_KEY, ON_AFTER_CONNECTED_METADATA_KEY, ON_BEFORE_DISCONNECTED_METADATA_KEY, ON_AFTER_DISCONNECTED_METADATA_KEY, ON_BEFORE_ADOPTED_METADATA_KEY, ON_AFTER_ADOPTED_METADATA_KEY, ON_ADD_EVENT_LISTENER_METADATA_KEY, ON_ATTRIBUTE_CHANGED_METADATA_KEY, ATTRIBUTE_CHANGED_WILDCARD, getMutationSubscribeMetadataList } from './lifecycles';\nimport { getAttributeMetadataList } from './attribute';\nimport { getStateMetadataList } from './state';\nimport { getEmitCustomEventMetadataList } from './emitCustomEvent';\nimport { SwcUtils, SWC_NOT_FOUND } from '../utils/Utils';\nimport { HTML_TAG_ENTRIES } from '../config/config';\nimport {getInject, SituationTypeContainer, SituationTypeContainers} from '@dooboostore/simple-boot/decorators/inject/Inject';\nimport { InjectSituationType, HostSet } from '../elements/SwcInterfaces';\nimport { ConstructorType } from '@dooboostore/core/types';\n\nexport interface ElementConfig {\n name: string;\n extends?: string;\n observedAttributes?: string[];\n customElementRegistry?: CustomElementRegistry;\n autoRemoveEventListeners?: boolean;\n window?: Window;\n}\n\nexport const ELEMENT_CONFIG_KEY = Symbol('simple-web-component:element-config');\nexport const STATE_CHANGE_EVENT = 'swc:state-change';\n\n// --- \uD658\uACBD \uCD08\uAE30\uD654 \uD5EC\uD37C ---\n\nfunction buildEnv(configWindow?: Window) {\n const win: any = configWindow || (typeof window !== 'undefined' ? window : undefined);\n const doc: Document = win?.document;\n\n const builtInTagMap = new Map<any, string>();\n for (const [cls, tag] of HTML_TAG_ENTRIES) {\n if (win?.[cls]) builtInTagMap.set(win[cls], tag);\n }\n\n const domHelpers = {\n $d: doc,\n $w: win,\n $q: (sel: string, root?: Element | Document | ShadowRoot) => (root ?? doc).querySelector(sel),\n $qa: (sel: string, root?: Element | Document | ShadowRoot) => Array.from((root ?? doc).querySelectorAll(sel)),\n $qi: (id: string, root?: Document | ShadowRoot) => (root ?? doc).getElementById(id)\n } as const;\n\n return { win, doc, builtInTagMap, domHelpers };\n}\n\nexport const elementDefine =\n (inConfig: ElementConfig | string): ClassDecorator =>\n (constructor: any) => {\n const config: ElementConfig = typeof inConfig === 'string' ? { name: inConfig } : inConfig;\n const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);\n config.window = win;\n const SWC_DOM_HELPER_KEYS = Object.keys(SWC_DOM_HELPERS) as (keyof typeof SWC_DOM_HELPERS)[];\n const SWC_DOM_HELPER_VALS = () => SWC_DOM_HELPER_KEYS.map(k => (SWC_DOM_HELPERS as any)[k]);\n\n let extendsTagName = config.extends;\n if (!extendsTagName) {\n let proto = constructor;\n while (proto && proto !== HTMLElement && proto !== Function.prototype) {\n extendsTagName = BUILT_IN_TAG_MAP.get(proto);\n if (extendsTagName) break;\n proto = Object.getPrototypeOf(proto);\n }\n config.extends = extendsTagName;\n }\n\n const attributePropsList = getAttributeMetadataList(constructor);\n const emitCustomEventList = getEmitCustomEventMetadataList(constructor);\n const stateList = getStateMetadataList(constructor);\n const observedFromProps = attributePropsList ? attributePropsList.map(it => it.options.name!) : [];\n const observedFromEmits = emitCustomEventList ? emitCustomEventList.map(it => it.options.attributeName!) : [];\n const swcLifecycleAttributes = ['swc-on-constructor', 'swc-on-before-connected', 'swc-on-after-connected', 'swc-on-before-disconnected', 'swc-on-after-disconnected', 'swc-on-before-adopted', 'swc-on-after-adopted', 'swc-on-attribute-changed'];\n const mergedObservedAttributes = [...new Set([...(config.observedAttributes ?? []), ...observedFromProps, ...observedFromEmits, ...swcLifecycleAttributes])];\n\n const NewClass = class extends (constructor as any) {\n private _swcId = Math.random().toString(36).substring(2, 11);\n private _observer: MutationObserver | null = null;\n private _shadowObserver: MutationObserver | null = null;\n private _boundElements = new WeakMap<Element, Set<string | symbol>>();\n private _activeListeners: Array<{ el: Element | HTMLElement; type: string; handler: EventListener; options?: any }> = [];\n private _emitHandlers = new Map<string, EventListener>();\n private _stateBindings = new Map<string, any[]>();\n private _internalStates = new Map<string | symbol, any>();\n private _externalSources = new Map<string, HTMLElement>();\n\n _getHostContext(): Record<string, any> {\n const ctx: Record<string, any> = {};\n if (stateList) {\n stateList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n const hostVal = (this as any).value !== undefined ? (this as any).value : this;\n ctx['value'] = hostVal;\n const alias = this.getAttribute('as');\n if (alias && alias !== 'value') ctx[alias] = hostVal;\n return ctx;\n }\n\n static get observedAttributes() {\n return mergedObservedAttributes;\n }\n\n private _executeSwcScript(attrName: string, hostSet: HostSet, extraArgs: Record<string, any> = {}) {\n const script = this.getAttribute(attrName);\n if (script) {\n try {\n const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };\n const argNames = Object.keys(args);\n const argValues = Object.values(args);\n new Function(...argNames, script).apply(this, argValues);\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attrName} script:`, e);\n }\n }\n }\n\n private async _invokeLifecycleMethod(methodName: string | symbol, hostSet: HostSet, extraArgs: any[] = []) {\n if (typeof (this as any)[methodName] !== 'function') return;\n const app = hostSet.$appHost?.simpleApplication;\n\n if (app) {\n const otherStorage = new Map<any, any>();\n const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: InjectSituationType.HOST_SET, data: hostSet }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOST, data: hostSet.$appHost }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new SituationTypeContainer({ situationType: InjectSituationType.HOST, data: hostSet.$host }), new SituationTypeContainer({ situationType: InjectSituationType.HOSTS, data: hostSet.$hosts }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);\n otherStorage.set(SituationTypeContainers, situations);\n\n return app.simstanceManager.executeBindParameterSimPromise(\n {\n target: this,\n targetKey: methodName,\n inputParameters: extraArgs\n },\n otherStorage\n );\n } else {\n return (this as any)[methodName](hostSet,...extraArgs);\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-constructor', hostSet);\n\n if (stateList) {\n stateList.forEach(meta => {\n const key = meta.propertyKey;\n const stateName = meta.options.name!;\n const initialVal = (this as any)[key];\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(initialVal, () => this._updateState(stateName))\n );\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(newVal, () => this._updateState(stateName))\n );\n this._updateState(stateName);\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const key = meta.propertyKey;\n const attrName = meta.options.name!;\n const attrValue = this.getAttribute(attrName);\n let initialVal = attrValue !== null ? attrValue : (this as any)[key];\n if (initialVal === undefined) initialVal = null;\n if (attrValue !== null) {\n if (meta.options.type === Number) initialVal = Number(attrValue);\n else if (meta.options.type === Boolean) initialVal = true;\n else if (meta.options.type === Object) {\n try {\n initialVal = JSON.parse(attrValue);\n } catch (e) {}\n }\n }\n this._internalStates.set(key, initialVal);\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(key, newVal);\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(attrName);\n if (!meta.options.disableReflect && this.setAttribute && typeof newVal !== 'object') {\n if (newVal === null || newVal === undefined || newVal === false) this.removeAttribute(attrName);\n else this.setAttribute(attrName, String(newVal));\n }\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n const innerHtmlList = getInnerHtmlMetadataList(this);\n if (innerHtmlList?.some(it => it.options.useShadow === true) && !this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n }\n\n private _isSyncing = false;\n private _syncDecorators() {\n if (this._isSyncing) return;\n this._isSyncing = true;\n try {\n this._buildStateMap();\n this._syncEventListenersAndQueries();\n } finally {\n this._isSyncing = false;\n }\n }\n\n private _syncEventListenersAndQueries() {\n const getSearchRoots = (rootOption?: string): Node[] => {\n const roots: Node[] = [];\n if (rootOption === 'shadow') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n } else if (rootOption === 'light') {\n roots.push(this as any as Node);\n } else if (rootOption === 'all') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n roots.push(this as any as Node);\n } else {\n roots.push(this.shadowRoot || (this as any as Node));\n }\n return roots;\n };\n const queryMetadata = getQueryMetadata(this);\n if (queryMetadata) {\n queryMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n let foundEl: Element | null = null;\n for (const root of searchRoots) {\n foundEl = it.selector ? (root as HTMLElement).querySelector(it.selector) : (this as any as Element);\n if (foundEl) break;\n }\n if (foundEl) {\n let bound = this._boundElements.get(foundEl);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(foundEl, bound);\n }\n if (!bound.has(it.propertyKey)) {\n (this as any)[it.propertyKey](foundEl);\n bound.add(it.propertyKey);\n }\n }\n });\n }\n const queryAllMetadata = getQueryAllMetadata(this);\n if (queryAllMetadata) {\n queryAllMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n const allElements: Element[] = [];\n searchRoots.forEach(root => {\n const found = it.selector ? (root as HTMLElement).querySelectorAll(it.selector) : [this as any as Element];\n allElements.push(...Array.from(found));\n });\n (this as any)[it.propertyKey](allElements);\n });\n }\n const eventListeners = getAddEventListenerMetadata(this);\n if (eventListeners) {\n eventListeners.forEach(it => {\n const { query, type, root: rootOption, ...options } = it.options;\n const searchRoots = getSearchRoots(rootOption);\n searchRoots.forEach(root => {\n const targetElements = query ? (root as HTMLElement).querySelectorAll(query) : [this as any as Element];\n targetElements.forEach(targetElement => {\n if (targetElement) {\n let bound = this._boundElements.get(targetElement);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(targetElement, bound);\n }\n const eventKey = `event:${String(it.propertyKey)}:${type}`;\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (it.options.stopImmediatePropagation) event.stopImmediatePropagation();\n if (it.options.stopPropagation) event.stopPropagation();\n if (it.options.preventDefault) event.preventDefault();\n (this as any)[it.propertyKey](event, targetElement);\n };\n targetElement.addEventListener(type, handler, options);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: targetElement, type, handler, options });\n const addEventMethods = getLifecycleMetadata(this, ON_ADD_EVENT_LISTENER_METADATA_KEY);\n addEventMethods?.forEach((m: string | symbol) => {\n if (typeof (this as any)[m] === 'function') (this as any)[m](targetElement, type, handler);\n });\n }\n }\n });\n });\n });\n }\n }\n\n private _buildStateMap() {\n const scan = (root: Node) => {\n const walker = doc.createTreeWalker(root, (win as any).NodeFilter.SHOW_ELEMENT | (win as any).NodeFilter.SHOW_TEXT);\n let node: Node | null = null;\n while ((node = walker.nextNode())) {\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n else if (node.nodeType === Node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const alias = el.getAttribute('as');\n if (alias && !this._externalSources.has(alias)) {\n this._externalSources.set(alias, el);\n const aliasKey = `alias-event:${alias}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(aliasKey)) {\n el.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(alias));\n bound.add(aliasKey);\n }\n }\n const $hosts = SwcUtils.findAllSwcHosts(el);\n $hosts.forEach(host => {\n const hAlias = host.getAttribute('as');\n if (hAlias) {\n const hostBindKey = `parent-host-event:${hAlias}`;\n let hBound = this._boundElements.get(host);\n if (!hBound) {\n hBound = new Set();\n this._boundElements.set(host, hBound);\n }\n if (!hBound.has(hostBindKey)) {\n host.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(hAlias));\n hBound.add(hostBindKey);\n }\n }\n });\n Array.from(el.attributes).forEach(attr => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n const hostSet = SwcUtils.getHostSet(el);\n if (eventName === 'connected') {\n const eventKey = `attr-once:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `attr-event:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n el.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el, type: eventName, handler });\n }\n }\n this._parseAndBind(attr, 'attribute', el);\n });\n const isSwcChild = (el as any)._swcId || getElementConfig(el.constructor) || (el.getAttribute('is')?.startsWith('swc-') ?? false);\n if (isSwcChild) {\n const next = walker.nextSibling();\n if (!next) break;\n node = next;\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n }\n }\n }\n };\n if (this.shadowRoot) scan(this.shadowRoot);\n scan(this as any as Node);\n }\n\n private _parseAndBind(node: Node | Attr, type: 'text' | 'attribute', owner?: HTMLElement) {\n const tplKey = `__swc_original_${this._swcId}`;\n const isAlreadyBound = (node as any).__swc_bound_ids?.has(this._swcId);\n const content = (node as any)[tplKey] || node.textContent || '';\n const matches = Array.from(content.matchAll(/{{(.*?)}}/g)) as any[];\n if (matches.length === 0 || isAlreadyBound) return;\n matches.forEach(match => {\n const fullPath = (match[1] as string).trim();\n const rootName = fullPath.split('.')[0];\n const isState = stateList?.some(s => s.options.name === rootName);\n const isAttr = attributePropsList?.some(a => a.options.name === rootName);\n const isLogicKey = (this as any)._asKey === rootName || (this as any)._asItemKey === rootName || (this as any)._asIndexKey === rootName;\n const isExternal = this._externalSources.has(rootName);\n const isSelfAlias = this.getAttribute('as') === rootName;\n const isInstanceProp = rootName in this;\n let isParentAlias = false;\n let curr: any = (this as any).parentElement || ((this as any).getRootNode?.() as any)?.host;\n while (curr) {\n if (curr.getAttribute?.('as') === rootName) {\n isParentAlias = true;\n break;\n }\n curr = curr.parentElement || (curr.getRootNode?.() as any)?.host;\n }\n if (!isState && !isAttr && !isLogicKey && !isExternal && !isSelfAlias && !isInstanceProp && !isParentAlias) return;\n if (!this._stateBindings.has(rootName)) this._stateBindings.set(rootName, []);\n if (!(node as any)[tplKey]) (node as any)[tplKey] = content;\n if (!(node as any).__swc_bound_ids) (node as any).__swc_bound_ids = new Set();\n (node as any).__swc_bound_ids.add(this._swcId);\n this._stateBindings.get(rootName)!.push({ node, type, owner, path: fullPath });\n this._updateState(rootName);\n });\n }\n\n private _isUpdatingState = false;\n private _updateState(stateName: string) {\n if (!this._stateBindings) return;\n if (this._isUpdatingState) return;\n this._isUpdatingState = true;\n try {\n this._executeBindingUpdate(stateName);\n const selfAlias = this.getAttribute('as');\n if (selfAlias && selfAlias !== stateName) this._executeBindingUpdate(selfAlias);\n this.dispatchEvent(new CustomEvent(STATE_CHANGE_EVENT, { bubbles: true, composed: true, detail: { source: stateName, host: this } }));\n } finally {\n this._isUpdatingState = false;\n }\n }\n\n private _executeBindingUpdate(stateName: string) {\n const bindings = this._stateBindings.get(stateName);\n if (!bindings) return;\n const tplKey = `__swc_original_${this._swcId}`;\n bindings.forEach(bin => {\n let text = (bin.node as any)[tplKey];\n if (!text) return;\n const matches = Array.from(text.matchAll(/{{(.*?)}}/g)) as RegExpMatchArray[];\n let updatedText = text;\n for (const match of matches) {\n const path = match[1].trim();\n const root = path.split('.')[0];\n let val: any = undefined;\n let current: HTMLElement | null = this as any as HTMLElement;\n while (current) {\n const currentNewClass = current as any;\n if (current.getAttribute('as') === root) {\n val = SwcUtils.getValueByPath(current, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const externalSource = currentNewClass._externalSources?.get(root);\n if (externalSource) {\n val = SwcUtils.getValueByPath(externalSource, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const cStates = getStateMetadataList(current.constructor);\n const cAttrs = getAttributeMetadataList(current.constructor);\n const sMeta = cStates?.find(s => s.options.name === root);\n const aMeta = cAttrs?.find(a => a.options.name === root);\n if (sMeta || aMeta) {\n const propKey = sMeta ? String(sMeta.propertyKey) : String(aMeta!.propertyKey);\n const rootVal = (current as any)[propKey];\n const subPath = path.split('.').slice(1).join('.');\n if (subPath) {\n val = SwcUtils.getValueByPath(rootVal, subPath, subPath.split('.')[0]);\n if (val === SWC_NOT_FOUND) {\n const parts = subPath.split('.');\n let cur = rootVal;\n for (const p of parts) {\n if (cur === null || cur === undefined) {\n cur = SWC_NOT_FOUND;\n break;\n }\n cur = cur[p];\n }\n if (cur !== undefined && cur !== SWC_NOT_FOUND) val = cur;\n }\n } else {\n val = rootVal;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) break;\n }\n if (root in current) {\n val = SwcUtils.getValueByPath(current, path, root);\n if (val !== SWC_NOT_FOUND) break;\n }\n current = current.parentElement || (current.getRootNode() as any).host;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) {\n const strVal = val === null ? '' : typeof val === 'object' ? JSON.stringify(val) : String(val);\n updatedText = updatedText.replace(match[0], strVal);\n if (bin.type === 'attribute' && bin.owner) {\n const attrName = (bin.node as Attr).name;\n const ownerAttrs = getAttributeMetadataList(bin.owner.constructor);\n const attrMeta = ownerAttrs?.find(a => a.options.name === attrName);\n const propName = attrMeta ? String(attrMeta.propertyKey) : attrName.replace(/-([a-z])/g, g => g[1].toUpperCase());\n if (val === null || val === undefined) {\n bin.owner.removeAttribute(attrName);\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n } else {\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n bin.owner.setAttribute(attrName, updatedText);\n if ((attrName === 'value' || attrName === 'checked') && bin.owner.tagName.match(/INPUT|TEXTAREA|SELECT/)) {\n (bin.owner as any)[attrName] = updatedText;\n }\n }\n }\n }\n }\n if (bin.type === 'text') bin.node.textContent = updatedText;\n });\n }\n\n disconnectedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-disconnected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (this._observer) this._observer.disconnect();\n if (this._shadowObserver) this._shadowObserver.disconnect();\n if (config.autoRemoveEventListeners) {\n this._activeListeners.forEach(({ el, type, handler, options }) => el.removeEventListener(type, handler, options));\n this._activeListeners = [];\n }\n if (super.disconnectedCallback) super.disconnectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_DISCONNECTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-disconnected', hostSet);\n }\n\n adoptedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-adopted', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_ADOPTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (super.adoptedCallback) super.adoptedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_ADOPTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-adopted', hostSet);\n }\n\n async connectedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-connected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_CONNECTED_METADATA_KEY);\n if (bMethods) {\n for (const m of bMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n if (typeof (this as any).initCore === 'function') (this as any).initCore();\n const iHtmlList = getInnerHtmlMetadataList(this);\n let sContent = '';\n let lContent = '';\n if (iHtmlList) {\n for (const meta of iHtmlList) {\n const result = await (this as any)[meta.propertyKey]();\n if (result !== undefined) {\n if (meta.options.useShadow === true) sContent += result;\n else lContent += result;\n }\n }\n }\n if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;\n if (lContent) this.innerHTML = lContent;\n (this as any)._syncDecorators();\n\n // --- Root Host self-binding logic ---\n const isManagedByParent = !!SwcUtils.findNearestSwcHost(this as any);\n if (!isManagedByParent) {\n Array.from(this.attributes as any).forEach((attr: any) => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n if (eventName === 'connected') {\n const eventKey = `host-attr-once:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `host-attr-event:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n this.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: this as any, type: eventName, handler });\n }\n }\n });\n }\n\n const mutationMetaList = getMutationSubscribeMetadataList(this);\n const fireMutationCallbacks = (mutationList: MutationRecord[], observer: MutationObserver, root: 'light' | 'shadow') => {\n mutationMetaList?.forEach(meta => {\n const r = meta.options.root ?? 'auto';\n const matches = r === 'all' || r === root || (r === 'auto' && (this.shadowRoot ? root === 'shadow' : root === 'light'));\n if (matches && typeof (this as any)[meta.propertyKey] === 'function') {\n (this as any)[meta.propertyKey](mutationList, observer, root);\n }\n });\n };\n this._observer = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'light');\n });\n // @ts-ignore\n this._observer.observe(this as any, { childList: true, subtree: true });\n if (this.shadowRoot) {\n this._shadowObserver = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'shadow');\n });\n // @ts-ignore\n this._shadowObserver.observe(this.shadowRoot, { childList: true, subtree: true });\n }\n if (super.connectedCallback) await super.connectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_CONNECTED_METADATA_KEY);\n if (aMethods) {\n for (const m of aMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n this._executeSwcScript('swc-on-after-connected', hostSet);\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (super.attributeChangedCallback) super.attributeChangedCallback(name, oldValue, newValue);\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n if (meta.options.name === name) {\n const current = (this as any)[meta.propertyKey];\n if (typeof current === 'object' && current !== null) return;\n if (String(current) !== String(newValue)) (this as any)[meta.propertyKey] = newValue;\n }\n });\n }\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(name);\n const aMethodsMap = getLifecycleMetadata(constructor, ON_ATTRIBUTE_CHANGED_METADATA_KEY) as Map<string, (string | symbol)[]>;\n const mKeys = aMethodsMap?.get(name);\n const hostSet = SwcUtils.getHostSet(this as any);\n if (mKeys && Array.isArray(mKeys)) {\n mKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n if (emitCustomEventList) {\n const eMeta = emitCustomEventList.find(it => it.options.attributeName === name);\n if (eMeta) {\n const eType = eMeta.options.type;\n const oHandler = this._emitHandlers.get(eType);\n if (oHandler) this.removeEventListener(eType, oHandler);\n if (newValue) {\n const nHandler = (e: Event) => {\n new Function('event', '$data', newValue).call(this, e, (e as CustomEvent).detail);\n };\n this.addEventListener(eType, nHandler);\n this._emitHandlers.set(eType, nHandler);\n }\n }\n }\n const wMethodsKeys = aMethodsMap?.get(ATTRIBUTE_CHANGED_WILDCARD);\n if (wMethodsKeys && Array.isArray(wMethodsKeys)) {\n wMethodsKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n this._executeSwcScript('swc-on-attribute-changed', hostSet, { $new: newValue, $old: oldValue, $name: name });\n }\n };\n\n // [METADATA INHERITANCE FIX]\n // Copy method metadata from original constructor to NewClass\n // This ensures @Inject and other decorators on methods work correctly in the wrapped class.\n const originalProto = constructor.prototype;\n const newProto = NewClass.prototype;\n Object.getOwnPropertyNames(originalProto).forEach(name => {\n if (name === 'constructor') return;\n const keys = Reflect.getMetadataKeys(originalProto, name);\n keys.forEach(key => {\n const metadata = Reflect.getMetadata(key, originalProto, name);\n Reflect.defineMetadata(key, metadata, newProto, name);\n });\n });\n\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);\n const registry = config.customElementRegistry || (typeof win !== 'undefined' ? win.customElements : undefined);\n if (registry && !registry.get(config.name)) {\n const options = config.extends ? { extends: config.extends } : undefined;\n registry.define(config.name, NewClass as any, options);\n }\n return NewClass as any;\n };\n\nexport const getElementConfig = (target: any): ElementConfig | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { getInnerHtmlMetadataList } from './innerHtml';\nimport { getQueryMetadata } from './query';\nimport { getQueryAllMetadata } from './queryAll';\nimport { getAddEventListenerMetadata } from './addEventListener';\nimport { getLifecycleMetadata, ON_BEFORE_CONNECTED_METADATA_KEY, ON_AFTER_CONNECTED_METADATA_KEY, ON_BEFORE_DISCONNECTED_METADATA_KEY, ON_AFTER_DISCONNECTED_METADATA_KEY, ON_BEFORE_ADOPTED_METADATA_KEY, ON_AFTER_ADOPTED_METADATA_KEY, ON_ADD_EVENT_LISTENER_METADATA_KEY, ON_ATTRIBUTE_CHANGED_METADATA_KEY, ATTRIBUTE_CHANGED_WILDCARD, getMutationSubscribeMetadataList } from './lifecycles';\nimport { getAttributeMetadataList } from './attribute';\nimport { getStateMetadataList } from './state';\nimport { getEmitCustomEventMetadataList } from './emitCustomEvent';\nimport { SwcUtils, SWC_NOT_FOUND } from '../utils/Utils';\nimport { HTML_TAG_ENTRIES } from '../config/config';\nimport {getInject, SituationTypeContainer, SituationTypeContainers} from '@dooboostore/simple-boot/decorators/inject/Inject';\nimport { InjectSituationType, HostSet } from '../elements/SwcInterfaces';\nimport { ConstructorType } from '@dooboostore/core/types';\n\nexport interface ElementConfig {\n name: string;\n extends?: string;\n observedAttributes?: string[];\n customElementRegistry?: CustomElementRegistry;\n autoRemoveEventListeners?: boolean;\n window?: Window;\n}\n\nexport const ELEMENT_CONFIG_KEY = Symbol('simple-web-component:element-config');\nexport const STATE_CHANGE_EVENT = 'swc:state-change';\n\n// --- \uD658\uACBD \uCD08\uAE30\uD654 \uD5EC\uD37C ---\n\nfunction buildEnv(configWindow?: Window) {\n const win: any = configWindow || (typeof window !== 'undefined' ? window : undefined);\n const doc: Document = win?.document;\n\n const builtInTagMap = new Map<any, string>();\n for (const [cls, tag] of HTML_TAG_ENTRIES) {\n if (win?.[cls]) builtInTagMap.set(win[cls], tag);\n }\n\n const domHelpers = {\n $d: doc,\n $w: win,\n $q: (sel: string, root?: Element | Document | ShadowRoot) => (root ?? doc).querySelector(sel),\n $qa: (sel: string, root?: Element | Document | ShadowRoot) => Array.from((root ?? doc).querySelectorAll(sel)),\n $qi: (id: string, root?: Document | ShadowRoot) => (root ?? doc).getElementById(id)\n } as const;\n\n return { win, doc, builtInTagMap, domHelpers };\n}\n\nexport const elementDefine =\n (inConfig: ElementConfig | string): ClassDecorator =>\n (constructor: any) => {\n const config: ElementConfig = typeof inConfig === 'string' ? { name: inConfig } : inConfig;\n const { win, doc, builtInTagMap: BUILT_IN_TAG_MAP, domHelpers: SWC_DOM_HELPERS } = buildEnv(config.window);\n config.window = win;\n const SWC_DOM_HELPER_KEYS = Object.keys(SWC_DOM_HELPERS) as (keyof typeof SWC_DOM_HELPERS)[];\n const SWC_DOM_HELPER_VALS = () => SWC_DOM_HELPER_KEYS.map(k => (SWC_DOM_HELPERS as any)[k]);\n\n let extendsTagName = config.extends;\n if (!extendsTagName) {\n let proto = constructor;\n while (proto && proto !== HTMLElement && proto !== Function.prototype) {\n extendsTagName = BUILT_IN_TAG_MAP.get(proto);\n if (extendsTagName) break;\n proto = Object.getPrototypeOf(proto);\n }\n config.extends = extendsTagName;\n }\n\n const attributePropsList = getAttributeMetadataList(constructor);\n const emitCustomEventList = getEmitCustomEventMetadataList(constructor);\n const stateList = getStateMetadataList(constructor);\n const observedFromProps = attributePropsList ? attributePropsList.map(it => it.options.name!) : [];\n const observedFromEmits = emitCustomEventList ? emitCustomEventList.map(it => it.options.attributeName!) : [];\n const swcLifecycleAttributes = ['swc-on-constructor', 'swc-on-before-connected', 'swc-on-after-connected', 'swc-on-before-disconnected', 'swc-on-after-disconnected', 'swc-on-before-adopted', 'swc-on-after-adopted', 'swc-on-attribute-changed'];\n const mergedObservedAttributes = [...new Set([...(config.observedAttributes ?? []), ...observedFromProps, ...observedFromEmits, ...swcLifecycleAttributes])];\n\n const NewClass = class extends (constructor as any) {\n private _swcId = Math.random().toString(36).substring(2, 11);\n private _observer: MutationObserver | null = null;\n private _shadowObserver: MutationObserver | null = null;\n private _boundElements = new WeakMap<Element, Set<string | symbol>>();\n private _activeListeners: Array<{ el: Element | HTMLElement; type: string; handler: EventListener; options?: any }> = [];\n private _emitHandlers = new Map<string, EventListener>();\n private _stateBindings = new Map<string, any[]>();\n private _internalStates = new Map<string | symbol, any>();\n private _externalSources = new Map<string, HTMLElement>();\n\n _getHostContext(): Record<string, any> {\n const ctx: Record<string, any> = {};\n if (stateList) {\n stateList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const name = meta.options.name!;\n const val = this._internalStates.get(meta.propertyKey);\n ctx[name] = val;\n });\n }\n const hostVal = (this as any).value !== undefined ? (this as any).value : this;\n ctx['value'] = hostVal;\n const alias = this.getAttribute('as');\n if (alias && alias !== 'value') ctx[alias] = hostVal;\n return ctx;\n }\n\n static get observedAttributes() {\n return mergedObservedAttributes;\n }\n\n private _executeSwcScript(attrName: string, hostSet: HostSet, extraArgs: Record<string, any> = {}) {\n const script = this.getAttribute(attrName);\n if (script) {\n try {\n const args = { ...hostSet, ...SWC_DOM_HELPERS, ...extraArgs };\n const argNames = Object.keys(args);\n const argValues = Object.values(args);\n new Function(...argNames, script).apply(this, argValues);\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attrName} script:`, e);\n }\n }\n }\n\n private async _invokeLifecycleMethod(methodName: string | symbol, hostSet: HostSet, extraArgs: any[] = []) {\n if (typeof (this as any)[methodName] !== 'function') return;\n const app = hostSet.$appHost?.simpleApplication;\n\n if (app) {\n const otherStorage = new Map<any, any>();\n const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: InjectSituationType.HOST_SET, data: hostSet }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOST, data: hostSet.$appHost }), new SituationTypeContainer({ situationType: InjectSituationType.APP_HOSTS, data: hostSet.$appHosts }), new SituationTypeContainer({ situationType: InjectSituationType.HOST, data: hostSet.$host }), new SituationTypeContainer({ situationType: InjectSituationType.HOSTS, data: hostSet.$hosts }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_HOST, data: hostSet.$firstHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_HOST, data: hostSet.$lastHost }), new SituationTypeContainer({ situationType: InjectSituationType.FIRST_APP_HOST, data: hostSet.$firstAppHost }), new SituationTypeContainer({ situationType: InjectSituationType.LAST_APP_HOST, data: hostSet.$lastAppHost })]);\n otherStorage.set(SituationTypeContainers, situations);\n\n return app.simstanceManager.executeBindParameterSimPromise(\n {\n target: this,\n targetKey: methodName,\n inputParameters: extraArgs\n },\n otherStorage\n );\n } else {\n return (this as any)[methodName](hostSet,...extraArgs);\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-constructor', hostSet);\n\n if (stateList) {\n stateList.forEach(meta => {\n const key = meta.propertyKey;\n const stateName = meta.options.name!;\n const initialVal = (this as any)[key];\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(initialVal, () => this._updateState(stateName))\n );\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(\n key,\n SwcUtils.createReactiveProxy(newVal, () => this._updateState(stateName))\n );\n this._updateState(stateName);\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n const key = meta.propertyKey;\n const attrName = meta.options.name!;\n const attrValue = this.getAttribute(attrName);\n let initialVal = attrValue !== null ? attrValue : (this as any)[key];\n if (initialVal === undefined) initialVal = null;\n if (attrValue !== null) {\n if (meta.options.type === Number) initialVal = Number(attrValue);\n else if (meta.options.type === Boolean) initialVal = true;\n else if (meta.options.type === Object) {\n try {\n initialVal = JSON.parse(attrValue);\n } catch (e) {}\n }\n }\n this._internalStates.set(key, initialVal);\n Object.defineProperty(this, key, {\n get: () => this._internalStates.get(key),\n set: newVal => {\n if (this._internalStates.get(key) === newVal) return;\n this._internalStates.set(key, newVal);\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(attrName);\n if (!meta.options.disableReflect && this.setAttribute && typeof newVal !== 'object') {\n if (newVal === null || newVal === undefined || newVal === false) this.removeAttribute(attrName);\n else this.setAttribute(attrName, String(newVal));\n }\n },\n enumerable: true,\n configurable: true\n });\n });\n }\n const innerHtmlList = getInnerHtmlMetadataList(this);\n if (innerHtmlList?.some(it => it.options.useShadow === true) && !this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n }\n\n private _isSyncing = false;\n private _syncDecorators() {\n if (this._isSyncing) return;\n this._isSyncing = true;\n try {\n this._buildStateMap();\n this._syncEventListenersAndQueries();\n } finally {\n this._isSyncing = false;\n }\n }\n\n private _syncEventListenersAndQueries() {\n const getSearchRoots = (rootOption?: string): Node[] => {\n const roots: Node[] = [];\n if (rootOption === 'shadow') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n } else if (rootOption === 'light') {\n roots.push(this as any as Node);\n } else if (rootOption === 'all') {\n if (this.shadowRoot) roots.push(this.shadowRoot);\n roots.push(this as any as Node);\n } else {\n roots.push(this.shadowRoot || (this as any as Node));\n }\n return roots;\n };\n const queryMetadata = getQueryMetadata(this);\n if (queryMetadata) {\n queryMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n let foundEl: Element | null = null;\n for (const root of searchRoots) {\n foundEl = it.selector ? (root as HTMLElement).querySelector(it.selector) : (this as any as Element);\n if (foundEl) break;\n }\n if (foundEl) {\n let bound = this._boundElements.get(foundEl);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(foundEl, bound);\n }\n if (!bound.has(it.propertyKey)) {\n (this as any)[it.propertyKey](foundEl);\n bound.add(it.propertyKey);\n }\n }\n });\n }\n const queryAllMetadata = getQueryAllMetadata(this);\n if (queryAllMetadata) {\n queryAllMetadata\n .filter(it => it.isMethod)\n .forEach(it => {\n const searchRoots = getSearchRoots(it.options.root);\n const allElements: Element[] = [];\n searchRoots.forEach(root => {\n const found = it.selector ? (root as HTMLElement).querySelectorAll(it.selector) : [this as any as Element];\n allElements.push(...Array.from(found));\n });\n (this as any)[it.propertyKey](allElements);\n });\n }\n const eventListeners = getAddEventListenerMetadata(this);\n if (eventListeners) {\n eventListeners.forEach(it => {\n const { query, type, root: rootOption, ...options } = it.options;\n const searchRoots = getSearchRoots(rootOption);\n searchRoots.forEach(root => {\n const targetElements = query ? (root as HTMLElement).querySelectorAll(query) : [this as any as Element];\n targetElements.forEach(targetElement => {\n if (targetElement) {\n let bound = this._boundElements.get(targetElement);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(targetElement, bound);\n }\n const eventKey = `event:${String(it.propertyKey)}:${type}`;\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (it.options.stopImmediatePropagation) event.stopImmediatePropagation();\n if (it.options.stopPropagation) event.stopPropagation();\n if (it.options.preventDefault) event.preventDefault();\n (this as any)[it.propertyKey](event, targetElement);\n };\n targetElement.addEventListener(type, handler, options);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: targetElement, type, handler, options });\n const addEventMethods = getLifecycleMetadata(this, ON_ADD_EVENT_LISTENER_METADATA_KEY);\n addEventMethods?.forEach((m: string | symbol) => {\n if (typeof (this as any)[m] === 'function') (this as any)[m](targetElement, type, handler);\n });\n }\n }\n });\n });\n });\n }\n }\n\n private _buildStateMap() {\n const scan = (root: Node) => {\n const walker = doc.createTreeWalker(root, (win as any).NodeFilter.SHOW_ELEMENT | (win as any).NodeFilter.SHOW_TEXT);\n let node: Node | null = null;\n while ((node = walker.nextNode())) {\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n else if (node.nodeType === Node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const alias = el.getAttribute('as');\n if (alias && !this._externalSources.has(alias)) {\n this._externalSources.set(alias, el);\n const aliasKey = `alias-event:${alias}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(aliasKey)) {\n el.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(alias));\n bound.add(aliasKey);\n }\n }\n const $hosts = SwcUtils.findAllSwcHosts(el);\n $hosts.forEach(host => {\n const hAlias = host.getAttribute('as');\n if (hAlias) {\n const hostBindKey = `parent-host-event:${hAlias}`;\n let hBound = this._boundElements.get(host);\n if (!hBound) {\n hBound = new Set();\n this._boundElements.set(host, hBound);\n }\n if (!hBound.has(hostBindKey)) {\n host.addEventListener(STATE_CHANGE_EVENT, () => this._updateState(hAlias));\n hBound.add(hostBindKey);\n }\n }\n });\n Array.from(el.attributes).forEach(attr => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n const hostSet = SwcUtils.getHostSet(el);\n if (eventName === 'connected') {\n const eventKey = `attr-once:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `attr-event:${attr.name}`;\n let bound = this._boundElements.get(el);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(el, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(el, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n el.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el, type: eventName, handler });\n }\n }\n this._parseAndBind(attr, 'attribute', el);\n });\n const isSwcChild = (el as any)._swcId || getElementConfig(el.constructor) || (el.getAttribute('is')?.startsWith('swc-') ?? false);\n if (isSwcChild) {\n const next = walker.nextSibling();\n if (!next) break;\n node = next;\n if (node.nodeType === Node.TEXT_NODE) this._parseAndBind(node, 'text');\n }\n }\n }\n };\n if (this.shadowRoot) scan(this.shadowRoot);\n scan(this as any as Node);\n }\n\n private _parseAndBind(node: Node | Attr, type: 'text' | 'attribute', owner?: HTMLElement) {\n const tplKey = `__swc_original_${this._swcId}`;\n const isAlreadyBound = (node as any).__swc_bound_ids?.has(this._swcId);\n const content = (node as any)[tplKey] || node.textContent || '';\n const matches = Array.from(content.matchAll(/{{(.*?)}}/g)) as any[];\n if (matches.length === 0 || isAlreadyBound) return;\n matches.forEach(match => {\n const fullPath = (match[1] as string).trim();\n const rootName = fullPath.split('.')[0];\n const isState = stateList?.some(s => s.options.name === rootName);\n const isAttr = attributePropsList?.some(a => a.options.name === rootName);\n const isLogicKey = (this as any)._asKey === rootName || (this as any)._asItemKey === rootName || (this as any)._asIndexKey === rootName;\n const isExternal = this._externalSources.has(rootName);\n const isSelfAlias = this.getAttribute('as') === rootName;\n const isInstanceProp = rootName in this;\n let isParentAlias = false;\n let curr: any = (this as any).parentElement || ((this as any).getRootNode?.() as any)?.host;\n while (curr) {\n if (curr.getAttribute?.('as') === rootName) {\n isParentAlias = true;\n break;\n }\n curr = curr.parentElement || (curr.getRootNode?.() as any)?.host;\n }\n if (!isState && !isAttr && !isLogicKey && !isExternal && !isSelfAlias && !isInstanceProp && !isParentAlias) return;\n if (!this._stateBindings.has(rootName)) this._stateBindings.set(rootName, []);\n if (!(node as any)[tplKey]) (node as any)[tplKey] = content;\n if (!(node as any).__swc_bound_ids) (node as any).__swc_bound_ids = new Set();\n (node as any).__swc_bound_ids.add(this._swcId);\n this._stateBindings.get(rootName)!.push({ node, type, owner, path: fullPath });\n this._updateState(rootName);\n });\n }\n\n private _isUpdatingState = false;\n private _updateState(stateName: string) {\n if (!this._stateBindings) return;\n if (this._isUpdatingState) return;\n this._isUpdatingState = true;\n try {\n this._executeBindingUpdate(stateName);\n const selfAlias = this.getAttribute('as');\n if (selfAlias && selfAlias !== stateName) this._executeBindingUpdate(selfAlias);\n this.dispatchEvent(new CustomEvent(STATE_CHANGE_EVENT, { bubbles: true, composed: true, detail: { source: stateName, host: this } }));\n } finally {\n this._isUpdatingState = false;\n }\n }\n\n private _executeBindingUpdate(stateName: string) {\n const bindings = this._stateBindings.get(stateName);\n if (!bindings) return;\n const tplKey = `__swc_original_${this._swcId}`;\n bindings.forEach(bin => {\n let text = (bin.node as any)[tplKey];\n if (!text) return;\n const matches = Array.from(text.matchAll(/{{(.*?)}}/g)) as RegExpMatchArray[];\n let updatedText = text;\n for (const match of matches) {\n const path = match[1].trim();\n const root = path.split('.')[0];\n let val: any = undefined;\n let current: HTMLElement | null = this as any as HTMLElement;\n while (current) {\n const currentNewClass = current as any;\n if (current.getAttribute('as') === root) {\n val = SwcUtils.getValueByPath(current, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const externalSource = currentNewClass._externalSources?.get(root);\n if (externalSource) {\n val = SwcUtils.getValueByPath(externalSource, path.split('.').slice(1).join('.') || 'value', 'value');\n if (val !== SWC_NOT_FOUND) break;\n }\n const cStates = getStateMetadataList(current.constructor);\n const cAttrs = getAttributeMetadataList(current.constructor);\n const sMeta = cStates?.find(s => s.options.name === root);\n const aMeta = cAttrs?.find(a => a.options.name === root);\n if (sMeta || aMeta) {\n const propKey = sMeta ? String(sMeta.propertyKey) : String(aMeta!.propertyKey);\n const rootVal = (current as any)[propKey];\n const subPath = path.split('.').slice(1).join('.');\n if (subPath) {\n val = SwcUtils.getValueByPath(rootVal, subPath, subPath.split('.')[0]);\n if (val === SWC_NOT_FOUND) {\n const parts = subPath.split('.');\n let cur = rootVal;\n for (const p of parts) {\n if (cur === null || cur === undefined) {\n cur = SWC_NOT_FOUND;\n break;\n }\n cur = cur[p];\n }\n if (cur !== undefined && cur !== SWC_NOT_FOUND) val = cur;\n }\n } else {\n val = rootVal;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) break;\n }\n if (root in current) {\n val = SwcUtils.getValueByPath(current, path, root);\n if (val !== SWC_NOT_FOUND) break;\n }\n current = current.parentElement || (current.getRootNode() as any).host;\n }\n if (val !== SWC_NOT_FOUND && val !== undefined) {\n const strVal = val === null ? '' : typeof val === 'object' ? JSON.stringify(val) : String(val);\n updatedText = updatedText.replace(match[0], strVal);\n if (bin.type === 'attribute' && bin.owner) {\n const attrName = (bin.node as Attr).name;\n const ownerAttrs = getAttributeMetadataList(bin.owner.constructor);\n const attrMeta = ownerAttrs?.find(a => a.options.name === attrName);\n const propName = attrMeta ? String(attrMeta.propertyKey) : attrName.replace(/-([a-z])/g, g => g[1].toUpperCase());\n if (val === null || val === undefined) {\n bin.owner.removeAttribute(attrName);\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n } else {\n if (propName in bin.owner) (bin.owner as any)[propName] = val;\n bin.owner.setAttribute(attrName, updatedText);\n if ((attrName === 'value' || attrName === 'checked') && bin.owner.tagName.match(/INPUT|TEXTAREA|SELECT/)) {\n (bin.owner as any)[attrName] = updatedText;\n }\n }\n }\n }\n }\n if (bin.type === 'text') bin.node.textContent = updatedText;\n });\n }\n\n disconnectedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-disconnected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_DISCONNECTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (this._observer) this._observer.disconnect();\n if (this._shadowObserver) this._shadowObserver.disconnect();\n if (config.autoRemoveEventListeners) {\n this._activeListeners.forEach(({ el, type, handler, options }) => el.removeEventListener(type, handler, options));\n this._activeListeners = [];\n }\n if (super.disconnectedCallback) super.disconnectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_DISCONNECTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-disconnected', hostSet);\n }\n\n adoptedCallback() {\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-adopted', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_ADOPTED_METADATA_KEY);\n bMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n if (super.adoptedCallback) super.adoptedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_ADOPTED_METADATA_KEY);\n aMethods?.forEach(m => this._invokeLifecycleMethod(m, hostSet));\n this._executeSwcScript('swc-on-after-adopted', hostSet);\n }\n\n async connectedCallback() {\n // await new Promise(resolve => setTimeout(resolve, 0));\n const hostSet = SwcUtils.getHostSet(this as any);\n this._executeSwcScript('swc-on-before-connected', hostSet);\n const bMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_BEFORE_CONNECTED_METADATA_KEY);\n if (bMethods) {\n for (const m of bMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n if (typeof (this as any).initCore === 'function') (this as any).initCore();\n const iHtmlList = getInnerHtmlMetadataList(this);\n let sContent = '';\n let lContent = '';\n if (iHtmlList) {\n for (const meta of iHtmlList) {\n const result = await (this as any)[meta.propertyKey]();\n if (result !== undefined) {\n if (meta.options.useShadow === true) sContent += result;\n else lContent += result;\n }\n }\n }\n if (this.shadowRoot) this.shadowRoot.innerHTML = sContent;\n if (lContent) this.innerHTML = lContent;\n (this as any)._syncDecorators();\n\n // --- Root Host self-binding logic ---\n const isManagedByParent = !!SwcUtils.findNearestSwcHost(this as any);\n if (!isManagedByParent) {\n Array.from(this.attributes as any).forEach((attr: any) => {\n if (attr.name.startsWith('swc-on-') && !swcLifecycleAttributes.includes(attr.name)) {\n const eventName = attr.name.substring(7);\n const script = attr.value;\n if (eventName === 'connected') {\n const eventKey = `host-attr-once:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, null, null, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n bound.add(eventKey);\n }\n return;\n }\n const eventKey = `host-attr-event:${attr.name}`;\n let bound = this._boundElements.get(this as any);\n if (!bound) {\n bound = new Set();\n this._boundElements.set(this as any, bound);\n }\n if (!bound.has(eventKey)) {\n const handler = (event: any) => {\n if (script) {\n try {\n const argNames = Object.keys(hostSet);\n const argValues = Object.values(hostSet);\n new Function('event', '$data', ...argNames, ...SWC_DOM_HELPER_KEYS, script).call(this, event, (event as CustomEvent).detail, ...argValues, ...SWC_DOM_HELPER_VALS());\n } catch (e) {\n console.error(`[SWC] Failed to execute ${attr.name} script:`, e);\n }\n }\n };\n this.addEventListener(eventName, handler);\n bound.add(eventKey);\n if (config.autoRemoveEventListeners) this._activeListeners.push({ el: this as any, type: eventName, handler });\n }\n }\n });\n }\n\n const mutationMetaList = getMutationSubscribeMetadataList(this);\n const fireMutationCallbacks = (mutationList: MutationRecord[], observer: MutationObserver, root: 'light' | 'shadow') => {\n mutationMetaList?.forEach(meta => {\n const r = meta.options.root ?? 'auto';\n const matches = r === 'all' || r === root || (r === 'auto' && (this.shadowRoot ? root === 'shadow' : root === 'light'));\n if (matches && typeof (this as any)[meta.propertyKey] === 'function') {\n (this as any)[meta.propertyKey](mutationList, observer, root);\n }\n });\n };\n this._observer = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'light');\n });\n // @ts-ignore\n this._observer.observe(this as any, { childList: true, subtree: true });\n if (this.shadowRoot) {\n this._shadowObserver = new (win as any).MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n (this as any)._syncDecorators();\n fireMutationCallbacks(mutationList, observer, 'shadow');\n });\n // @ts-ignore\n this._shadowObserver.observe(this.shadowRoot, { childList: true, subtree: true });\n }\n if (super.connectedCallback) await super.connectedCallback();\n const aMethods = getLifecycleMetadata<(string | symbol)[]>(this, ON_AFTER_CONNECTED_METADATA_KEY);\n if (aMethods) {\n for (const m of aMethods) {\n await this._invokeLifecycleMethod(m, hostSet);\n }\n }\n this._executeSwcScript('swc-on-after-connected', hostSet);\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (super.attributeChangedCallback) super.attributeChangedCallback(name, oldValue, newValue);\n if (attributePropsList) {\n attributePropsList.forEach(meta => {\n if (meta.options.name === name) {\n const current = (this as any)[meta.propertyKey];\n if (typeof current === 'object' && current !== null) return;\n if (String(current) !== String(newValue)) (this as any)[meta.propertyKey] = newValue;\n }\n });\n }\n if (typeof (this as any)._updateState === 'function') (this as any)._updateState(name);\n const aMethodsMap = getLifecycleMetadata(constructor, ON_ATTRIBUTE_CHANGED_METADATA_KEY) as Map<string, (string | symbol)[]>;\n const mKeys = aMethodsMap?.get(name);\n const hostSet = SwcUtils.getHostSet(this as any);\n if (mKeys && Array.isArray(mKeys)) {\n mKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n if (emitCustomEventList) {\n const eMeta = emitCustomEventList.find(it => it.options.attributeName === name);\n if (eMeta) {\n const eType = eMeta.options.type;\n const oHandler = this._emitHandlers.get(eType);\n if (oHandler) this.removeEventListener(eType, oHandler);\n if (newValue) {\n const nHandler = (e: Event) => {\n new Function('event', '$data', newValue).call(this, e, (e as CustomEvent).detail);\n };\n this.addEventListener(eType, nHandler);\n this._emitHandlers.set(eType, nHandler);\n }\n }\n }\n const wMethodsKeys = aMethodsMap?.get(ATTRIBUTE_CHANGED_WILDCARD);\n if (wMethodsKeys && Array.isArray(wMethodsKeys)) {\n wMethodsKeys.forEach(key => this._invokeLifecycleMethod(key, hostSet, [newValue, oldValue, name]));\n }\n this._executeSwcScript('swc-on-attribute-changed', hostSet, { $new: newValue, $old: oldValue, $name: name });\n }\n };\n\n // [METADATA INHERITANCE FIX]\n // Copy method metadata from original constructor to NewClass\n // This ensures @Inject and other decorators on methods work correctly in the wrapped class.\n const originalProto = constructor.prototype;\n const newProto = NewClass.prototype;\n Object.getOwnPropertyNames(originalProto).forEach(name => {\n if (name === 'constructor') return;\n const keys = Reflect.getMetadataKeys(originalProto, name);\n keys.forEach(key => {\n const metadata = Reflect.getMetadata(key, originalProto, name);\n Reflect.defineMetadata(key, metadata, newProto, name);\n });\n });\n\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, NewClass);\n ReflectUtils.defineMetadata(ELEMENT_CONFIG_KEY, config, constructor);\n const registry = config.customElementRegistry || (typeof win !== 'undefined' ? win.customElements : undefined);\n if (registry && !registry.get(config.name)) {\n const options = config.extends ? { extends: config.extends } : undefined;\n registry.define(config.name, NewClass as any, options);\n }\n return NewClass as any;\n };\n\nexport const getElementConfig = (target: any): ElementConfig | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ELEMENT_CONFIG_KEY, constructor);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["eventKey", "bound"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/elements/SwcInterfaces.ts"],
|
|
4
|
-
"sourcesContent": ["import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { ConstructorType, Optional } from '@dooboostore/core/types';\nexport enum InjectSituationType {\n HOST_SET = 'SIMPLE_WEB_COMPONENT://HOSTSET',\n APP_HOST = 'SIMPLE_WEB_COMPONENT://APPHOST',\n APP_HOSTS = 'SIMPLE_WEB_COMPONENT://APPHOSTS',\n HOST = 'SIMPLE_WEB_COMPONENT://HOST',\n HOSTS = 'SIMPLE_WEB_COMPONENT://HOSTS',\n FIRST_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTHOST',\n LAST_HOST = 'SIMPLE_WEB_COMPONENT://LASTHOST',\n FIRST_APP_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTAPPHOST',\n LAST_APP_HOST = 'SIMPLE_WEB_COMPONENT://LASTAPPHOST'
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { ConstructorType, Optional } from '@dooboostore/core/types';\nimport { Router } from '@dooboostore/core-web/routers/Router';\n\nexport enum InjectSituationType {\n HOST_SET = 'SIMPLE_WEB_COMPONENT://HOSTSET',\n APP_HOST = 'SIMPLE_WEB_COMPONENT://APPHOST',\n APP_HOSTS = 'SIMPLE_WEB_COMPONENT://APPHOSTS',\n HOST = 'SIMPLE_WEB_COMPONENT://HOST',\n HOSTS = 'SIMPLE_WEB_COMPONENT://HOSTS',\n FIRST_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTHOST',\n LAST_HOST = 'SIMPLE_WEB_COMPONENT://LASTHOST',\n FIRST_APP_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTAPPHOST',\n LAST_APP_HOST = 'SIMPLE_WEB_COMPONENT://LASTAPPHOST'\n}\n\nexport type HostSet = {\n $host: SwcHTMLElementInterface | null;\n $hosts: SwcHTMLElementInterface[];\n $firstHost: SwcHTMLElementInterface | null;\n $lastHost: SwcHTMLElementInterface | null;\n $appHost: SwcAppInterface | null;\n $appHosts: SwcAppInterface[];\n $firstAppHost: SwcAppInterface | null;\n $lastAppHost: SwcAppInterface | null;\n};\n\nexport interface SwcHTMLElementInterface extends HTMLElement {\n getAppHost(): SwcAppInterface | undefined;\n getAppHosts(): SwcAppInterface[];\n getFirstAppHost(): SwcAppInterface | undefined;\n getLastAppHost(): SwcAppInterface | undefined;\n getHosts(): SwcHTMLElementInterface[];\n getHost(): SwcHTMLElementInterface | undefined;\n getFirstHost(): SwcHTMLElementInterface | undefined;\n getLastHost(): SwcHTMLElementInterface | undefined;\n getHostSet(): HostSet;\n}\n\nexport type SwcConfigType = {\n rootRouter: ConstructorType<any>;\n routeType: 'path' | 'hash' | 'element';\n path?: string;\n window: Window;\n};\n\nexport type SwcAttributeConfigType = Optional<SwcConfigType, 'routeType' | 'window'>;\n\nexport interface SwcAppInterface extends SwcHTMLElementInterface {\n simpleApplication?: SimpleApplication;\n router?: Router;\n routing(path: string): Promise<void>;\n}\n"],
|
|
5
|
+
"mappings": "AAIO,IAAK,sBAAL,kBAAKA,yBAAL;AACL,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,oBAAiB;AACjB,EAAAA,qBAAA,mBAAgB;AATN,SAAAA;AAAA,GAAA;",
|
|
6
6
|
"names": ["InjectSituationType"]
|
|
7
7
|
}
|