Renders hierarchical data as an expandable, indented tree. Nodes can show icons, support selection, and accept a custom row snippet for full layout control.
Pass a nested TreeNode[] array to data. Nodes with children are expandable.
Use the row snippet to render anything per node — avatars, badges, action buttons.
Update selectedId from onNodeClick. With dnd enabled, TreeView validates proposed moves and calls onMove without changing data. The destination index already accounts for removal from the original parent. Persist the change or replace your tree state in that callback.
No moves yet.
Open the folders, then drag Proposal.md. Release.md is protected by canDrop.