264
A minimal centred sign-in: passkey and single sign-on side by side, email and password with a show toggle, a gentle shake when the password is wrong and a check when you’re in.
akasign in·login·passkey
Run this in any project set up for the shadcn CLI. It copies the Sign In source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/sign-in.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { SignIn } from "@/components/sign-in";
export default function Page() {
return <SignIn />;
}A free React screen in the Auth collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Sign In source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| product | string | "Ridgeline" |
| logo | ReactNode | — |
| defaultEmail | string | "ada@ridgeline.app" |
| onSignIn | (email: string, password: string) => Promise<SignInResult> | demoSignIn |
| onPasskey | () => Promise<SignInResult> | demoPasskey |
| onSso | () => void | — |
| onForgotPassword | () => void | — |
| onSignUp | () => void | — |
| className | string | — |