{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toggle",
  "title": "Toggle",
  "description": "A standalone button with a persistent pressed state.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "@neumorphism-ui/utils"
  ],
  "files": [
    {
      "path": "src/components/ui/toggle.tsx",
      "content": "\"use client\";\n\nimport { Toggle as Primitive } from \"@base-ui/react/toggle\";\nimport { cn, mergeClassName } from \"@/lib/utils\";\n\nconst sizes = { sm: \"h-8 min-w-8 px-2.5 text-xs\", default: \"h-10 min-w-10 px-3 text-sm\", lg: \"h-12 min-w-12 px-4 text-base\" } as const;\ntype ToggleProps<Value extends string = string> = Primitive.Props<Value> & { size?: keyof typeof sizes };\nfunction Toggle<Value extends string = string>({ className, size = \"default\", ...props }: ToggleProps<Value>) {\n  return <Primitive data-slot=\"toggle\" data-size={size} className={mergeClassName<Primitive.State>(cn(\n    \"inline-flex shrink-0 items-center justify-center gap-2 rounded-[var(--neu-radius-control)] border border-[color:var(--neu-edge)] bg-[var(--neu-surface)] font-semibold text-[var(--foreground)] [box-shadow:var(--neu-shadow-raised-sm)] outline-none transition-[box-shadow,background-color,border-color] duration-[var(--neu-duration)] motion-reduce:transition-none hover:[box-shadow:var(--neu-shadow-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--background)] data-pressed:border-transparent data-pressed:bg-[var(--neu-surface)] data-pressed:text-[var(--neu-accent-ink)] data-pressed:[box-shadow:var(--neu-shadow-inset)] data-disabled:pointer-events-none data-disabled:opacity-50 data-disabled:shadow-none data-disabled:border-[color:var(--muted-foreground)]/30 [&_svg]:size-4\", sizes[size],\n  ), className)} {...props} />;\n}\nexport { Toggle };\nexport type { ToggleProps };\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "forms-selection"
  ],
  "type": "registry:ui"
}