{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toggle",
  "title": "Toggle",
  "description": "A button that stays pressed, like Bold in a format bar.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@cupertinoui/macos-theme"
  ],
  "files": [
    {
      "path": "registry/macos/ui/toggle.tsx",
      "content": "\"use client\"\n\nimport { Toggle as TogglePrimitive } from \"@base-ui/react/toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n// A button that stays pressed, like Bold in TextEdit's format bar.\nconst toggleVariants = cva(\n  \"group/toggle inline-flex cursor-default items-center justify-center gap-1 rounded-[6px] text-mac-body font-medium whitespace-nowrap text-mac-label transition-colors outline-none select-none hover:bg-mac-fill-tertiary focus-visible:mac-focus-ring data-disabled:pointer-events-none data-disabled:text-mac-label-tertiary data-pressed:bg-mac-fill-primary data-pressed:hover:bg-mac-fill-primary [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n  {\n    variants: {\n      variant: {\n        default: \"bg-transparent\",\n        outline: \"bg-mac-control hover:bg-mac-control-pressed data-pressed:bg-mac-control-pressed data-pressed:text-mac-accent\",\n      },\n      size: {\n        default: \"h-6 min-w-6 px-2\",\n        sm: \"h-5 min-w-5 rounded-[5px] px-1.5 text-mac-subheadline [&_svg:not([class*='size-'])]:size-3\",\n        lg: \"h-7 min-w-7 rounded-full px-3 [&_svg:not([class*='size-'])]:size-4\",\n      },\n    },\n    defaultVariants: { variant: \"default\", size: \"default\" },\n  }\n)\n\nfunction Toggle({ className, variant = \"default\", size = \"default\", ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>) {\n  return <TogglePrimitive data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n}\n\nexport { Toggle, toggleVariants }\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}