31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { cn } from "@/lib/utils";
|
|
|
|
export function Table({ className, ...props }: React.TableHTMLAttributes<HTMLTableElement>) {
|
|
return <table className={cn("w-full border-collapse text-sm", className)} {...props} />;
|
|
}
|
|
|
|
export function TableHeader(props: React.HTMLAttributes<HTMLTableSectionElement>) {
|
|
return <thead {...props} />;
|
|
}
|
|
|
|
export function TableBody(props: React.HTMLAttributes<HTMLTableSectionElement>) {
|
|
return <tbody {...props} />;
|
|
}
|
|
|
|
export function TableRow({ className, ...props }: React.HTMLAttributes<HTMLTableRowElement>) {
|
|
return <tr className={cn("border-b border-[var(--border)] last:border-0", className)} {...props} />;
|
|
}
|
|
|
|
export function TableHead({ className, ...props }: React.ThHTMLAttributes<HTMLTableCellElement>) {
|
|
return (
|
|
<th
|
|
className={cn("h-10 px-3 text-left text-xs font-semibold text-[var(--muted-foreground)]", className)}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export function TableCell({ className, ...props }: React.TdHTMLAttributes<HTMLTableCellElement>) {
|
|
return <td className={cn("px-3 py-3 align-middle", className)} {...props} />;
|
|
}
|