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 ```