Setup Checklist with Progress Sidebar

Multi-step checklist with status indicators, ETAs, and a sticky sidebar showing completion progress and key stats. Perfect for onboarding flows, implementation guides, or setup wizards.

FREE

Feature22: Setup Checklist with Progress Sidebar

Two-column onboarding layout: a list of status-tagged setup steps on the left (each optionally a link, with an ETA and a done/in-progress/todo pill), and a sticky sidebar on the right showing a computed completion percentage, a progress bar, key stats, and CTA buttons.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/feature22"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/feature22"

This installs the block to components/beste/block/feature22.tsx and the shadcn/ui badge, button, and progress components it depends on.

Quick start

The installed file exports feature22Demo alongside the block: the exact props behind the preview above. Spread it to get a working checklist in one line.

tsx
import { Feature22, feature22Demo } from "@/components/beste/block/feature22";

export default function Page() {
  return <Feature22 {...feature22Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Plug, ShieldCheck, Wand2 } from "lucide-react";
import { Feature22 } from "@/components/beste/block/feature22";

export default function Page() {
  return (
    <Feature22
      badge={{ label: "Setup", variant: "secondary" }}
      heading="Launch-ready in a single afternoon"
      description="Configure essentials, validate data, and go live with confidence."
      steps={[
        {
          id: "step-1",
          icon: <Plug className="size-6 md:size-8" />,
          title: "Connect your data sources",
          eta: "5-10 min",
          status: "done",
          href: "/setup/connect",
        },
        {
          id: "step-2",
          icon: <ShieldCheck className="size-6 md:size-8" />,
          title: "Configure roles & access",
          eta: "10-15 min",
          status: "in_progress",
        },
        {
          id: "step-3",
          icon: <Wand2 className="size-6 md:size-8" />,
          title: "Apply templates & standards",
          eta: "15-25 min",
          status: "todo",
        },
      ]}
      stats={[{ id: "stat-1", label: "Avg. time to first publish", value: "45 min" }]}
      buttons={[{ id: "btn-1", label: "Start a guided setup", href: "/setup" }]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Badge above the heading
headingstringSection heading
descriptionstringSection intro text
progressLabelstring"Progress"Label above the sidebar's percentage readout
stepsCompletedLabelstring"steps completed"Suffix after the done/total count in the sidebar
stepsStep[][]Checklist rows on the left
statsStat[][]Key-number rows inside the sidebar
buttonsButtonItem[][]CTA buttons at the bottom of the sidebar
classNamestringExtra classes for the outer <section>
ts
type StepStatus = "done" | "in_progress" | "todo";

type Step = {
  id: string;
  icon?: React.ReactNode;
  title: string;
  description?: string;
  eta?: string;
  status?: StepStatus;
  href?: string;
};

type Stat = {
  id: string;
  label: string;
  value: string;
  description?: string;
};

type ButtonItem = {
  id: string;
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

More Feature blocks

View all Feature
PRO

feature60

Feature Walkthrough with Sticky Navigation

Sticky sidebar navigation that scrolls to content sections with images and descriptions. Perfect for product feature tours, documentation pages, and guided walkthroughs.

PRO

feature119

Goals with Progress Bars

Responsive grid of goal cards with percentage progress bars and labels. Excellent for OKR tracking, quarterly goals, or progress visualization.

PRO

feature164

Scroll-Spy Sticky Sidebar Feature

Sticky sidebar navigation with scroll-spy tracking. Left menu highlights the active section as users scroll through feature cards with images. Uses IntersectionObserver for real-time active state.

PRO

feature158

Notification Status List

Vertical stacked notification-style list with items, descriptions, and status badges. Great for updates feed, changelog, or activity log display.

FREE

feature146

Benefits Checklist

Responsive grid of benefit items with checkmark icons and descriptions. Perfect for benefits list, value proposition, or key advantages.

PRO

feature116

Checkbox Checklist Grid

2-column grid of checklist items with checkbox icons and strikethrough styling. Great for progress tracking, launch checklists, or task lists.