Onboarding

Multi-step wizards, progress checklists, welcome screens, and onboarding flows.

Multi Step Wizard

Generic multi-step wizard component with step validation and progress bar.

Preview

Basic Info

Tell us about yourself.

Name and email form goes here
Step 1 of 3
Multi Step Wizard.tsx
import { MultiStepWizard } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "basics", title: "Basic Info", content: <div className="p-4">Name and email form</div> },  { id: "plan", title: "Choose Plan", content: <div className="p-4">Plan selection</div> },  { id: "payment", title: "Payment", content: <div className="p-4">Payment form</div> },];export default function Page() {  return <MultiStepWizard steps={steps} onComplete={() => console.log("complete")} />;}

Progress Stepper

Horizontal or vertical step indicator showing progress through a multi-step flow.

Preview
Profile
Billing
Review
Launch

Review

Review step
Progress Stepper.tsx
import { ProgressStepper } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "profile", title: "Profile", completed: true },  { id: "billing", title: "Billing", completed: true },  { id: "review", title: "Review", completed: false, current: true },  { id: "launch", title: "Launch", completed: false },];export default function Page() {  return <ProgressStepper steps={steps} orientation="horizontal" />;}

Setup Checklist

Post-signup setup checklist guiding users through initial configuration steps.

Preview
Setup Checklist.tsx
import { SetupChecklist } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "verify", title: "Verify your email", completed: true, href: "#" },  { id: "profile", title: "Complete your profile", completed: false, href: "/settings/profile" },  { id: "invite", title: "Invite your team", completed: false, href: "/team/invite" },  { id: "integrate", title: "Set up an integration", completed: false, href: "/integrations" },];export default function Page() {  return <SetupChecklist steps={steps} title="Complete setup" />;}

Onboarding Wizard

Multi-step onboarding wizard with progress bar and step navigation.

Preview

Set up profile

Tell us about yourself.

Profile form placeholder
Step 1 of 3
Onboarding Wizard.tsx
import { OnboardingWizard } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "profile", title: "Set up profile", description: "Tell us about yourself.", content: <div>Profile form</div> },  { id: "team", title: "Invite team", description: "Add your teammates.", content: <div>Invite form</div> },  { id: "done", title: "You're all set!", description: "Start using the app.", content: <div>Completion screen</div> },];export default function Page() {  return (    <OnboardingWizard      steps={steps}      onComplete={() => console.log("done")}      allowSkip    />  );}

Welcome Screen

Full-screen welcome splash with branding, tagline, and get-started CTA.

Preview

Welcome to LaunchApp

Everything you need to build and ship your SaaS product.

  • Ship faster

    Production-ready components out of the box.

  • Beautiful by default

    Thoughtfully designed with dark mode support.

  • Fully accessible

    Built on Radix UI for WCAG compliance.

Welcome Screen.tsx
import { WelcomeScreen } from "@launchapp/design-system/blocks/onboarding";export default function Page() {  return (    <WelcomeScreen      productName="LaunchApp"      tagline="Build your SaaS faster"      onGetStarted={() => console.log("get started")}    />  );}

Onboarding Checklist

Progress checklist of setup tasks with completion tracking.

Preview
Onboarding Checklist.tsx
import { OnboardingChecklist } from "@launchapp/design-system/blocks/onboarding";const tasks = [  { id: "profile", title: "Complete your profile", completed: true, href: "/settings/profile" },  { id: "team", title: "Invite teammates", completed: false, href: "/team/invite" },  { id: "billing", title: "Set up billing", completed: false, href: "/billing" },];export default function Page() {  return <OnboardingChecklist tasks={tasks} onComplete={(id) => console.log("complete", id)} />;}

Setup Wizard

Guided setup wizard with branching steps and completion confirmation.

Preview

Set up your workspace

Complete 2 of 4 steps to get started.

Setup Wizard.tsx
import { SetupWizard } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "workspace", title: "Create workspace", content: <div>Workspace form</div> },  { id: "integrations", title: "Connect tools", content: <div>Integrations form</div> },];export default function Page() {  return <SetupWizard steps={steps} onFinish={() => console.log("finish")} />;}

Team Invite Flow

Multi-step flow for inviting team members with role assignment.

Preview

Invite your team

Add teammates to collaborate. You can invite up to 5 people.

