{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "radio-group",
  "type": "registry:ui",
  "title": "Radio Group",
  "description": "Arrow keys move between options; Tab leaves the group. Give the group an aria-label or aria-labelledby.",
  "dependencies": [
    "@radix-ui/react-radio-group@^1.5.1",
    "tailwind-variants@^1.0.0"
  ],
  "registryDependencies": [
    "https://junco.madebytobi.com/r/junco-theme.json",
    "https://junco.madebytobi.com/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/junco/ui/radio-group.tsx",
      "type": "registry:ui",
      "content": "import * as React from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"@/lib/utils\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nexport const radioVariants = tv({\n  base: [\n    \"peer inline-grid shrink-0 place-items-center rounded-pill border border-border-strong bg-surface\",\n    \"transition-colors duration-fast ease-standard\",\n    \"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n    \"disabled:cursor-not-allowed disabled:opacity-50\",\n    \"data-[state=checked]:border-primary\",\n  ],\n  variants: {\n    size: {\n      sm: \"size-3.5 [&>span>span]:size-1.5\",\n      md: \"size-4 [&>span>span]:size-2\",\n      lg: \"size-5 [&>span>span]:size-2.5\",\n    },\n  },\n  defaultVariants: { size: \"md\" },\n});\n\nexport interface RadioGroupProps extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> {}\n\n/** Arrow keys move between options; Tab leaves the group. Give the group an aria-label or aria-labelledby. */\nexport const RadioGroup = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Root>, RadioGroupProps>(\n  ({ className, ...props }, ref) => (\n    <RadioGroupPrimitive.Root\n      ref={ref}\n      className={cn(\"grid gap-2 data-[orientation=horizontal]:flex data-[orientation=horizontal]:gap-4\", className)}\n      {...props}\n    />\n  ),\n);\nRadioGroup.displayName = \"RadioGroup\";\n\nexport interface RadioProps\n  extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>,\n    VariantProps<typeof radioVariants> {}\n\nexport const Radio = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Item>, RadioProps>(\n  ({ className, size, ...props }, ref) => (\n    <RadioGroupPrimitive.Item ref={ref} className={cn(radioVariants({ size }), className)} {...props}>\n      <RadioGroupPrimitive.Indicator className=\"grid place-items-center\">\n        <span className=\"block rounded-pill bg-primary\" />\n      </RadioGroupPrimitive.Indicator>\n    </RadioGroupPrimitive.Item>\n  ),\n);\nRadio.displayName = \"Radio\";\n"
    }
  ],
  "docs": "Docs and examples: https://junco.madebytobi.com/docs/components/radio-group",
  "meta": {
    "hash": "49a4c1d1356a442e",
    "source": "packages/react/src/components/radio-group.tsx",
    "exports": [
      "radioVariants",
      "RadioGroupProps",
      "RadioGroup",
      "RadioProps",
      "Radio"
    ],
    "props": {
      "RadioGroup": {
        "extends": "React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>",
        "props": []
      },
      "Radio": {
        "extends": "React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>, VariantProps<typeof radioVariants>",
        "props": []
      }
    },
    "variants": {
      "variants": {
        "size": [
          "sm",
          "md",
          "lg"
        ]
      },
      "defaultVariants": {
        "size": "md"
      }
    },
    "docsUrl": "https://junco.madebytobi.com/docs/components/radio-group"
  }
}
