Measured entry
shadcn-textarea
A copy-in React wrapper around the native textarea, shipped through the shadcn registry rather than as a standalone component package. It forwards native props and adds Tailwind utility classes for sizing, focus, disabled, invalid, and dark states. Its class merger relies on the project's cn helper, backed here by clsx and tailwind-merge.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 29.1 KB (94.6 KB build, 65.5 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
A dependable, intentionally thin textarea primitive. It builds and mounts cleanly without a provider, stays close to native browser behavior, and is easy to adapt. Choose it for visual consistency, not for advanced input behavior or a complete field abstraction.
Use it if
- You want a native textarea that matches an existing shadcn and Tailwind form system.
- You need a small source-owned primitive that accepts ordinary textarea props and local class overrides.
- You want built-in styling hooks for focus, disabled, invalid, placeholder, and dark states.
Skip it if
- Your project does not use Tailwind and you do not want to translate utility classes into local CSS.
- You need autosizing logic, character counts, validation messages, or form-field composition included in the component.
- You prefer a packaged dependency with upstream updates instead of copied source maintained in your repository.
Install
| Declared dependencies | clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | builds and mounts without the shadcn-style helpers |
| Provider | no provider required in the harness |
In a non-shadcn project, add React, Tailwind with the referenced theme tokens and dark-state conventions, plus clsx and tailwind-merge. Create the cn class-merging helper or replace it with your own utility, then copy the component and adjust its import alias.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/shadcn-ui/uiAlternatives
Other published entries for the textarea pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- originui-comp-73minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.4KB
- Bare
- pass
- Prov
- NO
- hextaui-textareaminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.8KB
- Bare
- pass
- Prov
- NO
- originui-comp-59minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 28.1KB
- Bare
- fail
- Prov
- NO
- originui-comp-60minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 28.1KB
- Bare
- fail
- Prov
- NO
- originui-comp-62minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 28.1KB
- Bare
- fail
- Prov
- NO
- originui-comp-65minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 28.1KB
- Bare
- fail
- Prov
- NO