Browse components
Signup Form
A sign-up card with a live, animated password-strength meter and rule checklist, terms consent, inline validation and a celebratory success state.
Installation
npx shadcn@latest add @glint-ui/signup-formFirst time using @glint-ui? Add the registry to components.json once, or install by URL: npx shadcn@latest add https://glint-ui-seven.vercel.app/r/signup-form.json
Usage
import { SignupForm } from "@/components/ui/signup-form";
<SignupForm
minStrength={3}
onSubmit={async (values) => {
const res = await createAccount(values);
if (!res.ok) throw new Error("That email is already registered.");
}}
/>Props
| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | "Create your account" | Card heading. |
| description | string | "Start your 14-day trial. No credit card needed." | Text under the heading. |
| submitLabel | string | "Create account" | Submit button label. |
| minStrength | number | 2 | Strength (1 weak .. 4 strong) the password must reach. |
| showRules | boolean | true | Show the password rule checklist. |
| terms | ReactNode | — | Terms checkbox label (links allowed). |
| onSubmit | ReactNode | — | `({ name, email, password }) => void | Promise<void>`. Throw an Error to show a form error. |
| footer | ReactNode | — | Content under the form, e.g. a sign-in link. |
| className | string | — | Extra classes for the root element. |