Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Material Design components for Angular

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682 (2 ratings)
Rated 4.0 out of 5
Subscribe to updates I use material2

Statistics on material2

Number of watchers on Github 13436
Number of open issues 908
Average time to close an issue about 13 hours
Main language CSS
Average time to merge a PR 2 days
Open pull requests 446+
Closed pull requests 170+
Last commit almost 2 years ago
Repo Created about 4 years ago
Repo Last Updated almost 2 years ago
Size 12.7 MB
Homepage https://material....
Organization / Authorangular
Latest Release5.2.4
Page Updated
Do you use material2? Leave a review!
View open issues (908)
View material2 activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating material2 for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)
What people are saying about material2 Leave a review
Not always clear how theming will/should behave. Theming documentation, although improving rapidly, seems to lack a cohesive high-level view.

Material Design for Angular

npm version Build Status Gitter

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

Quick links

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 Q1 2018 (January - March):

  • Research and prototyping for virtual-scroll
  • Research and exploration for data visualization
  • cdkTree and matTree
  • cdk/dialog
  • Switch build to bazel
  • Overlay positioning improvements
  • Research and prototyping for future Material Design updates
  • Research and prototyping drag/drop features for the CDK

Available features

Feature Notes Docs
autocomplete Docs
button Docs
button-toggle Docs
cards Docs
checkbox Docs
chips Docs
data-table More features coming in 2018 Docs
datepicker Docs
dialog Docs
divider Docs
expansion-panel Docs
grid-list Docs
icon Docs
input Docs
list Action list planned 2018 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
---------------- ------------------------------------------------------ ------------
theming Guide
typography Guide
layout See angular/flex-layout Wiki
cdk Docs

In progress, planned, and non-planned features

Feature Status Docs Issue
tree In-progress (sneak peek) - #3175
sticky-header In-progress, planned Q2 2018 - #474
virtual-repeat Prototyping, planned Q1 2018 - #823
badge In-progress, planned Q1 2018 - #3085
fab speed-dial Not started, not planned - #860
fab toolbar Not started, not planned - -
bottom-sheet Not started, not planned - #8113
bottom-nav Not 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.
material2 open issues Ask a question     (View All Issues)
  • over 3 years MdTooltip Doesnt hide on mouse out when using ChangeDetectionStrategy.OnPush
  • over 3 years md-hint doesn't support css hidden attribute anymore
  • over 3 years Ripple is never removed if its transition is interrupted
  • over 3 years Ripple positioning is off beneath the fold
  • over 3 years Checkbox for md-select should have option to turn off any javascript animation for performance
  • over 3 years MdMenu, OverlayRef: Cannot read property 'removeChild' of null
  • over 3 years Menu ripple doesn't work if scrolled beneath the fold
  • over 3 years feat(MdTooltip): allow configuration of the hide delay
  • over 3 years md-slider won't update [(ngModel)] half of the times
  • over 3 years (slideend) is not working as expected with [(ngModel)] [material version is alpha 10]
  • over 3 years md-button for anchor element is visually not same as button
  • over 3 years md-sidenav with a position:fixed (non scrollable)
  • over 3 years [md-radio-group] The value two-way binding not working?
  • over 3 years update theming docs to be more clear about how to structure your theme file to be usable across custom components
  • over 3 years [md-subheader] What's point of margin-top for first child?
  • over 3 years [md-subheader] Incorrect font family
  • over 3 years Add option to disable ripples globally
  • over 3 years a11y(buttons): Low contrast on focused buttons
  • over 3 years MdDialogRef does not capture a type for the close result
  • over 3 years DIalogInjector and lazy-loaded modules Injectors
  • over 3 years SnackBar / Toast message content delay
  • over 3 years Bottom border on md-tab-header is too dark
  • over 3 years Navigation drawer - Mini variant behavior
  • over 3 years Support focus outputs on button-toggle, slide-toggle etc.
  • over 3 years Introduce [ltr, rtl] layout direction service
  • over 3 years toolbar : content project makes use of Layout API difficult
  • over 3 years MdDialog Feature Request: Ability to change Width and off-set
  • over 3 years Two-way binding for tabs only work on initializing component
  • over 3 years Add offset properties to menu API
  • over 3 years Investigate "0 items selected" message in VoiceOver
