Dashral Pro is on the wayGet 30% off at launch

Dashral

Sign up, split

The form with a password strength meter and terms beside a soft blue panel: what you get, the product in miniature, a customer's words.

$ pnpm dlx shadcn@latest add @dashral/sign-up-split

When to use

  • The sign-up form with a password meter and terms, beside a panel of what you get.
  • Registration pages that sell while people type.

When not to use

  • Sign-ups that are just an email: Sign-up hero or CTA with sign-up.
  • Invitations to an existing team: the invite already knows the email; a shorter form.

Usage

Sign up, split with your own data: every prop has the sample as its default, so pass only what you have.

example.tsx
import { SignUpSplit } from "@/components/dashral/blocks/sign-up-split"

<SignUpSplit
  onSubmit={async (account) => {
    await api.auth.register(account)
  }}
  termsHref="/terms"
  privacyHref="/privacy"
  signInHref="/login"
/>

API reference

SignUpSplit

PropTypeDefault
titleReact.ReactNode"Create your account"
descriptionReact.ReactNodesample
onSubmit(values: SignUpValues) => Promise<void> | void

Your sign-up, once every rule is met and the terms agreed to. Resolve to show done; throw an Error to show its message above the button. Without it, the form plays a sample.

—
doneReact.ReactNode

What it says once the account is made.

sample
rulesPasswordRule[]

The password's rules: one meter segment fills per rule met.

sample
termsHrefstring

Where the terms, the privacy policy and "Sign in" go; no signInHref hides the line.

"#"
privacyHrefstring"#"
signInHrefstring"#"
panel{ points?: string[] preview?: { label: string; value: string; change: string; series: number[]; note?: React.ReactNode } | null testimonials?: Testimonial[] } | null

The brand panel beside the form (hidden on phones): what you get, the product in miniature, customers' words; null hides it.

{}

type PasswordRule

PropTypeDefault
labelstring—
test(value: string) => boolean—

type Testimonial

PropTypeDefault
quotestring—
namestring—
rolestring—
srcstring—

type SignUpValues

PropTypeDefault
firstNamestring—
lastNamestring—
emailstring—
passwordstring—