# Textarea

Multiline input. Extends the Input recipe, so edits to Input flow through.

[Documentation](https://eoria.adamtrip.pt/components/textarea/)

[Registry source](https://eoria.adamtrip.pt/r/textarea.json)

npm dependencies: @eoria/core, react-native-unistyles.

Registry dependencies: input.

```sh
npx @eoria/cli add textarea
```

## Usage

```tsx
import { Textarea } from '@/components/ui/textarea'

<Textarea placeholder="Tell people about yourself" value={bio} onChangeText={setBio} />
<Textarea size="lg" />
```

## Variants

Same as [Input](https://eoria.adamtrip.pt/components/input.md). Sizes map to 80, 96 and 136pt minimum heights.

## Notes

This is the smallest example of `extendSlotRecipe` in the registry. The recipe adds `minHeight`, vertical padding, a line height and `textAlignVertical: 'top'`, and inherits everything else. Change the Input radius and the Textarea follows.

The text field comes from `TextInputContext`, as it does for [Input](https://eoria.adamtrip.pt/components/input.md), so a Textarea inside a [Sheet](https://eoria.adamtrip.pt/components/sheet.md) uses the sheet's keyboard handling.

## Source

[`registry/ui/textarea.tsx`](https://github.com/adamtrip-solutions/eoria/blob/main/registry/ui/textarea.tsx)
