{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "radio-group",
  "title": "Ninaero radio-group",
  "dependencies": [
    "@base-ui/react@^1.9.0",
    "cn@^0.4.0"
  ],
  "registryDependencies": [
    "https://ninaero.pages.dev/r/theme.json",
    "https://ninaero.pages.dev/r/sound-provider.json"
  ],
  "files": [
    {
      "path": "registry/ninaero/ui/radio-group.tsx",
      "content": "\"use client\";\n\nimport { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { RadioGroup as RadioGroupPrimitive } from \"@base-ui/react/radio-group\";\nimport { cn } from \"cn\";\n\nimport { useControlSound, HoverSound, SoundGroup } from \"./sound-feedback\";\n\nfunction RadioGroup({\n  className,\n  sound = true,\n  onValueChange,\n  ...props\n}: RadioGroupPrimitive.Props & { sound?: boolean }) {\n  const { play } = useControlSound(sound);\n  return (\n    <SoundGroup sound={sound}>\n      <RadioGroupPrimitive\n        data-slot=\"radio-group\"\n        className={cn(\"grid w-full gap-2\", className)}\n        {...props}\n        onValueChange={(value, details) => {\n          onValueChange?.(value, details);\n          if (!details.isCanceled && details.event.type !== \"reset\") play(\"tap\");\n        }}\n      />\n    </SoundGroup>\n  );\n}\n\nfunction RadioGroupItem({\n  className,\n  sound = true,\n  ...props\n}: RadioPrimitive.Root.Props & { sound?: boolean }) {\n  return (\n    <HoverSound sound={sound}>\n      <RadioPrimitive.Root\n        data-slot=\"radio-group-item\"\n        className={cn(\n          \"ninaero-radio-group-item group/radio-group-item peer relative flex aspect-square size-5 shrink-0 items-center justify-center rounded-full after:absolute after:-inset-x-3 after:-inset-y-2\",\n          className,\n        )}\n        {...props}\n      >\n        <RadioPrimitive.Indicator\n          data-slot=\"radio-group-indicator\"\n          className=\"flex items-center justify-center\"\n        >\n          <span className=\"ninaero-radio-group-dot size-2.5 rounded-full\" />\n        </RadioPrimitive.Indicator>\n      </RadioPrimitive.Root>\n    </HoverSound>\n  );\n}\n\nexport { RadioGroup, RadioGroupItem };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}