Storybook stories for the `Textarea` UI component, covering all interactive states, variants, and compositional patterns used across the Flamingo/OpenFrame platform.
## Key Components
| Export | Description |
|--------|-------------|
| `Default` | Basic textarea with placeholder text |
| `WithValue` | Pre-filled textarea using `defaultValue` |
| `Disabled` / `DisabledWithValue` | Read-only disabled states |
| `CustomRows` | Textarea with a configurable `rows` count |
| `NoResize` | Fixed-height textarea via `!resize-none` class |
| `Invalid` | Error/invalid visual state |
| `WithLabel` | Textarea paired with a label |
| `WithLabelAndError` | Label + inline validation error message |
| `WithErrorOnly` | Validation error without a label |
| `AllVariants` | Side-by-side comparison of all variants |
## Configurable ArgTypes
| Arg | Type | Description |
|-----|------|-------------|
| `placeholder` | `text` | Hint text shown when empty |
| `disabled` | `boolean` | Prevents user interaction |
| `invalid` | `boolean` | Applies error styling |
| `rows` | `number` | Visible row height |
## Usage Example
```typescript
import { Textarea } from '@/components/ui/textarea'
// Basic usage
// With label and validation error
// Disabled with pre-filled content
// Fixed height, no resize
```