MultiSelect

A multi-value / tag input — an editable field-surface holding several values as removable chips, with a searchable stay-open listbox, per-option chip tone, opt-in free-text tags (Create row, paste + delimiter tokenize, dedupe), a per-token validation lifecycle, a max cap, and a '+N' overflow reveal.

Stablev0.3.0@garn/ui/multi-select

Default

Controlled multi-select over a list of fruits.

AppleMango
No results

With Label

A <Label htmlFor> wired to the field via id.

No results

Options

The data-driven `options` prop with leading glyphs.

TypeScript
No results

Grouped

Options grouped into labelled sections.

AppleCarrot
No results

Tones

Per-option `tone` — chips tint by status/priority.

HighMedium
No results

Tags

Free-text tags mode — allowCustomValue with a Create row.

designresearch
No results

Emails

Validated recipients — validate marks bad tokens as danger chips; paste tokenizes.

ada@garn.devnot-an-email
No results

Max

A `max` cap that blocks further picks + announces.

TypeScriptJavaScript
No results

Overflow

`visibleLimit` collapses chips into a '+N' reveal.

AppleBananaBlueberry
No results

Sizes

xs · sm · md field heights.

TypeScriptGo
No results
TypeScriptGo
No results
TypeScriptGo
No results

States

Disabled · invalid · loading.

TypeScript
No results
TypeScript
No results
Loading…

Hide Selected

hideSelectedOptions drops chosen rows from the list.

Apple
No results