Sakani

Combobox

A searchable select, in single or multi mode, for option lists too long to scan.

Combobox or Select?

Select is right when the whole list fits on screen and is worth reading. Once someone would rather type three letters than scan, or once they need more than one answer, use this.

Multi-select

Sizes

Loading, disabled, error

loading is for options still in flight: the panel keeps its shape instead of flashing an empty list.

Pick at least one market.

Controlled

2 selected

Props

PropTypeDefaultDescription
optionsComboboxOption[]{ value, label, icon?, disabled? } for each entry.
mode'single' | 'multi''single'Multi keeps the panel open and accumulates chips.
size'sm' | 'md' | 'lg''md'Control height.
labelstringField label.
descriptionstringHelper line under the field.
errorstringError message; switches the field to its error styling.
placeholderstringPlaceholder for the search input.
loadingbooleanfalseShows the panel's loading state while options are being fetched.
valuestring | string[]Controlled selection. An array in multi mode.
onChange(value: string | string[]) => voidFires with the new selection.
disabledbooleanfalseDisables the control.