/** * Table Components * * 🔒 STYLE LOCKED - MUST use .igny8-table-compact class on all tables. * See DESIGN_SYSTEM.md for complete table styling guidelines. */ import { ReactNode } from "react"; // Props for Table interface TableProps { children: ReactNode; // Table content (thead, tbody, etc.) className?: string; // Optional className for styling } // Props for TableHeader interface TableHeaderProps { children: ReactNode; // Header row(s) className?: string; // Optional className for styling } // Props for TableBody interface TableBodyProps { children: ReactNode; // Body row(s) className?: string; // Optional className for styling } // Props for TableRow interface TableRowProps { children: ReactNode; // Cells (th or td) className?: string; // Optional className for styling } // Props for TableCell interface TableCellProps { children: ReactNode; // Cell content isHeader?: boolean; // If true, renders as , otherwise className?: string; // Optional className for styling style?: React.CSSProperties; // Optional inline styles for width, fontSize, etc. } // Table Component const Table: React.FC = ({ children, className }) => { return {children}
; }; // TableHeader Component const TableHeader: React.FC = ({ children, className }) => { return {children}; }; // TableBody Component const TableBody: React.FC = ({ children, className }) => { return {children}; }; // TableRow Component const TableRow: React.FC = ({ children, className }) => { return {children}; }; // TableCell Component const TableCell: React.FC = ({ children, isHeader = false, className, style, }) => { const CellTag = isHeader ? "th" : "td"; return {children}; }; export { Table, TableHeader, TableBody, TableRow, TableCell };