⟦Škíp tó çóñtéñt~~~~~~⟧
uiify

Combobox

⟦Šíñglé- ór múltí-válúé ÁRÍÁ çómbóbóx wíth fíltéríñg.~~~~~~~~~~~~~~~~~~~⟧

⟦Brówšérš~~~⟧
Chrome 114+Firefox 125+Safari 17+
⟦Tíér~~⟧
2
⟦Búñdlé çómpréššéd~~~~~~⟧
5.18 kB
⟦Fórçéd láýóút búdgét~~~~~~~⟧
0 ms
⟦Áxé búdgét~~~~⟧
0
⟦ŠŠR çómpátíblé~~~~~⟧
⟦Ýéš~~⟧
⟦Públíšhéd çóñtráçt~~~~~~~⟧
⟦Téšt hárñéšš~~~~~⟧

⟦Pláýgróúñd~~~~⟧

Combobox

Default

Apple
Banana
Cherry
Date

Multiple

ReactUI
React
UI
TypeScript
Accessibility
Design systems

Open

Apple
Banana
Cherry
Date

Large

⟦ÁPÍ~~⟧

Combobox.Root

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
childrenReactNode—⟦Çómbóbóx pártš: çóñtról, tágš, íñpút, tríggér áñd çóñtéñt.~~~~~~~~~~~~~~~~~~~~~⟧
items*ComboboxItemData[]—⟦Fúll líšt óf óptíóñš thé íñpút fíltérš óvér.~~~~~~~~~~~~~~~~⟧
defaultInputValuestring—⟦Štártíñg téxt íñ thé íñpút whéñ thé íñpút válúé íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~⟧
defaultOpenboolean—⟦Whéthér thé líšt štártš ópéñ whéñ thé ópéñ štáté íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~⟧
defaultValuestring | readonly string[]—⟦Válúé ór válúéš šéléçtéd óñ fíršt réñdér whéñ thé šéléçtíóñ íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧
multiplebooleanfalse⟦Állówš šéléçtíñg áñd rémóvíñg múltíplé válúéš áš tágš.~~~~~~~~~~~~~~~~~~~⟧
allowCustomValuebooleanfalse⟦Állówš týpéd téxt thát íš ñót íñ ítémš tó béçómé á šéléçtéd válúé.~~~~~~~~~~~~~~~~~~~~~~~~⟧
addOnPastebooleantrue⟦Áddš múltíplé délímítéd válúéš fróm páštéd téxt íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~~⟧
delimitersreadonly string[][","]⟦Çháráçtérš thát çómmít ór šplít týpéd válúéš íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~⟧
maxValuesnumber—⟦Lárgéšt ñúmbér óf válúéš thát çáñ bé šéléçtéd íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~~⟧
validateValue(value: string) => boolean—⟦Réjéçtš á çúštóm válúé whéñ ít rétúrñš fálšé.~~~~~~~~~~~~~~~~⟧
filterFn(items: ComboboxItemData[], inputValue: string) => ComboboxItemData[]—⟦Répláçéš thé búílt-íñ fíltér thát ñárrówš ítémš áš thé úšér týpéš.~~~~~~~~~~~~~~~~~~~~~~~~⟧
inputValuestring—⟦Téxt íñ thé íñpút, mákíñg thé týpéd válúé çóñtrólléd.~~~~~~~~~~~~~~~~~~~⟧
onInputValueChange(value: string) => void—⟦Çálléd wíth thé ñéw téxt whéñévér thé íñpút çháñgéš.~~~~~~~~~~~~~~~~~~~⟧
onOpenChange(open: boolean, details: OpenChangeDetails) => void—⟦Çálléd whéñ thé líšt ópéñš ór çlóšéš, wíth thé réášóñ fór thé çháñgé.~~~~~~~~~~~~~~~~~~~~~~~~~⟧
onValueChange((value: string) => void) | ((value: string[]) => void)—⟦Çálléd wíth thé šéléçtéd válúé ór fúll šéléçtéd-válúéš árráý.~~~~~~~~~~~~~~~~~~~~~~⟧
openboolean—⟦Whéthér thé líšt íš ópéñ, mákíñg thé ópéñ štáté çóñtrólléd.~~~~~~~~~~~~~~~~~~~~~⟧
valuestring | readonly string[]—⟦Šéléçtéd válúé ór válúéš, mákíñg thé šéléçtíóñ çóñtrólléd.~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Control

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
childrenReactNode—⟦Tágš áñd íñpút réñdéréd íñšídé thé šháréd víšúál çóñtról.~~~~~~~~~~~~~~~~~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé çóñtról éléméñt.~~~~~~~~~~~~~⟧
renderReactElement | ((props, state) => ReactElement)—⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Tags

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
childrenReactNode—⟦Çóñtéñt áppéñdéd áftér thé géñérátéd rémóváblé tágš.~~~~~~~~~~~~~~~~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé géñérátéd tágš çóñtáíñér.~~~~~~~~~~~~~~~~~⟧
renderReactElement | ((props, state) => ReactElement)—⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Input

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé téxt íñpút.~~~~~~~~~~~~⟧
renderReactElement | ((props, state) => ReactElement)—⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Trigger

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
childrenReactNode—⟦Çóñtéñt óf thé búttóñ thát ópéñš thé líšt, šúçh áš áñ íçóñ.~~~~~~~~~~~~~~~~~~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé tríggér búttóñ.~~~~~~~~~~~~~⟧
renderReactElement | ((props, state) => ReactElement)—⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Content

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
align"start" | "center" | "end"—⟦Álígñméñt óf thé líšt ágáíñšt thé íñpút álóñg thé çhóšéñ šídé.~~~~~~~~~~~~~~~~~~~~~~⟧
children*(filteredItems: ComboboxItemData[]) => ReactNode—⟦Réñdér fúñçtíóñ çálléd wíth thé ítémš léft áftér fíltéríñg.~~~~~~~~~~~~~~~~~~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé líšt pópúp.~~~~~~~~~~~~⟧
side"top" | "right" | "bottom" | "left"—⟦Šídé óf thé íñpút thé líšt íš pláçéd óñ.~~~~~~~~~~~~~~⟧

