Tree() — ui Function Reference
Architecture documentation for the Tree() function in block-viewer.tsx from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 4064c7d8_5e7c_7ceb_7f98_0bb313b0664b["Tree()"] c3ac54aa_58a5_8188_b5f8_014a382dcef3["block-viewer.tsx"] 4064c7d8_5e7c_7ceb_7f98_0bb313b0664b -->|defined in| c3ac54aa_58a5_8188_b5f8_014a382dcef3 490f6bb9_b906_4b05_666d_dac1a32689b9["useBlockViewer()"] 4064c7d8_5e7c_7ceb_7f98_0bb313b0664b -->|calls| 490f6bb9_b906_4b05_666d_dac1a32689b9 style 4064c7d8_5e7c_7ceb_7f98_0bb313b0664b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/v4/components/block-viewer.tsx lines 398–453
function Tree({ item, index }: { item: FileTree; index: number }) {
const { activeFile, setActiveFile } = useBlockViewer()
if (!item.children) {
return (
<SidebarMenuItem>
<SidebarMenuButton
isActive={item.path === activeFile}
onClick={() => item.path && setActiveFile(item.path)}
className="hover:bg-muted-foreground/15 focus:bg-muted-foreground/15 focus-visible:bg-muted-foreground/15 active:bg-muted-foreground/15 data-[active=true]:bg-muted-foreground/15 rounded-none pl-(--index) whitespace-nowrap"
data-index={index}
style={
{
"--index": `${index * (index === 2 ? 1.2 : 1.3)}rem`,
} as React.CSSProperties
}
>
<ChevronRight className="invisible" />
<File className="h-4 w-4" />
{item.name}
</SidebarMenuButton>
</SidebarMenuItem>
)
}
return (
<SidebarMenuItem>
<Collapsible
className="group/collapsible [&[data-state=open]>button>svg:first-child]:rotate-90"
defaultOpen
>
<CollapsibleTrigger asChild>
<SidebarMenuButton
className="hover:bg-muted-foreground/15 focus:bg-muted-foreground/15 focus-visible:bg-muted-foreground/15 active:bg-muted-foreground/15 data-[active=true]:bg-muted-foreground/15 rounded-none pl-(--index) whitespace-nowrap"
style={
{
"--index": `${index * (index === 1 ? 1 : 1.2)}rem`,
} as React.CSSProperties
}
>
<ChevronRight className="transition-transform" />
<Folder />
{item.name}
</SidebarMenuButton>
</CollapsibleTrigger>
<CollapsibleContent>
<SidebarMenuSub className="m-0 w-full translate-x-0 border-none p-0">
{item.children.map((subItem, key) => (
<Tree key={key} item={subItem} index={index + 1} />
))}
</SidebarMenuSub>
</CollapsibleContent>
</Collapsible>
</SidebarMenuItem>
)
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does Tree() do?
Tree() is a function in the ui codebase, defined in apps/v4/components/block-viewer.tsx.
Where is Tree() defined?
Tree() is defined in apps/v4/components/block-viewer.tsx at line 398.
What does Tree() call?
Tree() calls 1 function(s): useBlockViewer.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free