GitHubnpm

Accent theme

Base radius

GitHubnpm

Accent theme

Base radius

Colour scheme

Docs menu

Guides


Primitives
Forms
Layout
Feedback
Overlays
Navigation
Data Display
AI

Textarea

A real <textarea> that grows with its content via field-sizing: content, instead of a JavaScript scrollHeight-measuring resize handler. Falls back to a manual resize handle in browsers that don't support it yet.

It grows as you type, no JavaScript resize handler.

Playground

Toggle every adjustable prop and watch the component — and the code — update live.

Markdown is supported.

Unstyled

Same component — Kernel look stripped. See Platforms.

invalid
required
disabled
hide label
label offset
Usage
<Textarea label="Message" placeholder="Write something…" description="Markdown is supported." errorMessage="A message is required." />

Props

Props for Textarea.
PropTypeDefault
labelReactNode (required)
hideLabelbooleanfalse
descriptionReactNode
errorMessageReactNode
invalidbooleanfalse
classNamestring | (state) => string — control
wrapperClassNamestring | (state) => string
labelClassNamestring | (state) => string
descriptionClassNamestring | (state) => string
errorClassNamestring | (state) => string

Floating labels

Same slot hooks and data-focused / data-filledstate as TextField, for floating-label animations without targeting generated CSS-module class names.