@robot-admin/naive-ui-components 0.6.31 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +5 -3
  3. package/dist/C_OrgChart.js.map +1 -1
  4. package/dist/C_OrgChart2.js.map +1 -1
  5. package/dist/C_Skeleton.js.map +1 -1
  6. package/dist/C_Skeleton2.js.map +1 -1
  7. package/dist/{C_Table-B8hpzOcR.css.map → C_Table-BcM5LqAM.css.map} +1 -1
  8. package/dist/{C_Table-CGP3n_u0.css.map → C_Table-HATVoq1F.css.map} +1 -1
  9. package/dist/C_Table.cjs +1 -1
  10. package/dist/C_Table.css +140 -97
  11. package/dist/C_Table.d.cts +2 -2
  12. package/dist/C_Table.d.ts +2 -2
  13. package/dist/C_Table.js +1 -1
  14. package/dist/C_Table.js.map +1 -1
  15. package/dist/C_Table2.js +3 -1
  16. package/dist/C_Table2.js.map +1 -1
  17. package/dist/constants.d.ts +4 -4
  18. package/dist/constants2.d.ts +3 -3
  19. package/dist/constants3.d.ts +3 -3
  20. package/dist/constants4.d.ts +2 -2
  21. package/dist/constants5.d.ts +2 -2
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.d.cts +2 -2
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.vue.d.ts +1 -1
  28. package/dist/index10.vue.d.ts +1 -1
  29. package/dist/index11.vue.d.ts +2 -2
  30. package/dist/index13.vue.d.ts +3 -3
  31. package/dist/index14.vue.d.ts +1 -1
  32. package/dist/index15.vue.d.ts +4 -4
  33. package/dist/index16.vue.d.ts +2 -2
  34. package/dist/index18.vue.d.ts +4 -4
  35. package/dist/index2.vue.d.ts +6 -6
  36. package/dist/index20.vue.d.ts +1 -1
  37. package/dist/index21.vue.d.ts +1 -1
  38. package/dist/index22.vue.d.ts +2 -2
  39. package/dist/index23.vue.d.ts +1 -1
  40. package/dist/index24.vue.d.ts +1 -1
  41. package/dist/index26.vue.d.ts +4 -4
  42. package/dist/index27.vue.d.ts +2 -2
  43. package/dist/index28.vue.d.ts +3 -3
  44. package/dist/index3.vue.d.ts +3 -3
  45. package/dist/index4.vue.d.ts +5 -5
  46. package/dist/index6.vue.d.ts +2 -2
  47. package/dist/index7.vue.d.ts +2 -2
  48. package/dist/index9.vue.d.ts +2 -2
  49. package/dist/resolver.cjs.map +1 -1
  50. package/dist/resolver.js.map +1 -1
  51. package/dist/style.css +142 -99
  52. package/dist/useCalendarEvents.d.ts +1 -1
  53. package/dist/useCollapsePanel.d.ts +5 -5
  54. package/dist/useCropperCore.d.ts +4 -4
  55. package/dist/useDraggableLayout.d.ts +5 -5
  56. package/dist/useDynamicFormState.d.ts +124 -124
  57. package/dist/useEdgeInteraction.d.ts +1 -1
  58. package/dist/useGlobalSearch.d.ts +1 -1
  59. package/dist/useInfiniteScroll.d.ts +4 -4
  60. package/dist/useModalEdit.d.ts +513 -240
  61. package/dist/useQRCode.d.ts +3 -3
  62. package/dist/useSearchState.d.ts +2 -2
  63. package/dist/useSignatureHistory.d.ts +3 -3
  64. package/dist/useSplitResize.d.ts +5 -5
  65. package/dist/useTimeSelection.d.ts +2 -2
  66. package/dist/useTreeOperations.d.ts +4 -4
  67. package/dist/useWorkflowValidation.d.ts +7 -7
  68. package/package.json +1 -1
@@ -1,215 +1,10 @@
1
1
  import { DataTableColumns, DataTableRowKey } from "naive-ui";
2
2
  import * as vue from "vue";
3
- import { ComputedRef, MaybeRef, Ref, VNodeChild } from "vue";
3
+ import { ComputedRef, InjectionKey, MaybeRef, Ref, VNodeChild } from "vue";
4
4
  import * as naive_ui_es0 from "naive-ui/es";
5
5
  import { DataTableColumn, DataTableRowKey as DataTableRowKey$1 } from "naive-ui/es";
6
6
  import { FormItemRule } from "naive-ui/es/form";
7
7
 
