Selectable option. data-value is submitted. data-label is optional and controls the selected display label and data-format="object" label; when omitted, Basecoat uses trimmed text content.
<hr role="separator">Optional
Separator between groups or options.
<div role="group">Optional
Option group. Use aria-labelledby to connect it to its heading.
<span role="heading">Optional
Group heading.
<input type="hidden">
Submitted value. Single select stores a string; multiselect stores a JSON array. With data-format="object", values are serialized as { value, label } objects.
### JavaScript API
| API | Type | Description |
| --- | --- | --- |
| `change` | Event | Dispatched on selection changes with `event.detail.value` and `event.detail.selected`. |
| `select.refresh()` | Method | Rescans options after children change inside the existing `role="listbox"` element. |
## Examples
### Align
Use `data-align` on the popover to align the list to the trigger edge. Basecoat keeps the popup below the control; it does not implement shadcn/ui's selected-item-over-trigger positioning.
Light
Dark
System
Light
Dark
System
### Groups
Fruits
Apple
Banana
Blueberry
Vegetables
Carrot
Potato
Tomato
### Scrollable
Item 0
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
Item 10
Item 11
Item 12
Item 13
Item 14
Item 15
Item 16
Item 17
Item 18
Item 19
Item 20
Item 21
Item 22
Item 23
Item 24
Item 25
Item 26
Item 27
Item 28
Item 29
Item 30
Item 31
Item 32
Item 33
Item 34
Item 35
Item 36
Item 37
Item 38
Item 39
Item 40
Item 41
Item 42
Item 43
Item 44
Item 45
Item 46
Item 47
Item 48
Item 49
Item 50
Item 51
Item 52
Item 53
Item 54
Item 55
Item 56
Item 57
Item 58
Item 59
Item 60
Item 61
Item 62
Item 63
Item 64
Item 65
Item 66
Item 67
Item 68
Item 69
Item 70
Item 71
Item 72
Item 73
Item 74
Item 75
Item 76
Item 77
Item 78
Item 79
Item 80
Item 81
Item 82
Item 83
Item 84
Item 85
Item 86
Item 87
Item 88
Item 89
Item 90
Item 91
Item 92
Item 93
Item 94
Item 95
Item 96
Item 97
Item 98
### Disabled
Disabled
### Invalid
Select a role
Admin
Editor
Viewer
Guest
Select a role to continue.
### With icon
Bar
Line
Pie
### Multiple
Enable multiple selection by adding `aria-multiselectable="true"` to the `listbox`. The selected options are displayed as a comma-separated list in the trigger button. Use `data-label` to specify clean text labels for options that contain HTML (like icons), otherwise the text content will be extracted automatically.
Bar
Line
Pie
Area
### RTL
Set `dir="rtl"` on the select root or a parent element.