@done-coding/admin-core 0.27.0 → 0.28.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 (134) hide show
  1. package/es/bridge/index.mjs +11 -3
  2. package/es/components/app-layout/AppBody.vue.mjs +1 -1
  3. package/es/components/app-layout/AppBody.vue2.mjs +14 -5
  4. package/es/components/app-layout/AppHeader.vue.mjs +1 -1
  5. package/es/components/app-layout/AppHeader.vue2.mjs +7 -5
  6. package/es/components/app-layout/AppLayout.vue.mjs +1 -1
  7. package/es/components/app-layout/AppLayout.vue2.mjs +2 -1
  8. package/es/components/app-layout/AppPage.vue.mjs +1 -1
  9. package/es/components/app-layout/AppPage.vue2.mjs +35 -32
  10. package/es/components/app-layout/app-page-geometry.mjs +16 -16
  11. package/es/components/app-layout/app-page-recommended.mjs +10 -0
  12. package/es/components/data-view/DataGridView.vue.mjs +1 -1
  13. package/es/components/data-view/DataGridView.vue2.mjs +29 -17
  14. package/es/components/data-view/DataListView.vue.mjs +1 -1
  15. package/es/components/data-view/DataListView.vue2.mjs +10 -0
  16. package/es/components/data-view/InfiniteListView.vue.mjs +1 -1
  17. package/es/components/data-view/InfiniteListView.vue2.mjs +9 -3
  18. package/es/components/data-view/use-active-scroll.mjs +15 -0
  19. package/es/components/display/DragFloat.vue.mjs +7 -0
  20. package/es/components/display/DragFloat.vue2.mjs +109 -0
  21. package/es/components/display/TabsHeader.vue.mjs +1 -1
  22. package/es/components/display/TabsHeader.vue2.mjs +9 -10
  23. package/es/components/display/TabsMain.vue.mjs +22 -7
  24. package/es/components/display/tabs-variant.mjs +14 -0
  25. package/es/components/form/FormDivider.vue.mjs +7 -0
  26. package/es/components/form/FormDivider.vue2.mjs +14 -0
  27. package/es/components/form/FormGroupTitle.vue.mjs +7 -0
  28. package/es/components/form/FormGroupTitle.vue2.mjs +59 -0
  29. package/es/components/form/FormItemNestForm.vue.mjs +1 -1
  30. package/es/components/form/FormItemNestFormList.vue.mjs +1 -1
  31. package/es/components/form/FormMain.vue.mjs +1 -1
  32. package/es/components/form/FormMain.vue2.mjs +69 -9
  33. package/es/components/form/FormSearch.vue.mjs +1 -1
  34. package/es/components/form/FormSearch.vue2.mjs +15 -3
  35. package/es/components/form/FormSubmitPanel.vue.mjs +1 -1
  36. package/es/components/form/FormSubmitPanel.vue2.mjs +14 -1
  37. package/es/components/form/ai-schema.mjs +139 -0
  38. package/es/components/form/group.mjs +81 -0
  39. package/es/components/form/use-ai-fill.mjs +71 -0
  40. package/es/components/form/utils.mjs +15 -4
  41. package/es/components/list-layout/ListLayout.vue.mjs +1 -1
  42. package/es/components/list-layout/ListLayout.vue2.mjs +103 -62
  43. package/es/components/modal/ImagePreviewTrigger.vue.mjs +5 -1
  44. package/es/components/modal/ModalConfirm.vue.mjs +1 -1
  45. package/es/components/modal/ModalConfirm.vue2.mjs +8 -5
  46. package/es/components/modal/VideoPreviewTrigger.vue.mjs +1 -1
  47. package/es/components/modal/VideoPreviewTrigger.vue2.mjs +2 -1
  48. package/es/components/page-layout/AppPageDetail.vue.mjs +1 -1
  49. package/es/components/page-layout/AppPageDetail.vue2.mjs +17 -13
  50. package/es/components/page-layout/AppPageListDetailLayout.vue.mjs +7 -4
  51. package/es/components/page-layout/AppPageListDetailSheet.vue.mjs +12 -4
  52. package/es/components/page-layout/AppPageListDetailSplit.vue.mjs +1 -1
  53. package/es/components/page-layout/AppPageListDetailSplit.vue2.mjs +10 -3
  54. package/es/components/table/TableMain.vue.mjs +1 -1
  55. package/es/components/table/TableMain.vue2.mjs +45 -25
  56. package/es/components/view-layout/ViewLayout.vue.mjs +1 -1
  57. package/es/components/view-layout/ViewLayout.vue2.mjs +46 -15
  58. package/es/config/slot-region.mjs +1 -0
  59. package/es/hooks/use-active-record.mjs +5 -1
  60. package/es/hooks/use-surface.mjs +27 -0
  61. package/es/hooks/use-theme-apply.mjs +52 -18
  62. package/es/index.mjs +81 -59
  63. package/es/inject/key.mjs +4 -0
  64. package/es/store/app.mjs +51 -17
  65. package/es/style.css +361 -184
  66. package/es/utils/dom.mjs +7 -1
  67. package/es/utils/gap-scale.mjs +25 -0
  68. package/es/utils/theme-scale.mjs +27 -0
  69. package/package.json +2 -2
  70. package/src/bridge/docs/README.md +30 -0
  71. package/src/components/app-layout/docs/README-AppBody.md +21 -0
  72. package/src/components/app-layout/docs/README-AppPage.md +20 -3
  73. package/src/components/data-view/docs/README-DataGridView.md +15 -0
  74. package/src/components/data-view/docs/README-DataListView.md +13 -0
  75. package/src/components/data-view/docs/README-InfiniteListView.md +15 -0
  76. package/src/components/display/README.md +1 -0
  77. package/src/components/display/docs/README-DragFloat.md +68 -0
  78. package/src/components/form/README.md +4 -2
  79. package/src/components/form/docs/README-FormItemNestForm.md +5 -3
  80. package/src/components/form/docs/README-FormItemNestFormList.md +7 -1
  81. package/src/components/form/docs/README-FormMain.md +102 -1
  82. package/src/components/form/docs/README-FormSearch.md +5 -0
  83. package/src/components/list-layout/docs/README-ListLayout.md +61 -1
  84. package/src/components/modal/docs/README-ImagePreviewTrigger.md +2 -0
  85. package/src/components/modal/docs/README-VideoPreviewTrigger.md +4 -1
  86. package/src/components/page-layout/docs/README-AppPageDetail.md +11 -1
  87. package/src/components/page-layout/docs/README-AppPageListDetailLayout.md +64 -6
  88. package/src/components/table/docs/README-TableMain.md +22 -0
  89. package/src/components/view-layout/docs/README-ViewLayout.md +27 -2
  90. package/src/hooks/docs/README.md +30 -1
  91. package/types/bridge/index.d.ts +69 -10
  92. package/types/components/app-layout/AppPage.vue.d.ts +15 -7
  93. package/types/components/app-layout/app-page-geometry.d.ts +19 -10
  94. package/types/components/app-layout/app-page-recommended.d.ts +12 -0
  95. package/types/components/app-layout/index.d.ts +1 -0
  96. package/types/components/data-view/types.d.ts +18 -0
  97. package/types/components/data-view/use-active-scroll.d.ts +30 -0
  98. package/types/components/display/BadgeMark.vue.d.ts +2 -2
  99. package/types/components/display/DragFloat.vue.d.ts +35 -0
  100. package/types/components/display/TabsHeader.vue.d.ts +7 -0
  101. package/types/components/display/index.d.ts +8 -1
  102. package/types/components/display/tabs-variant.d.ts +17 -0
  103. package/types/components/display/types.d.ts +6 -0
  104. package/types/components/form/FormDivider.vue.d.ts +2 -0
  105. package/types/components/form/FormGroupTitle.vue.d.ts +22 -0
  106. package/types/components/form/FormItemNestForm.vue.d.ts +2 -0
  107. package/types/components/form/ai-schema.d.ts +24 -0
  108. package/types/components/form/group.d.ts +36 -0
  109. package/types/components/form/index.d.ts +2 -0
  110. package/types/components/form/types.d.ts +94 -3
  111. package/types/components/form/use-ai-fill.d.ts +59 -0
  112. package/types/components/form/utils.d.ts +19 -0
  113. package/types/components/list-layout/ListLayout.vue.d.ts +3 -0
  114. package/types/components/list-layout/types.d.ts +28 -0
  115. package/types/components/modal/ModalConfirm.vue.d.ts +1 -1
  116. package/types/components/modal/VideoPreviewTrigger.vue.d.ts +1 -1
  117. package/types/components/page-layout/AppPageDetail.vue.d.ts +2 -2
  118. package/types/components/page-layout/AppPageListDetailLayout.vue.d.ts +3 -7
  119. package/types/components/page-layout/AppPageListDetailSheet.vue.d.ts +4 -8
  120. package/types/components/page-layout/AppPageListDetailSplit.vue.d.ts +4 -8
  121. package/types/components/page-layout/types.d.ts +42 -0
  122. package/types/components/panel/PanelItemNestForm.vue.d.ts +2 -0
  123. package/types/components/table/types.d.ts +9 -0
  124. package/types/components/view-layout/ViewLayout.vue.d.ts +18 -0
  125. package/types/components/view-layout/types.d.ts +15 -0
  126. package/types/config/slot-region.d.ts +10 -1
  127. package/types/hooks/use-surface.d.ts +34 -0
  128. package/types/inject/key.d.ts +10 -0
  129. package/types/injectInfo.json.d.ts +1 -1
  130. package/types/store/app.d.ts +3 -0
  131. package/types/utils/dom.d.ts +31 -0
  132. package/types/utils/gap-scale.d.ts +46 -0
  133. package/types/utils/index.d.ts +1 -0
  134. package/types/utils/theme-scale.d.ts +33 -0
