2017-01-27 01:35:39 +02:00
# Material Design for Angular
2016-09-29 17:51:33 -05:00
[](https://www.npmjs.com/package/%40angular%2Fmaterial)
2016-01-19 13:23:11 -08:00
[](https://travis-ci.org/angular/material2)
2016-02-03 17:58:35 -08:00
[](https://gitter.im/angular/material2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
2016-01-19 13:23:11 -08:00
2017-01-27 01:35:39 +02:00
This is the home for the Angular team's Material Design components built on top of Angular.
2016-03-08 21:15:52 -08:00
2016-09-02 01:05:05 -04:00
#### Quick links
[Google group ](https://groups.google.com/forum/#!forum/angular-material2 ),
[Contributing ](https://github.com/angular/material2/blob/master/CONTRIBUTING.md ),
[Plunker Template ](http://plnkr.co/edit/o077B6uEiiIgkC0S06dd?p=preview )
2016-03-15 11:01:18 -07:00
2016-12-22 18:08:00 +01:00
### Installation
The latest release of Angular Material can be installed from npm
2017-01-25 03:41:15 +05:30
`npm install --save @angular/material`
2016-12-22 18:08:00 +01:00
2017-06-02 13:51:21 -07:00
A snapshot build with the latest changes from
[master ](https://github.com/angular/material2/tree/master ) is also available. Note that this
snapshot build should not be considered stable and may break between releases.
2016-12-22 18:08:00 +01:00
2017-01-26 23:45:41 +01:00
`npm install --save https://github.com/angular/material2-builds.git`
2016-12-22 18:08:00 +01:00
### Getting started
2016-03-15 11:01:18 -07:00
2016-12-22 09:13:48 -08:00
See our [Getting Started Guide][getting-started]
2017-01-27 01:35:39 +02:00
if you're building your first project with Angular Material.
2016-09-02 01:05:05 -04:00
### Project status
2017-01-27 01:35:39 +02:00
Angular Material is currently in beta and under active development.
2016-12-23 11:45:51 -08:00
During beta, new features will be added regularly and APIs will evolve based on user feedback.
2016-03-15 11:01:18 -07:00
2016-12-22 18:08:00 +01:00
Check out our [directory of design documents ](https://github.com/angular/material2/wiki/Design-doc-directory )
2016-09-02 01:05:05 -04:00
for more insight into our process.
2016-03-08 21:15:52 -08:00
2016-12-22 18:08:00 +01:00
If you'd like to contribute, you must follow our [contributing guidelines ](https://github.com/angular/material2/blob/master/CONTRIBUTING.md ).
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` ](https://github.com/angular/material2/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+for+community+contribution%22 )
2016-09-02 01:05:05 -04:00
label.
2016-01-04 16:51:01 -08:00
2017-06-02 13:51:21 -07:00
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
2016-09-02 01:05:05 -04:00
2017-06-02 13:51:21 -07:00
#### Feature status
Note that all "planned" work is tentative / best estimate and is subject to changing priorities.
2016-09-02 01:05:05 -04:00
2016-09-02 19:11:46 +02:00
| Feature | Status | Docs | Issue |
|------------------|-------------------------------------|--------------|----------------|
| button | Available | [README][1] | - |
| cards | Available | [README][2] | - |
| checkbox | Available | [README][3] | - |
| radio | Available | [README][4] | - |
| input | Available | [README][5] | - |
| sidenav | Available | [README][6] | - |
| toolbar | Available | [README][7] | - |
| list | Available | [README][8] | [#107 ][0107] |
| grid-list | Available | [README][9] | - |
| icon | Available | [README][10] | - |
2016-12-22 02:23:20 +08:00
| progress-spinner | Available | [README][11] | - |
2016-09-02 19:11:46 +02:00
| progress-bar | Available | [README][12] | - |
| tabs | Available | [README][13] | - |
| slide-toggle | Available | [README][14] | - |
| button-toggle | Available | [README][15] | - |
| slider | Available | [README][16] | - |
2016-11-21 12:24:53 -08:00
| menu | Available | [README][17] | [#119 ][0119] |
2016-12-23 11:45:51 -08:00
| tooltip | Available | [README][18] | - |
2016-11-21 12:24:53 -08:00
| ripples | Available | [README][19] | [#108 ][0108] |
| dialog | Available | [README][22] | [#114 ][0114] |
| snackbar / toast | Available | [README][21] | [#115 ][0115] |
2017-02-02 19:42:01 -05:00
| select | Available | [README][23] | [#118 ][0118] |
2017-02-09 15:05:27 -05:00
| textarea | Available | [README][5] | - |
2017-06-02 13:51:21 -07:00
| autocomplete | Available | [README][24] | [#117 ][0117] |
2017-05-19 00:08:28 +03:00
| datepicker | Available | [README][25] | - |
2017-06-02 13:51:21 -07:00
| chips | Initial version, features evolving | - | [#120 ][0120] |
| theming | Available | [Guide][20] | - |
| docs site | Launched & iterating | [Docs][26] | - |
| typography | Started, coming soon | - | [#205 ][0205] |
| data-table | In-progress | - | [#581 ][0581] |
2017-06-02 23:14:56 +02:00
| expansion-panel | In-progress | - | [#4191 ][4191] |
2017-06-02 13:51:21 -07:00
| tree | Design in-progress | - | [#3175 ][3175] |
| virtual-repeat | Not started, planned Q3 2017 | - | [#823 ][0823] |
| stepper | Not started, planned 2017 | - | [#508 ][0508] |
2017-01-13 13:25:30 -05:00
| layout | See [angular/flex-layout][lay_rp] | [Wiki][0] | - |
2017-06-02 13:51:21 -07:00
| fab speed-dial | Not started, not planned | - | [#860 ][0860] |
| fab toolbar | Not started, not planned | - | - |
| bottom-sheet | Not started, not planned | - | - |
| bottom-nav | Not started, not planned | - | [#408 ][0408] |
2016-09-02 01:05:05 -04:00
2017-01-13 13:25:30 -05:00
[0]: https://github.com/angular/flex-layout/wiki
2017-02-21 11:38:51 -08:00
[1]: https://material.angular.io/components/component/button
[2]: https://material.angular.io/components/component/card
[3]: https://material.angular.io/components/component/checkbox
[4]: https://material.angular.io/components/component/radio
[5]: https://material.angular.io/components/component/input
[6]: https://material.angular.io/components/component/sidenav
[7]: https://material.angular.io/components/component/toolbar
[8]: https://material.angular.io/components/component/list
[9]: https://material.angular.io/components/component/grid-list
[10]: https://material.angular.io/components/component/icon
[11]: https://material.angular.io/components/component/progress-spinner
[12]: https://material.angular.io/components/component/progress-bar
[13]: https://material.angular.io/components/component/tabs
[14]: https://material.angular.io/components/component/slide-toggle
[15]: https://material.angular.io/components/component/button-toggle
[16]: https://material.angular.io/components/component/slider
[17]: https://material.angular.io/components/component/menu
[18]: https://material.angular.io/components/component/tooltip
2016-09-02 01:05:05 -04:00
[19]: https://github.com/angular/material2/blob/master/src/lib/core/ripple/README.md
2016-12-22 09:13:48 -08:00
[20]: https://github.com/angular/material2/blob/master/guides/theming.md
2017-02-21 11:38:51 -08:00
[21]: https://material.angular.io/components/component/snack-bar
[22]: https://material.angular.io/components/component/dialog
[23]: https://material.angular.io/components/component/select
[24]: https://material.angular.io/components/component/autocomplete
2017-05-19 00:08:28 +03:00
[25]: https://material.angular.io/components/component/datepicker
2017-06-02 13:51:21 -07:00
[26]: https://material.angular.io
2016-09-02 01:05:05 -04:00
2016-09-02 19:11:46 +02:00
[0107]: https://github.com/angular/material2/issues/107
[0119]: https://github.com/angular/material2/issues/119
[0108]: https://github.com/angular/material2/issues/108
[0114]: https://github.com/angular/material2/issues/114
[0115]: https://github.com/angular/material2/issues/115
[0118]: https://github.com/angular/material2/issues/118
[0546]: https://github.com/angular/material2/issues/546
[0117]: https://github.com/angular/material2/issues/117
[0120]: https://github.com/angular/material2/issues/120
[0123]: https://github.com/angular/material2/issues/123
[0205]: https://github.com/angular/material2/issues/205
[0860]: https://github.com/angular/material2/issues/860
[0408]: https://github.com/angular/material2/issues/408
[0508]: https://github.com/angular/material2/issues/508
[0823]: https://github.com/angular/material2/issues/823
[0581]: https://github.com/angular/material2/issues/581
2017-03-17 10:41:02 -07:00
[3175]: https://github.com/angular/material2/issues/3175
2017-06-02 23:14:56 +02:00
[4191]: https://github.com/angular/material2/pull/4191
2016-09-02 19:11:46 +02:00
2016-12-23 10:13:50 -08:00
[getting-started]: https://github.com/angular/material2/blob/master/guides/getting-started.md
2016-12-22 09:13:48 -08:00
[theming]: https://github.com/angular/material2/blob/master/guides/theming.md
2017-06-02 13:51:21 -07:00
[lay_rp]: https://github.com/angular/flex-layout
2016-12-22 09:13:48 -08:00
2016-09-02 01:05:05 -04:00
"Available" means that the components or feature is published and available for use, but may still
be missing some behaviors or polish.
2016-01-15 11:53:24 -08:00
2016-01-04 16:51:01 -08:00
## The goal of Angular Material
2017-01-27 01:35:39 +02:00
Our goal is to build a set of high-quality UI components built with Angular and TypeScript,
2016-12-22 18:08:00 +01:00
following the Material Design spec. These
2016-01-04 16:51:01 -08:00
components will serve as an example of how to write Angular code following best practices.
### What do we mean by "high-quality"?
* 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.
2016-03-14 12:24:22 -07:00
* Performance cost is minimized.
2016-01-04 16:51:01 -08:00
* Code is clean and well-documented to serve as an example for Angular devs.
## Browser and screen reader support
2016-12-22 18:08:00 +01:00
Angular Material supports the most recent two versions of all major browsers:
2016-01-04 16:51:01 -08:00
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.