Material Design is a specification for aunified system of visual, motion, and interaction design that adapts across different devices. Ourgoal is to deliver a lean, lightweight set of AngularJS-native UI elements that implement thematerial design specification for use in AngularJS single-page applications (SPAs).
AngularJS Material is an implementation of Google'sMaterial Design Specification (2014-2017)for AngularJS (v1.x) developers.
For an implementation of the Material Design Specification (2018+),please see the Angular Material project which is built forAngular (v2+) developers.
AngularJS Material has entered a Long Term Support (LTS) period which ends on December 31st, 2021.This date aligns with theAngularJS LTS period.
We now focus exclusively on providing fixes to bugs, in the 1.2.x branch of the library, thatsatisfy at least one of the following criteria:
AngularJS Material 1.1.x will get a new version, if and only if, we verify a new severe securityweakness.
Learn how to report security issueshere.
AngularJS Material includes a rich set of reusable, well-tested, and accessible UI components.
Quick Links:
Please note that using the latest version of AngularJS Material requires the use ofAngularJS 1.7.2 or higher.
AngularJS Material supports the browser versions defined in the browserslist
fieldof our package.json. Find out more on ourdocs site.
AngularJS Material supports the screen reader versions listedhere.
To preserve stability with applications currently using AngularJS Material, we do not follow semver.We have three types of releases:
major
: major releases will be done in the separate Angular Material repo.This type of release will not be used within AngularJS Material.minor
: contain breaking changes in addition to patch release changes.patch
: non-breaking changes (no API, CSS, UX changes that will cause breaks in existing AngularJS Material applications).The patch builds (1.2.1, 1.2.2, etc.) are prepared based on commits in the master
branch;which contains only non-breaking changes (I.e. bug fixes, new features, API additions, and minimalnon-breaking CSS changes). We are targeting patch
releases every 2 weeks.
The minor builds (1.1.0, 1.2.0, 1.3.0) can contain breaking changes to CSS, APIs, and UX.Our formal release of minor
builds is much less frequent. The release process for minor
builds is currentlybeing re-evaluated.
For the purposes of AngularJS Material, you could think of the patch releases as being minor changes,and the 'minor' releases as being major changes according to semver.
Developers interested in contributing should read the following guidelines:
Please do not ask general questions in an issue. Issues are only to report bugs, requestenhancements, or request new features. For general questions and discussions, use theAngularJS Material Forum.
It is important to note that for each release, the ChangeLog is a resource that willitemize all:
Developers can build AngularJS Material using NPM and gulp.
First install or update your local project's npm dependencies:
npm install
Install Gulp v3 globally:
npm install -g gulp@3
Then run the gulp tasks:
# To build `angular-material.js/.css` and `Theme` files in the `/dist` directory
gulp build
# To build the AngularJS Material Docs and Demos in `/dist/docs` directory
gulp docs
For development, use the docs:watch
NPM script to run in dev mode:
# To build the AngularJS Material Source, Docs, and Demos in watch mode
npm run docs:watch
For more details on how the build process works and additional commands (available for testing anddebugging) developers should read the Build Guide.
For developers not interested in building the AngularJS Material library... use NPM to installand use the AngularJS Material distribution files.
Change to your project's root directory.
# To get the latest stable version, use NPM from the command line.
npm install angular-material --save
# To get the most recent, latest committed-to-master version use:
npm install http://github.com/angular/bower-material#master --save
Visit our distribution repositoryfor more details on how to install and use the AngularJS Material distribution files within your localproject.
CDN versions of AngularJS Material are available.
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 usefulwhen using online tools such as CodePen or Plunker.
<head>
<!-- AngularJS Material CSS now available via Google CDN; version 1.2.1 used here -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.2.1/angular-material.min.css">
</head>
<body>
<!-- AngularJS Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-messages.min.js"></script>
<!-- AngularJS Material Javascript now available via Google CDN; version 1.2.1 used here -->
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.2.1/angular-material.min.js"></script>
</body>
Developers seeking the latest, most-current build versions can use GitCDN.xyz topull directly from our distribution repository:
<head>
<!-- AngularJS Material CSS using GitCDN to load directly from `bower-material/master` -->
<link rel="stylesheet" href="https://gitcdn.xyz/cdn/angular/bower-material/master/angular-material.css">
</head>
<body>
<!-- AngularJS Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-animate.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-aria.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-messages.min.js"></script>
<!-- AngularJS Material Javascript using GitCDN to load directly from `bower-material/master` -->
<script src="https://gitcdn.xyz/cdn/angular/bower-material/master/angular-material.js"></script>
</body>
Once you have all the necessary assets installed, add ngMaterial
and ngMessages
as dependencies for yourapp:
angular.module('myApp', ['ngMaterial', 'ngMessages']);