Text Field
A basic input field for entering short text, commonly used for forms, user input, and data entry. It supports validation, prefixes, suffixes, and various states.
Installation
Install the component via the CLI in one command.
npx shadcn@latest add @intentui/text-field
Composed components
When you install this component via the CLI, it automatically loads all composed components, so you don’t need to add them individually.
Manual installation
Use this approach if you prefer to install and wire up the component yourself instead of using the CLI.
npm install react-aria-components @heroicons/react
Anatomy
import { TextField } from "@/components/ui/text-field"
<TextField
name="name"
type="text"
label="Name"
description="Enter your name"
placeholder="John Doe"
errorMessage="This field is required"
prefix="..."
suffix="..."
/>Examples
Prefix and suffix
Wrap Input with InputGroup to add prefix and suffix content.
Suffix button
Wrap Input with InputGroup to add a button as the suffix.
Revealable
When using a text field as a password input, you may want the option to reveal the password.
Validation
In this example, we’ll ensure it’s treated as a strict requirement.
Controlled
Manage the TextField value through the value prop for controlled usage.
Uncontrolled
Manage the TextField value through the defaultValue prop for uncontrolled usage.
Description
You can add a description to the text field by using the description prop.
Readonly
Set the TextField to readonly, preventing any edits.
Disabled
When the TextField is disabled, it becomes non-editable and appears inactive.
Component API
TextField
The TextField component renders a labeled text input.
| Prop | Type | Default |
|---|---|---|
className | string | - |
See the React Aria for the full API reference.
Unlock the full power ofIntent UI Design
Build modern web apps faster with 1000+ resources across components, blocks, patterns, templates, and starter kits.