UNPKG

@ackplus/react-tanstack-data-table

Version:

A powerful React data table component built with MUI and TanStack Table

44 lines (43 loc) 1.82 kB
import { Table } from '@tanstack/react-table'; import { ReactNode, RefObject } from 'react'; import { CustomColumnFilterState, TableSize } from '../types'; import { DataTableApi } from '../types/data-table-api'; interface DataTableContextValue<T = any> { table?: Table<T>; apiRef?: RefObject<DataTableApi<T>>; dataMode?: 'client' | 'server'; tableSize?: TableSize; onTableSizeChange?: (size: TableSize) => void; customColumnsFilter?: CustomColumnFilterState; onChangeCustomColumnsFilter?: (filter: CustomColumnFilterState) => 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, customColumnsFilter, onChangeCustomColumnsFilter, slots, slotProps, isExporting, exportController, onCancelExport, exportFilename, onExportProgress, onExportComplete, onExportError, onServerExport, }: DataTableProviderProps<T>): import("react/jsx-runtime").JSX.Element; export declare function useDataTableContext<T = any>(): DataTableContextValue<T>; export {};