@@ -1,4 +1,4 @@
1
- import { computed } from "vue";
1
+ import { computed, shallowRef, ref } from "vue";
2
2
  import { createStorageWithNamespace } from "./storage.mjs";
3
3
  import { createUseState } from "./state.mjs";
4
4
  import { createGenerateRouteMetaRawTree } from "./route.mjs";
@@ -35,7 +35,7 @@ function createCoreBridge(options) {
35
35
  ...options.APP_LAYOUT_ASIDE_CONFIG
36
36
  };
37
37
  const gapConfig = {
38
- size: 0,
38
+ size: 8,
39
39
  ...options.APP_LAYOUT_GAP_CONFIG
40
40
  };
41
41
  const configHook = createBridgeConfigHook({
@@ -95,6 +95,8 @@ function createCoreBridge(options) {
95
95
  let logoutApiFn;
96
96
  let getUserInfoApiFn;
97
97
  let refreshTokenApiFn;
98
+ const aiFillTriggerRef = shallowRef(void 0);
99
+ const aiFillRequireDescriptionRef = ref(false);
98
100
  const msg = (name) => `bridge: ${name} 未注册`;
99
101
  const pluginHost = createBridgePluginHost();
100
102
  const bridgeInstance = {
@@ -107,6 +109,9 @@ function createCoreBridge(options) {
107
109
  if (options2.logoutApi) logoutApiFn = options2.logoutApi;
108
110
  if (options2.getUserInfoApi) getUserInfoApiFn = options2.getUserInfoApi;
109
111
  if (options2.refreshTokenApi) refreshTokenApiFn = options2.refreshTokenApi;
112
+ if (options2.aiFillTrigger) aiFillTriggerRef.value = options2.aiFillTrigger;
113
+ if (options2.aiFillRequireDescription !== void 0)
114
+ aiFillRequireDescriptionRef.value = options2.aiFillRequireDescription;
110
115
  },
111
116
  // 已注册返回 undefined 是合法业务态不 throw
112
117
  // v3 终锁 Δ8b:零参 facade(BR-1 ③ 终裁——core 对 UserInfo 不透明 + 拦截器无 info 源)
@@ -290,7 +295,10 @@ function createCoreBridge(options) {
290
295
  if (!refreshTokenApiFn)
291
296
  return Promise.reject(new Error(msg("refreshTokenApi")));
292
297
  return refreshTokenApiFn(refreshToken);
293
- }
298
+ },
299
+ // AI 填充触发组件槽位(gf9z3w):只读透出,消费方(FormMain)自渲染
300
+ aiFillTrigger: aiFillTriggerRef,
301
+ aiFillRequireDescription: aiFillRequireDescriptionRef
294
302
  };
295
303
  return bridgeInstance;
296
304
  }
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AppBody.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const AppBody = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-746de972"]]);
4
+ const AppBody = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ca48e9a0"]]);
5
5
  export {
6
6
  AppBody as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, useCssVars, inject, ref, computed, provide, readonly, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createBlock, unref, withCtx, createVNode, createCommentVNode, KeepAlive, resolveDynamicComponent, renderSlot } from "vue";
1
+ import { defineComponent, useCssVars, inject, ref, computed, provide, readonly, onMounted, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createBlock, unref, withCtx, createVNode, createCommentVNode, KeepAlive, resolveDynamicComponent, renderSlot } from "vue";
2
2
  import { ElAffix } from "element-plus";
3
3
  import AppBreadcrumb from "./AppBreadcrumb.vue.mjs";
4
4
  import { isKeepAliveRoute, keepAliveRouteKey } from "./keep-alive.mjs";
@@ -12,7 +12,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  },
13
13
  setup(__props) {
14
14
  useCssVars((_ctx) => ({
15
- "v03873635": contentViewHeight.value
15
+ "ece8e1ac": contentViewHeight.value
16
16
  }));
17
17
  const appStore = inject(APP_LAYOUT_APP_STORE_KEY);
18
18
  const bridge = inject(APP_LAYOUT_BRIDGE_KEY);
@@ -29,6 +29,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
29
  const bodyShimPadding = computed(() => {
30
30
  return appStore.bodyShimPadding;
31
31
  });
32
+ onMounted(() => {
33
+ if (bodyShimPadding.value) {
34
+ console.warn(
35
+ `[dc-layout] APP_LAYOUT_BODY_CONFIG.shimPadding(当前 ${bodyShimPadding.value})已废弃且**不再影响任何渲染**。内容四周留白改由间距阶梯的外圈档(gap × 2)给出 —— 要调留白请改 APP_LAYOUT_GAP_CONFIG.size,一个旋钮按比例缩放「外圈 / 呼吸 / 模块 / 分段」四档。本字段将在下一个版本移除。`
36
+ );
37
+ }
38
+ });
32
39
  const bodyShimStyle = computed(() => {
33
40
  return appStore.bodyShimStyle;
34
41
  });
@@ -42,8 +49,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
49
  left: appStore.bodyStyle.paddingLeft,
43
50
  right: appStore.bodyStyle.paddingRight,
44
51
  bottom: `calc(100vh - ${appStore.bodyStyle.paddingTop} - ${bodyShimStyle.value.minHeight})`,
45
- // app-body-shim 内边距:供 AppPage 各插槽 shim chrome 侧留呼吸
46
- shimPadding: bodyShimPadding.value
52
+ // @deprecated huhyx7 起恒 0:shim 不再铺 padding,插槽也不需要复刻它的呼吸
53
+ // (插槽本就贴在 .app-body 的 padding 盒边缘,外圈档已给过呼吸)。
54
+ // 字段保留一个版本供下游过渡,[MUST NOT] 再拿它算任何几何。
55
+ shimPadding: 0
47
56
  }));
