Ballmac UI home

Onboarding Checklist

A get-started checklist with a progress ring and segmented bar, expandable steps with actions, checkable tasks and a short celebration when everything is done.

Get started

Finish these steps to set up your workspace.

  • Projects keep tasks, files and conversations together. Start from a template or a blank page.

Installation

$ pnpm dlx shadcn@latest add @ballmac/onboarding-checklist

Usage

import { OnboardingChecklist } from "@/components/ballmac/onboarding-checklist"

The full example is in the Code tab above.

Examples

Complete and dismissible

Account setup

All steps complete

Your account is secure and ready.

API reference

PropTypeDefault
steps*

Tasks, in the order you want people to do them.

OnboardingStep[]—
completed

Controlled list of completed step ids.

string[]—
defaultCompleted

Initial completed ids when uncontrolled.

string[][]
onCompletedChange

Called with the new list of completed ids whenever one is checked or unchecked.

(completed: string[]) => void—
title

Heading.

string—
description

Text under the heading while tasks remain.

string—
completeMessage

Message shown once every step is done.

string—
defaultOpenId

Which step is open at first. Defaults to the first unfinished one.

string—
onDismiss

Adds a dismiss button and calls this when it is pressed.

() => void—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
TabReaches each step's checkbox and its expand button
SpaceToggles a step done (role checkbox)
Enter / Space on the titleExpands or collapses the step (aria-expanded)
Reduced motionCheck, bar and panel changes are instant

Use with AI

steps: {id,title,description,action}. completed/defaultCompleted/onCompletedChange track progress. The open step shows its description and action. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Onboarding Checklist (@ballmac/onboarding-checklist) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • First-run setup for new accounts
  • Activation nudges in a dashboard corner

Not for

  • Multi-page wizards; use stepper-form
  • A plain progress bar; use progress

Registry JSON: https://ui.ballmac.com/r/onboarding-checklist.json

Credits

Free to use in personal and commercial projects.