# Button
Buttons are used as triggers for actions. They are used in forms, toolbars,
dialog footers and as stand-alone action triggers.
## Installation
```sh
yarn add @chakra-ui/button
# or
npm i @chakra-ui/button
```
## Import component
```jsx
import { Button } from "@chakra-ui/button"
```
## Usage
```jsx
```
### Button Sizes
Use the `size` prop to change the size of the button. You can set the value to
`xs`, `sm`, `md`, or `lg`.
```jsx
```
### Button Variant
Use the `variant` prop to change the visual style of the Button. You can set the
value to `solid`, `ghost`, `outline`, or `link`.
```jsx
```
### Button with Icon
You can add left and right icons to the Button components.
```jsx
} variant="solid">
Email
} variant="outline">
Call us
```
### Button loading state
Pass `isLoading` prop to the Button component to show its loading state. You can
optionally pass `loadingText` prop.
You can also use a custom spinner to render your own spinner component.
```jsx
}
>
Submit
```