Skip to content

Textarea

...

Browser support

...

Parameters

The CSS component uses the <label> tag.

The parametrization of the component can be done with the following custom HTML params:

NameTypeDescription
z-textareastring

The main parameter has two components following the pattern: <shape><?:size>.

  • shape: Establishes the styling of the input. Default value is line . Possible values are: shaped or line. ,
  • size: (optional) defines de size of the input. The default value is m, being omitted from the param. The possible values are: m or l.
labelstringLabel of the input
readonlyboolean?Transforms the input into an output
valuestring?Value of the model
disabledboolean?Blocks the interaction with the input component.
requiredboolean?Marks the input component as required.
namestring?Identification for the field inside the form
help-textstring?The forced message to be shown under the input
elasticboolean?Makes the textarea auto-grow on typing

The events emitted from the component are:

NamePayloadDescription
onchangestringReturns the new value of the "value" attribute

Invalid input

If you require to make the input invalid, use the native API of the input using setCustomValidity. If no message is provided, the input is set to valid.

ts
// Make invalid
input.setCustomValidity('Error message');
input.checkValidity();

Or you can use the data-invalid attribute if you are using the scripts:

html
<label z-textarea>
  <span>Text area</span>
  <textarea data-invalid />
</label>

Playground

Customization

HTML Examples

Imports
html
<script type="module" src="/0.3.6/@zurich/css-components/javascript.js"></script>
<link rel="stylesheet" href="/0.3.6/@zurich/css-components/base.css" />
<link rel="stylesheet" href="/0.3.6/@zurich/css-components/Textarea.css" />
Code
html
<!-- Default -->
<label z-textarea>
  <span>Textarea</span>
  <textarea placeholder=""></textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <textarea placeholder=""></textarea>
</label>

<!-- With value -->
<label z-textarea>
  <span>Textarea</span>
  <textarea placeholder="">Some text</textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <textarea placeholder="">Some text</textarea>
</label>

<!-- Disabled -->
<label z-textarea>
  <span>Textarea</span>
  <textarea placeholder="" disabled></textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <textarea placeholder="" disabled></textarea>
</label>

<!-- Readonly -->
<label z-textarea>
  <span>Textarea</span>
  <textarea placeholder="" readonly>Some text</textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <textarea placeholder="" readonly>Some text</textarea>
</label>

<!-- With help text -->
<label z-textarea>
  <span>Textarea</span>
  <small>Help text</small>
  <textarea placeholder=""></textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <small>Help text</small>
  <textarea placeholder=""></textarea>
</label>

<!-- With maxlength -->
<label z-textarea>
  <span>Textarea</span>
  <textarea placeholder="" maxlength="20"></textarea>
  <output>0 / 20</output>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <textarea placeholder="" maxlength="20"></textarea>
  <output>0 / 20</output>
</label>

<!-- Invalid -->
<label z-textarea>
  <span>Textarea</span>
  <small>Invalid input</small>
  <textarea placeholder="" data-invalid></textarea>
</label>
<label z-textarea="shaped">
  <span>Textarea</span>
  <small>Invalid input</small>
  <textarea placeholder="" data-invalid></textarea>
</label>