@done-coding/admin-core 0.12.1 → 0.12.2-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 (128) hide show
  1. package/README.md +1 -48
  2. package/es/bridge/index.mjs +75 -72
  3. package/es/bridge/layout.mjs +51 -0
  4. package/es/bridge/theme/index.mjs +1 -1
  5. package/es/bridge/theme/persist.mjs +1 -1
  6. package/es/components/app-layout/AppAside.vue.mjs +2 -2
  7. package/es/components/app-layout/AppAside.vue2.mjs +27 -10
  8. package/es/components/app-layout/AppCollapseToggle.vue.mjs +7 -0
  9. package/es/components/app-layout/AppCollapseToggle.vue2.mjs +54 -0
  10. package/es/components/app-layout/AppFooter.vue.mjs +1 -1
  11. package/es/components/app-layout/AppHeader.vue.mjs +3 -3
  12. package/es/components/app-layout/AppHeader.vue2.mjs +1 -1
  13. package/es/components/app-layout/AppLayout.vue.mjs +2 -2
  14. package/es/components/app-layout/AppLayout.vue2.mjs +3 -3
  15. package/es/components/app-layout/AppSidebar.vue.mjs +2 -2
  16. package/es/components/app-layout/AppSidebar.vue2.mjs +41 -61
  17. package/es/components/app-layout/AppTheme.vue.mjs +3 -3
  18. package/es/components/app-layout/viewport.mjs +3 -3
  19. package/es/components/display/TabsHeader.vue.mjs +4 -4
  20. package/es/components/form/FormItemNestForm.vue.mjs +2 -2
  21. package/es/components/form/FormItemNestFormList.vue.mjs +2 -2
  22. package/es/components/form/FormSubmitPanel.vue.mjs +1 -1
  23. package/es/components/form/FormVerifyImage.vue.mjs +1 -1
  24. package/es/components/table/TableToolbar.vue.mjs +3 -3
  25. package/es/hooks/{use-admin-theme-apply.mjs → use-theme-apply.mjs} +62 -62
  26. package/es/hooks/use-viewport-apply.mjs +39 -0
  27. package/es/index.mjs +88 -88
  28. package/es/inject/key.mjs +13 -13
  29. package/es/store/app.mjs +69 -62
  30. package/es/style.css +1 -1
  31. package/package.json +6 -8
  32. package/types/bridge/config-hook.d.ts +0 -68
  33. package/types/bridge/index.d.ts +18 -417
  34. package/types/bridge/layout.d.ts +25 -0
  35. package/types/bridge/plugin.d.ts +12 -30
  36. package/types/bridge/route.d.ts +1 -20
  37. package/types/bridge/state.d.ts +0 -14
  38. package/types/bridge/storage.d.ts +0 -9
  39. package/types/bridge/theme/index.d.ts +1 -8
  40. package/types/bridge/theme/persist.d.ts +3 -15
  41. package/types/bridge/theme/system-dark.d.ts +0 -12
  42. package/types/bridge/theme/types.d.ts +27 -265
  43. package/types/components/app-layout/AppAside.vue.d.ts +0 -1
  44. package/types/components/app-layout/AppCollapseToggle.vue.d.ts +11 -0
  45. package/types/components/app-layout/AppHeader.vue.d.ts +0 -3
  46. package/types/components/app-layout/AppLayout.vue.d.ts +0 -12
  47. package/types/components/app-layout/AppPage.vue.d.ts +0 -2
  48. package/types/components/app-layout/AppSidebar.vue.d.ts +0 -2
  49. package/types/components/app-layout/types.d.ts +2 -127
  50. package/types/components/app-layout/viewport.d.ts +2 -30
  51. package/types/components/data-view/DataListViewItem.vue.d.ts +0 -8
  52. package/types/components/data-view/index.d.ts +0 -4
  53. package/types/components/data-view/types.d.ts +0 -41
  54. package/types/components/data-view/utils.d.ts +0 -3
  55. package/types/components/display/TabsHeader.vue.d.ts +0 -2
  56. package/types/components/display/TabsMain.vue.d.ts +0 -2
  57. package/types/components/display/TabsRefineFlow.vue.d.ts +0 -1
  58. package/types/components/display/index.d.ts +1 -37
  59. package/types/components/display/types.d.ts +0 -131
  60. package/types/components/form/FormItemNestForm.vue.d.ts +0 -5
  61. package/types/components/form/FormItemNestFormList.vue.d.ts +0 -17
  62. package/types/components/form/FormVerifyCode.vue.d.ts +0 -9
  63. package/types/components/form/FormVerifyImage.vue.d.ts +0 -1
  64. package/types/components/form/form-search-utils.d.ts +0 -14
  65. package/types/components/form/nest-form-item-list.d.ts +0 -28
  66. package/types/components/form/nest-form-item.d.ts +0 -21
  67. package/types/components/form/nest-registry.d.ts +0 -14
  68. package/types/components/form/types.d.ts +8 -185
  69. package/types/components/form/use-form-submit.d.ts +0 -12
  70. package/types/components/form/use-nest-form-list.d.ts +0 -13
  71. package/types/components/form/use-nest-form.d.ts +0 -15
  72. package/types/components/form/use-nest-layout-scale.d.ts +0 -12
  73. package/types/components/form/utils.d.ts +1 -56
  74. package/types/components/list-page/ListPage.vue.d.ts +0 -6
  75. package/types/components/list-page/types.d.ts +2 -19
  76. package/types/components/misc/index.d.ts +1 -6
  77. package/types/components/misc/types.d.ts +0 -6
  78. package/types/components/modal/ConfirmModal.vue.d.ts +0 -10
  79. package/types/components/modal/modal-shelf-core.d.ts +0 -3
  80. package/types/components/modal/modal-shelf-hierarchy.d.ts +0 -4
  81. package/types/components/modal/modal-shelf-types.d.ts +0 -34
  82. package/types/components/modal/types.d.ts +1 -20
  83. package/types/components/panel/PanelItemNestForm.vue.d.ts +0 -6
  84. package/types/components/panel/PanelItemNestPanel.vue.d.ts +0 -5
  85. package/types/components/panel/nest-panel-form.d.ts +0 -21
  86. package/types/components/panel/nest-panel-item.d.ts +0 -14
  87. package/types/components/panel/types.d.ts +1 -49
  88. package/types/components/table/types.d.ts +9 -124
  89. package/types/config/list-model.d.ts +0 -29
  90. package/types/config/route.d.ts +0 -2
  91. package/types/helpers/form.d.ts +0 -5
  92. package/types/helpers/list-helper.d.ts +0 -26
  93. package/types/helpers/types.d.ts +0 -11
  94. package/types/hooks/activated.d.ts +0 -10
  95. package/types/hooks/feel-size.d.ts +0 -2
  96. package/types/hooks/index.d.ts +2 -2
  97. package/types/hooks/menus-dispatch.d.ts +0 -4
  98. package/types/hooks/timeout.d.ts +0 -4
  99. package/types/hooks/use-channel-viewport-height.d.ts +0 -14
  100. package/types/hooks/use-theme-apply.d.ts +11 -0
  101. package/types/hooks/use-viewport-apply.d.ts +8 -0
  102. package/types/inject/key.d.ts +2 -87
  103. package/types/router/guard/index.d.ts +0 -13
  104. package/types/router/guard/login.d.ts +0 -1
  105. package/types/router/guard/permission.d.ts +0 -1
  106. package/types/router/guard/types.d.ts +2 -5
  107. package/types/store/app.d.ts +10 -31
  108. package/types/store/router-permission.d.ts +2 -55
  109. package/types/store/user.d.ts +2 -26
  110. package/types/types/dot-path.d.ts +0 -8
  111. package/types/types/route.d.ts +0 -45
  112. package/types/types/utility-types.d.ts +0 -7
  113. package/types/utils/export.d.ts +1 -16
  114. package/types/utils/id.d.ts +0 -1
  115. package/types/utils/router.d.ts +0 -2
  116. package/types/utils/theme-scale.d.ts +0 -31
  117. package/types/utils/time.d.ts +0 -1
  118. package/docs/TECH_SNAPSHOT.md +0 -146
  119. package/docs/nested-config-paradigm.md +0 -80
  120. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/RETROSPECTIVE.md +0 -63
  121. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/design.md +0 -575
  122. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/landing-authorizations/2026-05-09-080900-/346/234/2371-/345/205/245/345/256/236/346/226/275/346/216/210/346/235/203.md +0 -107
  123. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/project-orchestration.md +0 -58
  124. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/requirements.md +0 -238
  125. package/docs/specs/2026-05-09-055250-moderate-/345/210/227/350/241/250key/351/205/215/347/275/256/347/202/271/350/267/257/345/276/204/346/224/257/346/214/201/tasks.md +0 -290
  126. package/es/hooks/use-admin-viewport-apply.mjs +0 -39
  127. package/types/hooks/use-admin-theme-apply.d.ts +0 -34
  128. package/types/hooks/use-admin-viewport-apply.d.ts +0 -20
