{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "toggle", "type": "registry:ui", "dependencies": ["@ark-ui/react", "class-variance-authority"], "files": [ { "path": "./src/components/ui/toggle.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Toggle as TogglePrimitive } from \"@ark-ui/react/toggle\"\nimport { type VariantProps, cva } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport const toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-9 px-2 min-w-9\",\n sm: \"h-8 px-1.5 min-w-8\",\n lg: \"h-10 px-2.5 min-w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef,\n TogglePrimitive.RootProps & VariantProps\n>(({ className, variant, size, ...props }, ref) => (\n \n))\nToggle.displayName = \"Toggle\"\n\nconst ToggleContext = TogglePrimitive.Context\n\nconst ToggleIndicator = TogglePrimitive.Indicator\n\nexport { Toggle, ToggleContext, ToggleIndicator }\n\nexport {\n useToggle,\n useToggleContext,\n} from \"@ark-ui/react/toggle\"\n", "type": "registry:ui" } ] }