{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glass-toggle",
  "title": "Glass Toggle",
  "author": "Alex Chih (https://alexchih.com)",
  "description": "Pressed-state pill — quiet until on, then ruri. Built on Radix Toggle.",
  "dependencies": [
    "radix-ui",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://washiveil.alexchih.com/r/theme.json"
  ],
  "files": [
    {
      "path": "registry/washiveil/ui/glass-toggle.tsx",
      "content": "'use client'\n\nimport * as React from 'react'\nimport { Toggle as TogglePrimitive } from 'radix-ui'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\nconst glassToggleVariants = cva(\n  'inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium text-muted-foreground dark:text-body transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-ruri data-[state=on]:text-white dark:data-[state=on]:bg-ruri-soft dark:data-[state=on]:text-deep [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n  {\n    variants: {\n      variant: {\n        default: 'bg-transparent',\n        outline:\n          'border border-glass-edge bg-glass backdrop-blur-md dark:data-[state=off]:text-[color:color-mix(in_srgb,var(--body)_70%,var(--foreground))]',\n      },\n      size: {\n        default: 'px-3 py-1.5',\n        sm: 'px-2.5 py-1',\n        lg: 'px-4 py-2',\n      },\n    },\n    defaultVariants: {\n      variant: 'default',\n      size: 'default',\n    },\n  },\n)\n\nconst GlassToggle = React.forwardRef<\n  React.ComponentRef<typeof TogglePrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & VariantProps<typeof glassToggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n  <TogglePrimitive.Root\n    ref={ref}\n    className={cn(glassToggleVariants({ variant, size, className }))}\n    {...props}\n  />\n))\nGlassToggle.displayName = TogglePrimitive.Root.displayName\n\nexport { GlassToggle, glassToggleVariants }\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}