@done-coding/admin-core 0.30.0 → 0.30.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 (66) hide show
  1. package/es/bridge/badge.mjs +7 -1
  2. package/es/components/app-layout/AppPage.vue.mjs +1 -1
  3. package/es/components/app-layout/AppPage.vue2.mjs +15 -8
  4. package/es/components/app-layout/app-page-geometry.mjs +7 -3
  5. package/es/components/app-layout/use-slot-misuse-warn.mjs +40 -0
  6. package/es/components/data-view/DataGridView.vue.mjs +1 -1
  7. package/es/components/data-view/DataGridView.vue2.mjs +83 -32
  8. package/es/components/data-view/DataGridViewCard.vue.mjs +41 -0
  9. package/es/components/data-view/DataGridViewCard.vue2.mjs +4 -0
  10. package/es/components/data-view/InfiniteListView.vue.mjs +1 -1
  11. package/es/components/data-view/InfiniteListView.vue2.mjs +38 -11
  12. package/es/components/display/BadgeMark.vue.mjs +1 -1
  13. package/es/components/display/BadgeMark.vue2.mjs +31 -33
  14. package/es/components/display/use-badge.mjs +37 -33
  15. package/es/components/form/FormGroupTitle.vue.mjs +1 -1
  16. package/es/components/form/FormItem.vue.mjs +1 -1
  17. package/es/components/form/FormItemNestForm.vue.mjs +1 -1
  18. package/es/components/form/FormItemNestFormList.vue.mjs +1 -1
  19. package/es/components/form/FormTree.vue.mjs +5 -30
  20. package/es/components/form/FormTree.vue2.mjs +30 -1
  21. package/es/components/form/FormUpload.vue.mjs +1 -1
  22. package/es/components/modal/ModalPorter.vue.mjs +2 -0
  23. package/es/components/modal/use-slot-misuse-warn.mjs +22 -0
  24. package/es/components/page-layout/AppPageListDetailSplit.vue.mjs +1 -1
  25. package/es/components/page-layout/AppPageListDetailSplit.vue2.mjs +7 -7
  26. package/es/components/view-layout/ViewLayout.vue.mjs +1 -1
  27. package/es/components/view-layout/ViewLayout.vue2.mjs +71 -91
  28. package/es/components/view-layout/ViewLayoutToolbar.vue.mjs +7 -0
  29. package/es/components/view-layout/ViewLayoutToolbar.vue2.mjs +189 -0
  30. package/es/config/slot-region.mjs +23 -1
  31. package/es/hooks/use-custom-breakpoint.mjs +12 -2
  32. package/es/hooks/use-is-dev.mjs +16 -0
  33. package/es/hooks/use-theme-apply.mjs +2 -2
  34. package/es/index.mjs +90 -88
  35. package/es/style.css +138 -87
  36. package/package.json +2 -2
  37. package/src/bridge/docs/README.md +34 -4
  38. package/src/components/app-layout/docs/README-AppPage.md +68 -0
  39. package/src/components/data-view/docs/README-DataGridView.md +83 -1
  40. package/src/components/data-view/docs/README-DataListView.md +5 -2
  41. package/src/components/display/docs/README-BadgeMark.md +102 -41
  42. package/src/components/form/README.md +14 -0
  43. package/src/components/form/docs/README-FormItemNestForm.md +3 -0
  44. package/src/components/form/docs/README-FormItemNestFormList.md +3 -0
  45. package/src/components/form/docs/README-FormUpload.md +3 -0
  46. package/src/components/modal/docs/README-ModalPorter.md +26 -0
  47. package/src/components/page-layout/docs/README-AppPageListDetailLayout.md +1 -1
  48. package/src/components/view-layout/docs/README-ViewLayout.md +152 -9
  49. package/src/hooks/docs/README.md +37 -1
  50. package/types/bridge/badge.d.ts +38 -2
  51. package/types/components/app-layout/AppPage.vue.d.ts +16 -0
  52. package/types/components/app-layout/app-page-geometry.d.ts +26 -2
  53. package/types/components/app-layout/use-slot-misuse-warn.d.ts +19 -0
  54. package/types/components/data-view/DataGridView.vue.d.ts +9 -0
  55. package/types/components/data-view/DataGridViewCard.vue.d.ts +25 -0
  56. package/types/components/data-view/types.d.ts +63 -0
  57. package/types/components/display/BadgeMark.vue.d.ts +9 -8
  58. package/types/components/display/use-badge.d.ts +22 -14
  59. package/types/components/modal/use-slot-misuse-warn.d.ts +21 -0
  60. package/types/components/view-layout/ViewLayout.vue.d.ts +16 -0
  61. package/types/components/view-layout/ViewLayoutToolbar.vue.d.ts +52 -0
  62. package/types/components/view-layout/types.d.ts +56 -0
  63. package/types/config/slot-region.d.ts +12 -0
  64. package/types/hooks/use-custom-breakpoint.d.ts +1 -12
  65. package/types/hooks/use-is-dev.d.ts +24 -0
  66. package/types/injectInfo.json.d.ts +1 -1
