Skip to content

Forms

Select

A native select with a CSS-drawn caret.

stableNo JS requiredBuilt on <select>hydrateless/select.css

A native <select> styled with the hl-select primitive. The wrapper draws a custom caret in pure CSS while the native control keeps full keyboard and mobile behavior. No JavaScript.

Playground

Live

Props

The framework bindings expose these props (and forward the rest to the root element).

PropTypeDefaultDescription
size'sm' | 'md' | 'lg''md'Control height and font size.
invalidbooleanfalseApply the error state and set `aria-invalid`.

CSS variables

Override these on any ancestor to theme the component. See the theme studio to preview changes live.

CSS variableUsed for
--hl-borderResting border color.
--hl-ringFocus ring color.
--hl-radius-mdCorner radius.

Accessibility

  • A native <select>, so the platform picker, type-ahead, and keyboard all work.
  • The caret is decorative CSS and never intercepts pointer or assistive interaction.

Released under the MIT License.