8
- //#region src/components/C_Table/types.d.ts
9
- type RefLike<T> = {
10
- value: T;
11
- } | T;
12
- type MaybeRefLike<T> = RefLike<T> | MaybeRef<T>;
13
- type DataRecord = Record<string, unknown>;
14
- type EditMode = 'row' | 'cell' | 'both' | 'modal' | 'none';
15
- type EditType = 'input' | 'textarea' | 'select' | 'date' | 'number' | 'switch' | 'email' | 'mobile';
16
- type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
17
- type ParentChildLinkMode = 'strict' | 'loose';
18
- interface PaginationConfig {
19
- enabled?: boolean;
20
- page?: number;
21
- pageSize?: number;
22
- total?: number;
23
- showSizePicker?: boolean;
24
- showQuickJumper?: boolean;
25
- pageSizes?: number[];
26
- simple?: boolean;
27
- size?: 'small' | 'medium' | 'large';
28
- remote?: boolean;
29
- }
30
- /** API 函数类型 */
31
- type ApiFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => Promise<any> | any;
32
- /** 渲染函数类型 */
33
- type RenderFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => VNodeChild;
34
- /** 自定义操作按钮配置 */
35
- interface CustomAction<T extends DataRecord = DataRecord> {
36
- /** 按钮唯一键 */
37
- key: string;
38
- /** 按钮显示文本 */
39
- label: string | ((row: T, index: number) => string);
40
- /** 按钮图标 */
41
- icon: string | ((row: T, index: number) => string);
42
- /** 按钮类型样式 */
43
- type?: ButtonType | ((row: T, index: number) => ButtonType);
44
- /** 点击事件处理器 */
45
- onClick: (row: T, index: number) => void | Promise<void>;
46
- /** 条件显示函数(可选) */
47
- show?: (row: T, index: number) => boolean;
48
- /** 是否禁用(可选) */
49
- disabled?: (row: T, index: number) => boolean;
50
- /** 按钮提示文本(可选) */
51
- tooltip?: string;
52
- }
53
- /** 简化的操作配置 - 二元法则 */
54
- interface SimpleTableActions<T extends DataRecord = DataRecord> {
55
- /** 编辑操作 - 直接传入函数 */
56
- edit?: false | ApiFunction<T>;
57
- /** 删除操作 - 直接传入函数 */
58
- delete?: false | ApiFunction<T>;
59
- /** 详情操作 - 直接传入函数 */
60
- detail?: false | ApiFunction<T>;
61
- /** 自定义操作按钮 */
62
- custom?: CustomAction<T>[];
63
- /** 完全自定义渲染 - 10%场景 */
64
- render?: RenderFunction<T>;
65
- }
66
- /** useTableActions Hook 选项类型 */
67
- interface UseTableActionsOptions<T extends DataRecord = DataRecord> {
68
- /** 操作配置 */
69
- actions: Ref<SimpleTableActions<T>> | ComputedRef<SimpleTableActions<T>>;
70
- /** 表格配置 */
71
- config: Ref<any> | ComputedRef<any>;
72
- /** 表格管理器 */
73
- tableManager: any;
74
- /** 行键获取函数 */
75
- rowKey: (row: T) => DataTableRowKey;
76
- /** 事件发射器 */
77
- emit: any;
78
- /** 查看详情回调 */
79
- onViewDetail?: (data: T) => void;
80
- }
81
- /** useTableActions Hook 返回类型 */
82
- interface UseTableActionsReturn<T extends DataRecord = DataRecord> {
83
- /** 渲染操作列 */
84
- renderActions: (rowData: T, rowIndex: number) => VNodeChild;
85
- /** 检查操作是否启用 */
86
- isActionEnabled: (actionKey: 'edit' | 'delete' | 'detail') => boolean;
87
- }
88
- interface BaseOption {
89
- label: string;
90
- value: string | number;
91
- disabled?: boolean;
92
- }
93
- interface BaseConfig<T extends DataRecord = DataRecord> {
94
- enabled?: boolean;
95
- rowCheckable?: (row: T) => boolean;
96
- }
97
- type SelectOption = BaseOption;
98
- interface EditProps {
99
- min?: number;
100
- max?: number;
101
- step?: number;
102
- showButton?: boolean;
103
- type?: string;
104
- rows?: number;
105
- placeholder?: string;
106
- options?: SelectOption[];
107
- rules?: FormItemRule[];
108
- format?: string;
109
- valueFormat?: string;
110
- clearable?: boolean;
111
- disabled?: boolean;
112
- readonly?: boolean;
113
- }
114
- /**
115
- * ================= 列类型系统 =================
116
- * 说明:
117
- * - BaseTableColumn:去除了 naive 的 key/title/render,提供扩展位
118
- * - NormalTableColumn:普通数据列,必须有 key + title
119
- * - BuiltInTableColumn:内置列(selection/expand),不需要 key/title
120
- * - TableColumn:以上二者联合
121
- */
122
- interface BaseTableColumn<T extends DataRecord = DataRecord> extends Omit<DataTableColumns<T>[number], 'key' | 'title' | 'render' | 'type'> {
123
- key?: any;
124
- title?: string;
125
- visible?: boolean;
126
- editable?: boolean;
127
- required?: boolean;
128
- editType?: EditType;
129
- editProps?: EditProps;
130
- editRender?: (value: any, rowData: T, rowIndex: number) => VNodeChild;
131
- render?: (rowData: T, rowIndex: number) => VNodeChild;
132
- fixed?: 'left' | 'right';
133
- resizable?: boolean;
134
- minWidth?: number;
135
- maxWidth?: number;
136
- }
137
- interface NormalTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
138
- key: keyof T | string;
139
- title: string;
140
- }
141
- interface BuiltInTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
142
- /** 内置列类型:无需 key / title */
143
- type: 'selection' | 'expand' | 'index';
144
- /** 展开行渲染函数(仅当 type = expand 时有效) */
145
- renderExpand?: (rowData: T, rowIndex: number) => VNodeChild;
146
- }
147
- type TableColumn<T extends DataRecord = DataRecord> = NormalTableColumn<T> | BuiltInTableColumn<T>;
148
- interface ChildSelectionState {
149
- selectedKeys: DataTableRowKey[];
150
- isAllChecked: boolean;
151
- selectAll: () => void;
152
- clearAll: () => void;
153
- }
154
- interface ExpandConfig$1<T extends DataRecord = DataRecord, C = any> {
155
- onLoadData?: (row: T) => Promise<C[]> | C[];
156
- renderContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
157
- rowExpandable?: (row: T) => boolean;
158
- }
159
- interface SelectionConfig$1<T extends DataRecord = DataRecord> extends BaseConfig<T> {
160
- enableSelection?: boolean;
161
- defaultCheckedKeys?: DataTableRowKey[];
162
- maxSelection?: number;
163
- enableChildSelection?: boolean;
164
- childRowCheckable?: (childRow: any, parentRow: T) => boolean;
165
- enableParentChildLink?: boolean;
166
- parentChildLinkMode?: ParentChildLinkMode;
167
- }
168
- interface TableExpandEvents<T extends DataRecord = DataRecord> {
169
- 'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
170
- }
171
- interface TableSelectionEvents<T extends DataRecord = DataRecord> {
172
- 'selection-change': [checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>];
173
- 'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: any[]];
174
- 'parent-child-link-change': [parentKey: DataTableRowKey, shouldSelect: boolean];
175
- }
176
- interface TableEditEvents<T extends DataRecord = DataRecord> {
177
- 'update:data': [data: T[]];
178
- save: [rowData: T, rowIndex: number, columnKey?: string];
179
- cancel: [rowData: T, rowIndex: number];
180
- }
181
- interface TableEmits<T extends DataRecord = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T>, TableEditEvents<T> {
182
- 'pagination-change': [page: number, pageSize: number];
183
- 'row-delete': [deletedRow: T, index: number];
184
- }
185
- interface UseTableExpandOptions<T extends DataRecord = DataRecord, C = any> extends ExpandConfig$1<T, C>, SelectionConfig$1<T> {
186
- data: Ref<T[]> | ComputedRef<T[]>;
187
- rowKey: (row: T) => DataTableRowKey;
188
- childRowKey?: (child: C) => DataTableRowKey;
189
- defaultExpandedKeys?: DataTableRowKey[];
190
- onExpandChange?: (expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean) => void;
191
- onSelectionChange?: (checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>) => void;
192
- onChildSelectionChange?: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void;
193
- }
194
- interface UseTableExpandReturn<T extends DataRecord = DataRecord, C = any> {
195
- expandedKeys: Ref<DataTableRowKey[]>;
196
- checkedKeys: Ref<DataTableRowKey[]>;
197
- childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
198
- expandDataMap: Ref<Map<DataTableRowKey, C[]>>;
199
- loadingMap: Ref<Map<DataTableRowKey, boolean>>;
200
- selectedRowsCount: ComputedRef<number>;
201
- totalChildSelections: ComputedRef<number>;
202
- expandAll: () => Promise<void>;
203
- collapseAll: () => void;
204
- expandRow: (key: DataTableRowKey) => Promise<void>;
205
- handleExpandChange: (keys: DataTableRowKey[]) => void;
206
- selectAll: () => void;
207
- clearSelection: () => void;
208
- clearAllSelections: () => void;
209
- handleSelectionChange: (keys: DataTableRowKey[]) => void;
210
- getTableColumns: (originalColumns: TableColumn<T>[]) => any[];
211
- }
212
- //#endregion
213
8
  //#region src/components/C_Table/composables/usePrintWatermark.d.ts
