Ballmac UI home

Textarea

A multi-line text field that can grow with its content between minRows and maxRows, then scroll. Plain resizable mode when autoResize is off.

We read every message. Please don't include passwords.

Installation

$ pnpm dlx shadcn@latest add @ballmac/textarea

Usage

import { Textarea } from "@/components/ballmac/textarea"

The full example is in the Code tab above.

Examples

Auto-resize

API reference

PropTypeDefault
autoResize

Grow and shrink with the content instead of scrolling.

booleanfalse
minRows

Smallest height in rows when autoResize is on. Defaults to `rows` or 3.

number—
maxRows

Largest height in rows when autoResize is on; past it the textarea scrolls.

number—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
TabMoves focus to the textarea
EnterInserts a new line

Use with AI

Multi-line text input. Set autoResize with minRows and maxRows for chat composers and comment boxes; leave it off for a user-resizable box with a fixed rows count. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Textarea (@ballmac/textarea) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Comments, feedback and descriptions
  • Chat or prompt composers that grow as the user types (autoResize)
  • Notes fields in settings forms

Not for

  • Single-line values (use input)
  • Rich text or markdown editing with formatting controls

Registry JSON: https://ui.ballmac.com/r/textarea.json

Credits

Based on shadcn/ui Textarea, adapted by Ballmac. Free to use in personal and commercial projects.

npm
None
Registry
shadcn/utils