Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Data display

Navigate hierarchical data.

Hierarchical tree view for displaying and interacting with nested data structures.

Key features:

  • Selection modes: single, multiple, checkbox
  • Drag-and-drop reordering and inline label editing
  • Built-in showSearch and lazy-loaded children
  • virtualScroll for large datasets
  • Expand/collapse animations: fade, scroll, none
Loading preview…
When to use it
  • File and folder explorers
  • Navigation sidebars
  • Category / taxonomy browsers
  • Permission trees (checkbox selection)
Properties
PropTypeDefaultDescription
nodesTreeNode[]Array of tree nodes with id, label, icon, children, etc.
selectionMode'none' | 'single' | 'multiple' | 'checkbox''none'How nodes can be selected
selectedIdsstring[]Controlled set of selected node IDs
onSelectionChange(ids: string[]) => voidCalled when selection changes
expandedIdsstring[]Controlled set of expanded node IDs
defaultExpandedIdsstring[]Initially expanded nodes (uncontrolled)
expandAllbooleanfalseExpand all nodes initially
size'compact' | 'normal' | 'large''normal'Row height and font size
semantic'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info'Accent color
showSearchbooleanfalseShow a search bar above the tree
allowDragDropbooleanfalseEnable drag-and-drop reordering
allowLabelEditbooleanfalseEnable inline label editing (double-click)
virtualScrollbooleanfalseEnable virtual scrolling for large trees
animation'none' | 'fade' | 'scroll''none'Expand/collapse animation style
onNodeClick(node: TreeNode) => voidFired on single click
onNodeMove(nodeId, targetId, position) => voidCalled after drag-and-drop reorder
Notes
  • TreeNode supports lazyLoad + onLoad for async child loading.
  • Virtual scrolling requires containerHeight and itemHeight props.
  • Drag-and-drop fires onNodeMove with before/after/child position.
Presets