Combobox

Use Combobox when the user searches, highlights, and selects structured options. Use Popover only for generic floating panels.

Preview#

import {
  Combobox,
  ComboboxClear,
  ComboboxContent,
  ComboboxControl,
  ComboboxEmpty,
  ComboboxInput,
  ComboboxItem,
  ComboboxItemIndicator,
  ComboboxList,
  ComboboxTriggerIndicator,
  Field,
  FieldLabel,
} from "raft-ui";

<Combobox>
  <Field>
    <FieldLabel />
    <ComboboxControl>
      <ComboboxInput />
      <ComboboxClear />
      <ComboboxTriggerIndicator />
    </ComboboxControl>
  </Field>
  <ComboboxContent>
    <ComboboxList>
      <ComboboxItem value="option">
        <ComboboxItemIndicator />
      </ComboboxItem>
    </ComboboxList>
    <ComboboxEmpty />
  </ComboboxContent>
</Combobox>

Load options#

Async select#

API#WIP

...props
Base UI Combobox.Root.Props
Owns selected value, input value, filtering, highlighted item, Escape, and Enter selection.
...props
Base UI Combobox.Label.Props
Accessible label for the combobox.
...props
Base UI Combobox.InputGroup.Props
Input-first control surface. Use it when the visible combobox trigger should be searchable; plain SVG children get the component's default icon size.
render
ReactElement | (props, state) => ReactElement
Replaces the trigger element entirely. When provided, the default Button and its recipe styles are skipped; pass event and aria props to your own element.
...props
Base UI Combobox.Trigger.Props
Default trigger renders an outline md Button for picker-style filters where the search input lives inside the popup.
...props
Base UI Combobox.Value.Props
Displayed value slot inside the trigger.
...props
StyledProps<ComponentPropsWithRef<"span">>
Count badge shown next to the trigger value.
...props
StyledProps<ComponentPropsWithRef<"span">>
Chevron or custom indicator inside the trigger.
...props
Base UI Combobox.Input.Props
Search input. Supports password-manager suppression for compact filter panels.
...props
Base UI Combobox.InputGroup.Props
Layout wrapper grouping the input with trigger actions.
...props
Base UI Combobox.Clear.Props
Clears the current input and selected value through the primitive.
...props
Base UI Popup + Positioner props
Portaled popup shell. Defaults to side=bottom, align=start, sideOffset=4, and local collision props.
container
HTMLElement | RefObject | null
Custom portal container for framed previews or contained overlays.
...props
Base UI Combobox.Portal.Props
Portals the popup to the body or a custom container.
...props
div props
Header row for picker titles and trailing actions.
...props
div props
Horizontal divider between composed combobox regions.
...props
div props
Unpositioned popup shell for advanced static rendering. Prefer ComboboxContent for trigger-anchored pickers.
...props
Base UI Combobox.List.Props
Renders filtered items, usually through the list render function.
...props
Base UI Combobox.Empty.Props
Empty-state message shown when no options match.
...props
Base UI Combobox.Group.Props
Group container for related options.
...props
Base UI Combobox.GroupLabel.Props
Group heading inside ComboboxGroup.
...props
Base UI Combobox.Row.Props
Row layout for composite options.
...props
Base UI Combobox.Item.Props
Selectable option row. Selection/highlight state is exposed through data attributes.
...props
Base UI Combobox.ItemIndicator.Props
Selected-state indicator for single and multiple selection.
...props
Base UI Combobox.Collection.Props
Collects items for keyboard navigation and filtering.
...props
Base UI Combobox.Chips.Props
Wrap container for selected-value chips.
...props
Base UI Combobox.Chip.Props
Single selected-value chip.
...props
Base UI Combobox.ChipRemove.Props
Dismiss control inside a selected-value chip.