Combobox.Item

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé óptíóñ éléméñt.~~~~~~~~~~~~~⟧
item*ComboboxItemData—⟦Thé ítém thíš óptíóñ réñdérš, ñórmállý tákéñ fróm thé çóñtéñt çállbáçk.~~~~~~~~~~~~~~~~~~~~~~~~~⟧

Combobox.Empty

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
childrenReactNode—⟦Çóñtéñt šhówñ whéñ fíltéríñg léávéš ñó ítémš.~~~~~~~~~~~~~~~~⟧
classNamestring—⟦Çlášš ápplíéd tó thé émptý-štáté éléméñt.~~~~~~~~~~~~~~~⟧

ComboboxItemData

⟦Próp~~⟧⟦Týpé~~⟧⟦Défáúlt~~~⟧⟦Déšçríptíóñ~~~~⟧
disabledboolean—⟦Mákéš thíš ítém úñšéléçtáblé.~~~~~~~~~~~⟧
label*string—⟦Téxt šhówñ fór thé ítém áñd mátçhéd bý thé fíltér.~~~~~~~~~~~~~~~~~~⟧
value*string—⟦Válúé répórtéd whéñ thé ítém íš šéléçtéd.~~~~~~~~~~~~~~~⟧

⟦Kéýbóárd~~~⟧

⟦Kéý~~⟧⟦Áçtíóñ~~~⟧
↓ / ↑⟦Ópéñ áñd róvé óptíóñš~~~~~~~~⟧
Enter⟦Šéléçt~~~⟧
Escape⟦Çlóšé~~⟧
a–z⟦Týpéáhéád tó fíltér óptíóñš~~~~~~~~~~⟧

⟦Áççéššíbílítý~~~~~⟧

⟦ÁRÍÁ çómbóbóx + líštbóx. Áçtívé óptíóñ íš áññóúñçéd víá áríá-áçtívédéšçéñdáñt. Çóñtéñt éxpóšéš ópéñ/çlóšéd štáté; óptíóñš éxpóšé híghlíghtéd, díšábléd áñd (íñ múltíplé módé) šéléçtéd štáté. Úšé Émptý tó éxpláíñ whéñ ñó óptíóñš mátçh. Pópúp préšéñçé mótíóñ íš díšábléd whéñ rédúçéd mótíóñ íš préférréd.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧

⟦Štýlíñg hóókš~~~~~⟧

data-statedata-highlighteddata-disableddata-selected