Lunar Kit LogoLunar Kit
Components

Select

A dropdown component for selecting from a list of options.

Demo
Code
Select an option

Installation

lunar add select

Usage

import {
Select,
SelectTrigger,
SelectValue,
SelectContent,
SelectItem,
SelectGroup,
SelectLabel,
SelectSeparator,
} from '@/components/ui/select';
 
const [value, setValue] = useState('');
 
<Select value={value} onValueChange={setValue}>
<SelectTrigger>
  <SelectValue placeholder="Select an option" />
</SelectTrigger>
<SelectContent>
  <SelectItem value="option1" label="Option 1" />
  <SelectItem value="option2" label="Option 2" />
  <SelectItem value="option3" label="Option 3" />
</SelectContent>
</Select>

With Groups (Select)

<Select value={value} onValueChange={setValue}>
<SelectTrigger>
  <SelectValue placeholder="Select a fruit" />
</SelectTrigger>
<SelectContent>
  <SelectGroup>
    <SelectLabel>Fruits</SelectLabel>
    <SelectItem value="apple" label="Apple" />
    <SelectItem value="banana" label="Banana" />
  </SelectGroup>
  <SelectSeparator />
  <SelectGroup>
    <SelectLabel>Vegetables</SelectLabel>
    <SelectItem value="carrot" label="Carrot" />
    <SelectItem value="broccoli" label="Broccoli" />
  </SelectGroup>
</SelectContent>
</Select>

Disabled

<Select value={value} onValueChange={setValue} disabled>
{/* ... */}
</Select>

API Reference

Select

PropTypeDefaultDescription
valuestringSelected value
onValueChange(value: string) => voidChange callback
disabledbooleanfalseDisable the select
childrenReactNodeRequiredSelect components

SelectTrigger

PropTypeDefaultDescription
size'sm' | 'md' | 'lg''md'Trigger size
variant'outline' | 'underline''outline'Visual variant
prefixReactNodeLeft adornment
suffixReactNodeRight adornment
errorbooleanfalseError state
classNamestringAdditional classes

SelectContent

PropTypeDefaultDescription
childrenReactNodeRequiredSelect items
classNamestringAdditional classes

SelectItem

PropTypeDefaultDescription
valuestringRequiredOption value
labelstringRequiredDisplay label
disabledbooleanfalseDisable this item
classNamestringAdditional classes

On this page