pro-design-vue 1.0.0-rc.12 → 1.0.0-rc.14
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/dist/index.css +1 -1
- package/dist/index.full.js +211 -132
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +211 -132
- package/es/components/form/src/Form.d.ts +1 -1
- package/es/components/form/src/base/BaseForm.d.ts +1 -1
- package/es/components/form/src/base/BaseForm.mjs +4 -3
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/base/StepForm.d.ts +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +3 -1
- package/es/components/form/src/components/FormItem.mjs +20 -22
- package/es/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/components/form/src/components/FormList.d.ts +3 -1
- package/es/components/form/src/components/FormListContainer.d.ts +3 -1
- package/es/components/form/src/components/FormSet.d.ts +3 -1
- package/es/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/es/components/form/src/components/FormSubmitter.mjs +25 -7
- package/es/components/form/src/components/FormSubmitter.mjs.map +1 -1
- package/es/components/form/src/components/FormTitle.d.ts +3 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +1 -1
- package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
- package/es/components/form/src/layouts/QueryFilter.d.ts +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs +1 -2
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
- package/es/components/form/src/layouts/StepsForm.mjs +3 -7
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +17 -8
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +18 -6
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.d.ts +22 -4
- package/es/components/table/src/components/Table.mjs +47 -13
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +30 -3
- package/es/components/table/src/components/interface.mjs +9 -1
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/hooks/useCellProps.mjs +3 -1
- package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/components/table/src/hooks/useContainer.mjs +1 -1
- package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/components/table/src/hooks/useFetchData.mjs +2 -1
- package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/components/table/src/hooks/useHover.d.ts +3 -0
- package/es/components/table/src/hooks/useHover.mjs +3 -1
- package/es/components/table/src/hooks/useHover.mjs.map +1 -1
- package/es/components/table/src/hooks/usePagination.d.ts +1 -0
- package/es/components/table/src/hooks/usePagination.mjs +7 -2
- package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
- package/es/components/table/src/utils/genProColumnToColumn.mjs +6 -4
- package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
- package/es/components/table/src/utils/util.d.ts +1 -1
- package/es/components/table/src/utils/util.mjs +1 -1
- package/es/components/table/src/utils/util.mjs.map +1 -1
- package/es/index.d.ts +54 -16
- package/es/utils/validate.d.ts +1 -1
- package/es/utils/validate.mjs +1 -1
- package/es/utils/validate.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/form/src/Form.d.ts +1 -1
- package/lib/components/form/src/base/BaseForm.d.ts +1 -1
- package/lib/components/form/src/base/BaseForm.js +4 -3
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/base/StepForm.d.ts +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +3 -1
- package/lib/components/form/src/components/FormItem.js +20 -22
- package/lib/components/form/src/components/FormItem.js.map +1 -1
- package/lib/components/form/src/components/FormList.d.ts +3 -1
- package/lib/components/form/src/components/FormListContainer.d.ts +3 -1
- package/lib/components/form/src/components/FormSet.d.ts +3 -1
- package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/lib/components/form/src/components/FormSubmitter.js +25 -7
- package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
- package/lib/components/form/src/components/FormTitle.d.ts +3 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +1 -1
- package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
- package/lib/components/form/src/layouts/QueryFilter.d.ts +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js +1 -2
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
- package/lib/components/form/src/layouts/StepsForm.js +3 -7
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +17 -8
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
- package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +17 -5
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.d.ts +22 -4
- package/lib/components/table/src/components/Table.js +46 -12
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +30 -3
- package/lib/components/table/src/components/interface.js +9 -1
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/hooks/useCellProps.js +3 -1
- package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/components/table/src/hooks/useContainer.js +1 -1
- package/lib/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/components/table/src/hooks/useFetchData.js +2 -1
- package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/components/table/src/hooks/useHover.d.ts +3 -0
- package/lib/components/table/src/hooks/useHover.js +2 -0
- package/lib/components/table/src/hooks/useHover.js.map +1 -1
- package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
- package/lib/components/table/src/hooks/usePagination.js +7 -1
- package/lib/components/table/src/hooks/usePagination.js.map +1 -1
- package/lib/components/table/src/utils/genProColumnToColumn.js +6 -4
- package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
- package/lib/components/table/src/utils/util.d.ts +1 -1
- package/lib/components/table/src/utils/util.js +1 -1
- package/lib/components/table/src/utils/util.js.map +1 -1
- package/lib/index.d.ts +54 -16
- package/lib/utils/validate.d.ts +1 -1
- package/lib/utils/validate.js +1 -1
- package/lib/utils/validate.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/form.less +5 -0
- package/theme-chalk/src/table/table.less +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { GetRowKey, Key, SorterResult, TableRowSelection } from './interface';
|
1
|
+
import type { ColumnsType, GetRowKey, Key, SorterResult, TableRowSelection } from './interface';
|
2
2
|
import type { CustomSlotsType } from '../utils/type';
|
3
3
|
import type { ContextSlots } from './context/TableSlotsContext';
|
4
4
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
@@ -80,7 +80,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
80
80
|
type: StringConstructor;
|
81
81
|
};
|
82
82
|
columns: {
|
83
|
-
type: import("vue").PropType<
|
83
|
+
type: import("vue").PropType<ColumnsType<import("./interface").DefaultRecordType>>;
|
84
84
|
default: () => never[];
|
85
85
|
};
|
86
86
|
dataSource: {
|
@@ -117,6 +117,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
117
117
|
};
|
118
118
|
size: {
|
119
119
|
type: import("vue").PropType<import("./interface").DensitySize>;
|
120
|
+
default: string;
|
120
121
|
};
|
121
122
|
bordered: {
|
122
123
|
type: BooleanConstructor;
|
@@ -223,6 +224,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
223
224
|
type: NumberConstructor;
|
224
225
|
default: number;
|
225
226
|
};
|
227
|
+
rowHover: {
|
228
|
+
type: BooleanConstructor;
|
229
|
+
default: undefined;
|
230
|
+
};
|
226
231
|
rowKey: {
|
227
232
|
type: import("vue").PropType<string | GetRowKey<import("./interface").DefaultRecordType>>;
|
228
233
|
};
|
@@ -413,6 +418,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
413
418
|
'onUpdate:dataSource': {
|
414
419
|
type: import("vue").PropType<(dataSource: import("./interface").DefaultRecordType[]) => void>;
|
415
420
|
};
|
421
|
+
'onUpdate:columns': {
|
422
|
+
type: import("vue").PropType<(columns: ColumnsType<import("./interface").DefaultRecordType>, action: "resize" | "drag") => void>;
|
423
|
+
};
|
416
424
|
columnEmptyText: {
|
417
425
|
type: import("vue").PropType<string | false>;
|
418
426
|
default: string;
|
@@ -554,7 +562,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
554
562
|
type: StringConstructor;
|
555
563
|
};
|
556
564
|
columns: {
|
557
|
-
type: import("vue").PropType<
|
565
|
+
type: import("vue").PropType<ColumnsType<import("./interface").DefaultRecordType>>;
|
558
566
|
default: () => never[];
|
559
567
|
};
|
560
568
|
dataSource: {
|
@@ -591,6 +599,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
591
599
|
};
|
592
600
|
size: {
|
593
601
|
type: import("vue").PropType<import("./interface").DensitySize>;
|
602
|
+
default: string;
|
594
603
|
};
|
595
604
|
bordered: {
|
596
605
|
type: BooleanConstructor;
|
@@ -697,6 +706,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
697
706
|
type: NumberConstructor;
|
698
707
|
default: number;
|
699
708
|
};
|
709
|
+
rowHover: {
|
710
|
+
type: BooleanConstructor;
|
711
|
+
default: undefined;
|
712
|
+
};
|
700
713
|
rowKey: {
|
701
714
|
type: import("vue").PropType<string | GetRowKey<import("./interface").DefaultRecordType>>;
|
702
715
|
};
|
@@ -887,6 +900,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
887
900
|
'onUpdate:dataSource': {
|
888
901
|
type: import("vue").PropType<(dataSource: import("./interface").DefaultRecordType[]) => void>;
|
889
902
|
};
|
903
|
+
'onUpdate:columns': {
|
904
|
+
type: import("vue").PropType<(columns: ColumnsType<import("./interface").DefaultRecordType>, action: "resize" | "drag") => void>;
|
905
|
+
};
|
890
906
|
columnEmptyText: {
|
891
907
|
type: import("vue").PropType<string | false>;
|
892
908
|
default: string;
|
@@ -953,6 +969,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
953
969
|
onKeydown?: ((...args: any[]) => any) | undefined;
|
954
970
|
}>, {
|
955
971
|
direction: "rtl";
|
972
|
+
size: import("./interface").DensitySize;
|
956
973
|
loading: boolean | Partial<import("vue").ExtractPropTypes<{
|
957
974
|
prefixCls: StringConstructor;
|
958
975
|
spinning: {
|
@@ -983,7 +1000,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
983
1000
|
bordered: boolean;
|
984
1001
|
manual: boolean;
|
985
1002
|
sticky: boolean | import("./interface").HeaderSticky;
|
986
|
-
columns:
|
1003
|
+
columns: ColumnsType<import("./interface").DefaultRecordType>;
|
987
1004
|
cardProps: false | Partial<import("vue").ExtractPropTypes<{
|
988
1005
|
prefixCls: StringConstructor;
|
989
1006
|
title: import("node_modules/vue-types/dist/index").VueTypeValidableDef<any>;
|
@@ -1055,6 +1072,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1055
1072
|
rowExpandable: (record: import("./interface").DefaultRecordType) => boolean;
|
1056
1073
|
rowSelection: TableRowSelection<import("./interface").DefaultRecordType>;
|
1057
1074
|
rowHoverDelay: number;
|
1075
|
+
rowHover: boolean;
|
1058
1076
|
customRow: (data: import("./interface").DefaultRecordType, index?: number) => Omit<import("vue").HTMLAttributes, "style"> & {
|
1059
1077
|
style?: import("vue").CSSProperties;
|
1060
1078
|
};
|
@@ -44,7 +44,8 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
44
44
|
const {
|
45
45
|
hoverRowKey
|
46
46
|
} = useHover.useProvideHover({
|
47
|
-
rowHoverDelay: vue.computed(() => props.rowHoverDelay)
|
47
|
+
rowHoverDelay: vue.computed(() => props.rowHoverDelay),
|
48
|
+
rowHover: vue.computed(() => props.rowHover)
|
48
49
|
});
|
49
50
|
const mergedPrefixCls = vue.computed(() => {
|
50
51
|
var _a2;
|
@@ -88,10 +89,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
88
89
|
if (props.pagination === false) {
|
89
90
|
return false;
|
90
91
|
}
|
91
|
-
|
92
|
-
return Object.assign({}, pagination.value, props.pagination);
|
93
|
-
}
|
94
|
-
return Object.assign({}, props.pagination, pagination.value);
|
92
|
+
return pagination.value;
|
95
93
|
});
|
96
94
|
const formSubmitLoading = vue.computed(() => {
|
97
95
|
if (typeof loading.value === "boolean") {
|
@@ -153,9 +151,44 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
153
151
|
};
|
154
152
|
return loopFilter(tableColumn.value);
|
155
153
|
});
|
154
|
+
const onColumnsChange = (rawColumns, action) => {
|
155
|
+
var _a2;
|
156
|
+
const newMap = {
|
157
|
+
...counter.columnsMap.value
|
158
|
+
};
|
159
|
+
const newColumns = rawColumns.map((item) => util.genColumnKey(item.key, item.index));
|
160
|
+
if (action === "resize") {
|
161
|
+
const loopSetWidth = (rawColumns2) => {
|
162
|
+
rawColumns2.forEach((item) => {
|
163
|
+
var _a3;
|
164
|
+
const key = util.genColumnKey(item.key, item.index);
|
165
|
+
const newSetting = {
|
166
|
+
...newMap[key]
|
167
|
+
};
|
168
|
+
if ((_a3 = item.children) == null ? void 0 : _a3.length) {
|
169
|
+
loopSetWidth(item.children);
|
170
|
+
} else {
|
171
|
+
newSetting.width = item.width;
|
172
|
+
newMap[key] = newSetting;
|
173
|
+
}
|
174
|
+
});
|
175
|
+
};
|
176
|
+
loopSetWidth(rawColumns);
|
177
|
+
} else {
|
178
|
+
newColumns.forEach((key, order) => {
|
179
|
+
newMap[key] = {
|
180
|
+
...newMap[key] || {},
|
181
|
+
order
|
182
|
+
};
|
183
|
+
});
|
184
|
+
}
|
185
|
+
counter.setColumnsMap(newMap);
|
186
|
+
counter.setSortKeyColumns(newColumns);
|
187
|
+
(_a2 = props["onUpdate:columns"]) == null ? void 0 : _a2.call(props, rawColumns, action);
|
188
|
+
};
|
156
189
|
const formItems = vue.computed(() => {
|
157
190
|
var _a2, _b, _c;
|
158
|
-
if (
|
191
|
+
if (props.search === false) {
|
159
192
|
return [];
|
160
193
|
}
|
161
194
|
if ((_b = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b.length) {
|
@@ -167,12 +200,12 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
167
200
|
}
|
168
201
|
return true;
|
169
202
|
}).map((item) => {
|
170
|
-
return {
|
203
|
+
return omit.omitKeysAndUndefined({
|
171
204
|
...item,
|
172
205
|
width: void 0,
|
173
206
|
tooltip: item.headerTooltip,
|
174
207
|
name: item.dataIndex
|
175
|
-
};
|
208
|
+
}, ["dataIndex", "width", "tooltip", "disable"]);
|
176
209
|
});
|
177
210
|
});
|
178
211
|
const preserveRecordsRef = vue.ref(/* @__PURE__ */ new Map());
|
@@ -189,8 +222,8 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
189
222
|
}
|
190
223
|
onCleanSelected();
|
191
224
|
});
|
192
|
-
const [selectedRowKeys, setSelectedRowKeys] = useMergedState.default(props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0, {
|
193
|
-
value: vue.computed(() => props.rowSelection ? props.rowSelection.selectedRowKeys : void 0)
|
225
|
+
const [selectedRowKeys, setSelectedRowKeys] = useMergedState.default(props.selectedRowKeys || (props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0), {
|
226
|
+
value: vue.computed(() => props.selectedRowKeys || (props.rowSelection ? props.rowSelection.selectedRowKeys : void 0))
|
194
227
|
});
|
195
228
|
const rowSelection = vue.computed(() => ({
|
196
229
|
selectedRowKeys: selectedRowKeys.value,
|
@@ -327,7 +360,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
327
360
|
actions: slots.alertActions
|
328
361
|
}), vue.createVNode(InteralTable.default, vue.mergeProps({
|
329
362
|
"ref": table
|
330
|
-
}, omit.omit(props, ["onChange", "onUpdate:pagination", "onUpdate:selectedRowKeys"]), {
|
363
|
+
}, omit.omit(props, ["onChange", "onUpdate:pagination", "onUpdate:selectedRowKeys", "onUpdate:columns"]), {
|
331
364
|
"prefixCls": mergedPrefixCls.value,
|
332
365
|
"columns": mergeColumns || [],
|
333
366
|
"size": counter.tableSize.value,
|
@@ -338,7 +371,8 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
338
371
|
"expandIcon": expandIcon,
|
339
372
|
"expandedRowRender": expandedRowRender,
|
340
373
|
"hasContextmenuPopup": !!slots.contextmenuPopup,
|
341
|
-
"onChange": onTableChange
|
374
|
+
"onChange": onTableChange,
|
375
|
+
"onUpdate:columns": onColumnsChange
|
342
376
|
}), {
|
343
377
|
...slots,
|
344
378
|
footer: props.footer || slots.footer
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 15:10:05\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit } from '@pro-design-vue/utils'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const table = ref()\n const wrapperRef = ref<HTMLDivElement>()\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (wrapperRef.value) {\n wrapperRef.value.style.removeProperty(`--${mergedPrefixCls.value}-row-bg-${oldValue}`)\n wrapperRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (!props.request) {\n return Object.assign({}, pagination.value, props.pagination)\n }\n return Object.assign({}, props.pagination, pagination.value)\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const formItems = computed(() => {\n if (!props.search) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n } as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined,\n {\n value: computed(() =>\n props.rowSelection ? props.rowSelection.selectedRowKeys : undefined,\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n table.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(table.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(table.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(table.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return table.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return table.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return table.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return table.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return table.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return table.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={actions}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={table}\n {...omit(props, ['onChange', 'onUpdate:pagination', 'onUpdate:selectedRowKeys'])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={wrapperRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","table","ref","wrapperRef","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","mergedPrefixCls","_a","useProvideLevel","watch","newValue","oldValue","value","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","assign","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","counter","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","formItems","items","flatColumnsHandle","hideInSearch","width","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","forEach","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","onReset","onSubmit"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-09-30 16:45:43\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const table = ref()\n const wrapperRef = ref<HTMLDivElement>()\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (wrapperRef.value) {\n wrapperRef.value.style.removeProperty(`--${mergedPrefixCls.value}-row-bg-${oldValue}`)\n wrapperRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width', 'tooltip', 'disable'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n table.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(table.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(table.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(table.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return table.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return table.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return table.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return table.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return table.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return table.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={actions}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={table}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={wrapperRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","table","ref","wrapperRef","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","mergedPrefixCls","_a","useProvideLevel","watch","newValue","oldValue","value","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","counter","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","onReset","onSubmit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA0BoC,SAAAA,QAAAC,CAAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAA,IAAAC,MAAAA,CAAAC,SAAAA,CAAAC,QAAAA,CAAAC,IAAAA,CAAAJ,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAK,WAAAA,CAAAL,CAAA,CAAA;AAAA;AAiBpC,gDAA+B;AAAA,EAC7BM,IAAAA,EAAM,UAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,OAAOC,qBAAAA,EAAW;AAAA,EAClBC,OAAO,EAAC;AAAA,EACRC,KAAAA,EAAO,CAAC,SAAS,CAAA;AAAA,EACjBC,MAAMJ,KAAAA,EAAO;AAAA,IAAEK,MAAAA;AAAAA,IAAQH,KAAAA;AAAAA,IAAOI,KAAAA;AAAAA,IAAOC;AAAAA,GAAK,EAAG;AAjD/C,IAAA,IAAA,EAAA;AAkDI,IAAA,MAAMC,QAAQC,OAAAA,EAAI;AAClB,IAAA,MAAMC,aAAaD,OAAAA,EAAoB;AACvC,IAAA,MAAME,SAAAA,GAAYC,mBAAa,OAAO,CAAA;AAEtC,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAgBC,wBAAAA,CAAgB;AAAA,MACtCC,aAAAA,EAAeC,YAAAA,CAAS,MAAMhB,KAAAA,CAAMe,aAAa,CAAA;AAAA,MACjDE,QAAAA,EAAUD,YAAAA,CAAS,MAAMhB,KAAAA,CAAMiB,QAAQ;AAAA,KACxC,CAAA;AAED,IAAA,MAAMC,eAAAA,GAAkBF,aAAS,MAAA;AA3DrC,MAAA,IAAAG,GAAAA;AA2D2CnB,MAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMW,SAAAA,KAANX,IAAAA,GAAAA,GAAAA,GAAmBW,SAAAA;AAAAA,IAAAA,CAAS,CAAA;AAInES,IAAAA,wBAAAA,EAAgB;AAEhBC,IAAAA,SAAAA,CACER,WAAAA,EACA,CAACS,QAAAA,EAAUC,QAAAA,KAAa;AACtB,MAAA,IAAIb,WAAWc,KAAAA,EAAO;AACpBd,QAAAA,UAAAA,CAAWc,KAAAA,CAAMC,MAAMC,cAAAA,CAAe,CAAA,EAAA,EAAKR,gBAAgBM,KAAK,CAAA,QAAA,EAAWD,QAAQ,CAAA,CAAE,CAAA;AACrFb,QAAAA,UAAAA,CAAWc,KAAAA,CAAMC,MAAME,WAAAA,CACrB,CAAA,EAAA,EAAKT,gBAAgBM,KAAK,CAAA,QAAA,EAAWF,QAAQ,CAAA,CAAA,EAC7C,CAAA,sBAAA,CACF,CAAA;AAAA,MACF;AAAA,IACF,CAAA,EACA;AAAA,MAAEM,KAAAA,EAAO;AAAA,KACX,CAAA;AAEA,IAAA,MAAMC,YAAaC,CAAAA,EAAAA,KAAsB;AACvCA,MAAAA,EAAAA,CAAGC,eAAAA,EAAgB;AACnBxB,MAAAA,IAAAA,CAAK,WAAWuB,EAAE,CAAA;AAAA,IACpB,CAAA;AAEA,IAAA,MAAME,SAAAA,GAAYhB,aAAS,MAAM;AAC/B,MAAA,IAAI,CAAChB,KAAAA,CAAMiC,OAAAA,EAAS,OAAOC,MAAAA;AAE3B,MAAA,OAAO,OACLC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,KACG;AACH,QAAA,MAAMC,YAAAA,GAAe;AAAA,UACnB,GAAIH,UAAU,EAAC;AAAA,UACf,GAAInC,KAAAA,CAAMmC,MAAAA,IAAU;AAAC,SACvB;AACA,QAAA,MAAMI,WAAW,MAAMvC,KAAAA,CAAMiC,OAAAA,CAASK,YAAAA,EAAcF,SAASC,MAAM,CAAA;AACnE,QAAA,OAAOE,QAAAA;AAAAA,MACT,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMC,OAAAA,GAAUC,yBAAAA,CAAaT,SAAAA,EAAWhC,KAAK,CAAA;AAC7C,IAAA,MAAM;AAAA,MAAE0C,UAAAA;AAAAA,MAAYC,OAAAA;AAAAA,MAASC,UAAAA;AAAAA,MAAYC,cAAAA;AAAAA,MAAgBC,aAAAA;AAAAA,MAAeC,MAAAA;AAAAA,MAAQC;AAAAA,KAAM,GACpFR,OAAAA;AACF,IAAA,MAAMS,eAAAA,GAAkBjC,aAAS,MAAM;AACrC,MAAA,IAAIhB,KAAAA,CAAM4C,eAAe,KAAA,EAAO;AAC9B,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,OAAOA,UAAAA,CAAWpB,KAAAA;AAAAA,IACpB,CAAC,CAAA;AAED,IAAA,MAAM0B,iBAAAA,GAAoBlC,aAAS,MAAM;AACvC,MAAA,IAAI,OAAO2B,OAAAA,CAAQnB,KAAAA,KAAU,SAAA,EAAW;AACtC,QAAA,OAAOmB,OAAAA,CAAQnB,KAAAA;AAAAA,MACjB,CAAA,MAAA,IAAW,OAAOmB,OAAAA,CAAQnB,KAAAA,KAAU,QAAA,EAAU;AAC5C,QAAA,OAAOmB,QAAQnB,KAAAA,CAAM2B,QAAAA;AAAAA,MACvB,CAAA,MAAO;AACL,QAAA,OAAOjB,MAAAA;AAAAA,MACT;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMkB,qBAAsBC,CAAAA,MAAAA,KAAgB;AAzHhD,MAAA,IAAAlC,GAAAA,EAAA,EAAA;AA2HM,MAAA,IAAInB,KAAAA,CAAMsD,OAAAA,IAAWtD,KAAAA,CAAMsD,OAAAA,CAAQC,MAAAA,EAAQ;AACzC,QAAA,MAAM;AAAA,UAAEzD,IAAAA,GAAO;AAAA,SAAU,GAAIE,MAAMsD,OAAAA,CAAQC,MAAAA,KAAW,OAAO,EAAC,GAAIvD,MAAMsD,OAAAA,CAAQC,MAAAA;AAGhF,QAAA,MAAMC,OAAAA,GAAAA,CAAWxD,EAAAA,GAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMsD,OAAAA,CAAQC,MAAAA,KAAdvD,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAA4CyD,QAAAA,KAA5CzD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,GAAAA,EACfwC,OAAAA,CAAQkB,OAAAA,CAAQlC,KAAAA,CAAAA;AAGlB,QAAA,IAAIgC,YAAY,KAAA,EAAO;AACrBhB,UAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,YACpB,GAAGN,MAAAA;AAAAA,YACH,CAACvD,IAAI,GAAG0C,OAAAA,CAAQkB,OAAAA,CAAQlC;AAAAA,WACzB,CAAA;AACD,UAAA;AAAA,QACF;AAAA,MACF;AAEAgB,MAAAA,OAAAA,CAAQmB,cAAcN,MAAM,CAAA;AAAA,IAC9B,CAAA;AAEA,IAAA,MAAMO,OAAAA,GAAUC,0BAAa7D,KAAK,CAAA;AAGlC,IAAA,MAAM8D,WAAAA,GAAc9C,aAAS,MAAM;AACjC,MAAA,OAAO+C,yCAAAA,CAAqB;AAAA,QAC1BC,SAAShE,KAAAA,CAAMgE,OAAAA;AAAAA,QACfJ;AAAAA,OACD,CAAA,CAAEK,IAAAA,CAAKC,sBAAWN,OAAAA,CAAQO,UAAAA,CAAW3C,KAAK,CAAC,CAAA;AAAA,IAC9C,CAAC,CAAA;AAEDH,IAAAA,SAAAA,CACEyC,aACA,MAAM;AACJ,MAAA,IAAIA,WAAAA,CAAYtC,KAAAA,IAASsC,WAAAA,CAAYtC,KAAAA,CAAM4C,SAAS,CAAA,EAAG;AAErD,QAAA,MAAMC,UAAAA,GAAaP,WAAAA,CAAYtC,KAAAA,CAAM8C,GAAAA,CAAKC,CAAAA,IAAAA,KAASC,kBAAaD,IAAAA,CAAKE,GAAAA,EAAKF,IAAAA,CAAKG,KAAK,CAAC,CAAA;AACrFd,QAAAA,OAAAA,CAAQe,kBAAkBN,UAAU,CAAA;AAAA,MACtC;AAAA,IACF,CAAA,EACA;AAAA,MACEO,SAAAA,EAAW;AAAA,KAEf,CAAA;AAGA,IAAA,MAAMZ,OAAAA,GAAUhD,aAAS,MAAM;AAC7B,MAAA,MAAM6D,aAAcC,CAAAA,MAAAA,KAAyB;AAC3C,QAAA,OAAOA,MAAAA,CACJR,IAAKC,CAAAA,IAAAA,KAAS;AAEb,UAAA,MAAMQ,SAAAA,GAAYP,iBAAAA,CAAaD,IAAAA,CAAKE,GAAAA,EAAKF,KAAKG,KAAK,CAAA;AACnD,UAAA,MAAMM,MAAAA,GAASpB,OAAAA,CAAQO,UAAAA,CAAW3C,KAAAA,CAAMuD,SAAS,CAAA;AACjD,UAAA,IAAIC,MAAAA,IAAUA,MAAAA,CAAOC,IAAAA,KAAS,KAAA,EAAO;AACnC,YAAA,OAAO,KAAA;AAAA,UACT;AACA,UAAA,IAAIV,KAAKW,QAAAA,EAAU;AACjB,YAAA,OAAO;AAAA,cACL,GAAGX,IAAAA;AAAAA,cACHW,QAAAA,EAAUL,UAAAA,CAAWN,IAAAA,CAAKW,QAAQ;AAAA,aACpC;AAAA,UACF;AACA,UAAA,OAAOX,IAAAA;AAAAA,QACT,CAAC,CAAA,CACAlC,MAAAA,CAAO8C,OAAO,CAAA;AAAA,MACnB,CAAA;AACA,MAAA,OAAON,UAAAA,CAAWf,YAAYtC,KAAK,CAAA;AAAA,IACrC,CAAC,CAAA;AAED,IAAA,MAAM4D,eAAAA,GAAkBA,CAACC,UAAAA,EAAYC,MAAAA,KAA8B;AA/LvE,MAAA,IAAAnE,GAAAA;AAgMM,MAAA,MAAMoE,MAAAA,GAAS;AAAA,QAAE,GAAG3B,QAAQO,UAAAA,CAAW3C;AAAAA,OAAM;AAC7C,MAAA,MAAMgE,UAAAA,GAAaH,WAAWf,GAAAA,CAAKC,CAAAA,IAAAA,KAASC,kBAAaD,IAAAA,CAAKE,GAAAA,EAAKF,IAAAA,CAAKG,KAAK,CAAC,CAAA;AAC9E,MAAA,IAAIY,WAAW,QAAA,EAAU;AACvB,QAAA,MAAMG,YAAAA,GAAgBJ,CAAAA,WAAAA,KAAe;AACnCA,UAAAA,WAAAA,CAAWK,QAASnB,CAAAA,IAAAA,KAAS;AApMvC,YAAA,IAAApD,GAAAA;AAqMY,YAAA,MAAMsD,GAAAA,GAAMD,iBAAAA,CAAaD,IAAAA,CAAKE,GAAAA,EAAKF,KAAKG,KAAK,CAAA;AAC7C,YAAA,MAAMiB,UAAAA,GAAa;AAAA,cAAE,GAAGJ,OAAOd,GAAG;AAAA,aAAE;AACpC,YAAA,IAAA,CAAIF,GAAAA,GAAAA,IAAAA,CAAKW,QAAAA,KAALX,IAAAA,GAAAA,MAAAA,GAAAA,IAAeH,MAAAA,EAAQ;AACzBqB,cAAAA,YAAAA,CAAalB,KAAKW,QAAQ,CAAA;AAAA,YAC5B,CAAA,MAAO;AACLS,cAAAA,UAAAA,CAAWC,QAAQrB,IAAAA,CAAKqB,KAAAA;AACxBL,cAAAA,MAAAA,CAAOd,GAAG,CAAA,GAAIkB,UAAAA;AAAAA,YAChB;AAAA,UACF,CAAC,CAAA;AAAA,QACH,CAAA;AACAF,QAAAA,YAAAA,CAAaJ,UAAU,CAAA;AAAA,MACzB,CAAA,MAAO;AACLG,QAAAA,UAAAA,CAAWE,OAAAA,CAAQ,CAACjB,GAAAA,EAAKoB,KAAAA,KAAU;AACjCN,UAAAA,MAAAA,CAAOd,GAAG,CAAA,GAAI;AAAA,YAAE,GAAIc,MAAAA,CAAOd,GAAG,CAAA,IAAK,EAAC;AAAA,YAAIoB;AAAAA,WAAM;AAAA,QAChD,CAAC,CAAA;AAAA,MACH;AACAjC,MAAAA,OAAAA,CAAQkC,cAAcP,MAAM,CAAA;AAC5B3B,MAAAA,OAAAA,CAAQe,kBAAkBa,UAAU,CAAA;AACpCxF,MAAAA,CAAAA,MAAAA,KAAAA,CAAM,kBAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,YAA4BqF,UAAAA,EAA2BC,MAAAA,CAAAA;AAAAA,IACzD,CAAA;AACA,IAAA,MAAMS,SAAAA,GAAY/E,aAAS,MAAM;AAzNrC,MAAA,IAAAG,GAAAA,EAAA,EAAA,EAAA,EAAA;AA0NM,MAAA,IAAInB,KAAAA,CAAMuD,WAAW,KAAA,EAAO;AAC1B,QAAA,OAAO,EAAA;AAAA,MACT;AACA,MAAA,IAAA,CAAIvD,EAAAA,GAAAA,CAAAA,MAAAA,KAAAA,CAAMuD,MAAAA,KAANvD,gBAAAA,GAAAA,CAAcgG,KAAAA,KAAdhG,mBAAqBoE,MAAAA,EAAQ;AAC/B,QAAA,OAAA,CAAOpE,EAAAA,GAAAA,KAAAA,CAAMuD,WAANvD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAcgG,KAAAA;AAAAA,MACvB;AACA,MAAA,OAAOC,mCAAAA,CAAkBjG,KAAAA,CAAMgE,OAAO,CAAA,CACnC3B,OAAQkC,CAAAA,IAAAA,KAAS;AAChB,QAAA,IAAIA,KAAK2B,YAAAA,EAAc;AACrB,UAAA,OAAO,KAAA;AAAA,QACT;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAC,CAAA,CACA5B,GAAAA,CAAKC,CAAAA,IAAAA,KAAS;AACb,QAAA,OAAO4B,yBAAAA,CACL;AAAA,UACE,GAAG5B,IAAAA;AAAAA,UACHqB,KAAAA,EAAO1D,MAAAA;AAAAA,UACPkE,SAAS7B,IAAAA,CAAK8B,aAAAA;AAAAA,UACdvG,MAAMyE,IAAAA,CAAK+B;AAAAA,WAEb,CAAC,WAAA,EAAa,OAAA,EAAS,SAAA,EAAW,SAAS,CAC7C,CAAA;AAAA,MACF,CAAC,CAAA;AAAA,IACL,CAAC,CAAA;AAGD,IAAA,MAAMC,kBAAAA,GAAqB9F,OAAAA,iBAAI,IAAI+F,GAAAA,EAAe,CAAA;AAElD,IAAA,MAAMC,SAAAA,GAAYzF,aAAoB,MACpC,OAAOhB,MAAM0G,MAAAA,IAAU,UAAA,GACnB1G,KAAAA,CAAM0G,MAAAA,GACLC,CAAAA,MAAAA,KAAgC;AAC/B,MAAA,OAAOA,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,MAAAA,CAAU3G,MAAM0G,MAAAA,IAAU,IAAA,CAAA;AAAA,IACnC,CACN,CAAA;AAEArF,IAAAA,SAAAA,CAAM,CAAC,MAAMqB,UAAAA,CAAWlB,KAAAA,EAAOiF,SAAS,GAAG,MAAM;AA/PrD,MAAA,IAAAtF,GAAAA;AAgQM,MAAA,IAAA,CAAIuB,GAAAA,GAAAA,UAAAA,CAAWlB,KAAAA,KAAXkB,IAAAA,GAAAA,MAAAA,GAAAA,IAAkB0B,MAAAA,EAAQ;AAC5B1B,QAAAA,UAAAA,CAAWlB,KAAAA,CAAMkE,QAASkB,CAAAA,IAAAA,KAAS;AACjC,UAAA,MAAMC,UAAAA,GAAaJ,SAAAA,CAAUjF,KAAAA,CAAMoF,IAAAA,EAAM,EAAE,CAAA;AAC3CL,UAAAA,kBAAAA,CAAmB/E,KAAAA,CAAMsF,GAAAA,CAAID,UAAAA,EAAYD,IAAI,CAAA;AAAA,QAC/C,CAAC,CAAA;AAAA,MACH;AACAG,MAAAA,eAAAA,EAAgB;AAAA,IAClB,CAAC,CAAA;AAGD,IAAA,MAAM,CAACC,eAAAA,EAAiBC,kBAAkB,CAAA,GAAIC,uBAC5ClH,KAAAA,CAAMgH,eAAAA,KACHhH,KAAAA,CAAMmH,YAAAA,GAAAA,CAAAA,CAAenH,WAAMmH,YAAAA,KAANnH,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBoH,sBAAAA,KAA0B,KAAKlF,MAAAA,CAAAA,EAC3E;AAAA,MACEV,KAAAA,EAAOR,YAAAA,CACL,MACEhB,KAAAA,CAAMgH,eAAAA,KACLhH,MAAMmH,YAAAA,GAAenH,KAAAA,CAAMmH,YAAAA,CAAaH,eAAAA,GAAkB9E,MAAAA,CAC/D;AAAA,KAEJ,CAAA;AAEA,IAAA,MAAMiF,YAAAA,GAAenG,aAA4B,OAAO;AAAA,MACtDgG,iBAAiBA,eAAAA,CAAgBxF,KAAAA;AAAAA,MACjC6F,uBAAAA,EAAyB,IAAA;AAAA,MACzB,GAAGrH,KAAAA,CAAMmH,YAAAA;AAAAA,MACTG,QAAAA,EAAUA,CAACN,gBAAAA,EAAwBO,aAAAA,KAAwB;AA1RjE,QAAA,IAAApG,GAAAA;AA2RQ,QAAA,IAAInB,KAAAA,CAAMmH,YAAAA,IAAgBnH,KAAAA,CAAMmH,YAAAA,CAAaG,QAAAA,EAAU;AACrDtH,UAAAA,KAAAA,CAAMmH,YAAAA,CAAaG,QAAAA,CAASN,gBAAAA,EAAiBO,aAAY,CAAA;AAAA,QAC3D;AACAvH,QAAAA,CAAAA,MAAAA,KAAAA,CAAM,0BAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,YAAoCgH,gBAAAA,EAAiBO,aAAAA,CAAAA;AACrDN,QAAAA,kBAAAA,CAAmBD,gBAAe,CAAA;AAAA,MACpC;AAAA,KACF,CAAE,CAAA;AAEF,IAAA,MAAMO,YAAAA,GAAevG,aAAS;AAnSlC,MAAA,IAAAG,GAAAA;AAoSM6F,MAAAA,OAAAA,CAAAA,MAAAA,eAAAA,CAAgBxF,KAAAA,KAAhBwF,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAuB1C,IAAKG,CAAAA,GAAAA,KAAG;AApSrC,QAAA,IAAAtD,GAAAA;AAoS0CoF,QAAAA,OAAAA,CAAAA,GAAAA,GAAAA,kBAAAA,CAAmB/E,KAAAA,KAAnB+E,IAAAA,GAAAA,MAAAA,GAAAA,IAA0BiB,GAAAA,CAAI/C,GAAAA,CAAAA;AAAAA,MAAAA,CAAAA,CAAAA;AAAAA,IAAAA,CACpE,CAAA;AAEA,IAAA,MAAMsC,kBAAkBA,MAAM;AAvSlC,MAAA,IAAA5F,GAAAA;AAwSM,MAAA,IAAInB,KAAAA,CAAMmH,YAAAA,IAAgBnH,KAAAA,CAAMmH,YAAAA,CAAaG,QAAAA,EAAU;AACrDtH,QAAAA,KAAAA,CAAMmH,YAAAA,CAAaG,QAAAA,CAAS,EAAA,EAAI,EAAE,CAAA;AAAA,MACpC;AACAtH,MAAAA,CAAAA,GAAAA,GAAAA,MAAM,0BAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,IAAAA,CAAAA,KAAAA,EAAoC,IAAI;AACxCiH,MAAAA,kBAAAA,CAAmB,EAAE,CAAA;AAAA,IACvB,CAAA;AAEA,IAAA,MAAMQ,WAAAA,GAAczG,aAClB,MACEhB,KAAAA,CAAMsD,YAAY,KAAA,IAClB,CAACtD,MAAM0H,KAAAA,IACP,CAACxH,MAAMwH,KAAAA,IACP,CAACxH,MAAMyH,OAAAA,IACP,CAACzH,MAAM0H,WAAAA,IACP,CAAC1H,MAAM2H,cACX,CAAA;AAKA,IAAA,MAAMC,cAAAA,GAAiB9G,aAAS,MAAM;AA5T1C,MAAA,IAAAG,GAAAA;AA6TM,MAAA,IAAA,CAAKnB,KAAAA,CAAMuD,MAAAA,KAAW,KAAA,IAAS,EAAA,CAACwC,GAAAA,GAAAA,SAAAA,CAAUvE,KAAAA,KAAVuE,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAiB3B,MAAAA,CAAAA,KAAWpE,KAAAA,CAAM+H,OAAAA,KAAY,KAAA,EAAO;AACnF,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMC,aAAAA,GAAgBhH,aAAS,MAAM;AACnC,MAAA,IAAIhB,MAAMiI,SAAAA,KAAc,KAAA,IAASH,eAAetG,KAAAA,KAAU,IAAA,SAAa,EAAC;AAExE,MAAA,IAAIiG,YAAYjG,KAAAA,EAAO;AACrB,QAAA,OAAO;AAAA,UACL0G,OAAAA,EAAS;AAAA,SACX;AAAA,MACF;AAaA,MAAA,IAAIlI,KAAAA,CAAM4C,eAAe,KAAA,EAAO;AAC9B,QAAA,OAAO;AAAA,UACLuF,eAAAA,EAAiB;AAAA,SACnB;AAAA,MACF;AACA,MAAA,OAAO,EAAC;AAAA,IACV,CAAC,CAAA;AAED9H,IAAAA,MAAAA,CAAO;AAAA,MACL+H,QAAAA,EAAUA,CAACC,GAAAA,EAAwBC,QAAAA,KAAgC;AAhWzE,QAAA,IAAAnH,GAAAA;AAiWQX,QAAAA,CAAAA,MAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAa4H,SAASC,GAAAA,EAAKC,QAAAA,CAAAA;AAAAA,MAC7B,CAAA;AAAA,MACAC,UAAAA,EAAYvH,aAAS,MAAM;AAnWjC,QAAA,IAAAG,GAAAA;AAoWQ,QAAA,OAAOqH,WAAMhI,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAa+H,UAAU,CAAA;AAAA,MACtC,CAAC,CAAA;AAAA,MACDE,SAAAA,EAAWzH,aAAS,MAAM;AAtWhC,QAAA,IAAAG,GAAAA;AAuWQ,QAAA,OAAOqH,WAAMhI,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAaiI,SAAS,CAAA;AAAA,MACrC,CAAC,CAAA;AAAA,MACDC,OAAAA,EAAS1H,aAAS,MAAM;AAzW9B,QAAA,IAAAG,GAAAA;AA0WQ,QAAA,OAAOqH,WAAMhI,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAakI,OAAO,CAAA;AAAA,MACnC,CAAC,CAAA;AAAA,MACDC,mBAAmBA,MAAM;AA5W/B,QAAA,IAAAxH,GAAAA;AA6WQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAamI,iBAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA,MACAC,kBAAkBA,MAAM;AA/W9B,QAAA,IAAAzH,GAAAA;AAgXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAaoI,gBAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA,MACAC,uBAAuBA,MAAM;AAlXnC,QAAA,IAAA1H,GAAAA;AAmXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAaqI,qBAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA,MACAC,iBAAiBA,MAAM;AACrBpG,QAAAA,UAAAA,CAAWlB,QAAQ,EAAA;AAAA,MACrB,CAAA;AAAA,MACAuH,2BAA4B5G,CAAAA,MAAAA,KAA4B;AAxX9D,QAAA,IAAAhB,GAAAA;AAyXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAauI,yBAAAA,CAA0B5G,MAAAA,CAAAA;AAAAA,MAChD,CAAA;AAAA,MACA6G,YAAaC,CAAAA,SAAAA,KAAqB;AA3XxC,QAAA,IAAA9H,GAAAA;AA4XQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAawI,UAAAA,CAAWC,SAAAA,CAAAA;AAAAA,MACjC,CAAA;AAAA,MACAC,aAAcD,CAAAA,SAAAA,KAAqB;AA9XzC,QAAA,IAAA9H,GAAAA;AA+XQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,KAAAA,CAAMgB,KAAAA,KAANhB,IAAAA,GAAAA,MAAAA,GAAAA,IAAa0I,WAAAA,CAAYD,SAAAA,CAAAA;AAAAA,MAClC,CAAA;AAAA,MACAlG,MAAAA;AAAAA,MACAC;AAAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAM;AArYjB,MAAA,IAAA7B,GAAAA,EAAA,EAAA,EAAA,EAAA;AAsYM,MAAA,MAAM;AAAA,QAAEgI,aAAajJ,KAAAA,CAAMiJ,UAAAA;AAAAA,QAAYC,oBAAoBlJ,KAAAA,CAAMkJ;AAAAA,OAAkB,GAAIpJ,KAAAA;AACvF,MAAA,MAAMqJ,YAAAA,GAAerF,OAAAA,CAAQxC,KAAAA,IAAS8H,6BAAAA,CAAAA,CAAyBpJ,GAAAA,GAAAA,KAAAA,CAAMqJ,OAAAA,KAANrJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,IAAK,EAAA;AACrF,MAAA,IAAIsJ,QAAAA,GAAQC,eAAAA,CAAAC,YAAAA,EAAA,IAAA,EAAA,CAEP1J,KAAAA,CAAM+H,OAAAA,KAAY,KAAA,IAAS,CAACN,WAAAA,CAAYjG,KAAAA,IAAKiI,eAAAA,CAAAE,eAAAA,EAAA;AAAA,QAAA,SAEnC3J,KAAAA,CAAM0H,KAAAA;AAAAA,QAAK,YACR1H,KAAAA,CAAM4J,QAAAA;AAAAA,QAAQ,WACf5J,KAAAA,CAAMoG,OAAAA;AAAAA,QAAO,aACXlF,eAAAA,CAAgBM,KAAAA;AAAAA,QAAK,WACvBxB,KAAAA,CAAMsD,OAAAA;AAAAA,QAAO,YAAA,EACVd,OAAAA;AAAAA,QAAO,eACNsB,WAAAA,CAAYtC,KAAAA;AAAAA,QAAK,mBACbwF,eAAAA,CAAgBxF,KAAAA;AAAAA,QAAK,gBACxB+F,YAAAA,CAAa/F,KAAAA;AAAAA,QAAK,sBAOXqI,CAAAA,SAAAA,KAAc;AACjCrH,UAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,YACpB,GAAGnB,QAAQsH,UAAAA,CAAWtI,KAAAA;AAAAA,YACtB,GAAGqI;AAAAA,WACJ,CAAA;AAAA,QACH;AAAA,OAAC,EAXQ;AAAA,QACPlC,SAASzH,KAAAA,CAAMyH,OAAAA;AAAAA,QACfD,OAAOxH,KAAAA,CAAMwH,KAAAA;AAAAA,QACbE,aAAa1H,KAAAA,CAAM0H,WAAAA;AAAAA,QACnBpF,SAAStC,KAAAA,CAAM2H;AAAAA,OAChB,GASJ,CAAC,CAAC7H,MAAMmH,YAAAA,IAAAA,CAAAA,CACPnH,EAAAA,GAAAA,KAAAA,CAAMmH,iBAANnH,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoB+J,IAAAA,MAAS,WAC7B/J,KAAAA,CAAMgK,eAAAA,KAAoB,SAC1B,CAAC,CAAChD,gBAAgBxF,KAAAA,CAAO4C,MAAAA,IAAMqF,gBAAAQ,aAAAA,EAAA;AAAA,QAAA,aAEhB/I,eAAAA,CAAgBM,KAAAA;AAAAA,QAAK,mBACfwF,eAAAA,CAAgBxF,KAAAA;AAAAA,QAAK,gBACxB+F,YAAAA,CAAa/F,KAAAA;AAAAA,QAAK,iBAAA,EACfuF;AAAAA,OAAe,EACvB;AAAA,QAAEmD,MAAMhK,KAAAA,CAAMiK,SAAAA;AAAAA,QAAW3H,SAAStC,KAAAA,CAAMkK;AAAAA,OAAc,CAAA,EAElEX,eAAAA,CAAAY,oBAAAA,EAAAC,cAAAA,CAAA;AAAA,QAAA,KAAA,EAEI9J;AAAAA,OAAK,EACN+J,UAAKvK,KAAAA,EAAO,CACd,YACA,qBAAA,EACA,0BAAA,EACA,kBAAkB,CACnB,CAAA,EAAC;AAAA,QAAA,aACSkB,eAAAA,CAAgBM,KAAAA;AAAAA,QAAK,SAAA,EACvB6H,gBAAgB,EAAA;AAAA,QAAE,MAAA,EACrBzF,QAAQ4G,SAAAA,CAAUhJ,KAAAA;AAAAA,QAAK,cACjBkB,UAAAA,CAAWlB,KAAAA;AAAAA,QAAK,WACnBmB,OAAAA,CAAQnB,KAAAA;AAAAA,QAAK,cAAA,EACRxB,KAAAA,CAAMmH,YAAAA,GAAeA,YAAAA,CAAa3F,KAAAA,GAAQU,MAAAA;AAAAA,QAAS,cACrDe,eAAAA,CAAgBzB,KAAAA;AAAAA,QAAK,YAAA,EACrB2H,UAAAA;AAAAA,QAAU,mBAAA,EACHC,iBAAAA;AAAAA,QAAiB,qBAAA,EACf,CAAC,CAAClJ,KAAAA,CAAMuK,gBAAAA;AAAAA,QAAgB,UAAA,EACnC3H,aAAAA;AAAAA,QAAa,kBAAA,EACLsC;AAAAA,OAAe,CAAA,EACxB;AAAA,QACP,GAAGlF,KAAAA;AAAAA,QACHwK,MAAAA,EAAQ1K,KAAAA,CAAM0K,MAAAA,IAAUxK,KAAAA,CAAMwK;AAAAA,OAC/B,CAAA,CAAA,CAAA;AAKP,MAAA,IAAI,EAAE1K,KAAAA,CAAMiI,SAAAA,KAAc,KAAA,IAASH,eAAetG,KAAAA,CAAAA,EAAQ;AAAA,QAAA,MAAAmJ,4BAAA,CAAA,WAAA;AAAA,UAAA,OAOnDnB,QAAAA;AAAAA,QAAQ,CAAA,GAAA;AANbA,QAAAA,QAAAA,GAAQC,eAAAA,CAAAmB,mBAAAN,cAAAA,CAAA;AAAA,UAAA,UAAA,EAEMO,eAAAA,CAAW,OAAA,EAAS7K,KAAAA,CAAM8K,YAAY,CAAA;AAAA,UAAC,aACtC9C,aAAAA,CAAcxG;AAAAA,WACrBxB,KAAAA,CAAMiI,SAAS,GAAA1I,OAAAA,CAElBiK,QAAQ,IAARA,QAAAA,GAAQ;AAAA,UAAAD,OAAAA,EAAAA,MAAA,CAAAoB,SAAA;AAAA,SAAA,CAAA;AAAA,MAGf;AAEA,MAAA,OAAAlB,eAAAA,QAAAa,cAAAA,CAAA;AAAA,QAAA,KAAA,EAES5J;AAAAA,SACDJ,KAAAA,EAAK;AAAA,QAAA,OAAA,EACF,CACL,CAAA,EAAGY,eAAAA,CAAgBM,KAAK,CAAA,SAAA,EAAYxB,KAAAA,CAAM+K,QAAAA,GAAW7J,eAAAA,CAAgBM,KAAAA,GAAQ,mBAAA,GAAsB,EAAE,CAAA,CAAA,EACnG,MAAA,KAAWwJ,YAAAA,CAAMxJ,KAAAA,GAAQN,eAAAA,CAAgBM,KAAAA,GAAQ,eAAA,GAAkB,EAAE,CAAA,CAAA,EACnEqB,cAAAA,CAAerB,KAAAA,GAAQN,eAAAA,CAAgBM,KAAAA,GAAQ,kBAAA,GAAqB,EAAE,CAAA,CAAA,EAC1ElB,MAAM2K,KAAK,CAAA;AAAA,QACZ,WAAA,EACUpJ;AAAAA,OAAS,CAAA,EAAA,CAEnB7B,KAAAA,CAAMuD,MAAAA,KAAW,KAAA,IAAS,CAAC,EAAA,CAACwC,EAAAA,GAAAA,SAAAA,CAAUvE,KAAAA,KAAVuE,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiB3B,MAAAA,CAAAA,IAAMqF,gBAAAyB,YAAAA,EAAA;AAAA,QAAA,aAErChK,eAAAA,CAAgBM,KAAAA;AAAAA,QAAK,SACzBuE,SAAAA,CAAUvE,KAAAA;AAAAA,QAAK,gBACRxB,KAAAA,CAAM8K,YAAAA;AAAAA,QAAY,UACxB9K,KAAAA,CAAMuD,MAAAA;AAAAA,QAAM,eAAA,EACLvD,MAAMiI,SAAAA,KAAc,KAAA;AAAA,QAAK,WAC/B/E,iBAAAA,CAAkB1B,KAAAA;AAAAA,QAAK,sBACZxB,KAAAA,CAAMmL,kBAAAA;AAAAA,QAAkB,UACpCnL,KAAAA,CAAMoL,MAAAA;AAAAA,QAAM,WACXpL,KAAAA,CAAMqL,OAAAA;AAAAA,QAAO,YACZrL,KAAAA,CAAMsL,QAAAA;AAAAA,QAAQ,oBAAA,EACJlI,kBAAAA;AAAAA,QAAkB,qBAClByG,CAAAA,SAAAA,KAAc;AAChCrH,UAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,YACpB,GAAGnB,QAAQsH,UAAAA,CAAWtI,KAAAA;AAAAA,YACtB,GAAGqI;AAAAA,WACJ,CAAA;AAAA,QACH;AAAA,OAAC,EAAA,IAAA,CAAA,EAGJL,QAAQ,CAAA,CAAA;AAAA,IAGf,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
@@ -224,6 +224,7 @@ export declare const baseTableProps: <T = DefaultRecordType>() => {
|
|
224
224
|
};
|
225
225
|
size: {
|
226
226
|
type: PropType<DensitySize>;
|
227
|
+
default: string;
|
227
228
|
};
|
228
229
|
bordered: {
|
229
230
|
type: BooleanConstructor;
|
@@ -319,6 +320,10 @@ export declare const baseTableProps: <T = DefaultRecordType>() => {
|
|
319
320
|
type: NumberConstructor;
|
320
321
|
default: number;
|
321
322
|
};
|
323
|
+
rowHover: {
|
324
|
+
type: BooleanConstructor;
|
325
|
+
default: undefined;
|
326
|
+
};
|
322
327
|
rowKey: {
|
323
328
|
type: PropType<string | GetRowKey<T>>;
|
324
329
|
};
|
@@ -442,6 +447,9 @@ export declare const baseTableProps: <T = DefaultRecordType>() => {
|
|
442
447
|
'onUpdate:dataSource': {
|
443
448
|
type: PropType<(dataSource: T[]) => void>;
|
444
449
|
};
|
450
|
+
'onUpdate:columns': {
|
451
|
+
type: PropType<(columns: ColumnsType<T>, action: "resize" | "drag") => void>;
|
452
|
+
};
|
445
453
|
columnEmptyText: {
|
446
454
|
type: PropType<string | false>;
|
447
455
|
default: string;
|
@@ -582,6 +590,7 @@ export declare const tableProps: <T = DefaultRecordType>() => {
|
|
582
590
|
};
|
583
591
|
size: {
|
584
592
|
type: PropType<DensitySize>;
|
593
|
+
default: string;
|
585
594
|
};
|
586
595
|
bordered: {
|
587
596
|
type: BooleanConstructor;
|
@@ -688,6 +697,10 @@ export declare const tableProps: <T = DefaultRecordType>() => {
|
|
688
697
|
type: NumberConstructor;
|
689
698
|
default: number;
|
690
699
|
};
|
700
|
+
rowHover: {
|
701
|
+
type: BooleanConstructor;
|
702
|
+
default: undefined;
|
703
|
+
};
|
691
704
|
rowKey: {
|
692
705
|
type: PropType<string | GetRowKey<T>>;
|
693
706
|
};
|
@@ -872,6 +885,9 @@ export declare const tableProps: <T = DefaultRecordType>() => {
|
|
872
885
|
'onUpdate:dataSource': {
|
873
886
|
type: PropType<(dataSource: T[]) => void>;
|
874
887
|
};
|
888
|
+
'onUpdate:columns': {
|
889
|
+
type: PropType<(columns: ColumnsType<T>, action: "resize" | "drag") => void>;
|
890
|
+
};
|
875
891
|
columnEmptyText: {
|
876
892
|
type: PropType<string | false>;
|
877
893
|
default: string;
|
@@ -1054,6 +1070,7 @@ declare class Helper<T extends DefaultRecordType> {
|
|
1054
1070
|
};
|
1055
1071
|
size: {
|
1056
1072
|
type: PropType<DensitySize>;
|
1073
|
+
default: string;
|
1057
1074
|
};
|
1058
1075
|
bordered: {
|
1059
1076
|
type: BooleanConstructor;
|
@@ -1160,6 +1177,10 @@ declare class Helper<T extends DefaultRecordType> {
|
|
1160
1177
|
type: NumberConstructor;
|
1161
1178
|
default: number;
|
1162
1179
|
};
|
1180
|
+
rowHover: {
|
1181
|
+
type: BooleanConstructor;
|
1182
|
+
default: undefined;
|
1183
|
+
};
|
1163
1184
|
rowKey: {
|
1164
1185
|
type: PropType<string | GetRowKey<T>>;
|
1165
1186
|
};
|
@@ -1344,6 +1365,9 @@ declare class Helper<T extends DefaultRecordType> {
|
|
1344
1365
|
'onUpdate:dataSource': {
|
1345
1366
|
type: PropType<(dataSource: T[]) => void>;
|
1346
1367
|
};
|
1368
|
+
'onUpdate:columns': {
|
1369
|
+
type: PropType<(columns: ColumnsType<T>, action: "resize" | "drag") => void>;
|
1370
|
+
};
|
1347
1371
|
columnEmptyText: {
|
1348
1372
|
type: PropType<string | false>;
|
1349
1373
|
default: string;
|
@@ -1433,6 +1457,7 @@ export interface ColumnTitleProps<RecordType> {
|
|
1433
1457
|
sortOrder?: SortOrder;
|
1434
1458
|
/** @deprecated Please use `sorterColumns` instead. */
|
1435
1459
|
sortColumn?: ColumnType<RecordType>;
|
1460
|
+
column: ColumnType<RecordType>;
|
1436
1461
|
sortColumns?: {
|
1437
1462
|
column: ColumnType<RecordType>;
|
1438
1463
|
order: SortOrder;
|
@@ -1571,7 +1596,7 @@ export interface ColumnType<RecordType = DefaultRecordType> extends ColumnShared
|
|
1571
1596
|
flex?: number;
|
1572
1597
|
autoHeight?: boolean;
|
1573
1598
|
tooltip?: true | CellTooltip;
|
1574
|
-
headerTooltip?: string;
|
1599
|
+
headerTooltip?: string | true;
|
1575
1600
|
hidden?: boolean;
|
1576
1601
|
sorter?: boolean | CompareFn<RecordType> | {
|
1577
1602
|
compare?: CompareFn<RecordType>;
|
@@ -1636,7 +1661,7 @@ export interface ColumnType<RecordType = DefaultRecordType> extends ColumnShared
|
|
1636
1661
|
};
|
1637
1662
|
valueEnum?: ((row: RecordType) => Record<string, ValueEnumType>) | Record<string, ValueEnumType>;
|
1638
1663
|
valueStatus?: ((value: any, row: RecordType) => ValueStatus) | ValueStatus;
|
1639
|
-
renderText?: (text: any, record: RecordType, rowIndex: number) => string;
|
1664
|
+
renderText?: (text: any, record: RecordType, rowIndex: number) => string | number;
|
1640
1665
|
/** @name 列设置的 disabled */
|
1641
1666
|
disable?: boolean | {
|
1642
1667
|
checkbox: boolean;
|
@@ -1649,6 +1674,7 @@ export interface ColumnType<RecordType = DefaultRecordType> extends ColumnShared
|
|
1649
1674
|
hideInSetting?: boolean;
|
1650
1675
|
/** @name 不在过滤工具中显示 */
|
1651
1676
|
hideInFilter?: boolean;
|
1677
|
+
children?: ColumnType<RecordType>[];
|
1652
1678
|
}
|
1653
1679
|
export interface ColumnGroupType<RecordType = DefaultRecordType> extends ColumnType<RecordType> {
|
1654
1680
|
children?: ColumnsType<RecordType>;
|
@@ -1742,7 +1768,7 @@ export interface ColumnDragGhostArg<ColumnT> {
|
|
1742
1768
|
event: MouseEvent | Touch;
|
1743
1769
|
targetColumn: ColumnT;
|
1744
1770
|
}
|
1745
|
-
export type DensitySize = 'small' | '
|
1771
|
+
export type DensitySize = 'small' | 'middle' | 'large' | undefined;
|
1746
1772
|
export type Request<T = DefaultRecordType, U = Record<string, any>> = (params: U & {
|
1747
1773
|
pageSize?: number;
|
1748
1774
|
current?: number;
|
@@ -1787,6 +1813,7 @@ export type ColumnsState = {
|
|
1787
1813
|
show?: boolean;
|
1788
1814
|
fixed?: true | 'right' | 'left' | undefined;
|
1789
1815
|
order?: number;
|
1816
|
+
width?: number;
|
1790
1817
|
disable?: boolean | {
|
1791
1818
|
checkbox: boolean;
|
1792
1819
|
};
|
@@ -67,7 +67,8 @@ const baseTableProps = () => ({
|
|
67
67
|
type: [Number, String]
|
68
68
|
},
|
69
69
|
size: {
|
70
|
-
type: String
|
70
|
+
type: String,
|
71
|
+
default: "middle"
|
71
72
|
},
|
72
73
|
bordered: {
|
73
74
|
type: Boolean,
|
@@ -163,6 +164,10 @@ const baseTableProps = () => ({
|
|
163
164
|
type: Number,
|
164
165
|
default: 59
|
165
166
|
},
|
167
|
+
rowHover: {
|
168
|
+
type: Boolean,
|
169
|
+
default: void 0
|
170
|
+
},
|
166
171
|
rowKey: {
|
167
172
|
type: [Function, String]
|
168
173
|
},
|
@@ -277,6 +282,9 @@ const baseTableProps = () => ({
|
|
277
282
|
"onUpdate:dataSource": {
|
278
283
|
type: Function
|
279
284
|
},
|
285
|
+
"onUpdate:columns": {
|
286
|
+
type: Function
|
287
|
+
},
|
280
288
|
columnEmptyText: {
|
281
289
|
type: [String, Boolean],
|
282
290
|
default: "-"
|