Text area

Text areas allow users to enter and edit multi-line text. They typically appear in forms.

UsageCodeAccessibility
  <sl-text-area aria-label="My favourite subject" value="My favourite subject is..."></sl-text-area>

API

Component has a range of properties to define the experience in different use cases.

Properties

NameAttributeTypeDefaultDescription
autocompleteautocompletetypeof HTMLTextAreaElement.prototype.autocomplete | undefinedSpecifies which type of data the browser can use to pre-fill the textarea.

NOTE: Declare the type this way so it is backwards compatible with 4.9.5,
which we still use in `@sl-design-system/angular`.
customValiditycustom-validitystring | undefinedThe error message to display when the control is invalid.
dirty-booleanfalseA control is dirty if the user has changed the value in the UI.
disableddisabledboolean | undefinedWhether the textarea is disabled; when set no interaction is possible.
form-HTMLFormElement | nullThe form associated with the control.
formValue-unknownThe value used when submitting the form.
labels-`NodeListOf<HTMLLabelElement>` | nullThe labels associated with the control.
maxLengthmaxlengthnumber | undefinedMaximum length (number of characters).
minLengthminlengthnumber | undefinedMinimum length (number of characters).
namenamestring | undefinedThe name of the form control.
nativeFormValue-FormValueReturns the form value as used in a native `<form>`. This is always a string, File, FormData or null.
placeholderplaceholderstring | undefinedPlaceholder text in the textarea.
readonlyreadonlyboolean | undefinedWhether you can interact with the textarea or if it is just a static, readonly display.
requiredrequiredboolean | undefinedWhether the textarea is a required field.
resizeresize'none' | 'vertical' | 'auto''vertical'The way the textarea can be resized.
rowsrowsnumber | undefinedThe number of rows the textarea should initially have.
If not set, the browser defaults to 2 rows.
showValidshow-validbooleanfalseWhen set will cause the control to show it is valid after reportValidity is called.
showValidityshow-validity'valid' | 'invalid' | undefinedWhether to show the validity state.
sizesize'md' | 'lg' | undefinedmdThe size of the textarea.
textarea-HTMLTextAreaElementThe textarea in the light DOM.
touched-booleanfalseA control is marked touched once the user has triggered a blur event on it.
valid-booleanReturns whether the form control is valid or not.
validationMessage-stringString representing a localized (by the browser) message that describes the validation
constraints that the control does not satisfy (if any). The string is empty if the control
is not a candidate for constraint validation, or it satisfies its constraints.

For true localization, see `getLocalizedValidationMessage()` instead.
validity-ValidityStateReturns the validity state the control is in.
validityState-'valid' | 'invalid' | 'pending'Returns the current validity state.
valuevalueunknown | undefined''The value for the textarea.
wrapwrap'soft' | 'hard''soft'The way text should be wrapped during form submission.

Methods

NameParametersReturnDescription
focusvoid
getLocalizedValidationMessagestringThis returns a localized validation message. It does not support all `ValidityState` properties,
since some require more context than we have here. If you need to support more, you can override
this method in your own form control.
reportValiditybooleanReturns whether the control is valid. If the control is invalid, calling this will
also cause an `invalid` event to be dispatched. After calling this, the control
will also report the validity to the user.
setCustomValiditymessage: string | Promise<string>voidSets a custom validation message for the form control. If the message
is not an empty string, that will make the control invalid. By setting it to
an empty string again, you can make the control valid again.

Events

NameEvent typeDescription
sl-blurSlBlurEventEmits when the focus leaves the component.
sl-changeSlChangeEvent<string>Emits when the value changes.
sl-focusSlFocusEventEmits when the component gains focus.
sl-form-controlSlFormControlEventEmits when the form control is added to the DOM.
sl-update-stateSlUpdateStateEventEmits when the UI state (dirty, pristine, touched or untouched) of the form control changes.
sl-update-validitySlUpdateValidityEventEmits when the validity of the form control changes.
sl-validateSlValidateEventEmits when the form control can be validated.

Slots

NameDescription
textareaThe slot for the textarea element

CSS Properties

NameDescription
--sl-text-area-rowsThe number of rows initially visible in the textarea
Interactive example