x-next 1.11.1 → 1.13.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.
- package/AI_USAGE/catalog.md +1 -1
- package/AI_USAGE/components/alert.md +1 -1
- package/AI_USAGE/components/bar-chart.md +1 -1
- package/AI_USAGE/components/button.md +1 -1
- package/AI_USAGE/components/checkbox.md +1 -1
- package/AI_USAGE/components/color-picker.md +1 -1
- package/AI_USAGE/components/config-provider.md +1 -1
- package/AI_USAGE/components/date-picker.md +1 -1
- package/AI_USAGE/components/dialog.md +1 -1
- package/AI_USAGE/components/dropdown.md +1 -1
- package/AI_USAGE/components/empty.md +1 -1
- package/AI_USAGE/components/input.md +1 -1
- package/AI_USAGE/components/line-chart.md +1 -1
- package/AI_USAGE/components/message-box.md +1 -1
- package/AI_USAGE/components/message.md +1 -1
- package/AI_USAGE/components/notification.md +1 -1
- package/AI_USAGE/components/pagination.md +7 -3
- package/AI_USAGE/components/pie-chart.md +1 -1
- package/AI_USAGE/components/popconfirm.md +1 -1
- package/AI_USAGE/components/popover.md +1 -1
- package/AI_USAGE/components/progress.md +1 -1
- package/AI_USAGE/components/radio.md +1 -1
- package/AI_USAGE/components/rate.md +1 -1
- package/AI_USAGE/components/select.md +1 -1
- package/AI_USAGE/components/slider.md +1 -1
- package/AI_USAGE/components/steps.md +1 -1
- package/AI_USAGE/components/switch.md +1 -1
- package/AI_USAGE/components/tabs.md +1 -1
- package/AI_USAGE/components/textarea.md +1 -1
- package/AI_USAGE/components/time-picker.md +1 -1
- package/AI_USAGE/components/upload.md +1 -1
- package/AI_USAGE/core.md +1 -1
- package/AI_USAGE/index.md +1 -1
- package/AI_USAGE/recipes/form-on-demand.md +1 -1
- package/AI_USAGE.md +8 -4
- package/CHANGELOG.md +40 -0
- package/dist/components/network/Network.vue.d.ts +8 -4
- package/dist/components/network/index.d.ts +13 -5
- package/dist/components/network/props.d.ts +5 -0
- package/dist/components/network/utils.d.ts +3 -3
- package/dist/components/pagination/page-item-ellipsis.vue.d.ts +4 -1
- package/dist/components/pagination/page-item-step.vue.d.ts +101 -130
- package/dist/components/pagination/page-item.vue.d.ts +1 -0
- package/dist/components/pagination/page-jumper.vue.d.ts +1 -1
- package/dist/components/pagination/page-options.vue.d.ts +6 -4
- package/dist/components/pagination/utils.d.ts +3 -0
- package/dist/components/table/Table.d.ts +11 -0
- package/dist/components/table/context.d.ts +5 -0
- package/dist/components/table/dom-listeners.d.ts +23 -0
- package/dist/components/table/hooks/use-column-resize.d.ts +2 -1
- package/dist/components/table/hooks/use-drag.d.ts +6 -3
- package/dist/components/table/hooks/use-keyboard-navigation.d.ts +27 -0
- package/dist/components/table/hooks/use-sorter.d.ts +3 -1
- package/dist/components/table/index.d.ts +15 -0
- package/dist/components/table/interface.d.ts +9 -2
- package/dist/components/table/locale.d.ts +8 -7
- package/dist/components/table/table-operation-td.d.ts +34 -0
- package/dist/components/table/table-td.d.ts +36 -2
- package/dist/components/table/table-th.d.ts +34 -0
- package/dist/components/table/table-tr.d.ts +34 -0
- package/dist/components/time-range-selector/index.d.ts +6 -6
- package/dist/components/trend-chart/components/TrendChart.d.ts +1 -1
- package/dist/components/trend-chart/index.d.ts +3 -3
- package/dist/components/upload/Upload.d.ts +1 -1
- package/dist/components/upload/index.d.ts +3 -3
- package/dist/es/_styles/palette-aliases.js +4 -4
- package/dist/es/components/button/Button.js +53 -42
- package/dist/es/components/network/Network.vue.js +17 -12
- package/dist/es/components/network/Network.vue2.js +78 -70
- package/dist/es/components/network/utils.js +112 -71
- package/dist/es/components/pagination/Pagination.js +132 -123
- package/dist/es/components/pagination/page-item-ellipsis.vue.js +10 -10
- package/dist/es/components/pagination/page-item-ellipsis.vue2.js +24 -19
- package/dist/es/components/pagination/page-item-step.vue.js +14 -11
- package/dist/es/components/pagination/page-item-step.vue2.js +20 -22
- package/dist/es/components/pagination/page-item.vue.js +10 -9
- package/dist/es/components/pagination/page-item.vue2.js +24 -19
- package/dist/es/components/pagination/page-jumper.vue2.js +23 -23
- package/dist/es/components/pagination/page-options.vue.js +15 -10
- package/dist/es/components/pagination/page-options.vue2.js +21 -17
- package/dist/es/components/pagination/utils.js +4 -2
- package/dist/es/components/table/Table.js +947 -713
- package/dist/es/components/table/dom-listeners.js +23 -0
- package/dist/es/components/table/hooks/use-column-resize.js +27 -18
- package/dist/es/components/table/hooks/use-column-sorter.js +22 -29
- package/dist/es/components/table/hooks/use-drag.js +23 -20
- package/dist/es/components/table/hooks/use-filter.js +43 -43
- package/dist/es/components/table/hooks/use-keyboard-navigation.js +69 -0
- package/dist/es/components/table/hooks/use-row-selection.js +33 -29
- package/dist/es/components/table/hooks/use-sorter.js +86 -38
- package/dist/es/components/table/hooks/use-span.js +28 -35
- package/dist/es/components/table/locale.js +27 -10
- package/dist/es/components/table/table-col-group.vue2.js +9 -9
- package/dist/es/components/table/table-operation-td.js +72 -51
- package/dist/es/components/table/table-operation-th.js +41 -34
- package/dist/es/components/table/table-td.js +100 -77
- package/dist/es/components/table/table-th.js +221 -188
- package/dist/es/components/table/table-tr.js +11 -8
- package/dist/es/components/table/utils.js +104 -94
- package/dist/es/components/virtual-list-v2/hooks/use-size.js +47 -41
- package/dist/es/components/virtual-list-v2/virtual-list-item.js +29 -16
- package/dist/es/locale/en-US.js +9 -1
- package/dist/es/locale/index.js +3 -3
- package/dist/es/locale/zh-CN.js +9 -1
- package/dist/es/style.css +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.umd.js +3 -3
- package/dist/locale/interface.d.ts +12 -0
- package/dist/style/base.css +1 -1
- package/dist/style/button.css +1 -1
- package/dist/style/form-select.css +1 -1
- package/dist/style/network.css +1 -1
- package/dist/style/pagination.css +1 -1
- package/dist/style/table.css +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -61,11 +61,103 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
61
61
|
disabled: boolean;
|
|
62
62
|
simple: boolean;
|
|
63
63
|
}, {}, {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
XIcon: {
|
|
65
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
|
|
66
|
+
name: {
|
|
67
|
+
type: StringConstructor;
|
|
68
|
+
default: undefined;
|
|
69
|
+
};
|
|
70
|
+
size: {
|
|
71
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
72
|
+
default: undefined;
|
|
73
|
+
};
|
|
74
|
+
rotate: {
|
|
75
|
+
type: NumberConstructor;
|
|
76
|
+
default: undefined;
|
|
77
|
+
};
|
|
78
|
+
spin: {
|
|
79
|
+
type: BooleanConstructor;
|
|
80
|
+
default: boolean;
|
|
81
|
+
};
|
|
82
|
+
color: {
|
|
83
|
+
type: StringConstructor;
|
|
84
|
+
default: undefined;
|
|
85
|
+
};
|
|
86
|
+
title: {
|
|
87
|
+
type: StringConstructor;
|
|
88
|
+
default: undefined;
|
|
89
|
+
};
|
|
90
|
+
ariaLabel: {
|
|
91
|
+
type: StringConstructor;
|
|
92
|
+
default: undefined;
|
|
93
|
+
};
|
|
94
|
+
strokeWidth: {
|
|
95
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
96
|
+
default: undefined;
|
|
97
|
+
};
|
|
98
|
+
}>> & Readonly<{}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
99
|
+
name: string;
|
|
100
|
+
title: string;
|
|
101
|
+
size: string | number;
|
|
102
|
+
rotate: number;
|
|
103
|
+
spin: boolean;
|
|
104
|
+
color: string;
|
|
105
|
+
ariaLabel: string;
|
|
106
|
+
strokeWidth: string | number;
|
|
107
|
+
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
108
|
+
P: {};
|
|
109
|
+
B: {};
|
|
110
|
+
D: {};
|
|
111
|
+
C: {};
|
|
112
|
+
M: {};
|
|
113
|
+
Defaults: {};
|
|
114
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
115
|
+
name: {
|
|
116
|
+
type: StringConstructor;
|
|
117
|
+
default: undefined;
|
|
118
|
+
};
|
|
119
|
+
size: {
|
|
120
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
121
|
+
default: undefined;
|
|
122
|
+
};
|
|
123
|
+
rotate: {
|
|
124
|
+
type: NumberConstructor;
|
|
125
|
+
default: undefined;
|
|
126
|
+
};
|
|
127
|
+
spin: {
|
|
128
|
+
type: BooleanConstructor;
|
|
129
|
+
default: boolean;
|
|
130
|
+
};
|
|
131
|
+
color: {
|
|
132
|
+
type: StringConstructor;
|
|
133
|
+
default: undefined;
|
|
134
|
+
};
|
|
135
|
+
title: {
|
|
136
|
+
type: StringConstructor;
|
|
137
|
+
default: undefined;
|
|
138
|
+
};
|
|
139
|
+
ariaLabel: {
|
|
140
|
+
type: StringConstructor;
|
|
141
|
+
default: undefined;
|
|
142
|
+
};
|
|
143
|
+
strokeWidth: {
|
|
144
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
145
|
+
default: undefined;
|
|
146
|
+
};
|
|
147
|
+
}>> & Readonly<{}>, () => VNode, {}, {}, {}, {
|
|
148
|
+
name: string;
|
|
149
|
+
title: string;
|
|
150
|
+
size: string | number;
|
|
151
|
+
rotate: number;
|
|
152
|
+
spin: boolean;
|
|
153
|
+
color: string;
|
|
154
|
+
ariaLabel: string;
|
|
155
|
+
strokeWidth: string | number;
|
|
156
|
+
}>;
|
|
157
|
+
__isFragment?: never;
|
|
158
|
+
__isTeleport?: never;
|
|
159
|
+
__isSuspense?: never;
|
|
160
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
69
161
|
name: {
|
|
70
162
|
type: StringConstructor;
|
|
71
163
|
default: undefined;
|
|
@@ -98,44 +190,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
98
190
|
type: (StringConstructor | NumberConstructor)[];
|
|
99
191
|
default: undefined;
|
|
100
192
|
};
|
|
101
|
-
}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string,
|
|
102
|
-
fillColor: {
|
|
103
|
-
type: ArrayConstructor;
|
|
104
|
-
default: undefined;
|
|
105
|
-
};
|
|
106
|
-
name: {
|
|
107
|
-
type: StringConstructor;
|
|
108
|
-
default: undefined;
|
|
109
|
-
};
|
|
110
|
-
size: {
|
|
111
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
112
|
-
default: undefined;
|
|
113
|
-
};
|
|
114
|
-
rotate: {
|
|
115
|
-
type: NumberConstructor;
|
|
116
|
-
default: undefined;
|
|
117
|
-
};
|
|
118
|
-
spin: {
|
|
119
|
-
type: BooleanConstructor;
|
|
120
|
-
default: boolean;
|
|
121
|
-
};
|
|
122
|
-
color: {
|
|
123
|
-
type: StringConstructor;
|
|
124
|
-
default: undefined;
|
|
125
|
-
};
|
|
126
|
-
title: {
|
|
127
|
-
type: StringConstructor;
|
|
128
|
-
default: undefined;
|
|
129
|
-
};
|
|
130
|
-
ariaLabel: {
|
|
131
|
-
type: StringConstructor;
|
|
132
|
-
default: undefined;
|
|
133
|
-
};
|
|
134
|
-
strokeWidth: {
|
|
135
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
136
|
-
default: undefined;
|
|
137
|
-
};
|
|
138
|
-
}>> & Readonly<{}>, {
|
|
193
|
+
}>> & Readonly<{}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
139
194
|
name: string;
|
|
140
195
|
title: string;
|
|
141
196
|
size: string | number;
|
|
@@ -144,92 +199,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
144
199
|
color: string;
|
|
145
200
|
ariaLabel: string;
|
|
146
201
|
strokeWidth: string | number;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
fillColor: {
|
|
151
|
-
type: ArrayConstructor;
|
|
152
|
-
default: undefined;
|
|
153
|
-
};
|
|
154
|
-
name: {
|
|
155
|
-
type: StringConstructor;
|
|
156
|
-
default: undefined;
|
|
157
|
-
};
|
|
158
|
-
size: {
|
|
159
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
160
|
-
default: undefined;
|
|
161
|
-
};
|
|
162
|
-
rotate: {
|
|
163
|
-
type: NumberConstructor;
|
|
164
|
-
default: undefined;
|
|
165
|
-
};
|
|
166
|
-
spin: {
|
|
167
|
-
type: BooleanConstructor;
|
|
168
|
-
default: boolean;
|
|
169
|
-
};
|
|
170
|
-
color: {
|
|
171
|
-
type: StringConstructor;
|
|
172
|
-
default: undefined;
|
|
173
|
-
};
|
|
174
|
-
title: {
|
|
175
|
-
type: StringConstructor;
|
|
176
|
-
default: undefined;
|
|
177
|
-
};
|
|
178
|
-
ariaLabel: {
|
|
179
|
-
type: StringConstructor;
|
|
180
|
-
default: undefined;
|
|
181
|
-
};
|
|
182
|
-
strokeWidth: {
|
|
183
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
184
|
-
default: undefined;
|
|
185
|
-
};
|
|
186
|
-
}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
187
|
-
fillColor: {
|
|
188
|
-
type: ArrayConstructor;
|
|
189
|
-
default: undefined;
|
|
190
|
-
};
|
|
191
|
-
name: {
|
|
192
|
-
type: StringConstructor;
|
|
193
|
-
default: undefined;
|
|
194
|
-
};
|
|
195
|
-
size: {
|
|
196
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
197
|
-
default: undefined;
|
|
198
|
-
};
|
|
199
|
-
rotate: {
|
|
200
|
-
type: NumberConstructor;
|
|
201
|
-
default: undefined;
|
|
202
|
-
};
|
|
203
|
-
spin: {
|
|
204
|
-
type: BooleanConstructor;
|
|
205
|
-
default: boolean;
|
|
206
|
-
};
|
|
207
|
-
color: {
|
|
208
|
-
type: StringConstructor;
|
|
209
|
-
default: undefined;
|
|
210
|
-
};
|
|
211
|
-
title: {
|
|
212
|
-
type: StringConstructor;
|
|
213
|
-
default: undefined;
|
|
214
|
-
};
|
|
215
|
-
ariaLabel: {
|
|
216
|
-
type: StringConstructor;
|
|
217
|
-
default: undefined;
|
|
218
|
-
};
|
|
219
|
-
strokeWidth: {
|
|
220
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
221
|
-
default: undefined;
|
|
222
|
-
};
|
|
223
|
-
}>> & Readonly<{}>, {
|
|
224
|
-
name: string;
|
|
225
|
-
title: string;
|
|
226
|
-
size: string | number;
|
|
227
|
-
rotate: number;
|
|
228
|
-
spin: boolean;
|
|
229
|
-
color: string;
|
|
230
|
-
ariaLabel: string;
|
|
231
|
-
strokeWidth: string | number;
|
|
232
|
-
fillColor: unknown[];
|
|
233
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
202
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
|
|
203
|
+
install(app: import('vue').App): void;
|
|
204
|
+
};
|
|
234
205
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
235
206
|
export default _default;
|
|
@@ -39,7 +39,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
39
39
|
})[]>;
|
|
40
40
|
inputValue: import('vue').Ref<number | undefined, number | undefined>;
|
|
41
41
|
handleChange: (value: number | undefined) => void;
|
|
42
|
-
handleFormatter: (value:
|
|
42
|
+
handleFormatter: (value: string) => string | undefined;
|
|
43
43
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
44
44
|
current: {
|
|
45
45
|
type: NumberConstructor;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
|
+
import { SelectProps } from '../form-select';
|
|
2
3
|
import { Size } from '../../_utils/constant.ts';
|
|
3
4
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
5
|
sizeOptions: {
|
|
5
|
-
type:
|
|
6
|
+
type: PropType<number[]>;
|
|
6
7
|
required: true;
|
|
7
8
|
};
|
|
8
9
|
pageSize: NumberConstructor;
|
|
@@ -14,9 +15,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
14
15
|
type: PropType<(value: number) => void>;
|
|
15
16
|
};
|
|
16
17
|
selectProps: {
|
|
17
|
-
type:
|
|
18
|
+
type: PropType<SelectProps>;
|
|
18
19
|
};
|
|
19
20
|
}>, {
|
|
21
|
+
pageSizeLabel: import('vue').ComputedRef<string>;
|
|
20
22
|
className: {
|
|
21
23
|
block: string;
|
|
22
24
|
element: (className: string) => string;
|
|
@@ -30,7 +32,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
30
32
|
handleChange: (value: string | undefined | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[]) => void;
|
|
31
33
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
32
34
|
sizeOptions: {
|
|
33
|
-
type:
|
|
35
|
+
type: PropType<number[]>;
|
|
34
36
|
required: true;
|
|
35
37
|
};
|
|
36
38
|
pageSize: NumberConstructor;
|
|
@@ -42,7 +44,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
42
44
|
type: PropType<(value: number) => void>;
|
|
43
45
|
};
|
|
44
46
|
selectProps: {
|
|
45
|
-
type:
|
|
47
|
+
type: PropType<SelectProps>;
|
|
46
48
|
};
|
|
47
49
|
}>> & Readonly<{
|
|
48
50
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export declare const isValidPageSize: (value: unknown) => value is number;
|
|
2
|
+
/** 保证循环边界可推进;显示配置额外限流,避免异常参数创建海量 DOM。 */
|
|
3
|
+
export declare const normalizeInteger: (value: number, fallback: number, min: number, max: number) => number;
|
|
1
4
|
export declare const getLegalPage: (page: number, { min, max }: {
|
|
2
5
|
min: number;
|
|
3
6
|
max: number;
|
|
@@ -14,6 +14,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
14
14
|
type: PropType<TableColumnData[]>;
|
|
15
15
|
default: () => never[];
|
|
16
16
|
};
|
|
17
|
+
/** @zh 启用表体单元格方向键、Home / End 导航,保留原生 table 语义。 */
|
|
18
|
+
keyboardNavigation: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
17
22
|
/**
|
|
18
23
|
* @zh 表格的数据
|
|
19
24
|
* @en Table data
|
|
@@ -560,6 +565,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
560
565
|
type: PropType<TableColumnData[]>;
|
|
561
566
|
default: () => never[];
|
|
562
567
|
};
|
|
568
|
+
/** @zh 启用表体单元格方向键、Home / End 导航,保留原生 table 语义。 */
|
|
569
|
+
keyboardNavigation: {
|
|
570
|
+
type: BooleanConstructor;
|
|
571
|
+
default: boolean;
|
|
572
|
+
};
|
|
563
573
|
/**
|
|
564
574
|
* @zh 表格的数据
|
|
565
575
|
* @en Table data
|
|
@@ -911,6 +921,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
911
921
|
defaultExpandAllRows: boolean;
|
|
912
922
|
filterIconAlignLeft: boolean;
|
|
913
923
|
indentSize: number;
|
|
924
|
+
keyboardNavigation: boolean;
|
|
914
925
|
stripe: boolean;
|
|
915
926
|
tableLayoutFixed: boolean;
|
|
916
927
|
pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
|
|
@@ -4,14 +4,18 @@ import { Filters, Sorter, TableColumnData, TableData, TableDataWithRaw } from '.
|
|
|
4
4
|
export interface TableContext {
|
|
5
5
|
loadMore?: (record: TableData, done: (children?: TableData[]) => void) => void;
|
|
6
6
|
addLazyLoadData: (children: TableData[] | undefined, record: TableDataWithRaw) => void;
|
|
7
|
+
loadChildren: (record: TableDataWithRaw) => Promise<TableData[] | undefined>;
|
|
7
8
|
slots: Slots;
|
|
8
9
|
sorter: Sorter | undefined;
|
|
10
|
+
sorters: Sorter[];
|
|
9
11
|
currentAllEnabledRowKeys: BaseType[];
|
|
10
12
|
currentSelectedRowKeys: BaseType[];
|
|
13
|
+
expandedRowKeys: BaseType[];
|
|
11
14
|
checkStrictly: boolean;
|
|
12
15
|
filters: Filters;
|
|
13
16
|
filterIconAlignLeft: boolean;
|
|
14
17
|
resizingColumn: string;
|
|
18
|
+
selectionName: string;
|
|
15
19
|
addColumn: (id: number, column: TableColumnData) => void;
|
|
16
20
|
removeColumn: (id: number) => void;
|
|
17
21
|
onSelectAll: (checked: boolean) => void;
|
|
@@ -20,6 +24,7 @@ export interface TableContext {
|
|
|
20
24
|
onSorterChange: (dataIndex: string, direction: 'ascend' | 'descend' | '', ev: Event) => void;
|
|
21
25
|
onFilterChange: (dataIndex: string, filteredValues: string[], ev: Event) => void;
|
|
22
26
|
onThMouseDown: (dataIndex: string, ev: MouseEvent) => void;
|
|
27
|
+
onThKeyDown: (dataIndex: string, ev: KeyboardEvent) => void;
|
|
23
28
|
}
|
|
24
29
|
export interface TableColumnContext {
|
|
25
30
|
addChild: (id: number, column: TableColumnData) => void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
export declare const tableDomListeners: {
|
|
3
|
+
tabindex: (StringConstructor | NumberConstructor)[];
|
|
4
|
+
onClick: PropType<(event: MouseEvent) => void>;
|
|
5
|
+
onDblclick: PropType<(event: MouseEvent) => void>;
|
|
6
|
+
onContextmenu: PropType<(event: MouseEvent) => void>;
|
|
7
|
+
onMouseenter: PropType<(event: MouseEvent) => void>;
|
|
8
|
+
onMouseleave: PropType<(event: MouseEvent) => void>;
|
|
9
|
+
onDragstart: PropType<(event: DragEvent) => void>;
|
|
10
|
+
onDragend: PropType<(event: DragEvent) => void>;
|
|
11
|
+
onDragenter: PropType<(event: DragEvent) => void>;
|
|
12
|
+
onDragover: PropType<(event: DragEvent) => void>;
|
|
13
|
+
onDrop: PropType<(event: DragEvent) => void>;
|
|
14
|
+
onKeydown: PropType<(event: KeyboardEvent) => void>;
|
|
15
|
+
onFocus: PropType<(event: FocusEvent) => void>;
|
|
16
|
+
onPointerdown: PropType<(event: PointerEvent) => void>;
|
|
17
|
+
onPointermove: PropType<(event: PointerEvent) => void>;
|
|
18
|
+
onPointerup: PropType<(event: PointerEvent) => void>;
|
|
19
|
+
onPointercancel: PropType<(event: PointerEvent) => void>;
|
|
20
|
+
};
|
|
21
|
+
export declare const getTableDomListeners: (props: Record<string, unknown>) => {
|
|
22
|
+
[k: string]: unknown;
|
|
23
|
+
};
|
|
@@ -2,9 +2,10 @@ import { Ref } from 'vue';
|
|
|
2
2
|
import { EmitFn2 } from '../../../_hooks/_types';
|
|
3
3
|
export declare const useColumnResize: (thRefs: Ref<Record<string, HTMLElement>>, emit: EmitFn2<{
|
|
4
4
|
columnResize: (dataIndex: string, width: number) => true;
|
|
5
|
-
}
|
|
5
|
+
}>, getMinWidth?: (dataIndex: string) => number) => {
|
|
6
6
|
resizingColumn: Ref<string, string>;
|
|
7
7
|
columnWidth: Record<string, number>;
|
|
8
8
|
handleThMouseDown: (dataIndex: string, ev: MouseEvent) => void;
|
|
9
9
|
handleThMouseUp: () => void;
|
|
10
|
+
handleThKeyDown: (dataIndex: string, ev: KeyboardEvent) => void;
|
|
10
11
|
};
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
2
|
import { TableDraggable } from '../interface';
|
|
3
|
+
import { BaseType } from '../../../_hooks/_types';
|
|
3
4
|
export declare const useDrag: (draggable: Ref<TableDraggable | undefined>) => {
|
|
5
|
+
beginDrag: (sourceKey: BaseType, sourcePath: number[], data: Record<string, unknown>) => void;
|
|
6
|
+
clearDragState: () => void;
|
|
4
7
|
dragType: import('vue').ComputedRef<"row" | "handle" | undefined>;
|
|
5
8
|
dragState: {
|
|
6
9
|
dragging: boolean;
|
|
7
|
-
sourceKey:
|
|
10
|
+
sourceKey: BaseType;
|
|
8
11
|
sourcePath: number[];
|
|
9
12
|
targetPath: number[];
|
|
10
13
|
data: Record<string, unknown>;
|
|
11
14
|
};
|
|
12
|
-
handleDragStart: (ev: DragEvent, sourceKey:
|
|
15
|
+
handleDragStart: (ev: DragEvent, sourceKey: BaseType, sourcePath: number[], data: Record<string, unknown>) => void;
|
|
13
16
|
handleDragEnter: (ev: DragEvent, targetPath: number[]) => void;
|
|
14
17
|
handleDragover: (ev: DragEvent) => void;
|
|
15
|
-
handleDragEnd: (
|
|
18
|
+
handleDragEnd: (_ev: DragEvent) => void;
|
|
16
19
|
handleDrop: (ev: DragEvent) => void;
|
|
17
20
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { BaseType } from '../../../_hooks/_types';
|
|
3
|
+
import { TableDataWithRaw } from '../interface';
|
|
4
|
+
type Row = {
|
|
5
|
+
record: TableDataWithRaw;
|
|
6
|
+
detail?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/** Optional navigation of native table cells. Embedded controls keep their own keys. */
|
|
9
|
+
export declare const useKeyboardNavigation: ({ enabled, rows, root, scrollToRow, mountedKeys, }: {
|
|
10
|
+
enabled: Ref<boolean>;
|
|
11
|
+
rows: Ref<Row[]>;
|
|
12
|
+
root: Ref<HTMLElement | undefined>;
|
|
13
|
+
scrollToRow: (index: number) => void;
|
|
14
|
+
mountedKeys?: Ref<BaseType[] | undefined>;
|
|
15
|
+
}) => {
|
|
16
|
+
getCellProps: (key: BaseType, column: number, firstColumn: number) => {
|
|
17
|
+
'data-x-table-cell-index'?: undefined;
|
|
18
|
+
tabindex?: undefined;
|
|
19
|
+
onFocus?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
'data-x-table-cell-index': number;
|
|
22
|
+
tabindex: number;
|
|
23
|
+
onFocus: (ev: FocusEvent) => void;
|
|
24
|
+
};
|
|
25
|
+
handleCellKeydown: (key: BaseType, column: number, ev: KeyboardEvent) => Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -11,7 +11,9 @@ export declare const useSorter: ({ columns, onSorterChange, }: {
|
|
|
11
11
|
field: string;
|
|
12
12
|
direction: "ascend" | "descend";
|
|
13
13
|
} | undefined>;
|
|
14
|
-
computedSorter: import('vue').ComputedRef<Sorter
|
|
14
|
+
computedSorter: import('vue').ComputedRef<Sorter>;
|
|
15
|
+
computedSorters: import('vue').ComputedRef<Sorter[]>;
|
|
16
|
+
setSorter: (field: string, direction: "ascend" | "descend" | "") => void;
|
|
15
17
|
resetSorters: () => void;
|
|
16
18
|
clearSorters: () => void;
|
|
17
19
|
};
|
|
@@ -26,6 +26,10 @@ export declare const Table: {
|
|
|
26
26
|
type: import('vue').PropType<import('./interface').TableColumnData[]>;
|
|
27
27
|
default: () => never[];
|
|
28
28
|
};
|
|
29
|
+
keyboardNavigation: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
29
33
|
data: {
|
|
30
34
|
type: import('vue').PropType<import('./interface').TableData[]>;
|
|
31
35
|
default: () => never[];
|
|
@@ -256,6 +260,7 @@ export declare const Table: {
|
|
|
256
260
|
defaultExpandAllRows: boolean;
|
|
257
261
|
filterIconAlignLeft: boolean;
|
|
258
262
|
indentSize: number;
|
|
263
|
+
keyboardNavigation: boolean;
|
|
259
264
|
stripe: boolean;
|
|
260
265
|
tableLayoutFixed: boolean;
|
|
261
266
|
pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
|
|
@@ -278,6 +283,10 @@ export declare const Table: {
|
|
|
278
283
|
type: import('vue').PropType<import('./interface').TableColumnData[]>;
|
|
279
284
|
default: () => never[];
|
|
280
285
|
};
|
|
286
|
+
keyboardNavigation: {
|
|
287
|
+
type: BooleanConstructor;
|
|
288
|
+
default: boolean;
|
|
289
|
+
};
|
|
281
290
|
data: {
|
|
282
291
|
type: import('vue').PropType<import('./interface').TableData[]>;
|
|
283
292
|
default: () => never[];
|
|
@@ -485,6 +494,7 @@ export declare const Table: {
|
|
|
485
494
|
defaultExpandAllRows: boolean;
|
|
486
495
|
filterIconAlignLeft: boolean;
|
|
487
496
|
indentSize: number;
|
|
497
|
+
keyboardNavigation: boolean;
|
|
488
498
|
stripe: boolean;
|
|
489
499
|
tableLayoutFixed: boolean;
|
|
490
500
|
pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
|
|
@@ -504,6 +514,10 @@ export declare const Table: {
|
|
|
504
514
|
type: import('vue').PropType<import('./interface').TableColumnData[]>;
|
|
505
515
|
default: () => never[];
|
|
506
516
|
};
|
|
517
|
+
keyboardNavigation: {
|
|
518
|
+
type: BooleanConstructor;
|
|
519
|
+
default: boolean;
|
|
520
|
+
};
|
|
507
521
|
data: {
|
|
508
522
|
type: import('vue').PropType<import('./interface').TableData[]>;
|
|
509
523
|
default: () => never[];
|
|
@@ -734,6 +748,7 @@ export declare const Table: {
|
|
|
734
748
|
defaultExpandAllRows: boolean;
|
|
735
749
|
filterIconAlignLeft: boolean;
|
|
736
750
|
indentSize: number;
|
|
751
|
+
keyboardNavigation: boolean;
|
|
737
752
|
stripe: boolean;
|
|
738
753
|
tableLayoutFixed: boolean;
|
|
739
754
|
pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
|
|
@@ -8,7 +8,7 @@ export interface TableData {
|
|
|
8
8
|
* @zh 数据行的key
|
|
9
9
|
* @en The key of the data row
|
|
10
10
|
*/
|
|
11
|
-
key?: string;
|
|
11
|
+
key?: string | number;
|
|
12
12
|
/**
|
|
13
13
|
* @zh 扩展行内容
|
|
14
14
|
* @en Expand row content
|
|
@@ -34,7 +34,7 @@ export interface TableData {
|
|
|
34
34
|
}
|
|
35
35
|
export interface TableDataWithRaw {
|
|
36
36
|
raw: TableData;
|
|
37
|
-
key: string;
|
|
37
|
+
key: string | number;
|
|
38
38
|
disabled?: boolean;
|
|
39
39
|
expand?: string | RenderFunction;
|
|
40
40
|
children?: TableDataWithRaw[];
|
|
@@ -65,6 +65,11 @@ export interface TableSortable {
|
|
|
65
65
|
* @en Default sort direction (uncontrolled mode)
|
|
66
66
|
*/
|
|
67
67
|
defaultSortOrder?: 'ascend' | 'descend' | '';
|
|
68
|
+
/**
|
|
69
|
+
* @zh 多列排序优先级,数字越大越先比较;只在声明优先级的列之间保留多列排序。
|
|
70
|
+
* @en Multi-column sort priority. Higher values are compared first.
|
|
71
|
+
*/
|
|
72
|
+
sortPriority?: number;
|
|
68
73
|
}
|
|
69
74
|
export interface TableFilterData {
|
|
70
75
|
/**
|
|
@@ -440,6 +445,8 @@ export interface TableChangeExtra {
|
|
|
440
445
|
* @en Sort information
|
|
441
446
|
*/
|
|
442
447
|
sorter?: Sorter;
|
|
448
|
+
/** 按优先级排列的全部排序条件;sorter 保留首个条件以兼容已有消费方。 */
|
|
449
|
+
sorters?: Sorter[];
|
|
443
450
|
/**
|
|
444
451
|
* @zh 筛选信息
|
|
445
452
|
* @en Filter information
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Table 的内置文案。
|
|
3
|
-
*
|
|
4
|
-
* 默认值与历史行为保持一致(中文),可被上层注入覆盖。
|
|
5
|
-
* ConfigProvider / locale 落地后,这里将改为从 locale 读取;
|
|
6
|
-
* 当前先集中到一处,避免文案散落在组件实现里。
|
|
7
|
-
*/
|
|
1
|
+
/** Table 内置文案;ConfigProvider 与全局 locale 均可响应式覆盖。 */
|
|
8
2
|
export interface TableLocale {
|
|
9
3
|
/** 筛选弹层「重置」按钮 */
|
|
10
4
|
resetText: string;
|
|
@@ -16,8 +10,15 @@ export interface TableLocale {
|
|
|
16
10
|
filterLabelText: string;
|
|
17
11
|
/** 总结行的默认标题 */
|
|
18
12
|
summaryText: string;
|
|
13
|
+
expandRowText?: string;
|
|
14
|
+
collapseRowText?: string;
|
|
15
|
+
selectRowText?: string;
|
|
16
|
+
selectAllText?: string;
|
|
17
|
+
resizeColumnText?: string;
|
|
18
|
+
moveRowText?: string;
|
|
19
19
|
}
|
|
20
20
|
export declare const TABLE_LOCALE_ZH_CN: TableLocale;
|
|
21
21
|
export declare const TABLE_LOCALE_EN_US: TableLocale;
|
|
22
22
|
/** 按 {key} 占位符插值 */
|
|
23
23
|
export declare const formatLocaleText: (template: string, params?: Record<string, string | number>) => string;
|
|
24
|
+
export declare const useTableLocale: () => (key: keyof TableLocale, params?: Record<string, string | number>) => string;
|
|
@@ -36,6 +36,23 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
36
36
|
type: BooleanConstructor;
|
|
37
37
|
default: boolean;
|
|
38
38
|
};
|
|
39
|
+
tabindex: (StringConstructor | NumberConstructor)[];
|
|
40
|
+
onClick: PropType<(event: MouseEvent) => void>;
|
|
41
|
+
onDblclick: PropType<(event: MouseEvent) => void>;
|
|
42
|
+
onContextmenu: PropType<(event: MouseEvent) => void>;
|
|
43
|
+
onMouseenter: PropType<(event: MouseEvent) => void>;
|
|
44
|
+
onMouseleave: PropType<(event: MouseEvent) => void>;
|
|
45
|
+
onDragstart: PropType<(event: DragEvent) => void>;
|
|
46
|
+
onDragend: PropType<(event: DragEvent) => void>;
|
|
47
|
+
onDragenter: PropType<(event: DragEvent) => void>;
|
|
48
|
+
onDragover: PropType<(event: DragEvent) => void>;
|
|
49
|
+
onDrop: PropType<(event: DragEvent) => void>;
|
|
50
|
+
onKeydown: PropType<(event: KeyboardEvent) => void>;
|
|
51
|
+
onFocus: PropType<(event: FocusEvent) => void>;
|
|
52
|
+
onPointerdown: PropType<(event: PointerEvent) => void>;
|
|
53
|
+
onPointermove: PropType<(event: PointerEvent) => void>;
|
|
54
|
+
onPointerup: PropType<(event: PointerEvent) => void>;
|
|
55
|
+
onPointercancel: PropType<(event: PointerEvent) => void>;
|
|
39
56
|
}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "select"[], "select", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
40
57
|
operationColumn: {
|
|
41
58
|
type: PropType<TableOperationColumn>;
|
|
@@ -71,6 +88,23 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
71
88
|
type: BooleanConstructor;
|
|
72
89
|
default: boolean;
|
|
73
90
|
};
|
|
91
|
+
tabindex: (StringConstructor | NumberConstructor)[];
|
|
92
|
+
onClick: PropType<(event: MouseEvent) => void>;
|
|
93
|
+
onDblclick: PropType<(event: MouseEvent) => void>;
|
|
94
|
+
onContextmenu: PropType<(event: MouseEvent) => void>;
|
|
95
|
+
onMouseenter: PropType<(event: MouseEvent) => void>;
|
|
96
|
+
onMouseleave: PropType<(event: MouseEvent) => void>;
|
|
97
|
+
onDragstart: PropType<(event: DragEvent) => void>;
|
|
98
|
+
onDragend: PropType<(event: DragEvent) => void>;
|
|
99
|
+
onDragenter: PropType<(event: DragEvent) => void>;
|
|
100
|
+
onDragover: PropType<(event: DragEvent) => void>;
|
|
101
|
+
onDrop: PropType<(event: DragEvent) => void>;
|
|
102
|
+
onKeydown: PropType<(event: KeyboardEvent) => void>;
|
|
103
|
+
onFocus: PropType<(event: FocusEvent) => void>;
|
|
104
|
+
onPointerdown: PropType<(event: PointerEvent) => void>;
|
|
105
|
+
onPointermove: PropType<(event: PointerEvent) => void>;
|
|
106
|
+
onPointerup: PropType<(event: PointerEvent) => void>;
|
|
107
|
+
onPointercancel: PropType<(event: PointerEvent) => void>;
|
|
74
108
|
}>> & Readonly<{
|
|
75
109
|
onSelect?: ((...args: any[]) => any) | undefined;
|
|
76
110
|
}>, {
|