react-select
The flexible, accessible Select control for React with multi-select, async, and creatable options.
Repository Health
Technical Analysis
React-Select is the de facto Select control for React, providing a powerful dropdown/combobox component that works out of the box while remaining deeply customizable. It supports single and multi-value selection, searchable filtering, option grouping, async data loading, and user-creatable options.
Built with a modular architecture and an Emotion-powered styling API, react-select lets you override any inner component, control state through props, and tailor look and behavior to your design system. It ships full TypeScript types and accessibility support, making rich select experiences straightforward to build.
What You Get
- A single, drop-in
Selectcomponent with searchable, keyboard-navigable options - Multi-select, option grouping, and clearable/searchable behavior via simple boolean props
- Async and creatable variants (
AsyncSelect,CreatableSelect) for loading and adding options on the fly - A component-injection API to replace or wrap any inner element (Control, Menu, Option, etc.)
- An Emotion-based styling API plus a themeable default design and full TypeScript types
Common Use Cases
- Building searchable dropdowns and comboboxes in forms and dashboards
- Multi-select tag/chip inputs for filtering and categorization
- Async-loaded pickers that fetch options from an API as the user types
- Creatable inputs that let users add new options inline (tags, labels, emails)
Under The Hood
Architecture
The library is a Yarn-workspaces monorepo whose published react-select package centers on a single large controlled component in src/Select.tsx (~2,250 lines) that owns focus, keyboard navigation, filtering, and menu state. src/index.ts re-exports a stateManager-wrapped default plus AsyncSelect, CreatableSelect, hooks (useStateManager, useAsync, useCreatable), and a rich set of prop/type exports; inner UI lives in src/components/* (Control, Menu, Option, MultiValue, indicators) with accessibility helpers in src/internal and src/accessibility. Higher-level behaviors (async loading, creatable) are layered as composable wrappers over the base component rather than baked into it.
Tech Stack
Written in TypeScript and built with Preconstruct, react-select declares React/React-DOM 16.8–19 as peer dependencies and pulls in Emotion (@emotion/react, @emotion/cache) for styling, @floating-ui/dom for menu positioning, react-transition-group for animation, memoize-one for memoized computation, and use-isomorphic-layout-effect for SSR-safe effects. Tooling includes Babel, ESLint, Prettier, Jest, and Cypress, with Storybook and a docs site in the workspace.
Code Quality
The codebase is strongly typed with extensive generics (Option, IsMulti, Group extends GroupBase) threaded through the public API for precise inference. It carries a real test suite — Jest unit/snapshot tests under packages/react-select/src/__tests__ (Select, Async, AsyncCreatable, Creatable, StateManaged) plus Cypress end-to-end coverage — and separates concerns cleanly across small component and internal helper modules. The main Select.tsx is large, which concentrates complexity, but naming and module boundaries are consistent.
API Design
The developer experience is a key strength: a single import Select from 'react-select' yields a working searchable dropdown, and common behaviors are toggled with intuitive boolean props (isMulti, isSearchable, isClearable). Power users get a component-injection API to override any inner element and a structured Emotion styles API for theming, so the library scales from trivial usage to deep customization. Comprehensive docs at react-select.com and full TypeScript types keep boilerplate minimal.
Used by 42 apps in this directory
ai-toolkit
AI Development · AI Design Tools
An all-in-one open-source training suite for finetuning diffusion models—FLUX, SDXL, Wan video, and audio—on consumer GPU hardware via CLI or web UI.
Amplication
Developer Tools · AI Code Assistants · Automation
Create production-ready backend services with your organization's standards baked in — generating NestJS, Prisma, and GraphQL code that you own and control.
ByteChef
Automation · AI Agents
Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.
Cal.diy
Scheduling
The 100% MIT-licensed, community-driven scheduling platform — self-host your own booking infrastructure with no enterprise strings attached.
Chaskiq
CRM · Customer Support
Self-hosted live chat, video calls, help center, and marketing automation — a full-stack Intercom alternative you run on your own infrastructure.
ClearFlask
Product Management · Community
Open-source feedback management and roadmap tool that lets product teams collect, prioritize, and respond to user input — with AI-powered summarization and full self-hosting control.
Docs
File Storage · CMS
Open-source collaborative knowledge platform with real-time editing, AI writing tools, and full self-hosting control — built by the French and German governments.
Flagsmith
Developer Tools · Devops · Ab Testing Experimentation
Open-source feature flagging, remote config, and A/B/multivariate testing platform for web, mobile, and server-side apps — self-host or use the hosted SaaS.
Focalboard
Productivity · Project Management · Collaboration
Self-hosted, open source project management with Kanban, table, gallery, and calendar views — a privacy-first alternative to Trello, Notion, and Asana.