import * as React from "react" import { cn } from "@/lib/utils" import { Button } from "@/components/ui/button" import { Checkbox } from "@/components/ui/checkbox" import { Input } from "@/components/ui/input" import { Separator } from "@/components/ui/separator" import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card" export interface AuthFormProps extends Omit, "onSubmit"> { title?: string description?: string submitLabel?: string /** Receives the entered email + password. */ onSubmit?: (data: { email: string; password: string }) => void } /** * AuthForm — sign-in card composed from Card + Input + Checkbox + * Button + Separator. Self-contained controlled inputs. */ export function AuthForm({ title = "Welcome back", description = "Sign in to your account to continue", submitLabel = "Sign in", onSubmit, className, ...props }: AuthFormProps) { const [email, setEmail] = React.useState("") const [password, setPassword] = React.useState("") return ( {title} {description}
{ e.preventDefault() onSubmit?.({ email, password }) }} >
setEmail(e.target.value)} autoComplete="email" />
Forgot?
setPassword(e.target.value)} autoComplete="current-password" />
OR
No account?{" "} Sign up
) }