@czkoudy/data-table
Version:
A React data table component with pagination, sorting, and filtering capabilities.
58 lines (51 loc) • 1.72 kB
TypeScript
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 { }