About
A checkbox form control with a label and optional description that works controlled or uncontrolled, and supports an indeterminate (partly checked) and a read-only state like a native checkbox.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Checkbox to your project and fits it to your theme.
Code
How Checkbox is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import Checkbox from "@/components/ui/checkbox";
import { useState } from "react";
const reports = ["Sales", "Inventory", "Invoices"];
export default function Indeterminate() {
const [selected, setSelected] = useState(["Sales"]);
return (
<div className="space-y-2">
<Checkbox
checked={selected.length === reports.length}
indeterminate={selected.length > 0 && selected.length < reports.length}
label="All reports"
onChange={(event) => setSelected(event.target.checked ? reports : [])}
/>
<div className="space-y-2 pl-6">
{reports.map((report) => (
<Checkbox
checked={selected.includes(report)}
key={report}
label={report}
onChange={(event) =>
setSelected((current) =>
event.target.checked
? [...current, report]
: current.filter((item) => item !== report),
)
}
/>
))}
</div>
</div>
);
}















