Material Design is a specification for a unified system of visual, motion, and interaction design that adapts across different devices. Our goal is to deliver a lean, lightweight set of AngularJS-native UI elements that implement the material design specification for use in Angular single-page applications (SPAs).
This project is in early pre-release. Angular Material is both a reference implementation of Material Design and a complementary effort to the Polymer project's Paper Elements collection.
Quick Links:
Please note that using Angular Material requires the use of Angular 1.3.x or higher. Angular Material is targeted for all browsers with versions n-1; where n is the current browser version.
Online Documentation (and Demos)
- Visit Material.AngularJS.org online to review the API, see the components in action with live Demos, and study the Layout system.
- Or you can build the documentation and demos locally; see Build Docs & Demos for details.
Contributing
Developers interested in contributing should read the following guidelines:
Please do not ask general questions in an issue. Issues are only to report bugs, request enhancements, or request new features. For general questions and discussions, use the Angular Material Forum.
It is important to note that for each release, the ChangeLog is a resource that will itemize all:
- Bug Fixes
- New Features
- Breaking Changes
Building
Developers can easily build Angular Material using NPM and gulp.
First install or update your local project's npm tools:
# First install all the NPM tools:
npm install
# Or update
npm update
Then run the gulp tasks:
# To build `angular-material.js/.css` and `Theme` files in the `/dist` directory
gulp build
# To build the Angular Material Docs and Demos in `/dist/docs` directory
gulp docs
For more details on how the build process works and additional commands (available for testing and debugging) developers should read the Build Instructions.
Installing Build (Distribution Files)
Bower
For developers not interested in building the Angular Material library... use bower to install and use the Angular Material distribution files.
Change to your project's root directory.
# To get the latest stable version, use Bower from the command line.
bower install angular-material
# To get the most recent, latest committed-to-master version use:
bower install angular-material#master
Visit Bower-Material for more details on how to install and use the Angular Material distribution files within your own local project.
CDN
CDN versions of Angular Material are now available at Google Hosted Libraries.
With the Google CDN, you will not need to download local copies of the distribution files. Instead simply reference the CDN urls to easily use those remote library files. This is especially useful when using online tools such as CodePen, Plunkr, or JSFiddle.
<head>
<!-- Angulars Material CSS now available via Google CDN; version 0.8 used here -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.css">
</head>
<body>
<!-- Angular Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>
<!-- Angular Material Javascript now available via Google CDN; version 0.8 used here -->
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.js"></script>
</body>
Note that the above sample references the 0.8.3 CDN release. Your version will change based on the latest stable release version.
Developers seeking the latest, most-current build versions can use RawGit.com to pull directly from the distribution GitHub Bower-Material repository:
<head>
<!-- Angulars Material CSS using RawGit to load directly from `bower-material/master` -->
<link rel="stylesheet" href="https://rawgit.com/angular/bower-material/master/angular-material.css">
</head>
<body>
<!-- Angular Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.js"></script>
<!-- Angular Material Javascript using RawGit to load directly from `bower-material/master` -->
<script src="https://rawgit.com/angular/bower-material/master/angular-material.js"></script>
</body>
Please note that the above RawGit access is intended ONLY for development purposes or sharing low-traffic, temporary examples or demos with small numbers of people.