{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "Checkbox",
  "dependencies": [
    "@base-ui/react",
    "cn",
    "lucide-react",
    "rescript-base-ui"
  ],
  "registryDependencies": [
    "@rescript-shadcn/Icons"
  ],
  "files": [
    {
      "path": "registry/base/ui/Checkbox.res",
      "content": "@@directive(\"'use client'\")\n\n@module(\"cn\")\nexternal cn: (string, option<string>) => string = \"cn\"\n\ntype props = BaseUi.Checkbox.Root.props\n\nlet toBaseUiProps: props => BaseUi.Checkbox.Root.props = %raw(`({className, ...props}) => props`)\n\n@react.componentWithProps(props)\nlet make = (props: props) => {\n  let dataSlot = props.dataSlot->Option.getOr(\"checkbox\")\n  <BaseUi.Checkbox.Root\n    {...toBaseUiProps(props)}\n    dataSlot\n    className={cn(\n      \"border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input group-has-[:focus-visible]/field-label:data-checked:border-primary peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50\",\n      props.className,\n    )}\n  >\n    <BaseUi.Checkbox.Indicator\n      dataSlot=\"checkbox-indicator\"\n      className=\"[&>svg]:size-3.5 grid place-content-center text-current transition-none\"\n    >\n      <Icons.Check />\n    </BaseUi.Checkbox.Indicator>\n  </BaseUi.Checkbox.Root>\n}\n",
      "type": "registry:file",
      "target": "@ui/Checkbox.res"
    }
  ],
  "type": "registry:ui"
}