Measured entry
originui-comp-68
A compact React comment field that pairs an associated label and textarea with an outline send button. It ships as a shadcn registry composition rather than a standalone widget, and relies on the registry's Button, Label, and Textarea primitives, Tailwind theme utilities, Radix UI, class-variance-authority, and the shared cn 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 | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 28.8 KB (94.2 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 3.25s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/button.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A clean, accessible composition for a basic comment action, but it offers little beyond wiring existing primitives together. It builds and mounts in the prepared harness, while a bare app fails because the shared utility alias is absent, so it needs a shadcn-style setup or equivalent project wiring.
Use it if
- You need a small comment or feedback field with a clearly associated label and an adjacent submit action.
- Your app already uses shadcn-style primitives and theme tokens, so the composition can inherit the existing design system.
- You want a static, uncontrolled starting point and will connect validation, submission, and pending state yourself.
Skip it if
- You need built-in form state, validation messages, character limits, autosizing, or submission behavior.
- Your design system does not use Tailwind utilities or shadcn-style theme tokens and aliases.
- You need the action placed inside the textarea, a toolbar, attachments, or rich-text editing.
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 React, Radix UI, class-variance-authority, the Button, Label, and Textarea implementations, a cn class-merging helper, the matching import aliases, and Tailwind styles with the referenced theme tokens. Then connect the button and textarea to your form logic.
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