Textarea
Multi-line text with the same border, focus and invalid recipe as Input. It grows with its content, so short notes stay short.
bunx --bun shadcn@4.17.0 add @waimakers/textarea- npm dependencies
- None
From the registry
shadcn's textarea, restyled to the brand and to Input's own class list — a form must not show two borders, two focus rings or two placeholder colours across its single- and multi-line fields, and stock shadcn styles the two differently (it fades the border on focus; the kit rings, on --text rather than orange, because orange fails WCAG SC 1.4.11 on white). aria-invalid draws Input's measured treatment: a 2px --danger edge, the border plus a solid 1px ring, because --danger is never an opacity fade here. dark:bg-input/30 is dropped too — dark is a token set in this kit, not a variant, and --border is never a fill. field-sizing-content grows the box with what is typed; min-h-24 is a three-line floor rather than shadcn's two, because the callers are prose fields and rows still overrides it.
Examples
Default
Type a few lines. The field grows to fit and starts at about four lines tall.
With a limit
Count characters in the description so people see the limit before they hit it.
69 of 140 characters
States
Disabled, invalid and focused, matching Input exactly.