Measured entry
originui-comp-72
A React textarea with a floating label that moves when the field is focused or has content. It ships as a shadcn registry component plus an Origin UI textarea primitive, and depends on React, Tailwind utility styling, theme tokens, an import alias, and a shared class-merging helper.



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 | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 26.7 KB (92.1 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.13s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/textarea.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused, reusable floating-label pattern with sound label association and responsive layout, but the muted label fails a serious contrast check. It needs a shadcn-style setup and is best adopted only after correcting that color.
Use it if
- You want a compact floating-label textarea that keeps its label associated through a generated id.
- Your app already uses shadcn conventions, Tailwind utilities, and compatible theme tokens.
- You can adjust the muted label color to meet your accessibility requirements.
Skip it if
- You need a component that drops into a plain React project without shared UI infrastructure.
- Your design system avoids floating labels or requires persistent instructions above every field.
- You cannot review and correct the current label contrast before release.
Install
| Declared dependencies | none declared |
|---|---|
| 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 textarea primitive, the shared class-merging helper at the expected alias, Tailwind support for the utility syntax, and matching input, background, foreground, ring, muted, and destructive theme tokens. Then raise the label contrast.
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