This is the home for the Angular team's Material Design components built on top of Angular.
Google group, Contributing, Plunker Template
The latest release of Angular Material can be installed from npm
npm install --save @angular/material
A snapshot build with the latest changes from master is also available. Note that this snapshot build should not be considered stable and may break between releases.
npm install --save https://github.com/angular/material2-builds.git
See our Getting Started Guide if you're building your first project with Angular Material.
Angular Material is currently in beta and under active development. During beta, new features will be added regularly and APIs will evolve based on user feedback.
Check out our directory of design documents for more insight into our process.
If you'd like to contribute, you must follow our contributing guidelines.
You can look through the issues (which should be up-to-date on who is working on which features
and which pieces are blocked) and make a comment.
Also see our Good for community contribution
label.
High level stuff planned for Q2 2017 (April - June):
- Datepicker
- Initial version of data-table
- Design for tree component
- Typography extension to theming API
- Moving much of @angular/material's "core" to @angular/cdk
- Accessibility fix-it
- Scrolling strategies for overlays
- Nested menus
- Live theme swapping for material.angular.io
- Search for material.angular.io
- Support for prerendering with @angular/platform-server
Note that all "planned" work is tentative / best estimate and is subject to changing priorities.
Feature | Status | Docs | Issue |
---|---|---|---|
button | Available | README | - |
cards | Available | README | - |
checkbox | Available | README | - |
radio | Available | README | - |
input | Available | README | - |
sidenav | Available | README | - |
toolbar | Available | README | - |
list | Available | README | #107 |
grid-list | Available | README | - |
icon | Available | README | - |
progress-spinner | Available | README | - |
progress-bar | Available | README | - |
tabs | Available | README | - |
slide-toggle | Available | README | - |
button-toggle | Available | README | - |
slider | Available | README | - |
menu | Available | README | #119 |
tooltip | Available | README | - |
ripples | Available | README | #108 |
dialog | Available | README | #114 |
snackbar / toast | Available | README | #115 |
select | Available | README | #118 |
textarea | Available | README | - |
autocomplete | Available | README | #117 |
datepicker | Available | README | - |
chips | Initial version, features evolving | - | #120 |
theming | Available | Guide | - |
docs site | Launched & iterating | Docs | - |
typography | Started, coming soon | - | #205 |
data-table | In-progress | - | #581 |
expansion-panel | In-progress | - | #4191 |
tree | Design in-progress | - | #3175 |
virtual-repeat | Not started, planned Q3 2017 | - | #823 |
stepper | Not started, planned 2017 | - | #508 |
layout | See angular/flex-layout | Wiki | - |
fab speed-dial | Not started, not planned | - | #860 |
fab toolbar | Not started, not planned | - | - |
bottom-sheet | Not started, not planned | - | - |
bottom-nav | Not started, not planned | - | #408 |
"Available" means that the components or feature is published and available for use, but may still be missing some behaviors or polish.
Our goal is to build a set of high-quality UI components built with Angular and TypeScript, following the Material Design spec. These components will serve as an example of how to write Angular code following best practices.
- Internationalized and accessible so that all users can use them.
- Straightforward APIs that don't confuse developers.
- Behave as expected across a wide variety of use-cases without bugs.
- Behavior is well-tested with both unit and integration tests.
- Customizable within the bounds of the Material Design specification.
- Performance cost is minimized.
- Code is clean and well-documented to serve as an example for Angular devs.
Angular Material supports the most recent two versions of all major browsers: Chrome (including Android), Firefox, Safari (including iOS), and IE11 / Edge
We also aim for great user experience with the following screen readers:
- NVDA and JAWS with IE / FF / Chrome (on Windows).
- VoiceOver with Safari on iOS and Safari / Chrome on OSX.
- TalkBack with Chrome on Android.