This package provides the Fluent UI System Icons as optimized plain svg assets.
npm install @fluentui/svg-iconsThe library offers icons in SVG format; the icon names are structured as:
[name]_[size]_[style]
name- Name of the icon from assets that is all lowercased and underscore separated.size- Size of the icon that is one of 16/20/24/28/48. Note that some icons do not have all sizes available yet. Our designers are working to add missing ones to complete the collection.style- Style of the icon that is one ofregular,filled, orcolor. See the section below for details.
The library offers icons in three styles, regular, filled, and color.
| regular | filled |
|---|---|
Monochrome icons. The single design fill is stripped during build so the icon
inherits currentColor (or whatever fill you set on the element), making them
fully themeable.
import MailIcon from '@fluentui/svg-icons/icons/mail_24_regular.svg';Multi-color icons (gradients, multiple fills) intended to be used as-is. Unlike
regular/filled, their fills are preserved and not themeable, and each
file's gradient/clip ids are namespaced with the file name (e.g.
#mail_24_color__a) so multiple color icons can be inlined on the same page
without id collisions.
import MailColorIcon from '@fluentui/svg-icons/icons/mail_24_color.svg';Deprecated: color icons are deprecated and may be removed in a future release. Prefer
regular/filledfor new work. See the color variants guidance.Note: color icons cover only a subset of the icon set (and not every size is available for each icon).
A common use case is to use svg-inline-loader in your Webpack config.
npm install svg-inline-loader --save-devwebpack.js:
module.exports = {
resolve: {
extensions: ['.svg'],
},
module: {
rules: [
{
test: /\.svg$/,
use: [
{
loader: 'svg-inline-loader',
options: {
removeSVGTagAttrs: false,
},
},
],
},
],
},
};Then reference an icon on a page.
Using template literal:
import AddIcon from '@fluentui/svg-icons/icons/add_20_filled.svg';
`<div>${AddIcon}</div>`;Or require:
var icon = require('@fluentui/svg-icons/icons/add_20_filled.svg');