{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "radio-group", "type": "registry:block", "title": "Radio Group", "description": "A sharp radio group for single-choice decisions.", "author": "Wensity ", "dependencies": [ "@base-ui/react", "clsx", "framer-motion", "tailwind-merge" ], "registryDependencies": [], "files": [ { "path": "registry/wensity/lib/utils.ts", "type": "registry:lib", "target": "@lib/utils.ts", "content": "import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n" }, { "path": "registry/wensity/radio-group.tsx", "type": "registry:component", "target": "@components/wensity/radio-group.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport {\n LayoutGroup,\n motion,\n MotionConfig,\n useReducedMotion,\n} from \"framer-motion\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { cn } from \"@/lib/utils\";\n\nconst wensityCardSurfaceClass = cn(\n \"relative isolate overflow-hidden rounded-[var(--primitive-radius-surface)]\",\n \"border border-[var(--border)] bg-[var(--primitive-surface-elevated)]\",\n \"[box-shadow:var(--primitive-shadow-raised)]\",\n);\n\n/**\n * CSS rules for RadioGroup animation slots. Re-keyed to Base UI\n * `data-checked` / `data-unchecked` attributes.\n *\n * Exported so the parent app can paste this into `apps/main-site/src/lib/primitive-tokens.ts`\n * (the runtime `