import type { PropsWithChildren, ReactNode } from 'react' interface TableProps { body: ReactNode head?: ReactNode className?: string containerClassName?: string borderless?: boolean headTrClasses?: string bodyClassName?: string style?: React.StyleHTMLAttributes } /** * @deprecated Use `Table` from `ui` instead */ function Table({ body, head, className, containerClassName, borderless, headTrClasses, bodyClassName, style, }: TableProps) { let containerClasses = ['table-container'] if (containerClassName) containerClasses.push(containerClassName) if (borderless) containerClasses.push('table-container--borderless') let classes = ['table'] if (className) classes.push(className) return (
{head}{body}
) } interface ThProps { className?: string style?: React.CSSProperties } /** * @deprecated Use `TableHeader` from `ui` instead */ const Th = ({ children, className, style }: PropsWithChildren) => { const classes = ['p-3 px-4 text-left'] if (className) classes.push(className) return ( {children} ) } interface TrProps { className?: string hoverable?: boolean style?: React.CSSProperties onClick?: () => void } /** * @deprecated Use `TableRow` from `ui` instead */ const Tr = ({ children, className, onClick, style, hoverable }: PropsWithChildren) => { let classes = [className] if (onClick || hoverable) classes.push('tr--link') return ( {children} ) } interface TdProps extends React.HTMLProps { colSpan?: number className?: string style?: React.CSSProperties align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined } /** * @deprecated Use `TableCell` from `ui` instead */ const Td = ({ children, colSpan, className, style, ...rest }: PropsWithChildren) => { return ( {children} ) } Table.th = Th Table.td = Td Table.tr = Tr export default Table