Textarea
Multi-line text input for longer form content
Primitive
A textarea collects multi-line text that grows with its content. Use it for comments, messages, or descriptions; for a single line such as a name or email, use Input instead.
Preview
Installation
Usage
Examples
With Label
Pair the textarea with a Label for an accessible, clickable field name.
With Helper Text
Add helper text below the field for guidance or validation messages.
Write a brief description of your project. Markdown is supported.
Controlled
Use value and onChange to drive the textarea's value yourself.
0/500 characters
Disabled State
Set disabled to block input and dim the field.
Outline Variant
Use variant="outline" to match the outline Button: a card fill with a hairline border in light mode, a recessed fill with a faint ring in dark mode. The default tint already reads on the page, Cards, Dialogs, and popovers, so no field needs a per-surface variant.
| Variant | Description |
|---|---|
default | A translucent tint that reads on any surface. |
outline | The outline Button's fill and hairline edge. |
API Reference
Props
Upgrading
If you're reinstalling over an earlier version, check these changes:
| Before | Now |
|---|---|
variant="elevated" for fields on Cards and Dialogs | Removed. The default tint works on any surface, so drop the prop. |
| One filled style | variant="outline" adds a bordered style, matching the outline Button. |