For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/components/textarea.md.

Textarea

Multi-line free text, for answers that run to sentences — reach for Input when one line will do, since a tall box tells the reader to write more than you want. Like Input, it reads Field context for its label, description and error state.

Source · Storybook

Usage

import { Textarea } from '@wallarm-org/design-system/Textarea';

Examples

Sizes

The same 36 / 32 / 24px scale as Input, applied to the single-row height, so a textarea lines up with the fields around it before it grows.

Focused

Focus is a ring outside the border, as on every other field, so the box doesn't shift when the reader tabs into it.

Disabled

Dimmed and not focusable. Say elsewhere what would enable it.

With value

A filled box. Text starts at the top rather than centring, which is why the height you choose reads as an invitation.

With error

error reddens the border and sets aria-invalid; the message is FieldError's job.

Auto resize

Passing maxRows turns auto-resize on: the box starts at minRows and grows with the text until it hits the cap, then scrolls. Without maxRows the height is fixed.

Inside an InputGroup with a block-end addon, which is how the composer pattern is built — auto-resize plus a toolbar that stays attached as the box grows.

Props

PropTypeDefaultDescription
minRowsnumber | undefined
maxRowsnumber | undefined
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
onChangeChangeEventHandler<T, HTMLTextAreaElement> | undefined
disabledboolean | undefinedfalse
namestring | undefined
valuestring | number | readonly string[] | undefined
autoCompletestring | undefined
maxLengthnumber | undefined
minLengthnumber | undefined
placeholderstring | undefined
readOnlyboolean | undefined
requiredboolean | undefined
size{ small: string; medium: string; default: string; 'inline-edit': string; }default
error{ true: string; false: string; }false
data-testidstring | undefined