{
  "props": [
    {
      "Attribute": "children",
      "Type": "`ReactNode`",
      "Description": "The content to display in the button.",
      "Default": "-"
    },
    {
      "Attribute": "variant",
      "Type": "`solid` | `bordered` | `light` | `flat` | `faded` | `shadow` | `ghost`",
      "Description": "The button appearance style.",
      "Default": "`solid`"
    },
    {
      "Attribute": "color",
      "Type": "`default` | `primary` | `secondary` | `success` | `warning` | `danger`",
      "Description": "The button color theme.",
      "Default": "`default`"
    },
    {
      "Attribute": "size",
      "Type": "`sm` | `md` | `lg`",
      "Description": "The button size.",
      "Default": "`md`"
    },
    {
      "Attribute": "radius",
      "Type": "`none` | `sm` | `md` | `lg` | `full`",
      "Description": "The button border radius.",
      "Default": "-"
    },
    {
      "Attribute": "startContent",
      "Type": "`ReactNode`",
      "Description": "The button start content.",
      "Default": "-"
    },
    {
      "Attribute": "endContent",
      "Type": "`ReactNode`",
      "Description": "The button end content.",
      "Default": "-"
    },
    {
      "Attribute": "spinner",
      "Type": "`ReactNode`",
      "Description": "Spinner to display when loading.",
      "Default": "-"
    },
    {
      "Attribute": "spinnerPlacement",
      "Type": "`start` | `end`",
      "Description": "The spinner placement.",
      "Default": "`start`"
    },
    {
      "Attribute": "fullWidth",
      "Type": "`boolean`",
      "Description": "Whether the button should take the full width of its parent.",
      "Default": "`false`"
    },
    {
      "Attribute": "isIconOnly",
      "Type": "`boolean`",
      "Description": "Whether the button should have the same width and height.",
      "Default": "`false`"
    },
    {
      "Attribute": "isDisabled",
      "Type": "`boolean`",
      "Description": "Whether the button is disabled.",
      "Default": "`false`"
    },
    {
      "Attribute": "isLoading",
      "Type": "`boolean`",
      "Description": "Whether the button is loading.",
      "Default": "`false`"
    },
    {
      "Attribute": "disableRipple",
      "Type": "`boolean`",
      "Description": "Whether the button should display a ripple effect on press.",
      "Default": "`false`"
    },
    {
      "Attribute": "disableAnimation",
      "Type": "`boolean`",
      "Description": "Whether the button should display animations.",
      "Default": "`false`"
    }
  ],
  "link": "https://nextui.org/docs/components/button",
  "events": [
    {
      "Attribute": "onPress",
      "Type": "`(e: PressEvent) => void`",
      "Description": "Handler called when the press is released over the target."
    },
    {
      "Attribute": "onPressStart",
      "Type": "`(e: PressEvent) => void`",
      "Description": "Handler called when a press interaction starts."
    },
    {
      "Attribute": "onPressEnd",
      "Type": "`(e: PressEvent) => void`",
      "Description": "Handler called when a press interaction ends, either over the target or when the pointer leaves the target."
    },
    {
      "Attribute": "onPressChange",
      "Type": "`(isPressed: boolean) => void`",
      "Description": "Handler called when the press state changes."
    },
    {
      "Attribute": "onPressUp",
      "Type": "`(e: PressEvent) => void`",
      "Description": "Handler called when a press is released over the target, regardless of whether it started on the target or not."
    },
    {
      "Attribute": "onKeyDown",
      "Type": "`(e: KeyboardEvent) => void`",
      "Description": "Handler called when a key is pressed."
    },
    {
      "Attribute": "onKeyUp",
      "Type": "`(e: KeyboardEvent) => void`",
      "Description": "Handler called when a key is released."
    },
    {
      "Attribute": "onClick",
      "Type": "`MouseEventHandler`",
      "Description": "The native button click event handler (**Deprecated**) use **onPress** instead."
    }
  ]
}
