UNPKG

@czkoudy/data-table

Version:

A React data table component with pagination, sorting, and filtering capabilities.

47 lines (46 loc) 1.38 kB
import { ColumnDef } from '@tanstack/react-table'; import { default as React } from 'react'; export interface DataTableColumnMeta { align?: 'left' | 'center' | 'right'; disableRowClick?: boolean; fallback?: string; filterValueExcludeList?: string[]; filterValueIncludeList?: string[]; type?: string; valueLabelMap?: Record<string, string>; } export interface DataTableProps<T> { className?: string; columns: ColumnDef<T, any, any>[]; data: T[] | undefined | null; defaultColumnFilters?: { id: string; value: string[]; }[]; defaultSorting?: { id: string; desc?: boolean; }[]; emptyRows?: boolean; enableColumnFilters?: boolean; enableFiltering?: boolean; enablePagination?: boolean; enableSearch?: boolean; enableSorting?: boolean; getRowClassName?: (rowData: T, index: number) => string; grouping?: string[]; loading?: boolean; noDataComponent?: React.ReactNode; onRowClick?: (rowData: T) => void; onSelectionChange?: (selectedRows: T[]) => void; pageSize?: number | 'all'; showRowSelectors?: boolean; tableClassName?: string; } export interface DataTableRef { clearSelection: () => void; } declare const DataTable: <T>(p: DataTableProps<T> & { ref?: React.Ref<DataTableRef>; }) => React.ReactElement; export default DataTable;