Textarea

OverviewExamplesPropertiesSlotsMethodsEventsCSS PropertiesUsageIntegration

Textarea is a component that allows user to write text over multiple rows. Used when the expected user input is long. For shorter input, use the Input component.

Properties

PropertyAttribute Description TypeDefault
resizeresizeControls whether the textarea is resizable. By default is manually resizable vertically. Set to "auto" to enable auto-resizing as content grows.'vertical' | 'auto''vertical'
expandexpandControls whether the textarea expands to fill the width of its container.booleanfalse
maxLengthmaxlengthControls the max allowed length for the textarea.number | undefined
characterCountercharacter-counterControls whether to show a count of the number of characters in the textarea. When combined with `maxlength`, both the count and the max length are shown.booleanfalse
sizesizeThe size of the component.'s' | 'm' | 'l''m'
labellabelLabel for the input.string''
hinthintOptional hint text to be displayed with the input. Alternatively use the hint slot.string | undefined
hideLabelhide-labelVisually hide the label, but still show it to assistive technologies like screen readers.booleanfalse
placeholderplaceholderPlaceholder text to display within the input.string | undefined
errorerrorOptional error to be shown with the input. Alternatively use the error slot.string | undefined
requiredrequiredDetermines whether the input is required or not. An input marked as required will be announced as such to users of assistive technology. When using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.booleanfalse
hideRequiredhide-requiredVisually hide the required indicator, but still show required attribute to assistive technologies like screen readers.booleanfalse
autocompleteautocompleteSpecifies the data type of the field, so that the browser may attempt to fill out the field automatically on behalf of the user.AutocompleteAttribute'off'
readonlyreadonlyMakes the component readonly, so that it is not editable. Readonly differs from disabled in that readonly fields are still focusable and will be submitted with a form.booleanfalse
disableddisabledMakes the component disabled. This prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies.booleanfalse
namenameThe name of the form component.string | undefined
valuevalueThe value of the form component.string''
formformGets the form, if any, associated with the form element. The setter accepts a string, which is the id of the form.HTMLFormElement | null

Slots

Slot name Description
labelUse when a label requires more than plain text.
hintOptional slot that holds hint text for the textarea.
errorOptional slot that holds error text for the textarea.

Methods

Method nameParameters Description
focus(options?: FocusOptions) => voidoptions: An object which controls aspects of the focusing process.Programmatically move focus to the component.
blur() => voidN/AProgrammatically remove focus from the component.
click() => voidN/AProgrammatically simulates a click on the component.
EventDetail TypeDescription
selectNordEventFired when some text has been selected.
inputNordEventFired as the user types into the input.
changeNordEventFired whenever the input's value is changed via user interaction.

CSS Properties

CSS Custom Properties provide more fine grain control over component presentation. We advise utilizing existing properties on the component before using these.

PropertyDescriptionDefault
--n-textarea-inline-sizeControls the inline size, or width, of the textarea.240px
--n-textarea-block-sizeControls the block size, or height, of the textarea.76px
--n-textarea-backgroundControls the background of the textarea, using our color tokens.var(--n-color-active)
--n-textarea-colorControls the text color of the textarea, using our color tokens.var(--n-color-text)
--n-textarea-border-colorControls the border color of the textarea, using our color tokens.var(--n-color-border-strong)
--n-textarea-border-radiusControls how rounded the corners are, using border radius tokens.var(--n-border-radius-s)
--n-label-colorControls the text color of the label, using our color tokens.var(--n-color-text)

Usage

This section includes guidelines for designers and developers about the usage of this component in different contexts.

Do

  • Use to allow text input where the expected input is long.

Don’t

  • Don’t use when the expected text input is short. Use input component instead.

Content guidelines

Textarea labels act as a title for the text field. Labels should typically be short and in noun form:

Company name
What is your company name?

When writing textarea labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):

Provide description
Provide Description

When a textarea isn’t part of a form and is placed individually on a page, you could provide the textarea label as a call to action:

Leave a comment
Comment

Do not use colons in textarea labels:

Provide description
Provide description:

Integration

For integration guidelines, please see Web Components documentation .

Was this page helpful?

Yes No

We use this feedback to improve our documentation.