Select

selectForms

Pick one value from a fixed list that is too long for radios. The trigger matches Input; the highlighted option wears the accent wash.

bunx --bun shadcn@4.17.0 add @waimakers/select
Kit dependencies
utilsthemeseparator
npm dependencies
@base-ui/react@1.9.0lucide-react@1.33.0

From the registry

The shadcn Select on Base UI, not Radix. A 44px Input-family trigger; the highlighted item wears the accent WASH with an ink label (never orange text); the popup is the raised surface with the overlay shadow and a scale/opacity enter; the focus ring is --text; aria-invalid draws a 2px --danger edge, the border plus a solid 1px ring, never an opacity fade, measured at 4.38:1 or better on every ground.

Examples

Default

Pass items so the trigger can show the label of the chosen value.

Deep research takes longer and costs more per run.

Groups

Group long lists under small labels and separate the groups with a rule.

Placeholder

Start empty with a placeholder when there is no sensible default.

States

Disabled, an unavailable option, invalid and focused.