Onboarding Checklist

Getting-started card with a progress ring and bar and steps that expand to a description and an async CTA; finishing a step pops its check, strikes its title and opens the next unfinished step, and at 100% the list gives way to a confetti celebration, with a dismiss that animates the card away.

Preview

Onboarding Checklist preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/onboarding-checklist
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

steps
OnboardingStep[]
—
completed?
string[]

Controlled completed step ids.

—
defaultCompleted?
string[]
[]
onCompletedChange?
((completed: string[]) => void)
—
open?
boolean

Controlled visibility. Dismissing sets it to false.

—
defaultOpen?
boolean
true
onOpenChange?
((open: boolean) => void)
—
dismissible?
boolean
true
title?
ReactNode
Get started
description?
ReactNode
A few steps to set up your workspace.
celebrationTitle?
ReactNode
You're all set!
celebrationDescription?
ReactNode
Your workspace is ready. Time to build something.
className?
string
—

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated