@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,21 +1,20 @@
1
- import { defineComponent as z, computed as m, useModel as A, openBlock as l, createElementBlock as f, normalizeStyle as g, createBlock as y, resolveDynamicComponent as C, createCommentVNode as D, Fragment as $, renderList as j, createElementVNode as E, createVNode as k, unref as v, withCtx as S, createTextVNode as b, toDisplayString as s, mergeModels as G } from "vue";
2
- import W from "./FormMain.vue.mjs";
3
- import { useNestFormList as H } from "./use-nest-form-list.mjs";
4
- import { useNestLayoutScale as O } from "./use-nest-layout-scale.mjs";
5
- import { generateFormData as q } from "./utils.mjs";
6
- import F from "../display/ActionBtn.vue.mjs";
7
- import { getId as J } from "../../utils/id.mjs";
8
- const ee = /* @__PURE__ */ z({
9
- name: "FormItemNestFormList",
10
- inheritAttrs: !1,
1
+ import { defineComponent, computed, useModel, openBlock, createElementBlock, normalizeStyle, createBlock, resolveDynamicComponent, createCommentVNode, Fragment, renderList, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, mergeModels } from "vue";
2
+ import FormMain from "./FormMain.vue.mjs";
3
+ import { useNestFormList } from "./use-nest-form-list.mjs";
4
+ import { useNestLayoutScale } from "./use-nest-layout-scale.mjs";
5
+ import { generateFormData } from "./utils.mjs";
6
+ import _sfc_main$1 from "../display/ActionBtn.vue.mjs";
7
+ import { getId } from "../../utils/id.mjs";
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ ...{ name: "FormItemNestFormList", inheritAttrs: false },
11
10
  __name: "FormItemNestFormList",
12
- props: /* @__PURE__ */ G({
11
+ props: /* @__PURE__ */ mergeModels({
13
12
  nestKey: {},
14
13
  list: {},
15
14
  rowKey: {},
16
15
  itemFactory: {},
17
16
  min: { default: 0 },
18
- max: { default: 1 / 0 },
17
+ max: { default: Infinity },
19
18
  layout: {},
20
19
  rowGutter: {},
21
20
  addText: { default: "新增" },
@@ -24,114 +23,144 @@ const ee = /* @__PURE__ */ z({
24
23
  footerRender: {},
25
24
  shadowColor: {},
26
25
  parentSpan: {},
27
- rebase: { type: Boolean, default: !0 },
28
- removeConfirm: { type: [Boolean, Object], default: !0 }
26
+ rebase: { type: Boolean, default: true },
27
+ removeConfirm: { type: [Boolean, Object], default: true }
29
28
  }, {
30
- modelValue: { default: () => [] },
31
- modelModifiers: {}
29
+ "modelValue": { default: () => [] },
30
+ "modelModifiers": {}
32
31
  }),
33
32
  emits: ["update:modelValue"],
34
- setup(o) {
35
- const t = o, I = m(() => {
36
- const e = t.removeConfirm;
37
- if (e !== !1)
38
- return e && typeof e == "object" ? e : { title: "确认删除该项?", type: "danger" };
39
- }), R = O({
40
- parentSpan: () => t.parentSpan,
41
- rebase: () => t.rebase
42
- }), i = A(o, "modelValue"), n = m(() => i.value), d = m(() => n.value.length < t.max), p = m(
43
- () => t.shadowColor ? { boxShadow: `0 2px 8px ${t.shadowColor}` } : {}
44
- ), M = m(
45
- () => t.shadowColor ? { boxShadow: `0 1px 4px ${t.shadowColor}` } : {}
46
- ), N = () => {
47
- var e;
48
- return ((e = t.itemFactory) == null ? void 0 : e.call(t)) ?? q(t.list);
49
- }, u = /* @__PURE__ */ new WeakMap(), h = (e) => {
50
- const r = t.rowKey;
51
- if (r) {
52
- const a = e == null ? void 0 : e[r];
53
- if (a != null) return a;
33
+ setup(__props) {
34
+ const props = __props;
35
+ const removeConfirmConfig = computed(() => {
36
+ const rc = props.removeConfirm;
37
+ if (rc === false) return void 0;
38
+ if (rc && typeof rc === "object") return rc;
39
+ return { title: "确认删除该项?", type: "danger" };
40
+ });
41
+ const childScale = useNestLayoutScale({
42
+ parentSpan: () => props.parentSpan,
43
+ rebase: () => props.rebase
44
+ });
45
+ const model = useModel(__props, "modelValue");
46
+ const rows = computed(() => model.value);
47
+ const canAdd = computed(() => rows.value.length < props.max);
48
+ const outerShadowStyle = computed(
49
+ () => props.shadowColor ? { boxShadow: `0 2px 8px ${props.shadowColor}` } : {}
50
+ );
51
+ const rowShadowStyle = computed(
52
+ () => props.shadowColor ? { boxShadow: `0 1px 4px ${props.shadowColor}` } : {}
53
+ );
54
+ const makeRow = () => {
55
+ var _a;
56
+ return ((_a = props.itemFactory) == null ? void 0 : _a.call(props)) ?? generateFormData(props.list);
57
+ };
58
+ const ridWeakMap = /* @__PURE__ */ new WeakMap();
59
+ const getRowId = (row) => {
60
+ const rk = props.rowKey;
61
+ if (rk) {
62
+ const v = row == null ? void 0 : row[rk];
63
+ if (v !== void 0 && v !== null) return v;
64
+ }
65
+ if (!ridWeakMap.has(row))
66
+ ridWeakMap.set(row, getId("formItemNextFormListItem"));
67
+ return ridWeakMap.get(row);
68
+ };
69
+ const rowInstanceMap = /* @__PURE__ */ new Map();
70
+ const setterCache = /* @__PURE__ */ new Map();
71
+ const setRowInstance = (rid) => {
72
+ let fn = setterCache.get(rid);
73
+ if (!fn) {
74
+ fn = (el) => {
75
+ if (el) rowInstanceMap.set(rid, el);
76
+ else rowInstanceMap.delete(rid);
77
+ };
78
+ setterCache.set(rid, fn);
54
79
  }
55
- return u.has(e) || u.set(e, J("formItemNextFormListItem")), u.get(e);
56
- }, c = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), V = (e) => {
57
- let r = x.get(e);
58
- return r || (r = (a) => {
59
- a ? c.set(e, a) : c.delete(e);
60
- }, x.set(e, r)), r;
80
+ return fn;
61
81
  };
62
- H({
63
- rowInstances: () => [...c.values()],
64
- key: () => t.nestKey
82
+ useNestFormList({
83
+ rowInstances: () => [...rowInstanceMap.values()],
84
+ key: () => props.nestKey
65
85
  });
66
- const w = () => {
67
- d.value && i.value.push(N());
68
- }, L = (e) => {
69
- n.value.length <= t.min || i.value.splice(e, 1);
70
- }, B = () => {
71
- var e;
72
- return (e = t.headerRender) == null ? void 0 : e.call(t, { count: n.value.length, max: t.max });
73
- }, T = () => {
74
- var e;
75
- return (e = t.footerRender) == null ? void 0 : e.call(t, {
76
- count: n.value.length,
77
- max: t.max,
78
- canAdd: d.value,
79
- add: w
86
+ const addRow = () => {
87
+ if (!canAdd.value) return;
88
+ model.value.push(makeRow());
89
+ };
90
+ const removeRow = (index) => {
91
+ if (rows.value.length <= props.min) return;
92
+ model.value.splice(index, 1);
93
+ };
94
+ const renderHeader = () => {
95
+ var _a;
96
+ return (_a = props.headerRender) == null ? void 0 : _a.call(props, { count: rows.value.length, max: props.max });
97
+ };
98
+ const renderFooter = () => {
99
+ var _a;
100
+ return (_a = props.footerRender) == null ? void 0 : _a.call(props, {
101
+ count: rows.value.length,
102
+ max: props.max,
103
+ canAdd: canAdd.value,
104
+ add: addRow
80
105
  });
81
106
  };
82
- return (e, r) => (l(), f("div", {
83
- class: "form-item-nest-form-list",
84
- style: g(p.value)
85
- }, [
86
- o.headerRender ? (l(), y(C(B), { key: 0 })) : D("", !0),
87
- (l(!0), f($, null, j(n.value, (a, K) => (l(), f("div", {
88
- key: h(a),
89
- class: "form-item-nest-form-list-row"
107
+ return (_ctx, _cache) => {
108
+ return openBlock(), createElementBlock("div", {
109
+ class: "form-item-nest-form-list",
110
+ style: normalizeStyle(outerShadowStyle.value)
90
111
  }, [
91
- E("div", {
92
- class: "form-item-nest-form-list-row-body",
93
- style: g(M.value)
94
- }, [
95
- k(W, {
96
- ref_for: !0,
97
- ref: V(h(a)),
98
- list: o.list,
99
- data: a,
100
- layout: o.layout,
101
- "layout-scale": v(R),
102
- "row-gutter": o.rowGutter
103
- }, null, 8, ["list", "data", "layout", "layout-scale", "row-gutter"])
104
- ], 4),
105
- k(v(F), {
106
- class: "form-item-nest-form-list-row-remove",
112
+ __props.headerRender ? (openBlock(), createBlock(resolveDynamicComponent(renderHeader), { key: 0 })) : createCommentVNode("", true),
113
+ (openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row, index) => {
114
+ return openBlock(), createElementBlock("div", {
115
+ key: getRowId(row),
116
+ class: "form-item-nest-form-list-row"
117
+ }, [
118
+ createElementVNode("div", {
119
+ class: "form-item-nest-form-list-row-body",
120
+ style: normalizeStyle(rowShadowStyle.value)
121
+ }, [
122
+ createVNode(FormMain, {
123
+ ref_for: true,
124
+ ref: setRowInstance(getRowId(row)),
125
+ list: __props.list,
126
+ data: row,
127
+ layout: __props.layout,
128
+ "layout-scale": unref(childScale),
129
+ "row-gutter": __props.rowGutter
130
+ }, null, 8, ["list", "data", "layout", "layout-scale", "row-gutter"])
131
+ ], 4),
132
+ createVNode(unref(_sfc_main$1), {
133
+ class: "form-item-nest-form-list-row-remove",
134
+ size: "small",
135
+ text: "",
136
+ type: "danger",
137
+ "confirm-config": removeConfirmConfig.value,
138
+ disabled: rows.value.length <= __props.min,
139
+ onClick: () => removeRow(index)
140
+ }, {
141
+ default: withCtx(() => [
142
+ createTextVNode(toDisplayString(__props.removeText), 1)
143
+ ]),
144
+ _: 1
145
+ }, 8, ["confirm-config", "disabled", "onClick"])
146
+ ]);
147
+ }), 128)),
148
+ __props.footerRender ? (openBlock(), createBlock(resolveDynamicComponent(renderFooter), { key: 1 })) : (openBlock(), createBlock(unref(_sfc_main$1), {
149
+ key: 2,
107
150
  size: "small",
108
- text: "",
109
- type: "danger",
110
- "confirm-config": I.value,
111
- disabled: n.value.length <= o.min,
112
- onClick: () => L(K)
151
+ type: "primary",
152
+ disabled: !canAdd.value,
153
+ onClick: addRow
113
154
  }, {
114
- default: S(() => [
115
- b(s(o.removeText), 1)
155
+ default: withCtx(() => [
156
+ createTextVNode(toDisplayString(__props.addText) + "(" + toDisplayString(rows.value.length) + toDisplayString(__props.max === Infinity ? "" : "/" + __props.max) + ")", 1)
116
157
  ]),
117
158
  _: 1
118
- }, 8, ["confirm-config", "disabled", "onClick"])
119
- ]))), 128)),
120
- o.footerRender ? (l(), y(C(T), { key: 1 })) : (l(), y(v(F), {
121
- key: 2,
122
- size: "small",
123
- type: "primary",
124
- disabled: !d.value,
125
- onClick: w
126
- }, {
127
- default: S(() => [
128
- b(s(o.addText) + "(" + s(n.value.length) + s(o.max === 1 / 0 ? "" : "/" + o.max) + ")", 1)
129
- ]),
130
- _: 1
131
- }, 8, ["disabled"]))
132
- ], 4));
159
+ }, 8, ["disabled"]))
160
+ ], 4);
161
+ };
133
162
  }
134
163
  });
135
164
  export {
136
- ee as default
165
+ _sfc_main as default
137
166
  };
@@ -1,7 +1,7 @@
1
- import o from "./FormMain.vue2.mjs";
1
+ import _sfc_main from "./FormMain.vue2.mjs";
2
2
  /* empty css */
3
- import r from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const c = /* @__PURE__ */ r(o, [["__scopeId", "data-v-cc2ea388"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const FormMain = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cc2ea388"]]);
5
5
  export {
6
- c as default
6
+ FormMain as default
7
7
  };