checkbox-table.tsx — ui Source File
Architecture documentation for checkbox-table.tsx, a tsx file in the ui codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4edd85ed_c078_b7b5_81da_6c03870515cf["checkbox-table.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 4edd85ed_c078_b7b5_81da_6c03870515cf --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 0e5204ae_c5d7_cc02_3599_620cb7011a92["checkbox"] 4edd85ed_c078_b7b5_81da_6c03870515cf --> 0e5204ae_c5d7_cc02_3599_620cb7011a92 3aaa9248_aca1_99ec_ddef_2b12cbbef710["table"] 4edd85ed_c078_b7b5_81da_6c03870515cf --> 3aaa9248_aca1_99ec_ddef_2b12cbbef710 style 4edd85ed_c078_b7b5_81da_6c03870515cf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { Checkbox } from "@/examples/radix/ui/checkbox"
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/examples/radix/ui/table"
const tableData = [
{
id: "1",
name: "Sarah Chen",
email: "sarah.chen@example.com",
role: "Admin",
},
{
id: "2",
name: "Marcus Rodriguez",
email: "marcus.rodriguez@example.com",
role: "User",
},
{
id: "3",
name: "Priya Patel",
email: "priya.patel@example.com",
role: "User",
},
{
id: "4",
name: "David Kim",
email: "david.kim@example.com",
role: "Editor",
},
]
export function CheckboxInTable() {
const [selectedRows, setSelectedRows] = React.useState<Set<string>>(
new Set(["1"])
)
const selectAll = selectedRows.size === tableData.length
const handleSelectAll = (checked: boolean) => {
if (checked) {
setSelectedRows(new Set(tableData.map((row) => row.id)))
} else {
setSelectedRows(new Set())
}
}
const handleSelectRow = (id: string, checked: boolean) => {
const newSelected = new Set(selectedRows)
if (checked) {
newSelected.add(id)
} else {
newSelected.delete(id)
}
setSelectedRows(newSelected)
}
return (
<Table>
<TableHeader>
<TableRow>
<TableHead className="w-8">
<Checkbox
id="select-all-checkbox"
name="select-all-checkbox"
checked={selectAll}
onCheckedChange={handleSelectAll}
/>
</TableHead>
<TableHead>Name</TableHead>
<TableHead>Email</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
{tableData.map((row) => (
<TableRow
key={row.id}
data-state={selectedRows.has(row.id) ? "selected" : undefined}
>
<TableCell>
<Checkbox
id={`row-${row.id}-checkbox`}
name={`row-${row.id}-checkbox`}
checked={selectedRows.has(row.id)}
onCheckedChange={(checked) =>
handleSelectRow(row.id, checked === true)
}
/>
</TableCell>
<TableCell className="font-medium">{row.name}</TableCell>
<TableCell>{row.email}</TableCell>
<TableCell>{row.role}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
)
}
Domain
Subdomains
Functions
Dependencies
- checkbox
- react
- table
Source
Frequently Asked Questions
What does checkbox-table.tsx do?
checkbox-table.tsx is a source file in the ui codebase, written in tsx. It belongs to the DocumentationAtlas domain, ContentSourcing subdomain.
What functions are defined in checkbox-table.tsx?
checkbox-table.tsx defines 1 function(s): CheckboxInTable.
What does checkbox-table.tsx depend on?
checkbox-table.tsx imports 3 module(s): checkbox, react, table.
Where is checkbox-table.tsx in the architecture?
checkbox-table.tsx is located at apps/v4/examples/radix/checkbox-table.tsx (domain: DocumentationAtlas, subdomain: ContentSourcing, directory: apps/v4/examples/radix).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free