@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,191 +1,279 @@
1
- import m from "lodash/cloneDeep";
2
- const l = ["xs", "sm", "md", "lg", "xl"], d = [6, 8, 12, 24], p = (t, n = d) => {
3
- const e = [...n].sort((o, i) => o - i), s = e[0], r = e[e.length - 1];
4
- return t <= s ? s : t >= r ? r : e.find((o) => o >= t) ?? r;
5
- }, O = (t) => {
6
- if (!t) return 24;
7
- if (typeof t.span == "number") return t.span;
8
- for (const n of ["lg", "md", "sm", "xl", "xs"]) {
9
- const e = t[n];
10
- if (typeof e == "number") return e;
1
+ import _cloneDeep from "lodash/cloneDeep";
2
+ const RESPONSIVE_LAYOUT_KEYS = ["xs", "sm", "md", "lg", "xl"];
3
+ const NEST_LAYOUT_TIERS = [6, 8, 12, 24];
4
+ const ceilToTier = (value, tiers = NEST_LAYOUT_TIERS) => {
5
+ const sorted = [...tiers].sort((a, b) => a - b);
6
+ const min = sorted[0];
7
+ const max = sorted[sorted.length - 1];
8
+ if (value <= min) return min;
9
+ if (value >= max) return max;
10
+ return sorted.find((t) => t >= value) ?? max;
11
+ };
12
+ const resolveLayoutSpan = (layout) => {
13
+ if (!layout) return 24;
14
+ if (typeof layout.span === "number") return layout.span;
15
+ for (const key of ["lg", "md", "sm", "xl", "xs"]) {
16
+ const v = layout[key];
17
+ if (typeof v === "number") return v;
11
18
  }
12
19
  return 24;
13
- }, T = (t, n = 1) => {
14
- if (!t) return {};
15
- const e = { ...t };
16
- return t.span !== void 0 && l.forEach((s) => {
17
- t[s] === void 0 && (e[s] = t.span);
18
- }), n === 1 || (typeof e.span == "number" && (e.span = p(e.span * n)), l.forEach((s) => {
19
- typeof e[s] == "number" && (e[s] = p(e[s] * n));
20
- })), e;
21
- }, D = () => {
22
- const t = /* @__PURE__ */ new Date(), n = new Date(
23
- t.getFullYear(),
24
- t.getMonth(),
25
- t.getDate()
26
- ), e = new Date(n.getTime() + 864e5 - 1), s = new Date(n.getTime() - 864e5), r = new Date(n.getTime() - 1), o = new Date(n.getTime() - 6 * 864e5);
20
+ };
21
+ const resolveFormLayout = (layout, scale = 1) => {
22
+ if (!layout) return {};
23
+ const resolved = { ...layout };
24
+ if (layout.span !== void 0) {
25
+ RESPONSIVE_LAYOUT_KEYS.forEach((key) => {
26
+ if (layout[key] === void 0) {
27
+ resolved[key] = layout.span;
28
+ }
29
+ });
30
+ }
31
+ if (scale === 1) return resolved;
32
+ if (typeof resolved.span === "number") {
33
+ resolved.span = ceilToTier(resolved.span * scale);
34
+ }
35
+ RESPONSIVE_LAYOUT_KEYS.forEach((key) => {
36
+ if (typeof resolved[key] === "number") {
37
+ resolved[key] = ceilToTier(resolved[key] * scale);
38
+ }
39
+ });
40
+ return resolved;
41
+ };
42
+ const getDatePickerShortcuts = () => {
43
+ const today = /* @__PURE__ */ new Date();
44
+ const startOfToday = new Date(
45
+ today.getFullYear(),
46
+ today.getMonth(),
47
+ today.getDate()
48
+ );
49
+ const endOfToday = new Date(startOfToday.getTime() + 864e5 - 1);
50
+ const startOfYesterday = new Date(startOfToday.getTime() - 864e5);
51
+ const endOfYesterday = new Date(startOfToday.getTime() - 1);
52
+ const startOfLast7Days = new Date(startOfToday.getTime() - 6 * 864e5);
27
53
  return [
28
54
  {
29
55
  text: "今日",
30
- value: () => [n, e]
56
+ value: () => [startOfToday, endOfToday]
31
57
  },
32
58
  {
33
59
  text: "昨日",
34
- value: () => [s, r]
60
+ value: () => [startOfYesterday, endOfYesterday]
35
61
  },
36
62
  {
37
63
  text: "近7日",
38
- value: () => [o, e]
64
+ value: () => [startOfLast7Days, endOfToday]
39
65
  }
40
66
  ];
41
- }, f = (t) => {
42
- const { ignore: n, key: e } = t;
43
- return n || e.startsWith("__") && e.toUpperCase() === e;
44
- }, y = (t) => typeof t == "function", E = (t) => t.reduce(
45
- (n, e) => (f(e) || (typeof e.init == "object" && console.error(
46
- `表单项${e.label}的初始值不能为对象 请设置为返回值的形式`
47
- ), n[e.key] = y(e.init) ? e.init() : e.init), n),
48
- {}
49
- ), I = (t, n) => {
50
- const e = m(t);
51
- return n.reduce(
52
- (s, r) => {
53
- if (f(r)) return s;
54
- if (r.parse) {
55
- const o = r.parse(
56
- t[r.key],
57
- s,
58
- e
67
+ };
68
+ const checkIsIgnore = (config) => {
69
+ const { ignore, key } = config;
70
+ return ignore || key.startsWith("__") && key.toUpperCase() === key;
71
+ };
72
+ const isFn = (init) => {
73
+ return typeof init === "function";
74
+ };
75
+ const generateFormData = (list) => {
76
+ return list.reduce(
77
+ (acc, cur) => {
78
+ if (checkIsIgnore(cur)) return acc;
79
+ if (typeof cur.init === "object") {
80
+ console.error(
81
+ `表单项${cur.label}的初始值不能为对象 请设置为返回值的形式`
59
82
  );
60
- o !== void 0 && (s[r.key] = o);
61
- } else
62
- s[r.key] = t[r.key];
63
- return s;
83
+ }
84
+ acc[cur.key] = isFn(cur.init) ? cur.init() : cur.init;
85
+ return acc;
64
86
  },
65
87
  {}
66
88
  );
67
- }, _ = (t, n) => {
68
- const e = m(t);
69
- return n.reduce(
70
- (s, r) => {
71
- if (f(r)) return s;
72
- if (r.stringify) {
73
- const o = r.stringify(
74
- t[r.key],
75
- s,
76
- e
89
+ };
90
+ const parseFormData = (data, list) => {
91
+ const originData = _cloneDeep(data);
92
+ return list.reduce(
93
+ (acc, cur) => {
94
+ if (checkIsIgnore(cur)) return acc;
95
+ if (cur.parse) {
96
+ const res = cur.parse(
97
+ data[cur.key],
98
+ acc,
99
+ originData
77
100
  );
78
- o !== void 0 && (s[r.key] = o);
79
- } else
80
- s[r.key] = t[r.key];
81
- return s;
101
+ if (res !== void 0) {
102
+ acc[cur.key] = res;
103
+ }
104
+ } else {
105
+ acc[cur.key] = data[cur.key];
106
+ }
107
+ return acc;
82
108
  },
83
109
  {}
84
110
  );
85
- }, h = ({
86
- modelValueKey: t = "modelValue",
87
- config: n,
88
- data: e,
89
- updateData: s = (r) => {
90
- e[n.key] = r;
111
+ };
112
+ const stringifyFormData = (data, list) => {
113
+ const originData = _cloneDeep(data);
114
+ return list.reduce(
115
+ (acc, cur) => {
116
+ if (checkIsIgnore(cur)) return acc;
117
+ if (cur.stringify) {
118
+ const res = cur.stringify(
119
+ data[cur.key],
120
+ acc,
121
+ originData
122
+ );
123
+ if (res !== void 0) {
124
+ acc[cur.key] = res;
125
+ }
126
+ } else {
127
+ acc[cur.key] = data[cur.key];
128
+ }
129
+ return acc;
130
+ },
131
+ {}
132
+ );
133
+ };
134
+ const getVModelSugar = ({
135
+ modelValueKey = "modelValue",
136
+ config,
137
+ data,
138
+ updateData = (val) => {
139
+ data[config.key] = val;
91
140
  }
92
- }) => ({
93
- [t]: e[n.key],
94
- [`onUpdate:${t}`]: (r) => {
95
- s(r);
141
+ }) => {
142
+ return {
143
+ [modelValueKey]: data[config.key],
144
+ [`onUpdate:${modelValueKey}`]: (val) => {
145
+ updateData(val);
146
+ }
147
+ };
148
+ };
149
+ const getPlaceholder = (config) => {
150
+ var _a, _b;
151
+ if ((_a = config.extra) == null ? void 0 : _a.isInput) {
152
+ return {
153
+ placeholder: `请输入${config.label}`
154
+ };
155
+ } else if ((_b = config.extra) == null ? void 0 : _b.isSelect) {
156
+ return {
157
+ placeholder: `请选择${config.label}`
158
+ };
159
+ } else {
160
+ return {};
96
161
  }
97
- }), k = (t) => {
98
- var n, e;
99
- return (n = t.extra) != null && n.isInput ? {
100
- placeholder: `请输入${t.label}`
101
- } : (e = t.extra) != null && e.isSelect ? {
102
- placeholder: `请选择${t.label}`
103
- } : {};
104
- }, C = (t, n) => {
105
- const { extra: e } = t;
106
- if (e != null && e.enterSubmit)
162
+ };
163
+ const getEnterSubmit = (config, handler) => {
164
+ const { extra } = config;
165
+ if (extra == null ? void 0 : extra.enterSubmit) {
107
166
  return {
108
- onKeyup: (s) => {
109
- var r, o;
110
- s.key === "Enter" && (n(), (o = (r = s.target) == null ? void 0 : r.blur) == null || o.call(r));
167
+ onKeyup: (e) => {
168
+ var _a, _b;
169
+ if (e.key === "Enter") {
170
+ handler();
171
+ (_b = (_a = e.target) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
172
+ }
111
173
  }
112
174
  };
113
- }, N = (t, n) => {
114
- const { extra: e } = t;
115
- if (e != null && e.isInput && ((e == null ? void 0 : e.blurSubmit) ?? !0))
175
+ }
176
+ };
177
+ const getBlurSubmit = (config, handler) => {
178
+ const { extra } = config;
179
+ if ((extra == null ? void 0 : extra.isInput) && ((extra == null ? void 0 : extra.blurSubmit) ?? true)) {
116
180
  return {
117
- onBlur: n
181
+ onBlur: handler
118
182
  };
119
- }, w = (t, n) => {
120
- const { extra: e } = t;
121
- if (e != null && e.isSelect && ((e == null ? void 0 : e.changeSubmit) ?? !0))
183
+ }
184
+ };
185
+ const getChangeSubmit = (config, handler) => {
186
+ const { extra } = config;
187
+ if ((extra == null ? void 0 : extra.isSelect) && ((extra == null ? void 0 : extra.changeSubmit) ?? true)) {
122
188
  return {
123
- onChange: n
189
+ onChange: handler
124
190
  };
125
- }, F = Symbol("FORM_ITEM_CHANGE_LOADING"), S = (t) => t.required === !0, a = [], g = [], v = (t) => {
126
- a.push(...t);
127
- }, L = (t) => {
128
- g.push(...t);
129
- }, M = (t) => {
130
- const { label: n, type: e, ...s } = t;
131
- let r;
132
- if (e)
133
- r = e;
134
- else {
135
- const { render: u } = t;
136
- u && (a.includes(u) ? r = "input" : g.includes(u) && (r = "select"));
137
191
  }
138
- let o;
139
- r === "input" && (o = {
140
- ...s.extra || {},
141
- isInput: !0
142
- }), r === "select" && (o = {
143
- ...s.extra || {},
144
- isSelect: !0
145
- });
146
- let i;
147
- if (S(t)) {
148
- i = [
192
+ };
193
+ const FORM_ITEM_CHANGE_LOADING = Symbol("FORM_ITEM_CHANGE_LOADING");
194
+ const isFormItemConfigSwiftOptionsRequired = (options) => {
195
+ return options.required === true;
196
+ };
197
+ const INPUT_COMPONENT = [];
198
+ const SELECT_COMPONENT = [];
199
+ const setInputComponent = (components) => {
200
+ INPUT_COMPONENT.push(...components);
201
+ };
202
+ const setSelectComponent = (components) => {
203
+ SELECT_COMPONENT.push(...components);
204
+ };
205
+ const swiftFormItemConfig = (options) => {
206
+ const { label, type: typeInit, ...restOptions } = options;
207
+ let type;
208
+ if (!typeInit) {
209
+ const { render } = options;
210
+ if (render) {
211
+ if (INPUT_COMPONENT.includes(render)) {
212
+ type = "input";
213
+ } else if (SELECT_COMPONENT.includes(render)) {
214
+ type = "select";
215
+ }
216
+ }
217
+ } else {
218
+ type = typeInit;
219
+ }
220
+ let extra;
221
+ if (type === "input") {
222
+ extra = {
223
+ ...restOptions.extra || {},
224
+ isInput: true
225
+ };
226
+ }
227
+ if (type === "select") {
228
+ extra = {
229
+ ...restOptions.extra || {},
230
+ isSelect: true
231
+ };
232
+ }
233
+ let rules;
234
+ if (isFormItemConfigSwiftOptionsRequired(options)) {
235
+ rules = [
149
236
  {
150
- required: !0,
237
+ required: true,
151
238
  message: `请${{
152
239
  input: "输入",
153
240
  select: "选择",
154
241
  unknown: "填写"
155
- }[r ?? "unknown"]}${n}`,
242
+ }[type ?? "unknown"]}${label}`,
156
243
  trigger: "blur"
157
244
  }
158
245
  ];
159
- const { required: u, ...c } = s;
246
+ const { required: _, ...restRequiredOptions } = restOptions;
160
247
  return {
161
- label: n,
162
- extra: o,
163
- rules: i,
164
- ...c
248
+ label,
249
+ extra,
250
+ rules,
251
+ ...restRequiredOptions
165
252
  };
166
- } else
253
+ } else {
167
254
  return {
168
- label: n,
169
- extra: o,
170
- ...s
255
+ label,
256
+ extra,
257
+ ...restOptions
171
258
  };
259
+ }
172
260
  };
173
261
  export {
174
- F as FORM_ITEM_CHANGE_LOADING,
175
- d as NEST_LAYOUT_TIERS,
176
- p as ceilToTier,
177
- E as generateFormData,
178
- N as getBlurSubmit,
179
- w as getChangeSubmit,
180
- D as getDatePickerShortcuts,
181
- C as getEnterSubmit,
182
- k as getPlaceholder,
183
- h as getVModelSugar,
184
- I as parseFormData,
185
- T as resolveFormLayout,
186
- O as resolveLayoutSpan,
187
- v as setInputComponent,
188
- L as setSelectComponent,
189
- _ as stringifyFormData,
190
- M as swiftFormItemConfig
262
+ FORM_ITEM_CHANGE_LOADING,
263
+ NEST_LAYOUT_TIERS,
264
+ ceilToTier,
265
+ generateFormData,
266
+ getBlurSubmit,
267
+ getChangeSubmit,
268
+ getDatePickerShortcuts,
269
+ getEnterSubmit,
270
+ getPlaceholder,
271
+ getVModelSugar,
272
+ parseFormData,
273
+ resolveFormLayout,
274
+ resolveLayoutSpan,
275
+ setInputComponent,
276
+ setSelectComponent,
277
+ stringifyFormData,
278
+ swiftFormItemConfig
191
279
  };
@@ -1,7 +1,7 @@
1
- import o from "./ListPage.vue2.mjs";
1
+ import _sfc_main from "./ListPage.vue2.mjs";
2
2
  /* empty css */
3
- import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-1ae6f01e"]]);
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const ListPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1ae6f01e"]]);
5
5
  export {
6
- f as default
6
+ ListPage as default
7
7
  };