# Textarea

> Source: https://design.nanatec.co.ke/components/textarea/
> A `<nana-textarea>` element.

A `<nana-textarea>` element.

## Preview

```html
<nana-textarea label="Message" placeholder="Write something…" rows="3" style="min-width:18rem"></nana-textarea>
```

## Installation

```bash
npm install @nana-tec/ui-components
```

## Import

```js
import "@nana-tec/ui-components/textarea";
```

## Basic usage

```html
<nana-textarea label="Message" placeholder="Write something…" rows="3" style="min-width:18rem"></nana-textarea>
```

## States

```html
<nana-textarea label="Disabled" placeholder="Cannot edit" disabled style="min-width:20rem"></nana-textarea>
<nana-textarea label="Readonly" value="Read-only content" readonly style="min-width:20rem"></nana-textarea>
<nana-textarea label="Invalid" value="bad value" invalid error-message="Please fix this field" style="min-width:20rem"></nana-textarea>
```

## API

## CSS Parts

| Part | Description |
|---|---|
| `textarea` | The native `<textarea>` element |
| `counter` | The character counter span |

## Accessibility

<ul class="a11y-grid not-content">
  <li>Keyboard accessible</li>
  <li>Screen-reader labels</li>
  <li>Focus-visible states</li>
  <li>ARIA roles and states</li>
  <li>WCAG 2.2 AA contrast</li>
</ul>

## Related components

<ul class="related not-content">
  <li><a href="/components/button/">Button</a></li>
  <li><a href="/components/button-group/">Button Group</a></li>
  <li><a href="/components/icon-button/">Icon Button</a></li>
  <li><a href="/components/input/">Input</a></li>
  <li><a href="/components/range/">Range</a></li>
</ul>

## Storybook

See every state and prop interactively in Storybook: https://storybook.nanatec.co.ke/?path=/docs/components-textarea--docs
