MultiSelect
v1.0.7Updated 27 Aug 2026Token multi-select: popover listbox with checkbox options + built-in search, rendering the selection as removable chips in the trigger. Flat or grouped options, select-all / clear-all that respects the active search filt
Preview
Live · 13 stories▸Why this is recommendedformmulti-selectselectchips+7
The default, out-of-the-box MultiSelect.
- ✓Filter bars (categories, provinces, payment channels)
- ✓Assignee / staff pickers
- ✓Tag pickers backed by a known option list
- ✓Settings panels selecting many of a known set
- Controlled (value) or uncontrolled (defaultValue) string[] API
- Popover listbox with checkbox rows + search filter
- Selected values as removable chips in the trigger
- maxDisplayed with "+N more" overflow chip (title shows hidden labels)
- Grouped options with headings
- Select-all / deselect-all scoped to the current search filter, plus Clear
- Optional creatable entries via creatable + onCreateOption
- Chip tones via the shared tone recipe system
- Sizes: sm / default / lg
- Full keyboard: arrows, Enter/Space toggle, Backspace removes last chip, chips focusable with Delete
- Disabled control and per-option disabled
- i18n: labels prop overrides every built-in UI string (chips, select-all header, creatable row)
- ✕Single choice (use Select / Combobox)
- ✕Free-text-first tagging with paste/reorder (use TagInput)
- ✕Very small option sets (use Checkbox group)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
optionsFlat or grouped option list
yesvalueControlled selected values
—defaultValueInitial selection (uncontrolled)
—onValueChangeSelection change callback
—maxDisplayedChips shown before collapsing into "+N more" (default 3)
—showSelectAllSelect-all / clear-all header (default true)
—creatableAllow creating options from the search query
—onCreateOptionMap a raw query into a created option
—toneChip accent tone (recipe system)
—sizeTrigger + chip sizing
—labelsOverride built-in UI strings (i18n)
—Every tonal component shares the same tone × emphasis API, so the pair looks identical across Button, Badge, Alert and more.