@@ -0,0 +1,189 @@
1
+ import { defineComponent, useCssVars, useSlots, computed, withDirectives, openBlock, createElementBlock, normalizeClass, createElementVNode, withKeys, withModifiers, createVNode, unref, withCtx, createCommentVNode, renderSlot, createBlock, Fragment, renderList, createTextVNode, toDisplayString, vShow } from "vue";
2
+ import { ElIcon, ElDropdown, ElDropdownMenu, ElDropdownItem } from "element-plus";
3
+ import { ArrowLeft, MoreFilled } from "@element-plus/icons-vue";
4
+ import AutoRefreshGroup from "../misc/AutoRefreshGroup.vue.mjs";
5
+ import _sfc_main$1 from "../display/ActionBtnGroup.vue.mjs";
6
+ import ViewLayoutNavigation from "./ViewLayoutNavigation.vue.mjs";
7
+ const _hoisted_1 = { class: "view-layout-toolbar__left" };
8
+ const _hoisted_2 = {
9
+ key: 1,
10
+ class: "dc-view-layout__header view-layout-header"
11
+ };
12
+ const _hoisted_3 = { class: "view-layout-toolbar__right" };
13
+ const _hoisted_4 = { class: "view-layout-toolbar__more" };
14
+ const _sfc_main = /* @__PURE__ */ defineComponent({
15
+ __name: "ViewLayoutToolbar",
16
+ props: {
17
+ visible: { type: Boolean },
18
+ hasHeader: { type: Boolean },
19
+ ctx: {},
20
+ leftExtraButtons: {},
21
+ rightExtraButtons: {},
22
+ showNavigation: { type: Boolean },
23
+ navigationCtx: {},
24
+ isAutoRefresh: { type: Boolean },
25
+ refreshFn: { type: Function },
26
+ loading: { type: Boolean },
27
+ showAutoRefresh: { type: Boolean },
28
+ showRefresh: { type: Boolean },
29
+ padXPx: {},
30
+ appBar: { type: Boolean },
31
+ back: { type: Function },
32
+ moreOptions: {},
33
+ onMoreSelect: { type: Function },
34
+ onMore: { type: Function }
35
+ },
36
+ emits: ["update:isAutoRefresh"],
37
+ setup(__props, { emit: __emit }) {
38
+ useCssVars((_ctx) => ({
39
+ "v507b6fb2": _ctx.padXPx
40
+ }));
41
+ const props = __props;
42
+ const emit = __emit;
43
+ const slots = useSlots();
44
+ const showBack = computed(() => !!props.appBar && !!props.back);
45
+ const hasMoreMenu = computed(() => {
46
+ var _a;
47
+ return !!((_a = props.moreOptions) == null ? void 0 : _a.length);
48
+ });
49
+ const showMore = computed(
50
+ () => !!props.appBar && (hasMoreMenu.value || !!props.onMore || !!slots.more)
51
+ );
52
+ const rootClass = computed(() => ({
53
+ "view-layout-toolbar_app-bar": !!props.appBar
54
+ }));
55
+ return (_ctx, _cache) => {
56
+ return withDirectives((openBlock(), createElementBlock("div", {
57
+ class: normalizeClass(["view-layout-toolbar", rootClass.value])
58
+ }, [
59
+ createElementVNode("div", _hoisted_1, [
60
+ showBack.value ? (openBlock(), createElementBlock("span", {
61
+ key: 0,
62
+ class: "view-layout-toolbar__back",
63
+ role: "button",
64
+ tabindex: "0",
65
+ "aria-label": "返回",
66
+ onClick: _cache[0] || (_cache[0] = ($event) => {
67
+ var _a;
68
+ return (_a = __props.back) == null ? void 0 : _a.call(__props);
69
+ }),
70
+ onKeydown: [
71
+ _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => {
72
+ var _a;
73
+ return (_a = __props.back) == null ? void 0 : _a.call(__props);
74
+ }, ["prevent"]), ["enter"])),
75
+ _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => {
76
+ var _a;
77
+ return (_a = __props.back) == null ? void 0 : _a.call(__props);
78
+ }, ["prevent"]), ["space"]))
79
+ ]
80
+ }, [
81
+ createVNode(unref(ElIcon), null, {
82
+ default: withCtx(() => [
83
+ createVNode(unref(ArrowLeft))
84
+ ]),
85
+ _: 1
86
+ })
87
+ ], 32)) : createCommentVNode("", true),
88
+ __props.hasHeader ? (openBlock(), createElementBlock("div", _hoisted_2, [
89
+ renderSlot(_ctx.$slots, "header", {}, void 0, true)
90
+ ])) : createCommentVNode("", true),
91
+ createVNode(unref(_sfc_main$1), {
92
+ configs: __props.leftExtraButtons,
93
+ ctx: __props.ctx,
94
+ "default-size": "small"
95
+ }, null, 8, ["configs", "ctx"])
96
+ ]),
97
+ createElementVNode("div", _hoisted_3, [
98
+ __props.showNavigation ? (openBlock(), createBlock(ViewLayoutNavigation, {
99
+ key: 0,
100
+ ctx: __props.navigationCtx
101
+ }, null, 8, ["ctx"])) : createCommentVNode("", true),
102
+ createVNode(unref(_sfc_main$1), {
103
+ configs: __props.rightExtraButtons,
104
+ ctx: __props.ctx,
105
+ "default-size": "small"
106
+ }, null, 8, ["configs", "ctx"]),
107
+ createVNode(unref(AutoRefreshGroup), {
108
+ isAutoRefresh: __props.isAutoRefresh,
109
+ refreshFn: __props.refreshFn,
110
+ loading: __props.loading,
111
+ showAutoRefresh: __props.showAutoRefresh,
112
+ showRefresh: __props.showRefresh,
113
+ "onUpdate:isAutoRefresh": _cache[3] || (_cache[3] = ($event) => emit("update:isAutoRefresh", $event))
114
+ }, null, 8, ["isAutoRefresh", "refreshFn", "loading", "showAutoRefresh", "showRefresh"]),
115
+ showMore.value && hasMoreMenu.value ? (openBlock(), createBlock(unref(ElDropdown), {
116
+ key: 1,
117
+ trigger: "click",
118
+ onCommand: __props.onMoreSelect
119
+ }, {
120
+ dropdown: withCtx(() => [
121
+ createVNode(unref(ElDropdownMenu), null, {
122
+ default: withCtx(() => [
123
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.moreOptions, (item) => {
124
+ return openBlock(), createBlock(unref(ElDropdownItem), {
125
+ key: item.value,
126
+ command: item
127
+ }, {
128
+ default: withCtx(() => [
129
+ createTextVNode(toDisplayString(item.label), 1)
130
+ ]),
131
+ _: 2
132
+ }, 1032, ["command"]);
133
+ }), 128))
134
+ ]),
135
+ _: 1
136
+ })
137
+ ]),
138
+ default: withCtx(() => [
139
+ createElementVNode("span", _hoisted_4, [
140
+ renderSlot(_ctx.$slots, "more", {}, () => [
141
+ createVNode(unref(ElIcon), null, {
142
+ default: withCtx(() => [
143
+ createVNode(unref(MoreFilled))
144
+ ]),
145
+ _: 1
146
+ })
147
+ ], true)
148
+ ])
149
+ ]),
150
+ _: 3
151
+ }, 8, ["onCommand"])) : showMore.value ? (openBlock(), createElementBlock("span", {
152
+ key: 2,
153
+ class: "view-layout-toolbar__more",
154
+ role: "button",
155
+ tabindex: "0",
156
+ onClick: _cache[4] || (_cache[4] = ($event) => {
157
+ var _a;
158
+ return (_a = __props.onMore) == null ? void 0 : _a.call(__props);
159
+ }),
160
+ onKeydown: [
161
+ _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => {
162
+ var _a;
163
+ return (_a = __props.onMore) == null ? void 0 : _a.call(__props);
164
+ }, ["prevent"]), ["enter"])),
165
+ _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => {
166
+ var _a;
167
+ return (_a = __props.onMore) == null ? void 0 : _a.call(__props);
168
+ }, ["prevent"]), ["space"]))
169
+ ]
170
+ }, [
171
+ renderSlot(_ctx.$slots, "more", {}, () => [
172
+ createVNode(unref(ElIcon), null, {
173
+ default: withCtx(() => [
174
+ createVNode(unref(MoreFilled))
175
+ ]),
176
+ _: 1
177
+ })
178
+ ], true)
179
+ ], 32)) : createCommentVNode("", true)
180
+ ])
181
+ ], 2)), [
182
+ [vShow, __props.visible]
183
+ ]);
184
+ };
185
+ }
186
+ });
187
+ export {
188
+ _sfc_main as default
189
+ };
@@ -15,8 +15,30 @@ const parseSlotRegion = (raw) => {
15
15
  if (!Number.isInteger(num)) return void 0;
16
16
  return num in SlotRegion ? num : void 0;
17
17
  };
