@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,93 +1,130 @@
1
- import { defineComponent as H, useCssVars as L, inject as E, ref as g, computed as o, provide as r, readonly as A, watch as k, resolveComponent as F, openBlock as l, createElementBlock as Y, normalizeStyle as T, createElementVNode as $, createBlock as d, unref as n, withCtx as b, createVNode as S, createCommentVNode as u, KeepAlive as D, resolveDynamicComponent as w, renderSlot as G } from "vue";
2
- import { ElAffix as U } from "element-plus";
3
- import K from "./AppBreadcrumb.vue.mjs";
4
- import { isKeepAliveRoute as O, keepAliveRouteKey as P } from "./keep-alive.mjs";
5
- import M from "lodash/debounce";
6
- import { APP_LAYOUT_APP_STORE_KEY as W, APP_LAYOUT_BRIDGE_KEY as z, BODY_CONTENT_VIEWPORT_HEIGHT as j, SCOPE_VIEWPORT_MAX_HEIGHT as X, BODY_CONTENT_VIEWPORT_RECT as q, BODY_CONTENT_VIEWPORT_INSET as J } from "../../inject/key.mjs";
7
- import { useActivated as Q } from "../../hooks/activated.mjs";
8
- const re = /* @__PURE__ */ H({
1
+ import { defineComponent, useCssVars, inject, ref, computed, provide, readonly, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createBlock, unref, withCtx, createVNode, createCommentVNode, KeepAlive, resolveDynamicComponent, renderSlot } from "vue";
2
+ import { ElAffix } from "element-plus";
3
+ import AppBreadcrumb from "./AppBreadcrumb.vue.mjs";
4
+ import { isKeepAliveRoute, keepAliveRouteKey } from "./keep-alive.mjs";
5
+ import _debounce from "lodash/debounce";
6
+ import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY, BODY_CONTENT_VIEWPORT_HEIGHT, SCOPE_VIEWPORT_MAX_HEIGHT, BODY_CONTENT_VIEWPORT_RECT, BODY_CONTENT_VIEWPORT_INSET } from "../../inject/key.mjs";
7
+ import { useActivated } from "../../hooks/activated.mjs";
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  __name: "AppBody",
10
10
  props: {
11
11
  menuFlatList: { default: () => [] }
12
12
  },
13
- setup(R) {
14
- L((e) => ({
15
- v03873635: p.value
13
+ setup(__props) {
14
+ useCssVars((_ctx) => ({
15
+ "v03873635": contentViewHeight.value
16
16
  }));
17
- const t = E(W), m = E(z), C = m.APP_ROUTER_CONFIG, y = g(!1), v = o(() => m.APP_LAYOUT_BREADCRUMB_CONFIG.height), s = g(0);
18
- r(j, A(s)), r(X, {
17
+ const appStore = inject(APP_LAYOUT_APP_STORE_KEY);
18
+ const bridge = inject(APP_LAYOUT_BRIDGE_KEY);
19
+ const APP_ROUTER_CONFIG = bridge.APP_ROUTER_CONFIG;
20
+ const affixIsShow = ref(false);
21
+ const affixHeight = computed(() => bridge.APP_LAYOUT_BREADCRUMB_CONFIG.height);
22
+ const contentViewportAbsoluteHeight = ref(0);
23
+ provide(BODY_CONTENT_VIEWPORT_HEIGHT, readonly(contentViewportAbsoluteHeight));
24
+ provide(SCOPE_VIEWPORT_MAX_HEIGHT, {
19
25
  scope: void 0,
20
- viewportMaxHeight: A(s),
26
+ viewportMaxHeight: readonly(contentViewportAbsoluteHeight),
21
27
  parent: void 0
22
28
  });
23
- const f = o(() => t.bodyShimPadding), c = o(() => t.bodyShimStyle), V = o(() => t.bodyStyle), _ = o(() => t.showBreadcrumb), x = o(() => parseFloat(`${t.bodyStyle.paddingTop ?? 0}`) || 0), B = o(() => ({
24
- top: t.bodyStyle.paddingTop,
25
- left: t.bodyStyle.paddingLeft,
26
- right: t.bodyStyle.paddingRight,
27
- bottom: `calc(100vh - ${t.bodyStyle.paddingTop} - ${c.value.minHeight})`,
29
+ const bodyShimPadding = computed(() => {
30
+ return appStore.bodyShimPadding;
31
+ });
32
+ const bodyShimStyle = computed(() => {
33
+ return appStore.bodyShimStyle;
34
+ });
35
+ const bodyStyle = computed(() => appStore.bodyStyle);
36
+ const showBreadcrumb = computed(() => appStore.showBreadcrumb);
37
+ const offset = computed(() => {
38
+ return parseFloat(`${appStore.bodyStyle.paddingTop ?? 0}`) || 0;
39
+ });
40
+ const contentViewportRect = computed(() => ({
41
+ top: appStore.bodyStyle.paddingTop,
42
+ left: appStore.bodyStyle.paddingLeft,
43
+ right: appStore.bodyStyle.paddingRight,
44
+ bottom: `calc(100vh - ${appStore.bodyStyle.paddingTop} - ${bodyShimStyle.value.minHeight})`,
28
45
  // app-body-shim 内边距:供 AppPage 各插槽 shim 朝 chrome 侧留呼吸
29
- shimPadding: f.value
46
+ shimPadding: bodyShimPadding.value
30
47
  }));
31
- r(q, B), r(
32
- J,
33
- o(() => t.contentViewportInset)
48
+ provide(BODY_CONTENT_VIEWPORT_RECT, contentViewportRect);
49
+ provide(
50
+ BODY_CONTENT_VIEWPORT_INSET,
51
+ computed(() => appStore.contentViewportInset)
52
+ );
53
+ const contentViewHeight = computed(
54
+ () => `calc(${bodyShimStyle.value.minHeight} - ${showBreadcrumb.value && affixIsShow.value ? affixHeight.value : 0}px - ${bodyShimPadding.value * 2}px)`
34
55
  );
35
- const p = o(
36
- () => `calc(${c.value.minHeight} - ${_.value && y.value ? v.value : 0}px - ${f.value * 2}px)`
37
- ), I = (e) => {
38
- y.value = e;
39
- }, i = M(() => {
40
- const e = document.createElement("div");
41
- e.style.height = p.value, e.style.position = "fixed", e.style.left = "100%", e.style.top = "100%", e.style.opacity = "0", e.style.pointerEvents = "none", document.body.appendChild(e), s.value = e.clientHeight, e.remove();
56
+ const onAffixShow = (value) => {
57
+ affixIsShow.value = value;
58
+ };
59
+ const updateContentViewportAbsoluteHeight = _debounce(() => {
60
+ const div = document.createElement("div");
61
+ div.style.height = contentViewHeight.value;
62
+ div.style.position = "fixed";
63
+ div.style.left = "100%";
64
+ div.style.top = "100%";
65
+ div.style.opacity = "0";
66
+ div.style.pointerEvents = "none";
67
+ document.body.appendChild(div);
68
+ contentViewportAbsoluteHeight.value = div.clientHeight;
69
+ div.remove();
42
70
  }, 16);
43
- return k(p, () => {
44
- i();
45
- }), Q((e) => {
46
- typeof window > "u" || (e.isActivated ? (i(), window.addEventListener("resize", i)) : (window.removeEventListener("resize", i), i.cancel()));
47
- }), (e, Z) => {
48
- const N = F("RouterView");
49
- return l(), Y("div", {
71
+ watch(contentViewHeight, () => {
72
+ updateContentViewportAbsoluteHeight();
73
+ });
74
+ useActivated((info) => {
75
+ if (typeof window === "undefined") return;
76
+ if (info.isActivated) {
77
+ updateContentViewportAbsoluteHeight();
78
+ window.addEventListener("resize", updateContentViewportAbsoluteHeight);
79
+ } else {
80
+ window.removeEventListener("resize", updateContentViewportAbsoluteHeight);
81
+ updateContentViewportAbsoluteHeight.cancel();
82
+ }
83
+ });
84
+ return (_ctx, _cache) => {
85
+ const _component_RouterView = resolveComponent("RouterView");
86
+ return openBlock(), createElementBlock("div", {
50
87
  class: "app-body",
51
- style: T(V.value)
88
+ style: normalizeStyle(bodyStyle.value)
52
89
  }, [
53
- $("div", {
90
+ createElementVNode("div", {
54
91
  class: "app-body-shim",
55
- style: T(c.value)
92
+ style: normalizeStyle(bodyShimStyle.value)
56
93
  }, [
57
- _.value ? (l(), d(n(U), {
94
+ showBreadcrumb.value ? (openBlock(), createBlock(unref(ElAffix), {
58
95
  key: 0,
59
- offset: x.value
96
+ offset: offset.value
60
97
  }, {
61
- default: b(() => [
62
- S(K, {
63
- height: v.value,
64
- menuFlatList: R.menuFlatList,
65
- onShow: I
98
+ default: withCtx(() => [
99
+ createVNode(AppBreadcrumb, {
100
+ height: affixHeight.value,
101
+ menuFlatList: __props.menuFlatList,
102
+ onShow: onAffixShow
66
103
  }, null, 8, ["height", "menuFlatList"])
67
104
  ]),
68
105
  _: 1
69
- }, 8, ["offset"])) : u("", !0),
70
- S(N, null, {
71
- default: b(({ Component: h, route: a }) => [
72
- (l(), d(D, {
73
- max: n(C).keepAliveMaxCount
106
+ }, 8, ["offset"])) : createCommentVNode("", true),
107
+ createVNode(_component_RouterView, null, {
108
+ default: withCtx(({ Component, route }) => [
109
+ (openBlock(), createBlock(KeepAlive, {
110
+ max: unref(APP_ROUTER_CONFIG).keepAliveMaxCount
74
111
  }, [
75
- n(O)(a) ? (l(), d(w(h), {
76
- key: n(P)(a)
77
- })) : u("", !0)
112
+ unref(isKeepAliveRoute)(route) ? (openBlock(), createBlock(resolveDynamicComponent(Component), {
113
+ key: unref(keepAliveRouteKey)(route)
114
+ })) : createCommentVNode("", true)
78
115
  ], 1032, ["max"])),
79
- n(O)(a) ? u("", !0) : (l(), d(w(h), {
80
- key: n(P)(a)
81
- }))
116
+ !unref(isKeepAliveRoute)(route) ? (openBlock(), createBlock(resolveDynamicComponent(Component), {
117
+ key: unref(keepAliveRouteKey)(route)
118
+ })) : createCommentVNode("", true)
82
119
  ]),
83
120
  _: 1
84
121
  })
85
122
  ], 4),
86
- G(e.$slots, "footer", {}, void 0, !0)
123
+ renderSlot(_ctx.$slots, "footer", {}, void 0, true)
87
124
  ], 4);
88
125
  };
89
126
  }
90
127
  });
91
128
  export {
92
- re as default
129
+ _sfc_main as default
93
130
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppBreadcrumb.vue2.mjs";
1
+ import _sfc_main from "./AppBreadcrumb.vue2.mjs";
2
2
  /* empty css */
3
- import r from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-9bbe0b05"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9bbe0b05"]]);
5
5
  export {
6
- a as default
6
+ AppBreadcrumb as default
7
7
  };
@@ -1,51 +1,72 @@
1
- import { defineComponent as _, computed as r, watch as v, withDirectives as w, openBlock as a, createElementBlock as m, normalizeStyle as B, createVNode as b, unref as s, withCtx as c, Fragment as g, renderList as x, createBlock as y, createTextVNode as k, toDisplayString as E, vShow as F } from "vue";
2
- import { useRoute as I } from "vue-router";
3
- import { ElBreadcrumb as L, ElBreadcrumbItem as S } from "element-plus";
4
- const N = /* @__PURE__ */ _({
5
- name: "AppBreadcrumb",
1
+ import { defineComponent, computed, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, createVNode, unref, withCtx, Fragment, renderList, createBlock, createTextVNode, toDisplayString, vShow } from "vue";
2
+ import { useRoute } from "vue-router";
3
+ import { ElBreadcrumb, ElBreadcrumbItem } from "element-plus";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ ...{
6
+ name: "AppBreadcrumb"
7
+ },
6
8
  __name: "AppBreadcrumb",
7
9
  props: {
8
10
  height: {},
9
11
  menuFlatList: {}
10
12
  },
11
13
  emits: ["show"],
12
- setup(l, { emit: i }) {
13
- const o = l, p = i, h = I(), n = r(() => h.matched.map((e) => o.menuFlatList.find(
14
- (t) => t.path === e.path
15
- )).filter((e) => e)), u = r(() => !!n.value.length), d = r(() => ({
16
- height: `${o.height}px`
17
- }));
18
- return v(
19
- u,
20
- (e) => {
21
- p("show", e);
14
+ setup(__props, { emit: __emit }) {
15
+ const props = __props;
16
+ const emits = __emit;
17
+ const route = useRoute();
18
+ const list = computed(() => {
19
+ return route.matched.map((item) => {
20
+ const menuItem = props.menuFlatList.find(
21
+ (menuItem2) => menuItem2.path === item.path
22
+ );
23
+ return menuItem;
24
+ }).filter((item) => item);
25
+ });
26
+ const show = computed(() => {
27
+ return !!list.value.length;
28
+ });
29
+ const style = computed(() => {
30
+ return {
31
+ height: `${props.height}px`
32
+ };
33
+ });
34
+ watch(
35
+ show,
36
+ (n) => {
37
+ emits("show", n);
22
38
  },
23
39
  {
24
- immediate: !0
40
+ immediate: true
25
41
  }
26
- ), (e, f) => w((a(), m("div", {
27
- class: "app-breadcrumb",
28
- style: B(d.value)
29
- }, [
30
- b(s(L), { separator: "/" }, {
31
- default: c(() => [
32
- (a(!0), m(g, null, x(n.value, (t) => (a(), y(s(S), {
33
- key: t.path,
34
- to: t.path
35
- }, {
36
- default: c(() => [
37
- k(E(t.title), 1)
38
- ]),
39
- _: 2
40
- }, 1032, ["to"]))), 128))
41
- ]),
42
- _: 1
43
- })
44
- ], 4)), [
45
- [F, u.value]
46
- ]);
42
+ );
43
+ return (_ctx, _cache) => {
44
+ return withDirectives((openBlock(), createElementBlock("div", {
45
+ class: "app-breadcrumb",
46
+ style: normalizeStyle(style.value)
47
+ }, [
48
+ createVNode(unref(ElBreadcrumb), { separator: "/" }, {
49
+ default: withCtx(() => [
50
+ (openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (item) => {
51
+ return openBlock(), createBlock(unref(ElBreadcrumbItem), {
52
+ key: item.path,
53
+ to: item.path
54
+ }, {
55
+ default: withCtx(() => [
56
+ createTextVNode(toDisplayString(item.title), 1)
57
+ ]),
58
+ _: 2
59
+ }, 1032, ["to"]);
60
+ }), 128))
61
+ ]),
62
+ _: 1
63
+ })
64
+ ], 4)), [
65
+ [vShow, show.value]
66
+ ]);
67
+ };
47
68
  }
48
69
  });
49
70
  export {
50
- N as default
71
+ _sfc_main as default
51
72
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppCollapseToggle.vue2.mjs";
1
+ import _sfc_main from "./AppCollapseToggle.vue2.mjs";
2
2
  /* empty css */
3
- import p from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const a = /* @__PURE__ */ p(o, [["__scopeId", "data-v-10c7e006"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppCollapseToggle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-10c7e006"]]);
5
5
  export {
6
- a as default
6
+ AppCollapseToggle as default
7
7
  };
@@ -1,7 +1,8 @@
1
- import { defineComponent as f, computed as s, openBlock as y, createBlock as v, unref as n, withCtx as r, createElementVNode as w, withKeys as i, withModifiers as c, normalizeClass as b, createVNode as p, normalizeStyle as C, createCommentVNode as $ } from "vue";
2
- import { ElTooltip as B, ElIcon as h } from "element-plus";
3
- import { ArrowRightBold as k } from "@element-plus/icons-vue";
4
- const x = ["aria-label"], z = /* @__PURE__ */ f({
1
+ import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, withKeys, withModifiers, normalizeClass, createVNode, normalizeStyle, createCommentVNode } from "vue";
2
+ import { ElTooltip, ElIcon } from "element-plus";
3
+ import { ArrowRightBold } from "@element-plus/icons-vue";
4
+ const _hoisted_1 = ["aria-label"];
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
6
  __name: "AppCollapseToggle",
6
7
  props: {
7
8
  side: {},
@@ -9,46 +10,54 @@ const x = ["aria-label"], z = /* @__PURE__ */ f({
9
10
  show: { type: Boolean }
10
11
  },
11
12
  emits: ["toggle"],
12
- setup(e, { emit: d }) {
13
- const l = e, o = d, g = s(() => l.side === "sidebar" ? "right" : "left"), m = s(() => ({ transform: `rotate(${l.side === "sidebar" ? l.collapse ? 0 : 180 : l.collapse ? 180 : 0}deg)` }));
14
- return (u, t) => e.show ? (y(), v(n(B), {
15
- key: 0,
16
- content: e.collapse ? "展开" : "收起",
17
- placement: g.value,
18
- "show-after": 200
19
- }, {
20
- default: r(() => [
21
- w("div", {
22
- class: b([
23
- "dc-collapse-toggle",
24
- `dc-collapse-toggle--${e.side}`,
25
- "app-collapse-toggle",
26
- `app-collapse-toggle--${e.side}`
27
- ]),
28
- role: "button",
29
- tabindex: "0",
30
- "aria-label": e.collapse ? "展开" : "收起",
31
- onClick: t[0] || (t[0] = (a) => o("toggle")),
32
- onKeydown: [
33
- t[1] || (t[1] = i(c((a) => o("toggle"), ["prevent"]), ["enter"])),
34
- t[2] || (t[2] = i(c((a) => o("toggle"), ["prevent"]), ["space"]))
35
- ]
36
- }, [
37
- p(n(h), null, {
38
- default: r(() => [
39
- p(n(k), {
40
- class: "app-collapse-toggle__icon",
41
- style: C(m.value)
42
- }, null, 8, ["style"])
13
+ setup(__props, { emit: __emit }) {
14
+ const props = __props;
15
+ const emit = __emit;
16
+ const placement = computed(() => props.side === "sidebar" ? "right" : "left");
17
+ const iconStyle = computed(() => {
18
+ const deg = props.side === "sidebar" ? props.collapse ? 0 : 180 : props.collapse ? 180 : 0;
19
+ return { transform: `rotate(${deg}deg)` };
20
+ });
21
+ return (_ctx, _cache) => {
22
+ return __props.show ? (openBlock(), createBlock(unref(ElTooltip), {
23
+ key: 0,
24
+ content: __props.collapse ? "展开" : "收起",
25
+ placement: placement.value,
26
+ "show-after": 200
27
+ }, {
28
+ default: withCtx(() => [
29
+ createElementVNode("div", {
30
+ class: normalizeClass([
31
+ "dc-collapse-toggle",
32
+ `dc-collapse-toggle--${__props.side}`,
33
+ "app-collapse-toggle",
34
+ `app-collapse-toggle--${__props.side}`
43
35
  ]),
44
- _: 1
45
- })
46
- ], 42, x)
47
- ]),
48
- _: 1
49
- }, 8, ["content", "placement"])) : $("", !0);
36
+ role: "button",
37
+ tabindex: "0",
38
+ "aria-label": __props.collapse ? "展开" : "收起",
39
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("toggle")),
40
+ onKeydown: [
41
+ _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => emit("toggle"), ["prevent"]), ["enter"])),
42
+ _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => emit("toggle"), ["prevent"]), ["space"]))
43
+ ]
44
+ }, [
45
+ createVNode(unref(ElIcon), null, {
46
+ default: withCtx(() => [
47
+ createVNode(unref(ArrowRightBold), {
48
+ class: "app-collapse-toggle__icon",
49
+ style: normalizeStyle(iconStyle.value)
50
+ }, null, 8, ["style"])
51
+ ]),
52
+ _: 1
53
+ })
54
+ ], 42, _hoisted_1)
55
+ ]),
56
+ _: 1
57
+ }, 8, ["content", "placement"])) : createCommentVNode("", true);
58
+ };
50
59
  }
51
60
  });
52
61
  export {
53
- z as default
62
+ _sfc_main as default
54
63
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppFooter.vue2.mjs";
1
+ import _sfc_main from "./AppFooter.vue2.mjs";
2
2
  /* empty css */
3
- import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8960664d"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppFooter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8960664d"]]);
5
5
  export {
6
- _ as default
6
+ AppFooter as default
7
7
  };
@@ -1,17 +1,20 @@
1
- import { defineComponent as r, inject as p, computed as n, openBlock as l, createElementBlock as s, normalizeStyle as a, createElementVNode as m } from "vue";
2
- import { APP_LAYOUT_APP_STORE_KEY as c } from "../../inject/key.mjs";
3
- const d = /* @__PURE__ */ r({
1
+ import { defineComponent, inject, computed, openBlock, createElementBlock, normalizeStyle, createElementVNode } from "vue";
2
+ import { APP_LAYOUT_APP_STORE_KEY } from "../../inject/key.mjs";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "AppFooter",
5
- setup(_) {
6
- const o = p(c), t = n(() => o.footerStyle);
7
- return (f, e) => (l(), s("div", {
8
- class: "app-footer",
9
- style: a(t.value)
10
- }, [...e[0] || (e[0] = [
11
- m("div", { class: "app-footer-shim" }, null, -1)
12
- ])], 4));
5
+ setup(__props) {
6
+ const appStore = inject(APP_LAYOUT_APP_STORE_KEY);
7
+ const footerStyle = computed(() => appStore.footerStyle);
8
+ return (_ctx, _cache) => {
9
+ return openBlock(), createElementBlock("div", {
10
+ class: "app-footer",
11
+ style: normalizeStyle(footerStyle.value)
12
+ }, [..._cache[0] || (_cache[0] = [
13
+ createElementVNode("div", { class: "app-footer-shim" }, null, -1)
14
+ ])], 4);
15
+ };
13
16
  }
14
17
  });
15
18
  export {
16
- d as default
19
+ _sfc_main as default
17
20
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppHeader.vue2.mjs";
1
+ import _sfc_main from "./AppHeader.vue2.mjs";
2
2
  /* empty css */
3
- import a from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const e = /* @__PURE__ */ a(o, [["__scopeId", "data-v-c78820aa"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c78820aa"]]);
5
5
  export {
6
- e as default
6
+ AppHeader as default
7
7
  };