Icon Button
IconButton composes the Button
component except that it renders only an icon.
Since IconButton
only renders an icon, you must pass the aria-label
prop, so
screen readers can give meaning to the button.
Import#
import { IconButton } from "@chakra-ui/react"
Usage#
Editable Example
Button Colors#
The IconButton
component accepts most of the props from the Button
component, so we can use colorScheme
prop to change the color of the button.
Editable Example
Button Sizes#
Like the Button component
, pass the size
prop to change the size of the
button.
Editable Example
Button Variants#
Like the Button
component, pass the variant
prop to change the style of the
button.
Editable Example
With custom icon#
You can also use icons from popular libraries like react-icons and just pass it into the button.
Editable Example
Props#
Name | Type | Description | Default |
---|---|---|---|
aria-label | requiredstring | A11y: A label that describes the button | - |
colorScheme | "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram" | "gray" | |
icon | React.ReactElement | The icon to be used in the button. | - |
isActive | boolean | If `true`, the button will be styled in its active state. | - |
isDisabled | boolean | If `true`, the button will be disabled. | - |
isLoading | boolean | If `true`, the button will show a spinner. | - |
isRound | boolean | If `true`, the button will be perfectly round. Else, it'll be slightly round | - |
size | "sm" | "md" | "lg" | "xs" | "md" | |
spinner | React.ReactElement | Replace the spinner component when `isLoading` is set to `true` | - |
variant | "link" | "outline" | "solid" | "ghost" | "unstyled" | "solid" |