Tree View
A headless tree view primitive with hierarchical data display, keyboard navigation, ARIA attributes, single/multiple selection, tri-state checkboxes with parent/child cascade, and expand/collapse state management.
File Explorer
A realistic file tree with
Icon per node, DefaultExpandDepth="1" to auto-expand the first level, and ExpandOnClick so clicking a folder toggles it.src
components
pages
App.razor
Program.cs
wwwroot
css
favicon.ico
README.md
.gitignore
Multi-Selection
Set
SelectionMode="TreeSelectionMode.Multiple" to allow selecting multiple nodes. Bind with @bind-SelectedValues to track selected items as a HashSet<string>.Frontend
React
Vue
Angular
Blazor
Backend
.NET
Node.js
Python
DevOps
Docker
Kubernetes
Selected (0): none
Checkboxes
Set
Checkable="true" to enable tri-state checkboxes. Parent nodes automatically reflect child check state with indeterminate support. Set CheckStrictly="true" to disable cascade.Select All
Read
Write
Delete
Checked: none
Search & Filter
Set
ShowSearch="true" with data-driven mode (Items, TextField, ValueField, ChildrenProperty) for built-in filtering. Matching nodes and their ancestors are shown while typing.Engineering
Frontend
Backend
Infrastructure
Quality Assurance
Design
UX Research
UI Design
Brand
Product
Product Management
Analytics
Connector Lines
Set
ShowLines="true" to render connector lines between parent and child nodes. Useful for visualizing organizational hierarchies.CEO
CTO
Engineering Lead
Architect
CFO
Accounting
Finance
CMO
Marketing
Sales
Disabled Nodes
Set
Disabled="true" on a BbTreeItem to prevent selection and interaction. Disabled nodes appear dimmed and are skipped during keyboard navigation.Active Projects
Project Alpha
Project Beta
Archived Projects
Legacy App
App v1.0
Restricted Access
Anatomy
<BbTreeView> <!-- root: role="tree", manages state -->
<BbTreeItem Value="parent"> <!-- role="treeitem", aria-expanded -->
<NodeContent>...</NodeContent> <!-- node row content -->
<ChildContent> <!-- nested children -->
<BbTreeItem Value="child"> <!-- role="treeitem" -->
<NodeContent>...</NodeContent>
</BbTreeItem>
</ChildContent>
</BbTreeItem>
</BbTreeView>