Select
Select Component
Dropdown select with search/filter, option groups, and keyboard navigation. Built on Radix UI for full accessibility.
Import
import { Select } from '@covers/ui';Usage
import {
Select,
SelectTrigger,
SelectValue,
SelectContent,
SelectItem,
SelectGroup,
SelectLabel,
} from '@covers/ui';
// Basic select
<Select value={fruit} onValueChange={setFruit}>
<SelectTrigger className="w-[200px]">
<SelectValue placeholder="Pick a fruit" />
</SelectTrigger>
<SelectContent>
<SelectItem value="apple">Apple</SelectItem>
<SelectItem value="banana">Banana</SelectItem>
<SelectItem value="cherry">Cherry</SelectItem>
</SelectContent>
</Select>
// With groups
<Select>
<SelectTrigger className="w-[240px]">
<SelectValue placeholder="Select timezone" />
</SelectTrigger>
<SelectContent>
<SelectGroup>
<SelectLabel>North America</SelectLabel>
<SelectItem value="est">Eastern (UTC-5)</SelectItem>
<SelectItem value="cst">Central (UTC-6)</SelectItem>
<SelectItem value="pst">Pacific (UTC-8)</SelectItem>
</SelectGroup>
<SelectGroup>
<SelectLabel>Europe</SelectLabel>
<SelectItem value="gmt">GMT (UTC+0)</SelectItem>
<SelectItem value="cet">CET (UTC+1)</SelectItem>
</SelectGroup>
</SelectContent>
</Select>
// Disabled
<Select disabled>
<SelectTrigger className="w-[200px]">
<SelectValue placeholder="Disabled" />
</SelectTrigger>
<SelectContent>
<SelectItem value="a">Option A</SelectItem>
</SelectContent>
</Select>Props
| Name | Type | Description |
|---|---|---|
| value | string | Controlled selected value |
| onValueChange | (value: string) => void | Callback when selection changes |
| placeholder | string | Placeholder text when no value is selected |
| disabled | boolean | Disable the select |
Default Styling
bg-slate-800 border border-slate-700 rounded-md px-3 py-2
Part of CoverKit
This component is part of CoverKit (@covers/ui), a dark-first React component library.