{
  "description": "",
  "displayName": "Button",
  "methods": [],
  "props": {
    "children": {
      "required": false,
      "type": {
        "name": "ReactNode",
        "raw": "React.ReactNode"
      },
      "description": "The content to display inside the button"
    },
    "disabled": {
      "required": false,
      "type": {
        "name": "boolean"
      },
      "description": "Disabled the button, the user cannot click on them"
    },
    "active": {
      "required": false,
      "type": {
        "name": "boolean"
      },
      "description": "Sets the button in an active state"
    },
    "loading": {
      "required": false,
      "type": {
        "name": "boolean"
      },
      "description": "Replaces button text with a spinner while a background action is being performed"
    },
    "size": {
      "required": false,
      "type": {
        "name": "union",
        "raw": "'small' | 'medium'",
        "value": [
          {
            "name": "'small'"
          },
          {
            "name": "'medium'"
          }
        ]
      },
      "description": "Changes the size of button, giving more or less padding"
    },
    "appearance": {
      "required": false,
      "type": {
        "name": "union",
        "raw": "| 'primary'\n| 'secondary'\n| 'premium'\n| 'ghost'\n| 'danger'\n| { type: 'ghost', variant: 'danger'}",
        "value": [
          {
            "name": "'primary'"
          },
          {
            "name": "'secondary'"
          },
          {
            "name": "'premium'"
          },
          {
            "name": "'ghost'"
          },
          {
            "name": "'danger'"
          },
          {
            "name": "{ type: 'ghost', variant: 'secondary'}"
          },
          {
            "name": "{ type: 'ghost', variant: 'danger'}"
          }
        ]
      },
      "description": "Button appearance"
    },
    "dataTest": {
      "required": false,
      "type": {
        "name": "string"
      },
      "description": "Add a data-test tag for automated tests"
    },
    "iconLeading": {
      "required": false,
      "type": {
        "name": "ReactNode",
        "raw": "React.ReactNode"
      },
      "description": "Icon to display to the left of button content"
    },
    "iconTrailing": {
      "required": false,
      "type": {
        "name": "ReactNode",
        "raw": "React.ReactNode"
      },
      "description": "Icon to display to the right of button content"
    },
    "showOnlyIconOnMobile": {
      "required": false,
      "type": {
        "name": "boolean"
      },
      "description": "Display only the icon in mobile"
    },
    "onClick": {
      "required": false,
      "type": {
        "name": "() => void",
        "type": "function",
        "signature": {
          "arguments": [],
          "return": {
            "name": "void"
          }
        }
      },
      "description": "Callback when clicked"
    },
    "type": {
      "required": false,
      "type": {
        "name": "union",
        "raw": "'button' | 'reset' | 'submit'",
        "value": [
          {
            "name": "'button'"
          },
          {
            "name": "'reset'"
          },
          {
            "name": "'submit'"
          }
        ]
      },
      "description": "Optional prop to specify the type of the Button"
    },
    "intercomTarget": {
      "required": false,
      "type": {
        "name": "string"
      },
      "description": "Add a data-intercom-target with unique id to link a component to a Product Tour step"
    },
    "className": {
      "required": false,
      "type": {
        "name": "string"
      },
      "description": "Add a specific class to the button"
    },
    "as": {
      "required": false,
      "type": {
        "name": "union",
        "raw": "'button' | 'a' ",
        "value": [
          {
            "name": "'button'"
          },
          {
            "name": "'a'"
          }
        ]
      },
      "description": "Add the ability to display a link by an a tag"
    }
  }
}
