MultiSelect
atomDropdown that allows selecting multiple options rendered as Chips. Supports three sizes, label, helper/error text, max selection, and size-aware dropdown density.
Controlled
MultiSelect bound to state.
With max
Limit selection to 2 items.
With label & helper text
Label, helper text, and size matching Input's pattern.
Usage
Installation
API Reference
MultiSelect props — * required
| Prop | Type | Default | Description |
|---|---|---|---|
options* | MultiSelectOption[] | — | Array of { value, label, disabled? } options. |
value | string[] | — | Controlled array of selected values. |
defaultValue | string[] | [] | Uncontrolled initial selection. |
onChange | (values: string[]) => void | — | Called with updated selection array. |
placeholder | string | "Select..." | Placeholder when nothing is selected. |
size | "sm" | "md" | "lg" | "md" | Height, font size, and border radius matching Input. |
label | string | — | Label displayed above the multi-select. |
helperText | string | — | Hint or description below the control. |
errorText | string | — | Error message; triggers the error visual state. |
disabled | boolean | false | Disables the entire control. |
max | number | — | Maximum number of selectable items. |
style | React.CSSProperties | — | Inline styles for the wrapper. |