{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toggle",
  "title": "Toggle",
  "description": "A two-state button that can be on or off.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/toggle.tsx",
      "content": "\"use client\";\n\nimport { Toggle as BaseToggle } from \"@base-ui/react/toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/registry/lib/utils\";\n\nconst toggleVariants = cva(\n  [\n    \"text-foreground inline-flex items-center justify-center gap-2 text-sm font-medium whitespace-nowrap group/toggle rounded-md transition-[color,box-shadow]\",\n    \"disabled:pointer-events-none disabled:opacity-50\",\n    \"[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n    \"focus-visible:outline focus-visible:outline-ring focus-visible:ring-4 focus-visible:ring-ring/10\",\n    \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n    \"data-pressed:bg-accent hover:bg-accent/50 data-pressed:hover:bg-accent\",\n  ],\n  {\n    defaultVariants: {\n      size: \"default\",\n      variant: \"default\",\n    },\n    variants: {\n      size: {\n        default: \"h-9 px-2 min-w-9\",\n        lg: \"h-10 px-2.5 min-w-10\",\n        sm: \"h-8 px-1.5 min-w-8\",\n        xs: \"h-7 px-1 min-w-7\",\n      },\n      variant: {\n        default: \"bg-transparent\",\n        outline:\n          \"bg-transparent border shadow-xs data-pressed:border-primary/15\",\n      },\n    },\n  },\n);\n\nfunction Toggle({\n  className,\n  variant,\n  size,\n  ...props\n}: BaseToggle.Props & VariantProps<typeof toggleVariants>) {\n  return (\n    <BaseToggle\n      className={cn(toggleVariants({ className, size, variant }))}\n      data-slot=\"toggle\"\n      {...props}\n    />\n  );\n}\n\nexport { Toggle, toggleVariants };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}