Select

A single-select field built on Base UI Select for value display, typeahead, keyboard navigation, and form submission.

Preview#

Controls
import {
  Select,
  SelectContent,
  SelectIcon,
  SelectItem,
  SelectItemIndicator,
  SelectItemText,
  SelectList,
  SelectTrigger,
  SelectValue,
} from "raft-ui";

<Select defaultValue="option">
  <SelectTrigger>
    <SelectValue />
    <SelectIcon />
  </SelectTrigger>
  <SelectContent>
    <SelectList>
      <SelectItem value="option">
        <SelectItemText />
        <SelectItemIndicator />
      </SelectItem>
    </SelectList>
  </SelectContent>
</Select>

Icons#

Groups#

States#

Scrolling#

With Field#

Submitted through the hidden input named sort.

Custom trigger#

API#WIP

PropTypeDefaultDescription
...propsBase UI Select.Root.Props<Value, Multiple>Owns value, hidden input, open state, keyboard navigation, typeahead, and form submission metadata.
PropTypeDefaultDescription
renderReactElement | (props, state) => ReactElementReplaces the trigger element entirely. When provided, the default Button and its recipe styles are skipped; pass event and aria props to your own element.
...propsBase UI Select.Trigger.PropsDefault trigger renders an outline md Button. Compose SelectValue, icons, or custom inline content as children.
PropTypeDefaultDescription
...propsBase UI Select.Value.PropsSelected value display. Use placeholder for the empty state, or pass children to format the value.
PropTypeDefaultDescription
...propsBase UI Select.Icon.PropsChevron or custom indicator inside the trigger.
PropTypeDefaultDescription
...propsBase UI Select.Popup + Positioner propsPortaled options shell. Defaults to side=bottom, align=start, sideOffset=4, disableAnchorTracking=true, and positionMethod=fixed.
PropTypeDefaultDescription
containerHTMLElement | RefObject | nullCustom portal container for framed previews or contained overlays.
...propsBase UI Select.Portal.PropsPortals the select list to the body or a custom container.
PropTypeDefaultDescription
...propsComponentPropsWithRef<"div">Static panel shell for docs previews and non-portaled comparison panes.
PropTypeDefaultDescription
...propsBase UI Select.List.PropsScrollable list container inside the popup.
PropTypeDefaultDescription
...propsBase UI Select.Item.PropsOption row. Selection, highlight, and disabled states are exposed through Base UI data attributes.
PropTypeDefaultDescription
...propsReact.ComponentPropsWithRef<'span'>Optional leading slot for icons, avatars, or a reserved source-parity column before SelectItemText.
PropTypeDefaultDescription
...propsBase UI Select.ItemText.PropsText span inside SelectItem.
PropTypeDefaultDescription
...propsBase UI Select.ItemIndicator.PropsSelected-state indicator. Renders a check icon by default.
PropTypeDefaultDescription
...propsBase UI Select.Label.PropsAccessible label automatically associated with the select trigger when Field is not the outer owner.
PropTypeDefaultDescription
...propsBase UI Select.Group.PropsOptional grouping container for long option lists.
PropTypeDefaultDescription
...propsBase UI Select.GroupLabel.PropsLabel for a SelectGroup.
PropTypeDefaultDescription
...propsStyledProps<ComponentPropsWithRef<"div">>Horizontal divider between option groups.
PropTypeDefaultDescription
...propsBase UI Select.ScrollUpArrow.PropsScroll hint shown at the top when the list overflows.
PropTypeDefaultDescription
...propsBase UI Select.ScrollDownArrow.PropsScroll hint shown at the bottom when the list overflows.
PropTypeDefaultDescription
...propsBase UI Select.Arrow.PropsOptional arrow pointing at the trigger.