Skip to content

Textarea

A multi-line input field for longer user content.

---
import { Textarea } from '@bejamas/registry/ui/textarea';
---
<Textarea placeholder="Type your message here..." />
Terminal window
bunx bejamas add textarea
---
import { Textarea } from '@bejamas/registry/ui/textarea';
---
<Textarea placeholder="Type your message here..." />

Set aria-invalid="true" to show the error state. Wrap the textarea in a Field with a FieldError to describe the problem.

---
import { Field, FieldError, FieldLabel } from '@bejamas/registry/ui/field';
import { Textarea } from '@bejamas/registry/ui/textarea';
---
<Field data-invalid="true" class="w-full max-w-sm">
<FieldLabel for="message-invalid">Message</FieldLabel>
<Textarea
id="message-invalid"
placeholder="Type your message here..."
aria-invalid="true"
aria-describedby="message-invalid-error"
/>
<FieldError id="message-invalid-error">Message is required.</FieldError>
</Field>

Pass the initial text as children, or with value / defaultValue.

---
import { Textarea } from '@bejamas/registry/ui/textarea';
---
<Textarea class="max-w-sm">Thanks for the quick reply!</Textarea>