@dazhicheng/ui 1.6.19 → 1.6.21

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 (49) hide show
  1. package/dist/components/tt-form/index.d.ts +2 -2
  2. package/dist/components/tt-form/src/formApi.d.ts +11 -2
  3. package/dist/components/tt-form/src/group-form/LazyFormField.vue.js +162 -114
  4. package/dist/components/tt-form/src/group-form/groupFormApi.js +0 -6
  5. package/dist/components/tt-form/src/group-form/lazyContext.d.ts +18 -0
  6. package/dist/components/tt-form/src/group-form/lazyContext.js +64 -36
  7. package/dist/components/tt-form/src/group-form/types.d.ts +39 -6
  8. package/dist/components/tt-form/src/group-form/useGroupForm.d.ts +7 -5
  9. package/dist/components/tt-form/src/types.d.ts +58 -26
  10. package/dist/components/tt-form/src/useForm.d.ts +1 -1
  11. package/dist/components/tt-form/src/useForm.js +5 -5
  12. package/dist/components/tt-modal/index.d.ts +1 -0
  13. package/dist/components/tt-modal/index.js +8 -3
  14. package/dist/components/tt-modal/src/RenderModal.vue.js +224 -210
  15. package/dist/components/tt-modal/src/hooks/useModalRender.js +66 -67
  16. package/dist/components/tt-modal/src/index.js +9 -7
  17. package/dist/components/tt-modal/src/utils/modal-api.d.ts +9 -3
  18. package/dist/components/tt-modal/src/utils/modal-api.js +42 -36
  19. package/dist/components/tt-modal/src/utils/modal-close-transition.d.ts +13 -0
  20. package/dist/components/tt-modal/src/utils/modal-close-transition.js +13 -0
  21. package/dist/components/tt-modal/src/utils/modal-host-app.d.ts +5 -0
  22. package/dist/components/tt-modal/src/utils/modal-host-app.js +12 -0
  23. package/dist/components/tt-modal/src/utils/modal-scope.d.ts +21 -0
  24. package/dist/components/tt-modal/src/utils/modal-scope.js +20 -0
  25. package/dist/components/tt-modal/src/utils/modal-service.d.ts +23 -0
  26. package/dist/components/tt-modal/src/utils/modal-service.js +51 -0
  27. package/dist/components/tt-modal/src/utils/modal-stack.d.ts +14 -13
  28. package/dist/components/tt-modal/src/utils/modal-stack.js +20 -9
  29. package/dist/components/tt-modal/src/utils/modal-z-index.d.ts +15 -0
  30. package/dist/components/tt-modal/src/utils/modal-z-index.js +24 -0
  31. package/dist/components/tt-modal/src/utils/resolve-modal-target.d.ts +14 -0
  32. package/dist/components/tt-modal/src/utils/resolve-modal-target.js +83 -47
  33. package/dist/components/tt-modal-form/props.d.ts +9 -4
  34. package/dist/components/tt-modal-form/useModalForm.d.ts +1 -1
  35. package/dist/components/tt-table/index.d.ts +15 -0
  36. package/dist/components/tt-table/src/Table.vue.d.ts +9 -0
  37. package/dist/components/tt-table/src/Table.vue.js +240 -242
  38. package/dist/components/tt-table/src/TableForm.vue.d.ts +7 -5
  39. package/dist/components/tt-table/src/TableForm.vue.js +199 -180
  40. package/dist/components/tt-table/src/hooks/usePagination.d.ts +1 -1
  41. package/dist/components/tt-table/src/hooks/usePagination.js +38 -24
  42. package/dist/components/tt-table/src/hooks/useTableRender.d.ts +4 -4
  43. package/dist/components/tt-table/src/props.d.ts +6 -0
  44. package/dist/components/tt-table/src/props.js +5 -0
  45. package/dist/components/tt-table/src/types/table.d.ts +8 -0
  46. package/dist/components/tt-table/src/types/tableForm.d.ts +29 -14
  47. package/dist/components/tt-table/src/utils/table-form-api.d.ts +11 -11
  48. package/dist/index.js +132 -127
  49. package/package.json +1 -1
