@myunisoft/mui-symbols-material
Material Symbols is the successor of Material Icons. The collection brings 3200+ symbols and it fulfills better the needs of our UX/UI design team. The search tool provides lots of synonyms to find symbols more easily.
Material Symbols is not supported yet by MUI. So the present project forks mui-symbols-material to make it compatible with React 19 and MUI 7.x, and to export only rounded symbols.
In our projects only filled or not filled rounded style symbols with weight 300 and 400 will be used. UX team will specify the use cases.
Because JS (and so React) names cannot start with a number, Symbols whose name starts with a number are prefixed with S (like Symbol): 24mpRounded -> S4mpRounded. This will simplify the maintenance of the library instead of replacing numbers with text as the original package does.
How to build the packages
Using Lerna batch scripts leads to wrong truncated packages even with sequential runs. Build and deploy each package seperately.
From the root of each package:
- Run
pnpm src:download to update the Svg icons collection with Google's @material-design-icons/scripts
- Run
pnpm src:icons to generate JS file from Svg
- Run
pnpm release:version x.x.x from root to bump versions in all packages
- Run
pnpm build:pure-esm to build a lighter package with only ESM files
- Run
pnpm publish --no-git-checks to publish on npm
How to use
yarn @myunisoft/mui-symbols-material-w300-esm @myunisoft/mui-symbols-material-w400-esm
To optimize bundle size and avoid importing the whole collection, do not use named imports
â
import { SearchRounded, HelpFilledRounded } from '@myunisoft/mui-symbols-material-w300-esm';
but rather use default import for each symbol
â
import SearchRounded from '@myunisoft/mui-symbols-material-w300-esm/SearchRounded';
import HelpFilledRounded from '@myunisoft/mui-symbols-material-w300-esm/HelpFilledRounded';
Original @mui-symbols-material/w400
This package provides the Google Material Symbols with weight 400 converted to SvgIcon components.
Installation
Install the package in your project directory with:
npm install @mui-symbols-material/w400
To install icons of a different weight, simply replace 400 with the desired weight in the installation command.
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
Usage
Once installed, you can use the icons in your React components:
import React from 'react';
import {
FavoriteOutlined,
FavoriteRounded,
FavoriteSharp,
FavoriteFilledOutlined,
FavoriteFilledRounded,
FavoriteFilledSharp,
} from '@mui-symbols-material/w400';
function MyComponent() {
return (
<>
<FavoriteOutlined />
<FavoriteRounded />
<FavoriteSharp />
<FavoriteFilledOutlined />
<FavoriteFilledRounded />
<FavoriteFilledSharp />
</>
);
}
Styles
- Outlined: These icons have a distinct outline, providing a clear and crisp appearance.
- Rounded: These icons have rounded edges, offering a softer and more subtle appearance.
- Sharp: These icons have sharp edges, giving a bold and striking appearance.
Filled Version
Each icon also comes in a filled version, providing a different aesthetic and allowing for greater versatility in their usage.
Weights
Icons are available in multiple weights (100, 200, ..., 700), providing flexibility in design and emphasis.
Design Specifications
All icons are based on a standard 24px optical size and a default 0 grade.
Documentation
Contributing
This icon set is meant to be in sync with Google's Material Symbols.
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 && pnpm build