downshift-js/downshift

🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 4th, 2026
Created on July 25th, 2017
Open Issues & Pull Requests: 57 (+0)
GitHub issues: Enabled
Number of forks: 936
Total Stargazers: 12,307 (+0)
Total Subscribers: 78 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 20.9 days
Mean response time: 61.2 days
90th percentile: 211.7 days
Tracked items: 55

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "released" is answered fastest, typically in about 3 days, while "question" waits about 4 weeks. Only 4% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 507 days
Stale 30+ days: 12
Stale 90+ days: 11

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (12)
  • help wanted (11)
  • released (10)
  • bug (7)
  • docs (4)
  • needs investigation (4)
  • waiting for author (4)
  • enhancement (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Downshift is a set of React primitives that help developers build accessible autocomplete, combobox, and select dropdown components.

The library addresses the challenge of creating form components that are both accessible and flexible while adhering to WAI-ARIA design patterns. It provides stateful logic through React hooks—useSelect for custom select components, useCombobox for autocomplete inputs, and useTagGroup for tag-based selections—allowing developers to build the UI however they want while the hooks handle accessibility and interaction logic. A render-prop based Downshift component is also available as an alternative approach, though the hooks are the recommended path forward.

Teams building custom dropdown or autocomplete experiences should choose this library if accessibility compliance is a requirement. It suits projects where developers need fine-grained control over component appearance and behavior rather than using pre-styled component libraries.

The project maintains active development with regular improvements to the hooks. Issues are addressed and new use cases are considered for implementation. The codebase shows ongoing refinement of the ARIA pattern implementations and migration support for users upgrading between versions.