forms · @awesome-ds/react
Input
Labeled text field with hint and error association.
State matrix
idle
focus
disabled
error
Anatomy
- label
- text input
- hint
- error message
Keyboard contract
Uses native text editing, selection, and Tab order.
Screen-reader contract
Label, hint, invalid state, and error are programmatically associated.
Content rules
- Labels describe the requested value.
- Errors explain how to recover.
Public API
| Prop | Type | required | Description |
|---|---|---|---|
id | string | required | Association identifier |
label | string | required | Field name |
hint | string | — | Associated supporting guidance |
error | string | — | Associated recovery message |
…native | InputHTMLAttributes<HTMLInputElement> | — | Native input attributes |
Adaptation contracts
- RTL
- Keep label, input, hint, and error aligned to inline-start without changing DOM order.
- High contrast
- Use system field borders, focus indicators, and non-color invalid cues.
- Reduced motion
- Change validation and selection states without sliding or spring motion.
Verification IDs
Live
Live
We never share this
Copyable example
import { Input } from "@awesome-ds/react";
<Input id="email" label="Email" error="Required" />