{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox",
  "title": "Checkbox",
  "description": "Displays a checkbox built on the Base UI Checkbox primitive.",
  "dependencies": [
    "@base-ui/react@^1.7.0",
    "cn@^0.5.2",
    "lucide-react@^1.41.0"
  ],
  "registryDependencies": [
    "https://sevenui.dev/r/sevenui-tokens.json"
  ],
  "files": [
    {
      "path": "registry/base/ui/checkbox.tsx",
      "content": "\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { cn } from \"cn\";\nimport { CheckIcon, MinusIcon } from \"lucide-react\";\n\n// The box size follows the density scale (16px comfortable, 14px compact).\n// `--control-h` falls back inline rather than through a `:where()` default:\n// a default declared on the element itself would shadow the value inherited\n// from a `[data-density=compact]` ancestor.\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n  return (\n    <CheckboxPrimitive.Root\n      data-slot=\"checkbox\"\n      className={cn(\n        \"peer relative flex size-[max(0.875rem,calc(var(--control-h,2.125rem)*0.47))] shrink-0 items-center justify-center rounded-[4px] border border-input transition-[background-color,border-color,box-shadow] duration-150 outline-none motion-reduce:transition-none group-has-disabled/field:opacity-50 group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary data-indeterminate:border-primary data-indeterminate:bg-primary data-indeterminate:text-primary-foreground dark:data-indeterminate:bg-primary\",\n        className,\n      )}\n      {...props}\n    >\n      <CheckboxPrimitive.Indicator\n        data-slot=\"checkbox-indicator\"\n        className=\"flex size-full items-center justify-center text-current transition-opacity duration-100 motion-reduce:transition-none data-starting-style:opacity-0 data-ending-style:opacity-0 [&>svg]:size-3/4 [&>svg]:stroke-[2.5] data-indeterminate:[&>svg:first-child]:hidden not-data-indeterminate:[&>svg:last-child]:hidden\"\n      >\n        <CheckIcon />\n        <MinusIcon />\n      </CheckboxPrimitive.Indicator>\n    </CheckboxPrimitive.Root>\n  );\n}\n\nexport { Checkbox };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}