{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gallery-graphite-toggle",
  "type": "registry:ui",
  "title": "Machined class switch",
  "description": "Reusable graphite artwork with controlled state and keyboard interaction.",
  "dependencies": [],
  "registryDependencies": [
    "https://pluginui.com/r/gallery-graphite-control-styles.json",
    "https://pluginui.com/r/core-toggle-headless.json"
  ],
  "files": [
    {
      "path": "components/ui/graphite-toggle.tsx",
      "content": "/**\n * Source: https://maru.audio/ui-kit/graphite-toggle\n * Copyright © [Maru](https://maru.audio)\n *\n * Maru UI Kit — https://maru.audio/ui-kit\n *\n * Installed from the Maru UI registry. This file is yours now: edit it\n * freely, it will not be overwritten unless you re-run the add command.\n *\n * Keep this item’s companion files and CSS imports together. Dependencies\n * declared by the registry are installed with the source.\n */\nimport { ToggleHeadless } from \"@/components/ui/toggle-headless\"\nimport \"@/components/ui/graphite-controls.css\"\nexport interface GraphiteToggleProps {\n  checked: boolean\n  onChange: (checked: boolean) => void\n  label?: string\n  power?: boolean\n  disabled?: boolean\n}\n/** A machined two-position cap or a brushed aluminum power key. */\nexport function GraphiteToggle({\n  checked,\n  onChange,\n  label = \"Class A\",\n  power = false,\n  disabled = false,\n}: GraphiteToggleProps) {\n  return (\n    <ToggleHeadless\n      className=\"graphite-toggle\"\n      checked={checked}\n      onChange={onChange}\n      disabled={disabled}\n      aria-label={label}\n      style={{ width: power ? 148 : 44, height: power ? 67 : 92 }}\n    >\n      {({ on, pressed }) => (\n        <span\n          className=\"graphite-toggle__surface\"\n          data-power={power || undefined}\n          data-on={on}\n          data-pressed={pressed || undefined}\n          aria-hidden=\"true\"\n        >\n          {power ? (\n            <svg viewBox=\"0 0 64 64\">\n              <path d=\"M32 9v24M21 15a22 22 0 1 0 22 0\" />\n            </svg>\n          ) : (\n            <i />\n          )}\n        </span>\n      )}\n    </ToggleHeadless>\n  )\n}\n",
      "type": "registry:component",
      "target": "@ui/graphite-toggle.tsx"
    }
  ]
}
