- Button
- Date Picker
- Field
- Fields
- Input Group
- File Uploader
- Signature Pad
- Text Area
- Container
- Section Header
- Separator
- Spacer
- Action Row
- Breadcrumb
- Tabs
- Tabs Container
- Card
- Image
- Text
- Title
- Video Player
- Card Collection
- Data Grid
- List Collection
- Table Collection
- Bar Chart
- Big Number
- Line Chart
- Radial Chart
- Hint
- Progress
- Spinner
- Skeleton
- Toast
- Sheet
- Dialog
- Real-world patterns
- Primitives
Multi-line text input with auto-resizing and validation state styling.
Basic Usage
The simplest usage with default styling and auto-resizing based on content.
With Label
Combine with a label element for accessible form inputs.
With Helper Text
Include helper text to provide additional context or instructions.
Brief description for your profile. Maximum 500 characters.
Disabled State
Show a non-interactive state for disabled textareas.
Invalid State
Use the aria-invalid attribute to indicate validation errors.
Feedback must be at least 10 characters long.
Readonly State
Display content that can be selected but not modified.
Custom Sizing
Control the width and minimum height with utility classes.
Form Example
Complete form with textarea, showing validation and submission flow.
With Character Count
Track and display character count for textarea inputs.
Share your thoughts in 280 characters or less
0 / 280
Props
The Text Area component accepts all standard HTML textarea attributes, plus:
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Additional CSS classes merged with default styles |
disabled | boolean | false | Disables the textarea |
readOnly | boolean | false | Makes the textarea read-only |
placeholder | string | - | Placeholder text when empty |
aria-invalid | "true" | "false" | - | Indicates validation state for accessibility |
rows | number | - | Initial number of visible text lines |
maxLength | number | - | Maximum number of characters allowed |
value | string | - | Controlled value (requires onChange) |
defaultValue | string | - | Initial value for uncontrolled usage |
All standard textarea props are supported including onChange, onBlur, onFocus, name, id, etc.