What is @mui/icons-material?
The @mui/icons-material package provides a large set of icons created by the Material-UI team that are based on Google's Material Design. These icons can be easily integrated into React applications to enhance user interfaces with scalable and accessible pictographic assets.
What are @mui/icons-material's main functionalities?
Using Material Icons in React Components
This feature allows developers to import specific icons from the package and use them as React components within their application. The example shows how to import the AccessAlarm icon and render it in a component.
import React from 'react';
import AccessAlarmIcon from '@mui/icons-material/AccessAlarm';
function MyApp() {
return (
<div>
<AccessAlarmIcon />
</div>
);
}
Customizing Icon Size and Color
Icons can be customized in terms of size and color by passing inline styles or using the 'sx' prop. The code sample demonstrates how to change the size to 40 pixels and the color to blue.
import React from 'react';
import AccessAlarmIcon from '@mui/icons-material/AccessAlarm';
function MyApp() {
return (
<div>
<AccessAlarmIcon style={{ fontSize: 40, color: 'blue' }} />
</div>
);
}
Combining Icons with Material-UI Components
Material icons can be combined with other Material-UI components such as buttons. In this example, a Delete icon is used within an IconButton component to create a clickable delete button.
import React from 'react';
import IconButton from '@mui/material/IconButton';
import DeleteIcon from '@mui/icons-material/Delete';
function MyApp() {
return (
<IconButton aria-label='delete'>
<DeleteIcon />
</IconButton>
);
}
Other packages similar to @mui/icons-material
react-icons
React-icons is a popular package that provides a large collection of icons from various icon libraries such as Font Awesome, Ionicons, and Material Design icons. It allows for easy integration and customization of icons in React applications, similar to @mui/icons-material, but with a broader range of icon sets.
font-awesome
Font Awesome is a widely used icon set that can be integrated into web projects. It offers both free and pro versions with a large selection of icons. While it is not a React-specific package, it can be used in React applications through the 'react-fontawesome' wrapper. It differs from @mui/icons-material in that it is not specifically designed for Material Design.
mdi-react
MDI-React is a package that provides Material Design Icons for React. It is similar to @mui/icons-material in that it focuses on Material Design icons, but it is a separate project not affiliated with the Material-UI team. It offers a different set of icons and may have different customization options.
@mui/icons-material
This package provides the Google Material Icons converted to SvgIcon
components.
Installation
Install the package in your project directory with:
npm install @mui/icons-material
These components use the Material UI's SvgIcon component to render the SVG path for each icon.
If you are not already using Material UI in your project, you can add it with:
npm install @mui/material
Documentation
Contributing
This icon set is meant to be in sync with Google's Material Icons.
Therefore, we don't accept fixes, additions, or any other contributions that would make this package diverge from the source.
To synchronize with Material Icons, do the following:
- Inside this workspace run
pnpm src:download
- Inside this workspace run
pnpm src:icons
- Inside the root run
pnpm docs:mdicons:synonyms
- If the number of icons changes significantly, edit the icons/icons.md and material-icons/material-icons.md under docs/data/material/components and update the numbers.