Copy to clipboard
- src
- components
- Button.astro
- Card.astro
-
- index.ts
-
Installation
Copy to clipboard
npx bearnie add tree
npx bearnie add tree
bunx bearnie add tree
bunx bearnie add tree
pnpm dlx bearnie add tree
pnpm dlx bearnie add tree
yarn dlx bearnie add tree
yarn dlx bearnie add tree
Copy to clipboard
import Tree from "@/components/ui/tree/Tree.astro";
import TreeItem from "@/components/ui/tree/TreeItem.astro";
import TreeItemTrigger from "@/components/ui/tree/TreeItemTrigger.astro";
import TreeItemContent from "@/components/ui/tree/TreeItemContent.astro";
import TreeItemChildren from "@/components/ui/tree/TreeItemChildren.astro";
Usage
import {
Tree,
TreeItem,
TreeItemTrigger,
TreeItemContent,
TreeItemChildren,
} from "@/components/ui/tree"
<Tree>
<TreeItem>
<TreeItemContent>
<TreeItemTrigger />
<span>Parent Item</span>
</TreeItemContent>
<TreeItemChildren>
<TreeItem>
<TreeItemContent class="ml-6">Child Item</TreeItemContent>
</TreeItem>
</TreeItemChildren>
</TreeItem>
</Tree>
Examples
Simple list
Copy to clipboard
- Documents
- Resume.pdf
- Cover Letter.docx
-
- Images
- photo.jpg
-
Default expanded
Copy to clipboard
- Open by default
- Visible child
-
Props
Tree
Root container for the tree structure.
| Prop | Type | Default | Description |
|---|---|---|---|
| class | string | - | Additional CSS classes |
TreeItem
Individual tree node that can have children.
| Prop | Type | Default | Description |
|---|---|---|---|
| defaultOpen | boolean | false | Whether children are initially visible |
| class | string | - | Additional CSS classes |
TreeItemTrigger
Expand/collapse button with folder icons that change based on state.
| Prop | Type | Default | Description |
|---|---|---|---|
| showFolderIcon | boolean | true | Show folder/folder-open icons |
| class | string | - | Additional CSS classes |
TreeItemContent
The visible content/label of the tree item.
TreeItemChildren
Container for nested tree items. Renders as hidden until parent is expanded.
Keyboard navigation
- Arrow Right: Expand collapsed item
- Arrow Left: Collapse expanded item
- Tab: Move focus between items