{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "radio-group",
  "type": "registry:ui",
  "title": "Radio Group",
  "description": "A radio group component",
  "dependencies": [
    "solid-js",
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "src/registry/ui/radio-group.tsx",
      "content": "import type { JSX, ValidComponent } from \"solid-js\"\nimport { splitProps } from \"solid-js\"\n\nimport type { PolymorphicProps } from \"@kobalte/core/polymorphic\"\nimport * as RadioGroupPrimitive from \"@kobalte/core/radio-group\"\n\nimport { cn } from \"~/lib/utils\"\n\ntype RadioGroupRootProps<T extends ValidComponent = \"div\"> =\n  RadioGroupPrimitive.RadioGroupRootProps<T> & { class?: string | undefined }\n\nconst RadioGroup = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, RadioGroupRootProps<T>>\n) => {\n  const [local, others] = splitProps(props as RadioGroupRootProps, [\"class\"])\n  return <RadioGroupPrimitive.Root class={cn(\"grid gap-2\", local.class)} {...others} />\n}\n\ntype RadioGroupItemProps<T extends ValidComponent = \"div\"> =\n  RadioGroupPrimitive.RadioGroupItemProps<T> & {\n    class?: string | undefined\n    children?: JSX.Element\n  }\n\nconst RadioGroupItem = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, RadioGroupItemProps<T>>\n) => {\n  const [local, others] = splitProps(props as RadioGroupItemProps, [\"class\", \"children\"])\n  return (\n    <RadioGroupPrimitive.Item class={cn(\"flex items-center space-x-2\", local.class)} {...others}>\n      <RadioGroupPrimitive.ItemInput />\n      <RadioGroupPrimitive.ItemControl class=\"aspect-square size-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\">\n        <RadioGroupPrimitive.ItemIndicator class=\"flex h-full items-center justify-center \">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n            class=\"size-2.5 fill-current text-current\"\n          >\n            <path d=\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\" />\n          </svg>\n        </RadioGroupPrimitive.ItemIndicator>\n      </RadioGroupPrimitive.ItemControl>\n      {local.children}\n    </RadioGroupPrimitive.Item>\n  )\n}\n\ntype RadioGroupLabelProps<T extends ValidComponent = \"label\"> =\n  RadioGroupPrimitive.RadioGroupLabelProps<T> & {\n    class?: string | undefined\n  }\n\nconst RadioGroupItemLabel = <T extends ValidComponent = \"label\">(\n  props: PolymorphicProps<T, RadioGroupLabelProps<T>>\n) => {\n  const [local, others] = splitProps(props as RadioGroupLabelProps, [\"class\"])\n  return (\n    <RadioGroupPrimitive.ItemLabel\n      class={cn(\n        \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nexport { RadioGroup, RadioGroupItem, RadioGroupItemLabel }\n",
      "type": "registry:ui"
    }
  ]
}