{
  "name": "checkbox",
  "title": "Checkbox",
  "description": "Kura Checkbox component source.",
  "type": "ui",
  "add": "when-added",
  "files": [
    {
      "type": "ui",
      "role": "file",
      "content": "<script lang=\"ts\">\n  import { Checkbox as CheckboxPrimitive } from 'bits-ui';\n  import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';\n  import CheckIcon from 'phosphor-svelte/lib/CheckIcon';\n  import MinusIcon from 'phosphor-svelte/lib/MinusIcon';\n\n  let {\n    ref = $bindable(null),\n    checked = $bindable(false),\n    indeterminate = $bindable(false),\n    class: className,\n    ...restProps\n  }: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();\n</script>\n\n<CheckboxPrimitive.Root\n  bind:ref\n  data-slot=\"checkbox\"\n  class={cn(\n    'border-border bg-background data-checked:bg-primary data-checked:text-primary-foreground data-checked:border-primary dark:data-checked:bg-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.5 items-center justify-center rounded-control border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-1 aria-invalid:ring-1 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50',\n    className\n  )}\n  bind:checked\n  bind:indeterminate\n  {...restProps}\n>\n  {#snippet children({ checked, indeterminate })}\n    <div\n      data-slot=\"checkbox-indicator\"\n      class=\"[&>svg]:size-3.5 grid place-content-center text-current transition-none\"\n    >\n      {#if checked}\n        <CheckIcon />\n      {:else if indeterminate}\n        <MinusIcon />\n      {/if}\n    </div>\n  {/snippet}\n</CheckboxPrimitive.Root>\n",
      "path": "checkbox/checkbox.svelte",
      "_imports_": [
        {
          "import": "$lib/utils.js",
          "item": "utils",
          "file": {
            "type": "lib",
            "path": "utils.ts"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    },
    {
      "type": "ui",
      "role": "file",
      "content": "import Root from './checkbox.svelte';\nexport {\n  Root,\n  //\n  Root as Checkbox\n};\n",
      "path": "checkbox/index.ts",
      "_imports_": [
        {
          "import": "./checkbox.svelte",
          "item": "checkbox",
          "file": {
            "type": "ui",
            "path": "checkbox/checkbox.svelte"
          },
          "meta": {}
        }
      ],
      "registryDependencies": [],
      "dependencies": [],
      "devDependencies": []
    }
  ],
  "registryDependencies": [
    "styles",
    "utils"
  ],
  "dependencies": [
    {
      "ecosystem": "js",
      "name": "bits-ui",
      "version": "^2.18.1"
    },
    {
      "ecosystem": "js",
      "name": "phosphor-svelte",
      "version": "^3.1.0"
    }
  ],
  "devDependencies": []
}