Team Invite Flow.tsx
import { TeamInviteFlow } from "@launchapp/design-system/blocks/onboarding";export default function Page() {  return (    <TeamInviteFlow      roles={["admin", "member", "viewer"]}      onInvite={(invites) => console.log("invite", invites)}      onSkip={() => console.log("skip")}    />  );}

Goal Setup Wizard

Goal-setting wizard for personalizing the onboarding experience.

Preview
Step 1 of 1Select all that apply.

What are you trying to accomplish?

Select all that apply. You can change these later.

Goal Setup Wizard.tsx
import { GoalSetupWizard } from "@launchapp/design-system/blocks/onboarding";const goals = [  { id: "launch", label: "Launch my product", icon: <span>🚀</span> },  { id: "grow", label: "Grow my team", icon: <span>👥</span> },  { id: "automate", label: "Automate workflows", icon: <span>⚙️</span> },];export default function Page() {  return (    <GoalSetupWizard      goals={goals}      onComplete={(selected) => console.log("goals", selected)}    />  );}

Progress Checklist

Checklist widget with percentage progress bar and item completion.

Preview

Overall Progress

2 of 5 tasks complete

40%

Getting started

2/3

Next steps

0/2
Progress Checklist.tsx
import { ProgressChecklist } from "@launchapp/design-system/blocks/onboarding";const items = [  { id: "1", label: "Create account", completed: true },  { id: "2", label: "Verify email", completed: true },  { id: "3", label: "Set up workspace", completed: false },  { id: "4", label: "Invite team", completed: false },];export default function Page() {  return <ProgressChecklist items={items} title="Getting started" />;}

Onboarding Stepper

Step indicator showing current progress through a multi-step onboarding.

Preview
Profile
Team
Billing
Done

Profile

Profile setup
Onboarding Stepper.tsx
import { OnboardingStepper } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "profile", label: "Profile" },  { id: "team", label: "Team" },  { id: "billing", label: "Billing" },];export default function Page() {  return <OnboardingStepper steps={steps} currentStep={1} />;}

Welcome Wizard

Branded welcome wizard combining personalization questions and setup steps.

Preview
Welcome!Step 1 of 3

Welcome!

Let's get you set up.

Welcome content
Welcome Wizard.tsx
import { WelcomeWizard } from "@launchapp/design-system/blocks/onboarding";export default function Page() {  return (    <WelcomeWizard      productName="LaunchApp"      onComplete={(data) => console.log("complete", data)}    />  );}

Onboarding Flow

Linear onboarding flow with step cards, progress tracking, and back/next navigation.

Preview
Step 1 of 4Welcome

Welcome

Let's get you set up in just a few steps.

Welcome to LaunchApp! We'll guide you through setup.
Onboarding Flow.tsx
import { OnboardingFlow } from "@launchapp/design-system/blocks/onboarding";const steps = [  { id: "welcome", title: "Welcome to LaunchApp", description: "Let's get you set up in just a few steps.", content: <div className="p-4">Welcome content</div> },  { id: "profile", title: "Set up your profile", description: "Tell us a bit about yourself.", content: <div className="p-4">Profile form</div> },  { id: "team", title: "Invite your team", description: "Collaborate with your colleagues.", content: <div className="p-4">Team invite form</div> },  { id: "done", title: "You're all set!", description: "Start building something amazing.", content: <div className="p-4">Completion screen</div> },];export default function Page() {  return (    <OnboardingFlow      steps={steps}      onComplete={() => console.log("onboarding complete")}      showProgress      allowSkip    />  );}

Multi Step Wizard

Step-by-step wizard with progress indicator, back/next navigation, and completion handler.

Preview

Basic Info

Tell us about yourself.

Name and email form goes here
Step 1 of 3
Multi Step Wizard.tsx
import { MultiStepWizard } from "@launchapp/design-system/blocks/onboarding";export default function Page() {  return (    <MultiStepWizard      steps={[        { id: "basics", title: "Basic Info", description: "Tell us about yourself.", content: <div className="p-4">Name and email form</div> },        { id: "plan", title: "Choose Plan", description: "Select the right plan.", content: <div className="p-4">Plan selection</div> },        { id: "payment", title: "Payment", description: "Enter payment details.", content: <div className="p-4">Payment form</div> },      ]}      onComplete={() => console.log("wizard complete")}    />  );}