Distribution and Build for Angular Material MDI
npm install @mdi/angular-material> Note: Please use the main MaterialDesign repo to report issues. This repo is for distribution of the Angular Material files only.
@mdi/angular-material and @angular/cdk from npm:
bash
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:
`javascript
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.
$3
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:
`typescript App module
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')
);
}
}
`
2. The SVG icons can then be used with MatIcon's
svgIcon attribute as shown below:
`html Example Usage
`
For more information about SVG icons, check out the documentation.
StackBlitz demo
$3
The mdi.svg contains all the icons provided on the site. Use inline with $mdIconProvider.
`javascript Configuration
var app = angular.module('myApp', ['ngMaterial']);
app.config(function($mdIconProvider) {
$mdIconProvider
.defaultIconSet('assets/mdi.svg')
});
`
#### Usage
`html Example Usage
``