Email-First Sign In
Full-height progressive sign-in. Initially shows only an email field and a Continue button; after Continue, reveals a password field with the entered email shown above it as static text and an Edit link to return to the email step.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/email-first-sign-in.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/auth/auth34.tsx instead.
Usage
The file also exports auth34Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Auth34, auth34Demo } from "@/components/blocks/auth/auth34"; export default function Page() { return <Auth34 {...auth34Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Sign in" | Heading above the form. |
| description | string | "Enter your email to continue." | Helper text below the heading. |
| continueLabel | string | "Continue" | Label on the button shown during the email step. |
| signInLabel | string | "Sign in" | Label on the button shown during the password step. |
| className | string | none | Extra classes for the outer section element. |
Behavior notes
- Real client state: the email input is controlled, and clicking Continue with a non-empty value transitions to the password step, no real validation (format checks, existence checks) is performed, only a non-empty check.
- Once in the password step, the entered email is shown as static text with an Edit button that returns to the editable email step, discarding nothing since the email value is preserved in state.
- The final Sign in button is left inert, actually authenticating is a backend action out of scope for this demo.
More Auth Blocks
View all →centered-sign-in-card
Centered Sign In Card
Full-height centered sign-in card with social buttons, a password show/hide toggle, and remember-me.
split-screen-sign-up
Split-Screen Sign Up
Two-column registration screen with a sign-up form on one side and a full-bleed photo with a customer quote on the other.
email-verification-code
Email Verification Code
Full-height OTP screen with a 6-digit segmented code input, auto-advancing focus, and a live resend countdown.
forgot-password-request
Forgot Password Request
Full-height password recovery screen with a single email field, a send-reset-link button, and a back-to-sign-in link.
set-new-password
Set New Password
Full-height reset-password screen with independent show/hide toggles per field and a live password-requirements checklist.
magic-link-sign-in
Magic Link Sign In
Full-height passwordless sign-in screen with an email field, a send-magic-link button, and social login as a fallback.