# lukasbach/react-complex-tree

Unopinionated Accessible Tree Component with Multi-Select and Drag-And-Drop

Repository: https://github.com/lukasbach/react-complex-tree
Canonical: https://ross.abutalabs.com/products/react-complex-tree
Homepage: https://rct.lukasbach.com
Language: TypeScript
License: MIT
License Family: permissive
Topics: react, component, tree, accessible, dnd, drag-and-drop, search, rename, keyboard, hotkeys, unopinionated, types, typescript, draggable
Last push: 2026-08-24T06:26:31+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 1937, "days_push": 9, "days_rel": 9, "gap_med": 81.5, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1381, forks 99 (observed 2026-08-28T04:04:33.948670+00:00)

## What it is
React Complex Tree is an unopinionated, accessible React tree view component with multi-select and drag-and-drop support. Rendering is fully customizable, it has zero dependencies, and it conforms to the W3C accessible tree specification with full keyboard controls.

## Use cases
- render a file explorer tree in react
- accessible tree component with keyboard navigation
- drag and drop tree items between trees
- multi-select nodes in a hierarchical view
- rename tree items inline
- custom styled tree view without opinionated css
- build a folder navigation sidebar in react

## When to choose
- you need a React tree view with drag-and-drop and multi-selection
- accessibility and W3C tree keyboard interactions are requirements
- you want full control over rendering and styling with zero extra dependencies

## When to avoid
- you are starting a new project and can use the successor Headless Tree library instead
- you need a non-React framework tree component
- you want a pre-styled, opinionated tree widget out of the box

## Facets
- artifact type: library
- maturity: active
- function: ui-components, accessibility
- domain: frontend, web-development, web-design
- platform: cross-platform
- tags: react, tree-view, drag-and-drop, multi-select, keyboard-navigation, headless-ui, typescript, wai-aria, web-server

## Member repositories
- lukasbach/react-complex-tree (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.948670+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:11.276995+00:00, confidence not recorded.
  - readme: https://github.com/lukasbach/react-complex-tree (fetched 2026-08-28T04:04:33.948670+00:00, sha 3c9fafff991f)
  - homepage: https://rct.lukasbach.com (fetched 2026-08-29T11:56:31.032136+00:00, sha 08ce7b932340)
  - site_page: https://rct.lukasbach.com/docs/getstarted (fetched 2026-08-29T11:56:31.035414+00:00, sha 93879cab9b1c)
  - site_page: https://rct.lukasbach.com/docs/faq (fetched 2026-08-29T11:56:31.037572+00:00, sha 047b214026ae)
  - site_page: https://rct.lukasbach.com/docs/api (fetched 2026-08-29T11:56:31.040177+00:00, sha 69f34f7b0e16)
  - site_page: https://rct.lukasbach.com/docs/guides/uncontrolled-environment (fetched 2026-08-29T11:56:31.042151+00:00, sha b825f50012ef)
  - registry_npm: https://registry.npmjs.org/react-complex-tree (fetched 2026-08-29T11:56:31.043914+00:00, sha eccb2281f93a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
