{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox-group",
  "type": "registry:ui",
  "title": "Checkbox Group",
  "description": "Multi-select checkbox set with shared state and select-all support.",
  "dependencies": [
    "@base-ui/react@^1.7.0"
  ],
  "registryDependencies": [
    "https://control-ui.dev/r/core.json"
  ],
  "files": [
    {
      "path": "src/registry/sources/control-ui/ui/checkbox-group.tsx",
      "target": "@components/control-ui/ui/checkbox-group.tsx",
      "type": "registry:ui",
      "content": "\"use client\";\n\nimport { CheckboxGroup as CheckboxGroupPrimitive } from \"@base-ui/react/checkbox-group\";\nimport type { ComponentProps } from \"react\";\nimport type { ControlledMultiChoice } from \"@/components/control-ui/control-props\";\nimport { cn } from \"@/components/control-ui/lib/cn\";\n\nexport type CheckboxGroupProps = Omit<ComponentProps<\"div\">, \"defaultValue\" | \"onChange\"> &\n  ControlledMultiChoice & {\n    allValues?: string[];\n    disabled?: boolean;\n    orientation?: \"horizontal\" | \"vertical\";\n  };\n\n// `orientation` is visual only — each Checkbox owns its own focus. Pair `allValues` with select-all Checkbox for indeterminate state.\nexport function CheckboxGroup({ className, orientation = \"vertical\", ...props }: CheckboxGroupProps) {\n  return (\n    <CheckboxGroupPrimitive\n      data-control-ui=\"checkbox-group\"\n      data-slot=\"root\"\n      data-orientation={orientation}\n      className={cn(\"flex flex-col gap-2.5 data-[orientation=horizontal]:flex-row data-[orientation=horizontal]:gap-4\", className)}\n      {...props}\n    />\n  );\n}\n"
    }
  ],
  "meta": {}
}
