{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gallery-lavender-button",
  "type": "registry:ui",
  "title": "Porcelain key",
  "description": "Reusable pale lavender material with controlled state.",
  "dependencies": [],
  "registryDependencies": [
    "https://pluginui.com/r/gallery-lavender-control-styles.json"
  ],
  "files": [
    {
      "path": "components/ui/lavender-button.tsx",
      "content": "/**\n * Source: https://maru.audio/ui-kit/lavender-button\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 { ButtonHTMLAttributes } from \"react\"\nimport \"@/components/ui/lavender-controls.css\"\nexport interface LavenderButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n  pressed?: boolean\n  outlined?: boolean\n  label?: string\n  onPressedChange?: (pressed: boolean) => void\n}\n/** A small raised key, optionally showing an inset violet pressed edge. */\nexport function LavenderButton({\n  pressed,\n  onPressedChange,\n  label,\n  outlined = false,\n  className = \"\",\n  children,\n  ...props\n}: LavenderButtonProps) {\n  return (\n    <button\n      {...props}\n      type={props.type ?? \"button\"}\n      aria-label={label ?? props[\"aria-label\"]}\n      onClick={(event) => {\n        onPressedChange?.(!pressed)\n        props.onClick?.(event)\n      }}\n      aria-pressed={pressed}\n      className={`lavender-button ${outlined ? \"is-outlined\" : \"\"} ${pressed ? \"is-pressed\" : \"\"} ${className}`}\n    >\n      {children ?? label}\n    </button>\n  )\n}\n",
      "type": "registry:component",
      "target": "@ui/lavender-button.tsx"
    }
  ]
}
