UNPKG

fenextjs-component

Version:
59 lines (58 loc) • 2.3 kB
import React, { ReactNode } from "react"; import { PaginationProps } from "../Pagination"; import { TableActionCheckboxProps } from "../TableActionCheckbox"; import { _TProps } from "fenextjs-interface"; import { CollapseProps } from "../Collapse/Simple"; import { ErrorFenextjs } from "fenextjs-error"; export interface TableClassProps { classNameContent?: string; classNameContentTable?: string; classNameTable?: string; classNameTHead?: string; classNameTBody?: string; classNameThr?: string; classNameTr?: string; classNameTh?: string; classNameTd?: string; classNameTdLabelCollapse?: string; classNameContentPagination?: string; classNameLoader?: string; } export type TableHeader<T> = { id: keyof T; th: ReactNode; thText?: string; parse?: (data: T) => any; columnOptions?: { orderBy?: boolean; }; defaultShowHidden?: "show" | "hidden"; colNewTr?: boolean; isCollapse?: boolean; collapseProps?: Omit<CollapseProps, "children">; className?: string; }[]; export interface TableBaseProps<T> extends _TProps { name: string; items: T[]; nItems?: number; error?: ErrorFenextjs; header: TableHeader<T>; pagination?: Omit<PaginationProps, "nItems">; loader?: boolean; typeLoader?: "spinner" | "line"; useCheckbox?: boolean; onChecked?: (items: T[]) => void; onOrderBy?: (order: { id: keyof T; order: "ASC" | "DESC"; }) => void; notResult?: ReactNode; showPagination?: boolean; actionsCheckbox?: Omit<TableActionCheckboxProps<T>, "actionAllCheckbox" | "data">; actionsCheckboxSelectAll?: ReactNode; restartPaginationInRenderTable?: boolean; } export interface TableProps<T> extends TableClassProps, TableBaseProps<T> { } export declare const Table: <T>({ classNameContent, classNameContentTable, classNameTable, classNameTHead, classNameTBody, classNameThr, classNameTr, classNameTh, classNameTd, classNameTdLabelCollapse, classNameContentPagination, classNameLoader, name, items, header, error, nItems, pagination, showPagination, loader, typeLoader, useCheckbox, onOrderBy, restartPaginationInRenderTable, onChecked, notResult, actionsCheckbox, actionsCheckboxSelectAll, ...props }: TableProps<T>) => React.JSX.Element;