Skip to Content

Select

A dropdown component that allows users to select from a list of options.

Usage

import { Select } from "@rhinolabs/ui" export default function SelectDemo() { return ( <Select> <Select.Trigger className="w-[180px]"> <Select.Value placeholder="Select a fruit" /> </Select.Trigger> <Select.Content> <Select.Group> <Select.Item value="apple">Apple</Select.Item> <Select.Item value="banana">Banana</Select.Item> <Select.Item value="orange">Orange</Select.Item> </Select.Group> </Select.Content> </Select> ) }

Examples

With Groups

Grouped select options with labels.

<Select> <Select.Trigger className="w-[200px]"> <Select.Value placeholder="Select a timezone" /> </Select.Trigger> <Select.Content> <Select.Group> <Select.Label>North America</Select.Label> <Select.Item value="est">Eastern Time</Select.Item> <Select.Item value="cst">Central Time</Select.Item> <Select.Item value="pst">Pacific Time</Select.Item> </Select.Group> <Select.Separator /> <Select.Group> <Select.Label>Europe</Select.Label> <Select.Item value="gmt">GMT</Select.Item> <Select.Item value="cet">Central European Time</Select.Item> </Select.Group> </Select.Content> </Select>

With Disabled Options

Select with some disabled options.

<Select> <Select.Trigger className="w-[180px]"> <Select.Value placeholder="Select a plan" /> </Select.Trigger> <Select.Content> <Select.Item value="free">Free</Select.Item> <Select.Item value="pro">Pro</Select.Item> <Select.Item value="enterprise" disabled> Enterprise </Select.Item> </Select.Content> </Select>

Props

Select

PropTypeDescription
valuestringThe controlled value
defaultValuestringThe default value
onValueChange(value: string) => voidValue change callback
disabledbooleanWhether the select is disabled

SelectTrigger

PropTypeDescription
asChildbooleanUse a custom trigger element

SelectItem

PropTypeDescription
valuestringThe value of the item
disabledbooleanWhether the item is disabled

Design Considerations

  • Use clear option labels
  • Group related options
  • Show selected state clearly
  • Consider mobile interactions
  • Handle long option text

Accessibility

  • Supports keyboard navigation
  • Maintains focus management
  • Provides ARIA labels
  • Announces selection changes
  • Handles screen readers
Last updated on