Skip to content

Textarea

<ax-textarea> is a multi-line text input. It shares the same CVA contract and inputVariants size ramp as Input, so it works with [(value)], [(ngModel)], and reactive forms.

import { AxTextareaComponent } from '@axisui-ng/forms';
<ax-textarea [(value)]="bio" [rows]="6" placeholder="Tell us about yourself" />
<ax-form-field label="Bio" forId="bio">
<ax-textarea id="bio" [(value)]="bio" />
</ax-form-field>
OptionValuesDefaultNotes
size'sm' | 'md' | 'lg''md'Padding / typography via shared inputVariants.
<ax-textarea size="sm" [rows]="3" placeholder="Small" />
<ax-textarea size="md" [rows]="4" placeholder="Medium" />
<ax-textarea size="lg" [rows]="6" placeholder="Large" />
InputTypeDefaultNotes
valuemodel<string | null>nullTwo-way value ([(value)]); also CVA.
idstring | nullnullInner <textarea> id — match a FormField forId.
size'sm' | 'md' | 'lg''md'Padding / typography.
rowsnumber4Visible text rows.
placeholderstring''Placeholder text.
requiredbooleanfalseSets aria-required.
readonlybooleanfalseRead-only.
disabledbooleanfalseDisabled (also via CVA setDisabledState).
invalidbooleanfalseError styling + aria-invalid (OR’d with FormField wiring).
describedBystring | nullnullaria-describedby; explicit value wins over FormField auto-wiring.

Renders a native <textarea>. Associate a label via id + FormField forId, or a wrapping <label>. Inside a FormField, aria-describedby / aria-invalid are auto-wired unless overridden.

Interactive examples live in Storybook under Forms / Textarea. Run pnpm storybook to explore them.