UNPKG

@neuctra/ui

Version:

A modern, responsive, customizable React UI component library powered by Tailwind CSS and Vite.

60 lines (59 loc) 1.69 kB
import { default as React, ReactNode } from 'react'; interface Column { key: string; label: string; sortable?: boolean; icon?: ReactNode; width?: string | number; align?: "left" | "center" | "right"; headerClassName?: string; cellClassName?: string; render?: (value: any, row: Record<string, any>) => ReactNode; } interface TableProps { columns: Column[]; data: Record<string, any>[]; className?: string; pagination?: boolean; rowsPerPage?: number; colors?: { headerBg?: string; headerText?: string; rowBg?: string; rowText?: string; borderColor?: string; hoverBg?: string; paginationBg?: string; paginationText?: string; evenRowBg?: string; selectedRowBg?: string; }; borderRadius?: { table?: string; header?: string; pagination?: string; }; sortable?: boolean; defaultSort?: { column: string; direction: "asc" | "desc"; }; bodyAlign?: "left" | "center" | "right"; headerAlign?: "left" | "center" | "right"; rowSelection?: { enabled?: boolean; onSelect?: (selectedRows: Record<string, any>[]) => void; selectionColumnWidth?: string; selectionColumnHeader?: ReactNode; }; emptyState?: ReactNode; onRowClick?: (row: Record<string, any>, index: number) => void; rowClassName?: (row: Record<string, any>, index: number) => string; cellPadding?: string; headerCellPadding?: string; stickyHeader?: boolean; maxHeight?: string; scrollShadow?: boolean; } export declare const Table: React.FC<TableProps>; export {};