Note: Please use the main MaterialDesign repo to report issues. This repo is for distribution of the Angular Material files only.
Angular Material distribution for the Material Design Icons.
Install @mdi/angular-material
from npm:
npm install @mdi/angular-material
This bundle is usable with AngularJS Material/Angular Material and to facilitate usage, it's recommended to use
copy-webpack-plugin
.
Add the following plugin configuration in the Webpack configuration:
new CopyWebpackPlugin([
{ from: 'node_modules/@mdi/angular-material/mdi.svg',
to: 'assets/mdi.svg'
}
]);
Or if you're using the Angular CLI, make sure to include mdi.svg
in your assets
folder under the Angular workspace configuration file
in the assets
array, located in the build configuration for your project:
```json Angular workspace configuration file
{
// ...
"architect": {
"build": {
"options": {
"assets": [
{ "glob": "**/*", "input": "./assets/", "output": "./assets/" },
{ "glob": "favicon.ico", "input": "./", "output": "./" },
{ "glob": "mdi.svg", "input": "./node_modules/@mdi/angular-material", "output": "./assets" }
]
}
}
}
// ...
}
```
Note that the input directory is dependent on the workspace root which can be found
by looking at your desired project's root
property. (For more information, visit the
Angular documentation on project configuration options.)
Additionally, see the Angular documentation on assets configuration for more information.
Note: Documentation for Angular CLI versions 1.x.x (around Angular v5) has been dropped as Angular v5 is no longer supported.
The mdi.svg
contains all the icons provided on the site. It can be used inline with
MatIconRegistry.
- In your app's main module (typically
app.module.ts
), importMatIconModule
andMatIconRegistry
from@angular/material/icon
:
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { MatIconRegistry, MatIconModule } from '@angular/material';
import { DomSanitizer } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
// ...
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
// Required by the Angular Material icon module
HttpClientModule,
// ...
MatIconModule
]
})
export class AppModule {
constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer){
matIconRegistry.addSvgIconSet(
domSanitizer.bypassSecurityTrustResourceUrl('./assets/mdi.svg')
);
}
}
- The SVG icons can then be used with
MatIcon
'ssvgIcon
attribute as shown below:
<mat-icon svgIcon="<name of icon>"></mat-icon>
For more information about SVG icons, check out the documentation.
The mdi.svg
contains all the icons provided on the site. Use inline with $mdIconProvider
.
var app = angular.module('myApp', ['ngMaterial']);
app.config(function($mdIconProvider) {
$mdIconProvider
.defaultIconSet('assets/mdi.svg')
});
<md-icon md-svg-icon="android"></md-icon>
<md-button aria-label="Android" class="md-icon-button">
<md-icon md-svg-icon="android"></md-icon>
</md-button>
- SVG: MaterialDesign-SVG
- Webfont: MaterialDesign-Webfont