Phone Input
Not A Number
A phone field in its error state: the typed and the expected values sit side by side, so the missing digit shows and the input is never wiped.
What you can change
- the field name through label, the message through error, the typed value through defaultValue and the sample through example
- the normal focus color through accent
- the error colors through the --vibeui-phoneinput-006-error and --vibeui-phoneinput-006-error-soft variables
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/phoneinput-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, zero dependencies, the palette in the local --vibeui-phoneinput-006-* variables. Server component: useId is the only hook. The message shows the difference rather than a diagnosis: under the error text sits a two-row grid — "typed" and "expected" — aligned on the baseline, so the digits are compared by eye from top to bottom. Both samples are set in a monospace face. The state rests on aria-invalid on the field: the border, the caption (through :has() on the root) and the focus ring are coloured from it, there is no separate class. The typed value stays in the field — clearing the field on an error makes a person retype everything and leave the form.
Tags
- phone
- error
- validation
- compare
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…