One line of text, with its label, hint and error.
For a person's name, an address, a phone number, a date or an amount, reach for the components in the Borders group instead: each of those decides something about who can fill it in, and a bare text field quietly decides it wrong.
The id is generated once and kept, so the label keeps pointing at the same control across re-renders. Pass id only when something outside needs to reference the field.
import { Input } from '@redrob-labs/ui';
| Prop | Type | Notes |
|---|---|---|
size |
'sm' | 'md' | 'lg' |
|
invalid |
boolean |
Marks the control invalid without printing a message. error implies it. |