Select

A listbox-style select with arrow keys, Home / End and typeahead navigation; multiple switches to a tag-based multi-select.

Props

PropTypeDefaultDescription
valuestring | string[]—Controlled value: string for single, string[] with multiple
defaultValuestring | string[]—Initial value when uncontrolled
onValueChange(value: string | string[]) => void—Called with a string, or string[] in multiple mode
multiplebooleanfalseMulti-select mode: string[] value, tags in the trigger
placeholderstring—Placeholder text when nothing is selected
size'sm' | 'md' | 'lg''md'Trigger size: sm / md / lg
placement'top' | 'bottom' | 'left' | 'right''bottom'Preferred side: top / bottom / left / right, default bottom
openboolean—Controlled open state; pair with onOpenChange
clearLabelstring'Clear'Accessible name of the clear button, default "Clear"
filter(label: string, query: string) => boolean—Custom match; defaults to a case-insensitive contains on the label
onSearchChange(query: string) => void—Called with the search query; pair with custom or async filtering