Select
Select
A composable select/dropdown with search, multi-select, and keyboard navigation.
Usage
typescript
1import { Select } from '@flint-ui/core'23<Select label="Country" placeholder="Choose a country">4 <Select.Option value="us">United States</Select.Option>5 <Select.Option value="kr">South Korea</Select.Option>6 <Select.Option value="jp">Japan</Select.Option>7</Select>
Basic select with static options
Variants
typescript
1// Searchable select2<Select label="Country" searchable placeholder="Type to search...">3 <Select.Option value="us">United States</Select.Option>4 <Select.Option value="kr">South Korea</Select.Option>5 <Select.Option value="jp">Japan</Select.Option>6</Select>78// Multi-select9<Select label="Tags" multiple maxSelections={5}>10 <Select.Option value="react">React</Select.Option>11 <Select.Option value="vue">Vue</Select.Option>12 <Select.Option value="svelte">Svelte</Select.Option>13</Select>1415// Grouped options16<Select label="Location" groupBy="region">17 <Select.Group label="Americas">18 <Select.Option value="us">United States</Select.Option>19 <Select.Option value="br">Brazil</Select.Option>20 </Select.Group>21 <Select.Group label="Asia">22 <Select.Option value="kr">South Korea</Select.Option>23 <Select.Option value="jp">Japan</Select.Option>24 </Select.Group>25</Select>2627// Creatable — allows adding new options28<Select label="Category" creatable placeholder="Select or create...">29 <Select.Option value="design">Design</Select.Option>30 <Select.Option value="eng">Engineering</Select.Option>31</Select>
Searchable, multi-select, grouped, and creatable variants
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| label | string | — | Accessible label text |
| placeholder | string | — | Placeholder text |
| disabled | boolean | false | Disables interaction |
| required | boolean | false | Marks as required |
| searchable | boolean | false | Enables type-to-search |
| multiple | boolean | false | Allows multiple selection |
| creatable | boolean | false | Allows creating new options |
| onSearch | (query) => void | — | Custom search handler |
| maxSelections | number | — | Limit for multi-select |
| groupBy | string | — | Groups options by key |
Keyboard Navigation
Select implements the full WAI-ARIA listbox pattern. Arrow keys move focus between options, Enter or Space selects the focused option, Escape closes the dropdown, and Home/End jump to the first or last option. Type-ahead is supported — pressing a letter key jumps to the first matching option.
<callout>Full WAI-ARIA listbox pattern. Arrow keys navigate, Enter selects, Escape closes, Home/End jump to first/last.