Lightweight
About 7 kB gzipped. No dependencies besides React 18 or 19.
Toggle props on the left; the JSX updates to match. renderList renders through the lists of virtual lists, animated adds the CSS of the animations example.
value: []
<MultiSelect
options={fruits}
onChange={setValue}
/>Lightweight
About 7 kB gzipped. No dependencies besides React 18 or 19.
Search and create
Filter as you type, or let users add their own values with customValue.
Groups
Nested and collapsible option groups, and cascading submenus.
Accessible
ARIA combobox and listbox, full keyboard support, SSR-safe ids.
Themeable
CSS variables for sizes and colors, plain class names for everything else.
TypeScript
Types ship with the package; onChange gets the values and their options.