{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox",
  "type": "registry:ui",
  "dependencies": [
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "ui/checkbox.tsx",
      "content": "import type { ValidComponent } from \"solid-js\"\nimport { Match, Switch, splitProps } from \"solid-js\"\n\nimport * as CheckboxPrimitive from \"@kobalte/core/checkbox\"\nimport type { PolymorphicProps } from \"@kobalte/core/polymorphic\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype CheckboxRootProps<T extends ValidComponent = \"div\"> =\n  CheckboxPrimitive.CheckboxRootProps<T> & { class?: string | undefined }\n\nconst Checkbox = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, CheckboxRootProps<T>>\n) => {\n  const [local, others] = splitProps(props as CheckboxRootProps, [\"class\", \"id\"])\n  return (\n    <CheckboxPrimitive.Root class=\"group/checkbox peer\" {...others}>\n      <CheckboxPrimitive.Input data-slot=\"checkbox-input\" id={local.id} />\n      <CheckboxPrimitive.Control\n        class={cn(\n          \"cn-checkbox after:-inset-x-3 after:-inset-y-2 relative shrink-0 outline-none after:absolute group-data-disabled/checkbox:cursor-not-allowed group-data-disabled/checkbox:opacity-50\",\n          local.class\n        )}\n        data-slot=\"checkbox\"\n      >\n        <CheckboxPrimitive.Indicator\n          class=\"cn-checkbox-indicator grid place-content-center text-current transition-none\"\n          data-slot=\"checkbox-indicator\"\n        >\n          <Switch>\n            <Match when={!others.indeterminate}>\n              <svg\n                class=\"size-3.5\"\n                fill=\"none\"\n                stroke=\"currentColor\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\"\n                viewBox=\"0 0 24 24\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path d=\"M5 12l5 5l10 -10\" />\n              </svg>\n            </Match>\n            <Match when={others.indeterminate}>\n              <svg\n                class=\"size-3.5\"\n                fill=\"none\"\n                stroke=\"currentColor\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\"\n                viewBox=\"0 0 24 24\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path d=\"M5 12l14 0\" />\n              </svg>\n            </Match>\n          </Switch>\n        </CheckboxPrimitive.Indicator>\n      </CheckboxPrimitive.Control>\n    </CheckboxPrimitive.Root>\n  )\n}\n\nexport { Checkbox }\n",
      "type": "registry:ui"
    }
  ]
}