Measured entry
originui-comp-119
A compact row of outline icon buttons for Google, Facebook, X, and GitHub sign-in. It ships as a shadcn registry component built on a shared Button primitive, Remix Icon React, Radix Slot, class variance utilities, Tailwind classes, and a local class-name helper. It provides presentation only, not authentication flows.



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 | 29.6 KB (95.0 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.96s 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
The configured build is clean and the icon buttons have accessible names, but this is presentation only. It needs a shadcn-style setup because the bare install cannot resolve the shared utility. Choose it when the existing Button conventions already match your app.
Use it if
- Your sign-in screen needs a compact icon-only provider row.
- Your app already uses shadcn-style Button variants and theme tokens.
- You want provider buttons with explicit accessible names while supplying the authentication handlers yourself.
Skip it if
- Your users need visible provider names rather than relying on recognizable brand icons.
- You need a complete OAuth flow with loading, error, and disabled states included.
- Your design system does not use Tailwind utilities or shadcn-style shared primitives.
- You want to avoid adding a separate icon library for a small control group.
Install
| Declared dependencies | @remixicon/react, 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 or replace the shared Button primitive and class-name helper, then provide class variance utilities, Radix Slot, Remix Icon React, Tailwind utility processing, and matching theme tokens. Wire each button to its provider flow and retain the accessible labels.
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 button pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- neu-buttonneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- clay-buttonclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- tripled-animated-radio-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glow-link-buttonliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 58.9KB
- Bare
- pass
- Prov
- NO
- tripled-mood-gradient-button-shadcnuigradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 59.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glass-ai-cardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 59.5KB
- Bare
- pass
- Prov
- NO