Skip to content

Textarea

Multi-line text form control with auto-grow, character counter, validation, and optional prefix/suffix icons.

HTML tag: c-e333beb6d0c9048dfb0c0cfff99b86355

  • multi-line description or comment field
  • long text with character counter
  • auto-growing text area
PropTypeDefaultDescription
valuestring
labelstring
placeholderstring
statusstringdefault
requiredboolean
disabledboolean
readonlyboolean
clearableboolean
maxlengthnumber
counterboolean
rowsnumber3
auto_growbooleantrue
helper_textstring
error_textstring
min_rowsnumber3
max_rowsnumber10
namestring
autocompletestringon
spellcheckbooleantrue
label_positionstringstacked
tonestringneutral
sizestringmd
densitystringcomfortable
prefix_iconstring
suffix_iconstring
prefix_clickableboolean
suffix_clickableboolean
clear_on_escapeboolean
icon_loadingboolean
aria_labelstring
aria_describedbystring
  • Same event pattern as ab-input: input-changed (live), value-committed (final), validated.
  • Use rows/min_rows/max_rows and auto_grow for height.
  • maxlength + counter for limits.
  • label_position is stacked only.
EventDetail
input-changedvalue: string
value-committedvalue: string
validatedvalid: boolean, errors: array
cleared
focus
blur
prefix-clickoriginalEvent: Event
suffix-clickoriginalEvent: Event
SignatureDescription
focus()
blur()
select()
setValue(value: string, options: object)
validate()
clear()

Do not use ab-input with many rows hack. Do not use for short labels under 2 lines unless UX requires auto-grow textarea.

<c-e333beb6d0c9048dfb0c0cfff99b86355 .label=${'Description'} .value=${desc} .rows=${4} .maxlength=${500} .counter=${true} @value-committed=${onDescCommit}></c-e333beb6d0c9048dfb0c0cfff99b86355>