@done-coding/admin-core 0.17.1-alpha.0 → 0.18.1-alpha.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 (342) hide show
  1. package/README.md +77 -1
  2. package/es/_virtual/_plugin-vue_export-helper.mjs +7 -6
  3. package/es/bridge/config-hook.mjs +49 -37
  4. package/es/bridge/index.mjs +152 -109
  5. package/es/bridge/layout.mjs +45 -31
  6. package/es/bridge/plugin.mjs +22 -12
  7. package/es/bridge/route.mjs +59 -50
  8. package/es/bridge/state.mjs +54 -39
  9. package/es/bridge/storage.mjs +18 -8
  10. package/es/bridge/theme/index.mjs +200 -97
  11. package/es/bridge/theme/persist.mjs +11 -7
  12. package/es/bridge/theme/system-dark.mjs +13 -6
  13. package/es/components/app-layout/AppAside.vue.mjs +4 -4
  14. package/es/components/app-layout/AppAside.vue2.mjs +37 -30
  15. package/es/components/app-layout/AppBody.vue.mjs +4 -4
  16. package/es/components/app-layout/AppBody.vue2.mjs +97 -60
  17. package/es/components/app-layout/AppBreadcrumb.vue.mjs +4 -4
  18. package/es/components/app-layout/AppBreadcrumb.vue2.mjs +59 -38
  19. package/es/components/app-layout/AppCollapseToggle.vue.mjs +4 -4
  20. package/es/components/app-layout/AppCollapseToggle.vue2.mjs +51 -42
  21. package/es/components/app-layout/AppFooter.vue.mjs +4 -4
  22. package/es/components/app-layout/AppFooter.vue2.mjs +15 -12
  23. package/es/components/app-layout/AppHeader.vue.mjs +4 -4
  24. package/es/components/app-layout/AppHeader.vue2.mjs +81 -58
  25. package/es/components/app-layout/AppLayout.vue.mjs +4 -4
  26. package/es/components/app-layout/AppLayout.vue2.mjs +148 -112
  27. package/es/components/app-layout/AppPage.vue.mjs +4 -4
  28. package/es/components/app-layout/AppPage.vue2.mjs +254 -197
  29. package/es/components/app-layout/AppShell.vue.mjs +44 -42
  30. package/es/components/app-layout/AppShell.vue2.mjs +2 -2
  31. package/es/components/app-layout/AppSidebar.vue.mjs +4 -4
  32. package/es/components/app-layout/AppSidebar.vue2.mjs +76 -59
  33. package/es/components/app-layout/AppTheme.vue.mjs +4 -4
  34. package/es/components/app-layout/AppTheme.vue2.mjs +69 -57
  35. package/es/components/app-layout/app-page-geometry.mjs +44 -42
  36. package/es/components/app-layout/keep-alive.mjs +27 -19
  37. package/es/components/app-layout/viewport.mjs +4 -3
  38. package/es/components/data-view/DataListView.vue.mjs +4 -4
  39. package/es/components/data-view/DataListView.vue2.mjs +133 -93
  40. package/es/components/data-view/DataListViewItem.vue.mjs +4 -4
  41. package/es/components/data-view/DataListViewItem.vue2.mjs +11 -9
  42. package/es/components/data-view/utils.mjs +36 -34
  43. package/es/components/display/ActionBtn.vue.mjs +94 -71
  44. package/es/components/display/ActionBtn.vue2.mjs +2 -2
  45. package/es/components/display/ActionBtnGroup.vue.mjs +54 -48
  46. package/es/components/display/ActionBtnGroup.vue2.mjs +2 -2
  47. package/es/components/display/ActionConfirm.vue.mjs +4 -4
  48. package/es/components/display/ActionConfirm.vue2.mjs +116 -92
  49. package/es/components/display/BooleanTag.vue.mjs +24 -18
  50. package/es/components/display/BooleanTag.vue2.mjs +2 -2
  51. package/es/components/display/HeightProvider.vue.mjs +37 -27
  52. package/es/components/display/HeightProvider.vue2.mjs +2 -2
  53. package/es/components/display/TabsHeader.vue.mjs +4 -4
  54. package/es/components/display/TabsHeader.vue2.mjs +86 -57
  55. package/es/components/display/TabsMain.vue.mjs +156 -125
  56. package/es/components/display/TabsMain.vue2.mjs +2 -2
  57. package/es/components/display/TabsNaturalFlow.vue.mjs +15 -11
  58. package/es/components/display/TabsNaturalFlow.vue2.mjs +2 -2
  59. package/es/components/display/TabsRefineFlow.vue.mjs +55 -42
  60. package/es/components/display/TabsRefineFlow.vue2.mjs +2 -2
  61. package/es/components/display/TabsTile.vue.mjs +4 -4
  62. package/es/components/display/TabsTile.vue2.mjs +204 -146
  63. package/es/components/display/WatchSize.vue.mjs +50 -30
  64. package/es/components/display/WatchSize.vue2.mjs +2 -2
  65. package/es/components/display/use-tabs-query-sync.mjs +21 -17
  66. package/es/components/form/FormItem.vue.mjs +4 -4
  67. package/es/components/form/FormItem.vue2.mjs +183 -121
  68. package/es/components/form/FormItemNestForm.vue.mjs +4 -4
  69. package/es/components/form/FormItemNestForm.vue2.mjs +38 -34
  70. package/es/components/form/FormItemNestFormList.vue.mjs +4 -4
  71. package/es/components/form/FormItemNestFormList.vue2.mjs +135 -106
  72. package/es/components/form/FormMain.vue.mjs +4 -4
  73. package/es/components/form/FormMain.vue2.mjs +226 -139
  74. package/es/components/form/FormRadioGroup.vue.mjs +67 -52
  75. package/es/components/form/FormRadioGroup.vue2.mjs +2 -2
  76. package/es/components/form/FormSearch.vue.mjs +4 -4
  77. package/es/components/form/FormSearch.vue2.mjs +194 -156
  78. package/es/components/form/FormSelect.vue.mjs +69 -42
  79. package/es/components/form/FormSelect.vue2.mjs +2 -2
  80. package/es/components/form/FormSubmitBtn.vue.mjs +30 -25
  81. package/es/components/form/FormSubmitBtn.vue2.mjs +2 -2
  82. package/es/components/form/FormSubmitPanel.vue.mjs +4 -4
  83. package/es/components/form/FormSubmitPanel.vue2.mjs +129 -96
  84. package/es/components/form/FormTree.vue.mjs +19 -16
  85. package/es/components/form/FormTree.vue2.mjs +2 -2
  86. package/es/components/form/FormVerifyCode.vue.mjs +58 -41
  87. package/es/components/form/FormVerifyCode.vue2.mjs +2 -2
  88. package/es/components/form/FormVerifyImage.vue.mjs +4 -4
  89. package/es/components/form/FormVerifyImage.vue2.mjs +62 -40
  90. package/es/components/form/form-search-utils.mjs +83 -52
  91. package/es/components/form/nest-form-item-list.mjs +63 -55
  92. package/es/components/form/nest-form-item.mjs +30 -30
  93. package/es/components/form/nest-registry.mjs +4 -4
  94. package/es/components/form/use-form-submit.mjs +18 -15
  95. package/es/components/form/use-layout-by-container.mjs +23 -15
  96. package/es/components/form/use-nest-form-list.mjs +19 -16
  97. package/es/components/form/use-nest-form.mjs +37 -28
  98. package/es/components/form/use-nest-layout-scale.mjs +11 -10
  99. package/es/components/form/utils.mjs +233 -145
  100. package/es/components/list-page/ListPage.vue.mjs +4 -4
  101. package/es/components/list-page/ListPage.vue2.mjs +313 -207
  102. package/es/components/list-page/use-sticky.mjs +45 -33
  103. package/es/components/menu/MenuItemSub.vue.mjs +47 -43
  104. package/es/components/menu/MenuItemSub.vue2.mjs +2 -2
  105. package/es/components/menu/MenuTree.vue.mjs +84 -61
  106. package/es/components/menu/MenuTree.vue2.mjs +2 -2
  107. package/es/components/misc/AutoRefresh.vue.mjs +4 -4
  108. package/es/components/misc/AutoRefresh.vue2.mjs +78 -53
  109. package/es/components/misc/AutoRefreshGroup.vue.mjs +4 -4
  110. package/es/components/misc/AutoRefreshGroup.vue2.mjs +54 -51
  111. package/es/components/misc/SelectModule.vue.mjs +54 -45
  112. package/es/components/misc/SelectModule.vue2.mjs +2 -2
  113. package/es/components/misc/TriggerAutoImport.vue.mjs +7 -5
  114. package/es/components/misc/TriggerAutoImport.vue2.mjs +2 -2
  115. package/es/components/modal/ModalConfirm.vue.mjs +4 -4
  116. package/es/components/modal/ModalConfirm.vue2.mjs +160 -125
  117. package/es/components/modal/ModalDetail.vue.mjs +50 -39
  118. package/es/components/modal/ModalDetail.vue2.mjs +2 -2
  119. package/es/components/modal/ModalForm.vue.mjs +63 -52
  120. package/es/components/modal/ModalForm.vue2.mjs +2 -2
  121. package/es/components/modal/ModalPorter.vue.mjs +51 -36
  122. package/es/components/modal/ModalPorter.vue2.mjs +2 -2
  123. package/es/components/modal/ModalShelf.vue.mjs +38 -28
  124. package/es/components/modal/ModalShelf.vue2.mjs +2 -2
  125. package/es/components/modal/modal-shelf-core.mjs +52 -36
  126. package/es/components/modal/modal-shelf-hierarchy.mjs +11 -9
  127. package/es/components/panel/PanelEditSwitch.vue.mjs +4 -4
  128. package/es/components/panel/PanelEditSwitch.vue2.mjs +88 -66
  129. package/es/components/panel/PanelItem.vue.mjs +4 -4
  130. package/es/components/panel/PanelItem.vue2.mjs +103 -77
  131. package/es/components/panel/PanelItemNestForm.vue.mjs +4 -4
  132. package/es/components/panel/PanelItemNestForm.vue2.mjs +61 -52
  133. package/es/components/panel/PanelItemNestPanel.vue.mjs +22 -20
  134. package/es/components/panel/PanelItemNestPanel.vue2.mjs +2 -2
  135. package/es/components/panel/PanelMain.vue.mjs +4 -4
  136. package/es/components/panel/PanelMain.vue2.mjs +92 -74
  137. package/es/components/panel/nest-panel-form.mjs +44 -38
  138. package/es/components/panel/nest-panel-item.mjs +18 -17
  139. package/es/components/slot-layout/SlotLayoutFlowAside.vue.mjs +4 -4
  140. package/es/components/slot-layout/SlotLayoutFlowAside.vue2.mjs +55 -42
  141. package/es/components/slot-layout/SlotLayoutTemplate.vue.mjs +11 -9
  142. package/es/components/slot-layout/SlotLayoutTemplate.vue2.mjs +2 -2
  143. package/es/components/table/TableMain.vue.mjs +4 -4
  144. package/es/components/table/TableMain.vue2.mjs +378 -275
  145. package/es/components/table/TableSkeleton.vue.mjs +4 -4
  146. package/es/components/table/TableSkeleton.vue2.mjs +95 -74
  147. package/es/components/table/TableToolbar.vue.mjs +4 -4
  148. package/es/components/table/TableToolbar.vue2.mjs +170 -154
  149. package/es/components/table/ToolbarButtons.vue.mjs +12 -10
  150. package/es/components/table/ToolbarButtons.vue2.mjs +2 -2
  151. package/es/components/table/constants.mjs +4 -3
  152. package/es/components/table/use-fill-height.mjs +12 -10
  153. package/es/components/table/use-table-skeleton.mjs +19 -15
  154. package/es/config/list-model.mjs +2 -2
  155. package/es/config/route.mjs +4 -3
  156. package/es/helpers/form.mjs +35 -25
  157. package/es/helpers/list-helper.mjs +59 -44
  158. package/es/hooks/activated.mjs +49 -33
  159. package/es/hooks/feel-size.mjs +39 -23
  160. package/es/hooks/menus-dispatch.mjs +68 -35
  161. package/es/hooks/timeout.mjs +29 -14
  162. package/es/hooks/use-breakpoint.mjs +35 -23
  163. package/es/hooks/use-channel-viewport-height.mjs +30 -20
  164. package/es/hooks/use-custom-breakpoint.mjs +48 -31
  165. package/es/hooks/use-observe-size.mjs +37 -20
  166. package/es/hooks/use-theme-apply.mjs +175 -124
  167. package/es/hooks/use-viewport-apply.mjs +39 -27
  168. package/es/index.mjs +239 -239
  169. package/es/inject/key.mjs +52 -41
  170. package/es/injectInfo.json.mjs +2 -2
  171. package/es/router/group-redirect.mjs +22 -16
  172. package/es/router/guard/index.mjs +26 -21
  173. package/es/router/guard/login.mjs +4 -2
  174. package/es/router/guard/permission.mjs +4 -2
  175. package/es/store/app.mjs +163 -123
  176. package/es/store/router-permission.mjs +75 -46
  177. package/es/store/user.mjs +100 -71
  178. package/es/style.css +769 -1
  179. package/es/utils/dom.mjs +20 -16
  180. package/es/utils/export.mjs +34 -18
  181. package/es/utils/id.mjs +5 -3
  182. package/es/utils/router.mjs +21 -14
  183. package/es/utils/theme-scale.mjs +50 -35
  184. package/es/utils/time.mjs +20 -14
  185. package/package.json +4 -3
  186. package/src/bridge/README.md +5 -0
  187. package/src/bridge/docs/README.md +72 -0
  188. package/src/components/README.md +84 -0
  189. package/src/components/app-layout/README.md +46 -0
  190. package/src/components/app-layout/docs/README-AppAside.md +69 -0
  191. package/src/components/app-layout/docs/README-AppBody.md +81 -0
  192. package/src/components/app-layout/docs/README-AppBreadcrumb.md +71 -0
  193. package/src/components/app-layout/docs/README-AppFooter.md +41 -0
  194. package/src/components/app-layout/docs/README-AppHeader.md +73 -0
  195. package/src/components/app-layout/docs/README-AppLayout.md +83 -0
  196. package/src/components/app-layout/docs/README-AppPage.md +80 -0
  197. package/src/components/app-layout/docs/README-AppSidebar.md +70 -0
  198. package/src/components/app-layout/docs/README-AppTheme.md +66 -0
  199. package/src/components/data-view/README.md +19 -0
  200. package/src/components/data-view/docs/README-DataListView.md +114 -0
  201. package/src/components/display/README.md +23 -0
  202. package/src/components/display/docs/README-ActionBtn.md +84 -0
  203. package/src/components/display/docs/README-ActionBtnGroup.md +96 -0
  204. package/src/components/display/docs/README-ActionConfirm.md +77 -0
  205. package/src/components/display/docs/README-BooleanTag.md +76 -0
  206. package/src/components/display/docs/README-HeightProvider.md +74 -0
  207. package/src/components/display/docs/README-TabsMain.md +99 -0
  208. package/src/components/display/docs/README-WatchSize.md +70 -0
  209. package/src/components/form/README.md +24 -0
  210. package/src/components/form/docs/README-FormItemNestForm.md +86 -0
  211. package/src/components/form/docs/README-FormItemNestFormList.md +93 -0
  212. package/src/components/form/docs/README-FormMain.md +101 -0
  213. package/src/components/form/docs/README-FormSearch.md +89 -0
  214. package/src/components/form/docs/README-FormSubmitBtn.md +72 -0
  215. package/src/components/form/docs/README-FormSubmitPanel.md +97 -0
  216. package/src/components/list-page/README.md +16 -0
  217. package/src/components/list-page/docs/README-ListPage.md +136 -0
  218. package/src/components/menu/README.md +19 -0
  219. package/src/components/menu/docs/README-MenuItemSub.md +53 -0
  220. package/src/components/menu/docs/README-MenuTree.md +76 -0
  221. package/src/components/misc/README.md +21 -0
  222. package/src/components/misc/docs/README-AutoRefresh.md +74 -0
  223. package/src/components/misc/docs/README-AutoRefreshGroup.md +74 -0
  224. package/src/components/misc/docs/README-SelectModule.md +72 -0
  225. package/src/components/modal/README.md +21 -0
  226. package/src/components/modal/docs/README-ModalConfirm.md +105 -0
  227. package/src/components/modal/docs/README-ModalDetail.md +103 -0
  228. package/src/components/modal/docs/README-ModalForm.md +97 -0
  229. package/src/components/modal/docs/README-ModalPorter.md +92 -0
  230. package/src/components/modal/docs/README-ModalShelf.md +115 -0
  231. package/src/components/panel/README.md +19 -0
  232. package/src/components/panel/docs/README-PanelMain.md +149 -0
  233. package/src/components/slot-layout/README.md +17 -0
  234. package/src/components/slot-layout/docs/README-SlotLayoutFlowAside.md +83 -0
  235. package/src/components/slot-layout/docs/README-SlotLayoutTemplate.md +73 -0
  236. package/src/components/table/README.md +17 -0
  237. package/src/components/table/docs/README-TableMain.md +140 -0
  238. package/src/hooks/README.md +5 -0
  239. package/src/hooks/docs/README.md +49 -0
  240. package/types/bridge/config-hook.d.ts +68 -0
  241. package/types/bridge/index.d.ts +411 -0
  242. package/types/bridge/layout.d.ts +40 -0
  243. package/types/bridge/plugin.d.ts +18 -0
  244. package/types/bridge/route.d.ts +20 -1
  245. package/types/bridge/state.d.ts +14 -0
  246. package/types/bridge/storage.d.ts +9 -0
  247. package/types/bridge/theme/index.d.ts +7 -0
  248. package/types/bridge/theme/persist.d.ts +12 -0
  249. package/types/bridge/theme/system-dark.d.ts +12 -0
  250. package/types/bridge/theme/types.d.ts +238 -0
  251. package/types/components/app-layout/AppAside.vue.d.ts +1 -0
  252. package/types/components/app-layout/AppCollapseToggle.vue.d.ts +3 -0
  253. package/types/components/app-layout/AppHeader.vue.d.ts +3 -0
  254. package/types/components/app-layout/AppLayout.vue.d.ts +12 -0
  255. package/types/components/app-layout/AppPage.vue.d.ts +17 -0
  256. package/types/components/app-layout/AppSidebar.vue.d.ts +2 -0
  257. package/types/components/app-layout/app-page-geometry.d.ts +48 -0
  258. package/types/components/app-layout/keep-alive.d.ts +17 -0
  259. package/types/components/app-layout/types.d.ts +125 -0
  260. package/types/components/app-layout/viewport.d.ts +28 -0
  261. package/types/components/data-view/DataListViewItem.vue.d.ts +8 -0
  262. package/types/components/data-view/index.d.ts +4 -0
  263. package/types/components/data-view/types.d.ts +42 -0
  264. package/types/components/data-view/utils.d.ts +3 -0
  265. package/types/components/display/TabsHeader.vue.d.ts +2 -0
  266. package/types/components/display/TabsMain.vue.d.ts +2 -0
  267. package/types/components/display/TabsRefineFlow.vue.d.ts +1 -0
  268. package/types/components/display/TabsTile.vue.d.ts +247 -12
  269. package/types/components/display/WatchSize.vue.d.ts +9 -0
  270. package/types/components/display/index.d.ts +37 -1
  271. package/types/components/display/types.d.ts +163 -0
  272. package/types/components/display/use-tabs-query-sync.d.ts +29 -0
  273. package/types/components/form/FormItemNestForm.vue.d.ts +5 -0
  274. package/types/components/form/FormItemNestFormList.vue.d.ts +17 -0
  275. package/types/components/form/FormVerifyCode.vue.d.ts +9 -0
  276. package/types/components/form/FormVerifyImage.vue.d.ts +1 -0
  277. package/types/components/form/form-search-utils.d.ts +34 -0
  278. package/types/components/form/nest-form-item-list.d.ts +28 -0
  279. package/types/components/form/nest-form-item.d.ts +21 -0
  280. package/types/components/form/nest-registry.d.ts +14 -0
  281. package/types/components/form/types.d.ts +208 -8
  282. package/types/components/form/use-form-submit.d.ts +13 -0
  283. package/types/components/form/use-layout-by-container.d.ts +23 -0
  284. package/types/components/form/use-nest-form-list.d.ts +13 -0
  285. package/types/components/form/use-nest-form.d.ts +15 -0
  286. package/types/components/form/use-nest-layout-scale.d.ts +12 -0
  287. package/types/components/form/utils.d.ts +56 -1
  288. package/types/components/list-page/ListPage.vue.d.ts +6 -0
  289. package/types/components/list-page/types.d.ts +50 -2
  290. package/types/components/list-page/use-sticky.d.ts +23 -0
  291. package/types/components/misc/index.d.ts +6 -1
  292. package/types/components/misc/types.d.ts +7 -0
  293. package/types/components/modal/ModalConfirm.vue.d.ts +29 -0
  294. package/types/components/modal/index.d.ts +7 -1
  295. package/types/components/modal/modal-shelf-core.d.ts +3 -0
  296. package/types/components/modal/modal-shelf-hierarchy.d.ts +4 -0
  297. package/types/components/modal/modal-shelf-types.d.ts +34 -0
  298. package/types/components/modal/types.d.ts +63 -2
  299. package/types/components/panel/PanelItemNestForm.vue.d.ts +6 -0
  300. package/types/components/panel/PanelItemNestPanel.vue.d.ts +5 -0
  301. package/types/components/panel/nest-panel-form.d.ts +21 -0
  302. package/types/components/panel/nest-panel-item.d.ts +14 -0
  303. package/types/components/panel/types.d.ts +52 -1
  304. package/types/components/slot-layout/SlotLayoutTemplate.vue.d.ts +21 -0
  305. package/types/components/slot-layout/types.d.ts +4 -0
  306. package/types/components/table/constants.d.ts +8 -0
  307. package/types/components/table/types.d.ts +140 -9
  308. package/types/components/table/use-fill-height.d.ts +14 -0
  309. package/types/components/table/use-table-skeleton.d.ts +16 -0
  310. package/types/config/list-model.d.ts +29 -0
  311. package/types/config/route.d.ts +2 -0
  312. package/types/helpers/form.d.ts +5 -0
  313. package/types/helpers/list-helper.d.ts +26 -0
  314. package/types/helpers/types.d.ts +11 -0
  315. package/types/hooks/activated.d.ts +23 -0
  316. package/types/hooks/feel-size.d.ts +2 -0
  317. package/types/hooks/menus-dispatch.d.ts +4 -0
  318. package/types/hooks/timeout.d.ts +4 -0
  319. package/types/hooks/use-channel-viewport-height.d.ts +8 -0
  320. package/types/hooks/use-custom-breakpoint.d.ts +19 -0
  321. package/types/hooks/use-observe-size.d.ts +29 -0
  322. package/types/hooks/use-theme-apply.d.ts +23 -0
  323. package/types/hooks/use-viewport-apply.d.ts +12 -0
  324. package/types/inject/key.d.ts +163 -0
  325. package/types/injectInfo.json.d.ts +1 -1
  326. package/types/router/group-redirect.d.ts +9 -0
  327. package/types/router/guard/index.d.ts +13 -0
  328. package/types/router/guard/login.d.ts +1 -0
  329. package/types/router/guard/permission.d.ts +1 -0
  330. package/types/router/guard/types.d.ts +3 -0
  331. package/types/store/app.d.ts +27 -0
  332. package/types/store/router-permission.d.ts +53 -0
  333. package/types/store/user.d.ts +24 -0
  334. package/types/types/dot-path.d.ts +8 -0
  335. package/types/types/route.d.ts +45 -0
  336. package/types/types/utility-types.d.ts +7 -0
  337. package/types/utils/dom.d.ts +22 -0
  338. package/types/utils/export.d.ts +16 -1
  339. package/types/utils/id.d.ts +1 -0
  340. package/types/utils/router.d.ts +2 -0
  341. package/types/utils/theme-scale.d.ts +31 -0
  342. package/types/utils/time.d.ts +1 -0
