Staaarter

Checkbox Checklist Grid

A centered header sits above a two-column grid of checklist items. Each item pairs a real native checkbox with a label, striking through the label text and dimming the checkbox row once an item is marked done - a fit for progress tracking, launch checklists, or task lists.

By Staaarter Team
Feature
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/checkbox-checklist-grid.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/feature/feature156.tsx instead.

Usage

The file also exports feature156Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Feature156, feature156Demo } from "@/components/blocks/feature/feature156";

export default function Page() {
  return <Feature156 {...feature156Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading.
headingstringnoneSection heading.
descriptionstringundefinedSupporting copy under the heading.
itemsFeature156ChecklistItem[]noneChecklist rows, each with a stable id, a label, and a done state.
classNamestringnoneExtra classes for the outer section element.

Types

interface Feature156ChecklistItem {
  id: string;
  label: string;
  done: boolean;
}

Behavior notes

  • Each row is a real native <input type="checkbox"> with a real <Label htmlFor> pointing at it, not a div standing in for a checkbox.
  • The checked/unchecked visual state, the strikethrough on the label, and the row's dimmed background are all driven directly from the static per-item `done` boolean prop.
  • This is a static, read-only checklist: the checkbox is rendered `checked` + `readOnly` since a server component can never have an onChange handler, there is no real toggle interaction here.