UNPKG

@table-library/react-table-library

Version:
57 lines (56 loc) 2.19 kB
import * as React from 'react'; import { TableNode, TableProps, RowProps } from '@table-library/react-table-library/types/table'; import { RowHeight } from '@table-library/react-table-library/types/virtualized'; import { ColumnSortProps } from '@table-library/react-table-library/types/sort'; import { ColumnSelectProps } from '@table-library/react-table-library/types/select'; import { ColumnTreeProps } from '@table-library/react-table-library/types/tree'; import { ColumnResizeProps } from '@table-library/react-table-library/types/resize'; export declare type Column<T extends TableNode> = { label: string; renderCell: (node: T) => React.ReactNode; footer?: string; resize?: ColumnResizeProps; sort?: ColumnSortProps; select?: ColumnSelectProps; tree?: ColumnTreeProps<T>; pinLeft?: boolean; pinRight?: boolean; hide?: boolean; cellProps?: Record<string, any>; }; export declare type VirtualizedOptions = { rowHeight: RowHeight; itemCount?: number; }; export declare type TableOptions = { renderBeforeTable?: () => React.ReactNode; renderAfterTable?: () => React.ReactNode; }; export declare type RowOptions<T extends TableNode> = { renderBeforeRow?: (node: T, index: number) => React.ReactNode; renderAfterRow?: (node: T, index: number) => React.ReactNode; }; export declare type RowPropsAsObject<T extends TableNode> = Omit<RowProps<T>, 'item' | 'children'>; export declare type CompactTableProps<T extends TableNode> = TableProps<T> & { columns: Column<T>[]; tableOptions?: TableOptions; rowProps?: RowPropsAsObject<T>; rowOptions?: RowOptions<T>; virtualizedOptions?: VirtualizedOptions; }; export declare type NormalTableProps<T extends TableNode> = CompactTableProps<T> & { tableList: T[]; }; export declare type VirtualizedTableProps<T extends TableNode> = CompactTableProps<T> & { tableList: T[]; }; export declare type Internals<T extends TableNode> = { index: number; style: any; data: { items: T[]; }; }; export declare type InternalsObject<T extends TableNode> = { internals: Internals<T>; };