Select
v1.0.4Updated 4 Oct 2026Native-like select control (Radix). Use for single choice from a moderate list.
Preview
Live · 13 stories▸Why this is recommendedformselectdropdownchoice+1
The default, out-of-the-box Select.
- ✓Filter dropdowns
- ✓Form choice fields
- ✓Country / language pickers
- Keyboard navigation
- Grouped options
- Searchable variant via Command
- Labelled by FormField: the root hands id / aria-describedby / aria-invalid / aria-required / className to the trigger button, which then fills the field column (standalone w-fit)
- ✕Long lists with search (use Command)
- ✕Few options (use RadioGroup)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
valueSelected value
—onValueChangeValue change callback
—idDOM id set on the trigger (given on Select, forwarded to SelectTrigger); FormField clones its field id in, and its label then names the control
—aria-describedbyId(s) of hint or error text describing the trigger (given on Select, forwarded to SelectTrigger) (FormField clones this in)
—aria-invalidMark the trigger (given on Select, forwarded to SelectTrigger) invalid; FormField clones this in from its error prop
—aria-requiredMark the trigger (given on Select, forwarded to SelectTrigger) required; FormField clones this in from its required prop
—classNameOn Select: classes forwarded to the trigger (a className on SelectTrigger wins); on SelectTrigger: a width here wins over the default (w-full inside a FormField, w-fit otherwise)
—