TextInput
Carbon-spec text input with built-in label, helper text, and validation states (error / warning / success / read-only / disabled).
Live playground
Edit the JSX below — preview updates instantly. Switch brand × tone in the toolbar to see the same component re-themed in place.
Edit JSX — preview updates livereact-live
import { TextInput, TextInputState } from "@avala/design"; <TextInput size="md" state="default"> <TextInputState /> </TextInput>
All variants
The Storybook stories file rendered as an iframe — every variant, every size, every state, baselined for visual regression.
primitives-textinput--defaultOpen in Storybook →
When to use
- Any single-line text field in a form. The default text-entry primitive.
- Use the
stateprop to wire validation feedback (error / warning / success).
When not to use
- Passwords with show/hide toggle → use `PasswordInput`.
- Multi-line input → use `TextArea`.
- Search with magnifier + clear → use `Search`.
- Migrating legacy
<Input>→ use `Input` shim then upgrade.