@@ -1,41 +1,53 @@
1
- import { computed as c, shallowRef as k, inject as p, watch as h, nextTick as A } from "vue";
2
- import { APP_PAGE_CONTENT_INSET as f } from "../../inject/key.mjs";
3
- import { useActivated as T } from "../../hooks/activated.mjs";
4
- import { domClosestStickyScrollport as d } from "../../utils/dom.mjs";
5
- function w(e) {
6
- const r = c(
7
- () => e.searchSticky() && !e.separateSearch()
8
- ), i = c(() => e.toolbarSticky()), l = c(() => e.pagerSticky()), s = k(), o = p(f, void 0), a = k(), u = c(
9
- () => r.value || i.value || l.value
10
- ), v = () => {
11
- var t;
12
- u.value && (a.value = d(
13
- (t = s.value) == null ? void 0 : t.$el
14
- ));
1
+ import { computed, shallowRef, inject, watch, nextTick } from "vue";
2
+ import { APP_PAGE_CONTENT_INSET } from "../../inject/key.mjs";
3
+ import { useActivated } from "../../hooks/activated.mjs";
4
+ import { domClosestStickyScrollport } from "../../utils/dom.mjs";
5
+ function useListPageSticky(options) {
6
+ const searchStickyActive = computed(
7
+ () => options.searchSticky() && !options.separateSearch()
8
+ );
9
+ const toolbarStickyActive = computed(() => options.toolbarSticky());
10
+ const pagerStickyActive = computed(() => options.pagerSticky());
11
+ const layoutRoot = shallowRef();
12
+ const pageInset = inject(APP_PAGE_CONTENT_INSET, void 0);
13
+ const stickyScrollAncestor = shallowRef();
14
+ const anyStickyActive = computed(
15
+ () => searchStickyActive.value || toolbarStickyActive.value || pagerStickyActive.value
16
+ );
17
+ const detectStickyScrollAncestor = () => {
18
+ var _a;
19
+ if (!anyStickyActive.value) return;
20
+ stickyScrollAncestor.value = domClosestStickyScrollport(
21
+ (_a = layoutRoot.value) == null ? void 0 : _a.$el
22
+ );
15
23
  };
16
- T((t) => {
17
- t.isActivated && v();
18
- }), h(u, (t) => {
19
- t && A(v);
24
+ useActivated((info) => {
25
+ if (info.isActivated) detectStickyScrollAncestor();
26
+ });
27
+ watch(anyStickyActive, (active) => {
28
+ if (active) nextTick(detectStickyScrollAncestor);
29
+ });
30
+ const stickyBaseTop = computed(
31
+ () => stickyScrollAncestor.value ? 0 : (pageInset == null ? void 0 : pageInset.value.top) ?? 0
32
+ );
33
+ const searchStickyTop = computed(() => `${stickyBaseTop.value}px`);
34
+ const toolbarStickyTop = computed(() => {
35
+ const stack = searchStickyActive.value && options.showSearch() ? options.searchHeight() : 0;
36
+ return `${stickyBaseTop.value + stack}px`;
20
37
  });
21
- const S = c(
22
- () => a.value ? 0 : (o == null ? void 0 : o.value.top) ?? 0
23
- ), y = c(() => `${S.value}px`), n = c(() => {
24
- const t = r.value && e.showSearch() ? e.searchHeight() : 0;
25
- return `${S.value + t}px`;
26
- }), m = c(
27
- () => a.value ? "0px" : `${(o == null ? void 0 : o.value.bottom) ?? 0}px`
38
+ const pagerStickyBottom = computed(
39
+ () => stickyScrollAncestor.value ? "0px" : `${(pageInset == null ? void 0 : pageInset.value.bottom) ?? 0}px`
28
40
  );
29
41
  return {
30
- layoutRoot: s,
31
- searchStickyActive: r,
32
- toolbarStickyActive: i,
33
- pagerStickyActive: l,
34
- searchStickyTop: y,
35
- toolbarStickyTop: n,
36
- pagerStickyBottom: m
42
+ layoutRoot,
43
+ searchStickyActive,
44
+ toolbarStickyActive,
45
+ pagerStickyActive,
46
+ searchStickyTop,
47
+ toolbarStickyTop,
48
+ pagerStickyBottom
37
49
  };
38
50
  }
39
51
  export {
40
- w as useListPageSticky
52
+ useListPageSticky
41
53
  };
@@ -1,54 +1,58 @@
1
- import { defineComponent as f, openBlock as e, createBlock as t, unref as l, withCtx as m, createElementBlock as a, Fragment as c, renderList as b, resolveDynamicComponent as r, createCommentVNode as o, createElementVNode as d, toDisplayString as i } from "vue";
2
- import { ElSubMenu as h, ElMenuItem as k, ElIcon as I } from "element-plus";
3
- const y = /* @__PURE__ */ f({
1
+ import { defineComponent, openBlock, createBlock, unref, withCtx, createElementBlock, Fragment, renderList, resolveDynamicComponent, createCommentVNode, createElementVNode, toDisplayString } from "vue";
2
+ import { ElSubMenu, ElMenuItem, ElIcon } from "element-plus";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "MenuItemSub",
5
5
  props: {
6
6
  menu: {},
7
7
  MenuItemSub: {}
8
8
  },
9
- setup(n) {
10
- return (M, S) => (e(), t(l(h), {
11
- class: "dc-menu-item-sub",
12
- index: n.menu.path
13
- }, {
14
- title: m(() => [
15
- n.menu.menuIcon ? (e(), t(l(I), { key: 0 }, {
16
- default: m(() => [
17
- (e(), t(r(n.menu.menuIcon)))
18
- ]),
19
- _: 1
20
- })) : o("", !0),
21
- d("span", null, i(n.menu.title), 1)
22
- ]),
23
- default: m(() => [
24
- (e(!0), a(c, null, b(n.menu.children, (u) => (e(), a(c, {
25
- key: u.path
26
- }, [
27
- u.children.length ? (e(), t(l(n.MenuItemSub), {
28
- key: 0,
29
- menu: u,
30
- MenuItemSub: n.MenuItemSub
31
- }, null, 8, ["menu", "MenuItemSub"])) : (e(), t(l(k), {
32
- key: 1,
33
- index: u.path
34
- }, {
35
- default: m(() => [
36
- u.menuIcon ? (e(), t(l(I), { key: 0 }, {
37
- default: m(() => [
38
- (e(), t(r(u.menuIcon)))
9
+ setup(__props) {
10
+ return (_ctx, _cache) => {
11
+ return openBlock(), createBlock(unref(ElSubMenu), {
12
+ class: "dc-menu-item-sub",
13
+ index: __props.menu.path
14
+ }, {
15
+ title: withCtx(() => [
16
+ __props.menu.menuIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
17
+ default: withCtx(() => [
18
+ (openBlock(), createBlock(resolveDynamicComponent(__props.menu.menuIcon)))
19
+ ]),
20
+ _: 1
21
+ })) : createCommentVNode("", true),
22
+ createElementVNode("span", null, toDisplayString(__props.menu.title), 1)
23
+ ]),
24
+ default: withCtx(() => [
25
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menu.children, (item) => {
26
+ return openBlock(), createElementBlock(Fragment, {
27
+ key: item.path
28
+ }, [
29
+ item.children.length ? (openBlock(), createBlock(unref(__props["MenuItemSub"]), {
30
+ key: 0,
31
+ menu: item,
32
+ MenuItemSub: __props.MenuItemSub
33
+ }, null, 8, ["menu", "MenuItemSub"])) : (openBlock(), createBlock(unref(ElMenuItem), {
34
+ key: 1,
35
+ index: item.path
36
+ }, {
37
+ default: withCtx(() => [
38
+ item.menuIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
39
+ default: withCtx(() => [
40
+ (openBlock(), createBlock(resolveDynamicComponent(item.menuIcon)))
41
+ ]),
42
+ _: 2
43
+ }, 1024)) : createCommentVNode("", true),
44
+ createElementVNode("span", null, toDisplayString(item.title), 1)
39
45
  ]),
40
46
  _: 2
41
- }, 1024)) : o("", !0),
42
- d("span", null, i(u.title), 1)
43
- ]),
44
- _: 2
45
- }, 1032, ["index"]))
46
- ], 64))), 128))
47
- ]),
48
- _: 1
49
- }, 8, ["index"]));
47
+ }, 1032, ["index"]))
48
+ ], 64);
49
+ }), 128))
50
+ ]),
51
+ _: 1
52
+ }, 8, ["index"]);
53
+ };
50
54
  }
51
55
  });
