Measured entry
originui-comp-76
A React example for a labeled, read-only textarea with preset copy. It ships as a shadcn registry component, composes the registry Label and Textarea primitives, uses React useId for label association, and relies on the project utility and styling conventions behind those primitives.



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 9.65s 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 sensible small pattern for presenting immutable multiline content inside an existing shadcn interface. It builds and mounts cleanly in that environment, but needs a shadcn-style setup because the bare project cannot resolve the shared utility imported by its Label primitive.
Use it if
- You need to display multiline text in a familiar form control without allowing edits.
- Your shadcn-based interface already includes compatible Label and Textarea primitives.
- You want a compact example with an explicitly associated label and read-only styling.
Skip it if
- Users must edit, submit, or validate the textarea value.
- You need built-in character counts, automatic resizing, or rich-text behavior.
- Your design system does not use shadcn-style aliases, utilities, and registry primitives.
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 the configured source alias, the shared class-name utility, compatible Label and Textarea primitives, their utility-class styling, and the Radix dependency used by the primitive stack. Alternatively, replace the registry imports 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