@@ -1,99 +1,31 @@
1
1
  import { DeepReadonly } from 'vue';
2
2
  import { AppBaseInfo, AppLayoutHeaderConfig, AppLayoutFooterConfig, AppLayoutSidebarConfig, AppLayoutAsideConfig, AppLayoutBreadcrumbConfig, AppLayoutBodyConfig, AppLayoutViewportConfig, AppLayoutGapConfig, AppThemeConfig, AppLayoutConfig } from './index';
3
- /**
4
- * 可 update 的响应式配置字段 key 联合(插件系统一期 7 个 + viewport 边框期补 1 = 8 个)。
5
- *
6
- * #插件系统一期:bridge 的布局/主题/基础信息字段下沉为 reactive 响应式,
7
- * 经 `update(key, partial)` 单字段一级浅合并触发。viewport 边框期新增
8
- * `APP_LAYOUT_VIEWPORT_CONFIG`(同属布局子,纳入本联合 + layoutAggregate)。
9
- * 其余 init 字段(env / cache / router 族 / userInfoAccess)非响应式范围,[MUST NOT] 纳入本联合。
10
- */
11
3
  export type UpdatableConfigKey = "APP_BASE_INFO" | "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_THEME_CONFIG";
12
- /**
13
- * 7 个可 update 字段 key → 值类型映射。
14
- *
15
- * `update<K>(key, partial)` 的 `partial` 类型经 `Partial<UpdatableConfigMap[K]>`
16
- * 推导;`createBridgeConfigHook` 的 init 入参亦以本映射约束(见 `BridgeConfigInit`)。
17
- */
18
4
  export interface UpdatableConfigMap {
19
- /** 应用基础信息 */
20
5
  APP_BASE_INFO: AppBaseInfo;
21
- /** 应用布局-header 配置 */
22
6
  APP_LAYOUT_HEADER_CONFIG: AppLayoutHeaderConfig;
23
- /** 应用布局-footer 配置 */
24
7
  APP_LAYOUT_FOOTER_CONFIG: AppLayoutFooterConfig;
25
- /** 应用布局-sidebar 配置 */
26
8
  APP_LAYOUT_SIDEBAR_CONFIG: AppLayoutSidebarConfig;
27
- /** 应用布局-aside 右侧补充区配置(P1' additive) */
28
9
  APP_LAYOUT_ASIDE_CONFIG: AppLayoutAsideConfig;
29
- /** 应用布局-面包屑配置 */
30
10
  APP_LAYOUT_BREADCRUMB_CONFIG: AppLayoutBreadcrumbConfig;
31
- /** 应用布局-页面主体配置 */
32
11
  APP_LAYOUT_BODY_CONFIG: AppLayoutBodyConfig;
33
- /** 应用布局-视口边框配置 */
34
12
  APP_LAYOUT_VIEWPORT_CONFIG: AppLayoutViewportConfig;
35
- /** 应用布局-模块间距配置(内缝 gap) */
36
13
  APP_LAYOUT_GAP_CONFIG: AppLayoutGapConfig;
37
- /** 应用主题配置 */
38
14
  APP_THEME_CONFIG: AppThemeConfig;
39
15
  }
