Badge API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import Badge from '@mui/material/Badge';
// or
import { Badge } from '@mui/material';
Props
Props of the native component are also available.
Name | Type | Default | Description |
---|---|---|---|
anchorOrigin | { horizontal: 'left' | 'right', vertical: 'bottom' | 'top' } | { vertical: 'top', horizontal: 'right', } | The anchor of the badge. |
badgeContent | node | The content rendered within the badge. | |
children | node | The badge will be added relative to this node. | |
classes | object | Override or extend the styles applied to the component. See CSS API below for more details. | |
color | 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | string | 'default' | The color of the component. It supports both default and custom theme colors, which can be added as shown in the palette customization guide. |
component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
components | { Badge?: elementType, Root?: elementType } | {} | The components used for each slot inside. This prop is an alias for the slots prop. It's recommended to use the slots prop instead. |
componentsProps | { badge?: func | object, root?: func | object } | {} | The extra props for the slot components. You can override the existing props or add new ones. This prop is an alias for the slotProps prop. It's recommended to use the slotProps prop instead, as componentsProps will be deprecated in the future. |
invisible | bool | false | If true , the badge is invisible. |
max | number | 99 | Max count to show. |
overlap | 'circular' | 'rectangular' | 'rectangular' | Wrapped shape the badge should overlap. |
showZero | bool | false | Controls whether the badge is hidden when badgeContent is zero. |
slotProps | { badge?: func | object, root?: func | object } | {} | The props used for each slot inside the Badge. |
slots | { badge?: elementType, root?: elementType } | {} | The components used for each slot inside the Badge. Either a string to use a HTML element or a component. |
sx | Array<func | object | bool> | func | object | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | |
variant | 'dot' | 'standard' | string | 'standard' | The variant to use. |
The
ref
is forwarded to the root element.Theme default props
You can useMuiBadge
to change the default props of this component with the theme.CSS
The following class names are useful for styling with CSS (the state classes are marked).
To learn more, visit the component customization page.
Rule name | Global class | Description |
---|---|---|
root | .MuiBadge-root | Styles applied to the root element. |
badge | .MuiBadge-badge | Styles applied to the badge span element. |
dot | .MuiBadge-dot | Styles applied to the badge span element if variant="dot" . |
standard | .MuiBadge-standard | Styles applied to the badge span element if variant="standard" . |
anchorOriginTopRight | .MuiBadge-anchorOriginTopRight | Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }} . |
anchorOriginBottomRight | .MuiBadge-anchorOriginBottomRight | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }} . |
anchorOriginTopLeft | .MuiBadge-anchorOriginTopLeft | Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }} . |
anchorOriginBottomLeft | .MuiBadge-anchorOriginBottomLeft | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }} . |
invisible | .MuiBadge-invisible | State class applied to the badge span element if invisible={true} . |
colorPrimary | .MuiBadge-colorPrimary | Styles applied to the badge span element if color="primary" . |
colorSecondary | .MuiBadge-colorSecondary | Styles applied to the badge span element if color="secondary" . |
colorError | .MuiBadge-colorError | Styles applied to the badge span element if color="error" . |
colorInfo | .MuiBadge-colorInfo | Styles applied to the badge span element if color="info" . |
colorSuccess | .MuiBadge-colorSuccess | Styles applied to the badge span element if color="success" . |
colorWarning | .MuiBadge-colorWarning | Styles applied to the badge span element if color="warning" . |
anchorOriginTopRightRectangular | .MuiBadge-anchorOriginTopRightRectangular | Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }} overlap="rectangular" . |
anchorOriginBottomRightRectangular | .MuiBadge-anchorOriginBottomRightRectangular | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }} overlap="rectangular" . |
anchorOriginTopLeftRectangular | .MuiBadge-anchorOriginTopLeftRectangular | Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }} overlap="rectangular" . |
anchorOriginBottomLeftRectangular | .MuiBadge-anchorOriginBottomLeftRectangular | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }} overlap="rectangular" . |
anchorOriginTopRightCircular | .MuiBadge-anchorOriginTopRightCircular | Styles applied to the badge span element if anchorOrigin={{ 'top', 'right' }} overlap="circular" . |
anchorOriginBottomRightCircular | .MuiBadge-anchorOriginBottomRightCircular | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'right' }} overlap="circular" . |
anchorOriginTopLeftCircular | .MuiBadge-anchorOriginTopLeftCircular | Styles applied to the badge span element if anchorOrigin={{ 'top', 'left' }} overlap="circular" . |
anchorOriginBottomLeftCircular | .MuiBadge-anchorOriginBottomLeftCircular | Styles applied to the badge span element if anchorOrigin={{ 'bottom', 'left' }} overlap="circular" . |
overlapRectangular | .MuiBadge-overlapRectangular | Styles applied to the badge span element if overlap="rectangular" . |
overlapCircular | .MuiBadge-overlapCircular | Styles applied to the badge span element if overlap="circular" . |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverrides
property in a custom theme.