Card Checkbox

PreviousNext

A card checkbox component

Docs
shadcnui-blockscomponent

Preview

Loading preview…
components/customized/checkbox/checkbox-11.tsx
import { Checkbox as CheckboxPrimitive } from "radix-ui";
import { CircleCheck, Ruler, Smile, SwatchBook } from "lucide-react";

const options = [
  {
    label: "Colors",
    value: "colors",
    icon: SwatchBook,
    defaultChecked: true,
  },
  {
    label: "Emojis",
    value: "emojis",
    icon: Smile,
  },
  {
    label: "Spacing",
    value: "spacing",
    icon: Ruler,
  },
];

const CheckboxCardDemo = () => {
  return (
    <div className="w-full max-w-sm grid grid-cols-3 gap-3">
      {options.map((option) => (
        <CheckboxPrimitive.Root
          key={option.value}
          defaultChecked={option.defaultChecked}
          className="relative ring-[1px] ring-border rounded-lg px-4 py-3 text-start text-muted-foreground data-[state=checked]:ring-2 data-[state=checked]:ring-primary data-[state=checked]:text-primary"
        >
          <option.icon className="mb-3" />
          <span className="font-medium tracking-tight">{option.label}</span>

          <CheckboxPrimitive.Indicator className="absolute top-2 right-2">
            <CircleCheck className="fill-primary text-primary-foreground" />
          </CheckboxPrimitive.Indicator>
        </CheckboxPrimitive.Root>
      ))}
    </div>
  );
};

export default CheckboxCardDemo;

Installation

npx shadcn@latest add @shadcnui-blocks/checkbox-11

Usage

import { Checkbox11 } from "@/components/checkbox-11"
<Checkbox11 />