Angular 2, 4, 5, 6 components, directives and styles based on material design lite (npm: @angular-mdl/core)
TypeScript CSS HTML JavaScript Shell
mseemann Merge pull request #1503 from mseemann/greenkeeper/webpack-merge-4.1.3
Update webpack-merge to the latest version 🚀
Latest commit ba89d44 Jul 19, 2018

README.md

Angular 6 components, directives and styles based on material design lite https://getmdl.io (v: 1.3.0). This package assumes that you are building an Angular app with TypeScript. Angular CLI makes it even easier but isn't required.

If you are looking for a stable Angular 5 compatible version please refer to this branch: https://github.com/mseemann/angular2-mdl/tree/angular5. master is compatible with Angular 6.

Build Status CircleCI npm version Downloads Coverage Status Dependencies peerDependencies Status DevDependencies Code Climate

Status of the npm package version 6 (mdl version 1.3.0; angular 6)

  • Badges
  • Buttons
  • Cards
  • Chips
  • Dialogs (imperative and declarative)
  • Icons
  • Loading
  • Shadow
  • Toggle (Checkbox, Radio, Icon Toggle, Switch)
  • Lists
  • Slider
  • Snackbar
  • Table
  • Tooltips
  • Menu
  • Layout (standard, scroll, waterfall, tabs)
  • Tabs
  • Textfields (multiline, expandable)

Installation

npm install @angular-mdl/core --save

How to use the mdl components with webpack

Just use it. Add the MdlModule to your NgModule imports and you are done!

How to use the mdl components with system js

You need to configure your system-config.js file:

const map: any = {
  '@angular-mdl/core': 'vendor/@angular-mdl/core'
};

/** User packages configuration. */
const packages: any = {
  '@angular-mdl/core': { main: 'bundle/core.js'}
};

css from material-design-lite

You may include the material-design-lite css in your html and you're done!

<link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.indigo-pink.min.css" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

Under http://mseemann.io/angular2-mdl/theme you'll find a customizing tool to change the theme colors.

How to use the scss files from material-design-lite

This package includes the scss files from material-design-lite. With these files you are able to change the colors and other variables in your own scss files:

@import "~@angular-mdl/core/scss/color-definitions";

$color-primary: $palette-blue-500;
$color-primary-dark: $palette-blue-700;
$color-accent: $palette-amber-A200;
$color-primary-contrast: $color-dark-contrast;
$color-accent-contrast: $color-dark-contrast;

@import '~@angular-mdl/core/scss/material-design-lite';

To make this working you need to find out the way how you could tell your build system where the scss is located. For example with webpack you can use the special ~@angular-mdl/core syntax used above. Or you can configure the includePaths:

sassLoader: {
	includePaths: [util.root('node_modules', '@angular-mdl/core', 'scss')]
}

Contributing

Every contribution is welcome. Please checkout the CONTRIBUTION.md file.

Remarks

And if you would like to see a real world app that uses this package have a look at https://www.yovelino.de/apps/tour-planner/.