GitHubnpm

Accent theme

Base radius

GitHubnpm

Accent theme

Base radius

Colour scheme

Docs menu

Guides


Primitives
Forms
Layout
Feedback
Overlays
Navigation
Data Display
AI

Select

A real <select>. Options, keyboard navigation, typeahead, and form behaviour all come from the browser. Supporting browsers use a native picker styled with Kernel's existing tokens; other browsers keep the styled control and platform picker.

Playground

Toggle every adjustable prop and watch the component — and the code — update live.

Used for shipping estimates.

Unstyled

Same component — Kernel look stripped. See Platforms.

invalid
required
disabled
hide label
label offset
Usage
<Select label="Country" description="Used for shipping estimates." errorMessage="Please choose a country.">
  <SelectOption value="uk">United Kingdom</SelectOption>
  <SelectOption value="us">United States</SelectOption>
  <SelectOption value="de">Germany</SelectOption>
</Select>

Props

Props for Select.
PropTypeDefault
labelReactNode (required)—
hideLabelbooleanfalse
descriptionReactNode—
errorMessageReactNode—
invalidbooleanfalse

A note on full customisation

Single dropdowns use appearance: base-select inside a feature query that also checks ::picker(select) support. The existing chevron, colours, and control dimensions stay in place. Multiple selects and listboxes retain their existing rendering. Keep text in every option so labels, typeahead, and fallback pickers work without additional JavaScript.