{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox",
  "type": "registry:ui",
  "title": "Checkbox",
  "description": "Shadcn style checkbox on Base UI with an animated check, indeterminate state, invalid and disabled styles, and an enlarged hit area for touch.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/checkbox.tsx",
      "type": "registry:ui",
      "target": "components/ui/checkbox.tsx",
      "content": "\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\nimport { cn } from \"@/lib/utils\"\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n  return (\n    <CheckboxPrimitive.Root\n      data-slot=\"checkbox\"\n      className={cn(\n        \"peer relative flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-[5px] outline-none\",\n        \"border border-border-strong bg-surface text-on-accent shadow-xs\",\n        \"transition-[background-color,border-color,box-shadow] duration-[70ms] ease-hairline\",\n        \"after:absolute after:-inset-3\",\n        \"hover:border-fg-subtle\",\n        \"focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-bg\",\n        \"data-checked:border-accent data-checked:bg-accent data-checked:shadow-ink\",\n        \"data-indeterminate:border-accent data-indeterminate:bg-accent\",\n        \"aria-invalid:border-danger aria-invalid:ring-2 aria-invalid:ring-danger/25\",\n        \"data-disabled:cursor-not-allowed data-disabled:opacity-45\",\n        className\n      )}\n      {...props}\n    >\n      <CheckboxPrimitive.Indicator\n        data-slot=\"checkbox-indicator\"\n        keepMounted\n        className=\"grid place-content-center text-current data-unchecked:not-data-indeterminate:opacity-0\"\n      >\n        <svg viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden className=\"size-3\">\n          <path d=\"M3 6h6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" className=\"hidden in-data-indeterminate:block\" />\n          <path\n            d=\"M2.5 6.2 5 8.6l4.6-5.2\"\n            stroke=\"currentColor\"\n            strokeWidth=\"1.75\"\n            strokeLinecap=\"round\"\n            strokeLinejoin=\"round\"\n            className=\"in-data-indeterminate:hidden [stroke-dasharray:14] [stroke-dashoffset:14] transition-[stroke-dashoffset] duration-200 ease-hairline in-data-checked:[stroke-dashoffset:0]\"\n          />\n        </svg>\n      </CheckboxPrimitive.Indicator>\n    </CheckboxPrimitive.Root>\n  )\n}\n\nexport { Checkbox }\n"
    }
  ]
}
