generated:catalog.entry.textarea.title
generated:catalog.entry.textarea.description
@xngui/components/textarea@xngui/components/textareachrome:demo.section
chrome:demo.preview
import { form, validate } from '@angular/forms/signals';
import { XForm } from '@xngui/components/form';
import { XFormField } from '@xngui/components/form-field';
import { XTextarea } from '@xngui/components/textarea';
private readonly model = signal({ bio: '' });
protected readonly demoForm = form(this.model, (path) => {
syncDemoStringLength(path.bio, () => this.controlState());
validate(path.bio, ({ value }) => demoStringFieldErrors(this.controlState(), value));
});
chrome:demo.events.title
chrome:demo.events.empty
chrome:demo.api.title
x-textarea
chrome:demo.api.col.property
chrome:demo.api.col.type
chrome:demo.api.col.default
chrome:demo.api.col.description
sizeXSize—Visual size tier — falls back to parent `x-form` then XConfigService when unset.
densityXDensity—Spacing offsets — orthogonal to `size`; falls back to parent `x-form` then XConfigService when unset.
placeholderstring''Placeholder text shown when the control is empty.
rowsnumber3Visible row count for the textarea.
autocompleteXAutocomplete—Native `autocomplete` hint for the control.
lookXFormLook—Field chrome — outline, fill, flat, or none; falls back to parent `x-form` then XConfigService.
maskXTextMaskInput—As-you-type mask — preset (`phone`, `date`, …), Maskito options, or config with `unmask`. Model value stays unmasked (digits-only for presets).
inputModestring—Native `inputmode` hint for mobile keyboards.
spellcheckboolean—Native `spellcheck` attribute.
enterKeyHintstring—Native `enterkeyhint` for the virtual keyboard action key.
controlIdstring—Native `id` on the control; falls back to `name`, then a generated id.
disabledbooleanfalseKept in sync by `[formField]`; set directly for standalone use.
readonlybooleanfalsePrevents editing while keeping the control focusable.
invalidbooleanfalseMarks the control invalid — display timing defers to ancestor `x-form-field` when wrapped.
requiredbooleanfalseSets the native `required` attribute and `aria-required`.
minLengthnumber—Native `minlength` constraint for validation.
maxLengthnumber—Native `maxlength` constraint for validation.
namestring''Form control name — used as `name` on the native element and for id fallback.