Select
SheetSelect is the mobile form Select. A floating popup fights the thumb on touch, so the options open in a BottomSheet as full-width 44px rows. Single choice commits and closes on tap; multiple choice toggles and stays open with a Done button. Naming mirrors the desktop MultiSelect.
// Single<SheetSelect aria-label="Team" options={teams} value={team} onValueChange={setTeam} placeholder="Choose a team"/>
// Multiple<SheetSelect aria-label="Labels" multiple options={labels} value={selected} onValueChange={setSelected}/>Live
In the form skeleton, tap Team for a single choice or Labels for a multi choice.
Props
| Prop | Type | Default | Notes |
|---|---|---|---|
options | { value, label, disabled? }[] | — | The choices. |
multiple | boolean | false | Multi-select; value becomes string[]. |
value / defaultValue | string | null | string[] | — | Single or multi selection. |
onValueChange | (value) => void | — | string | null (single) or string[] (multi). |
placeholder | ReactNode | — | Shown on the trigger when empty. |
aria-label | string | — | Required — names the trigger and list. |