48
57
  provide(BODY_CONTENT_VIEWPORT_RECT, contentViewportRect);
49
58
  provide(
@@ -51,7 +60,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
60
  computed(() => appStore.contentViewportInset)
52
61
  );
53
62
  const contentViewHeight = computed(
54
- () => `calc(${bodyShimStyle.value.minHeight} - ${showBreadcrumb.value && affixIsShow.value ? affixHeight.value : 0}px - ${bodyShimPadding.value * 2}px)`
63
+ () => `calc(${bodyShimStyle.value.minHeight} - ${showBreadcrumb.value && affixIsShow.value ? affixHeight.value : 0}px)`
55
64
  );
56
65
  const onAffixShow = (value) => {
57
66
  affixIsShow.value = value;
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AppHeader.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const AppHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d887bc4c"]]);
4
+ const AppHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9ff1c70b"]]);
5
5
  export {
6
6
  AppHeader as default
7
7
  };
@@ -3,6 +3,7 @@ import { useRouter } from "vue-router";
3
3
  import { ElIcon } from "element-plus";
4
4
  import BadgeMark from "../display/BadgeMark.vue.mjs";
5
5
  import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY } from "../../inject/key.mjs";
6
+ import { domScrollIntoViewport } from "../../utils/dom.mjs";
6
7
  const _hoisted_1 = { class: "app-header-shim" };
7
8
  const _hoisted_2 = ["name", "onClick"];
