@robot-admin/naive-ui-components 0.17.2 → 0.17.4

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 (113) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/C_FormSearch.css +52 -52
  3. package/dist/C_FormSearch2.cjs +1 -1
  4. package/dist/C_FormSearch2.js +1 -1
  5. package/dist/C_Table.base.css +47 -36
  6. package/dist/C_Table.css +47 -36
  7. package/dist/C_Table.d.cts +1 -1
  8. package/dist/C_Table.d.ts +1 -1
  9. package/dist/C_Tree.css +23 -23
  10. package/dist/C_Tree2.cjs +1 -1
  11. package/dist/C_Tree2.js +1 -1
  12. package/dist/C_VideoPlayer2.cjs +1 -1
  13. package/dist/C_VideoPlayer2.js +1 -1
  14. package/dist/constants.d.cts +2 -2
  15. package/dist/constants.d.ts +2 -2
  16. package/dist/constants2.d.cts +2 -2
  17. package/dist/constants2.d.ts +2 -2
  18. package/dist/constants3.d.cts +2 -2
  19. package/dist/constants3.d.ts +2 -2
  20. package/dist/constants4.d.cts +3 -3
  21. package/dist/constants4.d.ts +3 -3
  22. package/dist/data.d.cts +10 -10
  23. package/dist/data.d.ts +10 -10
  24. package/dist/helpers.cjs +1 -1
  25. package/dist/helpers.js +1 -1
  26. package/dist/index.d.cts +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.vue.d.cts +3 -3
  29. package/dist/index.vue.d.ts +3 -3
  30. package/dist/index10.vue.d.cts +4 -4
  31. package/dist/index10.vue.d.ts +4 -4
  32. package/dist/index11.vue.d.cts +4 -4
  33. package/dist/index11.vue.d.ts +4 -4
  34. package/dist/index12.vue.d.cts +4 -4
  35. package/dist/index12.vue.d.ts +2 -2
  36. package/dist/index13.vue.d.cts +2 -2
  37. package/dist/index13.vue.d.ts +3 -3
  38. package/dist/index14.vue.d.cts +3 -3
  39. package/dist/index14.vue.d.ts +4 -4
  40. package/dist/index15.vue.d.cts +4 -4
  41. package/dist/index15.vue.d.ts +2 -2
  42. package/dist/index16.vue.d.cts +2 -2
  43. package/dist/index16.vue.d.ts +1 -1
  44. package/dist/index17.vue.d.cts +1 -1
  45. package/dist/index17.vue.d.ts +2 -2
  46. package/dist/index18.vue.d.cts +2 -2
  47. package/dist/index18.vue.d.ts +5 -5
  48. package/dist/index19.vue.d.cts +5 -5
  49. package/dist/index19.vue.d.ts +3 -3
  50. package/dist/index2.vue.d.cts +2 -2
  51. package/dist/index2.vue.d.ts +2 -2
  52. package/dist/index20.vue.d.cts +1 -1
  53. package/dist/index20.vue.d.ts +1 -1
  54. package/dist/index21.vue.d.cts +3 -3
  55. package/dist/index21.vue.d.ts +3 -3
  56. package/dist/index22.vue.d.cts +3 -3
  57. package/dist/index22.vue.d.ts +3 -3
  58. package/dist/index23.vue.d.cts +1 -1
  59. package/dist/index23.vue.d.ts +1 -1
  60. package/dist/index25.vue.d.cts +3 -3
  61. package/dist/index25.vue.d.ts +3 -3
  62. package/dist/index27.vue.d.cts +1 -1
  63. package/dist/index27.vue.d.ts +1 -1
  64. package/dist/index28.vue.d.cts +2 -2
  65. package/dist/index28.vue.d.ts +2 -2
  66. package/dist/index3.vue.d.cts +4 -4
  67. package/dist/index3.vue.d.ts +4 -4
  68. package/dist/index4.vue.d.cts +3 -3
  69. package/dist/index5.vue.d.ts +2 -2
  70. package/dist/index6.vue.d.cts +2 -2
  71. package/dist/index7.vue.d.ts +2 -2
  72. package/dist/index8.vue.d.cts +2 -2
  73. package/dist/index8.vue.d.ts +2 -2
  74. package/dist/index9.vue.d.cts +2 -2
  75. package/dist/index9.vue.d.ts +4 -4
  76. package/dist/mapUtils.d.cts +1 -1
  77. package/dist/mapUtils.d.ts +1 -1
  78. package/dist/style.css +122 -111
  79. package/dist/useCalendarEvents.d.cts +1 -1
  80. package/dist/useCalendarEvents.d.ts +1 -1
  81. package/dist/useCropperCore.d.cts +6 -6
  82. package/dist/useCropperCore.d.ts +6 -6
  83. package/dist/useDraggableLayout.d.cts +7 -7
  84. package/dist/useDraggableLayout.d.ts +7 -7
  85. package/dist/useDynamicFormState.d.cts +1 -0
  86. package/dist/useDynamicFormState.d.ts +1 -0
  87. package/dist/useEdgeInteraction.d.cts +2 -2
  88. package/dist/useEdgeInteraction.d.ts +2 -2
  89. package/dist/useFullscreen.d.cts +1 -1
  90. package/dist/useFullscreen.d.ts +1 -1
  91. package/dist/useInfiniteScroll.d.cts +2 -2
  92. package/dist/useInfiniteScroll.d.ts +2 -2
  93. package/dist/useQRCode.d.cts +2 -2
  94. package/dist/useQRCode.d.ts +2 -2
  95. package/dist/useSearchState.d.cts +2 -2
  96. package/dist/useSearchState.d.ts +2 -2
  97. package/dist/useSignatureHistory.d.cts +3 -3
  98. package/dist/useSignatureHistory.d.ts +3 -3
  99. package/dist/useSplitResize.d.cts +2 -2
  100. package/dist/useSplitResize.d.ts +2 -2
  101. package/dist/useTableQuery.cjs +1 -1
  102. package/dist/useTableQuery.d.cts +339 -313
  103. package/dist/useTableQuery.d.ts +339 -313
  104. package/dist/useTableQuery.js +1 -1
  105. package/dist/useTimeSelection.d.cts +3 -3
  106. package/dist/useTimeSelection.d.ts +3 -3
  107. package/dist/useWorkflowValidation.d.cts +5 -5
  108. package/dist/useWorkflowValidation.d.ts +5 -5
  109. package/dist/verification.d.cts +6 -6
  110. package/dist/verification.d.ts +6 -6
  111. package/docs/guides/usage.en.md +8 -0
  112. package/docs/guides/usage.md +30 -0
  113. package/package.json +1 -1
