@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.
Files changed (370) hide show
  1. package/README.md +56 -0
  2. package/bin/echo-prodoc.js +2 -0
  3. package/package.json +49 -0
  4. package/packages/prodoc-cli/dist/index.d.ts +10 -0
  5. package/packages/prodoc-cli/dist/index.d.ts.map +1 -0
  6. package/packages/prodoc-cli/dist/index.js +251 -0
  7. package/packages/prodoc-cli/dist/index.js.map +1 -0
  8. package/packages/prodoc-cli/dist/server.d.ts +13 -0
  9. package/packages/prodoc-cli/dist/server.d.ts.map +1 -0
  10. package/packages/prodoc-cli/package.json +39 -0
  11. package/packages/prodoc-core/dist/index.cjs +1 -0
  12. package/packages/prodoc-core/dist/index.d.ts +12 -0
  13. package/packages/prodoc-core/dist/index.d.ts.map +1 -0
  14. package/packages/prodoc-core/dist/index.js +2 -0
  15. package/packages/prodoc-core/package.json +30 -0
  16. package/packages/prodoc-editor/dist/index.cjs +1 -0
  17. package/packages/prodoc-editor/dist/index.css +2 -0
  18. package/packages/prodoc-editor/dist/index.d.ts +10 -0
  19. package/packages/prodoc-editor/dist/index.d.ts.map +1 -0
  20. package/packages/prodoc-editor/dist/index.js +3 -0
  21. package/packages/prodoc-editor/package.json +40 -0
  22. package/packages/prodoc-renderer/dist/index.cjs +1 -0
  23. package/packages/prodoc-renderer/dist/index.css +2 -0
  24. package/packages/prodoc-renderer/dist/index.d.ts +11 -0
  25. package/packages/prodoc-renderer/dist/index.d.ts.map +1 -0
  26. package/packages/prodoc-renderer/dist/index.js +3 -0
  27. package/packages/prodoc-renderer/package.json +38 -0
  28. package/scripts/build-if-needed.js +37 -0
  29. package/scripts/install-ui-frame.js +269 -0
  30. package/scripts/link-system-bin.js +82 -0
  31. package/scripts/publish.sh +64 -0
  32. package/vendor/@echolab/ui-frame/dist/NeumorphismAlert.css +1 -0
  33. package/vendor/@echolab/ui-frame/dist/NeumorphismAutoComplete.css +1 -0
  34. package/vendor/@echolab/ui-frame/dist/NeumorphismAvatar.css +1 -0
  35. package/vendor/@echolab/ui-frame/dist/NeumorphismBadge.css +1 -0
  36. package/vendor/@echolab/ui-frame/dist/NeumorphismBreadcrumb.css +1 -0
  37. package/vendor/@echolab/ui-frame/dist/NeumorphismButton.css +1 -0
  38. package/vendor/@echolab/ui-frame/dist/NeumorphismCanvas.css +1 -0
  39. package/vendor/@echolab/ui-frame/dist/NeumorphismCard.css +1 -0
  40. package/vendor/@echolab/ui-frame/dist/NeumorphismCheckbox.css +1 -0
  41. package/vendor/@echolab/ui-frame/dist/NeumorphismCol.css +1 -0
  42. package/vendor/@echolab/ui-frame/dist/NeumorphismCollapse.css +1 -0
  43. package/vendor/@echolab/ui-frame/dist/NeumorphismContainer.css +1 -0
  44. package/vendor/@echolab/ui-frame/dist/NeumorphismDatePicker.css +1 -0
  45. package/vendor/@echolab/ui-frame/dist/NeumorphismDivider.css +1 -0
  46. package/vendor/@echolab/ui-frame/dist/NeumorphismDrawer.css +1 -0
  47. package/vendor/@echolab/ui-frame/dist/NeumorphismDropdown.css +1 -0
  48. package/vendor/@echolab/ui-frame/dist/NeumorphismEmpty.css +1 -0
  49. package/vendor/@echolab/ui-frame/dist/NeumorphismFieldError.css +1 -0
  50. package/vendor/@echolab/ui-frame/dist/NeumorphismFieldLabel.css +1 -0
  51. package/vendor/@echolab/ui-frame/dist/NeumorphismFormItem.css +1 -0
  52. package/vendor/@echolab/ui-frame/dist/NeumorphismInput.css +1 -0
  53. package/vendor/@echolab/ui-frame/dist/NeumorphismInputNumber.css +1 -0
  54. package/vendor/@echolab/ui-frame/dist/NeumorphismLayout.css +1 -0
  55. package/vendor/@echolab/ui-frame/dist/NeumorphismList.css +1 -0
  56. package/vendor/@echolab/ui-frame/dist/NeumorphismMenu.css +1 -0
  57. package/vendor/@echolab/ui-frame/dist/NeumorphismModal.css +1 -0
  58. package/vendor/@echolab/ui-frame/dist/NeumorphismNavMenu.css +1 -0
  59. package/vendor/@echolab/ui-frame/dist/NeumorphismPagination.css +1 -0
  60. package/vendor/@echolab/ui-frame/dist/NeumorphismPopover.css +1 -0
  61. package/vendor/@echolab/ui-frame/dist/NeumorphismProgress.css +1 -0
  62. package/vendor/@echolab/ui-frame/dist/NeumorphismRadioGroup.css +1 -0
  63. package/vendor/@echolab/ui-frame/dist/NeumorphismSelect.css +1 -0
  64. package/vendor/@echolab/ui-frame/dist/NeumorphismSkeleton.css +1 -0
  65. package/vendor/@echolab/ui-frame/dist/NeumorphismSlider.css +1 -0
  66. package/vendor/@echolab/ui-frame/dist/NeumorphismSteps.css +1 -0
  67. package/vendor/@echolab/ui-frame/dist/NeumorphismSwitch.css +1 -0
  68. package/vendor/@echolab/ui-frame/dist/NeumorphismTable.css +1 -0
  69. package/vendor/@echolab/ui-frame/dist/NeumorphismTabs.css +1 -0
  70. package/vendor/@echolab/ui-frame/dist/NeumorphismTag.css +1 -0
  71. package/vendor/@echolab/ui-frame/dist/NeumorphismTextarea.css +1 -0
  72. package/vendor/@echolab/ui-frame/dist/NeumorphismThemeToggle.css +1 -0
  73. package/vendor/@echolab/ui-frame/dist/NeumorphismToastProvider.css +1 -0
  74. package/vendor/@echolab/ui-frame/dist/NeumorphismTooltip.css +1 -0
  75. package/vendor/@echolab/ui-frame/dist/NeumorphismTree.css +1 -0
  76. package/vendor/@echolab/ui-frame/dist/NeumorphismUpload.css +1 -0
  77. package/vendor/@echolab/ui-frame/dist/NeumorphismVirtualList.css +1 -0
  78. package/vendor/@echolab/ui-frame/dist/ThemeProvider.css +1 -0
  79. package/vendor/@echolab/ui-frame/dist/base.css +1 -0
  80. package/vendor/@echolab/ui-frame/dist/base.d.ts +1 -0
  81. package/vendor/@echolab/ui-frame/dist/base.js +1 -0
  82. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAlert-C8gUjcJ9.js +130 -0
  83. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAutoComplete-DI9cIsCr.js +255 -0
  84. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismAvatar-D7pr7n61.js +65 -0
  85. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismBadge-Br8ESUFf.js +64 -0
  86. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismBreadcrumb-PeUQHAqO.js +58 -0
  87. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismButton-CiIrdqlV.js +81 -0
  88. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCanvas-CBLkbovI.js +176 -0
  89. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCard-Cgy4dCPE.js +66 -0
  90. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCheckbox-Bo5Q7yC_.js +114 -0
  91. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCol-DwoaSc5J.js +117 -0
  92. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismCollapse-BLSShHjJ.js +95 -0
  93. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismContainer-B1g0c9Ps.js +32 -0
  94. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDatePicker-TLkTC22A.js +315 -0
  95. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDivider-CjDyku2C.js +56 -0
  96. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDrawer-BmpGyAlZ.js +133 -0
  97. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismDropdown-B_cuLYvV.js +120 -0
  98. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismEmpty-DAsVUAXw.js +49 -0
  99. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFieldError-BxamHjhs.js +20 -0
  100. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFieldLabel-CBF1nZs1.js +26 -0
  101. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismFormItem-DjtFqfsK.js +149 -0
  102. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismInput-CV0AQcff.js +121 -0
  103. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismInputNumber-BLSDUrG2.js +119 -0
  104. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismLayout-C7hoaRIo.js +155 -0
  105. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismList-BPjiY2ok.js +106 -0
  106. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismMenu-xfgTqwex.js +294 -0
  107. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismModal-BejbU5Uw.js +139 -0
  108. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismNavMenu-D_aeJ9zj.js +297 -0
  109. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismPagination-Dj-JuN7F.js +162 -0
  110. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismPopover-RB48cpPq.js +197 -0
  111. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismProgress-jGoOJqN4.js +72 -0
  112. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismRadioGroup-BC-NFcXF.js +122 -0
  113. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSelect-D57-kOit.js +200 -0
  114. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSkeleton-CIBufbBR.js +56 -0
  115. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSlider-CJGJhgAY.js +163 -0
  116. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSteps-Eq8pY0Yo.js +147 -0
  117. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismSwitch-HSJ9_0Zq.js +76 -0
  118. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTable-BEcMl0Sh.js +189 -0
  119. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTabs-DhV7RpfS.js +98 -0
  120. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTag-D-HO-n7l.js +83 -0
  121. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTextarea-hf4f9EM1.js +126 -0
  122. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismThemeToggle-B-lky48G.js +144 -0
  123. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismToastProvider-CJvxNDwJ.js +132 -0
  124. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTooltip-DEac8yVH.js +116 -0
  125. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismTree-C5jKWadX.js +302 -0
  126. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismUpload-CK8GutG5.js +584 -0
  127. package/vendor/@echolab/ui-frame/dist/chunks/NeumorphismVirtualList-BI322-e4.js +55 -0
  128. package/vendor/@echolab/ui-frame/dist/chunks/ThemeProvider-CCR_TjUs.js +30 -0
  129. package/vendor/@echolab/ui-frame/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  130. package/vendor/@echolab/ui-frame/dist/chunks/componentRegistry-XcPWEoEL.js +48 -0
  131. package/vendor/@echolab/ui-frame/dist/chunks/createComponent-jnXBYqCm.js +11 -0
  132. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/NeumorphismAlert.d.ts +78 -0
  133. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/index.d.ts +2 -0
  134. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAlert/index.js +4 -0
  135. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/NeumorphismAutoComplete.d.ts +83 -0
  136. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/index.d.ts +2 -0
  137. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAutoComplete/index.js +4 -0
  138. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/NeumorphismAvatar.d.ts +50 -0
  139. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/index.d.ts +2 -0
  140. package/vendor/@echolab/ui-frame/dist/components/NeumorphismAvatar/index.js +4 -0
  141. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/NeumorphismBadge.d.ts +47 -0
  142. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/index.d.ts +2 -0
  143. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBadge/index.js +4 -0
  144. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/NeumorphismBreadcrumb.d.ts +45 -0
  145. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/index.d.ts +2 -0
  146. package/vendor/@echolab/ui-frame/dist/components/NeumorphismBreadcrumb/index.js +4 -0
  147. package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/NeumorphismButton.d.ts +74 -0
  148. package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/index.d.ts +2 -0
  149. package/vendor/@echolab/ui-frame/dist/components/NeumorphismButton/index.js +4 -0
  150. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/NeumorphismCanvas.d.ts +85 -0
  151. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/index.d.ts +2 -0
  152. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCanvas/index.js +4 -0
  153. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/NeumorphismCard.d.ts +83 -0
  154. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/index.d.ts +2 -0
  155. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCard/index.js +4 -0
  156. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/NeumorphismCheckbox.d.ts +58 -0
  157. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/index.d.ts +2 -0
  158. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCheckbox/index.js +4 -0
  159. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/NeumorphismCollapse.d.ts +59 -0
  160. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/index.d.ts +2 -0
  161. package/vendor/@echolab/ui-frame/dist/components/NeumorphismCollapse/index.js +4 -0
  162. package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/NeumorphismContainer.d.ts +48 -0
  163. package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/index.d.ts +2 -0
  164. package/vendor/@echolab/ui-frame/dist/components/NeumorphismContainer/index.js +4 -0
  165. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/NeumorphismDatePicker.d.ts +69 -0
  166. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/index.d.ts +2 -0
  167. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDatePicker/index.js +4 -0
  168. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/NeumorphismDivider.d.ts +51 -0
  169. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/index.d.ts +2 -0
  170. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDivider/index.js +4 -0
  171. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/NeumorphismDrawer.d.ts +71 -0
  172. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/index.d.ts +2 -0
  173. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDrawer/index.js +4 -0
  174. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/NeumorphismDropdown.d.ts +75 -0
  175. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/index.d.ts +2 -0
  176. package/vendor/@echolab/ui-frame/dist/components/NeumorphismDropdown/index.js +4 -0
  177. package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/NeumorphismEmpty.d.ts +41 -0
  178. package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/index.d.ts +2 -0
  179. package/vendor/@echolab/ui-frame/dist/components/NeumorphismEmpty/index.js +4 -0
  180. package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/NeumorphismFieldError.d.ts +17 -0
  181. package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/NeumorphismFieldLabel.d.ts +19 -0
  182. package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/index.d.ts +2 -0
  183. package/vendor/@echolab/ui-frame/dist/components/NeumorphismField/index.js +6 -0
  184. package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/NeumorphismForm.d.ts +67 -0
  185. package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/NeumorphismFormItem.d.ts +54 -0
  186. package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/index.d.ts +4 -0
  187. package/vendor/@echolab/ui-frame/dist/components/NeumorphismForm/index.js +5 -0
  188. package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/NeumorphismCol.d.ts +54 -0
  189. package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/NeumorphismRow.d.ts +51 -0
  190. package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/index.d.ts +4 -0
  191. package/vendor/@echolab/ui-frame/dist/components/NeumorphismGrid/index.js +5 -0
  192. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/NeumorphismInput.d.ts +87 -0
  193. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/index.d.ts +2 -0
  194. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInput/index.js +4 -0
  195. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/NeumorphismInputNumber.d.ts +85 -0
  196. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/index.d.ts +2 -0
  197. package/vendor/@echolab/ui-frame/dist/components/NeumorphismInputNumber/index.js +4 -0
  198. package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/NeumorphismLayout.d.ts +79 -0
  199. package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/index.d.ts +2 -0
  200. package/vendor/@echolab/ui-frame/dist/components/NeumorphismLayout/index.js +4 -0
  201. package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/NeumorphismList.d.ts +74 -0
  202. package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/index.d.ts +2 -0
  203. package/vendor/@echolab/ui-frame/dist/components/NeumorphismList/index.js +4 -0
  204. package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/NeumorphismMenu.d.ts +73 -0
  205. package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/index.d.ts +2 -0
  206. package/vendor/@echolab/ui-frame/dist/components/NeumorphismMenu/index.js +4 -0
  207. package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/NeumorphismModal.d.ts +88 -0
  208. package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/index.d.ts +2 -0
  209. package/vendor/@echolab/ui-frame/dist/components/NeumorphismModal/index.js +4 -0
  210. package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/NeumorphismNavMenu.d.ts +63 -0
  211. package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/index.d.ts +2 -0
  212. package/vendor/@echolab/ui-frame/dist/components/NeumorphismNavMenu/index.js +4 -0
  213. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/NeumorphismPagination.d.ts +87 -0
  214. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/index.d.ts +2 -0
  215. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPagination/index.js +4 -0
  216. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/NeumorphismPopover.d.ts +78 -0
  217. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/index.d.ts +2 -0
  218. package/vendor/@echolab/ui-frame/dist/components/NeumorphismPopover/index.js +4 -0
  219. package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/NeumorphismProgress.d.ts +53 -0
  220. package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/index.d.ts +2 -0
  221. package/vendor/@echolab/ui-frame/dist/components/NeumorphismProgress/index.js +4 -0
  222. package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/NeumorphismRadio.d.ts +52 -0
  223. package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/NeumorphismRadioGroup.d.ts +53 -0
  224. package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/index.d.ts +4 -0
  225. package/vendor/@echolab/ui-frame/dist/components/NeumorphismRadio/index.js +5 -0
  226. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/NeumorphismSelect.d.ts +96 -0
  227. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/index.d.ts +2 -0
  228. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSelect/index.js +4 -0
  229. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/NeumorphismSkeleton.d.ts +38 -0
  230. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/index.d.ts +2 -0
  231. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSkeleton/index.js +4 -0
  232. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/NeumorphismSlider.d.ts +76 -0
  233. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/index.d.ts +2 -0
  234. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSlider/index.js +4 -0
  235. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/NeumorphismSteps.d.ts +69 -0
  236. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/index.d.ts +2 -0
  237. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSteps/index.js +4 -0
  238. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/NeumorphismSwitch.d.ts +64 -0
  239. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/index.d.ts +2 -0
  240. package/vendor/@echolab/ui-frame/dist/components/NeumorphismSwitch/index.js +4 -0
  241. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/NeumorphismTable.d.ts +99 -0
  242. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/index.d.ts +2 -0
  243. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTable/index.js +4 -0
  244. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/NeumorphismTabs.d.ts +71 -0
  245. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/index.d.ts +2 -0
  246. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTabs/index.js +4 -0
  247. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/NeumorphismTag.d.ts +65 -0
  248. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/index.d.ts +2 -0
  249. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTag/index.js +4 -0
  250. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/NeumorphismTextarea.d.ts +80 -0
  251. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/index.d.ts +2 -0
  252. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTextarea/index.js +4 -0
  253. package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/NeumorphismThemeToggle.d.ts +52 -0
  254. package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/index.d.ts +2 -0
  255. package/vendor/@echolab/ui-frame/dist/components/NeumorphismThemeToggle/index.js +4 -0
  256. package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/NeumorphismToastProvider.d.ts +57 -0
  257. package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/index.d.ts +2 -0
  258. package/vendor/@echolab/ui-frame/dist/components/NeumorphismToast/index.js +4 -0
  259. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/NeumorphismTooltip.d.ts +58 -0
  260. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/index.d.ts +2 -0
  261. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTooltip/index.js +4 -0
  262. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/NeumorphismTree.d.ts +58 -0
  263. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/NeumorphismTreeNode.d.ts +59 -0
  264. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/index.d.ts +4 -0
  265. package/vendor/@echolab/ui-frame/dist/components/NeumorphismTree/index.js +5 -0
  266. package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/NeumorphismUpload.d.ts +126 -0
  267. package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/index.d.ts +2 -0
  268. package/vendor/@echolab/ui-frame/dist/components/NeumorphismUpload/index.js +4 -0
  269. package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/NeumorphismVirtualList.d.ts +59 -0
  270. package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/index.d.ts +2 -0
  271. package/vendor/@echolab/ui-frame/dist/components/NeumorphismVirtualList/index.js +4 -0
  272. package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/ThemeProvider.d.ts +56 -0
  273. package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/index.d.ts +2 -0
  274. package/vendor/@echolab/ui-frame/dist/components/ThemeProvider/index.js +4 -0
  275. package/vendor/@echolab/ui-frame/dist/components/index.d.ts +92 -0
  276. package/vendor/@echolab/ui-frame/dist/composables/injectionKeys.d.ts +27 -0
  277. package/vendor/@echolab/ui-frame/dist/composables/injectionKeys.js +6 -0
  278. package/vendor/@echolab/ui-frame/dist/composables/useAlert.d.ts +30 -0
  279. package/vendor/@echolab/ui-frame/dist/composables/useAlert.js +25 -0
  280. package/vendor/@echolab/ui-frame/dist/composables/useAutoComplete.d.ts +50 -0
  281. package/vendor/@echolab/ui-frame/dist/composables/useAutoComplete.js +118 -0
  282. package/vendor/@echolab/ui-frame/dist/composables/useCheckable.d.ts +17 -0
  283. package/vendor/@echolab/ui-frame/dist/composables/useCheckable.js +17 -0
  284. package/vendor/@echolab/ui-frame/dist/composables/useCollapse.d.ts +26 -0
  285. package/vendor/@echolab/ui-frame/dist/composables/useCollapse.js +25 -0
  286. package/vendor/@echolab/ui-frame/dist/composables/useConfig.d.ts +243 -0
  287. package/vendor/@echolab/ui-frame/dist/composables/useConfig.js +12 -0
  288. package/vendor/@echolab/ui-frame/dist/composables/useDatePicker.d.ts +73 -0
  289. package/vendor/@echolab/ui-frame/dist/composables/useDatePicker.js +118 -0
  290. package/vendor/@echolab/ui-frame/dist/composables/useDrawer.d.ts +34 -0
  291. package/vendor/@echolab/ui-frame/dist/composables/useDrawer.js +97 -0
  292. package/vendor/@echolab/ui-frame/dist/composables/useFormField.d.ts +24 -0
  293. package/vendor/@echolab/ui-frame/dist/composables/useFormField.js +34 -0
  294. package/vendor/@echolab/ui-frame/dist/composables/useFormValidation.d.ts +18 -0
  295. package/vendor/@echolab/ui-frame/dist/composables/useFormValidation.js +44 -0
  296. package/vendor/@echolab/ui-frame/dist/composables/useLocale.d.ts +38 -0
  297. package/vendor/@echolab/ui-frame/dist/composables/useLocale.js +34 -0
  298. package/vendor/@echolab/ui-frame/dist/composables/useMenu.d.ts +55 -0
  299. package/vendor/@echolab/ui-frame/dist/composables/useMenu.js +218 -0
  300. package/vendor/@echolab/ui-frame/dist/composables/useModal.d.ts +31 -0
  301. package/vendor/@echolab/ui-frame/dist/composables/useModal.js +93 -0
  302. package/vendor/@echolab/ui-frame/dist/composables/useNumberInput.d.ts +52 -0
  303. package/vendor/@echolab/ui-frame/dist/composables/useNumberInput.js +100 -0
  304. package/vendor/@echolab/ui-frame/dist/composables/usePagination.d.ts +37 -0
  305. package/vendor/@echolab/ui-frame/dist/composables/usePagination.js +40 -0
  306. package/vendor/@echolab/ui-frame/dist/composables/usePopover.d.ts +38 -0
  307. package/vendor/@echolab/ui-frame/dist/composables/usePopover.js +54 -0
  308. package/vendor/@echolab/ui-frame/dist/composables/useSelect.d.ts +30 -0
  309. package/vendor/@echolab/ui-frame/dist/composables/useSelect.js +76 -0
  310. package/vendor/@echolab/ui-frame/dist/composables/useSlider.d.ts +39 -0
  311. package/vendor/@echolab/ui-frame/dist/composables/useSlider.js +79 -0
  312. package/vendor/@echolab/ui-frame/dist/composables/useSteps.d.ts +54 -0
  313. package/vendor/@echolab/ui-frame/dist/composables/useSteps.js +26 -0
  314. package/vendor/@echolab/ui-frame/dist/composables/useTable.d.ts +78 -0
  315. package/vendor/@echolab/ui-frame/dist/composables/useTable.js +103 -0
  316. package/vendor/@echolab/ui-frame/dist/composables/useTabs.d.ts +33 -0
  317. package/vendor/@echolab/ui-frame/dist/composables/useTabs.js +43 -0
  318. package/vendor/@echolab/ui-frame/dist/composables/useTheme.d.ts +40 -0
  319. package/vendor/@echolab/ui-frame/dist/composables/useTheme.js +81 -0
  320. package/vendor/@echolab/ui-frame/dist/composables/useToast.d.ts +44 -0
  321. package/vendor/@echolab/ui-frame/dist/composables/useToast.js +57 -0
  322. package/vendor/@echolab/ui-frame/dist/composables/useTooltip.d.ts +29 -0
  323. package/vendor/@echolab/ui-frame/dist/composables/useTooltip.js +27 -0
  324. package/vendor/@echolab/ui-frame/dist/composables/useTouchDevice.d.ts +7 -0
  325. package/vendor/@echolab/ui-frame/dist/composables/useTouchDevice.js +25 -0
  326. package/vendor/@echolab/ui-frame/dist/composables/useTree.d.ts +50 -0
  327. package/vendor/@echolab/ui-frame/dist/composables/useTree.js +219 -0
  328. package/vendor/@echolab/ui-frame/dist/composables/useUpload.d.ts +81 -0
  329. package/vendor/@echolab/ui-frame/dist/composables/useUpload.js +169 -0
  330. package/vendor/@echolab/ui-frame/dist/composables/useVirtualList.d.ts +59 -0
  331. package/vendor/@echolab/ui-frame/dist/composables/useVirtualList.js +107 -0
  332. package/vendor/@echolab/ui-frame/dist/doc/DocEditor.d.ts +41 -0
  333. package/vendor/@echolab/ui-frame/dist/doc/DocViewer.d.ts +39 -0
  334. package/vendor/@echolab/ui-frame/dist/doc/MarkdownEditor.d.ts +37 -0
  335. package/vendor/@echolab/ui-frame/dist/doc/MarkdownRenderer.d.ts +42 -0
  336. package/vendor/@echolab/ui-frame/dist/doc/doc-tree.d.ts +8 -0
  337. package/vendor/@echolab/ui-frame/dist/doc/index.d.ts +27 -0
  338. package/vendor/@echolab/ui-frame/dist/doc/index.js +1055 -0
  339. package/vendor/@echolab/ui-frame/dist/doc/parser.d.ts +15 -0
  340. package/vendor/@echolab/ui-frame/dist/doc/tree-utils.d.ts +22 -0
  341. package/vendor/@echolab/ui-frame/dist/doc/types.d.ts +42 -0
  342. package/vendor/@echolab/ui-frame/dist/doc/useDocLayout.d.ts +38 -0
  343. package/vendor/@echolab/ui-frame/dist/extensions/componentRegistry.d.ts +39 -0
  344. package/vendor/@echolab/ui-frame/dist/extensions/createComponent.d.ts +43 -0
  345. package/vendor/@echolab/ui-frame/dist/extensions/index.d.ts +4 -0
  346. package/vendor/@echolab/ui-frame/dist/extensions/index.js +6 -0
  347. package/vendor/@echolab/ui-frame/dist/extensions/types.d.ts +56 -0
  348. package/vendor/@echolab/ui-frame/dist/index.css +1 -0
  349. package/vendor/@echolab/ui-frame/dist/index.d.ts +80 -0
  350. package/vendor/@echolab/ui-frame/dist/locales/en-US.d.ts +3 -0
  351. package/vendor/@echolab/ui-frame/dist/locales/index.d.ts +3 -0
  352. package/vendor/@echolab/ui-frame/dist/locales/index.js +171 -0
  353. package/vendor/@echolab/ui-frame/dist/locales/types.d.ts +89 -0
  354. package/vendor/@echolab/ui-frame/dist/locales/zh-CN.d.ts +3 -0
  355. package/vendor/@echolab/ui-frame/dist/style.css +1 -0
  356. package/vendor/@echolab/ui-frame/dist/styles/base.d.ts +1 -0
  357. package/vendor/@echolab/ui-frame/dist/styles/tokens.d.ts +1 -0
  358. package/vendor/@echolab/ui-frame/dist/tokens.css +1 -0
  359. package/vendor/@echolab/ui-frame/dist/tokens.d.ts +1 -0
  360. package/vendor/@echolab/ui-frame/dist/tokens.js +1 -0
  361. package/vendor/@echolab/ui-frame/dist/ui-frame.css +1 -0
  362. package/vendor/@echolab/ui-frame/dist/ui-frame.d.ts +3 -0
  363. package/vendor/@echolab/ui-frame/dist/ui-frame.js +247 -0
  364. package/vendor/@echolab/ui-frame/dist/ui-frame.umd.cjs +3 -0
  365. package/vendor/@echolab/ui-frame/dist/utils/index.d.ts +14 -0
  366. package/vendor/@echolab/ui-frame/dist/utils/index.js +20 -0
  367. package/vendor/@echolab/ui-frame/package.json +131 -0
  368. package/vendor/fsevents-stub/index.d.ts +2 -0
  369. package/vendor/fsevents-stub/index.js +3 -0
  370. 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';