@done-coding/admin-core 0.18.0 → 0.19.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,8 +1,11 @@
1
- import { defineComponent as k, useCssVars as g, inject as d, computed as a, watch as P, nextTick as E, openBlock as r, createElementBlock as s, normalizeStyle as A, createElementVNode as i, renderSlot as p, normalizeClass as m, Fragment as B, renderList as $, createBlock as h, unref as w, withCtx as I, resolveDynamicComponent as L, createCommentVNode as v, toDisplayString as x } from "vue";
2
- import { useRouter as T } from "vue-router";
3
- import { ElIcon as V } from "element-plus";
4
- import { APP_LAYOUT_APP_STORE_KEY as Y, APP_LAYOUT_BRIDGE_KEY as b } from "../../inject/key.mjs";
5
- const D = { class: "app-header-shim" }, O = ["name", "onClick"], R = { class: "app-header-right" }, U = /* @__PURE__ */ k({
1
+ import { defineComponent, useCssVars, inject, computed, watch, nextTick, openBlock, createElementBlock, normalizeStyle, createElementVNode, renderSlot, normalizeClass, Fragment, renderList, createBlock, unref, withCtx, resolveDynamicComponent, createCommentVNode, toDisplayString } from "vue";
2
+ import { useRouter } from "vue-router";
3
+ import { ElIcon } from "element-plus";
4
+ import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY } from "../../inject/key.mjs";
5
+ const _hoisted_1 = { class: "app-header-shim" };
6
+ const _hoisted_2 = ["name", "onClick"];
7
+ const _hoisted_3 = { class: "app-header-right" };
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
9
  __name: "AppHeader",
7
10
  props: {
8
11
  show: { type: Boolean },
@@ -11,71 +14,91 @@ const D = { class: "app-header-shim" }, O = ["name", "onClick"], R = { class: "a
11
14
  activeModuleMenu: {},
12
15
  menuFlatList: {}
13
16
  },
14
- setup(c) {
15
- g((t) => ({
16
- v8834c284: y.value.primaryColor
17
+ setup(__props) {
18
+ useCssVars((_ctx) => ({
19
+ "v8834c284": themeColors.value.primaryColor
17
20
  }));
18
- const n = c, _ = d(Y), f = d(b), y = a(() => f.themeColors.value), C = a(() => _.headerStyle), M = T(), u = `app-header-module_${Math.random().toString(36).substring(2)}`, S = a(() => n.menus), l = a({
21
+ const props = __props;
22
+ const appStore = inject(APP_LAYOUT_APP_STORE_KEY);
23
+ const bridge = inject(APP_LAYOUT_BRIDGE_KEY);
24
+ const themeColors = computed(() => bridge.themeColors.value);
25
+ const headerStyle = computed(() => appStore.headerStyle);
26
+ const router = useRouter();
27
+ const moduleBoxCls = `app-header-module_${Math.random().toString(36).substring(2)}`;
28
+ const showModuleMenu = computed(() => {
29
+ return props.menus;
30
+ });
31
+ const activeModulePath = computed({
19
32
  get() {
20
- var t;
21
- return (t = n.activeModuleMenu) == null ? void 0 : t.path;
33
+ var _a;
34
+ return (_a = props.activeModuleMenu) == null ? void 0 : _a.path;
22
35
  },
23
- set(t) {
24
- var o, e;
25
- ((e = (o = n.activeMenu) == null ? void 0 : o.parentPathList) == null ? void 0 : e[0]) !== t && M.push(t);
36
+ set(value) {
37
+ var _a, _b;
38
+ if (((_b = (_a = props.activeMenu) == null ? void 0 : _a.parentPathList) == null ? void 0 : _b[0]) === value) {
39
+ return;
40
+ }
41
+ router.push(value);
26
42
  }
27
43
  });
28
- return P(
29
- l,
30
- (t) => {
31
- t && E(() => {
32
- var o, e;
33
- (e = (o = document.querySelector(`.${u}`)) == null ? void 0 : o.querySelector(`[name="${t}"]`)) == null || e.scrollIntoView({
34
- behavior: "smooth"
44
+ watch(
45
+ activeModulePath,
46
+ (n) => {
47
+ if (n) {
48
+ nextTick(() => {
49
+ var _a, _b;
50
+ (_b = (_a = document.querySelector(`.${moduleBoxCls}`)) == null ? void 0 : _a.querySelector(`[name="${n}"]`)) == null ? void 0 : _b.scrollIntoView({
51
+ behavior: "smooth"
52
+ });
35
53
  });
36
- });
54
+ }
37
55
  },
38
56
  {
39
- immediate: !0
57
+ immediate: true
40
58
  }
41
- ), (t, o) => (r(), s("div", {
42
- class: "app-header",
43
- style: A(C.value)
44
- }, [
45
- i("div", D, [
46
- p(t.$slots, "left", {}, void 0, !0),
47
- S.value ? (r(), s("div", {
48
- key: 0,
49
- class: m(["app-header-module", u])
50
- }, [
51
- (r(!0), s(B, null, $(c.menus, (e) => (r(), s("div", {
52
- key: e.path,
53
- name: e.path,
54
- class: m([
55
- "app-header-module-item",
56
- l.value === e.path ? "app-header-module-item_active" : ""
57
- ]),
58
- onClick: (q) => l.value = e.path
59
+ );
60
+ return (_ctx, _cache) => {
61
+ return openBlock(), createElementBlock("div", {
62
+ class: "app-header",
63
+ style: normalizeStyle(headerStyle.value)
64
+ }, [
65
+ createElementVNode("div", _hoisted_1, [
66
+ renderSlot(_ctx.$slots, "left", {}, void 0, true),
67
+ showModuleMenu.value ? (openBlock(), createElementBlock("div", {
68
+ key: 0,
69
+ class: normalizeClass(["app-header-module", moduleBoxCls])
59
70
  }, [
60
- e.menuIcon ? (r(), h(w(V), {
61
- key: 0,
62
- class: "app-header-module-item__icon"
63
- }, {
64
- default: I(() => [
65
- (r(), h(L(e.menuIcon)))
66
- ]),
67
- _: 2
68
- }, 1024)) : v("", !0),
69
- i("span", null, x(e.title), 1)
70
- ], 10, O))), 128))
71
- ])) : v("", !0),
72
- i("div", R, [
73
- p(t.$slots, "right", {}, void 0, !0)
71
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menus, (menu) => {
72
+ return openBlock(), createElementBlock("div", {
73
+ key: menu.path,
74
+ name: menu.path,
75
+ class: normalizeClass([
76
+ "app-header-module-item",
77
+ activeModulePath.value === menu.path ? "app-header-module-item_active" : ""
78
+ ]),
79
+ onClick: ($event) => activeModulePath.value = menu.path
80
+ }, [
81
+ menu.menuIcon ? (openBlock(), createBlock(unref(ElIcon), {
82
+ key: 0,
83
+ class: "app-header-module-item__icon"
84
+ }, {
85
+ default: withCtx(() => [
86
+ (openBlock(), createBlock(resolveDynamicComponent(menu.menuIcon)))
87
+ ]),
88
+ _: 2
89
+ }, 1024)) : createCommentVNode("", true),
90
+ createElementVNode("span", null, toDisplayString(menu.title), 1)
91
+ ], 10, _hoisted_2);
92
+ }), 128))
93
+ ])) : createCommentVNode("", true),
94
+ createElementVNode("div", _hoisted_3, [
95
+ renderSlot(_ctx.$slots, "right", {}, void 0, true)
96
+ ])
74
97
  ])
75
- ])
76
- ], 4));
98
+ ], 4);
99
+ };
77
100
  }
78
101
  });
79
102
  export {
80
- U as default
103
+ _sfc_main as default
81
104
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppLayout.vue2.mjs";
1
+ import _sfc_main from "./AppLayout.vue2.mjs";
2
2
  /* empty css */
3
- import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f6f87b30"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f6f87b30"]]);
5
5
  export {
6
- a as default
6
+ AppLayout as default
7
7
  };
@@ -1,148 +1,184 @@
1
- import { defineComponent as H, computed as o, provide as m, markRaw as O, watch as v, openBlock as i, createElementBlock as g, normalizeClass as I, createVNode as p, unref as a, withCtx as n, createBlock as f, resolveDynamicComponent as S, createSlots as D, normalizeStyle as Y, createCommentVNode as x, renderList as B, renderSlot as G } from "vue";
2
- import { ElWatermark as $ } from "element-plus";
3
- import { useRoute as N, useRouter as U } from "vue-router";
4
- import z from "./AppBody.vue.mjs";
5
- import K from "./AppShell.vue.mjs";
6
- import V from "../modal/ModalShelf.vue.mjs";
7
- import { themeScaleToRgba as W } from "../../utils/theme-scale.mjs";
8
- import { APP_LAYOUT_BRIDGE_KEY as j, APP_LAYOUT_APP_STORE_KEY as q, APP_LAYOUT_USER_STORE_KEY as J } from "../../inject/key.mjs";
9
- import { useCoreThemeApply as Q } from "../../hooks/use-theme-apply.mjs";
10
- import { useCoreViewportApply as X } from "../../hooks/use-viewport-apply.mjs";
11
- import { flatRouteMetaResolveRaw as Z } from "../../utils/router.mjs";
12
- import { useMenusDataDispatch as ee } from "../../hooks/menus-dispatch.mjs";
13
- const ce = /* @__PURE__ */ H({
1
+ import { defineComponent, computed, provide, markRaw, watch, openBlock, createElementBlock, normalizeClass, createVNode, unref, withCtx, createBlock, resolveDynamicComponent, createSlots, normalizeStyle, createCommentVNode, renderList, renderSlot } from "vue";
2
+ import { ElWatermark } from "element-plus";
3
+ import { useRoute, useRouter } from "vue-router";
4
+ import AppBody from "./AppBody.vue.mjs";
5
+ import _sfc_main$1 from "./AppShell.vue.mjs";
6
+ import _sfc_main$2 from "../modal/ModalShelf.vue.mjs";
7
+ import { themeScaleToRgba } from "../../utils/theme-scale.mjs";
8
+ import { APP_LAYOUT_BRIDGE_KEY, APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_USER_STORE_KEY } from "../../inject/key.mjs";
9
+ import { useCoreThemeApply } from "../../hooks/use-theme-apply.mjs";
10
+ import { useCoreViewportApply } from "../../hooks/use-viewport-apply.mjs";
11
+ import { flatRouteMetaResolveRaw } from "../../utils/router.mjs";
12
+ import { useMenusDataDispatch } from "../../hooks/menus-dispatch.mjs";
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  __name: "AppLayout",
15
15
  props: {
16
16
  bridge: {},
17
17
  appStore: {},
18
18
  userStore: {},
19
19
  watermarkContent: {},
20
- sidebarAboveHeader: { type: Boolean, default: !1 }
20
+ sidebarAboveHeader: { type: Boolean, default: false }
21
21
  },
22
- setup(u) {
23
- const e = u, b = o(() => ({
24
- color: W(e.bridge.themeColors.value.baseColor, 0.12),
22
+ setup(__props) {
23
+ const props = __props;
24
+ const watermarkFont = computed(() => ({
25
+ color: themeScaleToRgba(props.bridge.themeColors.value.baseColor, 0.12),
25
26
  fontSize: 12
26
27
  }));
27
- m(j, e.bridge), m(q, e.appStore), m(J, e.userStore), Q({
28
- getThemeConfig: () => e.bridge.APP_THEME_CONFIG,
29
- getThemeIsDark: () => e.bridge.themeIsDark.value,
28
+ provide(APP_LAYOUT_BRIDGE_KEY, props.bridge);
29
+ provide(APP_LAYOUT_APP_STORE_KEY, props.appStore);
30
+ provide(APP_LAYOUT_USER_STORE_KEY, props.userStore);
31
+ useCoreThemeApply({
32
+ getThemeConfig: () => props.bridge.APP_THEME_CONFIG,
33
+ getThemeIsDark: () => props.bridge.themeIsDark.value,
30
34
  // 节奏挂值(density/motion):喂新响应式源给同一挂值钩子,注入独立 dc-core-rhythm <style>
31
- getThemeDensity: () => e.bridge.themeDensity.value,
32
- getThemeMotion: () => e.bridge.themeMotion.value
33
- }), X({
34
- getViewportConfig: () => e.bridge.APP_LAYOUT_VIEWPORT_CONFIG,
35
- getGapConfig: () => e.bridge.APP_LAYOUT_GAP_CONFIG
35
+ getThemeDensity: () => props.bridge.themeDensity.value,
36
+ getThemeMotion: () => props.bridge.themeMotion.value
36
37
  });
37
- const l = o(() => e.bridge.generateRouteMetaRawTree(e.bridge.getRoutes(), {
38
- parentPath: "",
39
- filterFn: (t, s, r) => t.checkPermission ? t.menuShow && e.userStore.havePermissionByKey(t.permissionKey) : t.menuShow && (!r || s),
40
- sortFn: (t, s) => t.menuSort - s.menuSort
41
- })), d = o(() => Z(l.value)), {
42
- sidebarMenus: c,
43
- headerMenus: _,
44
- activeMenu: A,
45
- activeModuleMenu: M,
46
- needRedirectToFirstChildMenu: y
47
- } = ee({
48
- getMenus: () => l.value,
49
- getMenuFlatList: () => d.value,
38
+ useCoreViewportApply({
39
+ getViewportConfig: () => props.bridge.APP_LAYOUT_VIEWPORT_CONFIG,
40
+ getGapConfig: () => props.bridge.APP_LAYOUT_GAP_CONFIG
41
+ });
42
+ const menus = computed(() => {
43
+ return props.bridge.generateRouteMetaRawTree(props.bridge.getRoutes(), {
44
+ parentPath: "",
45
+ filterFn: (raw, haveChildren, haveChildrenRaw) => {
46
+ if (raw.checkPermission) {
47
+ return raw.menuShow && props.userStore.havePermissionByKey(raw.permissionKey);
48
+ } else {
49
+ return raw.menuShow && (!haveChildrenRaw || haveChildren);
50
+ }
51
+ },
52
+ sortFn: (a, b) => {
53
+ return a.menuSort - b.menuSort;
54
+ }
55
+ });
56
+ });
57
+ const menuFlatList = computed(() => {
58
+ return flatRouteMetaResolveRaw(menus.value);
59
+ });
60
+ const {
61
+ sidebarMenus,
62
+ headerMenus,
63
+ activeMenu,
64
+ activeModuleMenu,
65
+ needRedirectToFirstChildMenu
66
+ } = useMenusDataDispatch({
67
+ getMenus: () => menus.value,
68
+ getMenuFlatList: () => menuFlatList.value,
50
69
  // 分流意图**纯归布局**(preset.layout.extractLevel1ToHeader,经 themeLayout 暴露):
51
70
  // true 时 1 级路由模块提取到 header(headerMenus 才有内容)、sidebar 显模块下子菜单;
52
71
  // 缺省 false → 经典布局(全菜单在 sidebar、headerMenus 空)。appStore 不再持此意图。
53
- getExtractLevel1ToHeader: () => e.bridge.themeLayout.value.extractLevel1ToHeader
54
- }), w = O(K), C = o(
55
- () => e.bridge.themeLayout.value.shell ?? w
56
- ), L = [
72
+ getExtractLevel1ToHeader: () => props.bridge.themeLayout.value.extractLevel1ToHeader
73
+ });
74
+ const defaultShell = markRaw(_sfc_main$1);
75
+ const resolvedShell = computed(
76
+ () => props.bridge.themeLayout.value.shell ?? defaultShell
77
+ );
78
+ const contentAnchorNames = [
57
79
  "brand",
58
80
  "userEntry",
59
81
  "settings",
60
82
  "themeSwitcher",
61
83
  "aside"
62
- ], P = o(() => e.userStore.isLogin), h = o(() => e.appStore.showHeader), T = o(() => e.appStore.showSidebar), R = o(() => ({
84
+ ];
85
+ const isLogin = computed(() => props.userStore.isLogin);
86
+ const showHeader = computed(() => props.appStore.showHeader);
87
+ const showSidebar = computed(() => props.appStore.showSidebar);
88
+ const headerGapCoverStyle = computed(() => ({
63
89
  position: "fixed",
64
90
  top: "0",
65
91
  left: "0",
66
92
  right: "0",
67
- height: `calc(${e.appStore.headerStyle.top} + ${e.appStore.headerStyle.height})`,
68
- background: e.bridge.themeColors.value.bodyColor,
93
+ height: `calc(${props.appStore.headerStyle.top} + ${props.appStore.headerStyle.height})`,
94
+ background: props.bridge.themeColors.value.bodyColor,
69
95
  zIndex: 1,
70
96
  pointerEvents: "none"
71
- })), E = o(() => e.appStore.showAside);
72
- v(
73
- () => c.value.length,
74
- (t) => {
75
- e.appStore.changeSidebarHasMenusStatus(!!t);
97
+ }));
98
+ const showAside = computed(() => props.appStore.showAside);
99
+ watch(
100
+ () => sidebarMenus.value.length,
101
+ (n) => {
102
+ props.appStore.changeSidebarHasMenusStatus(!!n);
76
103
  },
77
104
  {
78
- immediate: !0
105
+ immediate: true
79
106
  }
80
107
  );
81
- const k = N(), F = U();
82
- return v(
83
- y,
84
- (t) => {
85
- t && (console.log(`${k.path}需要重定向到${t.path}`), F.replace(t.path));
108
+ const route = useRoute();
109
+ const router = useRouter();
110
+ watch(
111
+ needRedirectToFirstChildMenu,
112
+ (n) => {
113
+ if (n) {
114
+ console.log(`${route.path}需要重定向到${n.path}`);
115
+ router.replace(n.path);
116
+ }
86
117
  },
87
118
  {
88
- immediate: !0
119
+ immediate: true
89
120
  }
90
- ), (t, s) => (i(), g("div", {
91
- class: I(["app-layout", {
92
- "app-layout_noLogin": !P.value
93
- }])
94
- }, [
95
- p(a($), {
96
- content: u.watermarkContent,
97
- font: b.value,
98
- zIndex: 1e4
99
- }, {
100
- default: n(() => [
101
- p(a(V), { level: "app" }, {
102
- default: n(() => [
103
- (i(), f(S(C.value), {
104
- menus: l.value,
105
- menuFlatList: d.value,
106
- sidebarMenus: a(c),
107
- headerMenus: a(_),
108
- activeMenu: a(A),
109
- activeModuleMenu: a(M),
110
- showHeader: h.value,
111
- showSidebar: T.value,
112
- showAside: E.value,
113
- sidebarAboveHeader: u.sidebarAboveHeader
114
- }, D({
115
- default: n(({ Footer: r }) => [
116
- p(z, { menuFlatList: d.value }, {
117
- footer: n(() => [
118
- (i(), f(S(r)))
119
- ]),
120
- _: 2
121
- }, 1032, ["menuFlatList"]),
122
- h.value ? (i(), g("div", {
123
- key: 0,
124
- class: "app-header-gap-cover",
125
- style: Y(R.value)
126
- }, null, 4)) : x("", !0)
127
- ]),
128
- _: 2
129
- }, [
130
- B(L, (r) => ({
131
- name: r,
132
- fn: n(() => [
133
- G(t.$slots, r, {}, void 0, !0)
134
- ])
135
- }))
136
- ]), 1032, ["menus", "menuFlatList", "sidebarMenus", "headerMenus", "activeMenu", "activeModuleMenu", "showHeader", "showSidebar", "showAside", "sidebarAboveHeader"]))
137
- ]),
138
- _: 3
139
- })
140
- ]),
141
- _: 3
142
- }, 8, ["content", "font"])
143
- ], 2));
121
+ );
122
+ return (_ctx, _cache) => {
123
+ return openBlock(), createElementBlock("div", {
124
+ class: normalizeClass(["app-layout", {
125
+ "app-layout_noLogin": !isLogin.value
126
+ }])
127
+ }, [
128
+ createVNode(unref(ElWatermark), {
129
+ content: __props.watermarkContent,
130
+ font: watermarkFont.value,
131
+ zIndex: 1e4
132
+ }, {
133
+ default: withCtx(() => [
134
+ createVNode(unref(_sfc_main$2), { level: "app" }, {
135
+ default: withCtx(() => [
136
+ (openBlock(), createBlock(resolveDynamicComponent(resolvedShell.value), {
137
+ menus: menus.value,
138
+ menuFlatList: menuFlatList.value,
139
+ sidebarMenus: unref(sidebarMenus),
140
+ headerMenus: unref(headerMenus),
141
+ activeMenu: unref(activeMenu),
142
+ activeModuleMenu: unref(activeModuleMenu),
143
+ showHeader: showHeader.value,
144
+ showSidebar: showSidebar.value,
145
+ showAside: showAside.value,
146
+ sidebarAboveHeader: __props.sidebarAboveHeader
147
+ }, createSlots({
148
+ default: withCtx(({ Footer }) => [
149
+ createVNode(AppBody, { menuFlatList: menuFlatList.value }, {
150
+ footer: withCtx(() => [
151
+ (openBlock(), createBlock(resolveDynamicComponent(Footer)))
152
+ ]),
153
+ _: 2
154
+ }, 1032, ["menuFlatList"]),
155
+ showHeader.value ? (openBlock(), createElementBlock("div", {
156
+ key: 0,
157
+ class: "app-header-gap-cover",
158
+ style: normalizeStyle(headerGapCoverStyle.value)
159
+ }, null, 4)) : createCommentVNode("", true)
160
+ ]),
161
+ _: 2
162
+ }, [
163
+ renderList(contentAnchorNames, (name) => {
164
+ return {
165
+ name,
166
+ fn: withCtx(() => [
167
+ renderSlot(_ctx.$slots, name, {}, void 0, true)
168
+ ])
169
+ };
170
+ })
171
+ ]), 1032, ["menus", "menuFlatList", "sidebarMenus", "headerMenus", "activeMenu", "activeModuleMenu", "showHeader", "showSidebar", "showAside", "sidebarAboveHeader"]))
172
+ ]),
173
+ _: 3
174
+ })
175
+ ]),
176
+ _: 3
177
+ }, 8, ["content", "font"])
178
+ ], 2);
179
+ };
144
180
  }
145
181
  });
146
182
  export {
147
- ce as default
183
+ _sfc_main as default
148
184
  };
@@ -1,7 +1,7 @@
1
- import o from "./AppPage.vue2.mjs";
1
+ import _sfc_main from "./AppPage.vue2.mjs";
2
2
  /* empty css */
3
- import p from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const c = /* @__PURE__ */ p(o, [["__scopeId", "data-v-8fb8acc9"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const AppPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8fb8acc9"]]);
5
5
  export {
6
- c as default
6
+ AppPage as default
7
7
  };