{
  "type": "button",
  "description": "Clickable button with optional param broadcast.",
  "hasChildren": false,
  "propsSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
      "label": {
        "default": "Button",
        "type": "string"
      },
      "variant": {
        "default": "default",
        "type": "string",
        "enum": [
          "default",
          "destructive",
          "outline",
          "secondary",
          "ghost",
          "link"
        ]
      },
      "size": {
        "default": "default",
        "type": "string",
        "enum": [
          "default",
          "sm",
          "lg"
        ]
      },
      "disabled": {
        "default": false,
        "type": "boolean"
      },
      "param": {
        "description": "Canvas parameter name to sync click count with. Each click increments the count.",
        "type": "string"
      },
      "style": {
        "description": "Inline CSS styles as a plain CSS string (e.g., \"color: red; font-size: 16px\")",
        "type": "string"
      },
      "centered": {
        "default": false,
        "description": "If true, centers the button within the node.",
        "type": "boolean"
      }
    },
    "description": "A clickable button for triggering actions. If param is provided, broadcasts click count to that canvas parameter."
  }
}
