Skip to content
Uxelith
Sign in
Prov1.0.0Forms

Multi Select

Pick several options from a searchable list: chips pop in and slide aside as others leave, matches are highlighted, and creatable turns it into a tag input. Limits, icons and forms.

Installs with Uxelith ProHow
Licence
Pro
Packages
3
Updated
9 Oct 2026
Live

Installation

Usage

example.tsx
"use client"

import { useState } from "react"

import { MultiSelect } from "@/components/multi-select"

export function Assignees() {
  const [value, setValue] = useState<string[]>([])
  return (
    <MultiSelect
      label="Assignees"
      value={value}
      onValueChange={setValue}
      options={[
        { value: "ada", label: "Ada Lovelace", description: "Engineering" },
        { value: "grace", label: "Grace Hopper", description: "Research" },
      ]}
    />
  )
}

Props

PropTypeDefaultDescription
options{ value; label; description?; disabled? }[]—The choices; each may have description, icon and disabled.
value / defaultValuestring[]— / []Controlled or uncontrolled selection.
onValueChange(value: string[]) => void—Called with the new selection.
labelstring—Accessible name, e.g. "Assignees".
placeholderstring"Search…"Shown while nothing is chosen.
maxSelectednumberInfinityStop adding once this many are chosen.
emptyMessageReactNode"No matches."Shown when the search matches nothing.
namestring—Submit with forms: one hidden input per value.
creatablebooleanfalseOffer “Create …” when nothing matches exactly, e.g. for tags.
onCreateOption(option) => void—Called with a newly created option; it is also selected.
disabledbooleanfalseDisable the whole field.

Accessibility

  • WAI-ARIA combobox with a multi-selectable listbox; the active option is announced via aria-activedescendant.
  • ↓/↑ open and move, Enter toggles, Escape closes, Backspace in an empty field removes the last chip.
  • Each chip has a "Remove …" button; every add and remove is announced.
  • Reaching the limit is announced and further options are disabled.
  • “Clear all” is a named button; clearing and creating are announced.

Changelog

  1. v1.0.0Latest

    First release.

More in Forms

All 10 in Forms
  • FormsFree

    Animated Input

    A text field whose label floats out of the way, with examples that take turns while it's empty, an error that shakes once, a tick for a valid value and sent text that drifts away.

  • FormsPro

    Date Picker

    Single dates and ranges in a keyboard-first calendar, with one-tap presets ("Last 7 days"), months that slide the way you go, min/max, unavailable days and ISO strings for forms.

  • FormsPro

    File Dropzone

    Drop, paste or browse for files: the zone lights up as a file crosses the page and warns before a wrong type lands; files show thumbnails and upload with live, cancellable progress.