IconButton
Basic Usage with Paragon Icon
Any Paragon component or export may be added to the code example.
With tooltips
Any Paragon component or export may be added to the code example.
Active State
Any Paragon component or export may be added to the code example.
isActive=true with inverted colors
Any Paragon component or export may be added to the code example.
Inverted Colors
Any Paragon component or export may be added to the code example.
Sizes
Any Paragon component or export may be added to the code example.
Props API#
- className
stringA custom class name.
- iconAs
PropTypes.elementType as anyComponent that renders the icon, currently defaults to
FontAwesomeIcon, but is going to be deprecated soon, please use Paragon's icons instead. - src
PropTypes.elementType as anyAn icon component to render. Example import of a Paragon icon component:
import { Check } from '@openedx/paragon/icons'; - alt
stringRequiredAlt text for your icon. For best practice, avoid using alt text to describe the image in the
IconButton. Instead, we recommend describing the function of the button. - invertColors
boolDefaultfalseChanges icon styles for dark background
- icon
PropTypes.shape({ prefix: PropTypes.string, iconName: PropTypes.string, // eslint-disable-next-line react/forbid-prop-types icon: PropTypes.array, }) as anyAccepts a React fontawesome icon.
- iconClassNames
stringExtra class names that will be added to the icon
- onClick
funcDefault() => {}Click handler for the button
- variant
enum'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand'Default'primary'Type of button (uses Bootstrap options)
- size
enum'sm' | 'md' | 'inline'Default'md'size of button to render
- isActive
boolDefaultfalsewhether to show the
IconButtonin an active state, whose styling is distinct from default state - children
any
- tooltipPlacement
stringDefault'top'tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options
- tooltipContent
nodeRequiredany valid JSX or text to be rendered as tooltip contents
- variant
enum'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand'Type of button (uses Bootstrap options)
- invertColors
boolChanges icon styles for dark background
- iconAs unknown type | unknown type
- className
stringAdditional CSS class[es] to apply to this button
- alt
stringRequiredAlt text for your icon. For best practice, avoid using alt text to describe the image in the
IconButton. Instead, we recommend describing the function of the button. - src unknown type
An icon component to render. Example import of a Paragon icon component:
import { Check } from '@openedx/paragon/icons'; - iconClassNames
stringExtra class names that will be added to the icon
- onClick unknown type
Click handler for the button
- isActive unknown type
whether to show the
IconButtonin an active state, whose styling is distinct from default state - icon unknown type
- size unknown type | unknown type | unknown type
size of button to render
- children unknown type
no children
Usage Insights#
IconButton
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-admin-portal | 21.13.1 | 13 | |
| frontend-app-authn | 22.10.0 | 4 | |
| frontend-app-communications | 22.7.0 | 3 | |
| frontend-app-course-authoring | 22.8.1 | 38 | |
| frontend-app-discussions | 22.7.0 | 12 | |
| frontend-app-enterprise-public-catalog | 21.13.1 | 2 | |
| frontend-app-gradebook | 22.8.1 | 1 | |
| frontend-app-learner-dashboard | 22.9.0 | 1 | |
| frontend-app-learner-portal-enterprise | 21.13.1 | 5 | |
| frontend-app-learner-record | 22.10.0 | 1 | |
| frontend-app-learning | 22.10.0 | 8 | |
| frontend-app-library-authoring | 21.11.3 | 4 | |
| frontend-app-ora-grading | 21.11.3 | 5 | |
| frontend-app-support-tools | 21.13.1 | 3 | |
| frontend-component-header-edx | 21.13.1 | 2 | |
| frontend-component-header | 22.10.0 | 1 | |
| prospectus | 20.46.2 | 7 |
IconButtonWithTooltip
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-admin-portal | 21.13.1 | 5 | |
| frontend-app-course-authoring | 22.8.1 | 29 | |
| frontend-app-discussions | 22.7.0 | 1 | |
| frontend-app-learner-portal-enterprise | 21.13.1 | 2 | |
| frontend-app-library-authoring | 21.11.3 | 1 | |
| frontend-app-support-tools | 21.13.1 | 2 |