UNPKG

@czkoudy/data-table

Version:

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

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