8
9
  const _hoisted_3 = { class: "app-header-right" };
@@ -17,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  },
18
19
  setup(__props) {
19
20
  useCssVars((_ctx) => ({
20
- "v7733782f": themeColors.value.primaryColor
21
+ "v0b60c1aa": themeColors.value.primaryColor
21
22
  }));
22
23
  const props = __props;
23
24
  const appStore = inject(APP_LAYOUT_APP_STORE_KEY);
@@ -47,10 +48,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
48
  (n) => {
48
49
  if (n) {
49
50
  nextTick(() => {
50
- var _a, _b;
51
- (_b = (_a = document.querySelector(`.${moduleBoxCls}`)) == null ? void 0 : _a.querySelector(`[name="${n}"]`)) == null ? void 0 : _b.scrollIntoView({
52
- behavior: "smooth"
53
- });
51
+ var _a;
52
+ domScrollIntoViewport(
53
+ (_a = document.querySelector(`.${moduleBoxCls}`)) == null ? void 0 : _a.querySelector(`[name="${n}"]`),
54
+ { behavior: "smooth" }
55
+ );
54
56
  });
55
57
  }
56
58
  },
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AppLayout.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const AppLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b68520cd"]]);
4
+ const AppLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-140fec15"]]);
5
5
  export {
6
6
  AppLayout as default
7
7
  };
@@ -130,7 +130,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
130
130
  left: "0",
131
131
  right: "0",
132
132
  height: `calc(${props.appStore.headerStyle.top} + ${props.appStore.headerStyle.height})`,
133
- background: props.bridge.themeColors.value.bodyColor,
133
+ background: props.bridge.APP_LAYOUT_BODY_CONFIG.background ?? "var(--el-bg-color-page, #f2f3f5)",
134
+ backgroundAttachment: "fixed",
134
135
  zIndex: 1,
135
136
  pointerEvents: "none"
136
137
  }));
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AppPage.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const AppPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3ef165a7"]]);
4
+ const AppPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d875cc1d"]]);
5
5
  export {
6
6
  AppPage as default
7
7
  };
@@ -4,8 +4,10 @@ import _sfc_main$1 from "../modal/ModalShelf.vue.mjs";
4
4
  import _sfc_main$2 from "../display/WatchSize.vue.mjs";
5
5
  import { computeAppPageReducedViewportHeight, computeAppPageReducedViewportWidth, computeAppPageContentInset, computeAppPageSlotStyles, computeAppPageSlotShimStyles } from "./app-page-geometry.mjs";
6
6
  import { useAppPageContentBox } from "./use-content-box.mjs";
7
- import { BODY_CONTENT_VIEWPORT_RECT, SCOPE_VIEWPORT_MAX_HEIGHT, BODY_CONTENT_VIEWPORT_HEIGHT, BODY_CONTENT_VIEWPORT_INSET, APP_PAGE_CONTENT_INSET } from "../../inject/key.mjs";
7
+ import { APP_PAGE_LIST_LAYOUT_RECOMMENDED } from "./app-page-recommended.mjs";
8
+ import { BODY_CONTENT_VIEWPORT_RECT, APP_LAYOUT_BRIDGE_KEY, SCOPE_VIEWPORT_MAX_HEIGHT, BODY_CONTENT_VIEWPORT_HEIGHT, BODY_CONTENT_VIEWPORT_INSET, APP_PAGE_CONTENT_INSET } from "../../inject/key.mjs";
8
9
  import { useActivated } from "../../hooks/activated.mjs";
10
+ import { gapScaleValue } from "../../utils/gap-scale.mjs";
9
11
  import { SlotRegion } from "../../config/slot-region.mjs";
10
12
  const _hoisted_1 = ["data-dc-slot"];
11
13
  const _hoisted_2 = ["data-dc-slot"];
@@ -24,10 +26,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
26
  nextViewportMaxHeight: { default: `var(--app-viewport-max-height)` },
25
27
  background: {},
26
28
  gap: { default: 8 },
27
- topBg: {},
28
- bottomBg: {},
29
- leftBg: {},
30
- rightBg: {},
29
+ topBg: { default: "var(--el-bg-color)" },
30
+ bottomBg: { default: "var(--el-bg-color)" },
31
+ leftBg: { default: "var(--el-bg-color)" },
32
+ rightBg: { default: "var(--el-bg-color)" },
31
33
  topObserveResize: { type: Boolean, default: false },
32
34
  bottomObserveResize: { type: Boolean, default: false },
33
35
  leftObserveResize: { type: Boolean, default: false },
@@ -37,13 +39,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
39
  },
38
40
  setup(__props) {
39
41
  useCssVars((_ctx) => ({
40
- "v6b53f4c2": pageCssVars.value.top,
41
- "v1c770cbe": pageCssVars.value.bottom,
42
- "ff323606": pageCssVars.value.left,
43
- "e667c834": pageCssVars.value.right,
44
- "e5daf0e0": pageCssVars.value.width,
45
- "v09211ec6": pageCssVars.value.height,
46
- "v0bd4b228": props.nextViewportMaxHeight
42
+ "b28df728": pageCssVars.value.top,
43
+ "d4142898": pageCssVars.value.bottom,
44
+ "v3063bfd0": pageCssVars.value.left,
45
+ "v472ac91a": pageCssVars.value.right,
46
+ "v469df1c6": pageCssVars.value.width,
47
+ "c0be3aa0": pageCssVars.value.height,
48
+ "v52d7da39": props.nextViewportMaxHeight
47
49
  }));
48
50
  const props = __props;
49
51
  const style = computed(() => {
@@ -55,13 +57,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
57
  };
56
58
  });
57
59
  const slots = useSlots();
