Tree View
The Tree View displays hierarchical data with expandable/collapsible branches and selectable items.
Basic Usage
- README.md
import { Tree, TreeBranch, TreeItem, TreeItemContent, TreeIndicator, TreeGroup } from "@paramanu/navigation-react"
export default function App() {return ( <Tree> <TreeBranch expanded> <TreeItemContent> <TreeIndicator expanded /> src </TreeItemContent> <TreeGroup> <TreeItem>index.ts</TreeItem> </TreeGroup> </TreeBranch> <TreeItem>README.md</TreeItem> </Tree>)}<ul class="pm-tree pm-tree--md" role="tree"><li class="pm-tree__branch pm-tree__branch--expanded" role="treeitem" aria-expanded="true"> <div class="pm-tree__item-content"> <span class="pm-tree__indicator pm-tree__indicator--expanded" aria-hidden="true"></span> src </div> <ul class="pm-tree__group" role="group"> <li class="pm-tree__item" role="treeitem">index.ts</li> </ul></li><li class="pm-tree__item" role="treeitem">README.md</li></ul>Accessibility
| Key | Action |
|---|---|
ArrowDown | Move to next visible item |
ArrowUp | Move to previous visible item |
ArrowRight | Expand branch / move to first child |
ArrowLeft | Collapse branch / move to parent |
Home | Move to first item |
End | Move to last visible item |
- Uses
role="tree",role="treeitem", androle="group". - Branches use
aria-expanded.
Tree Props
| Prop | Type | Default | Description |
|---|---|---|---|
size | "sm" | "md" | "md" | Size preset |
TreeItem Props
| Prop | Type | Default | Description |
|---|---|---|---|
selected | boolean | false | Selected state |
disabled | boolean | false | Disabled state |
TreeBranch Props
| Prop | Type | Default | Description |
|---|---|---|---|
expanded | boolean | false | Expanded state |
CSS Classes
| Class | Description |
|---|---|
pm-tree | Root element |
pm-tree__branch | Branch node |
pm-tree__branch--expanded | Expanded branch |
pm-tree__item | Leaf item |
pm-tree__item--selected | Selected item |
pm-tree__group | Nested group |
pm-tree__indicator | Expand/collapse icon |