214
9
  interface WatermarkConfig {
215
10
  text: string;
@@ -396,6 +191,96 @@ interface DynamicRowsReturn<T extends DataRecord = DataRecord> {
396
191
  */
397
192
  declare function useDynamicRows<T extends DataRecord = DataRecord>(data: Ref<T[]>, options?: DynamicRowsOptions<T>): DynamicRowsReturn<T>;
398
193
  //#endregion
194
+ //#region src/components/C_Table/composables/useRowDrag.d.ts
195
+ interface RowDragConfig {
196
+ enabled?: boolean;
197
+ /** 拖拽手柄 CSS 选择器(不传则整行可拖) */
198
+ handleSelector?: string;
199
+ /** 动画时长(ms) */
200
+ animationDuration?: number;
201
+ /** 拖拽时 ghost 样式类 */
202
+ ghostClass?: string;
203
+ /** 拖拽中样式类 */
204
+ chosenClass?: string;
205
+ }
206
+ interface UseRowDragOptions<T extends DataRecord = DataRecord> {
207
+ /** 数据源(只读即可) */
208
+ data: Ref<T[]> | ComputedRef<T[]>;
209
+ /** 获取行键 */
210
+ rowKey: (row: T) => DataTableRowKey$1;
211
+ /** 配置 */
212
+ config: RowDragConfig;
213
+ /** 数据重排回调(由外部处理数据更新) */
214
+ onReorder?: (newData: T[]) => void;
215
+ /** 排序变更回调 */
216
+ onSort?: (row: T, fromIndex: number, toIndex: number) => void;
217
+ }
218
+ interface UseRowDragReturn {
219
+ /** 初始化拖拽(需在 onMounted 中调用) */
220
+ initRowDrag: (wrapperEl: HTMLElement) => void;
221
+ /** 销毁拖拽实例 */
222
+ destroyRowDrag: () => void;
223
+ /** 是否正在拖拽 */
224
+ isDragging: Ref<boolean>;
225
+ }
226
+ /** 行拖拽排序组合式函数 */
227
+ declare function useRowDrag<T extends DataRecord = DataRecord>(options: UseRowDragOptions<T>): UseRowDragReturn;
228
+ //#endregion
229
+ //#region src/components/C_Table/composables/useCrossPageSelection.d.ts
230
+ interface CrossPageSelectionConfig {
231
+ enabled?: boolean;
232
+ /** 最大选择数 */
233
+ maxSelection?: number;
234
+ }
235
+ interface UseCrossPageSelectionOptions<T extends DataRecord = DataRecord> {
236
+ /** 全量数据(非分页后的) */
237
+ allData: Ref<T[]> | ComputedRef<T[]>;
238
+ /** 行键函数 */
239
+ rowKey: (row: T) => DataTableRowKey$1;
240
+ /** 配置 */
241
+ config: CrossPageSelectionConfig;
242
+ }
243
+ interface UseCrossPageSelectionReturn<T extends DataRecord = DataRecord> {
244
+ /** 所有选中的 key(跨页) */
245
+ selectedKeys: Ref<Set<DataTableRowKey$1>>;
246
+ /** 选中行数量 */
247
+ selectedCount: ComputedRef<number>;
248
+ /** 当前页数据的 checkedKeys(给 NDataTable 绑定) */
249
+ getPageCheckedKeys: (pageData: T[]) => DataTableRowKey$1[];
250
+ /** NDataTable @update:checked-row-keys 处理器 */
251
+ handlePageSelectionChange: (keys: DataTableRowKey$1[], pageData: T[]) => void;
252
+ /** 全选所有页 */
253
+ selectAll: () => void;
254
+ /** 清除所有页选中 */
255
+ clearAll: () => void;
256
+ /** 获取所有选中行数据 */
257
+ getSelectedRows: () => T[];
258
+ /** 判断 key 是否选中 */
259
+ isSelected: (key: DataTableRowKey$1) => boolean;
260
+ }
261
+ /** 跨页多选组合式函数 */
262
+ declare function useCrossPageSelection<T extends DataRecord = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
263
+ //#endregion
264
+ //#region src/components/C_Table/composables/useTableExport.d.ts
265
+ interface ExportConfig {
266
+ /** 导出文件名(不含扩展名) */
267
+ filename?: string;
268
+ /** 导出格式 */
269
+ format?: 'csv' | 'xlsx';
270
+ /** 是否包含表头 */
271
+ includeHeader?: boolean;
272
+ /** 自定义选择导出列(传 key 数组) */
273
+ columnKeys?: string[];
274
+ /** CSV 分隔符 */
275
+ csvSeparator?: string;
276
+ /** 全局格式化配置(用于 formatter) */
277
+ formatterConfig?: FormatterConfig;
278
+ }
279
+ /**
280
+ * 导出表格数据
281
+ */
282
+ declare function exportTableData(data: DataRecord[], columns: TableColumn[], config?: ExportConfig): Promise<void>;
283
+ //#endregion
399
284
  //#region src/components/C_Table/composables/useTableConfig.d.ts
400
285
  /**
401
286
  * 可绑定到 C_Table 的 CRUD 对象接口(桥接类型)
@@ -428,9 +313,9 @@ interface TableConfig<T extends DataRecord = DataRecord> {
428
313
  /** 分页配置 */
429
314
  pagination?: PaginationConfig | boolean;
430
315
  /** 展开行配置 */
431
- expand?: ExpandConfig<T> | boolean;
316
+ expand?: ExpandConfig$1<T> | boolean;
432
317
  /** 选择配置 */
433
- selection?: SelectionConfig<T> | boolean;
318
+ selection?: SelectionConfig$1<T> | boolean;
434
319
  /** 动态行配置 */
435
320
  dynamicRows?: DynamicRowsOptions<T> | boolean;
436
321
  /** 工具栏 */
@@ -443,6 +328,22 @@ interface TableConfig<T extends DataRecord = DataRecord> {
443
328
  summary?: SummaryConfig<T>;
444
329
  /** 列拖拽排序 */
445
330
  columnDrag?: ColumnDragConfig | boolean;
331
+ /** 树形表格 */
332
+ tree?: TreeConfig | boolean;
333
+ /** 行拖拽排序 */
334
+ rowDrag?: RowDragConfig | boolean;
335
+ /** 跨页多选 */
336
+ crossPageSelection?: CrossPageSelectionConfig | boolean;
337
+ /** 导出配置 */
338
+ export?: ExportConfig;
339
+ /** 列配置持久化 key(传入即启用 localStorage) */
340
+ persistKey?: string;
341
+ /** 全局格式化配置 */
342
+ formatterConfig?: FormatterConfig;
343
+ /** 错误状态配置 */
344
+ error?: ErrorConfig;
345
+ /** 批量操作配置 */
346
+ batchActions?: BatchActionsConfig;
446
347
  }
447
348
  interface EditConfig {
448
349
  enabled?: boolean;
@@ -451,14 +352,14 @@ interface EditConfig {
451
352
  modalTitle?: string;
452
353
  modalWidth?: number;
453
354
  }
454
- interface ExpandConfig<T extends DataRecord = DataRecord> {
355
+ interface ExpandConfig$1<T extends DataRecord = DataRecord> {
455
356
  enabled?: boolean;
456
357
  defaultExpandedKeys?: DataTableRowKey$1[];
457
358
  onLoadData?: (row: T) => Promise<unknown[]> | unknown[];
458
359
  renderContent?: (row: T, expandData: unknown[], loading: boolean, childSelection?: unknown) => VNodeChild;
459
360
  rowExpandable?: (row: T) => boolean;
460
361
  }
461
- interface SelectionConfig<T extends DataRecord = DataRecord> {
362
+ interface SelectionConfig$1<T extends DataRecord = DataRecord> {
462
363
  enabled?: boolean;
463
364
  defaultCheckedKeys?: naive_ui_es0.DataTableRowKey[];
464
365
  rowCheckable?: (row: T) => boolean;
@@ -513,6 +414,37 @@ interface ColumnDragConfig {
513
414
  /** 拖拽动画时长(ms) */
514
415
  animationDuration?: number;
515
416
  }
417
+ /** 树形表格配置 */
418
+ interface TreeConfig {
419
+ enabled?: boolean;
420
+ /** 子节点字段名 */
421
+ childrenKey?: string;
422
+ /** 缩进宽度(px) */
423
+ indent?: number;
424
+ /** 默认展开所有 */
425
+ defaultExpandAll?: boolean;
426
+ }
427
+ /** 错误状态配置 */
428
+ interface ErrorConfig {
429
+ /** 是否显示错误状态 */
430
+ show?: boolean;
431
+ /** 错误描述文案 */
432
+ message?: string;
433
+ /** 重试回调 */
434
+ onRetry?: () => void | Promise<void>;
435
+ }
436
+ /** 批量操作配置 */
437
+ interface BatchActionsConfig {
438
+ enabled?: boolean;
439
+ /** 自定义批量操作按钮 */
440
+ actions?: Array<{
441
+ key: string;
442
+ label: string;
443
+ icon?: string;
444
+ type?: string;
445
+ onClick: (selectedKeys: DataTableRowKey$1[], selectedRows: DataRecord[]) => void | Promise<void>;
446
+ }>;
447
+ }
516
448
  interface ResolvedConfig {
517
449
  editable: boolean;
518
450
  editMode: string;
@@ -557,6 +489,25 @@ interface ResolvedConfig {
557
489
  enableColumnDrag: boolean;
558
490
  columnDragHandleClass: string;
559
491
  columnDragAnimationDuration: number;
492
+ /** 树形表格 */
493
+ treeEnabled: boolean;
494
+ treeChildrenKey: string;
495
+ treeIndent: number;
496
+ treeDefaultExpandAll: boolean;
497
+ /** 行拖拽 */
498
+ rowDrag: RowDragConfig | undefined;
499
+ /** 跨页多选 */
500
+ crossPageSelection: CrossPageSelectionConfig | undefined;
501
+ /** 导出配置 */
502
+ exportConfig: ExportConfig | undefined;
503
+ /** 列持久化 key */
504
+ persistKey: string | undefined;
505
+ /** 全局格式化配置 */
506
+ formatterConfig: FormatterConfig | undefined;
507
+ /** 错误状态 */
508
+ error: ErrorConfig | undefined;
509
+ /** 批量操作 */
510
+ batchActions: BatchActionsConfig | undefined;
560
511
  }
561
512
  /**
562
513
  * 将 config 单一对象解析为内部扁平化配置
@@ -568,6 +519,285 @@ declare const createEditModeChecker: (config: ResolvedConfig) => {
568
519
  isCellEditMode: () => boolean;
569
520
  };
570
521
  //#endregion
522
+ //#region src/components/C_Table/composables/useTableGlobalConfig.d.ts
523
+ type FormatterType = 'date' | 'datetime' | 'currency' | 'percent' | 'enum' | 'number';
524
+ interface FormatterConfig {
525
+ /** 日期格式 */
526
+ date?: {
527
+ format?: string;
528
+ };
529
+ /** 日期时间格式 */
530
+ datetime?: {
531
+ format?: string;
532
+ };
533
+ /** 货币格式 */
534
+ currency?: {
535
+ prefix?: string;
536
+ suffix?: string;
537
+ precision?: number;
538
+ };
539
+ /** 百分比格式 */
540
+ percent?: {
541
+ precision?: number;
542
+ suffix?: string;
543
+ };
544
+ /** 数字格式(千分位) */
545
+ number?: {
546
+ precision?: number;
547
+ };
548
+ }
549
+ /** 列级 formatter 配置 */
550
+ interface ColumnFormatter {
551
+ type: FormatterType;
552
+ /** enum mapping:{ male: '男', female: '女' } */
553
+ mapping?: Record<string, string>;
554
+ /** 自定义格式化函数(优先级最高) */
555
+ fn?: (value: unknown, row: DataRecord) => string;
556
+ /** 覆盖全局格式配置 */
557
+ config?: Record<string, unknown>;
558
+ }
559
+ interface TableGlobalConfig {
560
+ /** 表格显示默认值 */
561
+ display?: DisplayConfig;
562
+ /** 默认分页条数 */
563
+ pageSize?: number;
564
+ /** 空状态文案 */
565
+ emptyText?: string;
566
+ /** 全局格式化配置 */
567
+ formatter?: FormatterConfig;
568
+ /** 列配置持久化前缀 */
569
+ persistPrefix?: string;
570
+ /** 默认导出文件名 */
571
+ exportFilename?: string;
572
+ }
573
+ declare const TABLE_GLOBAL_CONFIG_KEY: InjectionKey<TableGlobalConfig>;
574
+ /** 根据 ColumnFormatter 配置格式化单元格值 */
575
+ declare function applyFormatter(value: unknown, row: DataRecord, formatter: ColumnFormatter, globalConfig?: FormatterConfig): string;
576
+ /** 在组件内获取全局配置(自动合并默认值) */
577
+ declare function useTableGlobalConfig(): TableGlobalConfig;
578
+ /** 合并全局配置到 TableConfig(局部 > 全局 > 默认) */
579
+ declare function mergeGlobalConfig(local: TableConfig, global: TableGlobalConfig): TableConfig;
580
+ //#endregion
581
+ //#region src/components/C_Table/types.d.ts
582
+ type RefLike<T> = {
583
+ value: T;
584
+ } | T;
585
+ type MaybeRefLike<T> = RefLike<T> | MaybeRef<T>;
586
+ type DataRecord = Record<string, unknown>;
587
+ type EditMode = 'row' | 'cell' | 'both' | 'modal' | 'none';
588
+ type EditType = 'input' | 'textarea' | 'select' | 'date' | 'number' | 'switch' | 'email' | 'mobile';
589
+ type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
590
+ type ParentChildLinkMode = 'strict' | 'loose';
591
+ interface PaginationConfig {
592
+ enabled?: boolean;
593
+ page?: number;
594
+ pageSize?: number;
595
+ total?: number;
596
+ showSizePicker?: boolean;
597
+ showQuickJumper?: boolean;
598
+ pageSizes?: number[];
599
+ simple?: boolean;
600
+ size?: 'small' | 'medium' | 'large';
601
+ remote?: boolean;
602
+ }
603
+ /** API 函数类型 */
604
+ type ApiFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => Promise<any> | any;
605
+ /** 渲染函数类型 */
606
+ type RenderFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => VNodeChild;
607
+ /** 自定义操作按钮配置 */
608
+ interface CustomAction<T extends DataRecord = DataRecord> {
609
+ /** 按钮唯一键 */
610
+ key: string;
611
+ /** 按钮显示文本 */
612
+ label: string | ((row: T, index: number) => string);
613
+ /** 按钮图标 */
614
+ icon: string | ((row: T, index: number) => string);
615
+ /** 按钮类型样式 */
616
+ type?: ButtonType | ((row: T, index: number) => ButtonType);
617
+ /** 点击事件处理器 */
618
+ onClick: (row: T, index: number) => void | Promise<void>;
619
+ /** 条件显示函数(可选) */
620
+ show?: (row: T, index: number) => boolean;
621
+ /** 是否禁用(可选) */
622
+ disabled?: (row: T, index: number) => boolean;
623
+ /** 按钮提示文本(可选) */
624
+ tooltip?: string;
625
+ }
626
+ /** 简化的操作配置 - 二元法则 */
627
+ interface SimpleTableActions<T extends DataRecord = DataRecord> {
628
+ /** 编辑操作 - 直接传入函数 */
629
+ edit?: false | ApiFunction<T>;
630
+ /** 删除操作 - 直接传入函数 */
631
+ delete?: false | ApiFunction<T>;
632
+ /** 详情操作 - 直接传入函数 */
633
+ detail?: false | ApiFunction<T>;
634
+ /** 自定义操作按钮 */
635
+ custom?: CustomAction<T>[];
636
+ /** 完全自定义渲染 - 10%场景 */
637
+ render?: RenderFunction<T>;
638
+ }
639
+ /** useTableActions Hook 选项类型 */
640
+ interface UseTableActionsOptions<T extends DataRecord = DataRecord> {
641
+ /** 操作配置 */
642
+ actions: Ref<SimpleTableActions<T>> | ComputedRef<SimpleTableActions<T>>;
643
+ /** 表格配置 */
644
+ config: Ref<any> | ComputedRef<any>;
645
+ /** 表格管理器 */
646
+ tableManager: any;
647
+ /** 行键获取函数 */
648
+ rowKey: (row: T) => DataTableRowKey;
649
+ /** 事件发射器 */
650
+ emit: any;
651
+ /** 查看详情回调 */
652
+ onViewDetail?: (data: T) => void;
653
+ }
654
+ /** useTableActions Hook 返回类型 */
655
+ interface UseTableActionsReturn<T extends DataRecord = DataRecord> {
656
+ /** 渲染操作列 */
657
+ renderActions: (rowData: T, rowIndex: number) => VNodeChild;
658
+ /** 检查操作是否启用 */
659
+ isActionEnabled: (actionKey: 'edit' | 'delete' | 'detail') => boolean;
660
+ }
661
+ interface BaseOption {
662
+ label: string;
663
+ value: string | number;
664
+ disabled?: boolean;
665
+ }
666
+ interface BaseConfig<T extends DataRecord = DataRecord> {
667
+ enabled?: boolean;
668
+ rowCheckable?: (row: T) => boolean;
669
+ }
670
+ type SelectOption = BaseOption;
671
+ interface EditProps {
672
+ min?: number;
673
+ max?: number;
674
+ step?: number;
675
+ showButton?: boolean;
676
+ type?: string;
677
+ rows?: number;
678
+ placeholder?: string;
679
+ options?: SelectOption[];
680
+ rules?: FormItemRule[];
681
+ format?: string;
682
+ valueFormat?: string;
683
+ clearable?: boolean;
684
+ disabled?: boolean;
685
+ readonly?: boolean;
686
+ }
687
+ /**
688
+ * ================= 列类型系统 =================
689
+ * 说明:
690
+ * - BaseTableColumn:去除了 naive 的 key/title/render,提供扩展位
691
+ * - NormalTableColumn:普通数据列,必须有 key + title
692
+ * - BuiltInTableColumn:内置列(selection/expand),不需要 key/title
693
+ * - TableColumn:以上二者联合
694
+ */
695
+ interface BaseTableColumn<T extends DataRecord = DataRecord> extends Omit<DataTableColumns<T>[number], 'key' | 'title' | 'render' | 'type'> {
696
+ key?: any;
697
+ title?: string;
698
+ visible?: boolean;
699
+ editable?: boolean;
700
+ required?: boolean;
701
+ editType?: EditType;
702
+ editProps?: EditProps;
703
+ editRender?: (value: any, rowData: T, rowIndex: number) => VNodeChild;
704
+ render?: (rowData: T, rowIndex: number) => VNodeChild;
705
+ /** 声明式格式化器(优先级低于 render) */
706
+ formatter?: ColumnFormatter;
707
+ fixed?: 'left' | 'right';
708
+ resizable?: boolean;
709
+ minWidth?: number;
710
+ maxWidth?: number;
711
+ }
712
+ interface NormalTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
713
+ key: keyof T | string;
714
+ title: string;
715
+ }
716
+ interface BuiltInTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
717
+ /** 内置列类型:无需 key / title */
718
+ type: 'selection' | 'expand' | 'index';
719
+ /** 展开行渲染函数(仅当 type = expand 时有效) */
720
+ renderExpand?: (rowData: T, rowIndex: number) => VNodeChild;
721
+ }
722
+ type TableColumn<T extends DataRecord = DataRecord> = NormalTableColumn<T> | BuiltInTableColumn<T>;
723
+ interface ChildSelectionState {
724
+ selectedKeys: DataTableRowKey[];
725
+ isAllChecked: boolean;
726
+ selectAll: () => void;
727
+ clearAll: () => void;
728
+ }
729
+ interface ExpandConfig<T extends DataRecord = DataRecord, C = any> {
730
+ onLoadData?: (row: T) => Promise<C[]> | C[];
731
+ renderContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
732
+ rowExpandable?: (row: T) => boolean;
733
+ }
734
+ interface SelectionConfig<T extends DataRecord = DataRecord> extends BaseConfig<T> {
735
+ enableSelection?: boolean;
736
+ defaultCheckedKeys?: DataTableRowKey[];
737
+ maxSelection?: number;
738
+ enableChildSelection?: boolean;
739
+ childRowCheckable?: (childRow: any, parentRow: T) => boolean;
740
+ enableParentChildLink?: boolean;
741
+ parentChildLinkMode?: ParentChildLinkMode;
742
+ }
743
+ interface TableExpandEvents<T extends DataRecord = DataRecord> {
744
+ 'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
745
+ }
746
+ interface TableSelectionEvents<T extends DataRecord = DataRecord> {
747
+ 'selection-change': [checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>];
748
+ 'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: any[]];
749
+ 'parent-child-link-change': [parentKey: DataTableRowKey, shouldSelect: boolean];
750
+ }
751
+ interface TableEditEvents<T extends DataRecord = DataRecord> {
752
+ 'update:data': [data: T[]];
753
+ save: [rowData: T, rowIndex: number, columnKey?: string];
754
+ cancel: [rowData: T, rowIndex: number];
755
+ }
756
+ interface TableEmits<T extends DataRecord = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T>, TableEditEvents<T> {
757
+ 'pagination-change': [page: number, pageSize: number];
758
+ 'row-delete': [deletedRow: T, index: number];
759
+ }
760
+ interface UseTableExpandOptions<T extends DataRecord = DataRecord, C = any> extends ExpandConfig<T, C>, SelectionConfig<T> {
761
+ data: Ref<T[]> | ComputedRef<T[]>;
762
+ rowKey: (row: T) => DataTableRowKey;
763
+ childRowKey?: (child: C) => DataTableRowKey;
764
+ defaultExpandedKeys?: DataTableRowKey[];
765
+ onExpandChange?: (expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean) => void;
766
+ onSelectionChange?: (checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>) => void;
767
+ onChildSelectionChange?: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void;
768
+ }
769
+ interface UseTableExpandReturn<T extends DataRecord = DataRecord, C = any> {
770
+ expandedKeys: Ref<DataTableRowKey[]>;
771
+ checkedKeys: Ref<DataTableRowKey[]>;
772
+ childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
773
+ expandDataMap: Ref<Map<DataTableRowKey, C[]>>;
774
+ loadingMap: Ref<Map<DataTableRowKey, boolean>>;
775
+ selectedRowsCount: ComputedRef<number>;
776
+ totalChildSelections: ComputedRef<number>;
777
+ expandAll: () => Promise<void>;
778
+ collapseAll: () => void;
779
+ expandRow: (key: DataTableRowKey) => Promise<void>;
780
+ handleExpandChange: (keys: DataTableRowKey[]) => void;
781
+ selectAll: () => void;
782
+ clearSelection: () => void;
783
+ clearAllSelections: () => void;
784
+ handleSelectionChange: (keys: DataTableRowKey[]) => void;
785
+ getTableColumns: (originalColumns: TableColumn<T>[]) => any[];
786
+ }
787
+ /**
788
+ * 展平 TableColumn 联合类型以便直接访问 key/title/visible 等属性。
789
+ * 各 composable 共用此类型,避免重复定义。
790
+ */
791
+ type ColumnWithKey = TableColumn & {
792
+ key?: string;
793
+ title?: string;
794
+ visible?: boolean;
795
+ width?: number | string;
796
+ align?: string;
797
+ titleAlign?: string;
798
+ formatter?: ColumnFormatter;
799
+ };
800
+ //#endregion
571
801
  //#region src/components/C_Table/index.vue.d.ts
572
802
  type __VLS_Props = {
573
803
  /** 列配置(crud 模式下可省略) */columns?: TableColumn[]; /** 数据源(crud 模式下可省略) */
@@ -577,11 +807,15 @@ type __VLS_Props = {
577
807
  config?: TableConfig; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
578
808
  crud?: CrudBinding;
579
809
  };
580
- declare var __VLS_6: {}, __VLS_8: {};
810
+ declare var __VLS_6: {}, __VLS_8: {}, __VLS_52: {
811
+ error: ErrorConfig;
812
+ };
581
813
  type __VLS_Slots = {} & {
582
814
  'toolbar-left'?: (props: typeof __VLS_6) => any;
583
815
  } & {
584
816
  'toolbar-right'?: (props: typeof __VLS_8) => any;
817
+ } & {
818
+ error?: (props: typeof __VLS_52) => any;
585
819
  };
586
820
  declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
587
821
  startEdit: (rowKey: DataTableRowKey$1, columnKey?: string) => void;
@@ -640,7 +874,15 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
640
874
  download(elementRef?: HTMLElement, filename?: string): Promise<void>;
641
875
  };
642
876
  clearAllSelections(): void;
643
- };
877
+ }; /** 导出数据 */
878
+ exportData: () => Promise<void>; /** 跨页选择 */
879
+ crossPageSelection: {
880
+ selectedKeys: vue.Ref<Set<DataTableRowKey$1>, Set<DataTableRowKey$1>>;
881
+ selectedCount: vue.ComputedRef<number>;
882
+ selectAll: () => void;
883
+ clearAll: () => void;
884
+ getSelectedRows: () => DataRecord[];
885
+ } | undefined;
644
886
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
645
887
  cancel: (rowData: DataRecord, rowIndex: number) => any;
646
888
  save: (rowData: DataRecord, rowIndex: number, columnKey?: string | undefined) => any;
@@ -747,6 +989,48 @@ interface UseTableColumnsReturn {
747
989
  */
748
990
  declare function useTableColumns(options: UseTableColumnsOptions): UseTableColumnsReturn;
749
991
  //#endregion
992
+ //#region src/components/C_Table/composables/useRowEdit.d.ts
993
+ /** 行级校验错误 */
994
+ interface RowValidationError {
995
+ field: string;
996
+ message: string;
997
+ }
998
+ /**
999
+ * 行编辑配置选项
1000
+ */
1001
+ interface RowEditOptions {
1002
+ data: () => DataRecord[];
1003
+ rowKey: (row: DataRecord) => DataTableRowKey$1;
1004
+ onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1005
+ onCancel?: (rowData: DataRecord, rowIndex: number) => void;
1006
+ /** 列配置(用于提取校验规则) */
1007
+ columns?: () => TableColumn[];
1008
+ }
1009
+ /**
1010
+ * 可编辑行组合函数,提供表格整行的编辑功能
1011
+ */
1012
+ declare function useRowEdit(options: RowEditOptions): {
1013
+ editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
1014
+ isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
1015
+ startEditRow: (rowKey: DataTableRowKey$1) => void;
1016
+ cancelEditRow: () => Promise<void>;
1017
+ saveEditRow: () => Promise<{
1018
+ updatedData: DataRecord;
1019
+ rowIndex: number;
1020
+ } | undefined>;
1021
+ validateRow: () => Promise<boolean>;
1022
+ validationErrors: vue.Ref<{
1023
+ field: string;
1024
+ message: string;
1025
+ }[], RowValidationError[] | {
1026
+ field: string;
1027
+ message: string;
1028
+ }[]>;
1029
+ getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord;
1030
+ updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
1031
+ findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
1032
+ };
1033
+ //#endregion
750
1034
  //#region src/components/C_Table/composables/useTableManager.d.ts
751
1035
  /**
752
1036
  * 表格管理器配置接口
@@ -780,6 +1064,8 @@ interface TableManagerParams {
780
1064
  data: () => DataRecord[];
781
1065
  rowKey: (row: DataRecord) => DataTableRowKey$1;
782
1066
  emit: (...args: any[]) => void;
1067
+ /** 列配置(用于编辑校验) */
1068
+ columns?: () => TableColumn[];
783
1069
  }
784
1070
  /**
785
1071
  * 事件处理器接口
@@ -811,6 +1097,14 @@ declare function useTableManager(params: TableManagerParams): {
811
1097
  updatedData: DataRecord;
812
1098
  rowIndex: number;
813
1099
  } | undefined>;
1100
+ validateRow: () => Promise<boolean>;
1101
+ validationErrors: vue.Ref<{
1102
+ field: string;
1103
+ message: string;
1104
+ }[], RowValidationError[] | {
1105
+ field: string;
1106
+ message: string;
1107
+ }[]>;
814
1108
  getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord;
815
1109
  updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
816
1110
  findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
@@ -836,6 +1130,8 @@ declare function useTableManager(params: TableManagerParams): {
836
1130
  columnKey: string;
837
1131
  } | undefined>;
838
1132
  cancelEditCell: () => void;
1133
+ validateCell: () => Promise<boolean>;
1134
+ cellValidationError: vue.Ref<string | null, string | null>;
839
1135
  getEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string) => unknown;
840
1136
  updateEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string, value: unknown) => void;
841
1137
  findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
@@ -939,33 +1235,6 @@ interface UsePaginationReturn<T extends DataRecord = DataRecord> {
939
1235
  }
940
1236
  declare function usePagination<T extends DataRecord = DataRecord>(options: UsePaginationOptions<T>): UsePaginationReturn<T>;
941
1237
  //#endregion
942
- //#region src/components/C_Table/composables/useRowEdit.d.ts
943
- /**
944
- * 行编辑配置选项
945
- */
946
- interface RowEditOptions {
947
- data: () => DataRecord[];
948
- rowKey: (row: DataRecord) => DataTableRowKey$1;
949
- onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
950
- onCancel?: (rowData: DataRecord, rowIndex: number) => void;
951
- }
952
- /**
953
- * 可编辑行组合函数,提供表格整行的编辑功能
954
- */
955
- declare function useRowEdit(options: RowEditOptions): {
956
- editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
957
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
958
- startEditRow: (rowKey: DataTableRowKey$1) => void;
959
- cancelEditRow: () => Promise<void>;
960
- saveEditRow: () => Promise<{
961
- updatedData: DataRecord;
962
- rowIndex: number;
963
- } | undefined>;
964
- getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord;
965
- updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
966
- findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
967
- };
968
- //#endregion
969
1238
  //#region src/components/C_Table/composables/useCellEdit.d.ts
970
1239
  /**
971
1240
  * 单元格编辑配置选项
@@ -974,6 +1243,8 @@ interface CellEditOptions {
974
1243
  data: () => DataRecord[];
975
1244
  rowKey: (row: DataRecord) => DataTableRowKey$1;
976
1245
  onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string) => void | Promise<void>;
1246
+ /** 列配置(用于提取校验规则) */
1247
+ columns?: () => TableColumn[];
977
1248
  }
978
1249
  /**
979
1250
  * 可编辑单元格组合函数,提供表格单元格的编辑功能
@@ -999,6 +1270,8 @@ declare function useCellEdit(options: CellEditOptions): {
999
1270
  columnKey: string;
1000
1271
  } | undefined>;
1001
1272
  cancelEditCell: () => void;
1273
+ validateCell: () => Promise<boolean>;
1274
+ cellValidationError: vue.Ref<string | null, string | null>;
1002
1275
  getEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string) => unknown;
1003
1276
  updateEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string, value: unknown) => void;
1004
1277
  findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
@@ -1031,5 +1304,5 @@ declare function useModalEdit<T = Record<string, any>>(options: ModalEditOptions
1031
1304
  getEditingRowData: (rowKey: DataTableRowKey$1) => Record<string, any> | null;
1032
1305
  };
1033
1306
  //#endregion
1034
- export { SimpleTableActions as A, ChildSelectionState as C, PaginationConfig as D, MaybeRefLike as E, TableEmits as M, UseTableExpandOptions as N, ParentChildLinkMode as O, UseTableExpandReturn as P, usePrintWatermark as S, EditMode as T, DynamicRowsOptions as _, useTableActions as a, PrintWatermarkOptions as b, useTableColumns as c, CrudBinding as d, SummaryConfig as f, resolveConfig as g, createEditModeChecker as h, usePagination as i, TableColumn as j, SelectOption as k, _default as l, VirtualScrollConfig as m, useCellEdit as n, useTableExpand as o, TableConfig as p, useRowEdit as r, useTableManager as s, useModalEdit as t, ColumnDragConfig as u, DynamicRowsReturn as v, DataRecord as w, printPresets as x, useDynamicRows as y };
1307
+ export { useDynamicRows as $, useTableGlobalConfig as A, resolveConfig as B, ColumnFormatter as C, TableGlobalConfig as D, TABLE_GLOBAL_CONFIG_KEY as E, SummaryConfig as F, UseCrossPageSelectionReturn as G, exportTableData as H, TableConfig as I, UseRowDragOptions as J, useCrossPageSelection as K, TreeConfig as L, ColumnDragConfig as M, CrudBinding as N, applyFormatter as O, ErrorConfig as P, DynamicRowsReturn as Q, VirtualScrollConfig as R, UseTableExpandReturn as S, FormatterType as T, CrossPageSelectionConfig as U, ExportConfig as V, UseCrossPageSelectionOptions as W, useRowDrag as X, UseRowDragReturn as Y, DynamicRowsOptions as Z, SelectOption as _, useTableExpand as a, TableEmits as b, useTableColumns as c, ColumnWithKey as d, PrintWatermarkOptions as et, DataRecord as f, ParentChildLinkMode as g, PaginationConfig as h, useTableActions as i, BatchActionsConfig as j, mergeGlobalConfig as k, _default as l, MaybeRefLike as m, useCellEdit as n, usePrintWatermark as nt, useTableManager as o, EditMode as p, RowDragConfig as q, usePagination as r, useRowEdit as s, useModalEdit as t, printPresets as tt, ChildSelectionState as u, SimpleTableActions as v, FormatterConfig as w, UseTableExpandOptions as x, TableColumn as y, createEditModeChecker as z };
1035
1308
  //# sourceMappingURL=useModalEdit.d.ts.map