@@ -1,28 +1,39 @@
1
+ import { getModalScopeKey as i } from "./modal-scope.js";
1
2
  const n = [];
3
+ function a() {
4
+ const e = i();
5
+ return n.filter((t) => t.scope === e).map((t) => t.uid);
6
+ }
2
7
  let r = !1;
3
- function u(e) {
8
+ function s(e) {
4
9
  if (!e || !(e instanceof HTMLElement)) return !1;
5
10
  const t = e.tagName;
6
11
  return !!(t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable || e.closest(
7
12
  ".el-select, .el-select-v2, .el-cascader, .el-date-editor, .el-time-picker, .el-color-picker, .el-input, .el-textarea, .el-autocomplete, .el-input-number, .el-mention"
8
13
  ));
9
14
  }
10
- function i(e) {
15
+ function c(e) {
11
16
  if (e.key !== "Escape" && e.key !== "Esc" || n.length === 0) return;
12
17
  const t = e.target ?? document.activeElement;
13
- if (u(t))
18
+ if (s(t))
14
19
  return;
15
20
  const o = n[n.length - 1];
16
21
  o && (e.stopPropagation(), o.close());
17
22
  }
18
- function l(e) {
19
- c(e.uid), n.push(e), !r && typeof document < "u" && (document.addEventListener("keydown", i), r = !0);
23
+ function d(e) {
24
+ l(e.uid), n.push({ ...e, scope: i() }), !r && typeof document < "u" && (document.addEventListener("keydown", c), r = !0);
20
25
  }
21
- function c(e) {
26
+ function f() {
27
+ const e = i();
28
+ n.filter((t) => t.scope === e).reverse().forEach((t) => t.close());
29
+ }
30
+ function l(e) {
22
31
  const t = n.findIndex((o) => o.uid === e);
23
- t !== -1 && n.splice(t, 1), n.length === 0 && r && typeof document < "u" && (document.removeEventListener("keydown", i), r = !1);
32
+ t !== -1 && n.splice(t, 1), n.length === 0 && r && typeof document < "u" && (document.removeEventListener("keydown", c), r = !1);
24
33
  }
25
34
  export {
26
- l as pushModal,
27
- c as removeModal
35
+ f as closeAllModals,
36
+ a as getOpenModalUids,
37
+ d as pushModal,
38
+ l as removeModal
28
39
  };
@@ -0,0 +1,15 @@
1
+ import { useZIndex } from 'element-plus';
2
+ /** element-plus 层级计数器句柄,必须由组件在 setup 里取才能继承 ElConfigProvider 的基准 */
3
+ export type ElementPlusZIndex = ReturnType<typeof useZIndex>;
4
+ /** 当前已打开弹窗里的最高层级 */
5
+ export declare function getOpenModalMaxZIndex(): number;
6
+ /**
7
+ * 申请一个高于当前所有已打开弹窗的层级。
8
+ *
9
+ * 起点取 element-plus 的 nextZIndex,保证 ElConfigProvider 配的基准仍生效;
10
+ * 但它是模块级计数器,微前端下多份 element-plus 各自起算会让后开的拿到更小的值,
11
+ * 所以再用页面上已打开遮罩的实际层级兜一层。
12
+ * @param elementPlusZIndex 计数器句柄
13
+ * @returns 本次弹窗应使用的 z-index
14
+ */
15
+ export declare function allocateModalZIndex(elementPlusZIndex: ElementPlusZIndex): number;
@@ -0,0 +1,24 @@
1
+ import { getOpenModalOverlays as r, readOverlayZIndex as x } from "./resolve-modal-target.js";
2
+ const a = 1, c = 2e3;
3
+ let o = 0;
4
+ function s() {
5
+ return r().reduce((n, e) => Math.max(n, x(e)), 0);
6
+ }
7
+ function I(n, e) {
8
+ const { currentZIndex: d, nextZIndex: l } = n;
9
+ let t = 0;
10
+ for (; d.value <= e && t < c; )
11
+ l(), t += 1;
12
+ }
13
+ function u(n) {
14
+ const e = Math.max(
15
+ n.nextZIndex(),
16
+ s() + a,
17
+ o + a
18
+ );
19
+ return o = e, I(n, e), e;
20
+ }
21
+ export {
22
+ u as allocateModalZIndex,
23
+ s as getOpenModalMaxZIndex
24
+ };
@@ -1,4 +1,6 @@
1
1
  export declare const MODAL_OVERLAY_CONTAINED_CLASS = "tt-modal-overlay--contained";
2
+ /** 遮罩的稳定标记类。modal 为 false 时 element-plus 不输出 el-overlay,故不能用它定位 */
3
+ export declare const MODAL_OVERLAY_CLASS = "tt-modal-overlay";
2
4
  /** 注入全局样式,避免仅依赖 Vue SFC / scopecss 导致 absolute 未生效 */
3
5
  export declare function ensureContainedOverlayStyle(doc?: Document): void;
4
6
  /** 用内联样式强制区域遮罩,压过 EP 的 position:fixed(含内部 overlay-dialog) */
@@ -12,6 +14,18 @@ export declare function suspendOverlayByUid(uid: string | number, doc?: Document
12
14
  export declare function watchOverlayThenSuspend(uid: string | number, doc?: Document, timeoutMs?: number): () => void;
13
15
  /** KeepAlive / 切回:恢复未关闭的弹窗遮罩 */
14
16
  export declare function resumeOverlayByUid(uid: string | number, doc?: Document): void;
17
+ /** 读取遮罩的层级数值,auto / 空值按 0 计 */
18
+ export declare function readOverlayZIndex(el: HTMLElement): number;
19
+ /** 页面上仍显示着的弹窗遮罩,切页挂起的不算;扫真实 document 以覆盖其它子应用 */
20
+ export declare function getOpenModalOverlays(doc?: Document): HTMLElement[];
21
+ /**
22
+ * 已打开弹窗中层级最高的那个遮罩所在的容器。
23
+ * 后开的弹窗挂到同一容器层级才可比——不同容器可能分属不同 stacking context。
24
+ * @param excludeUid 排除自身的组件 uid
25
+ * @param ownTarget 自身挂载目标,用于限制在同一子应用内
26
+ * @param doc 起点 document
27
+ */
28
+ export declare function findTopOpenModalOverlayHost(excludeUid?: number, ownTarget?: HTMLElement | null, doc?: Document): HTMLElement | null;
15
29
  /**
16
30
  * 解析弹窗 Teleport 目标。无可用节点时返回 null,由调用方回退 body。
17
31
  * 子应用只要处在 micro 环境,尽量返回内容区节点(含 micro-app-body),以便加 contained class。
@@ -1,5 +1,7 @@
1
- const a = "tt-modal-overlay--contained", u = "tt-modal-overlay-contained-style-v2";
2
- function y(t = document) {
1
+ import { getClientDocument as S, isSameMicroAppScope as _, resolveScanDocument as C } from "./modal-scope.js";
2
+ import { getOpenModalUids as O } from "./modal-stack.js";
3
+ const A = 48, m = 8, a = "tt-modal-overlay--contained", E = "tt-modal-overlay", y = "tt-modal-overlay-contained-style-v2";
4
+ function M(t = document) {
3
5
  var r;
4
6
  if (typeof t > "u") return;
5
7
  const o = `
@@ -40,112 +42,146 @@ function y(t = document) {
40
42
  overflow: auto !important;
41
43
  }
42
44
  `.trim();
43
- let e = t.getElementById(u);
45
+ let e = t.getElementById(y);
44
46
  if (e) {
45
47
  e.textContent = o;
46
48
  return;
47
49
  }
48
- (r = t.getElementById("tt-modal-overlay-contained-style")) == null || r.remove(), e = t.createElement("style"), e.id = u, e.textContent = o;
50
+ (r = t.getElementById("tt-modal-overlay-contained-style")) == null || r.remove(), e = t.createElement("style"), e.id = y, e.textContent = o;
49
51
  const n = t.head || t.documentElement;
50
52
  n == null || n.appendChild(e);
51
53
  }
52
- function p(t) {
54
+ function f(t) {
53
55
  t.style.setProperty("position", "absolute", "important"), t.style.setProperty("top", "0", "important"), t.style.setProperty("right", "0", "important"), t.style.setProperty("bottom", "0", "important"), t.style.setProperty("left", "0", "important"), t.style.setProperty("height", "100%", "important");
54
56
  }
55
- function f(t, o = document) {
57
+ function v(t) {
58
+ ["position", "top", "right", "bottom", "left", "height"].forEach((o) => t.style.removeProperty(o));
59
+ }
60
+ function w(t, o = document) {
56
61
  const e = o.querySelector(`.el-overlay.tt-id-${t}`);
57
62
  if (!e) return;
58
- const n = !!e.closest("micro-app-body");
59
- if (!e.classList.contains(a) && !n) return;
60
- p(e);
61
- const r = e.querySelector(".el-overlay-dialog");
62
- r && p(r);
63
+ const n = e.querySelector(".el-overlay-dialog"), r = !!e.closest("micro-app-body");
64
+ if (!e.classList.contains(a) && !r) {
65
+ v(e), n && v(n);
66
+ return;
67
+ }
68
+ f(e), n && f(n);
63
69
  }
64
- function m(t, o = document) {
70
+ function g(t, o = document) {
65
71
  const e = o.querySelector(`.el-overlay.tt-id-${t}`);
66
72
  return e ? (e.dataset.ttModalSuspended = "1", e.style.setProperty("display", "none", "important"), !0) : !1;
67
73
  }
68
- function b(t, o = document, e = 3e3) {
69
- if (m(t, o)) return () => {
74
+ function B(t, o = document, e = 3e3) {
75
+ if (g(t, o)) return () => {
70
76
  };
71
77
  const n = o.body || o.documentElement;
72
78
  if (!n) return () => {
73
79
  };
74
80
  let r = !1;
75
81
  const i = () => {
76
- r || (r = !0, s.disconnect(), clearTimeout(d));
82
+ r || (r = !0, s.disconnect(), clearTimeout(c));
77
83
  }, s = new MutationObserver(() => {
78
- m(t, o) && i();
84
+ g(t, o) && i();
79
85
  });
80
86
  s.observe(n, { childList: !0, subtree: !0 });
81
- const d = window.setTimeout(i, e);
87
+ const c = window.setTimeout(i, e);
82
88
  return i;
83
89
  }
84
- function C(t, o = document) {
90
+ function D(t, o = document) {
85
91
  const e = o.querySelector(`.el-overlay.tt-id-${t}`);
86
- !e || e.dataset.ttModalSuspended !== "1" || (delete e.dataset.ttModalSuspended, e.style.removeProperty("display"), f(t, o));
92
+ !e || e.dataset.ttModalSuspended !== "1" || (delete e.dataset.ttModalSuspended, e.style.removeProperty("display"), w(t, o));
87
93
  }
88
- function v(t) {
94
+ function h(t) {
95
+ const o = t.style.zIndex || getComputedStyle(t).zIndex, e = Number.parseInt(o, 10);
96
+ return Number.isNaN(e) ? 0 : e;
97
+ }
98
+ function I(t) {
99
+ const o = t ?? S();
100
+ return o ? Array.from(C(o).querySelectorAll(`.${E}`)).filter(
101
+ (e) => e.isConnected && e.dataset.ttModalSuspended !== "1" && e.style.display !== "none"
102
+ ) : [];
103
+ }
104
+ function H(t, o, e) {
105
+ const n = S(), r = o ?? (n == null ? void 0 : n.body);
106
+ if (!n || !r) return null;
107
+ const i = O().map((l) => `tt-id-${l}`), s = I(n).filter((l) => {
108
+ if (t != null && l.classList.contains(`tt-id-${t}`) || !i.some((b) => l.classList.contains(b))) return !1;
109
+ const u = l.parentElement;
110
+ return !!u && _(u, r);
111
+ });
112
+ return s.length === 0 ? null : s.reduce((l, u) => h(u) >= h(l) ? u : l).parentElement;
113
+ }
114
+ function P(t) {
89
115
  return t.isConnected ? t.getClientRects().length > 0 : !1;
90
116
  }
91
- function g(t) {
92
- return t.isConnected ? (t.clientHeight || t.getBoundingClientRect().height) >= 48 : !1;
117
+ function T(t) {
118
+ return t.isConnected ? (t.clientHeight || t.getBoundingClientRect().height) >= A : !1;
93
119
  }
94
- function c(t) {
120
+ function x(t) {
121
+ const o = window.innerHeight || document.documentElement.clientHeight || 0;
122
+ if (o === 0) return !0;
123
+ const e = t.getBoundingClientRect();
124
+ return e.height > o + m ? !1 : e.top >= -m;
125
+ }
126
+ function p(t) {
95
127
  return !!t.closest("micro-app-body");
96
128
  }
97
- function l(t, o = !0) {
98
- return !t || !t.isConnected || o && !g(t) || o && !v(t) ? null : t;
129
+ function d(t, o = !0) {
130
+ return !t || !t.isConnected || o && !T(t) || o && !P(t) ? null : t;
99
131
  }
100
- function h(t) {
132
+ function N(t) {
101
133
  getComputedStyle(t).position === "static" && (t.style.position = "relative");
102
134
  }
103
- function _() {
135
+ function R() {
104
136
  const t = window.__MICRO_APP_NAME__;
105
137
  if (t) {
106
- const i = typeof CSS < "u" && CSS.escape ? CSS.escape(t) : t, s = document.querySelector(`micro-app[name="${i}"] micro-app-body #app`), d = l(s, !1);
107
- if (d) return d;
138
+ const i = typeof CSS < "u" && CSS.escape ? CSS.escape(t) : t, s = document.querySelector(`micro-app[name="${i}"] micro-app-body #app`), c = d(s, !1);
139
+ if (c) return c;
108
140
  }
109
141
  const o = document.querySelector("#app");
110
142
  if (o) {
111
- const i = l(o, !1);
143
+ const i = d(o, !1);
112
144
  return i || o;
113
145
  }
114
146
  const e = document.querySelector("micro-app-body #app");
115
147
  if (e) {
116
- const i = l(e, !1);
148
+ const i = d(e, !1);
117
149
  if (i) return i;
118
150
  }
119
151
  const n = document.body;
120
- return n && (n.tagName === "MICRO-APP-BODY" || c(n)) ? n : document.querySelector("micro-app-body");
152
+ return n && (n.tagName === "MICRO-APP-BODY" || p(n)) ? n : document.querySelector("micro-app-body");
121
153
  }
122
- function S() {
154
+ function $() {
123
155
  const t = document.querySelector("#app-content");
124
- if (t && !c(t)) {
125
- const e = l(t, !0);
156
+ if (t && !p(t)) {
157
+ const e = d(t, !0);
126
158
  if (e) return e;
127
159
  }
128
160
  const o = document.querySelectorAll("#app");
129
161
  for (const e of Array.from(o)) {
130
162
  const n = e;
131
- if (c(n)) continue;
132
- const r = l(n, !0);
163
+ if (p(n)) continue;
164
+ const r = d(n, !0);
133
165
  if (r) return r;
134
166
  }
135
167
  return null;
136
168
  }
137
- function A() {
169
+ function V() {
138
170
  if (typeof document > "u") return null;
139
- y();
140
- const t = window.__MICRO_APP_ENVIRONMENT__ ? _() : S();
141
- return t && h(t), t;
171
+ M();
172
+ const t = window.__MICRO_APP_ENVIRONMENT__ ? R() : $();
173
+ return !t || !x(t) ? null : (N(t), t);
142
174
  }
143
175
  export {
176
+ E as MODAL_OVERLAY_CLASS,
144
177
  a as MODAL_OVERLAY_CONTAINED_CLASS,
145
- f as applyContainedOverlayInline,
146
- y as ensureContainedOverlayStyle,
147
- A as resolveModalTarget,
148
- C as resumeOverlayByUid,
149
- m as suspendOverlayByUid,
150
- b as watchOverlayThenSuspend
178
+ w as applyContainedOverlayInline,
179
+ M as ensureContainedOverlayStyle,
180
+ H as findTopOpenModalOverlayHost,
181
+ I as getOpenModalOverlays,
182
+ h as readOverlayZIndex,
183
+ V as resolveModalTarget,
184
+ D as resumeOverlayByUid,
185
+ g as suspendOverlayByUid,
186
+ B as watchOverlayThenSuspend
151
187
  };
@@ -1,9 +1,14 @@
1
- import { GroupFormApi, TtExtendedFormApi, TtFormProps, UseGroupFormOptions } from '../tt-form';
1
+ import { ExtendedGroupFormApi, TtExtendedFormApi, TtFormProps, UseGroupFormOptions } from '../tt-form';
2
2
  import { ModalApiOptions, TtModalExtendedModalApi } from '../tt-modal';
3
3
  /** modal-form 使用的表单类型。 */
4
4
  export type ModalFormType = "form" | "groupForm";
5
- /** modal-form 对外暴露的表单 API 类型。 */
6
- export type ModalFormApi<TType extends ModalFormType = "form"> = TType extends "groupForm" ? GroupFormApi : TtExtendedFormApi;
5
+ /**
6
+ * modal-form 对外暴露的表单 API 类型。
7
+ *
8
+ * `TValues` 跟着 `formProps` 走,`getFormApi` 拿到的 api 上 `getValues` / `setState({ schema })`
9
+ * 等方法也按业务的值类型收窄。
10
+ */
11
+ export type ModalFormApi<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>> = TType extends "groupForm" ? ExtendedGroupFormApi<TValues> : TtExtendedFormApi<TValues>;
7
12
  /** 根据表单类型收窄的表单配置。 */
8
13
  type ModalFormProps<TValues extends Record<string, any>, TType extends ModalFormType> = TType extends "groupForm" ? Partial<UseGroupFormOptions<TValues>> : Partial<TtFormProps<TValues>>;
9
14
  export type TtModalFormProps<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>> = {
@@ -40,7 +45,7 @@ export type TtModalFormProps<TType extends ModalFormType = "form", TValues exten
40
45
  /** modal props */
41
46
  modalProps?: ModalApiOptions;
42
47
  /** 获取formApi的回调 */
43
- getFormApi?: (api: ModalFormApi<TType>) => void;
48
+ getFormApi?: (api: ModalFormApi<TType, TValues>) => void;
44
49
  /** 获取modalApi的回调 */
45
50
  getModalApi?: (api: TtModalExtendedModalApi) => void;
46
51
  /** 处理TtSelect(非多选回显值) */
@@ -2,6 +2,6 @@ import { TtModalExtendedModalApi } from '../tt-modal';
2
2
  import { ModalFormApi, ModalFormType, TtModalFormProps } from './props';
3
3
  /** 创建普通表单或分组表单的弹窗表单。 */
4
4
  export declare function useModalForm<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>>(options: TtModalFormProps<TType, TValues>): readonly [import('vue').DefineSetupFnComponent<Partial<TtModalFormProps<ModalFormType>>, {}, {}, Partial<TtModalFormProps<ModalFormType>> & {}, import('vue').PublicProps>, {
5
- readonly formApi: import('vue').Ref<ModalFormApi<TType> | undefined, ModalFormApi<TType> | undefined>;
5
+ readonly formApi: import('vue').Ref<ModalFormApi<TType, TValues> | undefined, ModalFormApi<TType, TValues> | undefined>;
6
6
  readonly modalApi: import('vue').Ref<TtModalExtendedModalApi | undefined, TtModalExtendedModalApi | undefined>;
7
7
  }];
@@ -207,6 +207,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
207
207
  type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
208
208
  default: null;
209
209
  };
210
+ beforePageChange: {
211
+ type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
212
+ default: null;
213
+ };
210
214
  data: {
211
215
  type: import('vue').PropType<import('.').TtTableProps["data"]>;
212
216
  default: () => import('.').TtTableProps["data"];
@@ -523,6 +527,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
523
527
  api: (...arg: any[]) => Promise<any>;
524
528
  afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
525
529
  beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
530
+ beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
526
531
  }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
527
532
  wrapRef: HTMLDivElement;
528
533
  xGrid: (import('vxe-table').VxeGridMethods<any> & {
@@ -894,6 +899,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
894
899
  type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
895
900
  default: null;
896
901
  };
902
+ beforePageChange: {
903
+ type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
904
+ default: null;
905
+ };
897
906
  data: {
898
907
  type: import('vue').PropType<import('.').TtTableProps["data"]>;
899
908
  default: () => import('.').TtTableProps["data"];
@@ -1208,6 +1217,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
1208
1217
  api: (...arg: any[]) => Promise<any>;
1209
1218
  afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
1210
1219
  beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
1220
+ beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
1211
1221
  }>;
1212
1222
  __isFragment?: never;
1213
1223
  __isTeleport?: never;
@@ -1312,6 +1322,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
1312
1322
  type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
1313
1323
  default: null;
1314
1324
  };
1325
+ beforePageChange: {
1326
+ type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
1327
+ default: null;
1328
+ };
1315
1329
  data: {
1316
1330
  type: import('vue').PropType<import('.').TtTableProps["data"]>;
1317
1331
  default: () => import('.').TtTableProps["data"];
@@ -1628,6 +1642,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
1628
1642
  api: (...arg: any[]) => Promise<any>;
1629
1643
  afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
1630
1644
  beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
1645
+ beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
1631
1646
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1632
1647
  $slots: Readonly<{
1633
1648
  [key: string]: (props: import('../../../../utils/src').Recordable) => void;
@@ -393,6 +393,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
393
393
  type: import('vue').PropType<TtTableProps["beforeFetch"]>;
394
394
  default: null;
395
395
  };
396
+ beforePageChange: {
397
+ type: import('vue').PropType<TtTableProps["beforePageChange"]>;
398
+ default: null;
399
+ };
396
400
  data: {
397
401
  type: import('vue').PropType<TtTableProps["data"]>;
398
402
  default: () => TtTableProps["data"];
@@ -744,6 +748,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
744
748
  type: import('vue').PropType<TtTableProps["beforeFetch"]>;
745
749
  default: null;
746
750
  };
751
+ beforePageChange: {
752
+ type: import('vue').PropType<TtTableProps["beforePageChange"]>;
753
+ default: null;
754
+ };
747
755
  data: {
748
756
  type: import('vue').PropType<TtTableProps["data"]>;
749
757
  default: () => TtTableProps["data"];
@@ -967,6 +975,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
967
975
  api: (...arg: any[]) => Promise<any>;
968
976
  afterFetch: ((data: any[], res: globalThis.Recordable | globalThis.Recordable[]) => Promise<any[]>) | undefined;
969
977
  beforeFetch: ((params: globalThis.Recordable) => Promise<globalThis.Recordable>) | undefined;
978
+ beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
970
979
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
971
980
  wrapRef: HTMLDivElement;
972
981
  xGrid: (import('vxe-table').VxeGridMethods<any> & {