Combobox
Searches a list of options and selects one.
Preview
Local preview. It doesn't affect real accounts, environments, or run data.
Compare the same example at each size and density. Switching keeps input values and selection state. Size guidance and comparisons
Submits with the form above. The parent keeps its value on reset.
No form submitted.
Usage
Pick from a list long enough to need search. Combobox supports single selection and a Chips layout for multiple values, such as roles. Name the Input with Field.Label or a native label. Give Clear, Trigger, and ChipRemove action names too. For an option with more than a label, such as a command and what it does, set ItemTitle and ItemDescription in ItemContent.
Don't submit arbitrary search text as a valid selection. When free text is valid, use Autocomplete, which saves free text.
Size: SizeProvider size="small" resizes the whole composition, including portals. The default size is Default. Size guidance and comparisons
Anatomy
Root → Field(label/description/error) + InputGroup(Input/Clear/Trigger or Chips) + Content(Portal/Positioner/Popup → Empty + List(Item(ItemContent(ItemTitle + ItemDescription)? / Indicator)))
Keyboard and accessibility
- Typing filters the list. Base UI handles IME input, such as Korean.
- Arrow keys move through items.
- Enter selects an item. Disabled items can't be selected.
- Escape closes an open popup. With the popup closed, Escape clears the selection.
- Remove one value with its named ChipRemove.
Give each control a name that describes its purpose. Connect error messages to their controls, and signal state with more than color. Automated checks don't replace manual keyboard and assistive technology testing.
Example code
Shared components take their styles from design tokens. Each example sets its own composition and accessibility attributes. The calling screen defines callbacks, refs, and product data.
Key API
The table lists the common wrapper's main props. See the package type declarations for the full types.