Measured entry
originui-comp-75
A labeled comment textarea with browser resizing disabled. It ships as shadcn registry source that copies an example plus reusable Label and Textarea primitives into the app. It uses React for stable label association, Radix UI for the label primitive, a class-merging helper, Tailwind utilities, import aliases, and theme tokens.



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.1 KB (93.5 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 4.11s 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 sound, narrowly scoped choice for a fixed-size comment field: it builds, mounts, stays within its container, and the audit found no accessibility issues. It does not work as a bare drop-in and needs a shadcn-style setup, so its value is highest when those primitives and tokens already exist.
Use it if
- You need a compact, labeled comment field whose dimensions should stay fixed.
- Your app already uses shadcn-style primitives, Tailwind utilities, and matching theme tokens.
- You want the label and textarea connected through a stable generated identifier.
Skip it if
- Users need to resize the field for long-form writing.
- Your project does not use Tailwind or shadcn conventions and you do not want to add that styling infrastructure.
- You need built-in character counts, validation messaging, helper text, or controlled form state.
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 Radix UI, a class-merging helper, the configured import alias, Tailwind utilities, and the foreground, input, ring, muted, and destructive theme tokens. Copy in the Label and Textarea primitives along with the example component.
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