React Aria

Unstyled, accessible React hooks and components for building your own design system.

Library
npm
v3.51.0
15,800stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
88/100Excellent
Development Activity100
Maintenance84
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
91/100Excellent
Architecture92
Code Quality93
Innovation90
Learning Curve80

React Aria is Adobe’s library of unstyled React hooks and components that provide the behavior, accessibility, and interactions needed to build high-quality UI components — without imposing any rendering, DOM structure, or styling. Each hook returns prop objects you spread onto your own elements, so you keep full control of markup and CSS while React Aria handles WAI-ARIA semantics, keyboard navigation, focus management, touch and pointer interactions, and internationalization.

Used by teams building custom design systems, it covers dozens of patterns — buttons, menus, comboboxes, date pickers, tables, sliders, dialogs, and more — each tested across a wide range of screen readers, browsers, and devices. React Aria pairs with React Stately for state management and can be adopted incrementally, one component at a time.

What You Get

  • 50+ hooks and unstyled components covering common UI patterns (buttons, menus, comboboxes, date pickers, tables, sliders, dialogs, and more)
  • WAI-ARIA compliant accessibility with full screen reader and keyboard navigation support, tested across many devices and assistive technologies
  • Adaptive mouse, touch, pointer, and keyboard interaction handling, plus focus management and overlay positioning
  • Built-in internationalization for 30+ languages, right-to-left layouts, and localized date and number formatting
  • A companion react-aria-components package offering higher-level styled-agnostic components, plus test utilities for consumers

Common Use Cases

  • Building a custom design system or component library from scratch with your own styling but production-grade accessibility
  • Replacing inaccessible in-house widgets with battle-tested behavior without changing your visual design
  • Implementing complex interactive patterns like comboboxes, date pickers, and data tables that are hard to make accessible by hand

Under The Hood

Architecture React Aria lives in the adobe/react-spectrum monorepo alongside React Stately (state) and React Spectrum (Adobe’s styled implementation). Its core is a set of ~55 scoped @react-aria/* behavior packages (button, combobox, datepicker, listbox, table, overlays, interactions, i18n, and more), aggregated into the react-aria umbrella package whose exports/index.ts re-exports each hook. The design pattern is prop-getter hooks: a hook such as useButton(props, ref) computes ARIA attributes, event handlers, and interaction state, returning a buttonProps object the caller spreads onto its own element. Behavior is layered on top of React Stately state hooks and @react-types shared TypeScript definitions, with @internationalized/* packages providing framework-agnostic date, number, and string localization.

Tech Stack Written primarily in TypeScript (~52% of the repo) with React declared as a peer dependency. Runtime dependencies are deliberately small — @internationalized/date, @internationalized/number, clsx, aria-hidden, use-sync-external-store, and @swc/helpers. The monorepo builds with Parcel and is tested with Jest 30 and Testing Library, including server-side-rendering and Parcel integration test suites.

Code Quality Quality is high and thoroughly validated. Test coverage is extensive — the react-aria-components package alone ships 78 test files, and a dedicated @react-aria/test-utils package exposes reusable interaction testers (menu, select, table, gridlist, etc.) so consumers can test their own components. TypeScript types are strict and shared through @react-types, naming is consistent, and every source file carries the Apache-2.0 header. SSR and Strict Mode are exercised in CI.

API Design The public API is highly ergonomic and consistent: hooks follow a uniform useX(props, ref) signature returning namespaced prop objects, and types follow predictable AriaXProps / XAria conventions. Documentation at react-spectrum.adobe.com is exceptional, with runnable examples for every hook. The trade-off is some boilerplate — you supply the ref and render the DOM yourself — which the newer react-aria-components package reduces by offering assembled components while preserving styling freedom.

Used by 8 apps in this directory

TypeScript
94%
MIT

Actual

Invoicing Finance

28,224

Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.

View details
93
Repo Health
85
Technical
77
Dependency
Built with
TypeScript94%
Updated yesterday
Java
34%
Apache 2.0

Enso

Analytics · Data Engineering · Low Code Platforms

7,437

A visual and textual programming platform for data prep and analysis where the node graph and the underlying Enso code are always perfectly in sync, built by an Alteryx co-founder on a GraalVM engine.

View details
70
Repo Health
90
Technical
62
Dependency
Built with
Java34%
TypeScript27%
Scala26%
Updated 1 weeks ago
TypeScript
71%
Other

highlight.io

Developer Tools · Analytics · Monitoring

9,367

Open-source full-stack monitoring that unifies session replay, error tracking, logging, and distributed tracing so you can stop context-switching between tools.

View details
69
Repo Health
78
Technical
66
Dependency
Built with
TypeScript71%
Go16%
Updated yesterday
Python
61%
Apache 2.0

marimo

Developer Tools · Data Engineering

22,393

A reactive Python notebook that eliminates hidden state, runs reproducibly, and deploys as a web app or script — stored as pure Python, built for the AI era.

View details
90
Repo Health
91
Technical
66
Dependency
Built with
Python61%
TypeScript37%
Updated today
TypeScript
86%
MIT

medusa

Ecommerce

35,900

The most flexible open-source commerce platform — build B2C, B2B, and marketplace applications with modular, composable commerce primitives.

View details
94
Repo Health
87
Technical
65
Dependency
Built with
TypeScript86%
JavaScript14%
Updated today
Python
47%
Other

Arize Phoenix

Devops · Analytics · Monitoring

11,105

Open-source AI observability platform for tracing, evaluating, and debugging LLM applications with built-in intelligence and MCP support.

View details
90
Repo Health
88
Technical
68
Dependency
Built with
Python47%
TypeScript41%
Updated today
TypeScript
84%
MIT

Plasmic

CMS · Low Code Platforms · No Code Platforms

6,961

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
65
Dependency
Built with
TypeScript84%
Updated today
TypeScript
97%
Other

Rocket.Chat

Team Chat

46,002

The secure, self-hosted team communications platform for organizations that cannot compromise on data sovereignty.

View details
96
Repo Health
79
Technical
69
Dependency
Built with
TypeScript97%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search