{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "switch",
  "title": "Switch",
  "description": "Immediate on/off settings, in default and small sizes, on Base UI Switch.",
  "dependencies": [
    "@base-ui/react@1.9.0"
  ],
  "registryDependencies": [
    "@waimakers/utils",
    "@waimakers/theme"
  ],
  "files": [
    {
      "path": "src/components/ui/switch.tsx",
      "content": "import { Switch as SwitchPrimitive } from \"@base-ui/react/switch\";\n\nimport { cn, focusRing, invalidRing } from \"../../lib/utils\";\n\nfunction Switch({\n  className,\n  size = \"default\",\n  ...props\n}: SwitchPrimitive.Root.Props & { size?: \"sm\" | \"default\" }) {\n  return (\n    <SwitchPrimitive.Root\n      data-slot=\"switch\"\n      data-size={size}\n      className={cn(\n        \"peer group/switch relative inline-flex shrink-0 cursor-pointer items-center rounded-full border border-input bg-secondary p-0.5 transition-colors duration-[var(--dur-fast,120ms)] ease-brand after:absolute after:-inset-x-2 after:-inset-y-3 data-[size=default]:h-6 data-[size=default]:w-11 data-[size=sm]:h-5 data-[size=sm]:w-9 data-checked:bg-primary data-disabled:cursor-not-allowed data-disabled:opacity-50\",\n        focusRing,\n        invalidRing,\n        className,\n      )}\n      {...props}\n    >\n      <SwitchPrimitive.Thumb\n        data-slot=\"switch-thumb\"\n        className=\"pointer-events-none block rounded-full bg-foreground transition-transform duration-[var(--dur-fast,120ms)] ease-brand group-data-[size=default]/switch:size-4.5 group-data-[size=sm]/switch:size-3.5 data-checked:translate-x-5 data-checked:border data-checked:border-primary-foreground data-checked:bg-card group-data-[size=sm]/switch:data-checked:translate-x-4\"\n      />\n    </SwitchPrimitive.Root>\n  );\n}\n\nexport { Switch };\n",
      "type": "registry:ui",
      "target": "components/ui/switch.tsx"
    }
  ],
  "type": "registry:ui"
}