{
  "name": "variant-selector-basic",
  "type": "registry:component",
  "dependencies": [
    "lucide-react",
    "@radix-ui/react-radio-group"
  ],
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "type": "registry:component",
      "content": "\"use client\";\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface VariantItem {\n  id: string;\n  value: string;\n  label: string;\n  disabled?: boolean;\n}\n\ninterface VariantSelectorBasicProps {\n  value: string;\n  onValueChange: (value: string) => void;\n  variants: VariantItem[];\n  className?: string;\n  itemClassName?: string;\n  labelClassName?: string;\n  // selectedClassName is being removed as redundant\n}\n\nconst VariantSelectorBasic = ({\n  className,\n  itemClassName,\n  labelClassName,\n  onValueChange,\n  value,\n  variants,\n}: VariantSelectorBasicProps) => {\n  return (\n    <RadioGroupPrimitive.Root\n      className={cn(\"flex flex-wrap gap-3\", className)}\n      value={value}\n      onValueChange={onValueChange}\n    >\n      {variants.map((variant) => (\n        <div key={variant.id} className=\"flex items-center\">\n          <RadioGroupPrimitive.Item\n            id={variant.id}\n            value={variant.value}\n            disabled={variant.disabled}\n            className={cn(\n              \"peer relative h-10 w-full min-w-[80px] rounded-md border border-gray-300 px-3 py-2 text-center text-sm transition-all\",\n              \"dark:border-gray-600 dark:text-gray-100\",\n              \"data-[state=checked]:border-black dark:data-[state=checked]:border-white\",\n              \"focus:ring-2 focus:ring-black focus:ring-offset-2 focus:outline-none\",\n              \"dark:focus:ring-white dark:focus:ring-offset-gray-900\",\n              \"cursor-pointer disabled:cursor-not-allowed disabled:opacity-50\",\n              itemClassName\n            )}\n          >\n            <span className={cn(\"font-medium\", labelClassName)}>\n              {variant.label}\n            </span>\n          </RadioGroupPrimitive.Item>\n        </div>\n      ))}\n    </RadioGroupPrimitive.Root>\n  );\n};\n\nexport default VariantSelectorBasic;\n",
      "path": "/components/commerce-ui/components/variant-selector/basic/variant-selector-basic.tsx",
      "target": "components/commerce-ui/variant-selector-basic.tsx"
    }
  ]
}