TextArea

TextArea

View in Storybook

A TextArea is a multi-line field for collecting longer user text. It inherits all native <textarea> behaviour from the browser.


Overview


When to use

  • To collect multi-line free-form text from the user (comments, descriptions, messages).
  • Inside forms where the expected input is longer than a single line.

When not to use

  • For single-line input — use TextInput instead.
  • For selecting from a fixed set of options — use a select or combobox.

Variants

TextArea has a single default variant. Height is controlled by the native rows prop rather than variant classes.


States

Default

Focus

On focus, the inner bevel deepens — the top-left shadows intensify to signal the field is active. This state is CSS-driven (:focus) and not statically renderable in a story.

Motion animationtransition-[box-shadow] 150ms

With Value

Disabled

Disabled textareas reduce to 40% opacity and show a not-allowed cursor. The disabled prop is a standard HTML attribute passed directly to the native element.


Controls

Interactive controls are available in Storybook. Open Storybook


Props


Token mapping

PropertyToken
background--color-bg-page
text color--color-text-primary
placeholder color--color-text-secondary
bevel (top-left outer)--sunken-outer-dark
bevel (bottom-right outer)--sunken-outer-light
bevel (top-left inner)--sunken-inner-dark
bevel (bottom-right inner)--sunken-inner-light

Changelog

DateChange
2026-03-27Initial component created, mirroring TextInput bevel style for multi-line input