data-table-column-header.tsx — ui Source File
Architecture documentation for data-table-column-header.tsx, a tsx file in the ui codebase. 5 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR d08e884e_d8e0_d508_139d_37ecbc7abcd9["data-table-column-header.tsx"] eff11612_0b61_f7f9_e13e_9117a7062bb3["react-table"] d08e884e_d8e0_d508_139d_37ecbc7abcd9 --> eff11612_0b61_f7f9_e13e_9117a7062bb3 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] d08e884e_d8e0_d508_139d_37ecbc7abcd9 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"] d08e884e_d8e0_d508_139d_37ecbc7abcd9 --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81 aa2f3ec6_f291_3763_88ec_65a3f5ad5939["button"] d08e884e_d8e0_d508_139d_37ecbc7abcd9 --> aa2f3ec6_f291_3763_88ec_65a3f5ad5939 194a9418_8170_2169_6f94_b2f555b74f26["dropdown-menu"] d08e884e_d8e0_d508_139d_37ecbc7abcd9 --> 194a9418_8170_2169_6f94_b2f555b74f26 d88ec880_a12a_ff06_0114_176bf18e71fc["columns.tsx"] d88ec880_a12a_ff06_0114_176bf18e71fc --> d08e884e_d8e0_d508_139d_37ecbc7abcd9 style d08e884e_d8e0_d508_139d_37ecbc7abcd9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { Column } from "@tanstack/react-table"
import { ArrowDown, ArrowUp, ChevronsUpDown, EyeOff } from "lucide-react"
import { cn } from "@/lib/utils"
import { Button } from "@/registry/new-york/ui/button"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/registry/new-york/ui/dropdown-menu"
interface DataTableColumnHeaderProps<TData, TValue>
extends React.HTMLAttributes<HTMLDivElement> {
column: Column<TData, TValue>
title: string
}
export function DataTableColumnHeader<TData, TValue>({
column,
title,
className,
}: DataTableColumnHeaderProps<TData, TValue>) {
if (!column.getCanSort()) {
return <div className={cn(className)}>{title}</div>
}
return (
<div className={cn("flex items-center space-x-2", className)}>
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button
variant="ghost"
size="sm"
className="-ml-3 h-8 data-[state=open]:bg-accent"
>
<span>{title}</span>
{column.getIsSorted() === "desc" ? (
<ArrowDown />
) : column.getIsSorted() === "asc" ? (
<ArrowUp />
) : (
<ChevronsUpDown />
)}
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="start">
<DropdownMenuItem onClick={() => column.toggleSorting(false)}>
<ArrowUp className="h-3.5 w-3.5 text-muted-foreground/70" />
Asc
</DropdownMenuItem>
<DropdownMenuItem onClick={() => column.toggleSorting(true)}>
<ArrowDown className="h-3.5 w-3.5 text-muted-foreground/70" />
Desc
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem onClick={() => column.toggleVisibility(false)}>
<EyeOff className="h-3.5 w-3.5 text-muted-foreground/70" />
Hide
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</div>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- dropdown-menu
- lucide-react
- react-table
- utils
Source
Frequently Asked Questions
What does data-table-column-header.tsx do?
data-table-column-header.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, UIPrimitives subdomain.
What functions are defined in data-table-column-header.tsx?
data-table-column-header.tsx defines 1 function(s): DataTableColumnHeader.
What does data-table-column-header.tsx depend on?
data-table-column-header.tsx imports 5 module(s): button, dropdown-menu, lucide-react, react-table, utils.
What files import data-table-column-header.tsx?
data-table-column-header.tsx is imported by 1 file(s): columns.tsx.
Where is data-table-column-header.tsx in the architecture?
data-table-column-header.tsx is located at deprecated/www/app/(app)/examples/tasks/components/data-table-column-header.tsx (domain: ComponentRegistry, subdomain: UIPrimitives, directory: deprecated/www/app/(app)/examples/tasks/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free