@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,6 +1,6 @@
1
- import { defineComponent as w, computed as i, openBlock as y, createBlock as p, withCtx as r, renderSlot as l } from "vue";
2
- import b from "./ModalForm.vue.mjs";
3
- const T = /* @__PURE__ */ w({
1
+ import { defineComponent, computed, openBlock, createBlock, withCtx, renderSlot } from "vue";
2
+ import _sfc_main$1 from "./ModalForm.vue.mjs";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "ModalDetail",
5
5
  props: {
6
6
  data: {},
@@ -20,44 +20,55 @@ const T = /* @__PURE__ */ w({
20
20
  direction: {}
21
21
  },
22
22
  emits: ["update:show", "afterAdd", "afterEdit"],
23
- setup(t, { emit: s }) {
24
- const e = t, d = s, n = i(() => e.data), f = i(() => `${e.type === "add" ? "新增" : "编辑"}${e.subTitle || ""}`), u = i(() => e.title ?? f.value), m = (o) => {
25
- const a = e.type === "add" ? e.addApi : e.editApi;
26
- return (a == null ? void 0 : a(o)) ?? Promise.resolve();
27
- }, c = (o) => {
28
- d("update:show", o);
29
- }, h = (o) => {
30
- d(e.type === "add" ? "afterAdd" : "afterEdit", o);
23
+ setup(__props, { emit: __emit }) {
24
+ const props = __props;
25
+ const emits = __emit;
26
+ const assertData = computed(() => props.data);
27
+ const titleFinal = computed(() => {
28
+ return `${props.type === "add" ? "新增" : "编辑"}${props.subTitle || ""}`;
29
+ });
30
+ const titleResolved = computed(() => props.title ?? titleFinal.value);
31
+ const detailSubmitFn = (data) => {
32
+ const api = props.type === "add" ? props.addApi : props.editApi;
33
+ return (api == null ? void 0 : api(data)) ?? Promise.resolve();
34
+ };
35
+ const onShow = (value) => {
36
+ emits("update:show", value);
37
+ };
38
+ const onSubmitSuccess = (data) => {
39
+ emits(props.type === "add" ? "afterAdd" : "afterEdit", data);
40
+ };
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(_sfc_main$1, {
43
+ class: "dc-detail-modal",
44
+ title: titleResolved.value,
45
+ show: __props.show,
46
+ list: __props.list,
47
+ data: assertData.value,
48
+ submitFn: detailSubmitFn,
49
+ width: __props.width,
50
+ layerType: __props.layerType,
51
+ direction: __props.direction,
52
+ formLayout: __props.formLayout,
53
+ labelWidth: __props.labelWidth,
54
+ formRowGutter: __props.formRowGutter,
55
+ formProps: __props.formProps,
56
+ headerDivider: false,
57
+ footerDivider: false,
58
+ "onUpdate:show": onShow,
59
+ onSubmitSuccess
60
+ }, {
61
+ header: withCtx(() => [
62
+ renderSlot(_ctx.$slots, "header")
63
+ ]),
64
+ footer: withCtx(() => [
65
+ renderSlot(_ctx.$slots, "footer")
66
+ ]),
67
+ _: 3
68
+ }, 8, ["title", "show", "list", "data", "width", "layerType", "direction", "formLayout", "labelWidth", "formRowGutter", "formProps"]);
31
69
  };
32
- return (o, a) => (y(), p(b, {
33
- class: "dc-detail-modal",
34
- title: u.value,
35
- show: t.show,
36
- list: t.list,
37
- data: n.value,
38
- submitFn: m,
39
- width: t.width,
40
- layerType: t.layerType,
41
- direction: t.direction,
42
- formLayout: t.formLayout,
43
- labelWidth: t.labelWidth,
44
- formRowGutter: t.formRowGutter,
45
- formProps: t.formProps,
46
- headerDivider: !1,
47
- footerDivider: !1,
48
- "onUpdate:show": c,
49
- onSubmitSuccess: h
50
- }, {
51
- header: r(() => [
52
- l(o.$slots, "header")
53
- ]),
54
- footer: r(() => [
55
- l(o.$slots, "footer")
56
- ]),
57
- _: 3
58
- }, 8, ["title", "show", "list", "data", "width", "layerType", "direction", "formLayout", "labelWidth", "formRowGutter", "formProps"]));
59
70
  }
60
71
  });
61
72
  export {
62
- T as default
73
+ _sfc_main as default
63
74
  };
@@ -1,4 +1,4 @@
1
- import f from "./ModalDetail.vue.mjs";
1
+ import _sfc_main from "./ModalDetail.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,7 +1,7 @@
1
- import { defineComponent as m, ref as c, computed as h, watch as w, openBlock as y, createBlock as v, withCtx as r, createVNode as D, unref as b, mergeProps as g, renderSlot as l } from "vue";
2
- import B from "../form/FormMain.vue.mjs";
3
- import M from "./ModalConfirm.vue.mjs";
4
- const T = /* @__PURE__ */ m({
1
+ import { defineComponent, ref, computed, watch, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, renderSlot } from "vue";
2
+ import FormMain from "../form/FormMain.vue.mjs";
3
+ import ModalConfirm from "./ModalConfirm.vue.mjs";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ModalForm",
6
6
  props: {
7
7
  show: { type: Boolean },
@@ -16,60 +16,71 @@ const T = /* @__PURE__ */ m({
16
16
  formProps: {},
17
17
  formRowGutter: {},
18
18
  labelWidth: { default: "auto" },
19
- headerDivider: { type: Boolean, default: !0 },
20
- footerDivider: { type: Boolean, default: !0 }
19
+ headerDivider: { type: Boolean, default: true },
20
+ footerDivider: { type: Boolean, default: true }
21
21
  },
22
22
  emits: ["update:show", "submitSuccess"],
23
- setup(e, { emit: n }) {
24
- const i = e, d = n, a = c(), s = h(() => i.data), u = (t) => {
25
- d("update:show", t);
26
- }, f = () => {
27
- var t;
28
- return (t = a.value) == null ? void 0 : t.validate().then(async () => {
29
- const o = a.value.stringify();
30
- await i.submitFn(o), d("submitSuccess", o);
23
+ setup(__props, { emit: __emit }) {
24
+ const props = __props;
25
+ const emits = __emit;
26
+ const formMain = ref();
27
+ const assertData = computed(() => props.data);
28
+ const onShow = (value) => {
29
+ emits("update:show", value);
30
+ };
31
+ const onConfirm = () => {
32
+ var _a;
33
+ return (_a = formMain.value) == null ? void 0 : _a.validate().then(async () => {
34
+ const stringifyData = formMain.value.stringify();
35
+ await props.submitFn(stringifyData);
36
+ emits("submitSuccess", stringifyData);
31
37
  });
32
38
  };
33
- return w(
34
- () => i.show,
35
- (t) => {
36
- var o;
37
- t || (o = a.value) == null || o.clearValidate();
39
+ watch(
40
+ () => props.show,
41
+ (n) => {
42
+ var _a;
43
+ if (!n) {
44
+ (_a = formMain.value) == null ? void 0 : _a.clearValidate();
45
+ }
38
46
  }
39
- ), (t, o) => (y(), v(M, {
40
- class: "dc-form-modal",
41
- title: e.title,
42
- show: e.show,
43
- onConfirm: f,
44
- useLoading: "",
45
- width: e.width,
46
- layerType: e.layerType,
47
- direction: e.direction,
48
- headerDivider: e.headerDivider,
49
- footerDivider: e.footerDivider,
50
- "onUpdate:show": u
51
- }, {
52
- "main-header": r(() => [
53
- l(t.$slots, "header")
54
- ]),
55
- "main-footer": r(() => [
56
- l(t.$slots, "footer")
57
- ]),
58
- default: r(() => [
59
- D(b(B), g({
60
- ref_key: "formMain",
61
- ref: a,
62
- list: e.list,
63
- data: s.value,
64
- layout: e.formLayout,
65
- labelWidth: e.labelWidth,
66
- "row-gutter": e.formRowGutter
67
- }, e.formProps), null, 16, ["list", "data", "layout", "labelWidth", "row-gutter"])
68
- ]),
69
- _: 3
70
- }, 8, ["title", "show", "width", "layerType", "direction", "headerDivider", "footerDivider"]));
47
+ );
48
+ return (_ctx, _cache) => {
49
+ return openBlock(), createBlock(ModalConfirm, {
50
+ class: "dc-form-modal",
51
+ title: __props.title,
52
+ show: __props.show,
53
+ onConfirm,
54
+ useLoading: "",
55
+ width: __props.width,
56
+ layerType: __props.layerType,
57
+ direction: __props.direction,
58
+ headerDivider: __props.headerDivider,
59
+ footerDivider: __props.footerDivider,
60
+ "onUpdate:show": onShow
61
+ }, {
62
+ "main-header": withCtx(() => [
63
+ renderSlot(_ctx.$slots, "header")
64
+ ]),
65
+ "main-footer": withCtx(() => [
66
+ renderSlot(_ctx.$slots, "footer")
67
+ ]),
68
+ default: withCtx(() => [
69
+ createVNode(unref(FormMain), mergeProps({
70
+ ref_key: "formMain",
71
+ ref: formMain,
72
+ list: __props.list,
73
+ data: assertData.value,
74
+ layout: __props.formLayout,
75
+ labelWidth: __props.labelWidth,
76
+ "row-gutter": __props.formRowGutter
77
+ }, __props.formProps), null, 16, ["list", "data", "layout", "labelWidth", "row-gutter"])
78
+ ]),
79
+ _: 3
80
+ }, 8, ["title", "show", "width", "layerType", "direction", "headerDivider", "footerDivider"]);
81
+ };
71
82
  }
72
83
  });
73
84
  export {
74
- T as default
85
+ _sfc_main as default
75
86
  };
@@ -1,4 +1,4 @@
1
- import f from "./ModalForm.vue.mjs";
1
+ import _sfc_main from "./ModalForm.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,49 +1,64 @@
1
- import { defineComponent as S, getCurrentInstance as h, inject as c, renderSlot as v } from "vue";
2
- import { getModalShelfInjectionKey as u } from "../../inject/key.mjs";
3
- import { useActivated as y } from "../../hooks/activated.mjs";
4
- const k = /* @__PURE__ */ S({
1
+ import { defineComponent, getCurrentInstance, inject, renderSlot } from "vue";
2
+ import { getModalShelfInjectionKey } from "../../inject/key.mjs";
3
+ import { useActivated } from "../../hooks/activated.mjs";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ModalPorter",
6
6
  props: {
7
7
  modalList: {}
8
8
  },
9
- setup(f, { expose: p }) {
10
- var i;
11
- const a = f, d = ((i = h()) == null ? void 0 : i.uid) ?? Math.floor(Math.random() * 1e9), m = {
12
- app: c(u("app"), null),
13
- page: c(u("page"), null)
9
+ setup(__props, { expose: __expose }) {
10
+ var _a;
11
+ const props = __props;
12
+ const uid = ((_a = getCurrentInstance()) == null ? void 0 : _a.uid) ?? Math.floor(Math.random() * 1e9);
13
+ const namedShelves = {
14
+ app: inject(getModalShelfInjectionKey("app"), null),
15
+ page: inject(getModalShelfInjectionKey("page"), null)
14
16
  };
15
- function s(e) {
16
- return `p${d}:${e}`;
17
+ function nsOf(key) {
18
+ return `p${uid}:${key}`;
17
19
  }
18
- function l(e) {
19
- if (e === "app" || e === "page") {
20
- const t = m[e];
21
- return t || (console.error(`[ModalPorter] 未找到 level="${e}" 的 ModalShelf`), null);
20
+ function resolveShelf(shelf) {
21
+ if (shelf === "app" || shelf === "page") {
22
+ const c = namedShelves[shelf];
23
+ if (!c) {
24
+ console.error(`[ModalPorter] 未找到 level="${shelf}" 的 ModalShelf`);
25
+ return null;
26
+ }
27
+ return c;
22
28
  }
23
- return e;
29
+ return shelf;
24
30
  }
25
- function g(e, t) {
26
- const r = a.modalList.find((o) => o.key === e);
27
- if (!r)
28
- return console.error(`[ModalPorter] 未配置的弹窗 key: ${String(e)}`), null;
29
- const n = l(r.shelf);
30
- return n ? n.evoke(s(String(e)), r.component, {
31
- payload: t,
32
- sameKeyStrategy: r.sameKeyStrategy
33
- }) : null;
31
+ function evoke(key, payload) {
32
+ const entry = props.modalList.find((e) => e.key === key);
33
+ if (!entry) {
34
+ console.error(`[ModalPorter] 未配置的弹窗 key: ${String(key)}`);
35
+ return null;
36
+ }
37
+ const shelf = resolveShelf(entry.shelf);
38
+ if (!shelf) return null;
39
+ return shelf.evoke(nsOf(String(key)), entry.component, {
40
+ payload,
41
+ sameKeyStrategy: entry.sameKeyStrategy
42
+ });
34
43
  }
35
- return y((e) => {
36
- if (e.isActivated) return;
37
- const t = /* @__PURE__ */ new Map();
38
- a.modalList.forEach((r) => {
39
- const n = l(r.shelf);
40
- if (!n) return;
41
- const o = t.get(n) ?? [];
42
- o.push(s(String(r.key))), t.set(n, o);
43
- }), t.forEach((r, n) => n.remove(r));
44
- }), p({ evoke: g }), (e, t) => v(e.$slots, "default");
44
+ useActivated((info) => {
45
+ if (info.isActivated) return;
46
+ const byShelf = /* @__PURE__ */ new Map();
47
+ props.modalList.forEach((e) => {
48
+ const s = resolveShelf(e.shelf);
49
+ if (!s) return;
50
+ const arr = byShelf.get(s) ?? [];
51
+ arr.push(nsOf(String(e.key)));
52
+ byShelf.set(s, arr);
53
+ });
54
+ byShelf.forEach((keys, s) => s.remove(keys));
55
+ });
56
+ __expose({ evoke });
57
+ return (_ctx, _cache) => {
58
+ return renderSlot(_ctx.$slots, "default");
59
+ };
45
60
  }
46
61
  });
47
62
  export {
48
- k as default
63
+ _sfc_main as default
49
64
  };
@@ -1,4 +1,4 @@
1
- import f from "./ModalPorter.vue.mjs";
1
+ import _sfc_main from "./ModalPorter.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,38 +1,48 @@
1
- import { defineComponent as h, provide as v, onMounted as y, inject as a, openBlock as s, createElementBlock as c, Fragment as u, renderSlot as w, renderList as C, unref as l, createBlock as F, resolveDynamicComponent as _, defineAsyncComponent as k } from "vue";
2
- import { createShelfController as S } from "./modal-shelf-core.mjs";
3
- import { assertLevelHierarchy as g } from "./modal-shelf-hierarchy.mjs";
4
- import { getModalShelfInjectionKey as p } from "../../inject/key.mjs";
5
- const E = /* @__PURE__ */ h({
1
+ import { defineComponent, provide, onMounted, inject, openBlock, createElementBlock, Fragment, renderSlot, renderList, unref, createBlock, resolveDynamicComponent, defineAsyncComponent } from "vue";
2
+ import { createShelfController } from "./modal-shelf-core.mjs";
3
+ import { assertLevelHierarchy } from "./modal-shelf-hierarchy.mjs";
4
+ import { getModalShelfInjectionKey } from "../../inject/key.mjs";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "ModalShelf",
7
7
  props: {
8
8
  level: {}
9
9
  },
10
- setup(f, { expose: m }) {
11
- const r = f.level, n = S(r);
12
- m(n), v(p(r), n);
13
- function d(o) {
14
- return typeof o == "function" ? k(o) : o;
10
+ setup(__props, { expose: __expose }) {
11
+ const props = __props;
12
+ const level = props.level;
13
+ const controller = createShelfController(level);
14
+ __expose(controller);
15
+ provide(getModalShelfInjectionKey(level), controller);
16
+ function resolveComp(c) {
17
+ return typeof c === "function" ? defineAsyncComponent(c) : c;
15
18
  }
16
- return y(() => {
17
- const o = [];
18
- ["app", "page", "custom"].forEach((e) => {
19
- e !== r && a(p(e), null) && o.push(e);
19
+ onMounted(() => {
20
+ const ancestors = [];
21
+ ["app", "page", "custom"].forEach((lv) => {
22
+ if (lv === level) return;
23
+ if (inject(getModalShelfInjectionKey(lv), null)) ancestors.push(lv);
20
24
  });
21
- const t = a(p(r), null);
22
- t && t !== n && o.push(r), g(r, o);
23
- }), (o, t) => (s(), c(u, null, [
24
- w(o.$slots, "default"),
25
- (s(!0), c(u, null, C(l(n).items.value, (e) => (s(), F(_(d(e.component)), {
26
- key: e.id,
27
- show: e.show,
28
- payload: e.payload,
29
- closeFn: () => l(n).close(e),
30
- removeFn: () => l(n).remove(e.nsKey),
31
- "onUpdate:show": (i) => !i && l(n).close(e)
32
- }, null, 40, ["show", "payload", "closeFn", "removeFn", "onUpdate:show"]))), 128))
33
- ], 64));
25
+ const sameLevel = inject(getModalShelfInjectionKey(level), null);
26
+ if (sameLevel && sameLevel !== controller) ancestors.push(level);
27
+ assertLevelHierarchy(level, ancestors);
28
+ });
29
+ return (_ctx, _cache) => {
30
+ return openBlock(), createElementBlock(Fragment, null, [
31
+ renderSlot(_ctx.$slots, "default"),
32
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(controller).items.value, (item) => {
33
+ return openBlock(), createBlock(resolveDynamicComponent(resolveComp(item.component)), {
34
+ key: item.id,
35
+ show: item.show,
36
+ payload: item.payload,
37
+ closeFn: () => unref(controller).close(item),
38
+ removeFn: () => unref(controller).remove(item.nsKey),
39
+ "onUpdate:show": (v) => !v && unref(controller).close(item)
40
+ }, null, 40, ["show", "payload", "closeFn", "removeFn", "onUpdate:show"]);
41
+ }), 128))
42
+ ], 64);
43
+ };
34
44
  }
35
45
  });
36
46
  export {
37
- E as default
47
+ _sfc_main as default
38
48
  };
@@ -1,4 +1,4 @@
1
- import f from "./ModalShelf.vue.mjs";
1
+ import _sfc_main from "./ModalShelf.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,52 +1,68 @@
1
- import { ref as h } from "vue";
2
- const x = 300;
3
- function g(s) {
4
- let l = 0;
5
- const r = h([]);
6
- function d(e) {
7
- return r.value.findIndex((t) => t.nsKey === e);
1
+ import { ref } from "vue";
2
+ const CLOSE_ANIM_MS = 300;
3
+ function createShelfController(level) {
4
+ let seq = 0;
5
+ const items = ref([]);
6
+ function indexByNsKey(nsKey) {
7
+ return items.value.findIndex((it) => it.nsKey === nsKey);
8
8
  }
9
- function u(e) {
10
- e.timer !== void 0 && (clearTimeout(e.timer), e.timer = void 0);
9
+ function clearItemTimer(item) {
10
+ if (item.timer !== void 0) {
11
+ clearTimeout(item.timer);
12
+ item.timer = void 0;
13
+ }
11
14
  }
12
- function a(e) {
13
- (Array.isArray(e) ? e : [e]).forEach((i) => {
14
- const n = d(i);
15
- n > -1 && (u(r.value[n]), r.value.splice(n, 1));
15
+ function remove(nsKey) {
16
+ const keys = Array.isArray(nsKey) ? nsKey : [nsKey];
17
+ keys.forEach((k) => {
18
+ const i = indexByNsKey(k);
19
+ if (i > -1) {
20
+ clearItemTimer(items.value[i]);
21
+ items.value.splice(i, 1);
22
+ }
16
23
  });
17
24
  }
18
- function c(e) {
19
- const t = r.value.find((i) => i.id === e.id);
20
- t && t.timer === void 0 && (t.show = !1, t.timer = setTimeout(() => {
21
- const i = r.value.findIndex((n) => n.id === e.id);
22
- i > -1 && r.value.splice(i, 1);
23
- }, x));
25
+ function close(item) {
26
+ const target = items.value.find((it) => it.id === item.id);
27
+ if (!target) return;
28
+ if (target.timer !== void 0) return;
29
+ target.show = false;
30
+ target.timer = setTimeout(() => {
31
+ const i = items.value.findIndex((it) => it.id === item.id);
32
+ if (i > -1) items.value.splice(i, 1);
33
+ }, CLOSE_ANIM_MS);
24
34
  }
25
- function f(e) {
35
+ function handleFor(nsKey) {
26
36
  return {
27
37
  close: () => {
28
- const t = r.value.find((i) => i.nsKey === e);
29
- t && c(t);
38
+ const cur = items.value.find((it) => it.nsKey === nsKey);
39
+ if (cur) close(cur);
30
40
  },
31
- update: (t) => {
32
- const i = r.value.find((n) => n.nsKey === e);
33
- i && (i.payload = { ...i.payload, ...t });
41
+ update: (partial) => {
42
+ const cur = items.value.find((it) => it.nsKey === nsKey);
43
+ if (cur) cur.payload = { ...cur.payload, ...partial };
34
44
  }
35
45
  };
36
46
  }
37
- function v(e, t, i) {
38
- const { payload: n, sameKeyStrategy: m = "recreate" } = i;
39
- if (m === "update") {
40
- const o = r.value.find((y) => y.nsKey === e);
41
- if (o)
42
- return u(o), o.show = !0, o.payload = n, f(e);
47
+ function evoke(nsKey, component, options) {
48
+ const { payload, sameKeyStrategy = "recreate" } = options;
49
+ if (sameKeyStrategy === "update") {
50
+ const existing = items.value.find((it) => it.nsKey === nsKey);
51
+ if (existing) {
52
+ clearItemTimer(existing);
53
+ existing.show = true;
54
+ existing.payload = payload;
55
+ return handleFor(nsKey);
56
+ }
43
57
  }
44
- a(e);
45
- const p = { id: ++l, nsKey: e, component: t, payload: n, show: !0 };
46
- return r.value.push(p), f(e);
58
+ remove(nsKey);
59
+ const id = ++seq;
60
+ const item = { id, nsKey, component, payload, show: true };
61
+ items.value.push(item);
62
+ return handleFor(nsKey);
47
63
  }
48
- return { level: s, items: r, evoke: v, remove: a, close: c };
64
+ return { level, items, evoke, remove, close };
49
65
  }
50
66
  export {
51
- g as createShelfController
67
+ createShelfController
52
68
  };
@@ -1,19 +1,21 @@
1
- function i(o, e) {
2
- if (o === "app" && e.length > 0) {
1
+ function assertLevelHierarchy(level, ancestorLevels) {
2
+ if (level === "app" && ancestorLevels.length > 0) {
3
3
  console.error(
4
- `[ModalShelf] level="app" 必须最顶层,但其上存在: ${e.join(
4
+ `[ModalShelf] level="app" 必须最顶层,但其上存在: ${ancestorLevels.join(
5
5
  ", "
6
6
  )}`
7
7
  );
8
8
  return;
9
9
  }
10
- if (o === "page") {
11
- const r = e.filter((l) => l === "custom");
12
- r.length > 0 && console.error(
13
- `[ModalShelf] level="page" 之上不得套 custom,发现: ${r.join(", ")}`
14
- );
10
+ if (level === "page") {
11
+ const bad = ancestorLevels.filter((l) => l === "custom");
12
+ if (bad.length > 0) {
13
+ console.error(
14
+ `[ModalShelf] level="page" 之上不得套 custom,发现: ${bad.join(", ")}`
15
+ );
16
+ }
15
17
  }
16
18
  }
17
19
  export {
18
- i as assertLevelHierarchy
20
+ assertLevelHierarchy
19
21
  };
@@ -1,7 +1,7 @@
1
- import t from "./PanelEditSwitch.vue2.mjs";
1
+ import _sfc_main from "./PanelEditSwitch.vue2.mjs";
2
2
  /* empty css */
3
- import o from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const i = /* @__PURE__ */ o(t, [["__scopeId", "data-v-65f056ab"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const PanelEditSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65f056ab"]]);
5
5
  export {
6
- i as default
6
+ PanelEditSwitch as default
7
7
  };