# SVG Sprites An SVG sprite is used for icons, this is generated by the [svg-sprite](https://github.com/svg-sprite/svg-sprite) node module. This means icons can be easily pre-loaded when the navigator is collapsed. ## Using the icons After compilation, a `_iconsprite.scss` file is created. This should be included in the main scss. To include an icon as background image in an element, extend the icon and the dimensions ```scss .bn-icon-close { @extend .svg-images--bn-icon--close; @extend .svg-images--bn-icon--close-dims; } ``` ## Adding or removing icons If you need to add or remove an icon, then add or remove it from the `./images/bn-icon/` directory and re-compile. Only SVG is supported, and it is recommended to compress the SVG first using a tool such as [svgo](https://github.com/svg/svgo) or [svgomg](https://jakearchibald.github.io/svgomg/) first. ## Compiling the icon sprite This can be done by running `npm run build:svg` from the root of the module. All icons in the `./images/bn-icon/` directory are compiled into a single SVG and output to `./css/svg/`. The `./scss/_iconsprite.scss` file is generated with the correct background positions based on the size of each icon. ## License Icons are sourced from [IcoMoon](https://icomoon.io/) and are from the following packs: * [IcoMoon - Free](https://icomoon.io/#icons) by [Keyamoon](http://keyamoon.com/) (GPL / CC BY 4.0) * [Entypo+](http://www.entypo.com/) by [Daniel Bruce](http://danielbruce.se/) (CC BY-SA 4.0) The icons have been compressed and resized.