Components
Components
Select
Single-select control with popover listbox.
newfree
Install
@hewnui/ui · hewnui
Select keeps a concise labeled trigger while list items stay composable. Lives under Pickers in the component gallery.
Theme pack
Material
Radius
Accent
Locked pack
Required pack
Usage
Use selectedKey / onSelectionChange for controlled value. Pass textValue
on SelectItem when children are not plain text so typeahead still works.
Variants
outline (default), filled, flushed, and glass. Under the global glass
material, boxed variants pick up tinted frost; flushed stays underline-only.
States
- Placeholder — shown until a key is selected
- Disabled —
isDisabledmutes the trigger and blocks opening - Invalid / required —
isInvalidandisRequiredfor form validation - Focus — ring on the trigger; list items highlight on keyboard focus
Keyboard
Tabfocuses the triggerEnter,Space, orArrowDown/ArrowUpopens the listbox- Arrow keys move through options; typeahead jumps by printable characters
Enterselects the focused option;Escapecloses without changing value- Disabled selects are skipped in the tab order
Accessibility
- Trigger uses button/combobox semantics from React Aria with
aria-expanded labelrenders a real field label bound to the trigger- Selected option is announced when the popover closes
- Listbox items expose selected and disabled states to assistive tech
API reference
Props for Select from @hewnui/ui/select. Generated from component types — not hand-written.
Prop
Type