Home / Function/ CollapsibleFileTree() — ui Function Reference

CollapsibleFileTree() — ui Function Reference

Architecture documentation for the CollapsibleFileTree() function in collapsible-file-tree.tsx from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  70f08395_78b4_d334_b2bb_b1fd7c6da412["CollapsibleFileTree()"]
  bad0a424_8c4a_e75c_b2a9_b05781113544["collapsible-file-tree.tsx"]
  70f08395_78b4_d334_b2bb_b1fd7c6da412 -->|defined in| bad0a424_8c4a_e75c_b2a9_b05781113544
  style 70f08395_78b4_d334_b2bb_b1fd7c6da412 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/examples/base/collapsible-file-tree.tsx lines 13–121

export function CollapsibleFileTree() {
  const fileTree: FileTreeItem[] = [
    {
      name: "components",
      items: [
        {
          name: "ui",
          items: [
            { name: "button.tsx" },
            { name: "card.tsx" },
            { name: "dialog.tsx" },
            { name: "input.tsx" },
            { name: "select.tsx" },
            { name: "table.tsx" },
          ],
        },
        { name: "login-form.tsx" },
        { name: "register-form.tsx" },
      ],
    },
    {
      name: "lib",
      items: [{ name: "utils.ts" }, { name: "cn.ts" }, { name: "api.ts" }],
    },
    {
      name: "hooks",
      items: [
        { name: "use-media-query.ts" },
        { name: "use-debounce.ts" },
        { name: "use-local-storage.ts" },
      ],
    },
    {
      name: "types",
      items: [{ name: "index.d.ts" }, { name: "api.d.ts" }],
    },
    {
      name: "public",
      items: [
        { name: "favicon.ico" },
        { name: "logo.svg" },
        { name: "images" },
      ],
    },
    { name: "app.tsx" },
    { name: "layout.tsx" },
    { name: "globals.css" },
    { name: "package.json" },
    { name: "tsconfig.json" },
    { name: "README.md" },
    { name: ".gitignore" },
  ]

  const renderItem = (fileItem: FileTreeItem) => {
    if ("items" in fileItem) {
      return (
        <Collapsible key={fileItem.name}>
          <CollapsibleTrigger
            render={
              <Button
                variant="ghost"
                size="sm"
                className="group hover:bg-accent hover:text-accent-foreground w-full justify-start transition-none"
              />
            }
          >
            <ChevronRightIcon className="transition-transform group-data-[state=open]:rotate-90" />
            <FolderIcon />
            {fileItem.name}
          </CollapsibleTrigger>
          <CollapsibleContent className="style-lyra:ml-4 mt-1 ml-5">
            <div className="flex flex-col gap-1">
              {fileItem.items.map((child) => renderItem(child))}
            </div>
          </CollapsibleContent>
        </Collapsible>
      )
    }
    return (
      <Button
        key={fileItem.name}

Subdomains

Frequently Asked Questions

What does CollapsibleFileTree() do?
CollapsibleFileTree() is a function in the ui codebase, defined in apps/v4/examples/base/collapsible-file-tree.tsx.
Where is CollapsibleFileTree() defined?
CollapsibleFileTree() is defined in apps/v4/examples/base/collapsible-file-tree.tsx at line 13.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free