UNPKG

advanced-react-datatable

Version:

A comprehensive React data grid component with advanced features like pinned columns, inline editing, grouping, filtering, and export capabilities

34 lines (33 loc) 1.34 kB
import { DataTableColumn, FilterConfig, SortConfig } from '../types'; interface UseDataTableProps<T> { data: T[]; initialColumns: DataTableColumn<T>[]; initialGroupBy?: string | string[]; selectionMode?: 'single' | 'multiple' | 'none'; onRowSelect?: (selectedRows: T[]) => void; onCellEdit?: (row: T, field: keyof T, value: any) => void; } export declare function useDataTable<T extends Record<string, any>>({ data, initialColumns, initialGroupBy, }: UseDataTableProps<T>): { columns: DataTableColumn<T>[]; setColumns: import('react').Dispatch<import('react').SetStateAction<DataTableColumn<T>[]>>; processedData: T[]; filteredData: T[]; groupedData: T[]; selectedRows: T[]; filters: FilterConfig[]; sorts: SortConfig[]; groupBy: string | string[]; expandedGroups: Set<string>; setGroupBy: (field: string | string[] | null) => void; sortBy: (field: string) => void; addFilter: (filter: FilterConfig) => void; removeFilter: (field: string) => void; clearFilters: () => void; toggleRowSelection: (row: T) => void; selectAllRows: () => void; clearSelection: () => void; toggleGroup: (groupKey: string) => void; filterByColumn: (field: string, filter: FilterConfig | null) => void; }; export {}; //# sourceMappingURL=use-data-table.d.ts.map