Textarea

A field for multi-line text.

Default

Primary (neutral-100) is the default. Connect a visible Label with htmlFor and id.

Secondary

White with a shadow, for a textarea that sits on a neutral panel.

Height

Textarea grows with its content from a 64px minimum. Raise the minimum with className for long-form content.

Disabled

Error

Set aria-invalid for the danger ring and point aria-describedby at the message.

Enter what the agent says before transferring the call.

Best practices

When to use

  • Use for free-form content that can wrap to multiple lines, such as system prompts, call notes, or handoff messages.
  • Use Input for short single-line values and a code editor for structured code or JSON.

Behavior

  • Textarea grows with its content from a 64px minimum. Raise the minimum with className (for example min-h-32) when the expected content is long.
  • Use InputGroupTextarea with a block-end InputGroupAddon for hints and actions below the text, such as a send button.
  • Use variant="secondary" only on neutral panels; primary is the default.

Content

  • Use a concise sentence-case label such as “System prompt” and a realistic example placeholder.

Accessibility

  • Connect a visible Label with htmlFor and id. For errors, set aria-invalid and point aria-describedby at the message.