4 variants
Auth
Sign in, sign up, a one time code and a password reset, all sharing one form kit with inline errors and loading buttons that never resize.
Sign in
Email and password with a forgot link, optional social buttons, inline field errors, and a loading button that keeps its size.
Welcome back
Sign in to your account.
No account yet? Sign up
import { AuthSignIn } from "@/components/blocks/auth-sign-in";
export default function Page() {
return <AuthSignIn onSubmit={signIn} forgotHref="/forgot" signUpHref="/signup" />;
}108 more lines ship with an easeUI Pro license.
Buy a licenseInstall
Sign up
Name, email and password with a length count as you type, and links to sign in and the terms.
Create your account
It takes less than a minute.
Already have an account? Sign in
import { AuthSignUp } from "@/components/blocks/auth-sign-up";
export default function Page() {
return <AuthSignUp onSubmit={createAccount} signInHref="/login" />;
}123 more lines ship with an easeUI Pro license.
Buy a licenseInstall
Verify code
A one time code in separate boxes that accepts a paste, moves on as you type, sends when full, and counts down to resend.
Check your email
We sent a 6 digit code to ada@acme.com.
Resend the code in 30s
Demo code 123456
import { AuthVerify } from "@/components/blocks/auth-verify";
export default function Page() {
return <AuthVerify email="ada@acme.com" onVerify={verifyCode} onResend={resendCode} />;
}127 more lines ship with an easeUI Pro license.
Buy a licenseInstall
Forgot password
A reset request that turns into a check your inbox note in the same card, gliding between the two.
import { AuthForgot } from "@/components/blocks/auth-forgot";
export default function Page() {
return <AuthForgot onSubmit={sendResetLink} signInHref="/login" />;
}87 more lines ship with an easeUI Pro license.
Buy a license