18
+ const APP_PAGE_SIDE_SLOTS = [
19
+ "top",
20
+ "right",
21
+ "bottom",
22
+ "left"
23
+ ];
24
+ const resolveAppPageSlotName = (region) => {
25
+ switch (region) {
26
+ case 2:
27
+ return "top";
28
+ case 3:
29
+ return "right";
30
+ case 4:
31
+ return "bottom";
32
+ case 5:
33
+ return "left";
34
+ default:
35
+ return void 0;
36
+ }
37
+ };
18
38
  export {
39
+ APP_PAGE_SIDE_SLOTS,
19
40
  DC_SLOT_ATTR,
20
41
  SlotRegion,
21
- parseSlotRegion
42
+ parseSlotRegion,
43
+ resolveAppPageSlotName
22
44
  };
@@ -20,15 +20,21 @@ const resolveRootEl = (target) => {
20
20
  if (el instanceof HTMLElement) return el;
21
21
  return null;
22
22
  };
23
+ const resolveInitialBreakpoint = () => {
24
+ const viewportWidth = typeof window === "undefined" ? 0 : window.innerWidth;
25
+ return viewportWidth > 0 ? resolveBreakpointByWidth(viewportWidth) : "lg";
26
+ };
23
27
  const useCustomBreakpoint = () => {
24
28
  const elRef = shallowRef();
25
- const activeBreakpoint = ref("lg");
29
+ const activeBreakpoint = ref(resolveInitialBreakpoint());
30
+ const measured = ref(false);
26
31
  const { isActivated } = useActivated();
27
32
  let ro;
28
33
  const evaluate = (el) => {
29
34
  activeBreakpoint.value = resolveBreakpointByWidth(
30
35
  el.getBoundingClientRect().width
31
36
  );
37
+ measured.value = true;
32
38
  };
33
39
  const detach = () => {
34
40
  ro == null ? void 0 : ro.disconnect();
@@ -50,7 +56,11 @@ const useCustomBreakpoint = () => {
50
56
  { immediate: true, flush: "post" }
51
57
  );
52
58
  onScopeDispose(detach);
53
- return { elRef, activeBreakpoint: readonly(activeBreakpoint) };
59
+ return {
60
+ elRef,
61
+ activeBreakpoint: readonly(activeBreakpoint),
62
+ measured: readonly(measured)
63
+ };
54
64
  };
55
65
  export {
56
66
  resolveBreakpointByWidth,
@@ -0,0 +1,16 @@
1
+ import { inject } from "vue";
2
+ import { CORE_BRIDGE_KEY } from "../inject/key.mjs";
3
+ const useIsDev = () => {
4
+ const bridge = inject(CORE_BRIDGE_KEY, void 0);
5
+ return () => {
6
+ var _a, _b;
7
+ const fromBridge = (_a = bridge == null ? void 0 : bridge.APP_ENV_INFO) == null ? void 0 : _a.isDev;
8
+ if (fromBridge !== void 0) return fromBridge;
9
+ if (typeof process !== "undefined" && ((_b = process.env) == null ? void 0 : _b.NODE_ENV))
10
+ return process.env.NODE_ENV !== "production";
11
+ return true;
12
+ };
13
+ };
14
+ export {
15
+ useIsDev
16
+ };
@@ -225,8 +225,8 @@ const EP_STRUCTURAL_CSS = [
225
225
  // 它自己的 DOM 上(`.el-badge__content`),scoped 选择器打不中。
226
226
  //
227
227
  // 三件事:底从语义色实心 → **面色**([MUST NOT] 用纯透明:角标叠在宿主内容上,
228
- // 全透会透出下面的字)· 边框 **1px 语义色** · 文字 / 图标 **语义色**(图标走
229
- // currentColor,随之变线条)。
228
+ // 全透会透出下面的字)· 边框 **1px 语义色** · 文字 → **语义色**。
229
+ // ⚠️ 原注里的「图标走 currentColor」已作废 —— 七档自 15vsrv 起**一律文字**、图标族已删。
230
230
  //
231
231
  // 🔴 **[MUST] 逐档写,[MUST NOT] 想着「引 --el-badge-bg-color 一条规则covers全档」**:
232
232
  // 实测那个变量**不按档赋值** —— EP 只在基类里用它(恒 danger 红),per-type 色是
package/es/index.mjs CHANGED
@@ -11,62 +11,62 @@ import { default as default12 } from "./components/form/FormRadioGroup.vue.mjs";
11
11
  import { default as default13 } from "./components/form/FormSelect.vue.mjs";
12
12
  import { default as default14 } from "./components/form/FormSelectShadowClone.vue.mjs";
13
13
  import { default as default15 } from "./components/form/FormSubmitBtn.vue.mjs";
14
- import { default as default16 } from "./components/form/FormTree.vue.mjs";
15
- import { default as default17 } from "./components/form/FormVerifyCode.vue.mjs";
16
- import { default as default18 } from "./components/display/HeightProvider.vue.mjs";
17
- import { default as default19 } from "./components/modal/ImagePreviewTrigger.vue.mjs";
18
- import { default as default20 } from "./components/menu/MenuItemSub.vue.mjs";
19
- import { default as default21 } from "./components/menu/MenuTree.vue.mjs";
20
- import { default as default22 } from "./components/modal/ModalImagePreview.vue.mjs";
21
- import { default as default23 } from "./components/modal/ModalPorter.vue.mjs";
22
- import { default as default24 } from "./components/modal/ModalShelf.vue.mjs";
23
- import { default as default25 } from "./components/panel/PanelItemNestPanel.vue.mjs";
24
- import { default as default26 } from "./components/misc/SelectModule.vue.mjs";
25
- import { default as default27 } from "./components/display/ShadowClone.vue.mjs";
26
- import { default as default28 } from "./components/slot-layout/SlotLayoutTemplate.vue.mjs";
27
- import { default as default29 } from "./components/table/TableEmpty.vue.mjs";
28
- import { default as default30 } from "./components/display/TabsMain.vue.mjs";
29
- import { default as default31 } from "./components/misc/TriggerAutoImport.vue.mjs";
30
- import { default as default32 } from "./components/display/WatchSize.vue.mjs";
14
+ import { default as default16 } from "./components/form/FormVerifyCode.vue.mjs";
15
+ import { default as default17 } from "./components/display/HeightProvider.vue.mjs";
16
+ import { default as default18 } from "./components/modal/ImagePreviewTrigger.vue.mjs";
17
+ import { default as default19 } from "./components/menu/MenuItemSub.vue.mjs";
18
+ import { default as default20 } from "./components/menu/MenuTree.vue.mjs";
19
+ import { default as default21 } from "./components/modal/ModalImagePreview.vue.mjs";
20
+ import { default as default22 } from "./components/modal/ModalPorter.vue.mjs";
21
+ import { default as default23 } from "./components/modal/ModalShelf.vue.mjs";
22
+ import { default as default24 } from "./components/panel/PanelItemNestPanel.vue.mjs";
23
+ import { default as default25 } from "./components/misc/SelectModule.vue.mjs";
24
+ import { default as default26 } from "./components/display/ShadowClone.vue.mjs";
25
+ import { default as default27 } from "./components/slot-layout/SlotLayoutTemplate.vue.mjs";
26
+ import { default as default28 } from "./components/table/TableEmpty.vue.mjs";
27
+ import { default as default29 } from "./components/display/TabsMain.vue.mjs";
28
+ import { default as default30 } from "./components/misc/TriggerAutoImport.vue.mjs";
29
+ import { default as default31 } from "./components/display/WatchSize.vue.mjs";
31
30
  import { APP_API_LIST_MODEL_KEY_CONFIG } from "./config/list-model.mjs";
32
31
  import { APP_GLOBAL_IMAGE_PREVIEW_KEY, APP_GLOBAL_VIDEO_PREVIEW_KEY, GLOBAL_MODAL_REMOTE_KEY } from "./components/modal/modal-global-keys.mjs";
33
32
  import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY, APP_LAYOUT_USER_STORE_KEY, APP_PAGE_CONTENT_INSET, APP_PAGE_LIST_DETAIL_CONTEXT, BODY_CONTENT_VIEWPORT_HEIGHT, BODY_CONTENT_VIEWPORT_INSET, BODY_CONTENT_VIEWPORT_RECT, CORE_BRIDGE_KEY, FORM_NEST_REGISTRY_KEY, FORM_VALIDATE_ERROR_KEYS, NEST_LAYOUT_SCALE_KEY, SCOPE_VIEWPORT_MAX_HEIGHT, TABS_MAIN_VISUAL_LEVEL, getModalShelfInjectionKey } from "./inject/key.mjs";
34
33
  import { APP_PAGE_LIST_LAYOUT_RECOMMENDED } from "./components/app-layout/app-page-recommended.mjs";
34
+ import { APP_PAGE_SIDE_SLOTS, DC_SLOT_ATTR, SlotRegion, parseSlotRegion, resolveAppPageSlotName } from "./config/slot-region.mjs";
35
35
  import { APP_PAGE_SLOT_Z_INDEX, computeAppPageContentInset, computeAppPageReducedViewportHeight, computeAppPageReducedViewportWidth, computeAppPageSlotShimStyles, computeAppPageSlotStyles } from "./components/app-layout/app-page-geometry.mjs";
36
- import { default as default33 } from "./components/display/ActionConfirm.vue.mjs";
37
- import { default as default34 } from "./components/app-layout/AppAside.vue.mjs";
38
- import { default as default35 } from "./components/app-layout/AppBody.vue.mjs";
39
- import { default as default36 } from "./components/app-layout/AppBreadcrumb.vue.mjs";
40
- import { default as default37 } from "./components/app-layout/AppFooter.vue.mjs";
41
- import { default as default38 } from "./components/app-layout/AppHeader.vue.mjs";
42
- import { default as default39 } from "./components/app-layout/AppLayout.vue.mjs";
43
- import { default as default40 } from "./components/app-layout/AppPage.vue.mjs";
44
- import { default as default41 } from "./components/page-layout/AppPageDetail.vue.mjs";
45
- import { default as default42 } from "./components/app-layout/AppSidebar.vue.mjs";
46
- import { default as default43 } from "./components/app-layout/AppTheme.vue.mjs";
47
- import { default as default44 } from "./components/misc/AutoRefresh.vue.mjs";
48
- import { default as default45 } from "./components/misc/AutoRefreshGroup.vue.mjs";
36
+ import { default as default32 } from "./components/display/ActionConfirm.vue.mjs";
37
+ import { default as default33 } from "./components/app-layout/AppAside.vue.mjs";
38
+ import { default as default34 } from "./components/app-layout/AppBody.vue.mjs";
39
+ import { default as default35 } from "./components/app-layout/AppBreadcrumb.vue.mjs";
40
+ import { default as default36 } from "./components/app-layout/AppFooter.vue.mjs";
41
+ import { default as default37 } from "./components/app-layout/AppHeader.vue.mjs";
42
+ import { default as default38 } from "./components/app-layout/AppLayout.vue.mjs";
43
+ import { default as default39 } from "./components/app-layout/AppPage.vue.mjs";
44
+ import { default as default40 } from "./components/page-layout/AppPageDetail.vue.mjs";
45
+ import { default as default41 } from "./components/app-layout/AppSidebar.vue.mjs";
46
+ import { default as default42 } from "./components/app-layout/AppTheme.vue.mjs";
47
+ import { default as default43 } from "./components/misc/AutoRefresh.vue.mjs";
48
+ import { default as default44 } from "./components/misc/AutoRefreshGroup.vue.mjs";
49
49
  import { BADGE_HOST_ATTR, BADGE_KEY_ATTR } from "./config/badge-attr.mjs";
50
50
  import { BADGE_MASK_KINDS } from "./bridge/badge.mjs";
51
- import { default as default46 } from "./components/display/BadgeMark.vue.mjs";
51
+ import { default as default45 } from "./components/display/BadgeMark.vue.mjs";
52
52
  import { COLLAPSED_CLASS, swiftFormItemDivider, swiftFormItemGroup } from "./components/form/group.mjs";
53
53
  import { CORE_VIEWPORT_DECOR_ZINDEX_ABOVE, CORE_VIEWPORT_DECOR_ZINDEX_BELOW } from "./components/app-layout/viewport.mjs";
54
- import { default as default47, default as default48 } from "./components/modal/ModalConfirm.vue.mjs";
55
- import { DC_SLOT_ATTR, SlotRegion, parseSlotRegion } from "./config/slot-region.mjs";
56
- import { default as default49 } from "./components/data-view/DataGridView.vue.mjs";
57
- import { default as default50 } from "./components/display/DragFloat.vue.mjs";
54
+ import { default as default46, default as default47 } from "./components/modal/ModalConfirm.vue.mjs";
55
+ import { default as default48 } from "./components/data-view/DataGridView.vue.mjs";
56
+ import { default as default49 } from "./components/display/DragFloat.vue.mjs";
58
57
  import { EXPORT_MAX_LIMIT, OPERATE_COLUMN_PROP, exportCSV, pickExportColumns } from "./utils/export.mjs";
59
58
  import { FORM_CONFIG_SELECT_ALL_VALUE, getConfirmPasswordRule, passwordRule, setFormComponentType } from "./helpers/form.mjs";
60
59
  import { FORM_ITEM_CHANGE_LOADING, NEST_LAYOUT_TIERS, ceilToTier, checkFormItemIsIgnore, generateFormData, getBlurSubmit, getChangeSubmit, getDatePickerShortcuts, getEnterSubmit, getPlaceholder, getVModelSugar, parseFormData, patchFormData, resolveFormLayout, resolveLayoutSpan, setInputComponent, setSelectComponent, stringifyFormData, swiftFormItemConfig } from "./components/form/utils.mjs";
61
- import { default as default51 } from "./components/form/FormActiveFilter.vue.mjs";
62
- import { default as default52 } from "./components/form/FormItemNestForm.vue.mjs";
63
- import { default as default53 } from "./components/form/FormItemNestFormList.vue.mjs";
64
- import { default as default54 } from "./components/form/FormMain.vue.mjs";
65
- import { default as default55 } from "./components/form/FormSearch.vue.mjs";
66
- import { default as default56 } from "./components/form/FormShadowCloneDispatch.vue.mjs";
67
- import { default as default57 } from "./components/form/FormSortSwitch.vue.mjs";
68
- import { default as default58 } from "./components/form/FormSortSwitchGroup.vue.mjs";
69
- import { default as default59 } from "./components/form/FormSubmitPanel.vue.mjs";
60
+ import { default as default50 } from "./components/form/FormActiveFilter.vue.mjs";
61
+ import { default as default51 } from "./components/form/FormItemNestForm.vue.mjs";
62
+ import { default as default52 } from "./components/form/FormItemNestFormList.vue.mjs";
63
+ import { default as default53 } from "./components/form/FormMain.vue.mjs";
64
+ import { default as default54 } from "./components/form/FormSearch.vue.mjs";
65
+ import { default as default55 } from "./components/form/FormShadowCloneDispatch.vue.mjs";
66
+ import { default as default56 } from "./components/form/FormSortSwitch.vue.mjs";
67
+ import { default as default57 } from "./components/form/FormSortSwitchGroup.vue.mjs";
68
+ import { default as default58 } from "./components/form/FormSubmitPanel.vue.mjs";
69
+ import { default as default59 } from "./components/form/FormTree.vue.mjs";
70
70
  import { default as default60 } from "./components/form/FormUpload.vue.mjs";
71
71
  import { default as default61 } from "./components/form/FormUploadAudio.vue.mjs";
72
72
  import { default as default62 } from "./components/form/FormUploadImage.vue.mjs";
@@ -133,83 +133,84 @@ export {
133
133
  APP_PAGE_CONTENT_INSET,
134
134
  APP_PAGE_LIST_DETAIL_CONTEXT,
135
135
  APP_PAGE_LIST_LAYOUT_RECOMMENDED,
136
+ APP_PAGE_SIDE_SLOTS,
136
137
  APP_PAGE_SLOT_Z_INDEX,
137
138
  default2 as ActionBtn,
138
139
  default3 as ActionBtnGroup,
139
- default33 as ActionConfirm,
140
- default34 as AppAside,
141
- default35 as AppBody,
142
- default36 as AppBreadcrumb,
143
- default37 as AppFooter,
144
- default38 as AppHeader,
145
- default39 as AppLayout,
146
- default40 as AppPage,
147
- default41 as AppPageDetail,
140
+ default32 as ActionConfirm,
141
+ default33 as AppAside,
142
+ default34 as AppBody,
143
+ default35 as AppBreadcrumb,
144
+ default36 as AppFooter,
145
+ default37 as AppHeader,
146
+ default38 as AppLayout,
147
+ default39 as AppPage,
148
+ default40 as AppPageDetail,
148
149
  default4 as AppPageListDetailLayout,
149
- default42 as AppSidebar,
150
- default43 as AppTheme,
151
- default44 as AutoRefresh,
152
- default45 as AutoRefreshGroup,
150
+ default41 as AppSidebar,
151
+ default42 as AppTheme,
152
+ default43 as AutoRefresh,
153
+ default44 as AutoRefreshGroup,
153
154
  BADGE_HOST_ATTR,
154
155
  BADGE_KEY_ATTR,
155
156
  BADGE_MASK_KINDS,
156
157
  BODY_CONTENT_VIEWPORT_HEIGHT,
157
158
  BODY_CONTENT_VIEWPORT_INSET,
158
159
  BODY_CONTENT_VIEWPORT_RECT,
159
- default46 as BadgeMark,
160
+ default45 as BadgeMark,
160
161
  default5 as BooleanTag,
161
162
  COLLAPSED_CLASS,
162
163
  CORE_BRIDGE_KEY,
163
164
  CORE_VIEWPORT_DECOR_ZINDEX_ABOVE,
164
165
  CORE_VIEWPORT_DECOR_ZINDEX_BELOW,
165
- default47 as ConfirmModal,
166
+ default46 as ConfirmModal,
166
167
  DC_SLOT_ATTR,
167
- default49 as DataGridView,
168
+ default48 as DataGridView,
168
169
  default6 as DetailModal,
169
- default50 as DragFloat,
170
+ default49 as DragFloat,
170
171
  EXPORT_MAX_LIMIT,
171
172
  FORM_CONFIG_SELECT_ALL_VALUE,
172
173
  FORM_ITEM_CHANGE_LOADING,
173
174
  FORM_NEST_REGISTRY_KEY,
174
175
  FORM_VALIDATE_ERROR_KEYS,
175
- default51 as FormActiveFilter,
176
+ default50 as FormActiveFilter,
176
177
  default8 as FormInput,
177
178
  default9 as FormInputShadowClone,
178
- default52 as FormItemNestForm,
179
- default53 as FormItemNestFormList,
180
- default54 as FormMain,
179
+ default51 as FormItemNestForm,
180
+ default52 as FormItemNestFormList,
181
+ default53 as FormMain,
181
182
  default10 as FormModal,
182
183
  default12 as FormRadioGroup,
183
- default55 as FormSearch,
184
+ default54 as FormSearch,
184
185
  default13 as FormSelect,
185
186
  default14 as FormSelectShadowClone,
186
- default56 as FormShadowCloneDispatch,
187
- default57 as FormSortSwitch,
188
- default58 as FormSortSwitchGroup,
187
+ default55 as FormShadowCloneDispatch,
188
+ default56 as FormSortSwitch,
189
+ default57 as FormSortSwitchGroup,
189
190
  default15 as FormSubmitBtn,
190
- default59 as FormSubmitPanel,
191
- default16 as FormTree,
191
+ default58 as FormSubmitPanel,
192
+ default59 as FormTree,
192
193
  default60 as FormUpload,
193
194
  default61 as FormUploadAudio,
194
195
  default62 as FormUploadImage,
195
196
  default63 as FormUploadVideo,
196
- default17 as FormVerifyCode,
197
+ default16 as FormVerifyCode,
197
198
  default64 as FormVerifyImage,
198
199
  GAP_SCALE_RUNG,
199
200
  GLOBAL_MODAL_REMOTE_KEY,
200
- default18 as HeightProvider,
201
- default19 as ImagePreviewTrigger,
201
+ default17 as HeightProvider,
202
+ default18 as ImagePreviewTrigger,
202
203
  default65 as InfiniteListView,
203
204
  default66 as ListLayout,
204
205
  default67 as ListPage,
205
- default20 as MenuItemSub,
206
- default21 as MenuTree,
207
- default48 as ModalConfirm,
206
+ default19 as MenuItemSub,
207
+ default20 as MenuTree,
208
+ default47 as ModalConfirm,
208
209
  default7 as ModalDetail,
209
210
  default11 as ModalForm,
210
- default22 as ModalImagePreview,
211
- default23 as ModalPorter,
212
- default24 as ModalShelf,
211
+ default21 as ModalImagePreview,
212
+ default22 as ModalPorter,
213
+ default23 as ModalShelf,
213
214
  default68 as ModalVideoPreview,
214
215
  NEST_LAYOUT_SCALE_KEY,
215
216
  NEST_LAYOUT_TIERS,
@@ -217,28 +218,28 @@ export {
217
218
  default69 as PanelEditSwitch,
218
219
  default70 as PanelItem,
219
220
  default71 as PanelItemNestForm,
220
- default25 as PanelItemNestPanel,
221
+ default24 as PanelItemNestPanel,
221
222
  default72 as PanelMain,
222
223
  ROUTE_MODULE_LEVEL,
223
224
  SCOPE_VIEWPORT_MAX_HEIGHT,
224
- default26 as SelectModule,
225
- default27 as ShadowClone,
225
+ default25 as SelectModule,
226
+ default26 as ShadowClone,
226
227
  default73 as SlotLayoutFlowAside,
227
- default28 as SlotLayoutTemplate,
228
+ default27 as SlotLayoutTemplate,
228
229
  SlotRegion,
229
230
  TABLE_COLUMN_KEY_OPERATE,
230
231
  TABLE_COLUMN_KEY_SELECTION,
231
232
  TABS_MAIN_VISUAL_LEVEL,
232
- default29 as TableEmpty,
233
+ default28 as TableEmpty,
233
234
  default74 as TableMain,
234
235
  default75 as TableSkeleton,
235
236
  default76 as TableToolbar,
236
- default30 as TabsMain,
237
+ default29 as TabsMain,
237
238
  TabsMainReplaceQueryKey,
238
- default31 as TriggerAutoImport,
239
+ default30 as TriggerAutoImport,
239
240
  default77 as VideoPreviewTrigger,
240
241
  default78 as ViewLayout,
241
- default32 as WatchSize,
242
+ default31 as WatchSize,
242
243
  buildRhythmCss,
243
244
  ceilToTier,
244
245
  checkFormItemIsIgnore,
@@ -289,6 +290,7 @@ export {
289
290
  passwordRule,
290
291
  patchFormData,
291
292
  pickExportColumns,
293
+ resolveAppPageSlotName,
292
294
  resolveBreakpointByWidth,
293
295
  resolveFormAiFormDescription,
294
296
  resolveFormLayout,