@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,8 @@
1
1
  import { RouteMetaResolveRaw } from '../../types';
2
2
  type __VLS_Props = {
3
+ /** 整体不用管 AppLayout 控制 用在定位出去的子元素的显隐 */
3
4
  show: boolean;
5
+ /** 层级是否高于 header(#7.5 期;true 时 z-index 提升盖住 header) */
4
6
  aboveHeader?: boolean;
5
7
  menus: RouteMetaResolveRaw[];
6
8
  menuFlatList: RouteMetaResolveRaw[];
@@ -1,31 +1,79 @@
1
1
  import { CSSProperties } from 'vue';
2
+ /** AppPage 四向悬浮插槽:内容矩形(app-body-shim 外框)四边 viewport inset(calc 字符串) */
2
3
  export interface AppPageRectInset {
3
4
  top: string;
4
5
  left: string;
5
6
  right: string;
6
7
  bottom: string;
7
8
  }
9
+ /** AppPage 四区 fixed 样式集 */
8
10
  export interface AppPageSlotStyles {
9
11
  top: CSSProperties;
10
12
  bottom: CSSProperties;
11
13
  left: CSSProperties;
12
14
  right: CSSProperties;
13
15
  }
16
+ /** AppPage 固定 chrome 四边内衬(px,窗口坐标)——`APP_PAGE_CONTENT_INSET` 的值形状 */
14
17
  export interface AppPageContentInset {
15
18
  top: number;
16
19
  bottom: number;
17
20
  left: number;
18
21
  right: number;
19
22
  }
23
+ /** AppPage 四区量得尺寸(含 shim 边距;未渲染为 0),用于扣槽 / 让位 / inset 合成 */
20
24
  export interface AppPageSlotSizes {
21
25
  topH: number;
22
26
  bottomH: number;
23
27
  leftW: number;
24
28
  rightW: number;
25
29
  }
30
+ /**
31
+ * 扣掉 top/bottom 槽后的内容视口可用高(纯函数,钳非负)。
32
+ *
33
+ * `useChannelViewportHeight` 消费方(ListPage / TableMain / TabsRefineFlow / TabsTile refine)兜底都取
34
+ * `BODY_CONTENT_VIEWPORT_HEIGHT`,而 AppBody 给的高不含 AppPage 四槽 → 有 top/bottom 槽时会多算、内容压槽。
35
+ * AppPage(四槽 owner)据此扣槽后**同键重 provide**,四家一次修好。左右槽只减宽、不影响高,故只扣 top/bottom;
36
+ * 扣减量与 shim padding 同式(见 {@link appPageSlotInset})以与内容内缩一致。
37
+ */
26
38
  export declare function computeAppPageReducedViewportHeight(bodyViewportHeight: number, slotSizes: AppPageSlotSizes, shimPadding: number): number;
39
+ /**
40
+ * 扣掉 left/right 槽后的内容视口可用宽(纯函数,钳非负)——「撑满且不出横向滚动条」的最大宽。
41
+ *
42
+ * `pageBoxWidth` 取 AppPage 自身盒宽(流内块级元素,宽度天然 = body 内容区宽、**已排除纵向滚动条**——
43
+ * [MUST NOT] 用 `calc(100vw − …)` 推:100vw 含滚动条宽,有纵向滚动条时按其撑满会横向溢出)。
44
+ * 扣减量与 {@link computeAppPageReducedViewportHeight} 同式({@link appPageSlotInset},与 shim padding 回写一致)。
45
+ */
27
46
  export declare function computeAppPageReducedViewportWidth(pageBoxWidth: number, slotSizes: AppPageSlotSizes, shimPadding: number): number;
47
+ /**
48
+ * 合成「固定 chrome 四边内衬」(px, 窗口坐标,纯函数)= app 级 chrome inset + 对应悬浮槽(含 gap,仅槽存在时计)。
49
+ * 供 tile 等自然流 window 滚动定位不被固定 chrome 遮(`APP_PAGE_CONTENT_INSET`)。
50
+ *
51
+ * @param appInset app 级 chrome 四边 inset px(AppBody 的 `BODY_CONTENT_VIEWPORT_INSET`,store 纯数值算好)。
52
+ */
28
53
  export declare function computeAppPageContentInset(appInset: AppPageContentInset, slotSizes: AppPageSlotSizes, gap: number): AppPageContentInset;
54
+ /** 四区 z-index(内容之上、远低于 el 弹窗 2000、不抢 app chrome 0/1/2;设计 §2.2 / REQ-08) */
29
55
  export declare const APP_PAGE_SLOT_Z_INDEX = 1;
56
+ /**
57
+ * AppPage 四向悬浮插槽 fixed 几何(纯函数,design §2.2)。
58
+ *
59
+ * 四区贴「内容矩形」(app-body-shim 外框)四边:
60
+ * - top/bottom:给 `left`+`right` inset 通栏吃左右角;分别贴 `top` / `bottom` inset。
61
+ * - left/right:夹中缝,竖向用 `top`+`bottom` inset 定跨度——`top = rect.top + topH`
62
+ * (让过 top 区)、`bottom = rect.bottom + bottomH`(让过 bottom 区);top/bottom 区
63
+ * 未渲染时对应 H=0 即自动贴满。
64
+ * 全 viewport 坐标、scroll 不变;调用方传响应式快照即随 chrome 跟。
65
+ *
66
+ * @param topH/bottomH top/bottom 区量得高(含其 shim 边距;未渲染为 0),用于 left/right 让位。
67
+ */
30
68
  export declare function computeAppPageSlotStyles(rect: AppPageRectInset, topH: number, bottomH: number): AppPageSlotStyles;
69
+ /**
70
+ * AppPage 四区内层 shim 的四边 padding(纯函数)。
71
+ *
72
+ * 朝 chrome 的外侧边留 `sp`(= app-body-shim 内边距,复刻原呼吸)、朝内容的内侧边留
73
+ * `gap`(AppPage 级控距);left/right 的上下边为 0(竖向间隔由 top/bottom 区的 `gap` 边管)。
74
+ * `padding` 简写按 上/右/下/左。
75
+ *
76
+ * @param sp app-body-shim 内边距(朝 chrome 侧呼吸)
77
+ * @param gap AppPage gap(朝内容侧间隔)
78
+ */
31
79
  export declare function computeAppPageSlotShimStyles(sp: number, gap: number): AppPageSlotStyles;
@@ -1,14 +1,31 @@
1
+ /**
2
+ * AppBody depth-0 KeepAlive 缓存判据(内部工具,不入公共 barrel)。
3
+ * 只缓存 AppBody 实际渲染的「真叶子」(matched 链最深的 component-bearing 记录)且其 keepAlive 开;
4
+ * 渲染的是壳(更深处还有 component)则不缓存——根治嵌套组壳被 KeepAlive 误缓存的泄漏。
5
+ * 详见 spec 2026-07-16 组壳泄漏根治。
6
+ */
1
7
  interface KeepAliveMatchedLike {
2
8
  path: string;
3
9
  components?: Record<string, unknown> | null;
4
10
  }
5
11
  interface KeepAliveRouteLike {
12
+ /** resolved 完整路径(含 params,如 /detail/123) */
6
13
  path: string;
14
+ /** vue-router 合并后的 meta(叶子覆盖父)——keepAlive 判定沿用其合并语义 */
7
15
  meta?: {
8
16
  keepAlive?: boolean;
9
17
  };
10
18
  matched?: KeepAliveMatchedLike[];
11
19
  }
20
+ /**
21
+ * 可进 KeepAlive = 渲染真叶子 且 keepAlive 开(读合并 meta,保留 vue-router「父默认、叶子覆盖」语义)。
22
+ * 壳(渲染的不是叶子)一律不缓存 —— 根治嵌套组壳泄漏。
23
+ */
12
24
  export declare const isKeepAliveRoute: (route: KeepAliveRouteLike) => boolean;
25
+ /**
26
+ * 缓存 / 渲染 key:
27
+ * - 渲染叶子 → resolved `route.path`(按 params 隔离,如 /detail/123 ≠ /detail/456,沿用旧行为);
28
+ * - 渲染壳 → 壳 record path(跨子路由稳定单实例,内嵌 RouterView 自行切子)。
29
+ */
13
30
  export declare const keepAliveRouteKey: (route: KeepAliveRouteLike) => string;
14
31
  export {};
@@ -2,31 +2,156 @@ import { Component, VNode } from 'vue';
2
2
  import { createAppStore, createUserStore } from '../../store';
3
3
  import { CoreBridge } from '../../bridge';
4
4
  import { RouteMetaResolveRaw } from '../../types';
5
+ /**
6
+ * AppLayout 族 app store 消费契约(props/inject 切面)。
7
+ *
8
+ * 调用方通过 props 注入 store 实例,AppLayout 集中 provide,子组件
9
+ * (AppBody / AppHeader / AppSidebar / AppFooter)经 `APP_LAYOUT_APP_STORE_KEY`
10
+ * inject 自取——废除原 AppLayout → 子组件 `:style` / `:showBreadcrumb` props 透传链。
11
+ *
12
+ * 类型由 `createAppStore` 工厂 ReturnType 推导(store 实例完整类型),自动跟随
13
+ * 工厂演化、零手维护字段清单——放弃 narrow 换取 0 维护成本。`UserInfo` /
14
+ * `LoginParams` 泛型未显式实例化时走工厂 default `Record<string, any>` /
15
+ * `unknown`(D-a 原则——core 不锁 UserInfo 具体 shape)。
16
+ *
17
+ * app-layout 族下沉 core 后此 slice 仍是 props/inject 契约——core 端无法直接
18
+ * `useAppStore()`,必须由业务侧通过 props 注入。
19
+ */
5
20
  export type AppLayoutAppStoreSlice<UserInfo = Record<string, any>> = ReturnType<ReturnType<typeof createAppStore<UserInfo>>>;
21
+ /**
22
+ * AppLayout 族 user store 消费契约(props/inject 切面)。
23
+ *
24
+ * 调用方通过 props 注入,AppLayout 集中 provide,子组件(AppHeader)经
25
+ * `APP_LAYOUT_USER_STORE_KEY` inject 自取。
26
+ *
27
+ * 类型由 `createUserStore` 工厂 ReturnType 推导。`UserInfo` 走工厂 default
28
+ * `Record<string, any>`(D-a 原则——core 不锁 UserInfo 具体 shape),业务侧
29
+ * (如 AppLayout watermark content / AppHeader user dropdown)按需 cast 为本应用
30
+ * 具体 shape。
31
+ */
6
32
  export type AppLayoutUserStoreSlice<UserInfo = Record<string, any>> = ReturnType<ReturnType<typeof createUserStore<UserInfo>>>;
33
+ /**
34
+ * AppLayout 族 bridge 消费契约(props/inject 切面,#7.6 期挂载)。
35
+ *
36
+ * AppLayout 通过 `props.bridge` 注入 + `provide(APP_LAYOUT_BRIDGE_KEY, ...)`,
37
+ * 子组件(AppBody / AppHeader / AppSidebar / AppLayout 自身菜单派生)inject 自取——
38
+ * 与 `AppLayoutAppStoreSlice` / `AppLayoutUserStoreSlice` 完全对称范式。
39
+ *
40
+ * 仅暴露 layout 子组件实际读取的字段:12 readonly 配置属性 + 2 派生方法
41
+ * (getRoutes / generateRouteMetaRawTree)。loginApi / refreshToken 等 auth
42
+ * 面不通过本 slice 暴露(业务侧通过 appBridge 直读)。
43
+ */
7
44
  export type AppLayoutBridgeSlice = Pick<CoreBridge, "APP_BASE_INFO" | "APP_ENV_INFO" | "APP_CACHE_CONFIG" | "APP_LAYOUT_HEADER_CONFIG" | "APP_LAYOUT_FOOTER_CONFIG" | "APP_LAYOUT_SIDEBAR_CONFIG" | "APP_LAYOUT_ASIDE_CONFIG" | "APP_LAYOUT_BREADCRUMB_CONFIG" | "APP_LAYOUT_BODY_CONFIG" | "APP_LAYOUT_VIEWPORT_CONFIG" | "APP_LAYOUT_GAP_CONFIG" | "APP_LAYOUT_CONFIG" | "APP_ROUTER_META_DEFAULT_CONFIG" | "APP_ROUTER_CONFIG" | "APP_ROUTER_PATHS_CONFIG" | "APP_THEME_CONFIG" | "theme" | "themeStyle" | "themeMode" | "themeIsDark" | "themeLayout" | "themeDensity" | "themeMotion" | "themeColors" | "showThemeStyleSwitcher" | "getRoutes" | "generateRouteMetaRawTree">;
45
+ /**
46
+ * 内容锚 slot 名集(焊缝契约 ③,纯功能语义;P1' 去布局化重做)。
47
+ *
48
+ * 业务 slot 为**内容锚**(描述「是什么功能」非「放哪」)——同一份业务原料,落位权归
49
+ * AppShell:不同 AppShell 把同一内容锚渲染到不同区域 = 不同布局人格。AppLayout 用
50
+ * `v-for` 整组动态透传给 AppShell([MUST NOT] 在 AppLayout 写死任一内容锚落位)。
51
+ *
52
+ * - `brand`:品牌 / logo / 应用名入口
53
+ * - `userEntry`:用户下拉 / 登录按钮 / 用户态入口
54
+ * - `settings`:设置 / 配置入口
55
+ * - `themeSwitcher`:主题(风格 + 亮暗)切换器(scope 传内置 AppTheme 默认内容)
56
+ * - `aside`(P4 加):右侧补充区内容中转锚 → 喂进 `AppAside` 默认 slot。
57
+ * **与 sidebar 同构:全局单实例 + 应用层切入**——App.vue 填一次 `#aside`(同
58
+ * `#brand` / `#userEntry` 范式),`showAside=true`(路由 `meta.layout.aside` 派生)
59
+ * 的页面都显示这同一份;宽度 / 位置 / 容器归主题(`preset.layout.aside.width` +
60
+ * AppAside 积木)。per-page 内容随页变化 = **业务页面开发自决**(如自往 `#aside` 塞
61
+ * `<RouterView name="aside" />`),**不属本布局体系范围**,core 不建 per-route 投递机制。
62
+ *
63
+ * 去 `nav*` 位置锚:菜单走数据流(`menuFlatList`),渲染成何种导航由 AppShell 自由
64
+ * (复用导出积木 `MenuTree` / `AppSidebar` 或自 DIY)。
65
+ * 内置默认 AppShell 的落位映射(1:1 镜像经典布局)见 `AppShell.vue` 注释。
66
+ */
8
67
  export type AppShellContentAnchor = "brand" | "userEntry" | "settings" | "themeSwitcher" | "aside";
68
+ /**
69
+ * AppShell 扁平注入面 props(焊缝契约 ①-props)。
70
+ *
71
+ * 原分喂 AppHeader / AppSidebar 的 props **扁平合并为一份**,三处零件由 AppShell
72
+ * 内部自行分发。样式 / themeColors / 折叠态 / changeSidebarCollapseStatus 走
73
+ * **inject**(`APP_LAYOUT_APP_STORE_KEY` / `APP_LAYOUT_BRIDGE_KEY`,AppLayout 已 provide),
74
+ * 不进 props——AppShell setup 内自取(同内置 AppHeader/AppSidebar 既有范式)。
75
+ */
9
76
  export interface AppShellProps {
77
+ /** 完整菜单树(经权限 / menuShow 过滤、排序) */
10
78
  menus: RouteMetaResolveRaw[];
79
+ /** 扁平菜单列表(喂 AppBody / 子零件高度链 + 路由匹配) */
11
80
  menuFlatList: RouteMetaResolveRaw[];
81
+ /** sidebar 区菜单(分流后) */
12
82
  sidebarMenus: RouteMetaResolveRaw[];
83
+ /** header 区菜单(分流后;extractLevel1ToHeader=true 时为 1 级模块) */
13
84
  headerMenus: RouteMetaResolveRaw[];
85
+ /** 当前聚焦菜单 */
14
86
  activeMenu?: RouteMetaResolveRaw;
87
+ /** 当前聚焦模块菜单(header 模块高亮) */
15
88
  activeModuleMenu?: RouteMetaResolveRaw;
89
+ /**
90
+ * 是否展示 header(路由 meta.layout 基线意图)。AppShell 自解读:决定喂给哪个区域的
91
+ * `show`(内置默认 shell 喂 AppHeader)。
92
+ */
16
93
  showHeader: boolean;
94
+ /**
95
+ * 是否展示 sidebar(路由 meta.layout 基线意图)。语义同 `showHeader`——
96
+ * 内置默认 shell 喂 AppSidebar 的 `show`。
97
+ */
17
98
  showSidebar: boolean;
99
+ /**
100
+ * 是否展示右侧 aside 补充区(路由 meta.layout 基线意图,additive,默认 false)。
101
+ * 内置经典 shell 不渲染 aside(经典无右栏);自定义 shell 据此渲染右侧区。
102
+ */
18
103
  showAside: boolean;
104
+ /**
105
+ * sidebar 层级是否高于 header(透传内置 AppSidebar.aboveHeader)。
106
+ * 默认 false;自定义 shell 可忽略。
107
+ */
19
108
  sidebarAboveHeader: boolean;
20
109
  }
110
+ /**
111
+ * AppShell emits(焊缝契约 ①-emits)。
112
+ *
113
+ * 当前空——作为统一预留通道。后续 AppShell 需向 AppLayout 反向通知(如布局态变更)
114
+ * 时在此扩展,[MUST NOT] 自造平行回调 props。
115
+ */
21
116
  export interface AppShellEmits {
22
117
  }
118
+ /**
119
+ * AppShell 默认 scoped slot 作用域参数(焊缝契约 ①-slots,default slot)。
120
+ *
121
+ * AppShell 在「主体该出现的位置」吐出本作用域 → AppLayout 接住后:
122
+ * 用 `Footer` 组件引用组装进 `AppBody #footer`,并把 AppBody(持有 menuFlatList、
123
+ * 守高度链)塞回该默认 slot 位置。这绕过「父传子 slot 是父作用域 vnode、子无法
124
+ * 反向注入子 slot」的 Vue 约束(footer 走「AppShell 吐组件引用 → AppLayout 组装」)。
125
+ */
23
126
  export interface AppShellDefaultSlotScope {
127
+ /**
128
+ * AppShell 选定的 footer 组件引用(默认 = `componentFallBack.AppFooter`;
129
+ * 自定义 shell 可吐自定义 footer)。AppLayout 用 `<component :is="Footer" />`
130
+ * 渲染进 `AppBody #footer`。
131
+ */
24
132
  Footer: Component;
25
133
  }
134
+ /**
135
+ * 功能锚 scoped slot 作用域参数(焊缝契约 ①-slots,内容锚 scope)。
136
+ *
137
+ * AppShell 经各功能锚 slot 的 scope 传「内置默认内容组件引用」给布局,布局可用可无视:
138
+ * - `themeSwitcher` 锚 `Default` = 内置 `AppTheme`(保证主题切换功能以某形式可达;布局
139
+ * 无视默认内容时须自供等效切换 UI,否则违约——见声明驱动测试纪律)。
140
+ * - `brand` / `userEntry` / `settings` / `aside` 锚 `Default` = `undefined`(不预设未遇到的需求,随时可扩)。
141
+ */
26
142
  export interface AppShellAnchorScope {
143
+ /** 该功能锚的内置默认内容组件引用(仅 themeSwitcher 提供,markRaw);其余 undefined */
27
144
  Default?: Component;
28
145
  }
146
+ /**
147
+ * AppShell slots 契约(焊缝契约 ①-slots 全集)。
148
+ *
149
+ * - `default`:作用域 = {@link AppShellDefaultSlotScope},AppLayout 在此塞 AppBody(持高度链)。
150
+ * - 各内容锚({@link AppShellContentAnchor}):scoped slot(scope = {@link AppShellAnchorScope}),
151
+ * AppLayout `v-for` 整组转发业务侧填的同名 slot;AppShell 自行决定每个内容锚落到哪个区域。
152
+ */
29
153
  export type AppShellSlots = {
154
+ /** 默认 slot:AppLayout 在此塞 AppBody(scoped,拿 Footer 组件引用组装 #footer) */
30
155
  default: (scope: AppShellDefaultSlotScope) => VNode[];
31
156
  } & {
32
157
  [K in AppShellContentAnchor]?: (scope: AppShellAnchorScope) => VNode[];
@@ -1,2 +1,30 @@
1
+ /**
2
+ * viewport 镂空 SVG 装饰边框基础设施常量(焊缝契约 ⑤,P1 冻结)。
3
+ *
4
+ * 把 viewport 那圈留白(`APP_LAYOUT_VIEWPORT_CONFIG` 四边 padding 让出的边距)
5
+ * 从消极留白变积极画布:AppShell 可 teleport 一个铺满视口的大 SVG 到 body、
6
+ * 镂空出内容区,在边框圈里画渐变 / 动画 / 填充色。
7
+ *
8
+ * - **叠加非替代**:现有 `useCoreViewportApply` 的 padding 留白机制保留;SVG 只在
9
+ * 让出的那圈里画装饰。镂空矩形尺寸 = AppShell 经 inject 读 `APP_LAYOUT_VIEWPORT_CONFIG`
10
+ * 四边算(响应式)。
11
+ * - **teleport + pointer-events:none**:teleport 到 body(避开层叠上下文 / overflow
12
+ * 裁切),`pointer-events: none` 绝不挡交互。
13
+ *
14
+ * z-index 双档(core 导出常量,AppShell / 主题资产按需选档):
15
+ * 业务自造 z-index 字面量会与 el 弹窗(2000 起动态自增)打架——故 core 冻结两档安全值。
16
+ */
17
+ /**
18
+ * viewport 装饰 z-index——**弹窗下档**(默认,绝对安全)。
19
+ *
20
+ * `800 < 2000`(el 弹窗 base z-index)→ 装饰永远在弹窗下,绝不盖住 dialog / message。
21
+ * 大多数边框装饰用此档(装饰是背景氛围,不该盖业务弹窗)。
22
+ */
1
23
  export declare const CORE_VIEWPORT_DECOR_ZINDEX_BELOW = 800;
24
+ /**
25
+ * viewport 装饰 z-index——**弹窗上档**(盖住弹窗,慎用)。
26
+ *
27
+ * el z-index 自 2000 动态自增(每开一层 +N),`10000` 实践绝对安全盖住弹窗档。
28
+ * 仅当装饰需覆盖弹窗(如全屏切换动画遮罩 / 边框需压住一切)时用此档。
29
+ */
2
30
  export declare const CORE_VIEWPORT_DECOR_ZINDEX_ABOVE = 10000;
@@ -1,4 +1,12 @@
1
+ /**
2
+ * DataListView 单项容器
3
+ * ---
4
+ * 仅承载选中态 class 钩子 + 项内容插槽,由 DataListView 内部 v-for 使用。
5
+ * [MUST NOT] 写死视觉样式(卡片阴影/圆角等归消费方);
6
+ * [MUST NOT] 内置选中状态机(状态机在 DataListView)。
7
+ */
1
8
  type __VLS_Props = {
9
+ /** 当前项是否选中(由 DataListView 传入) */
2
10
  selected: boolean;
3
11
  };
4
12
  declare function __VLS_template(): {
@@ -1,4 +1,8 @@
1
1
  import { default as DataListView } from './DataListView.vue';
2
2
  import { default as DataListViewItem } from './DataListViewItem.vue';
3
3
  export * from './types';
4
+ /**
5
+ * data-view 是 table 的内部衍生品:仅供 TableMain 内部 import,
6
+ * [MUST NOT] 对外导出 / 全局注册 / 提供 install 插件(不进 core 顶层 export)。
7
+ */
4
8
  export { DataListView, DataListViewItem };
@@ -1,24 +1,66 @@
1
1
  import { Component } from 'vue';
2
2
  import { ElTableColumnProps, TableColumnDefaultScope, TableInstance } from '../table';
3
+ /**
4
+ * DataListView 字段渲染作用域
5
+ * ---
6
+ * 喂给 FieldColumn.render 的作用域;布局无关,仅含行数据与索引。
7
+ */
3
8
  export interface DataListViewRenderScope<T extends Record<string, any> = Record<string, any>> {
9
+ /** 当前行数据 */
4
10
  row: T;
11
+ /** 当前行索引 */
5
12
  index: number;
6
13
  }
14
+ /**
15
+ * DataListView 列配置(table 的内部衍生品:从 ElTableColumnProps Pick 复用子集,
16
+ * ElTableColumnProps 零触碰;本类型不对外导出,仅 table 内部消费)
17
+ */
7
18
  export type DataViewColumn<T extends Record<string, any> = Record<string, any>> = Partial<Pick<ElTableColumnProps<T, any>, "prop" | "label" | "type" | "render">>;
19
+ /**
20
+ * DataListView props
21
+ * ---
22
+ * 布局无关的数据项容器:分页数据由外部传入,一行几个由消费方在 #item
23
+ * 外层用 CSS 决定,本组件不内置任何列数 / 布局。
24
+ */
8
25
  export interface DataListViewProps<T extends Record<string, any>, F extends Record<string, any>> {
26
+ /** 当前页数据(外部传入,组件不持有请求 / 分页逻辑) */
9
27
  data: T[];
28
+ /** 行唯一键:行数据键名 或 取键函数(内部统一 String 化) */
10
29
  rowKey: Extract<keyof T, string> | ((row: T) => string);
30
+ /** 列配置,内部归一为 fieldComponentMap 喂 #item */
11
31
  columns: DataViewColumn<T>[];
32
+ /** 最大高度;传入时容器超出内容出现垂直滚动条,缺省不限高 */
12
33
  maxHeight?: number;
34
+ /** 最小高度;传入时容器撑满至此高(配合 TableMain fillHeight 顶分页器到底),缺省不设 */
13
35
  minHeight?: number;
36
+ /** 是否启用选中能力,缺省关闭 */
14
37
  selectable?: boolean;
38
+ /** 获取column 列 上下文 render参数 */
15
39
  getRenderCtxParams: () => Pick<TableColumnDefaultScope<T, F>, "injectInfo" | "exposeInfo">;
16
40
  }
41
+ /**
42
+ * DataListView 对外实例方法 对齐 elTableInstance
43
+ * -----
44
+ * 未实现的会抛错
45
+ */
17
46
  export type DataListViewInstance = TableInstance;
47
+ /**
48
+ * #item 作用域插槽 props
49
+ * ---
50
+ * fieldComponentMap:列 key(prop / $type_index / $type_selection)→ 稳定字段组件
51
+ * (标识跨渲染稳定,对齐 FormItem 范式)。消费方:
52
+ * `<component :is="fieldComponentMap['x']" :row="row" :index="index"
53
+ * :selected="selected" :toggle-select="toggleSelect" />`(数据走 props)。
54
+ */
18
55
  export interface DataListViewItemScope<T extends Record<string, any> = Record<string, any>> {
56
+ /** 列 key → 稳定字段组件(props: row/index/selected/toggleSelect) */
19
57
  fieldComponentMap: Record<string, Component>;
58
+ /** 当前行数据 */
20
59
  row: T;
60
+ /** 当前行索引 */
21
61
  index: number;
62
+ /** 当前行是否选中 */
22
63
  selected: boolean;
64
+ /** 翻转当前行选中态 */
23
65
  toggleSelect: () => void;
24
66
  }
@@ -1,2 +1,5 @@
1
1
  import { DataListViewInstance } from './types';
2
+ /**
3
+ * 创建 DataListView 实例
4
+ */
2
5
  export declare const createDataListViewInstance: (mainMethods: Pick<DataListViewInstance, "clearSelection" | "getSelectionRows" | "toggleRowSelection" | "toggleAllSelection" | "columns">) => DataListViewInstance;
@@ -1,7 +1,9 @@
1
1
  import { TabsHeaderVariant, TabsMainItem } from './types';
2
2
  type __VLS_Props = {
3
3
  tabs: TabsMainItem[];
4
+ /** 视觉嵌套层级,只控字号(1=16 / 2=14 / 3=12 / 4+=12,超 4 钳到 4) */
4
5
  level?: number;
6
+ /** 视觉风格变体;不传按 level 推导默认 */
5
7
  variant?: TabsHeaderVariant;
6
8
  };
7
9
  type __VLS_PublicProps = {
@@ -1,11 +1,13 @@
1
1
  import { VNode } from 'vue';
2
2
  import { TabsMainItem, TabsMainProps } from './types';
3
3
  type __VLS_Props = TabsMainProps;
4
+ /** 内容插槽 #{key} 的 scope(TabPane 渲染时注入;key = tab.key) */
4
5
  interface TabsMainContentScope {
5
6
  tab?: TabsMainItem;
6
7
  active: boolean;
7
8
  viewportHeight?: number;
8
9
  }
10
+ /** 标题插槽 #header-{key} 的 scope(中转 TabsHeader 的 #{key}) */
9
11
  interface TabsMainHeaderScope {
10
12
  tab: TabsMainItem;
11
13
  active: boolean;
@@ -5,6 +5,7 @@ interface TabsRefineFlowProps {
5
5
  channel?: string;
6
6
  parentChannel?: string;
7
7
  padding?: TabsMainPadding;
8
+ /** 精细化预留高度(px),从 viewportHeightFinal 中预扣(在 padding 扣减与 HeightProvider header reserve 扣减之外) */
8
9
  refineReduceHeight?: number;
9
10
  }
10
11
  declare function __VLS_template(): {