ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Select

A dropdown for choosing a single value from a predefined list.

Examples

Groups

Overview

Select is a dropdown for picking a single value from a known set. Built on Base UI Select. For free-form filtering or large lists, use Combobox instead.

tsx
import {
  Select,
  SelectContent,
  SelectItem,
  SelectTrigger,
  SelectValue,
} from "@rogo-technologies/ui/select";

<Select value={value} onValueChange={setValue}>
  <SelectTrigger>
    <SelectValue placeholder="Pick a fruit…" />
  </SelectTrigger>
  <SelectContent>
    <SelectItem value="apple">Apple</SelectItem>
    <SelectItem value="banana">Banana</SelectItem>
  </SelectContent>
</Select>;

Usage

Groups

Use SelectGroup and SelectLabel to organize related items. Add SelectSeparator between groups for visual separation.

tsx
<SelectContent>
  <SelectGroup>
    <SelectLabel>Citrus</SelectLabel>
    <SelectItem value="orange">Orange</SelectItem>
    <SelectItem value="lemon">Lemon</SelectItem>
  </SelectGroup>
  <SelectSeparator />
  <SelectGroup>
    <SelectLabel>Berries</SelectLabel>
    <SelectItem value="strawberry">Strawberry</SelectItem>
  </SelectGroup>
</SelectContent>

Disabled

Disable the whole select via disabled on the root, or individual items via disabled on SelectItem.

tsx
<Select disabled>…</Select>

<SelectItem value="archived" disabled>Archived</SelectItem>

API

Select (Root)

PropTypeDefaultDescription
valuestring-Controlled selected value
defaultValuestring-Uncontrolled initial value
onValueChange(value: string) => void-Called when selection changes
disabledbooleanfalseDisable the entire select
openboolean-Controlled open state
onOpenChange(open: boolean) => void-Called when open state changes

SelectTrigger

Renders a <button>. Accepts all standard button props plus className.

SelectValue

Displays the selected item label. Pass placeholder for empty state. Custom children override the auto-display.

SelectContent

Composes Portal, Positioner, Popup and List internally.

PropTypeDefaultDescription
side"top" | "bottom" | "left" | "right""bottom"Preferred positioning side
sideOffsetnumber4Gap between trigger and popup
align"start" | "center" | "end""start"Alignment along the side

SelectItem

PropTypeDefaultDescription
valuestring-Item value (required)
disabledbooleanfalseDisable this item

Subcomponents

ComponentPurpose
SelectGroupWraps a related set of SelectItems.
SelectLabelVisible label rendered inside a SelectGroup.
SelectSeparatorDivider between items or groups.

Guidelines

Do

  • Use Select when the user picks one value from a short, known list (3–10 options)
  • Provide a placeholder via SelectValue so empty state is obvious
  • Group related items with SelectGroup and SelectLabel
  • Disable individual items rather than hiding them when they're contextually unavailable

Don't

  • Don't use Select for free-form text. Use Input instead
  • Don't use Select for very long lists. Switch to Combobox with filtering
  • Don't use Select for true/false toggles. Use Checkbox or a switch
  • Don't disable an item without a reason the user can infer or read in a tooltip
PreviousScroll Area
NextSelectors
Made in NYC© 2026 Rogo Technologies Inc.

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product