Skip to content
Component infrastructure and Material Design components for Angular
TypeScript HTML CSS Python Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci build: serve dev-app with bazel (#16829) Aug 21, 2019
.github fix: update all files/directories owned by DevInfra to DevInfra alias ( Aug 21, 2019
.vscode chore: disable vscode autoformat settings (#15406) Mar 7, 2019
guides chore: clean up top-level package imports (#16514) Jul 15, 2019
scripts build: run snapshot local browser tests with bazel (#16832) Aug 21, 2019
src feat(cdk/testing): allow `preventDefault` on mouse events (#16839) Aug 21, 2019
test build: add blocklist to disable individual tests in the project (#16833) Aug 21, 2019
tools cleanup(select): remove runtime checkbox padding calculation workarou… Aug 21, 2019
.bazelignore build: update to Angular 7.0.1 http_archive & @angular/bazel package (#… Oct 29, 2018
.bazelrc build: use bazel automatic execution strategy selection (#16823) Aug 20, 2019
.clang-format chore: add `yarn format` command and pre-commit hook to ensure code i… Feb 9, 2019
.editorconfig chore: remove `indent_size = 2` from editorconfig as it messes up the ( Jun 10, 2019
.firebaserc feat(table): support sticky headers, footers, and columns (#11483) Jun 7, 2018
.gitignore build: create script for setting up RBE in local dev environment (#16375 Jun 26, 2019
BUILD.bazel build: test cdk with bazel (#13575) Oct 15, 2018 chore: bump version to 8.1.3 w/ changelog (#16783) (#16784) Aug 14, 2019 build: restructure demo-app in favor of bazel (#13965) Nov 15, 2018 chore: remove noRxjsPatchImportsRule (#10765) Apr 10, 2018 chore: update "material2" to "components" (#15905) Apr 25, 2019 chore: move e2e tests into component source dirs (#16117) May 29, 2019
LICENSE chore: bump year (#14688) Jan 3, 2019 docs: update readme for Q3 2019 (#16430) Jul 10, 2019
WORKSPACE build: update rules sass version (#16812) Aug 19, 2019
angular-tsconfig.json build: run snapshot local browser tests with bazel (#16832) Aug 21, 2019
build-config.js prototype(checkbox): create prototype checkbox based on MDC Web (#15782) Apr 16, 2019
firebase.json build: fix dev-app deployment to firebase (#14529) Dec 18, 2018
gulpfile.js build: throw when running build tasks inside of a directory with spac… Nov 14, 2018
package.json build: serve dev-app with bazel (#16829) Aug 21, 2019
packages.bzl feat(google-maps): add google-map component skeleton (#16623) Aug 8, 2019
stylelint-config.json prototype(checkbox): create prototype checkbox based on MDC Web (#15782) Apr 16, 2019
tsconfig.json build: enable noImplicitReturns compiler option (#16672) Aug 13, 2019
tslint.json build: remove staticQueryRule (#16713) Aug 8, 2019
yarn.lock build: serve dev-app with bazel (#16829) Aug 21, 2019

Components and Material Design for Angular

npm version Build status Gitter

This is the home for the Angular team's UI components built for and with Angular. These include Material Design components and the Angular Component Development Kit (CDK).

Quick links

Documentation, demos, and guides | Google group | Contributing | 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 GitHub issues (which should be up-to-date on who is working on which features and which pieces are blocked) and make a comment.

Please see our help wanted label for a list of issues where we could use help from the community.

High level stuff planned for Q3 2019 (July - Sept):

  • Creating both test harness infrastructure in @angular/cdk/testing and individual harnesses for the Angular Material components. See the checkbox harness as an example.
  • Continuing to create new, API-compatible versions of the Angular Material components backed by MDC Web (see @jelbourn's ng-conf talk).
  • Rework ng-update schematics to no longer use tslint in order to resolve performance issues.
  • Continued work on switching our build from gulp to bazel.

Available features

Feature Notes Docs
autocomplete Docs
badge Docs
bottom-sheet Docs
button Docs
button-toggle Docs
cards Docs
checkbox Docs
chips Docs
data-table Docs
datepicker Docs
dialog Docs
divider Docs
drag-drop Docs
expansion-panel Docs
grid-list Docs
icon Docs
input Docs
list Docs
menu Docs
paginator Docs
progress-bar Docs
progress-spinner Docs
radio Docs
ripples Docs
select Docs
sidenav Docs
slide-toggle Docs
slider Docs
snackbar / toast Docs
sort-header Docs
stepper Docs
tabs Docs
textarea Docs
toolbar Docs
tooltip Docs
tree Docs
virtual-scroll Docs
---------------- ------------------------------------------------------ ------------
theming Guide
typography Guide
layout See CDK Layout or @angular/flex-layout -
cdk Docs

The goal of Angular Material and the CDK

Our goal is to build a set of high-quality UI components built with Angular and TypeScript. These include foundational components and services, found in the CDK, and components that follow the Material Design spec. These components serve as an example of how to build Angular UI components that follow 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 developers.

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 aim for great user experience with the following screen readers:

  • Windows: NVDA and JAWS with IE11 / FF / Chrome.
  • macOS: VoiceOver with Safari / Chrome.
  • iOS: VoiceOver with Safari
  • Android: Android Accessibility Suite (formerly TalkBack) with Chrome.
  • Chrome OS: ChromeVox with Chrome.
You can’t perform that action at this time.