{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glass-switch",
  "title": "Glass Switch",
  "author": "Alex Chih (https://alexchih.com)",
  "description": "Toggle switch — ruri track when on, glass thumb, built on Radix Switch.",
  "dependencies": [
    "radix-ui"
  ],
  "registryDependencies": [
    "https://washiveil.alexchih.com/r/theme.json"
  ],
  "files": [
    {
      "path": "registry/washiveil/ui/glass-switch.tsx",
      "content": "'use client'\n\nimport * as React from 'react'\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nimport { cn } from '@/lib/utils'\n\nconst GlassSwitch = React.forwardRef<\n  React.ComponentRef<typeof SwitchPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>\n>(({ className, ...props }, ref) => (\n  <SwitchPrimitive.Root\n    className={cn(\n      'peer inline-flex h-6 w-10 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-ruri dark:data-[state=checked]:bg-ruri-soft',\n      className,\n    )}\n    {...props}\n    ref={ref}\n  >\n    <SwitchPrimitive.Thumb\n      className={cn(\n        'pointer-events-none block size-5 rounded-full bg-background shadow ring-0 dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-deep transition-transform data-[state=checked]:translate-x-[17px] data-[state=unchecked]:translate-x-px',\n      )}\n    />\n  </SwitchPrimitive.Root>\n))\nGlassSwitch.displayName = SwitchPrimitive.Root.displayName\n\nexport { GlassSwitch }\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}