MaterialDesign Angular Material

@mdi/angular-material Dist for Material Design Icons.

19
6
JavaScript

Note: Please use the main MaterialDesign repo to report issues. This repo is for distribution of the Angular Material files only.

Angular Material - Material Design Icons

Angular Material distribution for the Material Design Icons.

Installation

Install @mdi/angular-material and @angular/cdk from npm:

npm install @mdi/angular-material @angular/cdk

Usage

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.

Angular Material

The mdi.svg contains all the icons provided on the site. It can be used inline with
MatIconRegistry.

  1. In your app’s main module (typically app.module.ts), import MatIconModule and MatIconRegistry 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/icon';
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')
    );
  }
}
  1. The SVG icons can then be used with MatIcon’s
    svgIcon attribute as shown below:
<mat-icon svgIcon="<name of icon>"></mat-icon>

For more information about SVG icons, check out the documentation.

StackBlitz demo

AngularJS Material

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')
});

Usage


<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>

Related Packages

NPM @MDI Organization

Learn More