Material Design for Angular

November 9, 2018 ยท View on GitHub

npm version Build status Gitter

This is the home for the Angular team's Material Design components built for and with Angular.

Documentation, demos, and guides | Google group | Contributing | Plunker Template | StackBlitz Template

Getting started

See our Getting Started Guide if you're building your first project with Angular Material.

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 help wanted label.

High level stuff planned for Q4 2018 (October - Dec):

  • Improve our own build and automation tooling
  • Fix bugs and reduce some technical debt inside Google
  • Working on long-term plans on how to collaborate with the MDC Web team
  • Designs for advanced table improvements (column resize, selection directives, inline-edit)

Available features

FeatureNotesDocs
autocompleteDocs
badgeDocs
bottom-sheetDocs
buttonDocs
button-toggleDocs
cardsDocs
checkboxDocs
chipsDocs
data-tableDocs
datepickerDocs
dialogDocs
dividerDocs
drag-dropLanding in v7
expansion-panelDocs
grid-listDocs
iconDocs
inputDocs
listDocs
menuDocs
paginatorDocs
progress-barDocs
progress-spinnerDocs
radioDocs
ripplesDocs
selectDocs
sidenavDocs
slide-toggleDocs
sliderDocs
snackbar / toastDocs
sort-headerDocs
stepperDocs
tabsDocs
textareaDocs
toolbarDocs
tooltipDocs
treeDocs
virtual-scrollLanding in v7
----------------------------------------------------------------------------------
themingGuide
typographyGuide
layoutSee angular/flex-layoutWiki
cdkDocs

In progress, planned, and non-planned features

FeatureStatusDocsIssue
fab speed-dialNot started, not planned-#860
fab toolbarNot started, not planned--
bottom-navNot started, not planned-#408

The goal of Angular Material

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.

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.
  • Performance cost is minimized.
  • Code is clean and well-documented to serve as an example for Angular devs.

Browser and screen reader support

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.