58
- const listLayoutRecommended = {
59
- customView: true,
60
- tableMainProps: {
61
- pageLayout: "prev, pager, next",
62
- paginationBackground: false
63
- }
64
- };
60
+ const listLayoutRecommended = APP_PAGE_LIST_LAYOUT_RECOMMENDED;
65
61
  const hasTop = computed(() => !!slots.top);
66
62
  const hasBottom = computed(() => !!slots.bottom);
67
63
  const hasLeft = computed(() => !!slots.left);
@@ -121,10 +117,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
117
  const r = injectedRect == null ? void 0 : injectedRect.value;
122
118
  return r ? { top: r.top, left: r.left, right: r.right, bottom: r.bottom } : fallbackRect.value;
123
119
  });
124
- const shimPadding = computed(() => {
125
- var _a;
126
- return ((_a = injectedRect == null ? void 0 : injectedRect.value) == null ? void 0 : _a.shimPadding) ?? 0;
127
- });
120
+ const layoutBridge = inject(APP_LAYOUT_BRIDGE_KEY, void 0);
121
+ const gapBase = computed(
122
+ () => props.gap ?? (layoutBridge == null ? void 0 : layoutBridge.APP_LAYOUT_GAP_CONFIG.size) ?? 8
123
+ );
124
+ const outerGap = computed(
125
+ () => gapScaleValue(gapBase.value, "outer", layoutBridge == null ? void 0 : layoutBridge.themeDensity.value)
126
+ );
128
127
  const slotSizes = computed(() => ({
129
128
  topH: topH.value,
130
129
  bottomH: bottomH.value,
@@ -136,7 +135,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
136
135
  () => computeAppPageReducedViewportHeight(
137
136
  (parentScope == null ? void 0 : parentScope.viewportMaxHeight.value) ?? 0,
138
137
  slotSizes.value,
139
- shimPadding.value
138
+ // 🔴 [MUST] outerGap,[MUST NOT] shimPadding —— 后者 huhyx7 起恒 0
139
+ // (AppBody 写死 `shimPadding: 0`),传它等于「让位不含 gap」,可用高多算
140
+ // 一个外圈档 × 槽数 → refine 内容压槽。同文件 width 一路传的就是 outerGap,
141
+ // 此处是漏改(形参名早已是 outerGap)。
142
+ outerGap.value
140
143
  )
141
144
  );
142
145
  provide(BODY_CONTENT_VIEWPORT_HEIGHT, reducedViewportHeight);
@@ -168,7 +171,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
168
171
  () => computeAppPageReducedViewportWidth(
169
172
  pageBoxWidth.value,
170
173
  slotSizes.value,
171
- shimPadding.value
174
+ outerGap.value
172
175
  )
173
176
  );
174
177
  const { contentGutter } = useAppPageContentBox({
@@ -208,10 +211,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
208
211
  };
209
212
  });
210
213
  const slotStyles = computed(
211
- () => computeAppPageSlotStyles(rectInset.value, topH.value, bottomH.value)
214
+ () => computeAppPageSlotStyles(rectInset.value, slotSizes.value, outerGap.value)
212
215
  );
213
216
  const shimStyles = computed(() => {
214
- const base = computeAppPageSlotShimStyles(shimPadding.value, props.gap);
217
+ const base = computeAppPageSlotShimStyles();
215
218
  return {
216
219
  top: { ...base.top, background: props.topBg },
217
220
  bottom: { ...base.bottom, background: props.bottomBg },
@@ -220,10 +223,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
220
223
  };
221
224
  });
222
225
  const shimStyle = computed(() => {
223
- const sp = shimPadding.value;
226
+ const o = outerGap.value;
224
227
  const g = contentGutter.value;
225
- const inset = (v) => `${Math.max(0, v ? v - sp : 0)}px`;
226
- const insetX = (v) => `${Math.max(0, v ? v - sp : 0) + g}px`;
228
+ const inset = (v) => `${v ? v + o : 0}px`;
229
+ const insetX = (v) => `${(v ? v + o : 0) + g}px`;
227
230
  return {
228
231
  paddingTop: inset(topH.value),
229
232
  paddingBottom: inset(bottomH.value),
@@ -302,7 +305,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
302
305
  style: normalizeStyle(shimStyles.value.left),
303
306
  "data-dc-slot": unref(SlotRegion).AppPage_Left
304
307
  }, [
305
- renderSlot(_ctx.$slots, "left", { listLayoutRecommended }, void 0, true)
308
+ renderSlot(_ctx.$slots, "left", { listLayoutRecommended: unref(listLayoutRecommended) }, void 0, true)
306
309
  ], 12, _hoisted_4)
307
310
  ]),
308
311
  _: 3
@@ -321,7 +324,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
321
324
  style: normalizeStyle(shimStyles.value.right),
322
325
  "data-dc-slot": unref(SlotRegion).AppPage_Right
323
326
  }, [
324
- renderSlot(_ctx.$slots, "right", { listLayoutRecommended }, void 0, true)
327
+ renderSlot(_ctx.$slots, "right", { listLayoutRecommended: unref(listLayoutRecommended) }, void 0, true)
325
328
  ], 12, _hoisted_5)
326
329
  ]),
327
330
  _: 3