40
- /**
41
- * `createBridgeConfigHook` 入参类型——7 个本期响应式字段的初值(= `UpdatableConfigMap`)。
42
- *
43
- * 由 `createAdminBridge` 闭包内从 `options` 的对应 7 字段直传;入参字段对象将被
44
- * 直接 `reactive()` 化(方案 A,[MUST NOT] 浅拷贝),故 [MUST] 为去 freeze 后的非
45
- * frozen 裸对象(app 端去字段级 freeze 保证)。
46
- */
47
16
  export type BridgeConfigInit = UpdatableConfigMap;
48
- /**
49
- * configHook 内部返回契约——`update` 方法 + 8 个对外 readonly 视图。
50
- *
51
- * **不对外 export**:`createBridgeConfigHook` / 本 interface / 上述类型符号 [MUST NOT]
52
- * 在 `bridge/index.ts` re-export(守封装边界)。`bridge/index.ts` 仅内部 import 工厂,
53
- * 把 `update` 与各 `roXxx` 视图组装进 `AdminBridge` 公开面。
54
- *
55
- * 7 个 readonly 视图各为对应 reactive 子配置的 `readonly()` 深只读包装;`roLayout`
56
- * 为 5 布局子的 `reactive({...})` 聚合的 readonly 包装——5 字段指向各 reactive 子配置,
57
- * 任一布局子 `update` 原地改经叶子代理同步跟随(Vue reactive 深度转换保留嵌套响应式),零拷贝。
58
- */
59
17
  export interface BridgeConfigHook {
60
- /** 单字段一级浅合并 update(`Object.assign` 派发到对应 reactive 子配置) */
61
18
  update: <K extends UpdatableConfigKey>(key: K, partial: Partial<UpdatableConfigMap[K]>) => void;
62
- /** 应用基础信息对外只读视图 */
63
19
  roBaseInfo: DeepReadonly<AppBaseInfo>;
64
- /** 应用布局-header 配置对外只读视图 */
65
20
  roHeader: DeepReadonly<AppLayoutHeaderConfig>;
66
- /** 应用布局-footer 配置对外只读视图 */
67
21
  roFooter: DeepReadonly<AppLayoutFooterConfig>;
68
- /** 应用布局-sidebar 配置对外只读视图 */
69
22
  roSidebar: DeepReadonly<AppLayoutSidebarConfig>;
70
- /** 应用布局-aside 右侧补充区配置对外只读视图(P1' additive) */
71
23
  roAside: DeepReadonly<AppLayoutAsideConfig>;
72
- /** 应用布局-面包屑配置对外只读视图 */
73
24
  roBreadcrumb: DeepReadonly<AppLayoutBreadcrumbConfig>;
74
- /** 应用布局-页面主体配置对外只读视图 */
75
25
  roBody: DeepReadonly<AppLayoutBodyConfig>;
76
- /** 应用布局-视口边框配置对外只读视图 */
77
26
  roViewport: DeepReadonly<AppLayoutViewportConfig>;
78
- /** 应用布局-模块间距配置对外只读视图(内缝 gap) */
79
27
  roGap: DeepReadonly<AppLayoutGapConfig>;
80
- /** 应用主题配置对外只读视图 */
81
28
  roTheme: DeepReadonly<AppThemeConfig>;
82
- /**
83
- * 应用布局聚合配置只读视图(5 布局子 reactive 聚合的 readonly 包装)。
84
- *
85
- * `reactive({header: reactiveHeader, ...})` 5 字段指向各 reactive 子配置,任一布局子
86
- * update 原地改经叶子代理同步跟随(Vue reactive 深度转换保留嵌套响应式),零拷贝。
87
- */
88
29
  roLayout: DeepReadonly<AppLayoutConfig>;
89
30
  }
90
- /**
91
- * bridge 响应式配置 hook 工厂。
92
- *
93
- * 接收 7 个本期字段初值,逐字段 `reactive()` 化(方案 A:直接 reactive 入参对象,
94
- * [MUST NOT] 浅拷贝),内部把 5 布局子聚合为 `layoutAggregate = reactive({...})`,
95
- * 对外返回 `update`(单字段一级浅合并 `Object.assign`,[MUST NOT] 深合并 / merge / clone)+
96
- * 7 个 `readonly()` 视图 + 1 个 `roLayout`(readonly 聚合视图)。每次 `createAdminBridge`
97
- * 调用各自闭包内构造一份,零模块级单例(守实例隔离)。
98
- */
99
31
  export declare function createBridgeConfigHook(init: BridgeConfigInit): BridgeConfigHook;