Native Select
Invalid Select
A native select with a permanent error message instead of the browser's own bubble, which disappears after a couple of seconds.
What you can change
- the field name through label, the message through error and the choices through options
- the normal focus color through accent
- the error color through the --vibeui-nativeselect-006-error variable
A link for your AI agent: preview, code and instructions.
Preview
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/nativeselect-006?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
For developers
The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.
Technical notes
The component is self-contained: one file, no dependencies, palette in the local --vibeui-nativeselect-006-* variables. Server component: the only hook is useId. The single source of state is aria-invalid on the field: the border, the arrow (through :has() on the root), the label and the focus ring are painted from it, there is no separate "error" class and the states cannot drift apart. The message stays in the markup permanently and is linked to the field through aria-describedby — unlike the browser's own bubble, which shows once and disappears. The color of an unfilled field comes from the select:not(:invalid) rule, and the stand-in is an option with an empty value.
Tags
- select
- error
- validation
- a11y
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…