Aliases
multiline input
TextareaMultiline input with labels, guidance, and errors.
Aliases
multiline input
Foundations
Textarea for text that contains line breaks.Textarea for single-line identifiers or short values.field wrapper
root Carries label, helper text, and validation messaging.
field label
label Names the content being collected.
native textarea
control Multiline text entry area.
| Name | Type | Default | Description |
|---|---|---|---|
label | string | — | Visible label used for the field or control. |
description | string | — | Provides field guidance associated with the control. |
error | string | — | Shows a validation error associated with the control. |
placeholder | string | — | Placeholder text shown before a user makes a selection or enters text. |
required | boolean | false | Marks the control as required. |
disabled | boolean | false | Prevents interaction and exposes the disabled state. |
name | string | — | Form field name used for native form submission. |
id | string | — | Sets the control ID for external labels and descriptions. |
size | 'sm' | 'md' | 'lg' | 'md' | Sets the component size. |
value | string | — | Controlled textarea value. |
rows | number | 4 | Visible line count for the textarea. |
resize | 'none' | 'vertical' | 'both' | 'vertical' | Controls user resizing when enabled by the browser. |
onChange | (detail: { value: string }) => void | — | Runs when the value changes. |
theme | ThemeContract | — | Sets the theme used to resolve component styles. |
| Name | Payload | Description |
|---|---|---|
change | { value: string } | Fires with the text value. |
| Name | Description |
|---|---|
default | Textarea is prop-driven and does not expose content slots. |
Variants
default: Textarea uses one multiline shell and varies mainly by size and rows.Sizes
sm: Compact multiline field.md: Default multiline field.lg: Larger multiline field for spacious layouts.States
rest: Default multiline shell.focus-visible: Focused state with visible keyboard treatment.invalid: Validation state with error copy.disabled: Semantically disabled and visibly muted.Semantics
Keyboard
Screen readers
Checklist
Implementation notes
Textarea uses a fixed row count and does not grow automatically.A labeled multiline field for short summaries.
<Textarea label="Summary" description="Share the launch highlights." placeholder="Type the short summary." rows={4} /> Smaller size works well in inspector-style tools.
<Textarea size="sm" label="Internal note" rows={3} /> Use explicit error copy when the narrative field is mandatory.
<Textarea label="Summary" error="Add a short summary before publishing." rows={5} /> Calculated fixtures; browser evidence is not collected. Layout estimates use declared text behavior and maximum token values.
size=sm
size=md
size=lg
size=sm
size=md
size=lg