Forms

Textarea

A multi-line field. Auto-resize is CSS (`field-sizing: content`, with a replica fallback) rather than a keystroke handler — so it also grows on paste, on a programmatic set, and for an initial value, none of which v0 handled.

data-scope="textarea"

Usage

<Textarea label="Notes" autoResize rows={3} />
<Textarea label="Notes" auto-resize :rows="3" />
<Textarea label="Notes" autoResize rows={3} />
<textarea ckTextarea label="Notes" autoResize [rows]="3"></textarea>

Props

PropTypeDefaultNotes
variant"default" | "filled" | "outline""default"Field style. v0 had Input take `outline` and Textarea `outlined`.
size"sm" | "md" | "lg""md"Control size.
labelReactNodeLabel, associated by id.
helperTextReactNodeHint below the field.
invalidbooleanfalseMarks the field invalid. v0 called this `error`.
errorMessageReactNodeReplaces helperText and wins aria-describedby.
fullWidthbooleantrueStretch to 100%.
autoResizebooleanfalseGrow with the content.

Prop names are identical in all four frameworks. Only two-way binding differs, and each framework uses its own idiom over the same underlying prop.

Migrating from react-ui-toolkit

v0v1Notes
errorinvalid
variant="outlined"variant="outline"Now matches Input.