import { Story, Meta, Preview, html } from '@open-wc/demoing-storybook';
import { loadDefaultFeedbackMessages, MaxLength, MinLength, Required } from '@lion/validate';
import '../lion-textarea.js';
# Textarea
`lion-textarea` is a webcomponent that enhances the functionality of the native `` element.
Its purpose is to provide a way for users to write text that is multiple lines long.
{html`
`}
Default rows is 2 and it will grow to max-rows of 6.
## Features
- `max-rows` attribute to set the amount of rows it should resize to, before it will scroll
- `rows` attribute to set the minimum amount of rows
- `readonly` attribute to prevent changing the content
## How to use
### Installation
```sh
npm i --save @lion/textarea
```
```js
import '@lion/textarea/lion-textarea.js';
```
## Examples
### Prefilled
You can prefill the textarea. If you want to prefill on multiline, you will have to add newline characters `'\n'`.
{html`
`}
### Disabled
The textarea can be disabled with the `disabled` attribute.
{html`
`}
### Readonly
`readonly` attribute indicate that you can't change the content. Compared with `disabled` attribute, the `readonly` attribute doesn't prevent clicking or selecting the element.
{html`
`}
### Stop growing
Use the `max-rows` attribute to make it stop growing after a certain amount of lines.
{html`
`}
### Non-growing
To have a fixed size provide `rows` and `max-rows` with the same value.
{html`
`}
### Validation
The textarea can have validation.
{() => {
loadDefaultFeedbackMessages();
return html`
`;
}}
```js
import { loadDefaultFeedbackMessages, MaxLength, MinLength, Required } from '@lion/validate';
loadDefaultFeedbackMessages();
```
```html
```