{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox",
  "title": "Checkbox",
  "description": "Checkbox for boolean input.",
  "dependencies": ["@radix-ui/react-checkbox"],
  "registryDependencies": ["@glasswave/glass"],
  "files": [
    {
      "path": "registry/glasswave/ui/checkbox.tsx",
      "content": "\"use client\";\n\nimport * as RadixCheckbox from \"@radix-ui/react-checkbox\";\nimport { forwardRef } from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { focusRing, glass } from \"@/lib/glass\";\n\ninterface CheckboxProps {\n  checked?: boolean;\n  defaultChecked?: boolean;\n  onChange?: (checked: boolean) => void;\n  id?: string;\n  className?: string;\n  disabled?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLButtonElement, CheckboxProps>(\n  (\n    {\n      checked,\n      defaultChecked,\n      onChange,\n      id,\n      className = \"\",\n      disabled,\n      ...props\n    },\n    ref,\n  ) => {\n    return (\n      <RadixCheckbox.Root\n        id={id}\n        ref={ref as any}\n        checked={checked}\n        defaultChecked={defaultChecked}\n        onCheckedChange={(v) => onChange?.(Boolean(v))}\n        disabled={disabled}\n        className={cn(\n          glass,\n          focusRing,\n          \"w-5 h-5 rounded-full flex items-center justify-center data-[state=checked]:bg-[#007AFF] data-[state=checked]:border-[#007AFF]\",\n          disabled && \"opacity-50 cursor-not-allowed\",\n          className,\n        )}\n        {...props}\n      >\n        <RadixCheckbox.Indicator>\n          <svg\n            className=\"w-3 h-3 text-white\"\n            fill=\"currentColor\"\n            viewBox=\"0 0 20 20\"\n            aria-hidden=\"true\"\n          >\n            <path\n              fillRule=\"evenodd\"\n              d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n              clipRule=\"evenodd\"\n            />\n          </svg>\n        </RadixCheckbox.Indicator>\n      </RadixCheckbox.Root>\n    );\n  },\n);\n\nCheckbox.displayName = \"Checkbox\";\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}
