Measured entry
hextaui-auth-magic-link
A client-side React card for passwordless email sign-in, with pending, sent, verified, and expired states plus validation and resend cooldown behavior. It ships as shadcn registry source and depends on a local cn helper, registry Button, Card, Field, and InputGroup primitives, Lucide icons, and Radix-backed packages.



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 | 35.6 KB (101.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 2m 15s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/auth/auth-magic-link.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A solid presentation layer for a magic-link flow, with useful state coverage and clean callback boundaries. It needs a shadcn-style setup and will not mount bare because its local utility and registry component imports must be supplied.
Use it if
- You need a complete magic-link UI state flow while keeping authentication calls in parent callbacks.
- Your app already uses shadcn-style aliases, theme tokens, and composable UI primitives.
- You want built-in email validation, loading feedback, resend handling, and accessible status messaging.
Skip it if
- You need authentication transport, token verification, routing, or session creation included in the component.
- Your design system does not provide compatible Card, Field, Button, and InputGroup primitives.
- You need several copies on one page without first changing the fixed email field identifier.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-label, @radix-ui/react-separator |
|---|---|
| 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 cn utility and configure the at-sign path alias, then provide compatible Button, Card, Field, and InputGroup components with the expected theme classes. Install React, Lucide icons, and the declared Radix packages, and wire the submit and resend callbacks to your auth service.
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/preetsuthar17/HextaUIAlternatives
Other published entries for the auth-form pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- meraki-auth-sign-in-card-with-side-imageminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.9KB
- Bare
- pass
- Prov
- NO
- shadcn-block-login-01minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.3KB
- Bare
- fail
- Prov
- NO
- shadcn-block-login-02minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-login-05minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.9KB
- Bare
- fail
- Prov
- NO
- 8bitcn-login-formskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 33.2KB
- Bare
- fail
- Prov
- NO
- 8bitcn-advanced3skeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 33.3KB
- Bare
- fail
- Prov
- NO