Textarea

Textarea is a neobrutalist React component from Cruise UI. Multi-line text styled like the inputs, with auto-grow and a character counter. Install it with npx shadcn@latest add @cruiseui/textarea.

Install

Terminal

npx shadcn@latest add @cruiseui/textarea

First time? Installation shows the one-off components.json setup (the @cruiseui registry) and how to turn the theme on.

Example

Corners

0 / 500 characters

Tell us a bit more (at least 20 characters).

When to use it

When to use

Longer free text: delivery notes, messages, reviews.

When not to

One-line answers (use an Input).

Props

CruiseTextarea

PropTypeDefaultDescription
label?string—Visible label. Leave out inside a CruiseFormField (it brings the label).
hint?string——
error?string——
autoGrow?booleanfalseGrows with its content instead of scrolling (still resizable).
showCount?booleanfalseShows "120 / 500" under the box; needs maxLength, or shows the count alone.

Also takes every native <textarea> attribute.

Accessibility

  • A visible label (or a FormField around it).
  • The counter ("120 / 500") is linked with aria-describedby.
  • 17px text, so iOS doesn't zoom in on focus.