FilterMultiSelect
moleculeFilter-oriented multi-select with button-style trigger and popover dropdown. Supports xs–lg sizes, ghost variant, and label-less compact mode (no chevron). Ideal for toolbar and filter bar layouts.
Sizes
Four sizes including the new xs for compact toolbars.
Ghost variant
Ghost trigger style for seamless toolbar integration.
Compact xs
The xs size is ideal for dense toolbars and filter bars.
Usage
Installation
API Reference
FilterMultiSelect props — * required
| Prop | Type | Default | Description |
|---|---|---|---|
options* | FilterMultiSelectOption[] | — | 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. |
label* | string | — | Label shown on the trigger button. |
size | "xs" | "sm" | "md" | "lg" | "md" | Trigger and dropdown density. xs is new for compact toolbar usage. |
variant | "secondary" | "outline" | "ghost" | "secondary" | Trigger button style. Outline switches to secondary when items are selected. Ghost blends into toolbars. |
icon | React.ReactNode | — | Icon rendered before the label in the trigger button. |
disabled | boolean | false | Disables the trigger. |
style | React.CSSProperties | — | Inline styles for the wrapper. |