Components
npx shadcn@latest add https://21st.dev/r/originui/tableLoading preview...
import { Checkbox } from "@/components/ui/checkbox";
import {
Table,
TableBody,
TableCell,
TableFooter,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import { useId } from "react";
const items = [
{
id: "1",
name: "Alex Thompson",
email: "alex.t@company.com",
location: "San Francisco, US",
status: "Active",
balance: "$1,250.00",
},
{
id: "2",
name: "Sarah Chen",
email: "sarah.c@company.com",
location: "Singapore",
status: "Active",
balance: "$600.00",
},
{
id: "3",
name: "James Wilson",
email: "j.wilson@company.com",
location: "London, UK",
status: "Inactive",
balance: "$650.00",
},
{
id: "4",
name: "Maria Garcia",
email: "m.garcia@company.com",
location: "Madrid, Spain",
status: "Active",
balance: "$0.00",
},
{
id: "5",
name: "David Kim",
email: "d.kim@company.com",
location: "Seoul, KR",
status: "Active",
balance: "-$1,000.00",
},
];
function Component() {
const id = useId();
return (
<div className="bg-background">
<div className="overflow-hidden rounded-lg border border-border bg-background">
<Table>
<TableHeader>
<TableRow className="hover:bg-transparent">
<TableHead className="h-11">
<Checkbox id={id} />
</TableHead>
<TableHead className="h-11">Name</TableHead>
<TableHead className="h-11">Email</TableHead>
<TableHead className="h-11">Location</TableHead>
<TableHead className="h-11">Status</TableHead>
<TableHead className="h-11 text-right">Balance</TableHead>
</TableRow>
</TableHeader>
<TableBody>
{items.map((item) => (
<TableRow key={item.id}>
<TableCell>
<Checkbox id={`table-checkbox-${item.id}`} />
</TableCell>
<TableCell className="font-medium">{item.name}</TableCell>
<TableCell>{item.email}</TableCell>
<TableCell>{item.location}</TableCell>
<TableCell>{item.status}</TableCell>
<TableCell className="text-right">{item.balance}</TableCell>
</TableRow>
))}
</TableBody>
<TableFooter className="bg-transparent">
<TableRow className="hover:bg-transparent">
<TableCell colSpan={5}>Total</TableCell>
<TableCell className="text-right">$2,500.00</TableCell>
</TableRow>
</TableFooter>
</Table>
</div>
<p className="mt-4 text-center text-sm text-muted-foreground">Card Table</p>
</div>
);
}
export { Component }Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...