Prodular UI

Textarea

A multi-line text field that grows with its content, for notes, descriptions and messages.

npx prodular-ui add textarea

With a field

Grows with the text. Markdown is supported.

States

Invalid and disabled.

Anatomy

<Field>  <FieldLabel>Release notes</FieldLabel>  <Textarea placeholder="What changed in this release?" /></Field>

Guidance

Use it when

  • Text that can run to several sentences: descriptions, release notes, feedback, welcome messages.

Avoid

  • Single values like a name or a title. Use Input.
  • Rich text editing. Textarea is plain text only.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Wrap it in Field with a FieldLabel. The label and description are linked automatically.
  • It grows with its content through field-sizing. Set a max height with className (for example max-h-64) when the text can get long.
  • Say in FieldDescription if Markdown or a character limit applies.

API

Textarea

PropTypeDefaultDescription
rowsnumberInitial visible rows in browsers without field-sizing support.
aria-invalidbooleanError border and ring. Set automatically inside an invalid Field.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add textarea# or, with the registry in components.jsonnpx shadcn@latest add @prodular/textarea