Installation
npx shadcn@latest add @iconiq/b-comboboxProps
Combobox
Root combobox controller. Compose ComboboxInput, ComboboxContent, ComboboxList, and ComboboxItem inside it.
itemsreadonly Item[]valueItem | Item[] | nulldefaultValueItem | Item[] | nullonValueChange(value: Item | Item[] | null) => voiditemToStringLabel(item: Item) => stringitemToStringValue(item: Item) => stringinputValuestringopenbooleanThe root wraps Base UI's combobox primitive with the same Iconiq motion layer used by the previous wrapper.
Filtering, selection, typeahead, keyboard navigation, and clear behavior are delegated to Base UI while the visual treatment stays Iconiq.
ComboboxInput
Styled input shell with the previous border, focus ring, clear button, and rotating trigger icon.
placeholderstringshowClearbooleanDefault true
showTriggerbooleanDefault true
classNamestringdisabledbooleanDefault false
ComboboxContent
Portaled dropdown surface with the previous white/dark panel, border, shadow, and fade-slide motion.
side"top" | "right" | "bottom" | "left" | "inline-start" | "inline-end"Default "bottom"
align"start" | "center" | "end"Default "start"
sideOffsetnumberDefault 4
classNamestringThe popup remains mounted while closing so the motion exit can complete before Base UI unmounts it.
The panel width matches the input anchor and the list scrolls at the same max height as before.
ComboboxList
Scrollable item list rendered inside ComboboxContent with the previous max-height and motion treatment.
childrenReactNode | ((item, index) => ReactNode)Required
classNamestringComboboxItem
Animated row with active highlight, optional description layout, and selected checkmark spring.
valueItemRequired
childrenReactNodeRequired
descriptionReactNodeclassNamestringComboboxEmpty, ComboboxGroup, ComboboxLabel, ComboboxSeparator, ComboboxCollection, and chip helpers are exported for larger compositions.
Keyboard navigation and filtering are handled by Base UI; the visual hover highlight and checkmark animation stay Iconiq.
Registry bundle
Install the exact registry entry shown on the right when you want the component file and its declared runtime dependencies together.
Dependencies: @base-ui/react, motion, lucide-react.
This page documents the Base UI install only, because Radix UI does not ship a dedicated combobox primitive.
The generated registry file is /r/b-combobox.json.