Multi Select
Lets a user choose multiple values from a compact, keyboard-accessible list.
@rivetui/multi-selectPreview
Explore each composition interactively, then open its code in the same context.
Default
Choose several values from a compact list without adding a search field.
Note
The popup stays open while values are toggled. Press Escape or move focus away when the selection is complete.
Registry
Installation
Add the component source and its declared dependencies with the shadcn CLI.
Install component
bunx --bun shadcn@latest add @rivetui/multi-selectPublic interface
API reference
Component-specific props are listed here. Native element and Base UI props continue to pass through.
MultiSelect
| Prop | Type | Default |
|---|---|---|
value | Value[] | — |
defaultValue | Value[] | [] |
onValueChange | (value: Value[], details) => void | — |
items | readonly Item[] | Record<string, ReactNode> | — |
open | boolean | — |
defaultOpen | boolean | false |
onOpenChange | (open: boolean, details) => void | — |
name | string | — |
required | boolean | false |
disabled | boolean | false |
MultiSelectValue
| Prop | Type | Default |
|---|---|---|
placeholder | ReactNode | — |
children | ReactNode | ((value: Value[]) => ReactNode) | resolved item labels |
MultiSelectContent
| Prop | Type | Default |
|---|---|---|
alignItemWithTrigger | boolean | true |
MultiSelectItem
| Prop | Type | Default |
|---|---|---|
value | Value | null |
disabled | boolean | false |
label | string | item text |