@keenmate/web-treeview
A framework-agnostic treeview web component with drag & drop, search, context menus, and flexible LTree data structure. Works with any framework or vanilla JS.
Framework Agnostic
Native web component that works with any framework — React, Vue, Svelte, Angular, or vanilla JS
LTree Structure
Path-based hierarchical data structure inspired by PostgreSQL LTree for efficiency
FlexSearch Integration
Built-in search with async indexing and node filtering
Drag & Drop
Reorder nodes with drop zones, cross-tree transfers, and validation callbacks
125+ CSS Variables
Full theming control with CSS custom properties and --base variable fallbacks
Virtual Scrolling
Flat and virtual rendering modes for optimal performance with large datasets
Quick Installation
Get started in seconds
Package Manager
Import
Usage
Simple to Use
Import the package to register the <web-treeview> custom element, then use it in any HTML page.
Zero Framework Dependencies
Built with vanilla TypeScript. No React, Vue, or Svelte required. Works everywhere custom elements are supported.
Shadow DOM Encapsulation
Styles are encapsulated in Shadow DOM. Theme via CSS custom properties on the host element.
Example Usage
🌐
Framework Agnostic
🔍
Search & Filter
🔄
Drag & Drop
⚡
Virtual Scrolling