{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gallery-obsidian-toggle",
  "type": "registry:ui",
  "title": "Obsidian Toggle",
  "description": "Controlled portrait console artwork with shared input semantics.",
  "dependencies": [
    "react"
  ],
  "registryDependencies": [
    "https://pluginui.com/r/gallery-obsidian-control-styles.json"
  ],
  "files": [
    {
      "path": "components/ui/obsidian-toggle.tsx",
      "content": "/**\n * Source: https://maru.audio/ui-kit/obsidian-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 type { ReactNode } from \"react\"\nimport \"@/components/obsidian-controls.css\"\nexport interface ObsidianToggleProps {\n  checked: boolean\n  onChange: (checked: boolean) => void\n  label?: string\n  glyph?: 0 | 1 | 2\n  children?: ReactNode\n  disabled?: boolean\n}\n/** Native pressed semantics with small original purple, cyan and amber glyphs. */\nexport function ObsidianToggle({\n  checked,\n  onChange,\n  label = \"Mode\",\n  glyph,\n  children,\n  disabled = false,\n}: ObsidianToggleProps) {\n  return (\n    <button\n      type=\"button\"\n      className=\"obsidian-toggle\"\n      data-glyph={glyph}\n      aria-label={label}\n      aria-pressed={checked}\n      disabled={disabled}\n      onClick={() => onChange(!checked)}\n    >\n      {glyph === undefined ? (\n        children\n      ) : (\n        <svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n          {glyph === 0 ? (\n            <path d=\"M2 16V3l6 1 2 5 7 3 1 4Z\" />\n          ) : glyph === 1 ? (\n            <>\n              <path d=\"M2 8Q10-5 18 8Z\" />\n              <path d=\"M2 12Q10 25 18 12Z\" />\n            </>\n          ) : (\n            <>\n              <path d=\"M3 3h5v14H3Z\" />\n              <path d=\"M11 10h5v7h-5Z\" />\n            </>\n          )}\n        </svg>\n      )}\n    </button>\n  )\n}\n",
      "type": "registry:component",
      "target": "@ui/obsidian-toggle.tsx"
    }
  ]
}
