Command Menu

Search documentation, components, and switch theme.

Atoms

Multi Select

A multi-select component with badges and search.

Formance
Docs

Installation#

npx shadcn@latest add @formance/multi-select

Install the following dependencies:

npm install lucide-react

Copy and paste the following code into your project.

Update the import paths to match your project setup.

Usage#

import {
  MultiSelect,
  MultiSelectContent,
  MultiSelectGroup,
  MultiSelectInput,
  MultiSelectItem,
  MultiSelectSeparator,
  MultiSelectTrigger,
  MultiSelectValue,
} from '@/components/ui/multi-select'
<MultiSelect defaultValues={['ledgers']}>
  <MultiSelectTrigger className="w-[280px]">
    <MultiSelectValue placeholder="Select services..." />
  </MultiSelectTrigger>
  <MultiSelectContent>
    <MultiSelectGroup>
      <MultiSelectItem value="ledgers">Ledgers</MultiSelectItem>
      <MultiSelectItem value="payments">Payments</MultiSelectItem>
      <MultiSelectItem value="wallets">Wallets</MultiSelectItem>
    </MultiSelectGroup>
  </MultiSelectContent>
</MultiSelect>

Examples#

Controlled#

Disabled#

Creatable#

Overflow Wrap#

Overflow Cutoff#

Badge Label#

Groups#

Inline#

Inline Creatable#

Compound Components

Compose the pieces you need:

<MultiSelect />Root provider with controlled/uncontrolled values and popover or inline mode.
<MultiSelectTrigger />Button that opens the dropdown and displays selected badges.
<MultiSelectInput />Search input inside the trigger for filtering options.
<MultiSelectValue />Renders selected values as badges with remove buttons.
<MultiSelectContent />Dropdown content with command list.
<MultiSelectItem />Selectable option with checkbox indicator.
<MultiSelectGroup />Groups related items under a heading.
<MultiSelectSeparator />Visual separator between groups.