@echolab-auto/echo-prodoc 0.1.0
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/README.md +56 -0
- package/bin/echo-prodoc.js +2 -0
- package/package.json +49 -0
- package/packages/prodoc-cli/dist/index.d.ts +10 -0
- package/packages/prodoc-cli/dist/index.d.ts.map +1 -0
- package/packages/prodoc-cli/dist/index.js +251 -0
- package/packages/prodoc-cli/dist/index.js.map +1 -0
- package/packages/prodoc-cli/dist/server.d.ts +13 -0
- package/packages/prodoc-cli/dist/server.d.ts.map +1 -0
- package/packages/prodoc-cli/package.json +39 -0
- package/packages/prodoc-core/dist/index.cjs +1 -0
- package/packages/prodoc-core/dist/index.d.ts +12 -0
- package/packages/prodoc-core/dist/index.d.ts.map +1 -0
- package/packages/prodoc-core/dist/index.js +2 -0
- package/packages/prodoc-core/package.json +30 -0
- package/packages/prodoc-editor/dist/index.cjs +1 -0
- package/packages/prodoc-editor/dist/index.css +2 -0
- package/packages/prodoc-editor/dist/index.d.ts +10 -0
- package/packages/prodoc-editor/dist/index.d.ts.map +1 -0
- package/packages/prodoc-editor/dist/index.js +3 -0
- package/packages/prodoc-editor/package.json +40 -0
- package/packages/prodoc-renderer/dist/index.cjs +1 -0
- package/packages/prodoc-renderer/dist/index.css +2 -0
- package/packages/prodoc-renderer/dist/index.d.ts +11 -0
- package/packages/prodoc-renderer/dist/index.d.ts.map +1 -0
- package/packages/prodoc-renderer/dist/index.js +3 -0
- package/packages/prodoc-renderer/package.json +38 -0
- package/scripts/build-if-needed.js +37 -0
- package/scripts/install-ui-frame.js +269 -0
- package/scripts/link-system-bin.js +82 -0
- package/scripts/publish.sh +64 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismAlert.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismAutoComplete.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismAvatar.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismBadge.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismBreadcrumb.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismButton.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismCanvas.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismCard.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismCheckbox.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismCol.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismCollapse.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismContainer.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismDatePicker.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismDivider.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismDrawer.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismDropdown.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismEmpty.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismFieldError.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismFieldLabel.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismFormItem.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismInput.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismInputNumber.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismLayout.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismList.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismMenu.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismModal.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismNavMenu.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismPagination.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismPopover.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismProgress.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismRadioGroup.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismSelect.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismSkeleton.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismSlider.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismSteps.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismSwitch.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTable.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTabs.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTag.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTextarea.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismThemeToggle.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismToastProvider.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTooltip.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismTree.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismUpload.css +1 -0
- package/vendor/@echolab/ui-frame/dist/NeumorphismVirtualList.css +1 -0
- package/vendor/@echolab/ui-frame/dist/ThemeProvider.css +1 -0
- package/vendor/@echolab/ui-frame/dist/base.css +1 -0
- package/vendor/@echolab/ui-frame/dist/base.d.ts +1 -0
- package/vendor/@echolab/ui-frame/dist/base.js +1 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAlert-C8gUjcJ9.js +130 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAutoComplete-DI9cIsCr.js +255 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAvatar-D7pr7n61.js +65 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismBadge-Br8ESUFf.js +64 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismBreadcrumb-PeUQHAqO.js +58 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismButton-CiIrdqlV.js +81 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCanvas-CBLkbovI.js +176 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCard-Cgy4dCPE.js +66 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCheckbox-Bo5Q7yC_.js +114 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCol-DwoaSc5J.js +117 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCollapse-BLSShHjJ.js +95 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismContainer-B1g0c9Ps.js +32 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDatePicker-TLkTC22A.js +315 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDivider-CjDyku2C.js +56 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDrawer-BmpGyAlZ.js +133 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDropdown-B_cuLYvV.js +120 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismEmpty-DAsVUAXw.js +49 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFieldError-BxamHjhs.js +20 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFieldLabel-CBF1nZs1.js +26 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFormItem-DjtFqfsK.js +149 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismInput-CV0AQcff.js +121 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismInputNumber-BLSDUrG2.js +119 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismLayout-C7hoaRIo.js +155 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismList-BPjiY2ok.js +106 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismMenu-xfgTqwex.js +294 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismModal-BejbU5Uw.js +139 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismNavMenu-D_aeJ9zj.js +297 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismPagination-Dj-JuN7F.js +162 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismPopover-RB48cpPq.js +197 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismProgress-jGoOJqN4.js +72 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismRadioGroup-BC-NFcXF.js +122 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSelect-D57-kOit.js +200 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSkeleton-CIBufbBR.js +56 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSlider-CJGJhgAY.js +163 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSteps-Eq8pY0Yo.js +147 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSwitch-HSJ9_0Zq.js +76 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTable-BEcMl0Sh.js +189 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTabs-DhV7RpfS.js +98 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTag-D-HO-n7l.js +83 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTextarea-hf4f9EM1.js +126 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismThemeToggle-B-lky48G.js +144 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismToastProvider-CJvxNDwJ.js +132 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTooltip-DEac8yVH.js +116 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTree-C5jKWadX.js +302 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismUpload-CK8GutG5.js +584 -0
- package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismVirtualList-BI322-e4.js +55 -0
- package/vendor/@echolab/ui-frame/dist/chunks/ThemeProvider-CCR_TjUs.js +30 -0
- package/vendor/@echolab/ui-frame/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/vendor/@echolab/ui-frame/dist/chunks/componentRegistry-XcPWEoEL.js +48 -0
- package/vendor/@echolab/ui-frame/dist/chunks/createComponent-jnXBYqCm.js +11 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/NeumorphismAlert.d.ts +78 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/NeumorphismAutoComplete.d.ts +83 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/NeumorphismAvatar.d.ts +50 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/NeumorphismBadge.d.ts +47 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/NeumorphismBreadcrumb.d.ts +45 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/NeumorphismButton.d.ts +74 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/NeumorphismCanvas.d.ts +85 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/NeumorphismCard.d.ts +83 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/NeumorphismCheckbox.d.ts +58 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/NeumorphismCollapse.d.ts +59 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/NeumorphismContainer.d.ts +48 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/NeumorphismDatePicker.d.ts +69 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/NeumorphismDivider.d.ts +51 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/NeumorphismDrawer.d.ts +71 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/NeumorphismDropdown.d.ts +75 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/NeumorphismEmpty.d.ts +41 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/NeumorphismFieldError.d.ts +17 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/NeumorphismFieldLabel.d.ts +19 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/index.js +6 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/NeumorphismForm.d.ts +67 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/NeumorphismFormItem.d.ts +54 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/index.d.ts +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/index.js +5 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/NeumorphismCol.d.ts +54 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/NeumorphismRow.d.ts +51 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/index.d.ts +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/index.js +5 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/NeumorphismInput.d.ts +87 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/NeumorphismInputNumber.d.ts +85 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/NeumorphismLayout.d.ts +79 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/NeumorphismList.d.ts +74 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/NeumorphismMenu.d.ts +73 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/NeumorphismModal.d.ts +88 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/NeumorphismNavMenu.d.ts +63 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/NeumorphismPagination.d.ts +87 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/NeumorphismPopover.d.ts +78 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/NeumorphismProgress.d.ts +53 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/NeumorphismRadio.d.ts +52 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/NeumorphismRadioGroup.d.ts +53 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/index.d.ts +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/index.js +5 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/NeumorphismSelect.d.ts +96 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/NeumorphismSkeleton.d.ts +38 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/NeumorphismSlider.d.ts +76 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/NeumorphismSteps.d.ts +69 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/NeumorphismSwitch.d.ts +64 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/NeumorphismTable.d.ts +99 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/NeumorphismTabs.d.ts +71 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/NeumorphismTag.d.ts +65 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/NeumorphismTextarea.d.ts +80 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/NeumorphismThemeToggle.d.ts +52 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/NeumorphismToastProvider.d.ts +57 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/NeumorphismTooltip.d.ts +58 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/NeumorphismTree.d.ts +58 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/NeumorphismTreeNode.d.ts +59 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/index.d.ts +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/index.js +5 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/NeumorphismUpload.d.ts +126 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/NeumorphismVirtualList.d.ts +59 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/ThemeProvider.d.ts +56 -0
- package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/index.d.ts +2 -0
- package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/index.js +4 -0
- package/vendor/@echolab/ui-frame/dist/components/index.d.ts +92 -0
- package/vendor/@echolab/ui-frame/dist/composables/injectionKeys.d.ts +27 -0
- package/vendor/@echolab/ui-frame/dist/composables/injectionKeys.js +6 -0
- package/vendor/@echolab/ui-frame/dist/composables/useAlert.d.ts +30 -0
- package/vendor/@echolab/ui-frame/dist/composables/useAlert.js +25 -0
- package/vendor/@echolab/ui-frame/dist/composables/useAutoComplete.d.ts +50 -0
- package/vendor/@echolab/ui-frame/dist/composables/useAutoComplete.js +118 -0
- package/vendor/@echolab/ui-frame/dist/composables/useCheckable.d.ts +17 -0
- package/vendor/@echolab/ui-frame/dist/composables/useCheckable.js +17 -0
- package/vendor/@echolab/ui-frame/dist/composables/useCollapse.d.ts +26 -0
- package/vendor/@echolab/ui-frame/dist/composables/useCollapse.js +25 -0
- package/vendor/@echolab/ui-frame/dist/composables/useConfig.d.ts +243 -0
- package/vendor/@echolab/ui-frame/dist/composables/useConfig.js +12 -0
- package/vendor/@echolab/ui-frame/dist/composables/useDatePicker.d.ts +73 -0
- package/vendor/@echolab/ui-frame/dist/composables/useDatePicker.js +118 -0
- package/vendor/@echolab/ui-frame/dist/composables/useDrawer.d.ts +34 -0
- package/vendor/@echolab/ui-frame/dist/composables/useDrawer.js +97 -0
- package/vendor/@echolab/ui-frame/dist/composables/useFormField.d.ts +24 -0
- package/vendor/@echolab/ui-frame/dist/composables/useFormField.js +34 -0
- package/vendor/@echolab/ui-frame/dist/composables/useFormValidation.d.ts +18 -0
- package/vendor/@echolab/ui-frame/dist/composables/useFormValidation.js +44 -0
- package/vendor/@echolab/ui-frame/dist/composables/useLocale.d.ts +38 -0
- package/vendor/@echolab/ui-frame/dist/composables/useLocale.js +34 -0
- package/vendor/@echolab/ui-frame/dist/composables/useMenu.d.ts +55 -0
- package/vendor/@echolab/ui-frame/dist/composables/useMenu.js +218 -0
- package/vendor/@echolab/ui-frame/dist/composables/useModal.d.ts +31 -0
- package/vendor/@echolab/ui-frame/dist/composables/useModal.js +93 -0
- package/vendor/@echolab/ui-frame/dist/composables/useNumberInput.d.ts +52 -0
- package/vendor/@echolab/ui-frame/dist/composables/useNumberInput.js +100 -0
- package/vendor/@echolab/ui-frame/dist/composables/usePagination.d.ts +37 -0
- package/vendor/@echolab/ui-frame/dist/composables/usePagination.js +40 -0
- package/vendor/@echolab/ui-frame/dist/composables/usePopover.d.ts +38 -0
- package/vendor/@echolab/ui-frame/dist/composables/usePopover.js +54 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSelect.d.ts +30 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSelect.js +76 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSlider.d.ts +39 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSlider.js +79 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSteps.d.ts +54 -0
- package/vendor/@echolab/ui-frame/dist/composables/useSteps.js +26 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTable.d.ts +78 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTable.js +103 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTabs.d.ts +33 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTabs.js +43 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTheme.d.ts +40 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTheme.js +81 -0
- package/vendor/@echolab/ui-frame/dist/composables/useToast.d.ts +44 -0
- package/vendor/@echolab/ui-frame/dist/composables/useToast.js +57 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTooltip.d.ts +29 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTooltip.js +27 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTouchDevice.d.ts +7 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTouchDevice.js +25 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTree.d.ts +50 -0
- package/vendor/@echolab/ui-frame/dist/composables/useTree.js +219 -0
- package/vendor/@echolab/ui-frame/dist/composables/useUpload.d.ts +81 -0
- package/vendor/@echolab/ui-frame/dist/composables/useUpload.js +169 -0
- package/vendor/@echolab/ui-frame/dist/composables/useVirtualList.d.ts +59 -0
- package/vendor/@echolab/ui-frame/dist/composables/useVirtualList.js +107 -0
- package/vendor/@echolab/ui-frame/dist/doc/DocEditor.d.ts +41 -0
- package/vendor/@echolab/ui-frame/dist/doc/DocViewer.d.ts +39 -0
- package/vendor/@echolab/ui-frame/dist/doc/MarkdownEditor.d.ts +37 -0
- package/vendor/@echolab/ui-frame/dist/doc/MarkdownRenderer.d.ts +42 -0
- package/vendor/@echolab/ui-frame/dist/doc/doc-tree.d.ts +8 -0
- package/vendor/@echolab/ui-frame/dist/doc/index.d.ts +27 -0
- package/vendor/@echolab/ui-frame/dist/doc/index.js +1055 -0
- package/vendor/@echolab/ui-frame/dist/doc/parser.d.ts +15 -0
- package/vendor/@echolab/ui-frame/dist/doc/tree-utils.d.ts +22 -0
- package/vendor/@echolab/ui-frame/dist/doc/types.d.ts +42 -0
- package/vendor/@echolab/ui-frame/dist/doc/useDocLayout.d.ts +38 -0
- package/vendor/@echolab/ui-frame/dist/extensions/componentRegistry.d.ts +39 -0
- package/vendor/@echolab/ui-frame/dist/extensions/createComponent.d.ts +43 -0
- package/vendor/@echolab/ui-frame/dist/extensions/index.d.ts +4 -0
- package/vendor/@echolab/ui-frame/dist/extensions/index.js +6 -0
- package/vendor/@echolab/ui-frame/dist/extensions/types.d.ts +56 -0
- package/vendor/@echolab/ui-frame/dist/index.css +1 -0
- package/vendor/@echolab/ui-frame/dist/index.d.ts +80 -0
- package/vendor/@echolab/ui-frame/dist/locales/en-US.d.ts +3 -0
- package/vendor/@echolab/ui-frame/dist/locales/index.d.ts +3 -0
- package/vendor/@echolab/ui-frame/dist/locales/index.js +171 -0
- package/vendor/@echolab/ui-frame/dist/locales/types.d.ts +89 -0
- package/vendor/@echolab/ui-frame/dist/locales/zh-CN.d.ts +3 -0
- package/vendor/@echolab/ui-frame/dist/style.css +1 -0
- package/vendor/@echolab/ui-frame/dist/styles/base.d.ts +1 -0
- package/vendor/@echolab/ui-frame/dist/styles/tokens.d.ts +1 -0
- package/vendor/@echolab/ui-frame/dist/tokens.css +1 -0
- package/vendor/@echolab/ui-frame/dist/tokens.d.ts +1 -0
- package/vendor/@echolab/ui-frame/dist/tokens.js +1 -0
- package/vendor/@echolab/ui-frame/dist/ui-frame.css +1 -0
- package/vendor/@echolab/ui-frame/dist/ui-frame.d.ts +3 -0
- package/vendor/@echolab/ui-frame/dist/ui-frame.js +247 -0
- package/vendor/@echolab/ui-frame/dist/ui-frame.umd.cjs +3 -0
- package/vendor/@echolab/ui-frame/dist/utils/index.d.ts +14 -0
- package/vendor/@echolab/ui-frame/dist/utils/index.js +20 -0
- package/vendor/@echolab/ui-frame/package.json +131 -0
- package/vendor/fsevents-stub/index.d.ts +2 -0
- package/vendor/fsevents-stub/index.js +3 -0
- package/vendor/fsevents-stub/package.json +8 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Ref, ComputedRef } from 'vue';
|
|
2
|
+
|
|
3
|
+
export type UploadStatus = 'pending' | 'uploading' | 'done' | 'error';
|
|
4
|
+
export interface UploadFile {
|
|
5
|
+
/** Unique identifier */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Original file name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** File size in bytes */
|
|
10
|
+
size: number;
|
|
11
|
+
/** MIME type */
|
|
12
|
+
type: string;
|
|
13
|
+
/** Upload lifecycle status */
|
|
14
|
+
status: UploadStatus;
|
|
15
|
+
/** Upload progress (0–100) */
|
|
16
|
+
progress: number;
|
|
17
|
+
/** ObjectURL for image preview (cleaned up on remove) */
|
|
18
|
+
url?: string;
|
|
19
|
+
/** Error message if status === 'error' */
|
|
20
|
+
error?: string;
|
|
21
|
+
/** Raw File object reference */
|
|
22
|
+
raw?: File;
|
|
23
|
+
}
|
|
24
|
+
export interface UseUploadOptions {
|
|
25
|
+
/** Accepted MIME types / extensions, e.g. "image/*,.pdf" */
|
|
26
|
+
accept?: Ref<string | undefined> | ComputedRef<string | undefined>;
|
|
27
|
+
/** Maximum file size in bytes */
|
|
28
|
+
maxSize?: Ref<number | undefined> | ComputedRef<number | undefined>;
|
|
29
|
+
/** Maximum number of files allowed */
|
|
30
|
+
maxCount?: Ref<number | undefined> | ComputedRef<number | undefined>;
|
|
31
|
+
/** Whether multiple files can be selected */
|
|
32
|
+
multiple?: Ref<boolean> | ComputedRef<boolean>;
|
|
33
|
+
/** Automatically start upload after file selection */
|
|
34
|
+
autoUpload?: Ref<boolean> | ComputedRef<boolean>;
|
|
35
|
+
/** Callback when file count exceeds maxCount */
|
|
36
|
+
onExceed?: (excessCount: number) => void;
|
|
37
|
+
/** Callback when file size exceeds maxSize */
|
|
38
|
+
onSizeExceed?: (file: File) => void;
|
|
39
|
+
/** Callback when file type is not accepted */
|
|
40
|
+
onTypeError?: (file: File) => void;
|
|
41
|
+
/** Custom upload function — receives file, returns a promise resolving to progress (0–100) or void */
|
|
42
|
+
uploadFn?: (file: UploadFile) => Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
export interface UseUploadReturn {
|
|
45
|
+
/** Current file list */
|
|
46
|
+
files: Ref<UploadFile[]>;
|
|
47
|
+
/** Whether a drag operation is hovering over the drop zone */
|
|
48
|
+
dragOver: Ref<boolean>;
|
|
49
|
+
/** Add files to the list (validates first) */
|
|
50
|
+
addFiles: (fileList: FileList | File[]) => void;
|
|
51
|
+
/** Remove a single file by id — cleans up ObjectURL */
|
|
52
|
+
removeFile: (id: string) => void;
|
|
53
|
+
/** Clear all files — cleans up all ObjectURLs */
|
|
54
|
+
clearFiles: () => void;
|
|
55
|
+
/** Manually trigger upload for pending files */
|
|
56
|
+
upload: () => Promise<void>;
|
|
57
|
+
/** Hidden file input element ref */
|
|
58
|
+
fileInputRef: Ref<HTMLInputElement | null>;
|
|
59
|
+
/** Set dragOver to true on dragover/enter */
|
|
60
|
+
handleDrag: (event: DragEvent) => void;
|
|
61
|
+
/** Reset dragOver counter on dragleave */
|
|
62
|
+
handleDragLeave: (event: DragEvent) => void;
|
|
63
|
+
/** Add files from drop event, reset dragOver */
|
|
64
|
+
handleDrop: (event: DragEvent) => void;
|
|
65
|
+
/** Open file picker dialog */
|
|
66
|
+
handleFileInput: (event: Event) => void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Headless upload — encapsulates file selection, validation, drag-and-drop
|
|
70
|
+
* tracking, upload progress simulation, and ObjectURL lifecycle management.
|
|
71
|
+
* Use with your own UI rendering.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```vue
|
|
75
|
+
* <script setup lang="ts">
|
|
76
|
+
* import { useUpload } from '@echolab/ui-frame'
|
|
77
|
+
* const { files, dragOver, fileInputRef, addFiles, removeFile, clearFiles, upload, handleDrag, handleDrop, handleFileInput } = useUpload({})
|
|
78
|
+
* </script>
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function useUpload(opts?: UseUploadOptions): UseUploadReturn;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { ref as w, onBeforeUnmount as B } from "vue";
|
|
2
|
+
import { generateId as x } from "../utils/index.js";
|
|
3
|
+
function $(z = {}) {
|
|
4
|
+
const {
|
|
5
|
+
accept: i,
|
|
6
|
+
maxSize: c,
|
|
7
|
+
maxCount: p,
|
|
8
|
+
multiple: d,
|
|
9
|
+
autoUpload: v,
|
|
10
|
+
onExceed: g,
|
|
11
|
+
onSizeExceed: m,
|
|
12
|
+
onTypeError: h,
|
|
13
|
+
uploadFn: F
|
|
14
|
+
} = z, n = w([]), f = w(!1), D = w(null);
|
|
15
|
+
let l = 0;
|
|
16
|
+
function U(e, t) {
|
|
17
|
+
return t.split(",").map((r) => r.trim()).filter(Boolean).some((r) => {
|
|
18
|
+
if (r.endsWith("/*")) {
|
|
19
|
+
const o = r.slice(0, -1);
|
|
20
|
+
return e.startsWith(o);
|
|
21
|
+
}
|
|
22
|
+
return r.startsWith(".") ? e.endsWith(r) || e === r.toLowerCase() : e === r;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function P(e) {
|
|
26
|
+
try {
|
|
27
|
+
return URL.createObjectURL(e);
|
|
28
|
+
} catch {
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function y(e) {
|
|
33
|
+
if (e)
|
|
34
|
+
try {
|
|
35
|
+
URL.revokeObjectURL(e);
|
|
36
|
+
} catch {
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function M(e) {
|
|
40
|
+
var t;
|
|
41
|
+
if (c != null && c.value && e.size > c.value)
|
|
42
|
+
return m == null || m(e), "sizeExceed";
|
|
43
|
+
if (i != null && i.value && e.type && !U(e.type, i.value)) {
|
|
44
|
+
const a = `.${(t = e.name.split(".").pop()) == null ? void 0 : t.toLowerCase()}`;
|
|
45
|
+
if (!U(a, i.value))
|
|
46
|
+
return h == null || h(e), "typeError";
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function O(e) {
|
|
51
|
+
const t = e.type.startsWith("image/") ? P(e) : void 0;
|
|
52
|
+
return {
|
|
53
|
+
id: x("upload_"),
|
|
54
|
+
name: e.name,
|
|
55
|
+
size: e.size,
|
|
56
|
+
type: e.type,
|
|
57
|
+
status: "pending",
|
|
58
|
+
progress: 0,
|
|
59
|
+
url: t,
|
|
60
|
+
raw: e
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function L(e) {
|
|
64
|
+
const t = Array.from(e), a = (d == null ? void 0 : d.value) ?? !1, r = p == null ? void 0 : p.value;
|
|
65
|
+
if (r !== void 0) {
|
|
66
|
+
const s = n.value.length + t.length;
|
|
67
|
+
if (s > r) {
|
|
68
|
+
g == null || g(s - r);
|
|
69
|
+
const u = r - n.value.length;
|
|
70
|
+
if (u <= 0) return;
|
|
71
|
+
t.splice(u);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
a || I();
|
|
75
|
+
const o = [];
|
|
76
|
+
for (const s of t) {
|
|
77
|
+
const u = M(s);
|
|
78
|
+
if (u) {
|
|
79
|
+
const k = {
|
|
80
|
+
id: x("upload_"),
|
|
81
|
+
name: s.name,
|
|
82
|
+
size: s.size,
|
|
83
|
+
type: s.type,
|
|
84
|
+
status: "error",
|
|
85
|
+
progress: 0,
|
|
86
|
+
error: u === "sizeExceed" ? "sizeExceed" : "typeError"
|
|
87
|
+
};
|
|
88
|
+
o.push(k);
|
|
89
|
+
} else
|
|
90
|
+
o.push(O(s));
|
|
91
|
+
}
|
|
92
|
+
n.value = [...n.value, ...o], v != null && v.value && o.some((s) => s.status === "pending") && R();
|
|
93
|
+
}
|
|
94
|
+
function W(e) {
|
|
95
|
+
const t = n.value.findIndex((r) => r.id === e);
|
|
96
|
+
if (t === -1) return;
|
|
97
|
+
const a = n.value[t];
|
|
98
|
+
y(a.url), n.value = n.value.filter((r) => r.id !== e);
|
|
99
|
+
}
|
|
100
|
+
function I() {
|
|
101
|
+
for (const e of n.value)
|
|
102
|
+
y(e.url);
|
|
103
|
+
n.value = [];
|
|
104
|
+
}
|
|
105
|
+
async function R() {
|
|
106
|
+
const e = n.value.filter((t) => t.status === "pending");
|
|
107
|
+
for (const t of e)
|
|
108
|
+
t.status = "uploading", t.progress = 0;
|
|
109
|
+
if (F) {
|
|
110
|
+
await Promise.allSettled(
|
|
111
|
+
e.map(async (t) => {
|
|
112
|
+
try {
|
|
113
|
+
await F(t), t.status = "done", t.progress = 100;
|
|
114
|
+
} catch (a) {
|
|
115
|
+
t.status = "error", t.error = a instanceof Error ? a.message : "uploadFail";
|
|
116
|
+
}
|
|
117
|
+
})
|
|
118
|
+
);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
await Promise.allSettled(
|
|
122
|
+
e.map(
|
|
123
|
+
(t) => new Promise((a) => {
|
|
124
|
+
const r = setInterval(() => {
|
|
125
|
+
if (t.status !== "uploading") {
|
|
126
|
+
clearInterval(r);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
t.progress = Math.min(100, t.progress + 15 + Math.random() * 10), t.progress >= 100 && (clearInterval(r), t.status = "done", a());
|
|
130
|
+
}, 300);
|
|
131
|
+
})
|
|
132
|
+
)
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
function b(e) {
|
|
136
|
+
e.preventDefault(), e.stopPropagation(), (e.type === "dragover" || e.type === "dragenter") && (l++, f.value = !0);
|
|
137
|
+
}
|
|
138
|
+
function j(e) {
|
|
139
|
+
e.preventDefault(), e.stopPropagation(), l = Math.max(0, l - 1), l === 0 && (f.value = !1);
|
|
140
|
+
}
|
|
141
|
+
function A(e) {
|
|
142
|
+
e.preventDefault(), e.stopPropagation(), f.value = !1, l = 0;
|
|
143
|
+
const t = e.dataTransfer;
|
|
144
|
+
t != null && t.files && t.files.length > 0 && L(t.files);
|
|
145
|
+
}
|
|
146
|
+
function E(e) {
|
|
147
|
+
const t = e.target;
|
|
148
|
+
t != null && t.files && t.files.length > 0 && (L(t.files), t.value = "");
|
|
149
|
+
}
|
|
150
|
+
return B(() => {
|
|
151
|
+
for (const e of n.value)
|
|
152
|
+
y(e.url);
|
|
153
|
+
}), {
|
|
154
|
+
files: n,
|
|
155
|
+
dragOver: f,
|
|
156
|
+
addFiles: L,
|
|
157
|
+
removeFile: W,
|
|
158
|
+
clearFiles: I,
|
|
159
|
+
upload: R,
|
|
160
|
+
fileInputRef: D,
|
|
161
|
+
handleDrag: b,
|
|
162
|
+
handleDragLeave: j,
|
|
163
|
+
handleDrop: A,
|
|
164
|
+
handleFileInput: E
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
export {
|
|
168
|
+
$ as useUpload
|
|
169
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Ref, ComputedRef } from 'vue';
|
|
2
|
+
|
|
3
|
+
export interface UseVirtualListOptions {
|
|
4
|
+
/**
|
|
5
|
+
* The full data array to virtualize.
|
|
6
|
+
* The composable reads `items.value.length` to compute total height.
|
|
7
|
+
*/
|
|
8
|
+
items: Ref<any[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Item height in pixels.
|
|
11
|
+
* - `number` — every item has the same fixed height.
|
|
12
|
+
* - `(index: number) => number` — dynamic per-item height function.
|
|
13
|
+
* When using dynamic heights the composable caches measured values.
|
|
14
|
+
*/
|
|
15
|
+
itemHeight: Ref<number | ((index: number) => number)> | number | ((index: number) => number);
|
|
16
|
+
/**
|
|
17
|
+
* Number of extra items to render above and below the visible viewport.
|
|
18
|
+
* Higher values produce smoother scrolling at the cost of more DOM nodes.
|
|
19
|
+
* @default 5
|
|
20
|
+
*/
|
|
21
|
+
overscan?: Ref<number> | number;
|
|
22
|
+
}
|
|
23
|
+
export interface UseVirtualListReturn {
|
|
24
|
+
/**
|
|
25
|
+
* Template ref to attach to the scrollable container element.
|
|
26
|
+
* The container must have overflow-y: auto (or scroll).
|
|
27
|
+
*/
|
|
28
|
+
containerRef: Ref<HTMLElement | null>;
|
|
29
|
+
/** The currently visible slice of `items` — iterate this in the template. */
|
|
30
|
+
visibleItems: ComputedRef<any[]>;
|
|
31
|
+
/** Total height of the virtual spacer (all items combined), in px. */
|
|
32
|
+
totalHeight: Ref<number>;
|
|
33
|
+
/** Vertical translate offset for the visible-items wrapper, in px. */
|
|
34
|
+
offsetY: Ref<number>;
|
|
35
|
+
/** Start index of the visible range (inclusive). */
|
|
36
|
+
startIndex: Ref<number>;
|
|
37
|
+
/** End index of the visible range (exclusive). */
|
|
38
|
+
endIndex: Ref<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Scroll to a specific item by index, optionally aligned to the
|
|
41
|
+
* top (default) or center of the viewport.
|
|
42
|
+
*/
|
|
43
|
+
scrollTo: (index: number, align?: 'top' | 'center') => void;
|
|
44
|
+
/**
|
|
45
|
+
* Attach to the container's @scroll event.
|
|
46
|
+
* The composable recalculates the visible window on each call.
|
|
47
|
+
*/
|
|
48
|
+
handleScroll: () => void;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Headless virtual list composable.
|
|
52
|
+
*
|
|
53
|
+
* Encapsulates scroll-driven window calculation, viewport measurement
|
|
54
|
+
* via ResizeObserver, fixed and dynamic item-height support, overscan,
|
|
55
|
+
* and imperative scroll-to-item. Use with your own UI rendering — mount
|
|
56
|
+
* `containerRef` on the scrollable wrapper and wire `handleScroll` to its
|
|
57
|
+
* `@scroll` event.
|
|
58
|
+
*/
|
|
59
|
+
export declare function useVirtualList(opts: UseVirtualListOptions): UseVirtualListReturn;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { computed as T, ref as s, onMounted as U, onBeforeUnmount as Y, watch as V } from "vue";
|
|
2
|
+
function k(w) {
|
|
3
|
+
const { items: i } = w, x = T(() => {
|
|
4
|
+
const e = w.overscan;
|
|
5
|
+
return e == null ? 5 : typeof e == "number" ? e : e.value ?? 5;
|
|
6
|
+
}), B = T(() => {
|
|
7
|
+
const e = w.itemHeight;
|
|
8
|
+
let n;
|
|
9
|
+
if (typeof e == "number")
|
|
10
|
+
n = () => e;
|
|
11
|
+
else if (typeof e == "function")
|
|
12
|
+
n = e;
|
|
13
|
+
else {
|
|
14
|
+
const t = e.value;
|
|
15
|
+
n = typeof t == "number" ? () => t : t;
|
|
16
|
+
}
|
|
17
|
+
return n;
|
|
18
|
+
}), h = s(null), c = s(0);
|
|
19
|
+
let a = null;
|
|
20
|
+
function R() {
|
|
21
|
+
a && (a.disconnect(), a = null);
|
|
22
|
+
}
|
|
23
|
+
function C() {
|
|
24
|
+
R();
|
|
25
|
+
const e = h.value;
|
|
26
|
+
!e || typeof ResizeObserver > "u" || (c.value = e.clientHeight, a = new ResizeObserver(([n]) => {
|
|
27
|
+
const t = n.contentRect.height;
|
|
28
|
+
t !== c.value && (c.value = t);
|
|
29
|
+
}), a.observe(e));
|
|
30
|
+
}
|
|
31
|
+
U(() => {
|
|
32
|
+
C();
|
|
33
|
+
}), Y(() => {
|
|
34
|
+
R();
|
|
35
|
+
});
|
|
36
|
+
const M = s(0);
|
|
37
|
+
function E() {
|
|
38
|
+
const e = h.value;
|
|
39
|
+
e && (M.value = e.scrollTop);
|
|
40
|
+
}
|
|
41
|
+
let H = /* @__PURE__ */ new Map();
|
|
42
|
+
function z(e) {
|
|
43
|
+
const n = B.value, t = H.get(e);
|
|
44
|
+
if (t !== void 0) return t;
|
|
45
|
+
const o = n(e);
|
|
46
|
+
return H.set(e, t !== void 0 ? t : o), o;
|
|
47
|
+
}
|
|
48
|
+
function I() {
|
|
49
|
+
const e = i.value.length, n = [0];
|
|
50
|
+
for (let t = 0; t < e; t++) {
|
|
51
|
+
const o = n[t];
|
|
52
|
+
n.push(o + z(t));
|
|
53
|
+
}
|
|
54
|
+
return n;
|
|
55
|
+
}
|
|
56
|
+
const y = s(0), m = s(0), d = s(0), O = s(0);
|
|
57
|
+
function S() {
|
|
58
|
+
const e = i.value.length;
|
|
59
|
+
if (e === 0) {
|
|
60
|
+
y.value = 0, m.value = 0, d.value = 0, O.value = 0;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const n = c.value;
|
|
64
|
+
if (n === 0) return;
|
|
65
|
+
const t = x.value, o = M.value, l = I();
|
|
66
|
+
y.value = l[e];
|
|
67
|
+
let p = 0, r = e - 1, g = 0;
|
|
68
|
+
for (; p <= r; ) {
|
|
69
|
+
const b = p + r >>> 1;
|
|
70
|
+
l[b + 1] <= o ? p = b + 1 : (g = b, r = b - 1);
|
|
71
|
+
}
|
|
72
|
+
const f = Math.max(0, g - t), v = o + n;
|
|
73
|
+
let u = f;
|
|
74
|
+
for (; u < e && l[u + 1] < v; )
|
|
75
|
+
u++;
|
|
76
|
+
u = Math.min(e, u + 1 + t), m.value = f, d.value = u, O.value = l[f];
|
|
77
|
+
}
|
|
78
|
+
V(
|
|
79
|
+
() => i.value,
|
|
80
|
+
() => {
|
|
81
|
+
H = /* @__PURE__ */ new Map(), S();
|
|
82
|
+
}
|
|
83
|
+
), V([M, c, x], () => S(), { deep: !1, immediate: !1 });
|
|
84
|
+
const F = T(() => i.value.slice(m.value, d.value));
|
|
85
|
+
function L(e, n = "top") {
|
|
86
|
+
const t = h.value;
|
|
87
|
+
if (!t) return;
|
|
88
|
+
const o = i.value.length;
|
|
89
|
+
if (o === 0) return;
|
|
90
|
+
const l = Math.max(0, Math.min(o - 1, e)), r = I()[l], g = z(l), f = c.value;
|
|
91
|
+
let v;
|
|
92
|
+
n === "center" ? v = r - (f - g) / 2 : v = r, t.scrollTo({ top: Math.max(0, v), behavior: "smooth" });
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
containerRef: h,
|
|
96
|
+
visibleItems: F,
|
|
97
|
+
totalHeight: y,
|
|
98
|
+
offsetY: O,
|
|
99
|
+
startIndex: m,
|
|
100
|
+
endIndex: d,
|
|
101
|
+
scrollTo: L,
|
|
102
|
+
handleScroll: E
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
k as useVirtualList
|
|
107
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ProDocNode } from './types.js';
|
|
2
|
+
|
|
3
|
+
export interface DocEditorProps {
|
|
4
|
+
/** 文档树根节点 */
|
|
5
|
+
root: ProDocNode;
|
|
6
|
+
/** 初始选中的文档路径 */
|
|
7
|
+
initialPath?: string;
|
|
8
|
+
/** 自定义样式类名 */
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DocEditorProps>, {
|
|
12
|
+
className: string;
|
|
13
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
14
|
+
save: (path: string, content: string) => void;
|
|
15
|
+
docLink: (path: string) => void;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DocEditorProps>, {
|
|
17
|
+
className: string;
|
|
18
|
+
}>>> & Readonly<{
|
|
19
|
+
onDocLink?: ((path: string) => any) | undefined;
|
|
20
|
+
onSave?: ((path: string, content: string) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
className: string;
|
|
23
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
26
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
27
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
28
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
29
|
+
} : {
|
|
30
|
+
type: import('vue').PropType<T[K]>;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
type __VLS_WithDefaults<P, D> = {
|
|
35
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
36
|
+
default: D[K];
|
|
37
|
+
}> : P[K];
|
|
38
|
+
};
|
|
39
|
+
type __VLS_Prettify<T> = {
|
|
40
|
+
[K in keyof T]: T[K];
|
|
41
|
+
} & {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ProDocNode } from './types.js';
|
|
2
|
+
|
|
3
|
+
export interface DocViewerProps {
|
|
4
|
+
/** 文档树根节点 */
|
|
5
|
+
root: ProDocNode;
|
|
6
|
+
/** 初始选中的文档路径 */
|
|
7
|
+
initialPath?: string;
|
|
8
|
+
/** 自定义样式类名 */
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DocViewerProps>, {
|
|
12
|
+
className: string;
|
|
13
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
14
|
+
docLink: (path: string) => void;
|
|
15
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DocViewerProps>, {
|
|
16
|
+
className: string;
|
|
17
|
+
}>>> & Readonly<{
|
|
18
|
+
onDocLink?: ((path: string) => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
className: string;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
22
|
+
export default _default;
|
|
23
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
24
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
25
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
26
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
27
|
+
} : {
|
|
28
|
+
type: import('vue').PropType<T[K]>;
|
|
29
|
+
required: true;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
type __VLS_WithDefaults<P, D> = {
|
|
33
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
34
|
+
default: D[K];
|
|
35
|
+
}> : P[K];
|
|
36
|
+
};
|
|
37
|
+
type __VLS_Prettify<T> = {
|
|
38
|
+
[K in keyof T]: T[K];
|
|
39
|
+
} & {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface MarkdownEditorProps {
|
|
2
|
+
/** Markdown 内容 */
|
|
3
|
+
value: string;
|
|
4
|
+
/** 自定义样式类名 */
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MarkdownEditorProps>, {
|
|
8
|
+
className: string;
|
|
9
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
change: (value: string) => void;
|
|
11
|
+
docLink: (path: string) => void;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MarkdownEditorProps>, {
|
|
13
|
+
className: string;
|
|
14
|
+
}>>> & Readonly<{
|
|
15
|
+
onChange?: ((value: string) => any) | undefined;
|
|
16
|
+
onDocLink?: ((path: string) => any) | undefined;
|
|
17
|
+
}>, {
|
|
18
|
+
className: string;
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
22
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
23
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
24
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
25
|
+
} : {
|
|
26
|
+
type: import('vue').PropType<T[K]>;
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
type __VLS_WithDefaults<P, D> = {
|
|
31
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
32
|
+
default: D[K];
|
|
33
|
+
}> : P[K];
|
|
34
|
+
};
|
|
35
|
+
type __VLS_Prettify<T> = {
|
|
36
|
+
[K in keyof T]: T[K];
|
|
37
|
+
} & {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface MarkdownRendererProps {
|
|
2
|
+
/** Markdown 内容 */
|
|
3
|
+
content: string;
|
|
4
|
+
/** 自定义样式类名 */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** 是否显示目录 */
|
|
7
|
+
showToc?: boolean;
|
|
8
|
+
/** 滚动容器(HTMLElement 或 CSS 选择器)。不传则自动查找 .nm-layout__content */
|
|
9
|
+
scrollContainer?: HTMLElement | string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MarkdownRendererProps>, {
|
|
12
|
+
className: string;
|
|
13
|
+
showToc: boolean;
|
|
14
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
docLink: (path: string) => void;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MarkdownRendererProps>, {
|
|
17
|
+
className: string;
|
|
18
|
+
showToc: boolean;
|
|
19
|
+
}>>> & Readonly<{
|
|
20
|
+
onDocLink?: ((path: string) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
className: string;
|
|
23
|
+
showToc: boolean;
|
|
24
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
27
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
28
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
29
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
30
|
+
} : {
|
|
31
|
+
type: import('vue').PropType<T[K]>;
|
|
32
|
+
required: true;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
type __VLS_WithDefaults<P, D> = {
|
|
36
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
37
|
+
default: D[K];
|
|
38
|
+
}> : P[K];
|
|
39
|
+
};
|
|
40
|
+
type __VLS_Prettify<T> = {
|
|
41
|
+
[K in keyof T]: T[K];
|
|
42
|
+
} & {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ProDocNode, DocTree } from './types.js';
|
|
2
|
+
|
|
3
|
+
/** 从根节点构建 DocTree */
|
|
4
|
+
export declare function createDocTree(root: ProDocNode): DocTree;
|
|
5
|
+
/** 扁平化文档树为列表 */
|
|
6
|
+
export declare function flattenDocTree(root: ProDocNode): ProDocNode[];
|
|
7
|
+
/** 获取节点的所有祖先路径 */
|
|
8
|
+
export declare function getAncestors(node: ProDocNode, root: ProDocNode): ProDocNode[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @echolab/ui-frame/doc — 文档渲染模块
|
|
3
|
+
*
|
|
4
|
+
* 提供 Markdown 渲染、文档查看器和编辑器组件,
|
|
5
|
+
* 以及文档解析和树形结构工具。
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { DocViewer, MarkdownRenderer, DocEditor, MarkdownEditor } from '@echolab/ui-frame/doc'
|
|
10
|
+
* import type { ProDocNode, DocTree, DocViewerProps, MarkdownRendererProps } from '@echolab/ui-frame/doc'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export { default as DocViewer } from './DocViewer';
|
|
14
|
+
export type { DocViewerProps } from './DocViewer';
|
|
15
|
+
export { default as MarkdownRenderer } from './MarkdownRenderer';
|
|
16
|
+
export type { MarkdownRendererProps } from './MarkdownRenderer';
|
|
17
|
+
export { default as DocEditor } from './DocEditor';
|
|
18
|
+
export type { DocEditorProps } from './DocEditor';
|
|
19
|
+
export { default as MarkdownEditor } from './MarkdownEditor';
|
|
20
|
+
export type { MarkdownEditorProps } from './MarkdownEditor';
|
|
21
|
+
export type { ProDocNode, DocTree, ProDocOptions } from './types.js';
|
|
22
|
+
export { parseFrontmatter, pathToId, extractTitle, createNode, buildDocTree } from './parser.js';
|
|
23
|
+
export { createDocTree, flattenDocTree, getAncestors } from './doc-tree.js';
|
|
24
|
+
export { getNodeIcon, nodeToTreeData } from './tree-utils.js';
|
|
25
|
+
export type { DocTreeNode } from './tree-utils.js';
|
|
26
|
+
export { useDocLayout } from './useDocLayout';
|
|
27
|
+
export type { UseDocLayoutOptions, UseDocLayoutReturn } from './useDocLayout';
|