Measured entry
originui-comp-77
A React client component that pairs an accessible label with a compact textarea that grows with its content and stops at a capped height. It ships as a shadcn registry item, composes Origin UI label and textarea primitives, uses React's generated ID for association, and relies on Tailwind utility classes plus the registry's Radix-backed UI setup.



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 | 28.2 KB (93.6 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 6.14s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/label.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused, sensible choice for short freeform input, with clean mounting and responsive behavior in the prepared harness. It needs a shadcn-style setup before it will build or mount in a bare React project, and its CSS-driven growth deserves a browser-support check.
Use it if
- You need a concise comment or note field that expands as the user types.
- Your app already uses shadcn-style component aliases, Tailwind utilities, and shared form primitives.
- You want label association handled without supplying IDs at each call site.
Skip it if
- You need consistent autogrow behavior in browsers that do not support CSS field sizing.
- You need a multiline editor with validation feedback, a character counter, or rich text controls.
- You want a drop-in textarea with no shadcn registry structure or project utility layer.
Install
| Declared dependencies | radix-ui |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add compatible label and textarea primitives, the shared class-name utility they import, matching path aliases, Tailwind processing for the supplied utilities, and the required Radix package. Alternatively, replace the registry imports and class helper with local equivalents.
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/origin-space/originuiAlternatives
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
- shadcn-textareaunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 29.1KB
- 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