@@ -1,16 +1,16 @@
1
- function appPageSlotInset(v, shimPadding) {
2
- return v ? Math.max(0, v - shimPadding) : 0;
1
+ function appPageSlotInset(v, outerGap) {
2
+ return v ? v + outerGap : 0;
3
3
  }
4
- function computeAppPageReducedViewportHeight(bodyViewportHeight, slotSizes, shimPadding) {
4
+ function computeAppPageReducedViewportHeight(bodyViewportHeight, slotSizes, outerGap) {
5
5
  return Math.max(
6
6
  0,
7
- bodyViewportHeight - appPageSlotInset(slotSizes.topH, shimPadding) - appPageSlotInset(slotSizes.bottomH, shimPadding)
7
+ bodyViewportHeight - appPageSlotInset(slotSizes.topH, outerGap) - appPageSlotInset(slotSizes.bottomH, outerGap)
8
8
  );
9
9
  }
10
- function computeAppPageReducedViewportWidth(pageBoxWidth, slotSizes, shimPadding) {
10
+ function computeAppPageReducedViewportWidth(pageBoxWidth, slotSizes, outerGap) {
11
11
  return Math.max(
12
12
  0,
13
- pageBoxWidth - appPageSlotInset(slotSizes.leftW, shimPadding) - appPageSlotInset(slotSizes.rightW, shimPadding)
13
+ pageBoxWidth - appPageSlotInset(slotSizes.leftW, outerGap) - appPageSlotInset(slotSizes.rightW, outerGap)
14
14
  );
15
15
  }
16
16
  function computeAppPageContentInset(appInset, slotSizes, gap) {
@@ -23,10 +23,14 @@ function computeAppPageContentInset(appInset, slotSizes, gap) {
23
23
  };
24
24
  }
25
25
  const APP_PAGE_SLOT_Z_INDEX = 1;
26
- function computeAppPageSlotStyles(rect, topH, bottomH) {
26
+ function computeAppPageSlotStyles(rect, slotSizes, outerGap) {
27
27
  const z = APP_PAGE_SLOT_Z_INDEX;
28
- const midTop = `calc(${rect.top} + ${topH}px)`;
29
- const midBottom = `calc(${rect.bottom} + ${bottomH}px)`;
28
+ const { topH, bottomH } = slotSizes;
29
+ const midTop = `calc(${rect.top} + ${appPageSlotInset(topH, outerGap)}px)`;
30
+ const midBottom = `calc(${rect.bottom} + ${appPageSlotInset(
31
+ bottomH,
32
+ outerGap
33
+ )}px)`;
30
34
  return {
31
35
  top: {
32
36
  position: "fixed",
@@ -58,13 +62,9 @@ function computeAppPageSlotStyles(rect, topH, bottomH) {
58
62
  }
59
63
  };
60
64
  }
61
- function computeAppPageSlotShimStyles(sp, gap) {
62
- return {
63
- top: { padding: `${sp}px ${sp}px ${gap}px ${sp}px` },
64
- bottom: { padding: `${gap}px ${sp}px ${sp}px ${sp}px` },
65
- left: { padding: `0 ${gap}px 0 ${sp}px` },
66
- right: { padding: `0 ${sp}px 0 ${gap}px` }
67
- };
65
+ function computeAppPageSlotShimStyles() {
66
+ const none = { padding: "0" };
67
+ return { top: none, bottom: none, left: none, right: none };
68
68
  }
69
69
  export {
70
70
  APP_PAGE_SLOT_Z_INDEX,
@@ -0,0 +1,10 @@
1
+ const APP_PAGE_LIST_LAYOUT_RECOMMENDED = {
2
+ customView: true,
3
+ tableMainProps: {
4
+ pageLayout: "prev, pager, next",
5
+ paginationBackground: false
6
+ }
7
+ };
8
+ export {
9
+ APP_PAGE_LIST_LAYOUT_RECOMMENDED
10
+ };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./DataGridView.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const DataGridView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-16f88920"]]);
4
+ const DataGridView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-90c0ccf6"]]);
5
5
  export {
6
6
  DataGridView as default
7
7
  };
@@ -1,8 +1,9 @@
1
- import { defineComponent, useModel, shallowRef, ref, computed, onMounted, onActivated, watch, openBlock, createElementBlock, createBlock, unref, withCtx, createVNode, mergeProps, createCommentVNode, createElementVNode, toDisplayString, createTextVNode, normalizeStyle, Fragment, renderList, normalizeClass, renderSlot, resolveDynamicComponent, mergeModels } from "vue";
1
+ import { defineComponent, useCssVars, unref, useModel, shallowRef, ref, computed, onMounted, onActivated, watch, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, createVNode, mergeProps, createCommentVNode, createElementVNode, toDisplayString, createTextVNode, normalizeStyle, Fragment, renderList, renderSlot, resolveDynamicComponent, mergeModels } from "vue";
2
2
  import { ElButton } from "element-plus";
3
3
  import TableToolbar from "../table/TableToolbar.vue.mjs";
4
4
  import _sfc_main$2 from "../table/TableEmpty.vue.mjs";
5
5
  import TableSkeleton from "../table/TableSkeleton.vue.mjs";
6
+ import { useSurface } from "../../hooks/use-surface.mjs";
6
7
  import _sfc_main$1 from "../display/WatchSize.vue.mjs";
7
8
  import _cloneDeep from "lodash/cloneDeep";
8
9
  import _set from "lodash/set";
@@ -15,12 +16,11 @@ import { useBreakpoint } from "../../hooks/use-breakpoint.mjs";
15
16
  import { pickExportColumns } from "../../utils/export.mjs";
16
17
  import { useChannelViewportHeight } from "../../hooks/use-channel-viewport-height.mjs";
17
18
  import { APP_API_LIST_MODEL_KEY_CONFIG } from "../../config/list-model.mjs";
18
- const _hoisted_1 = { class: "dc-data-grid-view data-grid-view" };
19
- const _hoisted_2 = ["onClick"];
20
- const _hoisted_3 = { class: "data-grid-view__card" };
21
- const _hoisted_4 = { class: "data-grid-view__field-label" };
22
- const _hoisted_5 = { class: "data-grid-view__field-value" };
23
- const _hoisted_6 = {
19
+ const _hoisted_1 = ["onClick"];
20
+ const _hoisted_2 = { class: "data-grid-view__card" };
21
+ const _hoisted_3 = { class: "data-grid-view__field-label" };
22
+ const _hoisted_4 = { class: "data-grid-view__field-value" };
23
+ const _hoisted_5 = {
24
24
  key: 0,
25
25
  class: "data-grid-view__empty-error"
26
26
  };
@@ -33,6 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  query: {},
34
34
  pageSizeInit: { default: 20 },
35
35
  gridColumns: { default: 4 },
36
+ surface: { type: Boolean, default: void 0 },
36
37
  maxHeight: { default: "100vh" },
37
38
  refine: { type: Boolean, default: true },
38
39
  refineReduceHeight: { default: 0 },
@@ -59,6 +60,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
59
60
  }),
60
61
  emits: /* @__PURE__ */ mergeModels(["pageChange", "pageSizeChange", "dataChange", "selectionChange", "loadingChange", "pageInfoChange"], ["update:isAutoRefresh", "update:refreshInterval", "update:activeId", "update:activeData"]),
61
62
  setup(__props, { expose: __expose, emit: __emit }) {
63
+ useCssVars((_ctx) => ({
64
+ "c829655a": unref(surfacePadCss)
65
+ }));
62
66
  const props = __props;
63
67
  const emits = __emit;
64
68
  const isAutoRefresh = useModel(__props, "isAutoRefresh");
@@ -305,22 +309,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
305
309
  toolbarHeight.value = h;
306
310
  };
307
311
  const { viewportHeightFinal } = useChannelViewportHeight(props);
312
+ const { surfaceActive, surfacePad, surfacePadCss } = useSurface(() => props);
308
313
  const toolbarHeightAdjust = computed(
309
314
  () => props.showToolbar ? toolbarHeight.value : 0
310
315
  );
311
316
  const rawAvailableHeight = computed(() => {
317
+ const pad = surfacePad.value * 2;
312
318
  if (typeof props.maxHeight === "number") {
313
- return props.maxHeight - toolbarHeightAdjust.value;
319
+ return props.maxHeight - pad - toolbarHeightAdjust.value;
314
320
  }
315
321
  if (props.refine) {
316
- return viewportHeightFinal.value - toolbarHeightAdjust.value - props.refineReduceHeight;
322
+ return viewportHeightFinal.value - pad - toolbarHeightAdjust.value - props.refineReduceHeight;
317
323
  }
318
324
  return props.maxHeight;
319
325
  });
326
+ const hasHeightSource = computed(
327
+ () => props.maxHeight !== void 0 || viewportHeightFinal.value > 0
328
+ );
320
329
  const tableMaxHeight = computed(() => {
321
330
  const raw = rawAvailableHeight.value;
322
331
  if (raw === void 0) return void 0;
323
- return typeof raw === "number" ? Math.max(raw, props.dataViewMaxHeightMinValue) : raw;
332
+ if (typeof raw !== "number") return raw;
333
+ return hasHeightSource.value ? Math.max(raw, 0) : Math.max(raw, props.dataViewMaxHeightMinValue);
324
334
  });
325
335
  const skeletonMaxHeight = computed(
326
336
  () => typeof tableMaxHeight.value === "number" ? tableMaxHeight.value : void 0
@@ -361,7 +371,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
361
371
  emits("loadingChange", n);
362
372
  });
363
373
  return (_ctx, _cache) => {
364
- return openBlock(), createElementBlock("div", _hoisted_1, [
374
+ return openBlock(), createElementBlock("div", {
375
+ class: normalizeClass(["dc-data-grid-view data-grid-view", { "data-grid-view_surface": unref(surfaceActive) }])
376
+ }, [
365
377
  __props.showToolbar ? (openBlock(), createBlock(unref(_sfc_main$1), {
366
378
  key: 0,
367
379
  class: "dc-data-grid-view__toolbar",
@@ -416,14 +428,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
416
428
  onClick: ($event) => unref(setActive)(row)
417
429
  }, [
418
430
  renderSlot(_ctx.$slots, "custom-view-item", mergeProps({ ref_for: true }, assertItemScope(row, index * gridColumnsFinal.value + colIndex)), () => [
419
- createElementVNode("div", _hoisted_3, [
431
+ createElementVNode("div", _hoisted_2, [
420
432
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
421
433
  return openBlock(), createElementBlock("div", {
422
434
  key: column.prop ?? column.type,
423
435
  class: "data-grid-view__field"
424
436
  }, [
425
- createElementVNode("span", _hoisted_4, toDisplayString(column.label ?? column.prop) + ":", 1),
426
- createElementVNode("span", _hoisted_5, [
437
+ createElementVNode("span", _hoisted_3, toDisplayString(column.label ?? column.prop) + ":", 1),
438
+ createElementVNode("span", _hoisted_4, [
427
439
  (openBlock(), createBlock(resolveDynamicComponent(unref(fieldComponentMap)[fieldKeyOf(column)]), {
428
440
  row,
429
441
  index: index * gridColumnsFinal.value + colIndex,
@@ -435,12 +447,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
435
447
  }), 128))
436
448
  ])
437
449
  ], true)
438
- ], 10, _hoisted_2);
450
+ ], 10, _hoisted_1);
439
451
  }), 128))
440
452
  ], 4)
441
453
  ]),
442
454
  empty: withCtx(() => [
443
- error.value && !store.value.length ? (openBlock(), createElementBlock("div", _hoisted_6, [
455
+ error.value && !store.value.length ? (openBlock(), createElementBlock("div", _hoisted_5, [
444
456
  createElementVNode("span", null, toDisplayString(errorText.value), 1),
445
457
  createVNode(unref(ElButton), {
446
458
  size: "small",
@@ -459,7 +471,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
459
471
  ]),
460
472
  _: 3
461
473
  }, 16, ["data", "loading", "loading-more", "error", "finished", "max-height"]))
462
- ]);
474
+ ], 2);
463
475
  };
464
476
  }
465
477
  });
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./DataListView.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const DataListView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-467a86a8"]]);
4
+ const DataListView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0d316a42"]]);
5
5
  export {
6
6
  DataListView as default
7
7
  };
@@ -4,6 +4,7 @@ import DataListViewItem from "./DataListViewItem.vue.mjs";
4
4
  import { createDataListViewInstance } from "./utils.mjs";
5
5
  import { useDataViewFieldMap } from "./use-data-view-field-map.mjs";
6
6
  import { useActiveRecord, activeRecordValueOf } from "../../hooks/use-active-record.mjs";
7
+ import { useActiveScroll } from "./use-active-scroll.mjs";
7
8
  const _hoisted_1 = {
8
9
  key: 1,
9
10
  class: "data-list-view-empty"
@@ -11,6 +12,7 @@ const _hoisted_1 = {
11
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
12
13
  __name: "DataListView",
13
14
  props: /* @__PURE__ */ mergeModels({
15
+ activeScroll: { type: Boolean, default: true },
14
16
  data: {},
15
17
  rowKey: {},
16
18
  columns: {},
@@ -45,6 +47,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
47
  });
46
48
  const activeId = useModel(__props, "activeId");
47
49
  const activeData = useModel(__props, "activeData");
50
+ const listRoot = ref();
48
51
  const { isActive, setActive } = useActiveRecord({
49
52
  data: () => props.data,
50
53
  // 出口值保原始类型(数字 id 出数字);比对由 hook 内部 String 归一,与渲染用的 keyOf 不冲突
@@ -53,6 +56,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
56
  activeData,
54
57
  name: "DataListView"
55
58
  });
59
+ useActiveScroll({
60
+ enabled: () => props.activeScroll,
61
+ activeId,
62
+ container: () => listRoot.value
63
+ });
56
64
  const selectedKeys = ref(/* @__PURE__ */ new Set());
57
65
  const selectAll = computed(() => selectedKeys.value.size === props.data.length);
58
66
  const isSelected = (row) => props.selectable && selectedKeys.value.has(keyOf(row));
@@ -98,6 +106,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
106
  );
99
107
  return (_ctx, _cache) => {
100
108
  return openBlock(), createElementBlock("div", {
109
+ ref_key: "listRoot",
110
+ ref: listRoot,
101
111
  class: "data-list-view",
102
112
  style: normalizeStyle(containerStyle.value)
103
113
  }, [
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./InfiniteListView.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const InfiniteListView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e597453f"]]);
4
+ const InfiniteListView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6539caa4"]]);
5
5
  export {
6
6
  InfiniteListView as default
7
7
  };
@@ -1,6 +1,7 @@
1
- import { defineComponent, ref, computed, watch, nextTick, openBlock, createElementBlock, unref, normalizeStyle, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, renderSlot, createVNode } from "vue";
1
+ import { defineComponent, useCssVars, unref, ref, computed, watch, nextTick, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, renderSlot, createVNode } from "vue";
2
2
  import { ElEmpty } from "element-plus";
3
3
  import { useVirtualizer } from "@tanstack/vue-virtual";
4
+ import { useSurface } from "../../hooks/use-surface.mjs";
4
5
  import { usePullRefresh } from "./use-pull-refresh.mjs";
5
6
  import { useActivated } from "../../hooks/activated.mjs";
6
7
  const _hoisted_1 = ["data-index"];
@@ -29,15 +30,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
30
  errorText: { default: "加载失败,点击重试" },
30
31
  estimateSize: { default: 200 },
31
32
  overscan: { default: 5 },
33
+ surface: { type: Boolean, default: void 0 },
32
34
  maxHeight: { default: void 0 },
33
35
  pullRefresh: { type: Boolean, default: false }
34
36
  },
35
37
  emits: ["loadMore", "retry", "refresh"],
36
38
  setup(__props, { expose: __expose, emit: __emit }) {
39
+ useCssVars((_ctx) => ({
40
+ "v0d4fd951": unref(surfacePadCss)
41
+ }));
37
42
  const props = __props;
38
43
  const emits = __emit;
39
44
  const scrollContainer = ref();
40
45
  const sentinel = ref();
46
+ const { surfaceActive, surfacePadCss } = useSurface(() => props);
41
47
  const containerStyle = computed(
42
48
  () => props.maxHeight ? {
43
49
  maxHeight: typeof props.maxHeight === "number" ? `${props.maxHeight}px` : props.maxHeight,
@@ -125,7 +131,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
125
131
  return openBlock(), createElementBlock("div", {
126
132
  ref_key: "scrollContainer",
127
133
  ref: scrollContainer,
128
- class: "dc-infinite-list-view infinite-list-view",
134
+ class: normalizeClass(["dc-infinite-list-view infinite-list-view", { "infinite-list-view_surface": unref(surfaceActive) }]),
129
135
  style: normalizeStyle(containerStyle.value),
130
136
  onTouchstartPassive: _cache[0] || (_cache[0] = //@ts-ignore
131
137
  (...args) => unref(onTouchStart) && unref(onTouchStart)(...args)),
@@ -196,7 +202,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
196
202
  createVNode(unref(ElEmpty))
197
203
  ], true)
198
204
  ]))
199
- ], 36);
205
+ ], 38);
200
206
  };
201
207
  }
202
208
  });