@@ -278,6 +278,67 @@ interface UseCrossPageSelectionReturn<T extends object = DataRecord> {
278
278
  /** Preserve selected identities and loaded row snapshots across local or remote pages. */
279
279
  declare function useCrossPageSelection<T extends object = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
280
280
  //#endregion
281
+ //#region src/components/C_Table/composables/useTableGlobalConfig.d.ts
282
+ type FormatterType = 'date' | 'datetime' | 'currency' | 'percent' | 'enum' | 'number';
283
+ interface FormatterConfig {
284
+ /** 日期格式 */
285
+ date?: {
286
+ format?: string;
287
+ };
288
+ /** 日期时间格式 */
289
+ datetime?: {
290
+ format?: string;
291
+ };
292
+ /** 货币格式 */
293
+ currency?: {
294
+ prefix?: string;
295
+ suffix?: string;
296
+ precision?: number;
297
+ };
298
+ /** 百分比格式 */
299
+ percent?: {
300
+ precision?: number;
301
+ suffix?: string;
302
+ };
303
+ /** 数字格式(千分位) */
304
+ number?: {
305
+ precision?: number;
306
+ };
307
+ }
308
+ /** 列级 formatter 配置 */
309
+ interface ColumnFormatter {
310
+ type: FormatterType;
311
+ /** enum mapping:{ male: '男', female: '女' } */
312
+ mapping?: Record<string, string>;
313
+ /** 自定义格式化函数(优先级最高) */
314
+ fn?: (value: unknown, row: DataRecord) => string;
315
+ /** 覆盖全局格式配置 */
316
+ config?: Record<string, unknown>;
317
+ }
318
+ interface TableGlobalConfig {
319
+ /** 任意 C_Table 配置的应用级默认值。 */
320
+ defaults?: TableConfig;
321
+ /** 表格显示默认值 */
322
+ display?: DisplayConfig;
323
+ /** 默认分页条数 */
324
+ pageSize?: number;
325
+ /** 空状态文案 */
326
+ emptyText?: string;
327
+ /** 全局格式化配置 */
328
+ formatter?: FormatterConfig;
329
+ /** 列配置持久化前缀 */
330
+ persistPrefix?: string;
331
+ /** 默认导出文件名 */
332
+ exportFilename?: string;
333
+ }
334
+ declare const TABLE_GLOBAL_CONFIG_KEY: InjectionKey<TableGlobalConfig>;
335
+ /** 根据 ColumnFormatter 配置格式化单元格值 */
336
+ declare function applyFormatter(value: unknown, row: DataRecord, formatter: ColumnFormatter, globalConfig?: FormatterConfig): string;
337
+ /** 在组件内获取全局配置(自动合并默认值) */
338
+ declare function useTableGlobalConfig(): TableGlobalConfig;
339
+ /** 合并全局配置到 TableConfig(局部 > 全局 > 默认) */
340
+ declare function mergeGlobalConfig(local: TableConfig, global: TableGlobalConfig): TableConfig;
341
+ //#endregion
281
342
  //#region src/components/C_Table/composables/useTableExport.d.ts
282
343
  interface ExportConfig {
283
344
  /** Data scope used by C_Table; source preserves the legacy loaded-source behavior. */
@@ -582,66 +643,244 @@ declare const createEditModeChecker: (config: ResolvedConfig) => {
582
643
  isCellEditMode: () => boolean;
583
644
  };
584
645
  //#endregion
585
- //#region src/components/C_Table/composables/useTableGlobalConfig.d.ts
586
- type FormatterType = 'date' | 'datetime' | 'currency' | 'percent' | 'enum' | 'number';
587
- interface FormatterConfig {
588
- /** 日期格式 */
589
- date?: {
590
- format?: string;
591
- };
592
- /** 日期时间格式 */
593
- datetime?: {
594
- format?: string;
595
- };
596
- /** 货币格式 */
597
- currency?: {
598
- prefix?: string;
599
- suffix?: string;
600
- precision?: number;
601
- };
602
- /** 百分比格式 */
603
- percent?: {
604
- precision?: number;
605
- suffix?: string;
606
- };
607
- /** 数字格式(千分位) */
608
- number?: {
609
- precision?: number;
610
- };
646
+ //#region src/components/C_Table/composables/useRowEdit.d.ts
647
+ /** 行级校验错误 */
648
+ interface RowValidationError {
649
+ field: string;
650
+ message: string;
611
651
  }
612
- /** 列级 formatter 配置 */
613
- interface ColumnFormatter {
614
- type: FormatterType;
615
- /** enum mapping:{ male: '男', female: '女' } */
616
- mapping?: Record<string, string>;
617
- /** 自定义格式化函数(优先级最高) */
618
- fn?: (value: unknown, row: DataRecord) => string;
619
- /** 覆盖全局格式配置 */
620
- config?: Record<string, unknown>;
652
+ /**
653
+ * 行编辑配置选项
654
+ */
655
+ interface RowEditOptions {
656
+ data: () => DataRecord[];
657
+ rowKey: (row: DataRecord) => DataTableRowKey;
658
+ onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
659
+ onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
660
+ /** 列配置(用于提取校验规则) */
661
+ columns?: () => TableColumn[];
621
662
  }
622
- interface TableGlobalConfig {
623
- /** 任意 C_Table 配置的应用级默认值。 */
624
- defaults?: TableConfig;
625
- /** 表格显示默认值 */
626
- display?: DisplayConfig;
627
- /** 默认分页条数 */
628
- pageSize?: number;
629
- /** 空状态文案 */
630
- emptyText?: string;
631
- /** 全局格式化配置 */
632
- formatter?: FormatterConfig;
633
- /** 列配置持久化前缀 */
634
- persistPrefix?: string;
635
- /** 默认导出文件名 */
636
- exportFilename?: string;
663
+ /**
664
+ * 可编辑行组合函数,提供表格整行的编辑功能
665
+ */
666
+ declare function useRowEdit(options: RowEditOptions): {
667
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
668
+ editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
669
+ isSaving: vue.Ref<boolean, boolean>;
670
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
671
+ startEditRow: (rowKey: DataTableRowKey) => boolean;
672
+ cancelEditRow: () => Promise<void>;
673
+ saveEditRow: () => Promise<{
674
+ updatedData: DataRecord;
675
+ rowIndex: number;
676
+ } | undefined>;
677
+ validateRow: () => Promise<boolean>;
678
+ validationErrors: vue.Ref<{
679
+ field: string;
680
+ message: string;
681
+ }[], RowValidationError[] | {
682
+ field: string;
683
+ message: string;
684
+ }[]>;
685
+ getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
686
+ updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
687
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
688
+ invalidate: () => void;
689
+ };
690
+ //#endregion
691
+ //#region src/components/C_Table/composables/useTableManager.d.ts
692
+ /**
693
+ * 表格管理器配置接口
694
+ */
695
+ interface TableManagerConfig {
696
+ feedback?: ComponentFeedback;
697
+ locale?: ComponentLocale;
698
+ editable: boolean;
699
+ editMode: string;
700
+ showRowActions: boolean;
701
+ modalTitle: string;
702
+ modalWidth: number;
703
+ onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
704
+ onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
705
+ onEditError?: (error: unknown) => void;
706
+ expandable: boolean;
707
+ defaultExpandedKeys?: DataTableRowKey[];
708
+ onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
709
+ onExpandError?: (error: unknown, row: DataRecord) => void;
710
+ renderExpandContent?: unknown;
711
+ rowExpandable?: (row: DataRecord) => boolean;
712
+ enableSelection: boolean;
713
+ defaultCheckedKeys?: DataTableRowKey[];
714
+ rowCheckable?: (row: DataRecord) => boolean;
715
+ maxSelection?: number;
716
+ enableChildSelection: boolean;
717
+ childRowCheckable?: (childRow: DataRecord, parentRow: DataRecord) => boolean;
718
+ enableParentChildLink: boolean;
719
+ parentChildLinkMode: ParentChildLinkMode;
720
+ dynamicRows?: DynamicRowsOptions<DataRecord>;
721
+ treeEnabled?: boolean;
722
+ treeChildrenKey?: string;
637
723
  }
638
- declare const TABLE_GLOBAL_CONFIG_KEY: InjectionKey<TableGlobalConfig>;
639
- /** 根据 ColumnFormatter 配置格式化单元格值 */
640
- declare function applyFormatter(value: unknown, row: DataRecord, formatter: ColumnFormatter, globalConfig?: FormatterConfig): string;
641
- /** 在组件内获取全局配置(自动合并默认值) */
642
- declare function useTableGlobalConfig(): TableGlobalConfig;
643
- /** 合并全局配置到 TableConfig(局部 > 全局 > 默认) */
644
- declare function mergeGlobalConfig(local: TableConfig, global: TableGlobalConfig): TableConfig;
724
+ /**
725
+ * 表格管理器参数接口
726
+ */
727
+ interface TableManagerParams {
728
+ config: MaybeRefOrGetter<TableManagerConfig>;
729
+ data: () => DataRecord[];
730
+ rowKey: (row: DataRecord) => DataTableRowKey;
731
+ emit: (...args: any[]) => unknown;
732
+ /** 列配置(用于编辑校验) */
733
+ columns?: () => TableColumn[];
734
+ /** UI 壳提供加载内容,状态引擎保持可独立调用。 */
735
+ renderLoading?: () => VNodeChild;
736
+ /** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
737
+ rowKeyField?: MaybeRefOrGetter<string | undefined>;
738
+ }
739
+ /**
740
+ * 事件处理器接口
741
+ */
742
+ interface EventHandlers {
743
+ onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
744
+ onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
745
+ onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
746
+ onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
747
+ onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
748
+ onRowChange: (data: DataRecord[]) => void;
749
+ onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
750
+ onRowAdd: (newRow: DataRecord) => void;
751
+ onRowDelete: (deletedRow: DataRecord, index: number) => void;
752
+ onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
753
+ onRowMove: (row: DataRecord, fromIndex: number, toIndex: number) => void;
754
+ }
755
+ /**
756
+ * 表格统一状态管理器
757
+ */
758
+ declare function useTableManager(params: TableManagerParams): {
759
+ editStates: {
760
+ rowEdit: {
761
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
762
+ editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
763
+ isSaving: vue.Ref<boolean, boolean>;
764
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
765
+ startEditRow: (rowKey: DataTableRowKey) => boolean;
766
+ cancelEditRow: () => Promise<void>;
767
+ saveEditRow: () => Promise<{
768
+ updatedData: DataRecord;
769
+ rowIndex: number;
770
+ } | undefined>;
771
+ validateRow: () => Promise<boolean>;
772
+ validationErrors: vue.Ref<{
773
+ field: string;
774
+ message: string;
775
+ }[], RowValidationError[] | {
776
+ field: string;
777
+ message: string;
778
+ }[]>;
779
+ getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
780
+ updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
781
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
782
+ invalidate: () => void;
783
+ };
784
+ cellEdit: {
785
+ editingCell: vue.Ref<{
786
+ rowKey: DataTableRowKey | null;
787
+ columnKey: string | null;
788
+ }, {
789
+ rowKey: DataTableRowKey | null;
790
+ columnKey: string | null;
791
+ } | {
792
+ rowKey: DataTableRowKey | null;
793
+ columnKey: string | null;
794
+ }>;
795
+ editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
796
+ isSaving: vue.Ref<boolean, boolean>;
797
+ isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
798
+ startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
799
+ saveEditCell: () => Promise<{
800
+ updatedData: {
801
+ [x: string]: unknown;
802
+ };
803
+ rowIndex: number;
804
+ columnKey: string;
805
+ } | undefined>;
806
+ cancelEditCell: () => void;
807
+ validateCell: () => Promise<boolean>;
808
+ cellValidationError: vue.Ref<string | null, string | null>;
809
+ getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
810
+ updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
811
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
812
+ invalidate: () => void;
813
+ };
814
+ modalEdit: {
815
+ isModalVisible: vue.Ref<boolean, boolean>;
816
+ isSaving: vue.Ref<boolean, boolean>;
817
+ editingData: vue.Ref<DataRecord, DataRecord>;
818
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
819
+ editingRowIndex: vue.ComputedRef<number>;
820
+ startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
821
+ saveEdit: (formData?: DataRecord | undefined) => Promise<{
822
+ updatedData: any;
823
+ rowIndex: number;
824
+ } | undefined>;
825
+ cancelEdit: () => Promise<boolean>;
826
+ updateEditingData: (data: DataRecord) => boolean;
827
+ resetEditingState: () => boolean;
828
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
829
+ getEditingRowData: (rowKey: DataTableRowKey) => any;
830
+ invalidate: () => void;
831
+ };
832
+ };
833
+ expandState: UseTableExpandReturn<DataRecord, DataRecord>;
834
+ dynamicRowsState: DynamicRowsReturn<DataRecord>;
835
+ stateManager: {
836
+ edit: {
837
+ /** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
838
+ cancel(): void; /** 保存编辑 */
839
+ save(): Promise<void>; /** 是否正在编辑 */
840
+ isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
841
+ getEditingData(): DataRecord | null | undefined;
842
+ };
843
+ expand: {
844
+ /** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
845
+ collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
846
+ toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
847
+ all(): Promise<void>; /** 折叠所有行 */
848
+ collapseAll(): void; /** 检查行是否已展开 */
849
+ isExpanded(rowKey: DataTableRowKey): boolean;
850
+ };
851
+ selection: {
852
+ /** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
853
+ unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
854
+ all(): void; /** 清除所有行选择 */
855
+ clear(): void; /** 检查行是否已选择 */
856
+ isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
857
+ getSelected(): DataRecord[];
858
+ };
859
+ childSelection: {
860
+ /** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
861
+ unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
862
+ selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
863
+ clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
864
+ getSelected(parentKey: DataTableRowKey): DataRecord[];
865
+ };
866
+ dynamicRows: {
867
+ /** 添加行 */add(): void; /** 插入行 */
868
+ insert(): void; /** 删除行 */
869
+ delete(): void; /** 复制行 */
870
+ copy(): void; /** 上移动态行 */
871
+ moveUp(): void; /** 下移动态行 */
872
+ moveDown(): void; /** 清空动态行数据 */
873
+ clearSelection(): void; /** 获取当前选中的动态行数据 */
874
+ getSelected(): DataRecord | null; /** 打印表格 */
875
+ print(elementRef?: HTMLElement): Promise<void>; /** 导出表格数据 */
876
+ download(elementRef?: HTMLElement, filename?: string): Promise<void>;
877
+ }; /** 清除所有选择 */
878
+ clearAllSelections(): void;
879
+ };
880
+ expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
881
+ checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
882
+ eventHandlers: EventHandlers;
883
+ };
645
884
  //#endregion
646
885
  //#region src/components/C_Table/types.d.ts
647
886
  type RefLike<T> = {
@@ -871,6 +1110,7 @@ interface TableDisplayProps {
871
1110
  singleLine?: boolean;
872
1111
  size?: 'small' | 'medium' | 'large';
873
1112
  }
1113
+ /** @deprecated 旧类型兼容;组件功能请使用 config.edit。 */
874
1114
  interface TableEditProps<T extends object = DataRecord> {
875
1115
  editable?: boolean;
876
1116
  editMode?: EditMode;
@@ -881,6 +1121,7 @@ interface TableEditProps<T extends object = DataRecord> {
881
1121
  modalWidth?: number;
882
1122
  columnWidth?: number;
883
1123
  }
1124
+ /** @deprecated 旧类型兼容;组件功能请使用 config.expand。 */
884
1125
  interface TableExpandProps<T extends object = DataRecord, C = DataRecord> {
885
1126
  expandable?: boolean;
886
1127
  onLoadExpandData?: (row: T) => Promise<C[]> | C[];
@@ -888,6 +1129,7 @@ interface TableExpandProps<T extends object = DataRecord, C = DataRecord> {
888
1129
  rowExpandable?: (row: T) => boolean;
889
1130
  defaultExpandedKeys?: DataTableRowKey[];
890
1131
  }
1132
+ /** @deprecated 旧类型兼容;组件功能请使用 config.selection。 */
891
1133
  interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> extends BaseConfig<T> {
892
1134
  enableSelection?: boolean;
893
1135
  defaultCheckedKeys?: DataTableRowKey[];
@@ -897,8 +1139,16 @@ interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> ext
897
1139
  enableParentChildLink?: boolean;
898
1140
  parentChildLinkMode?: ParentChildLinkMode;
899
1141
  }
900
- interface TableProps<T extends object = DataRecord, C = DataRecord> extends TableBaseProps<T>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
901
- pagination?: PaginationConfig | boolean;
1142
+ interface TableProps<T extends object = DataRecord, C = DataRecord> extends Partial<TableBaseProps<T>>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
1143
+ /** 功能配置的统一入口。 */
1144
+ config?: TableConfig<T>;
1145
+ /** CRUD 模式自动提供 columns / data / loading,可省略对应属性。 */
1146
+ crud?: CrudBinding<T>;
1147
+ /** 原生分页入口;声明后优先于 config.pagination。 */
1148
+ pagination?: PaginationProps | false;
1149
+ remote?: boolean;
1150
+ virtualScrollX?: boolean;
1151
+ /** @deprecated 使用 config.actions。 */
902
1152
  actions?: SimpleTableActions<T>;
903
1153
  /** 根容器 class,原生 class/style 仍转发到内部表格。 */
904
1154
  wrapperClass?: vue.HTMLAttributes['class'];
@@ -974,6 +1224,12 @@ interface TablePaginationMethods {
974
1224
  }
975
1225
  interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
976
1226
  exportData: () => Promise<void>;
1227
+ /** 高级兼容入口;常规操作优先使用实例上的选择、展开和编辑方法。 */
1228
+ getManager: () => ReturnType<typeof useTableManager>['stateManager'];
1229
+ /** 此嵌套对象中的 Ref 保持响应式,读取时使用 .value。 */
1230
+ crossPageSelection: Pick<UseCrossPageSelectionReturn<T>, 'selectedKeys' | 'selectedCount' | 'select' | 'unselect' | 'selectAll' | 'clearAll' | 'getSelectedRows'> & {
1231
+ enabled: ComputedRef<boolean>;
1232
+ };
977
1233
  }
978
1234
  interface UseTableExpandOptions<T extends object = DataRecord, C = DataRecord> extends ExpandConfig<T, C>, SelectionConfig<T, C> {
979
1235
  data: Ref<T[]> | ComputedRef<T[]>;
@@ -1241,245 +1497,6 @@ interface UseTableColumnsReturn {
1241
1497
  */
1242
1498
  declare function useTableColumns(options: UseTableColumnsOptions): UseTableColumnsReturn;
1243
1499
  //#endregion
1244
- //#region src/components/C_Table/composables/useRowEdit.d.ts
1245
- /** 行级校验错误 */
1246
- interface RowValidationError {
1247
- field: string;
1248
- message: string;
1249
- }
1250
- /**
1251
- * 行编辑配置选项
1252
- */
1253
- interface RowEditOptions {
1254
- data: () => DataRecord[];
1255
- rowKey: (row: DataRecord) => DataTableRowKey;
1256
- onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
1257
- onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1258
- /** 列配置(用于提取校验规则) */
1259
- columns?: () => TableColumn[];
1260
- }
1261
- /**
1262
- * 可编辑行组合函数,提供表格整行的编辑功能
1263
- */
1264
- declare function useRowEdit(options: RowEditOptions): {
1265
- editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1266
- editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
1267
- isSaving: vue.Ref<boolean, boolean>;
1268
- isEditingRow: (rowKey: DataTableRowKey) => boolean;
1269
- startEditRow: (rowKey: DataTableRowKey) => boolean;
1270
- cancelEditRow: () => Promise<void>;
1271
- saveEditRow: () => Promise<{
1272
- updatedData: DataRecord;
1273
- rowIndex: number;
1274
- } | undefined>;
1275
- validateRow: () => Promise<boolean>;
1276
- validationErrors: vue.Ref<{
1277
- field: string;
1278
- message: string;
1279
- }[], RowValidationError[] | {
1280
- field: string;
1281
- message: string;
1282
- }[]>;
1283
- getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
1284
- updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
1285
- findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1286
- invalidate: () => void;
1287
- };
1288
- //#endregion
1289
- //#region src/components/C_Table/composables/useTableManager.d.ts
1290
- /**
1291
- * 表格管理器配置接口
1292
- */
1293
- interface TableManagerConfig {
1294
- feedback?: ComponentFeedback;
1295
- locale?: ComponentLocale;
1296
- editable: boolean;
1297
- editMode: string;
1298
- showRowActions: boolean;
1299
- modalTitle: string;
1300
- modalWidth: number;
1301
- onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
1302
- onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1303
- onEditError?: (error: unknown) => void;
1304
- expandable: boolean;
1305
- defaultExpandedKeys?: DataTableRowKey[];
1306
- onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
1307
- onExpandError?: (error: unknown, row: DataRecord) => void;
1308
- renderExpandContent?: unknown;
1309
- rowExpandable?: (row: DataRecord) => boolean;
1310
- enableSelection: boolean;
1311
- defaultCheckedKeys?: DataTableRowKey[];
1312
- rowCheckable?: (row: DataRecord) => boolean;
1313
- maxSelection?: number;
1314
- enableChildSelection: boolean;
1315
- childRowCheckable?: (childRow: DataRecord, parentRow: DataRecord) => boolean;
1316
- enableParentChildLink: boolean;
1317
- parentChildLinkMode: ParentChildLinkMode;
1318
- dynamicRows?: DynamicRowsOptions<DataRecord>;
1319
- treeEnabled?: boolean;
1320
- treeChildrenKey?: string;
1321
- }
1322
- /**
1323
- * 表格管理器参数接口
1324
- */
1325
- interface TableManagerParams {
1326
- config: MaybeRefOrGetter<TableManagerConfig>;
1327
- data: () => DataRecord[];
1328
- rowKey: (row: DataRecord) => DataTableRowKey;
1329
- emit: (...args: any[]) => unknown;
1330
- /** 列配置(用于编辑校验) */
1331
- columns?: () => TableColumn[];
1332
- /** UI 壳提供加载内容,状态引擎保持可独立调用。 */
1333
- renderLoading?: () => VNodeChild;
1334
- /** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
1335
- rowKeyField?: MaybeRefOrGetter<string | undefined>;
1336
- }
1337
- /**
1338
- * 事件处理器接口
1339
- */
1340
- interface EventHandlers {
1341
- onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
1342
- onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
1343
- onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
1344
- onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
1345
- onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
1346
- onRowChange: (data: DataRecord[]) => void;
1347
- onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
1348
- onRowAdd: (newRow: DataRecord) => void;
1349
- onRowDelete: (deletedRow: DataRecord, index: number) => void;
1350
- onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
1351
- onRowMove: (row: DataRecord, fromIndex: number, toIndex: number) => void;
1352
- }
1353
- /**
1354
- * 表格统一状态管理器
1355
- */
1356
- declare function useTableManager(params: TableManagerParams): {
1357
- editStates: {
1358
- rowEdit: {
1359
- editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1360
- editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
1361
- isSaving: vue.Ref<boolean, boolean>;
1362
- isEditingRow: (rowKey: DataTableRowKey) => boolean;
1363
- startEditRow: (rowKey: DataTableRowKey) => boolean;
1364
- cancelEditRow: () => Promise<void>;
1365
- saveEditRow: () => Promise<{
1366
- updatedData: DataRecord;
1367
- rowIndex: number;
1368
- } | undefined>;
1369
- validateRow: () => Promise<boolean>;
1370
- validationErrors: vue.Ref<{
1371
- field: string;
1372
- message: string;
1373
- }[], RowValidationError[] | {
1374
- field: string;
1375
- message: string;
1376
- }[]>;
1377
- getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
1378
- updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
1379
- findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1380
- invalidate: () => void;
1381
- };
1382
- cellEdit: {
1383
- editingCell: vue.Ref<{
1384
- rowKey: DataTableRowKey | null;
1385
- columnKey: string | null;
1386
- }, {
1387
- rowKey: DataTableRowKey | null;
1388
- columnKey: string | null;
1389
- } | {
1390
- rowKey: DataTableRowKey | null;
1391
- columnKey: string | null;
1392
- }>;
1393
- editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
1394
- isSaving: vue.Ref<boolean, boolean>;
1395
- isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1396
- startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1397
- saveEditCell: () => Promise<{
1398
- updatedData: {
1399
- [x: string]: unknown;
1400
- };
1401
- rowIndex: number;
1402
- columnKey: string;
1403
- } | undefined>;
1404
- cancelEditCell: () => void;
1405
- validateCell: () => Promise<boolean>;
1406
- cellValidationError: vue.Ref<string | null, string | null>;
1407
- getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
1408
- updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
1409
- findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1410
- invalidate: () => void;
1411
- };
1412
- modalEdit: {
1413
- isModalVisible: vue.Ref<boolean, boolean>;
1414
- isSaving: vue.Ref<boolean, boolean>;
1415
- editingData: vue.Ref<DataRecord, DataRecord>;
1416
- editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1417
- editingRowIndex: vue.ComputedRef<number>;
1418
- startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
1419
- saveEdit: (formData?: DataRecord | undefined) => Promise<{
1420
- updatedData: any;
1421
- rowIndex: number;
1422
- } | undefined>;
1423
- cancelEdit: () => Promise<boolean>;
1424
- updateEditingData: (data: DataRecord) => boolean;
1425
- resetEditingState: () => boolean;
1426
- isEditingRow: (rowKey: DataTableRowKey) => boolean;
1427
- getEditingRowData: (rowKey: DataTableRowKey) => any;
1428
- invalidate: () => void;
1429
- };
1430
- };
1431
- expandState: UseTableExpandReturn<DataRecord, DataRecord>;
1432
- dynamicRowsState: DynamicRowsReturn<DataRecord>;
1433
- stateManager: {
1434
- edit: {
1435
- /** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
1436
- cancel(): void; /** 保存编辑 */
1437
- save(): Promise<void>; /** 是否正在编辑 */
1438
- isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
1439
- getEditingData(): DataRecord | null | undefined;
1440
- };
1441
- expand: {
1442
- /** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
1443
- collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
1444
- toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
1445
- all(): Promise<void>; /** 折叠所有行 */
1446
- collapseAll(): void; /** 检查行是否已展开 */
1447
- isExpanded(rowKey: DataTableRowKey): boolean;
1448
- };
1449
- selection: {
1450
- /** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
1451
- unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
1452
- all(): void; /** 清除所有行选择 */
1453
- clear(): void; /** 检查行是否已选择 */
1454
- isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
1455
- getSelected(): DataRecord[];
1456
- };
1457
- childSelection: {
1458
- /** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
1459
- unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
1460
- selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
1461
- clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
1462
- getSelected(parentKey: DataTableRowKey): DataRecord[];
1463
- };
1464
- dynamicRows: {
1465
- /** 添加行 */add(): void; /** 插入行 */
1466
- insert(): void; /** 删除行 */
1467
- delete(): void; /** 复制行 */
1468
- copy(): void; /** 上移动态行 */
1469
- moveUp(): void; /** 下移动态行 */
1470
- moveDown(): void; /** 清空动态行数据 */
1471
- clearSelection(): void; /** 获取当前选中的动态行数据 */
1472
- getSelected(): DataRecord | null; /** 打印表格 */
1473
- print(elementRef?: HTMLElement): Promise<void>; /** 导出表格数据 */
1474
- download(elementRef?: HTMLElement, filename?: string): Promise<void>;
1475
- }; /** 清除所有选择 */
1476
- clearAllSelections(): void;
1477
- };
1478
- expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
1479
- checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
1480
- eventHandlers: EventHandlers;
1481
- };
1482
- //#endregion
1483
1500
  //#region src/components/C_Table/composables/useTableExpand.d.ts
1484
1501
  /**
1485
1502
  *
@@ -1711,9 +1728,10 @@ interface TreeExpose {
1711
1728
  getCheckedData: TreeInst['getCheckedData'];
1712
1729
  getIndeterminateData: TreeInst['getIndeterminateData'];
1713
1730
  scrollTo: TreeInst['scrollTo'];
1714
- expandedKeys: Ref<TreeKey[]>;
1715
- selectedKeys: Ref<TreeKey[]>;
1716
- checkedKeys: Ref<TreeKey[]>;
1731
+ /** Vue 公开实例会解包顶层 Ref;这些属性直接读取数组。 */
1732
+ expandedKeys: TreeKey[];
1733
+ selectedKeys: TreeKey[];
1734
+ checkedKeys: TreeKey[];
1717
1735
  }
1718
1736
  interface TreeEmits {
1719
1737
  'update:searchPattern': [pattern: string];
@@ -1737,34 +1755,38 @@ interface TreeSlots {
1737
1755
  //#endregion
1738
1756
  //#region src/components/C_Tree/index.vue.d.ts
1739
1757
  type __VLS_Slots = TreeSlots;
1740
- declare const __VLS_base: vue.DefineComponent<TreeProps$1, TreeExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1741
- add: (parentNode?: TreeNodeData | undefined) => any;
1742
- refresh: () => any;
1758
+ declare const __VLS_base: vue.DefineComponent<TreeProps$1, Omit<TreeExpose, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1759
+ expandedKeys: vue.Ref<TreeKey[]>;
1760
+ selectedKeys: vue.Ref<TreeKey[]>;
1761
+ checkedKeys: vue.Ref<TreeKey[]>;
1762
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1743
1763
  "load-error": (error: unknown, node: TreeOption$1) => any;
1744
- "update:expandedKeys": (keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any;
1764
+ refresh: () => any;
1765
+ add: (parentNode?: TreeNodeData | undefined) => any;
1745
1766
  "update:searchPattern": (pattern: string) => any;
1767
+ "update:expandedKeys": (keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any;
1746
1768
  "update:selectedKeys": (keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any;
1747
1769
  "update:checkedKeys": (keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any;
1748
1770
  "node-select": (node: TreeNodeData | null, selectedKeys: TreeKey[]) => any;
1749
1771
  "node-action": (action: string, node: TreeNodeData) => any;
1750
1772
  "node-drop": (info: DropInfo) => any;
1751
1773
  }, string, vue.PublicProps, Readonly<TreeProps$1> & Readonly<{
1752
- onAdd?: ((parentNode?: TreeNodeData | undefined) => any) | undefined;
1753
- onRefresh?: (() => any) | undefined;
1754
1774
  "onLoad-error"?: ((error: unknown, node: TreeOption$1) => any) | undefined;
1755
- "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any) | undefined;
1775
+ onRefresh?: (() => any) | undefined;
1776
+ onAdd?: ((parentNode?: TreeNodeData | undefined) => any) | undefined;
1756
1777
  "onUpdate:searchPattern"?: ((pattern: string) => any) | undefined;
1778
+ "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any) | undefined;
1757
1779
  "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any) | undefined;
1758
1780
  "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (TreeOption$1 | null)[], meta: TreeUpdateMeta) => any) | undefined;
1759
1781
  "onNode-select"?: ((node: TreeNodeData | null, selectedKeys: TreeKey[]) => any) | undefined;
1760
1782
  "onNode-action"?: ((action: string, node: TreeNodeData) => any) | undefined;
1761
1783
  "onNode-drop"?: ((info: DropInfo) => any) | undefined;
1762
1784
  }>, {
1763
- draggable: boolean;
1764
1785
  mode: TreeMode;
1765
1786
  showToolbar: boolean;
1766
- density: ComponentDensity;
1767
1787
  addable: boolean;
1788
+ density: ComponentDensity;
1789
+ draggable: boolean;
1768
1790
  searchable: boolean;
1769
1791
  searchPlaceholder: string;
1770
1792
  showLine: boolean;
@@ -1787,7 +1809,7 @@ declare const presetConfigs: Record<TreeMode, Partial<TreeProps$1>>;
1787
1809
  type EmitFn = <E extends keyof TreeEmits>(event: E, ...args: TreeEmits[E]) => void;
1788
1810
  /** State coordination only; checking, filtering, keyboard and loading stay native. */
1789
1811
  declare function useTreeOperations(props: TreeProps$1, emit: EmitFn, slots?: TreeSlots): {
1790
- internalSearchPattern: vue.Ref<string, string>;
1812
+ internalSearchPattern: Ref<string, string>;
1791
1813
  expandedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
1792
1814
  selectedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
1793
1815
  checkedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
@@ -1813,7 +1835,11 @@ declare function useTreeOperations(props: TreeProps$1, emit: EmitFn, slots?: Tre
1813
1835
  handleDrop: (info: DropInfo) => void;
1814
1836
  handleAdd: () => void;
1815
1837
  handleRefresh: () => void;
1816
- expose: TreeExpose;
1838
+ expose: Omit<TreeExpose, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1839
+ expandedKeys: Ref<TreeKey[]>;
1840
+ selectedKeys: Ref<TreeKey[]>;
1841
+ checkedKeys: Ref<TreeKey[]>;
1842
+ };
1817
1843
  };
1818
1844
  //#endregion
1819
1845
  //#region src/utils/storage.d.ts
@@ -1957,4 +1983,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
1957
1983
  cancel: () => void;
1958
1984
  };
1959
1985
  //#endregion
1960
- export { MaybeRefLike as $, printPresets as $t, HighlightPluginOptions as A, ExpandConfig$1 as At, useRowEdit as B, exportTableData as Bt, TreeNodeData as C, useTableGlobalConfig as Ct, TreeSlots as D, DisplayConfig as Dt, TreeRenderContext as E, CrudBinding as Et, useCellEdit as F, TreeConfig as Ft, _default$1 as G, RowDragConfig as Gt, defineTableColumns as H, UseCrossPageSelectionOptions as Ht, usePagination as I, VirtualScrollConfig as It, ChildSelectionState as J, useRowDrag as Jt, ApiFunction as K, UseRowDragOptions as Kt, useTableActions as L, createEditModeChecker as Lt, setupHighlight as M, SummaryConfig as Mt, useHighlight as N, TableConfig as Nt, TreeUpdateMeta as O, EditConfig as Ot, useModalEdit as P, ToolbarConfig as Pt, EditMode as Q, PrintWatermarkOptions as Qt, useTableExpand as R, resolveConfig as Rt, TreeNativeProps as S, mergeGlobalConfig as St, TreeProps$1 as T, ColumnDragConfig as Tt, defineTableConfig as U, UseCrossPageSelectionReturn as Ut, useTableColumns as V, CrossPageSelectionConfig as Vt, validateTableRowKeys as W, useCrossPageSelection as Wt, CustomAction as X, DynamicRowsReturn as Xt, ColumnWithKey as Y, DynamicRowsOptions as Yt, DataRecord as Z, useDynamicRows as Zt, StatusType as _, FormatterConfig as _t, getItem as a, SelectOption as at, TreeKey as b, TableGlobalConfig as bt, setItem as c, TableColumn as ct, _default as d, TableProps as dt, usePrintWatermark as en, NormalTableColumn as et, ActionConfig as f, TableRowKey as ft, StatusConfig as g, ColumnFormatter as gt, IconConfig as h, UseTableExpandReturn as ht, useTableQuery as i, COMPONENT_LOCALE_KEY as in, RowAction as it, createHighlight as j, SelectionConfig$1 as jt, HighlightAPI as k, ErrorConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, UseTableExpandOptions as mt, TableQueryResult as n, useComponentLocale as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKeyIssue as pt, BuiltInTableColumn as q, UseRowDragReturn as qt, UseTableQueryOptions as r, COMPONENT_FEEDBACK_KEY as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, useComponentFeedback as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, FormatterType as vt, TreeOption$1 as w, BatchActionsConfig as wt, TreeMode as x, applyFormatter as xt, TreeExpose as y, TABLE_GLOBAL_CONFIG_KEY as yt, useTableManager as z, ExportConfig as zt };
1986
+ export { PaginationConfig as $, printPresets as $t, HighlightPluginOptions as A, resolveConfig as At, defineTableColumns as B, useTableGlobalConfig as Bt, TreeNodeData as C, SelectionConfig$1 as Ct, TreeSlots as D, TreeConfig as Dt, TreeRenderContext as E, ToolbarConfig as Et, useCellEdit as F, FormatterType as Ft, BuiltInTableColumn as G, RowDragConfig as Gt, validateTableRowKeys as H, UseCrossPageSelectionOptions as Ht, usePagination as I, TABLE_GLOBAL_CONFIG_KEY as It, CustomAction as J, useRowDrag as Jt, ChildSelectionState as K, UseRowDragOptions as Kt, useTableActions as L, TableGlobalConfig as Lt, setupHighlight as M, exportTableData as Mt, useHighlight as N, ColumnFormatter as Nt, TreeUpdateMeta as O, VirtualScrollConfig as Ot, useModalEdit as P, FormatterConfig as Pt, NormalTableColumn as Q, PrintWatermarkOptions as Qt, useTableExpand as R, applyFormatter as Rt, TreeNativeProps as S, ExpandConfig$1 as St, TreeProps$1 as T, TableConfig as Tt, _default$1 as U, UseCrossPageSelectionReturn as Ut, defineTableConfig as V, CrossPageSelectionConfig as Vt, ApiFunction as W, useCrossPageSelection as Wt, EditMode as X, DynamicRowsReturn as Xt, DataRecord as Y, DynamicRowsOptions as Yt, MaybeRefLike as Z, useDynamicRows as Zt, StatusType as _, ColumnDragConfig as _t, getItem as a, StrictTableColumn as at, TreeKey as b, EditConfig as bt, setItem as c, TableInstance as ct, _default as d, TableRowKeyIssue as dt, usePrintWatermark as en, ParentChildLinkMode as et, ActionConfig as f, UseTableExpandOptions as ft, StatusConfig as g, BatchActionsConfig as gt, IconConfig as h, useRowEdit as ht, useTableQuery as i, COMPONENT_LOCALE_KEY as in, SimpleTableActions as it, createHighlight as j, ExportConfig as jt, HighlightAPI as k, createEditModeChecker as kt, useTreeOperations as l, TableProps as lt, DropInfo as m, useTableManager as mt, TableQueryResult as n, useComponentLocale as nn, RowAction as nt, removeAllItem as o, TableColumn as ot, ButtonType as p, UseTableExpandReturn as pt, ColumnWithKey as q, UseRowDragReturn as qt, UseTableQueryOptions as r, COMPONENT_FEEDBACK_KEY as rn, SelectOption as rt, removeItem as s, TableEmits as st, TableQueryContext as t, useComponentFeedback as tn, RenderFunction as tt, presetConfigs as u, TableRowKey as ut, TreeEmits as v, CrudBinding as vt, TreeOption$1 as w, SummaryConfig as wt, TreeMode as x, ErrorConfig as xt, TreeExpose as y, DisplayConfig as yt, useTableColumns as z, mergeGlobalConfig as zt };