SvgIcon API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import SvgIcon from '@mui/joy/SvgIcon';
// or
import { SvgIcon } from '@mui/joy';
Component name
The nameJoySvgIcon
can be used when providing default props or style overrides in the theme.Props
Props of the native component are also available.
Name | Type | Default | Description |
---|---|---|---|
children | node | Node passed into the SVG element. | |
color | 'danger' | 'info' | 'inherit' | 'neutral' | 'primary' | 'success' | 'warning' | string | 'inherit' | The color of the component. It supports those theme colors that make sense for this component. You can use the htmlColor prop to apply a color attribute to the SVG element. |
component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
fontSize | 'inherit' | 'lg' | 'md' | 'sm' | 'xl' | 'xl2' | 'xl3' | 'xl4' | 'xl5' | 'xl6' | 'xl7' | 'xs' | 'xs2' | 'xs3' | 'xl' | The fontSize applied to the icon. Defaults to 1rem, but can be configure to inherit font size. |
htmlColor | string | Applies a color attribute to the SVG element. | |
inheritViewBox | bool | false | If true , the root node will inherit the custom component 's viewBox and the viewBox prop will be ignored. Useful when you want to reference a custom component and have SvgIcon pass that component 's viewBox to the root node. |
shapeRendering | string | The shape-rendering attribute. The behavior of the different options is described on the MDN Web Docs. If you are having issues with blurry icons you should investigate this prop. | |
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. | |
titleAccess | string | Provides a human-readable title for the element that contains it. https://www.w3.org/TR/SVG-access/#Equivalent | |
viewBox | string | '0 0 24 24' | Allows you to redefine what the coordinates without units mean inside an SVG element. For example, if the SVG element is 500 (width) by 200 (height), and you pass viewBox="0 0 50 20", this means that the coordinates inside the SVG will go from the top left corner (0,0) to bottom right (50,20) and each unit will be worth 10px. |
The
ref
is forwarded to the root element.