Skip to content
Component

Textarea

Multi-line text entry, sharing Input's border, focus and invalid states. Registers itself with an ancestor FormField automatically.

Basic

Sizes

The same sm / md / lg scale as Input, applied to padding and text.

Inside a FormField

No wiring needed - the label, description and error associate themselves.

Visible to your team only.

Clearable

clearable pins a clear button to the top-right corner once there is a value.

  • Clearing fires a native input event, so onChange sees it whether the value is controlled or not

States

invalid paints the error surface; the message itself belongs to FormField.Error.

  • rows sets the initial height; the control stays resizable unless you disable it in CSS

API reference

clearablefalse
boolean

Shows an "X" button once there is a value that clears it. Works controlled or uncontrolled: it sets the DOM value and fires a native `input` event, so `onChange` sees the change.

invalidNone
boolean

Paints the error state. Pair with `FormField`'s `error` for the message.

rowsNone
number

Visible text lines. Without it, `size` sets a min height (5rem / 6rem / 8rem for `sm` / `md` / `lg`); with it the box is exactly `rows` tall, so `rows={1}` gives a growable one-line composer.

size"md"
ComponentSize

Padding and text scale, matching `Input` at the same value.

Also accepts everything from React.TextareaHTMLAttributes<HTMLTextAreaElement>.

Coding agents read this reference, with its examples, from the version your project has installed, through the Fuji UI MCP server. Set up your agent