{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "radio-group",
  "title": "Radio Group",
  "description": "Square radios for choosing one option when you want them all visible.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "https://spotcheckui.com/r/spotcheck-base.json"
  ],
  "files": [
    {
      "path": "registry/spotcheck/components/spotcheck/radio-group.tsx",
      "content": "\"use client\"\n\nimport { Radio } from \"@base-ui/react/radio\"\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport type RadioOption = { value: string; label: string }\n\ntype RadioGroupProps = {\n  /** Names the group for screen readers. */\n  label: string\n  options: RadioOption[]\n  /** The selected option, when you control it. */\n  value?: string\n  /** The starting option, when it manages itself. */\n  defaultValue?: string\n  onValueChange?: (value: string) => void\n  className?: string\n}\n\nexport function RadioGroup({ label, options, value, defaultValue, onValueChange, className }: RadioGroupProps) {\n  return (\n    <BaseRadioGroup\n      aria-label={label}\n      value={value}\n      defaultValue={defaultValue}\n      onValueChange={(next) => onValueChange?.(next as string)}\n      className={cn(\"flex flex-col gap-2 font-(family-name:--f-body)\", className)}\n    >\n      {options.map((option) => (\n        <label key={option.value} className=\"inline-flex cursor-pointer items-center gap-2.5 text-sm\">\n          <Radio.Root\n            value={option.value}\n            className=\"spotcheck-focus border-ink bg-paper grid size-5 flex-none place-items-center border-(length:--rule)\"\n          >\n            <Radio.Indicator className=\"bg-accent-ink block size-2.5\" />\n          </Radio.Root>\n          {option.label}\n        </label>\n      ))}\n    </BaseRadioGroup>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "categories": [
    "core"
  ],
  "type": "registry:component"
}