material2 open pull requests (View All Pulls)
  • Fix #75: md-button attaches class "md-undefined" to host element when on color provided
  • chore(): update to Beta.6, including having our own typings.
  • Protractor
  • WIP: testing protractor for PRs
  • component: MdInput
  • test(e2e): adds readyfile to travis config
  • docs(): correct typo - add missing period.
  • feat(portal): add DomPortalHost
  • feat(md-progress-bar): Create initial ProgressBar implementation.
  • feat(radio): Radio component.
  • feat(overlay): add connected position strategy
  • fix(input): prefix copied input id
  • feat(): add interaction service for a11y
  • feat(): add progress-fab component
  • md-icon
  • docs(icon): fix closing tags in Named icons
  • feat(checkbox): adds invisible input element to leverage built-in functionality
  • feat(tabs): adds the `md-tab-group` component
  • fix(progress-circle): render determinate and indeterminate across all supported browsers
  • feat(): add slide-toggle component.
  • feat(input): add support for more input attributes
  • fix(slide-toggle): visual hidden input should not bubble click
  • refactor(Radio): Decouple the radio from the radio-group component.
  • fix(checkbox): only fires one click event per click
  • fixes to a11y errors
  • feat(tabs): adds e2e tests for tabs
  • feat(tabs): adds focus/select events
  • fix(): Don't expose EventEmitters in Component public API
  • fix for checkbox click firing two times
  • chore(): forbidden identifiers check for relative scope imports.
  • feat(dialog): inital framework for md-dialog
  • Edit to overlay ref
  • feat(slide-toggle): add drag functionality to thumb
  • Update
  • fix(forms): update packages to use new forms module
  • fix(checkbox): should match native checkbox behavior
  • chore: update to angular rc3 & newest router
  • feat(ripple): initial mdInkRipple implementation
  • fix(progress-circle): remove references to window
  • chore: changes necessary for adding support for offline compiler
  • chore: fix some test fixtures fixes
  • fix(checkbox, slide-toggle): only emit change event if native input emitted one.
  • WIP: feat(tooltip): initial tooltip implementation
  • feat(icon): add e2e icon tests
  • feat(md-slider): initial version for md-slider
  • feat(menu): add keyboard events and accessibility
  • feat(tabs): adds support for `disabled` tabs
  • Robustness check on requestAnimationFrame
  • feat(list): add ripples to list items that are links
  • fix(progress-circle): animation not working
  • Add support for drawing tick marks on the slider
  • feat(tooltip): adds animations for tooltip
  • fix(input): correctly position md-hint with align="start" on IE11
  • feat(button): add ripple to md-button
  • chore: add script to automatically update plunker bundle
  • fix(radio): radio-button should only emit change event if native input does.
  • fix(button): hover styles being applied to disabled buttons
  • bugfix #896
  • fix(checkbox): MD-Checkbox Without Label has Different Vertical Align…
  • fix(input): md-input doesn't pass through `pattern` attribute
  • Create Node script for stage-release
  • fix(MdInput): Input should not be treated as empty if it is a date field.
  • feat(dialog): add backdrop
  • chore: bump compiler-cli version
  • Variable directory file
  • WIP: feat(tab-nav-bar): initial implementation
  • update GETTING_STARTED file to match with angular2 v2.0.0-rc.5
  • build: move from angular-cli to gulp
  • fix(overlay): fixes blurry overlay
  • chore(release): update versions for alpha.8
  • fix(button-toggle): toggle group should not emit an initial change event.
  • fix(checkbox, slide-toggle): forward required attribute to input.
  • feat(menu): add keyboard events and improve accessibility
  • fix checkbox: add fixed width to checkbox
  • fix(sideNav): change md-sidenav-layout to md-sidenav-container
  • feature(md-icon-button): set fixed line height for wrapped content
  • fix(list): ensure multi-line lists expand to fill space
  • docs(GETTING_STARTED): add info on core styles and theming
  • fix(list): set flex-shrink for avatar
  • feat(checkbox): Add color attribute.
  • Compatability with drag&drop API
  • change overflow of placeholder in Input element
  • chore: make it more obvious theming setup is required
  • fix(slide-toggle): remove view encapsulation
  • feat(overlay): add ability to set custom class on panes
  • (docs) update
  • Fixes MdSidenav issue when closing a sidenav with [opened]="true"
  • feat(tabs): fixed tabs
  • style(tabs): set correct min-width on mobile devices
  • feat(input): add md-focused class on wrapper
  • feat(snack bar): Add enter and exit animations.
  • fix(slider): correct click/slide event position
  • chore: remove BooleanFieldValue
  • chore(textarea): create textarea
  • Fix: Input/Radio should be disabled when disabling the formcontrol
  • chore(): add gulp task to create a systemjs bundle
  • Fix reactive forms
  • chore(issue template): add note about list of features in README
  • doc(dialog): document MdDialog
  • fix(slider): constraints value between min and max
  • fix(button): set vertical alignment for md-button and md-raised-button
  • Allow menu-trigger to take a menu interface.
  • chore: update sauce connect binary to latest version
  • feat(textarea): add md-textarea element
  • fix(radio): update radio group when programmatically uncheck a radio button
  • feat(input): add `md-focused` class to `md-input` element
  • feature(radio): Add ripple effect to radio button
  • fix(radio): only call change callback with user input
  • fix(menu): destroy click catcher when trigger is destroyed
  • (refactor) Rename `md-progress-circle` to `md-progress-spinner`
  • Ability to Hide Tabs
  • fix(tooltip): remove tooltip component after it's parent destroyed
  • chore(dev-app): prevent multiple reloads per file change
  • fix(menu): reposition menu if it would open off screen
  • fix(slider): keyboard support
  • fix(slider): correctly detect when sidenav align changes.
  • fix(button-toggle): Provide better docs for `ngModel` in wq`button-toggle-group multiple`
  • feat(projection): Host Projection service
  • chore(toolbar): combine imports from same file
  • feat(focus-trap): add the ability to specify a focus target
  • fix(checkbox, input, radio, slide-toggle): implement setDisabledState from ControlValueAccessor
  • chore(saucelabs): interrupt if saucelabs tunnel does not start
  • chore(browserstack): properly teardown tunnel
  • fix(gestures): remove drag event from config
  • fix(progress-spinner): animation expanding parent element
  • chore(build): fix karma not exiting properly
  • Fix(input): webkit autofill & floating placeholder
  • chore(changelog): fix missing module for adding streams
  • chore: remove unused autoprefixer config file
  • fix(button): ensure icons are aligned vertically.
  • fix(radio): Fix radio group behavior when radio button value changed
  • fix(md-input) set the line-height to normal.
  • fix(button-toggle): missing hover state
  • fix(radio): radio buttons not being a tab stop and missing focus indication
  • fix(checkbox): missing focus indicator
  • feat(MdSnackBar): implement support for onAction observable
  • chore(ci): ensure browserstack binaries are latest
  • chore(forbidden-identifiers): detect incorrect line endings
  • fix(checkbox): Fix checkbox is not vertically aligned when there's no text
  • fix(progress-bar): bar being thrown off by parent's text-align
  • fix(dialog): backdrop not being removed if it doesn't have transitions
  • fix(menu): improve a11y for screenreaders
  • fix(ripple): don't create background div until ripple becomes enabled
  • feat(dialog): add configurable width, height and position
  • feat(textarea): add md-autosize directive
  • chore: update iOS unit test configuration
  • chore: fix detach typos in overlay and portal
  • chore(e2e): fix e2e tests for latest chrome versions
  • fix(md-spinner): animation not being cleaned up when used with AoT
  • feat(overlay): emit position change event
  • Tooltip rtl
  • feat(menu): Support fallback positioning on menu trigger.
  • test(dialog): add e2e tests
  • Added required step into file that is telling to S…
  • feat(snackbar): add onAction to snackbar ref
  • add gulp task to convert markdown to html
  • fix(ripple): Fix the ripple position
  • feat(tooltip): show tooltip on longpress; remove delay on mouseleave
  • fix(slider): support for RTL and invert
  • fix(overlay): prevent blurry connected overlays
  • feat: Support focus to checkbox, radio, button-toggle and slide-toggle
  • chore(focus-trap): move template to a separate file
  • feat(menu): Added ability to show the menu overlay around the menu trigger
  • update(slide-toggle): remove CRLF line endings
  • feat(overlay-directives): attach and detach events
  • feat(overlay): add a utility for disabling body scroll
  • docs(getting-started): specify HammerJS install instructions
  • docs: fix link to the google javascript style guide
  • Initial Loading overlay
  • chore(sidenav): add fullscreen and fab examples to docs
  • feat(dialog): add the ability to close all dialogs
  • fix(dialog): avoid subpixel rendering issues and refactor GlobalPositionStrategy
  • chore: fix typo in snackbar readme
  • test(progress-circle): add basic e2e tests
  • fix(focus-trap): improve robustness
  • feat(overlay): add fullscreen-enabled overlay class
  • chore(progress-bar): DRY up the buffer background image
  • fix: improved accessibility in high contrast mode
  • feat(button-toggle): add option for vertical toggle groups
  • fix(icon): remove svgSrc, only allow trusted urls
  • chore: add style compatibility modes and `mat-` prefix
  • chore: fix lint warnings in build files
  • fix(sidenav): resolve promise as false rather than
  • fix(ripple): Always remove ripple after a certain period
  • feat(tabs): md-stretch-tabs
  • fix(ripple): Fix the ripple position
  • Updated readme to include theming
  • test(progress-bar): add basic e2e tests
  • feat(slider): vertical mode
  • fix(tab-link): avoid potential memory leak
  • fix(input): prevent overlapping placeholder on inputs with native masking
  • feature(md-input): refactor MdInput as an attribute
  • feat(chips): Initial skeleton/demo.
  • build:change gulp clean dist dir
  • chore: expand coding standards
  • feat(date-picker): add month and year views to be used in date picker
  • fix(select.scss): parent align affects placeholder
  • feat(select): add floatingPlaceholder option
  • fix(button-toggle): make conform with design specs
  • fix(card.scss): xs screen fix padding md-card-actions
  • docs(card): add missing `md-card-title` to example code.
  • fix(input): disable underline with reactive forms
  • docs(readme): add docs link for angular/flex-layout wiki
  • docs(tabs): add note for core bug that breaks `md-tab-nav-bar`
  • feat: add a common class to be used when dealing with selection logic
  • fix(button): only flat button and icon buttons should inherit the color
  • fix(select): remove selection if option is removed
  • feat(dialog): add the ability to align the content of md-dialog-actions
  • feat: remove the need for forRoot on material NgModules
  • docs(
  • refactor(dialog): better handling of scrollable content
  • docs(README): remove the "2" from Angular
  • feat(viewport-ruler): cache document client rect
  • feat(screenshot): Add screenshot function to e2e test (button and checkbox)
  • fix(slider): round decimals in the thumb label
  • fix(radio): Make MdRadioButton change detection strategy OnPush
  • feat(dialog): add events (observables) for open & closeAll
  • feat(autocomplete): add value support
  • refactor(grid-list): remove unnecessary regex and cast to array
  • feat(sidenav): add disableClose option
  • fix(select): selected option not being highlighted when options are added asynchronously
  • fix(input-container): prefix and suffix stretching together with parent
  • fix(sidenav): animate content resizing for side mode.
  • chore: fix linter error
  • refactor(input): alternative approach to sizing the placeholder
  • feat(datepicker): create the md-datepicker component
  • fix(overlay): fix pointer events for ie11
  • fix(select): set select value to trigger height and center text
  • feat(FocusOriginMonitor): add support for touch events
  • build: fix invalid glob to remove specs
  • build: increase minimum angular version
  • feat(button-toggle): Show selected option when md-button-toggle is disabled
  • feat(datepicker): add calendar component that pulls together month and year views
  • Update
  • Render template portal elements to properly determine placement
  • sidenav backdrop transition fix
  • fix(select): set default font size
  • feat(overlay): allow theming overlay-based components
  • Fix: removed un-used "this" from html bindings
  • fix(dialog): leaking MdDialogContainer references
  • feat: add testing utilities for components
  • feat(dialog): allow for the dialog dimensions to be updated
  • feat(button): add focused state ripple
  • fix(demo): remove input route from demo app
  • fix(button): Make disabled buttons not elevate on click
  • feat(select): allow focusing items by typing
  • fix(select): only unsubscribe from defined fields in ngOnDestroy
  • fix(dialog): leaking component instance references
  • feat(dialog): expose Observable of a dialog open state.
  • feat(sidenav): open all sidenavs from MdSidenavContainer
  • feat(dialog): add md-dialog component
  • feat(dialog): add ability to open dialog with templateRef
  • fix(button): add transition to focus overlay
  • fix(button): raised buttons in dark theme
  • feat(snack-bar): add `dismiss` method to `MdSnackBar` service
  • feat(slide-toggle): use ripple service
  • fix(slide-toggle): input not updated after drag
  • perf(ripple): avoid triggering change detection
  • chore(menu): switch menu-item to common coercion logic
  • fix(docs) : typo fix in grid-list documentation
  • fix(list): add font-family style to subheader
  • Revert "feat(tooltip): reposition on scroll"
  • fix(button): Add default color for mat-raised-button
  • fix(option): revert duplicate prop
  • fix(scrollable): check if scrollable exists before unregistering
  • fix(sidenav): use vw instead of percentage for sidenav min width
  • fix(sidenav): fix animation issue for initially open sidenav
  • fix(tabs): fix ink not showing on chrome 57
  • fix(tabs): missing mat class on tab group
  • refactor: add themeable base class
  • fix(checkbox): Add RequiredTrue validator for md-checkbox
  • feat(datepicker): input validation for min, max, and date filter
  • build: remove whitespace at eof and between tags
  • fix(overlay): no longer export internal type
  • feat: integrate typography api into all components
  • feat(overlay): expose interface for custom positions
  • fix(button): complete ripple when button becomes disabled
  • fix(portal): detect changes for portal hostview while before attaching.
  • Autocomplete home keys bug fix
  • build: secondary entry points
  • Fix(md-menu) : Added prevent close( when user clicks inside menu panel) feature
  • fix(autocomplete): not updating the size while the panel is open
  • feat: disabled fieldset support
  • feat(dialog): add result to MdDialogClose directive
  • refactor: remove custom error classes
  • card fix branch
  • fix(universal): gate several browser-specific bits on being on the browser
  • fix(slide-toggle): invalid model change event
  • feat(expansion-panel): initial version of expansion panel
  • feat(autocomplete): emit event when an option is selected
  • fix(api docs): properly format api docs using markdown
  • fix(select): aligned select underline, placeholder and text with input
  • add grid-list.spec.ts test for switching between ratio and fixed height
  • feat(snackbar): allow snack bar to be positioned on the page
  • feat(directionality): a provider to get the overall directionality
  • Add support for `color` attribute to radio
  • test(menu): Fix intermitent failure in e2e test
  • fix(autocomplete): placeholder not animating on focus
  • style(menu): apply theme bg color to menu panel rather than content
  • Docs (Snack-Bar): show how to do a self reference with a snack bar
  • build: duplicate theme styles in demo-app
  • fix(dialog): invalid text color in dark themes
  • chore(slide-toggle): demo for slide-toggle with forms
  • Documenting action buttons align
  • Add flex wrap to dialog.scss
  • chore: remove unused environment file
  • fix(menu): not closing on escape when opened by mouse
  • feat(menu): add disableClose option
  • build: add stylelint rule to prevent usage of /deep/
  • fix(data-table): show warning as part of sanity check
  • fix(datepicker): focus trap not working inside popup
  • wip examples changes
  • build: add most components to kitchen-sink
  • build: serve e2e-app in aot mode
  • build: invalid tsconfig for screenshot functions
  • feat(data-table): re-render when columns change
  • docs: add note about button capitalization
  • fix(dialog): componentInstance unavailable in afterClose
  • fix(datepicker): better support for input and change events
  • feat(data-table): use iterate differ to optimize rendering
  • build: move server rendering to dist
  • fix(tooltip): remove native event listener on component destroy
  • fix(dialog): blurry content and slow animation in IE
  • build: add dashboard firebase functions
  • fix(datepicker): restore focus to trigger element
  • fix(menu): remove classes from inert element
  • fix(slide-toggle) disabled state from a FormControl not updating
  • fix(input): make input spacing match spec
  • fix(snack-bar): close snack bar on route changed
  • docs(card): add guidance for a11y
  • chore: remove plunker from issue template
  • docs: add types to public methods and getters/setters
  • refactor: use emit instead of next for event emitters
  • core(initialized): add mixin for initialized
  • fix(scrolling): implement ngOnDestroy in ScrollDispatcher
  • feat(paginator): Add functionality to jump to first and last page
  • refactor(chips): use key manager for horizontal keyboard controls
  • fix(paginator): change class name of increment and decrement icons
  • docs(tree): add tree examples
  • fix(datepicker): dateInput being fired on load in IE when input has a placeholder
  • fix(overlay): OverlayKeyboardDispatcher not dispatching events when propagation is stopped
  • fix(focus-monitor): clear all pending timeouts when unregistering global listeners
  • fix(button): font color incorrect for buttons with background
  • fix(autocomplete): panel not closing on IE when selecting an option with an empty string display value
  • refactor(datepicker): remove MatIconModule dependency
  • feat(autocomplete): add the ability to highlight the first option on open
  • feat(table): allow data input to be array, stream
  • fix(overlay): validate that ConnectedPositionStrategy positions are passed in correctly at runtime
  • feat(schematics): add initial schematics utils
  • refactor: switch output event event classes to interfaces
  • feat(tree): Add tree keyboard navigator
  • fix(button): hide overflow of buttons
  • feat(datepicker): add theming support
  • feat(drawer): allow for backdrop to be disabled
  • feat(button): create stroked and flat button variants
  • chore(tooltip): revert workaround for older Angular versions
  • feat(layout): add window breakpoints from spec
  • feat(virtual-scroll): fixed size virtual scroll
  • feat(menu): Disable closing the menu when contents are clicked
  • fix(dialog): restore focus with the proper focus origin
  • fix(tree): fix tree lint error, and remove circular dependencies
  • refactor: clean out variables that are being assigned to but not being read
  • fix(viewport-ruler): server-side rendering errors when attempting to measure the viewport
  • refactor(selection-model): avoid unnecessary null checks in change event
  • feat(snack-bar): add injection token for overriding the default options
  • feat(tree): make data source accept array or observable
  • fix(overlay): expose backdropClick mouse event in ConnectedOverlayDirective
  • fix(progress spinner) : fix flickering animation
  • feat(cdk-input): move input autofill and autosize utils into cdk
  • refactor(tabs): use common logic for handling keyboard focus
  • feat(form-field): allow setting default appearance via provider
  • method
  • feat(bottom-sheet): add result param when dismissing bottom sheet
  • feat(tree): merge tree branch to master
  • fix(menu): close nested menu chain when the user tabs out
  • fix(select): lock dropdown position when scrolling
  • fix(paginator): first/last icons being thrown off on IE and Edge; simplify icon setup
  • refactor(datepicker): move keyboard events handlers into the views
  • fix(button): no color set for normal, stroked and icon buttons
  • update(ripple): allow passing ripple config only
  • feat(chips): support multi-select for chip-list component (#9097)
  • chore: add bazel test rules for the cdk
  • fix(tabs): hide mat-tab-nav-bar ink bar when no link is active
  • chore: bump version w/ changelog for 5.1.1
  • fix(autocomplete): make writeValue method synchronous
  • Add Custom Header to DatePicker
  • fix(selection-list): improve accessibility of selection list
  • fix(menu): unable to open same sub-menu from different triggers and not picking up indirect descendant items
  • fix(grid-list): invalid style declaration during server-side rendering
  • fix(radio): make radio buttons with the same name in different forms work
  • WIP: add ng_package
  • style(input): increase line-height for input
  • virtual-scroll: simplify viewport change detection
  • build: handle prerelease versions in deletion target rule
  • fix(selection-list): repeated preselected items not appearing as selected with OnPush parent
  • virtual-scroll: only move views that need to be moved
  • feat(menu): allow for backdrop class to be customized
  • fix(drawer): drawer running inside the zone keydown event.
  • fix(list-key-manager): not ignoring vertical key events in horizontal-only mode
  • refactor(stepper): use common keyboard focus handling
  • feat(menu): allow for backdrop to be disabled
  • fix(NativeDateAdapter): work around wrong javascript native Date-to-string conversions
  • fix(tabs): active tab label is fully opaque
  • Add buildifier and skylint checks
  • build: create sass_bundle bazel rule
  • fix(select): animation jumping on IE11
  • feat(stepper): require users to visit non-optional steps
  • feat(list-key-manager): accept item references in setActiveItem
  • fix(list): align avatar size in dense list with spec
  • fix: avoid layout jumping on elements with ripples in RTL
  • fix(expansion): add flex-basis to description
  • feat(schematics): table schematic
  • feat(schematics): dashboard schematic
  • feat(schematics): navigation schematic
  • fix(dialog): actions not being pulled down when trapping focus
  • feat(select): add event for select when scrolling to bottom of dropdo…
  • fix(tab): add flex-basis hack for IE11
  • feat(tabs): support stretched tabs in mat-tab-nav-bar
  • refactor(input): run autofill monitor outside the NgZone
  • fix(slider): unable to slide to max value under certain conditions
  • fix(datepicker): high contrast accessibility improvements
  • feat(tooltip): allow for position to be updated while open
  • refactor(tabs): remove duplicate styling
  • fix(tabs): disabled tab link not preventing router navigation
  • fix(sidenav): remove dependency on OverlayModule
  • fix(button): icons not centered inside stroked buttons
  • fix(datepicker): nested animation not working
  • build: add schematics to @angular/material package
  • fix(tree): fix mat-tree paddings
  • docs(icon): Add docs for inline icon
  • refactor(tooltip): remove 6.0.0 deletion targets
  • refactor(tabs): provide method for re-aligning the ink bar
  • refactor(checkbox): remove 6.0.0 deletion targets
  • fix(stepper): header icon collapsing with very long labels
  • feat(table): add optional footer row
  • feat(list): allow avatar in selection list options
  • fix(radio): radios aren't checkable when the value is falsy
  • fix(progress-spinner): set spinner width to match diameter
  • refactor(chips): remove 6.0.0 deletion targets
  • refactor(tabs): remove 6.0.0 deletion targets
  • test(layout): remove async wrapper to prevent hiding test failure
  • feat(cdk): switch injectables to new scope API
  • refactor(form-field): remove deprecated CSS classes
  • refactor(form-field): remove deprecated @Inputs
  • chore: change log for 5.2.4
  • docs(stepper): use mat-icon for custom icons example
material2 list of languages used
material2 latest release notes
5.2.4 ash-submarine

Bug Fixes

  • chips: Update chips in chip list, and add margin to chip input (#8579) (3074b45)
  • expansion-panel: entire body content being shown on animation start (#10138) (35b66f9), closes #10134
  • menu: detach lazily-rendered content when the menu is closed (#10005) (37b1a09), closes #9915
  • menu: Fix #10005 lint error (c8ca770)
  • overlay: hide overlay container when there are no attached overlays (#10139) (d0bc91d), closes #6882 #10033
  • paginator: first/last icons being thrown off on IE and Edge; simplify icon setup (#9776) (85f9491)
  • selection-list: improve accessibility of selection list (#10137) (cbe11d4), closes #9995

6.0.0-beta.4 (2018-03-05)


  • New tree component! The base behavior lives in @angular/cdk with Material Design flavors in @angular/material.

Bug Fixes

  • button: hide overflow of buttons to prevent overflow of hover/ripple (#9424) (915a2b7)
  • avoid layout jumping on elements with ripples in RTL (#10026) (900716a)
  • chips: Update chips in chip list, and add margin to chip input (#8579) (67e710c)
  • datepicker: improve native adapter DST handling (#10068) (2fad732)
  • dialog: actions not being pulled down when trapping focus (#10007) (8a402d0), closes #9722
  • dialog: don't provide directionality if user injector has one already (#10004) (e3d7aec)
  • expansion-panel: entire body content being shown on animation start (#10138) (b4b76bd), closes #10134
  • grid-list: default to LTR when Directionality value is empty (#10111) (64ef3a8)
  • grid-list: invalid style declaration during server-side rendering (#10131) (a27d9df)
  • list: align avatar size in dense list with spec (#10028) (d4a4f61), closes #10019
  • list-key-manager: not ignoring vertical key events in horizontal-only mode (#10075) (ffbb425)
  • menu: detach lazily-rendered content when the menu is closed (#10005) (bb1803d), closes #9915
  • overlay: hide overlay container when there are no attached overlays (#10139) (4b528f6), closes #6882 #10033
  • paginator: first/last icons being thrown off on IE and Edge; simplify icon setup (#9776) (dd082cb)
  • select: animation jumping on IE11 (#10050) (a5909db)
  • selection-list: improve accessibility of selection list (#10137) (51fce51), closes #9995
  • selection-list: repeated preselected items not appearing as selected with OnPush parent (#10100) (cdd224a), closes #10090
  • tree: fix type error in tree (#10095) (6d94aec)


5.2.3 diamond-silhouette

Bug Fixes

  • cdk-dialog: decorate dialog as an injectable (#10052) (07b4250)
  • datepicker: improve native adapter DST handling (#10068) (2837196)
  • avoid layout jumping on elements with ripples in RTL (#10026) (c93103b)
  • dialog: actions not being pulled down when trapping focus (#10007) (9a39e24), closes #9722
  • dialog: don't provide directionality if user injector has one already (#10004) (6ec0af1)
  • grid-list: default to LTR when Directionality value is empty (#10111) (65810bc)
  • grid-list: invalid style declaration during server-side rendering (#10131) (1576a99)
  • list: align avatar size in dense list with spec (#10028) (7d81b6f), closes #10019
  • list-key-manager: not ignoring vertical key events in horizontal-only mode (#10075) (f31a2f1)
  • selection-list: repeated preselected items not appearing as selected with OnPush parent (#10100) (f93d0f4), closes #10090
  • stepper: require users to visit non-optional steps (#10048) (d26aa6e)
Other projects in CSS