shadcn.io is an independent project built on shadcn/ui
Red and Blue start selected, and the button reads 2 color(s) selected. An X next to the chevron clears every color at once, instead of unpicking them one by one.
Use it for filters and other multi-selects people often reset. Removing one chip at a time fits a Combobox with chips. In Vue, Ark UI does not add the clear-all button.
Installation
Anatomy

Usage
<div class="relative w-[250px]">
<Combobox
:collection="collection"
:multiple="true"
@input-value-change="handleInputValueChange"
@value-change="handleValueChange"
:positioning="{ getAnchorElement: () => triggerRef }"
:value="value"
>
<ComboboxTrigger
:class='cn(
buttonVariants({ variant: "outline" }),
"w-full justify-between pe-3"
)'
ref="triggerRef"
>
{{ value.length > 0
? `${value.length} color(s) selected`
: "Select colors..." }}
</ComboboxTrigger>
<ComboboxContent>
<ComboboxInput class="w-full" placeholder="Search colors..." :showTrigger="false" />
<ComboboxEmpty>No color found.</ComboboxEmpty>
<ComboboxList>
<ComboboxItem v-for="color in collection.items" :item="color" :key="color.value">
{{ color.label }}
</ComboboxItem>
</ComboboxList>
</ComboboxContent>
</Combobox>
<Button
<!-- The rest of the file is under Installation. -->FAQ
Where does the clear button sit?
In a relative wrapper around the combobox, positioned absolute end-8 so it lands just before the chevron. It's a sibling of the trigger, not inside it, since a button can't contain another button.
What does it clear?
The whole selection: the demo sets the value to an empty array, and the button goes back to Select colors....
How is the button styled?
A ghost, pill, icon-xs Button with an XIcon. It has aria-label Clear colors, since the icon has no text.
API Reference
Combobox
Sets collection="collection", multiple, input-value-change="handleInputValueChange", value-change="handleValueChange", positioning and getAnchorElement. The rest is on the Combobox page.
Button
Sets v-if, value and length. The rest is on the Button page.





