Components / Inputs

Textarea nativelite

A multi-line text field.

A2UI basic
TextField (longText)
Children
none
Loading the renderer…
Textarea rendered by the React renderer on Web
Web React
Textarea rendered by the SwiftUI renderer on iOS
iOS SwiftUI
Textarea rendered by the Compose renderer on Android
Android Compose
Textarea rendered by the gpui renderer on Desktop
Desktop gpui

View exponential-ui-textarea, painted by each native renderer.

disabled
PropTypeDefaultDescription
labelrequiredstring–The field label.
namerequiredstring–The field's key in the submitted data.
placeholderstring–Hint text while empty.
rowsnumber3Visible lines (the minimum when autosizing).
autosizebooleanfalseGrows with the text from rows up to maxRows.
maxRowsnumber–Autosize stops growing here and scrolls.
valuebindstring–The text; bind it to a data path.
disabledbooleanfalseShows it inert.
checks[check]–Validation rules.
validateOnchange | blur | submit"blur"When the checks run.
NameKind
on.changeevent: runs an action
on.focusevent: runs an action
on.blurevent: runs an action
Role
textbox
Semantics
textbox (multiline)
KeysAction
Enternewline
Recipe parts
Textarea/rootTextarea/labelTextarea/fieldTextarea/placeholderTextarea/descriptionTextarea/error
Keyed by
disabled:hover:pressed:focus:disabled:checked:open:selected:invalid:dragover

Themes · Write a theme

Text area

The field's own recipe, grown: radius 12, card fill under a card stroke, focus swaps the stroke to active — no ring.

More

Padding 8/12, three rows tall, and it GROWS with content; the drag handle is off everywhere. Inside a group it goes borderless, because the row is already the chrome.