@ackplus/react-tanstack-data-table
Version:
A powerful React data table component built with MUI and TanStack Table
47 lines • 1.87 kB
TypeScript
import { Table } from '@tanstack/react-table';
import { ReactNode, RefObject, ReactElement } from 'react';
import { ColumnFilterState, TableSize } from '../types';
import { DataTableApi } from '../types/data-table-api';
/**
* Context value for the DataTable
*/
interface DataTableContextValue<T = any> {
table?: Table<T>;
apiRef?: RefObject<DataTableApi<T> | null>;
dataMode?: 'client' | 'server';
tableSize?: TableSize;
onTableSizeChange?: (size: TableSize) => void;
columnFilter?: ColumnFilterState;
onChangeColumnFilter?: (filter: ColumnFilterState) => void;
slots?: Record<string, any>;
slotProps?: Record<string, any>;
isExporting?: boolean;
exportController?: AbortController | null;
onCancelExport?: () => void;
exportFilename?: string;
onExportProgress?: (progress: {
processedRows?: number;
totalRows?: number;
percentage?: number;
}) => void;
onExportComplete?: (result: {
success: boolean;
filename: string;
totalRows: number;
}) => void;
onExportError?: (error: {
message: string;
code: string;
}) => void;
onServerExport?: (filters?: Partial<any>) => Promise<{
data: any[];
total: number;
}>;
}
interface DataTableProviderProps<T = any> extends DataTableContextValue<T> {
children: ReactNode;
}
export declare function DataTableProvider<T = any>({ children, table, apiRef, dataMode, tableSize, onTableSizeChange, columnFilter, onChangeColumnFilter, slots, slotProps, isExporting, exportController, onCancelExport, exportFilename, onExportProgress, onExportComplete, onExportError, onServerExport, }: DataTableProviderProps<T>): ReactElement;
export declare function useDataTableContext<T = any>(): DataTableContextValue<T>;
export {};
//# sourceMappingURL=data-table-context.d.ts.map