Custom select

Custom select is a neobrutalist React component from Cruise UI. A select with our own list (check on the chosen option), for when native won't do. Install it with npx shadcn@latest add @cruiseui/custom-select.

Install

Terminal

npx shadcn@latest add @cruiseui/custom-select

First time? Installation shows the one-off components.json setup (the @cruiseui registry) and how to turn the theme on.

Example

Corners
Delivery area

When to use it

When to use

Outside forms, or when options need more than text.

When not to

Forms (use the native Select). Long lists (use a Combobox).

Props

CruiseCustomSelect

PropTypeDefaultDescription
labelstring——
optionsCruiseSelectOption<V>[]——
value?V | null——
defaultValue?V | null——
onValueChange?((value: V | null) => void)——
placeholder?string"Choose…"—
hint?string——
error?string——
disabled?boolean——
popupClassName?string—Extra classes on the list, e.g. "nepa-mode" (it renders in <body>).
className?string——

Accessibility

  • listbox / option roles with aria-selected; arrows, Home/End and typeahead.
  • Always a visible label.