52
56
  export {
53
- y as default
57
+ _sfc_main as default
54
58
  };
@@ -1,4 +1,4 @@
1
- import f from "./MenuItemSub.vue.mjs";
1
+ import _sfc_main from "./MenuItemSub.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent as E, ref as P, useAttrs as _, computed as x, openBlock as r, createBlock as a, unref as p, mergeProps as I, withCtx as f, createElementBlock as h, Fragment as y, renderList as g, resolveDynamicComponent as L, createCommentVNode as S, createElementVNode as w, toDisplayString as A } from "vue";
2
- import M from "./MenuItemSub.vue.mjs";
3
- import { useRoute as D } from "vue-router";
4
- import { ElMenu as F, ElMenuItem as N, ElIcon as R } from "element-plus";
5
- const j = /* @__PURE__ */ E({
1
+ import { defineComponent, ref, useAttrs, computed, openBlock, createBlock, unref, mergeProps, withCtx, createElementBlock, Fragment, renderList, resolveDynamicComponent, createCommentVNode, createElementVNode, toDisplayString } from "vue";
2
+ import _sfc_main$1 from "./MenuItemSub.vue.mjs";
3
+ import { useRoute } from "vue-router";
4
+ import { ElMenu, ElMenuItem, ElIcon } from "element-plus";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "MenuTree",
7
7
  props: {
8
8
  menus: {},
@@ -11,71 +11,94 @@ const j = /* @__PURE__ */ E({
11
11
  collapse: { type: Boolean },
12
12
  autoClose: { type: Boolean }
13
13
  },
14
- setup(l, { expose: k }) {
15
- const c = l, u = P(), v = D(), i = _(), B = x(() => c.routerMode ? {
16
- ...i,
17
- defaultActive: v.path
18
- } : i);
19
- k({
20
- open: (o) => {
21
- var t;
22
- return (t = u.value) == null ? void 0 : t.open(o);
14
+ setup(__props, { expose: __expose }) {
15
+ const props = __props;
16
+ const elMenu = ref();
17
+ const route = useRoute();
18
+ const attrsRaw = useAttrs();
19
+ const attrs = computed(() => {
20
+ if (props.routerMode) {
21
+ return {
22
+ ...attrsRaw,
23
+ defaultActive: route.path
24
+ };
25
+ } else {
26
+ return attrsRaw;
27
+ }
28
+ });
29
+ __expose({
30
+ open: (index) => {
31
+ var _a;
32
+ return (_a = elMenu.value) == null ? void 0 : _a.open(index);
23
33
  },
24
- close: (o) => {
25
- var t;
26
- return (t = u.value) == null ? void 0 : t.close(o);
34
+ close: (index) => {
35
+ var _a;
36
+ return (_a = elMenu.value) == null ? void 0 : _a.close(index);
27
37
  }
28
38
  });
29
- const m = (o, t, e) => {
30
- const n = t.find((s) => s.path === o);
31
- return n != null && n.parentPath ? (e.unshift(n.parentPath), m(n.parentPath, t, e)) : e;
32
- }, C = (o) => {
33
- const { autoClose: t } = c;
34
- if (t) {
35
- const { menuFlatList: e } = c, n = m(o, e, [o]);
36
- e.forEach((s) => {
37
- var d;
38
- n.includes(s.path) || (d = u.value) == null || d.close(s.path);
39
+ const getParentPathList = (path, menuFlatList, list) => {
40
+ const target = menuFlatList.find((item) => item.path === path);
41
+ if (target == null ? void 0 : target.parentPath) {
42
+ list.unshift(target.parentPath);
43
+ return getParentPathList(target.parentPath, menuFlatList, list);
44
+ } else {
45
+ return list;
46
+ }
47
+ };
48
+ const onSelect = (index) => {
49
+ const { autoClose } = props;
50
+ if (autoClose) {
51
+ const { menuFlatList } = props;
52
+ const pathList = getParentPathList(index, menuFlatList, [index]);
53
+ menuFlatList.forEach((item) => {
54
+ var _a;
55
+ if (!pathList.includes(item.path)) {
56
+ (_a = elMenu.value) == null ? void 0 : _a.close(item.path);
57
+ }
39
58
  });
40
59
  }
41
60
  };
42
- return (o, t) => (r(), a(p(F), I(B.value, {
43
- ref_key: "elMenu",
44
- ref: u,
45
- class: "dc-menu-tree",
46
- collapse: l.collapse,
47
- router: l.routerMode,
48
- onSelect: C
49
- }), {
50
- default: f(() => [
51
- (r(!0), h(y, null, g(l.menus, (e) => (r(), h(y, {
52
- key: e.path
53
- }, [
54
- e.children.length ? (r(), a(M, {
55
- key: 0,
56
- menu: e,
57
- MenuItemSub: M
58
- }, null, 8, ["menu"])) : (r(), a(p(N), {
59
- key: 1,
60
- index: e.path
61
- }, {
62
- default: f(() => [
63
- e.menuIcon ? (r(), a(p(R), { key: 0 }, {
64
- default: f(() => [
65
- (r(), a(L(e.menuIcon)))
61
+ return (_ctx, _cache) => {
62
+ return openBlock(), createBlock(unref(ElMenu), mergeProps(attrs.value, {
63
+ ref_key: "elMenu",
64
+ ref: elMenu,
65
+ class: "dc-menu-tree",
66
+ collapse: __props.collapse,
67
+ router: __props.routerMode,
68
+ onSelect
69
+ }), {
70
+ default: withCtx(() => [
71
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menus, (menu) => {
72
+ return openBlock(), createElementBlock(Fragment, {
73
+ key: menu.path
74
+ }, [
75
+ menu.children.length ? (openBlock(), createBlock(_sfc_main$1, {
76
+ key: 0,
77
+ menu,
78
+ MenuItemSub: _sfc_main$1
79
+ }, null, 8, ["menu"])) : (openBlock(), createBlock(unref(ElMenuItem), {
80
+ key: 1,
81
+ index: menu.path
82
+ }, {
83
+ default: withCtx(() => [
84
+ menu.menuIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
85
+ default: withCtx(() => [
86
+ (openBlock(), createBlock(resolveDynamicComponent(menu.menuIcon)))
87
+ ]),
88
+ _: 2
89
+ }, 1024)) : createCommentVNode("", true),
90
+ createElementVNode("span", null, toDisplayString(menu.title), 1)
66
91
  ]),
67
92
  _: 2
68
- }, 1024)) : S("", !0),
69
- w("span", null, A(e.title), 1)
70
- ]),
71
- _: 2
72
- }, 1032, ["index"]))
73
- ], 64))), 128))
74
- ]),
75
- _: 1
76
- }, 16, ["collapse", "router"]));
93
+ }, 1032, ["index"]))
94
+ ], 64);
95
+ }), 128))
96
+ ]),
97
+ _: 1
98
+ }, 16, ["collapse", "router"]);
99
+ };
77
100
  }
78
101
  });
79
102
  export {
80
- j as default
103
+ _sfc_main as default
81
104
  };
@@ -1,4 +1,4 @@
1
- import f from "./MenuTree.vue.mjs";
1
+ import _sfc_main from "./MenuTree.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,7 +1,7 @@
1
- import o from "./AutoRefresh.vue2.mjs";
1
+ import _sfc_main from "./AutoRefresh.vue2.mjs";
2
2
  /* empty css */
3
- import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-64f355fe"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AutoRefresh = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-64f355fe"]]);
5
5
  export {
6
- m as default
6
+ AutoRefresh as default
7
7
  };
@@ -1,64 +1,89 @@
1
- import { defineComponent as M, useModel as f, computed as R, watch as w, openBlock as y, createBlock as B, unref as t, withCtx as v, createElementVNode as p, createVNode as h, mergeModels as E } from "vue";
2
- import { ElPopover as g, ElInputNumber as x, ElSwitch as N } from "element-plus";
3
- import { Refresh as V } from "@element-plus/icons-vue";
4
- import { useTimeout as T } from "../../hooks/timeout.mjs";
5
- import { useActivated as k } from "../../hooks/activated.mjs";
6
- const A = { class: "auto-refresh" }, I = /* @__PURE__ */ M({
1
+ import { defineComponent, useModel, computed, watch, openBlock, createBlock, unref, withCtx, createElementVNode, createVNode, mergeModels } from "vue";
2
+ import { ElPopover, ElInputNumber, ElSwitch } from "element-plus";
3
+ import { Refresh } from "@element-plus/icons-vue";
4
+ import { useTimeout } from "../../hooks/timeout.mjs";
5
+ import { useActivated } from "../../hooks/activated.mjs";
6
+ const _hoisted_1 = { class: "auto-refresh" };
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
8
  __name: "AutoRefresh",
8
- props: /* @__PURE__ */ E({
9
+ props: /* @__PURE__ */ mergeModels({
9
10
  refreshFn: {},
10
11
  disabled: { type: Boolean }
11
12
  }, {
12
- modelValue: { type: Boolean, default: !1 },
13
- modelModifiers: {},
14
- interval: { default: 5 },
15
- intervalModifiers: {}
13
+ "modelValue": { type: Boolean, ...{ default: false } },
14
+ "modelModifiers": {},
15
+ "interval": { default: 5 },
16
+ "intervalModifiers": {}
16
17
  }),
17
18
  emits: ["update:modelValue", "update:interval"],
18
- setup(r) {
19
- const d = r, i = f(r, "modelValue"), l = f(r, "interval"), n = R(() => i.value && !d.disabled), [b, m] = T();
20
- let o = null;
21
- const c = () => (o || (o = d.refreshFn().catch(() => {
22
- }).finally(() => {
23
- o = null;
24
- })), o), s = () => {
25
- b(async () => {
26
- await c(), n.value && s();
27
- }, l.value * 1e3);
19
+ setup(__props) {
20
+ const props = __props;
21
+ const modelValue = useModel(__props, "modelValue");
22
+ const intervalModel = useModel(__props, "interval");
23
+ const openRefresh = computed(() => modelValue.value && !props.disabled);
24
+ const [setTimer, clearTimer] = useTimeout();
25
+ let _refreshPromise = null;
26
+ const doRefresh = () => {
27
+ if (!_refreshPromise) {
28
+ _refreshPromise = props.refreshFn().catch(() => {
29
+ }).finally(() => {
30
+ _refreshPromise = null;
31
+ });
32
+ }
33
+ return _refreshPromise;
34
+ };
35
+ const scheduleRefresh = () => {
36
+ setTimer(async () => {
37
+ await doRefresh();
38
+ if (openRefresh.value) scheduleRefresh();
39
+ }, intervalModel.value * 1e3);
40
+ };
41
+ watch([openRefresh, intervalModel], ([open]) => {
42
+ open ? scheduleRefresh() : clearTimer();
43
+ });
44
+ useActivated(({ isActivated, triggerType }) => {
45
+ if (!isActivated) {
46
+ return;
47
+ }
48
+ if (openRefresh.value) {
49
+ if (triggerType === "activated") {
50
+ clearTimer();
51
+ doRefresh();
52
+ }
53
+ scheduleRefresh();
54
+ }
55
+ });
56
+ return (_ctx, _cache) => {
57
+ return openBlock(), createBlock(unref(ElPopover), {
58
+ trigger: "hover",
59
+ placement: "bottom-start"
60
+ }, {
61
+ reference: withCtx(() => [
62
+ createVNode(unref(ElSwitch), {
63
+ modelValue: modelValue.value,
64
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
65
+ "active-action-icon": unref(Refresh),
66
+ "inactive-action-icon": unref(Refresh)
67
+ }, null, 8, ["modelValue", "active-action-icon", "inactive-action-icon"])
68
+ ]),
69
+ default: withCtx(() => [
70
+ createElementVNode("div", _hoisted_1, [
71
+ _cache[2] || (_cache[2] = createElementVNode("div", { class: "auto-refresh-label" }, "自动刷新间隔(秒)", -1)),
72
+ createVNode(unref(ElInputNumber), {
73
+ modelValue: intervalModel.value,
74
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => intervalModel.value = $event),
75
+ min: 1,
76
+ step: 1,
77
+ size: "small",
78
+ class: "auto-refresh-interval"
79
+ }, null, 8, ["modelValue"])
80
+ ])
81
+ ]),
82
+ _: 1
83
+ });
28
84
  };
29
- return w([n, l], ([a]) => {
30
- a ? s() : m();
31
- }), k(({ isActivated: a, triggerType: e }) => {
32
- a && n.value && (e === "activated" && (m(), c()), s());
33
- }), (a, e) => (y(), B(t(g), {
34
- trigger: "hover",
35
- placement: "bottom-start"
36
- }, {
37
- reference: v(() => [
38
- h(t(N), {
39
- modelValue: i.value,
40
- "onUpdate:modelValue": e[0] || (e[0] = (u) => i.value = u),
41
- "active-action-icon": t(V),
42
- "inactive-action-icon": t(V)
43
- }, null, 8, ["modelValue", "active-action-icon", "inactive-action-icon"])
44
- ]),
45
- default: v(() => [
46
- p("div", A, [
47
- e[2] || (e[2] = p("div", { class: "auto-refresh-label" }, "自动刷新间隔(秒)", -1)),
48
- h(t(x), {
49
- modelValue: l.value,
50
- "onUpdate:modelValue": e[1] || (e[1] = (u) => l.value = u),
51
- min: 1,
52
- step: 1,
53
- size: "small",
54
- class: "auto-refresh-interval"
55
- }, null, 8, ["modelValue"])
56
- ])
57
- ]),
58
- _: 1
59
- }));
60
85
  }
61
86
  });
62
87
  export {
63
- I as default
88
+ _sfc_main as default
64
89
  };
@@ -1,7 +1,7 @@
1
- import o from "./AutoRefreshGroup.vue2.mjs";
1
+ import _sfc_main from "./AutoRefreshGroup.vue2.mjs";
2
2
  /* empty css */
3
- import r from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-b4bb0cd5"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AutoRefreshGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b4bb0cd5"]]);
5
5
  export {
6
- f as default
6
+ AutoRefreshGroup as default
7
7
  };