'use client' import clsx from 'clsx' import type React from 'react' import { createContext, useContext, useState } from 'react' import { Link } from './link' const TableContext = createContext<{ bleed: boolean; dense: boolean; grid: boolean; striped: boolean }>({ bleed: false, dense: false, grid: false, striped: false, }) export function Table({ bleed = false, dense = false, grid = false, striped = false, className, children, ...props }: { bleed?: boolean; dense?: boolean; grid?: boolean; striped?: boolean } & React.ComponentPropsWithoutRef<'div'>) { return ( }>
{children}
) } export function TableHead({ className, ...props }: React.ComponentPropsWithoutRef<'thead'>) { return } export function TableBody(props: React.ComponentPropsWithoutRef<'tbody'>) { return } const TableRowContext = createContext<{ href?: string; target?: string; title?: string }>({ href: undefined, target: undefined, title: undefined, }) export function TableRow({ href, target, title, className, ...props }: { href?: string; target?: string; title?: string } & React.ComponentPropsWithoutRef<'tr'>) { let { striped } = useContext(TableContext) return ( }> ) } export function TableHeader({ className, ...props }: React.ComponentPropsWithoutRef<'th'>) { let { bleed, grid } = useContext(TableContext) return ( ) } export function TableCell({ className, children, ...props }: React.ComponentPropsWithoutRef<'td'>) { let { bleed, dense, grid, striped } = useContext(TableContext) let { href, target, title } = useContext(TableRowContext) let [cellRef, setCellRef] = useState(null) return ( {href && ( )} {children} ) }