Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

angular-material

angular168.5kMITdeprecated1.2.5TypeScript support: definitely-typed

For the actively supported Angular Material, see https://www.npmjs.com/package/@angular/material. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.

Support for legacy AngularJS ended on January 1st, 2022. See @angular/core for the actively supported Angular.

angularjs, material, browser, client-side, material design, component library, components

readme

AngularJS Material

Support for legacy AngularJS ended on January 1st, 2022. See @angular/core for the actively supported Angular.

See the following, related, actively supported Angular packages:

This repository was used to publish the AngularJS Material v1.x library and localized installs using npm. You can find the component source-code for this library in the AngularJS Material repository. This package and related repositories have reached End-of-Life.

AngularJS Material is an implementation of Google's Material Design Specification (2014-2017) for AngularJS (v1.x) developers.

For an implementation of the Material Design Specification (2018+), please see the Angular Material project which is built for Angular (v2+) developers.

Layouts and SCSS

Included in this repository are the:

  • SCSS files which are used to build the *.css files
  • Layout files which are used with the AngularJS Material (Flexbox) Layout API.

Note these are already included in the angular-material.css files. These copies are for direct developer access and contain IE flexbox fixes; as needed.

Installing AngularJS Material

You can install this package locally with npm.

Please note: AngularJS Material requires AngularJS 1.7.2 to AngularJS 1.8.x.

# To install latest formal release 
npm install angular-material

# To install latest release and update package.json
npm install angular-material --save

# To install from HEAD of master
npm install http://github.com/angular/bower-material/tarball/master

# or use alternate syntax to install HEAD from master
npm install http://github.com/angular/bower-material#master --save
# note: ^^ creates the following package.json dependency
#      "angular-material": "git+ssh://git@github.com/angular/bower-material.git#master"


# To install the v1.2.1 version 
npm install http://github.com/angular/bower-material/tarball/v1.2.1 --save

# To view all installed package 
npm list

Using the AngularJS Material Library

You have installed the AngularJS library, next include the scripts and stylesheet in your main HTML file, in the order shown in the example below. Note that NPM will install the files under /node_modules/angular-material/.

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no" />
  <link rel="stylesheet" href="/node_modules/angular-material/angular-material.css">
</head>
  <body ng-app="YourApp">
  <div ng-controller="YourController">

  </div>

  <script src="/node_modules/angular/angular.js"></script>
  <script src="/node_modules/angular-aria/angular-aria.js"></script>
  <script src="/node_modules/angular-animate/angular-animate.js"></script>
  <script src="/node_modules/angular-messages/angular-messages.js"></script>
  <script src="/node_modules/angular-material/angular-material.js"></script>
  <script>
    // Include app dependency on ngMaterial
    angular.module('YourApp', ['ngMaterial', 'ngMessages'])
      .controller("YourController", YourController);
  </script>
</body>
</html>

Using the CDN

With the Google CDN, you will not need to download local copies of the distribution files. Instead, reference the CDN URLs to use those remote library files. This is especially useful when using online tools such as CodePen, Plunker, or jsFiddle.

<head>
    <!-- Angular Material CSS now available via Google CDN; version 1.2.1 used here -->
    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.2.1/angular-material.min.css">
</head>
<body>

    <!-- Angular Material Dependencies -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-animate.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-aria.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-messages.min.js"></script>

    <!-- Angular Material Javascript now available via Google CDN; version 1.2.1 used here -->
    <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.2.1/angular-material.min.js"></script>
</body>

Note that the above sample references the 1.2.1 CDN release. Your version will change based on the latest stable release version.

Unit Testing with Angular Material


If you are using AngularJS Material and will be using Jasmine to test your custom application code, you will need to also load two (2) AngularJS mock files:
  • AngularJS mocks
    • angular-mocks.js from /node_modules/angular-mocks/angular-mocks.js
  • AngularJS Material mocks
    • angular-material-mocks.js from /node_modules/angular-material/angular-material-mocks.js

Shown below is a karma-configuration file (karma.conf.js) sample that may be a useful template for your testing purposes:

module.exports = function(config) {

  var SRC = [
    'src/myApp/**/*.js',
    'test/myApp/**/*.spec.js'
  ];

  var LIBS = [
    'node_modules/angular/angular.js',
    'node_modules/angular-animate/angular-animate.js',
    'node_modules/angular-aria/angular-aria.js',
    'node_modules/angular-messages/angular-messages.js',
    'node_modules/angular-material/angular-material.js',

    'node_modules/angular-mocks/angular-mocks.js',
    'node_modules/angular-material/angular-material-mocks.js'
  ];

  config.set({
    basePath: __dirname + '/..',
    frameworks: ['jasmine'],

    files: LIBS.concat(SRC),

    port: 9876,
    reporters: ['progress'],
    colors: true,

    autoWatch: false,
    singleRun: true,
    browsers: ['Chrome']
  });
};

changelog

1.2.5 (2022-04-11)

One final release of AngularJS in order to update package README files on npm.

1.2.4 (2021-12-16)

Bug Fixes

  • panel, select: fix Trusted Types violations during initialization (#12128) (4e354a6)

Code Refactoring

  • sass: migrate from node-sass to sass (5e2d213)
    • If you consume our .scss files directly in your build, you will need to switch from the deprecated node-sass package to the sass package for compiling your Sass.
  • sass: fix division deprecation warnings (b5a1a02)

Documentation

  • fix API docs issues related to marked Markdown rendering (441a912)

Contributors

Thank you to the contributors who helped with the v1.2.4 release:

Splaktar bjarkler superheri
Splaktar bjarkler superheri

1.2.3 (2021-07-14)

Bug Fixes

  • datepicker: ISO 8601 dates decorated as invalid in forms (0a06f99), closes #12075

Features

  • menu: add a new backdropParent option (78b1073)

Contributors

Thank you to the contributors who helped with the v1.2.3 release:

Splaktar atfzls
Splaktar atfzls

1.2.2 (2020-12-17)

Bug Fixes

  • aria: radio buttons throw argument not optional errors in IE11 (eab5c81)
  • autocomplete: prevent flashing of invalid state (#12064) (a4732a9), closes #10975
  • checkbox: aria-checked state is not computed correctly in all cases (c609385), closes #12046
  • datepicker: null model with timezone throws exception (7856883), closes #12025
  • datepicker: time is modified before even selecting a date (b406623), closes #12028 #12026
  • dialog: shift+tab does not cycle through tabbable elements (7d5e262), closes #10963
  • fab-speed-dial: action items are in tab order when closed (da86e62), closes #10101
  • fab-speed-dial: keyboard navigation issues with tab and shift+tab (41c71ed), closes #12043
  • fab-speed-dial: opens when trigger button is disabled (e7dfcc1), closes #9467
  • input: check that containerCtrl.label is defined before accessing it (f79186f), closes #10831
  • menu: menu focus is lost when menu-item has custom content (6391b13), closes #12054
  • select: floating label hidden w/ placeholder and no value (3ea5630), closes #10116
  • select: form remains valid after empty option is selected (61412b4), closes #10005
  • tabs: md-align-tabs should only affect the current component (d77fbc4), closes #10541
  • theming: fix CSS with nested rules parsing when registering a theme (71dc4eb), closes #9869

Features

  • autocomplete: allow localization of query result announcements (5157f94), closes #11789
  • chips: md-max-chips support for md-contact-chips (e6b5482), closes #10827
  • datepicker: add input-aria-describedby and input-aria-labelledby (5f8472c), closes #11762

Contributors

Thank you to the contributors who helped with the v1.2.2 release:

Splaktar FreedCapybara shishkinilya kylekatarnls natete
Splaktar FreedCapybara shishkinilya kylekatarnls natete

1.2.1 (2020-09-23)

Bug Fixes

  • calendar: allow tabbing out when in standalone mode (93518bb), closes #9794
  • calendar, datepicker: fix issues with GMT+X timezones (90d24cf), closes #12000
  • calendar, datepicker: fix MomentJS custom format support (8f9e213), closes #12003 #11949
  • datepicker: min-date validation is incorrect in GMT+X timezones (7395914), closes #11963
  • dialog: remove focus trap focus listeners onRemove (33e8bac), closes #12010
  • icon: providing empty alt or aria-label attributes do not hide them from a11y (37f1535), closes #10721
  • list: case where list items are read twice by screen readers (5c455d3), closes #11582
  • radio-button: Cannot read property 'nodeName' of null (f43ff63), closes #10546
  • radio-button: support selection using the space key (3cf78a7), closes #11960
  • select: respect theme color when select has focus (4afba57)
  • select: in popup, hover and focus background colors are the same (d5863b8), closes #000 #9851
  • select: md-select-header closes on mouse click when not using multiple (f2fca2e), closes #11969
  • typography: enable iOS long-press context menus (3d98b6e), closes #10622

Documentation

  • mdSticky: update and clarify the usage and behavior (0d431e0)
  • a11y: add a list of supported screen readers (8ce0813), closes #11449
  • home: simplify and clarify that browser support policy is for major versions (1babe8c)
  • icon: documentation refinement and cleanup (c644d6a)

Contributors

Thank you to the contributors who helped with the v1.2.1 release:

Splaktar mmalerba josephperrott cgx
Splaktar mmalerba josephperrott cgx

1.1.26 (2020-09-01)

Bug Fixes

Contributors

Thank you to the contributors who helped with the v1.1.26 release:

Splaktar mmalerba
Splaktar mmalerba

1.1.25 (2020-08-31)

Bug Fixes

  • calendar, datepicker: fix date selection issues with GMT+X timezones (a897a67), closes #12000
  • datepicker: min-date validation is incorrect in GMT+X timezones (dd150fa), closes #11963
  • select: md-select-header closes on mouse click when not using multiple (b32b473), closes #11969

Contributors

Thank you to the contributors who helped with the v1.1.25 release:

Splaktar jelbourn
Splaktar jelbourn

1.2.0 (2020-08-03)

Bug Fixes

  • autocomplete: change md-escape-options default to 'clear' (47106ba), closes #11767
  • button: horizontal padding should match the spec (3205b33), closes #10535 #10535
  • checkbox: handle links in transcluded label in an a11y-friendly way (4d36fd2), closes #11134
  • checkbox: update CSS to match spec (c893050), closes #9351 #9927 #8713
  • checkbox, date-picker, input, radio-button, select, switch: md-inline-form support (b3e9ffe)
  • chips: chip remove icon isn't sized to match the spec (#10491) (29c0a4a), closes #9619
  • chips: placeholder is truncated even though there is room (aa4e29b), closes #10630
  • chips: update to latest Material Design spec (2017) updates (01351b1), closes #9883
  • datepicker: support ng-model-options timezone w/ Moment (e24d09c), closes #11945 #10598
  • input-container: align indentation with spec (31a596f), closes #10105 #11421
  • list: fix checkbox alignment and match dense heights to spec (a13722e), closes #11966
  • nav-bar: throws exception when indexing null tabs variable (b1c7154), closes #11964
  • panel: demos need to access locals in controller's $onInit (6e91c62)
  • panel: don't throw exceptions when the groupName is a string (4178459)
  • radio-button: when no value selected, first button not announced on focus (9159384), closes #11973 #11923 #11974
  • select: support for md-inline-form, more configurable SCSS (0d4d37f), closes #8712 #8716
  • select: md-select-header closes on mouse click when not using multiple (f2fca2e), closes #11969
  • tabs: update min-width to follow the spec (693ecca), closes #10406 #11432
  • tabs: align theming with spec updates (d237715), closes #7685
  • theming: dark contrast used incorrectly when only contrastStrongLightColors defined (4e3f7a7)
  • theming: update palette contrast types to current spec (d716fde), closes #8992 #10164
  • theming, toolbar, subheader, input: align color palettes and contrasts with AA standards (3a291ac), closes #8992 #10164 #8993
  • toast: improve position handling to better align with docs (96ec741), closes #11843
  • toolbar: input placeholders and ink need more contrast (a82fc93), closes #7987 #11376
  • toolbar: default to 500 hue and contrasts when using accent/warn palettes (98a94db), closes #7685

Code Refactoring

  • autofocus: remove deprecated md-auto-focus attribute (bf0ec8c)
  • card: remove styles for md-actions class (75aa734)
  • chips: remove deprecated md-on-append attribute (1a2e3d0)
  • chips: remove deprecated MdChipsCtrl.selectAndFocusChip (01d2cde)
  • dialog: remove deprecated content options and methods (e3b52a0)
  • dialog: remove styles for deprecated md-actions class (93e2081)
  • layout: remove deprecated -lt- ("less than") attributes (e8e785e)
  • $mdCompilerProvider: remove deprecated $mdCompilerProvider.respectPreAssignBindingsEnabled() (579a327)
  • menu: removed deprecated $mdOpenMenu API (f023ce7)
  • panel: remove deprecated MdPanelRef.addClass/removeClass/toggleClass (bafbd96), closes #9310
  • select: rename ngMultiple to mdMultiple (4c75858)
  • sidenav: remove deprecated access to $media in md-is-locked-open (baa7563)
  • sidenav: remove md-sidenav-focus directive (8fc36d4)
  • theming: remove support for deprecated $mdThemingProviderTheme.primaryColor() and related APIs (00a50de)
  • tabs: remove deprecated md-no-disconnect (05bee8f)
  • toast: remove deprecated content() method and option and updateContent() method (cf3d56c)

Features

  • layout: add mixin for responsive support of rows (c2c336b), closes #9112 #9220
  • theming: add contrast opacity values for all color types and hues (68c1d02)

Documentation

  • theming, colors: md-colors demo was broken. improve JSDoc and fix lint issues (01917b3)

BREAKING CHANGES

  • autocomplete: The default behavior of md-autocomplete, when the options panel is visible and the Escape key is pressed, has changed. md-escape-options now defaults to 'clear' instead of 'blur clear'. This better aligns with the WAI-ARIA Authoring Practices as the focus is not sent to another element (like the <body>) when the Escape key is pressed.

If you want to restore the previous behavior, add the following to your md-autocomplete components:

md-escape-options="blur clear"
  • autofocus: Removed the deprecated md-auto-focus directive. It was deprecated in favor of md-autofocus. Please see the md-autofocus Docs for examples.
  • button: md-button's internal horizontal padding has changed from 6px to 8px to match the Material Design spec. This may affect the layout of portions of your application where md-button, md-datepicker, or md-toast with actions are used.

If you are using our SCSS files, you can override this back to the default, or another value, in your app's SCSS files:

$button-left-right-padding: rem(0.600); // For 6px horizontal padding
  • card: Removed support for the class="md-actions" inside of an md-card template. This is deprecated in favor of using the <md-card-actions> element.
  • checkbox: If you've created a custom solution to style links within md-checkbox labels, then you may need to remove or change that code now. This is because we automatically detect <a> tags in these labels and re-render them in an accessible way.
  • checkbox: The default size and spacing for md-checkbox has been updated to align with the Material Design specification. Additionally, many new Sass variables have been added for customizing the size and spacing of md-checkbox. The md-dense class is now supported. After updating to this version, you may need to adjust the layout of your app due to the larger touch-friendly size of checkbox. You may also want to make use of md-dense in cases where space is limited.
  • chips: Chips have been updated to latest Material Design spec (2017). $chip-font-size was reduced to 13px from 16px. $chip-remove-padding-right was increased to 28px from 22px. These changes may cause your chips to have a smaller, denser layout now. In certain scenarios, this may require minor changes to your app's layout. You can change these variables back to their old values if your app consumes Sass. Additionally, the remove chip icon has been changed, but you can use the custom chip template demo as a guide to changing back to the old icon, if desired.
  • chips: Removed the deprecated, since 2015, md-on-append attribute. It was deprecated in favor of md-transform-chip or the simple notifier md-on-add. Please see the md-chips Demos for examples of using md-transform-chip.
  • chips: The deprecated MdChipsCtrl.selectAndFocusChip() function has been removed. MdChipsCtrl.selectAndFocusChipSafe() should be used instead.
  • dialog: Removed support for the deprecated class="md-actions" inside of an md-dialog template. This was deprecated in favor of using the <md-dialog-actions> element.
  • dialog: Removed support for the deprecated .content('string') methods and options. These were deprecated in favor of .textContent('string') and .htmlContent('sanitized-string')' methods and their associated options. Please note that use of .htmlContent requires that the ngSanitize module be loaded.

If you have

  alert = $mdDialog.alert()
    .content('This is an example.');

It needs to be changed to

  alert = $mdDialog.alert()
    .textContent('This is an example.');

If you have

  alert = $mdDialog.alert({
    content: 'This is an example.'
  });

It needs to be changed to

  alert = $mdDialog.alert({
    textContent: 'This is an example.'
  });
  • input-container: md-input and md-select inside of md-input-containers have been updated to use indentation that is consistent with the spec (aligned to the left in LTR and the right in RTL). This may cause some minor layout issues in apps that depended upon the previous 2px padding inside of md-input-container.
  • layout: The way that margins are applied to md-checkbox, md-input-container, md-radio-group, and md-select has been changed. You can now use the $default-horizontal-margin Sass variable to override the default 16px horizontal margin size. As part of this, md-radio-buttons inside of layout="row" containers are now aligned vertically with other content as they no longer have a 16px margin-bottom. If you have previously added custom styles, to your components inside of a row layout, in order to give them extra margin-right in LTR or margin-left in RTL, you will need to re-evaluate those styles. In most cases, they can now be removed.
  • layout: Removed the deprecated, undocumented *-lt-* layout attributes and classes. This includes the following attributes and their matching classes, which have been giving deprecation warnings since 2015:

    • layout-lt-md
    • layout-lt-lg
    • flex-lt-md
    • flex-lt-lg
    • layout-align-lt-md
    • layout-align-lt-lg
    • flex-order-lt-md
    • flex-order-lt-lg
    • flex-offset-lt-md
    • flex-offset-lt-lg
    • hide-lt-md
    • hide-lt-lg
    • show-lt-md
    • show-lt-lg
  • list: md-list with the md-dense class has been updated to align with the Material Design specification. This means that md-list-items heights have changed when using md-dense. The md-dense-disabled class is now supported on md-list. After updating to this version, you may need to adjust the layout of your app if you use md-dense with md-list or customize the layout of md-checkboxs within md-list-items.

  • $mdCompilerProvider: The deprecated $mdCompilerProvider.respectPreAssignBindingsEnabled() API has been removed. We no longer respect AngularJS's $compileProvider.preAssignBindingsEnabled() value as this API was removed in AngularJS 1.7.0.

If you had the recommended configuration for AngularJS 1.6.x:

  $compileProvider.preAssignBindingsEnabled(false);
  $mdCompilerProvider.respectPreAssignBindingsEnabled(true);

Then you should remove both of these calls as they are now the defaults in AngularJS 1.7.0 and AngularJS Material 1.2.0.

If you had the recommended configuration for AngularJS 1.7+:

  $mdCompilerProvider.respectPreAssignBindingsEnabled(true);

Then you should remove this call as it is now the default in AngularJS Material 1.2.0.

If you were using a backwards-compatible configuration for AngularJS 1.6+:

  $mdCompilerProvider.respectPreAssignBindingsEnabled(false);

Then you will need to remove this call and may need to refactor your Controllers for AngularJS Material components like $mdDialog, $mdPanel, $mdToast, or $mdBottomSheet.

For example:

 $mdDialog.show({
   locals: {
     myVar: true
   },
   controller: MyController,
   bindToController: true
 }
  function MyController() {
   // No locals from Angular Material are available. e.g myVar is undefined.
   // You would need to move anything accessing locals in here to $onInit().
 }
  MyController.prototype.$onInit = function() {
   // Bindings are now available in the $onInit lifecycle hook.
 }
  • menu: Removed the deprecated $mdOpenMenu API. It was deprecated in favor of $mdMenu.open.
  • panel: The deprecated MdPanelRef.addClass(), MdPanelRef.removeClass(), and MdPanelRef.toggleClass() functions have been removed. These were deprecated in 2016 in favor of using the panelContainer or panelEl JQLite elements that are referenced in the MdPanelRef object.
  • select: ngMultiple has been renamed to mdMultiple to make it clear that this API is provided by AngularJS Material and not by AngularJS.

If you had:

  <md-select ng-multiple="expression">...</md-select>

You need to change to:

  <md-select md-multiple="expression">...</md-select>
  • sidenav: Removed access for the deprecated $media service in md-is-locked-open. This was deprecated in favor of the $mdMedia service. The functionality is the same and only a rename to the current name of the service is required.
  • sidenav: Removed the md-sidenav-focus directive. It was deprecated in favor of md-autofocus. Please see the md-autofocus Docs and md-sidenav Basic Usage Demo for examples.
  • tabs: Tab items now have a min-width and padding which matches the Material Design specification. For width, this is 72px on xs screens and 160px on all other screens. For left and right padding, this is now 12px instead of 24px. If your app needs to have tabs which are smaller than the spec, you will need to override md-tab-item's min-width and md-tab's padding styles.
  • theming: Removed support for the deprecated $mdThemingProviderTheme.primaryColor() and the related accent/warn/background APIs. These were deprecated in favor of $mdThemingProviderTheme.primaryPalette() (and accent/warn/background) in 2015 and they have been logging warnings when used since then.
  • theming, toolbar, subheader, input: The contrast colors (the text or icon color, for example on a raised button) of many of our default palettes have been updated to meet the AA level of the contrast guidelines for web accessibility. If you are using our default palettes directly, the accessibility of your application should be improved. However, we recommend that you evaluate this after updating to 1.2.0. There may be edge cases in your app or custom styles that need to be updated to meet accessibility guidelines.

If you find significant accessibility issues after updating, please report them to us. In 1.2.x, we have a lot more control over our component theming in regards to hues and opacities.

If your app is using a custom palette, whether based on a copy of default palette or not, we encourage you to evaluate that your contrast configuration meets the WebAIM guidelines. Please review our guide on Defining Custom Palettes for details.

  • toast: $mdToast.show()'s position behavior has been updated to be consistent with the documentation. If you relied on the previously undocumented behavior where it defaulted to top left instead of bottom left, you will need to update your app.

Change your code from this:

    $mdToast.show(
      $mdToast.simple()
      .textContent('Simple Toast!'))
    .then(...

To this:

    $mdToast.show(
      $mdToast.simple()
      .textContent('Simple Toast!')
      .position('top left'))
    .then(...
  • toast: The deprecated content() and updateContent() methods have been removed.

If you had:

  $mdToast.show($mdToast.simple().content('This no longer works.'));

You will need to change to:

  $mdToast.show($mdToast.simple().textContent('This works.'));

If you had:

  $mdToast.updateContent('This no longer works.');

You will need to change to:

  $mdToast.updateTextContent('This works.');

If you had:

  $mdToast.show($mdToast.simple({parent: parent, content: 'This no longer works.', theme: 'some-theme', capsule: true}));

You will need to change to:

  $mdToast.show($mdToast.simple({parent: parent, textContent: 'This works.', theme: 'some-theme', capsule: true}));

Contributors

Thank you to the contributors who helped with the v1.2.0 release:

Splaktar jelbourn clshortfuse oliversalzburg batsauto wagnermaciel
Splaktar jelbourn clshortfuse oliversalzburg batsauto wagnermaciel
tomaszgrabowski
tomaszgrabowski

1.2.0-rc.2 (2020-07-28)

Bug Fixes

  • checkbox, date-picker, input, radio-button, select, switch: md-inline-form support (b3e9ffe)
  • select: support for md-inline-form, more configurable SCSS (0d4d37f), closes #8712 #8716

Code Refactoring

  • autofocus: remove deprecated md-auto-focus attribute (bf0ec8c)
  • card: remove styles for md-actions class (75aa734)
  • chips: remove deprecated md-on-append attribute (1a2e3d0)
  • dialog: remove deprecated content options and methods (e3b52a0)
  • dialog: remove styles for deprecated md-actions class (93e2081)
  • layout: remove deprecated -lt- ("less than") attributes (e8e785e)
  • menu: removed deprecated $mdOpenMenu API (f023ce7)
  • panel: remove deprecated MdPanelRef.addClass/removeClass/toggleClass (bafbd96), closes #9310
  • sidenav: remove deprecated access to $media in md-is-locked-open (baa7563)
  • sidenav: remove md-sidenav-focus directive (8fc36d4)
  • theming: remove support for deprecated $mdThemingProviderTheme.primaryColor() and related APIs (00a50de)
  • tabs: remove deprecated md-no-disconnect (05bee8f)

Features

BREAKING CHANGES

  • layouts: The way that margins are applied to md-checkbox, md-input-container, md-radio-group, and md-select has been changed. You can now use the $default-horizontal-margin Sass variable to override the default 16px horizontal margin size. As part of this, md-radio-buttons inside of layout="row" containers are now aligned vertically with other content as they no longer have a 16px margin-bottom. If you have previously added custom styles, to your components inside of a row layout, in order to give them extra margin-right in LTR or margin-left in RTL, you will need to re-evaluate those styles. In most cases, they can now be removed.
  • sidenav: Removed access for the deprecated $media service in md-is-locked-open. This was deprecated in favor of the $mdMedia service. The functionality is the same and only a rename to the current name of the service is required.
  • dialog: Removed support for the deprecated .content('string') methods and options. These were deprecated in favor of .textContent('string') and .htmlContent('sanitized-string')' methods and their associated options. Please note that use of .htmlContent requires that the ngSanitize module be loaded.

If you have

  alert = $mdDialog.alert()
    .content('This is an example.');

It needs to be changed to

  alert = $mdDialog.alert()
    .textContent('This is an example.');

If you have

  alert = $mdDialog.alert({
    content: 'This is an example.'
  });

It needs to be changed to

  alert = $mdDialog.alert({
    textContent: 'This is an example.'
  });
  • theming: Removed support for the deprecated $mdThemingProviderTheme.primaryColor() and the related accent/warn/background APIs. These were deprecated in favor of $mdThemingProviderTheme.primaryPalette() (and accent/warn/background) in 2015 and they have been logging warnings when used since then.
  • layout: Removed the deprecated, undocumented *-lt-* layout attributes and classes. This includes the following attributes and their matching classes, which have been giving deprecation warnings since 2015:
  • layout-lt-md
  • layout-lt-lg
  • flex-lt-md
  • flex-lt-lg
  • layout-align-lt-md
  • layout-align-lt-lg
  • flex-order-lt-md
  • flex-order-lt-lg
  • flex-offset-lt-md
  • flex-offset-lt-lg
  • hide-lt-md
  • hide-lt-lg
  • show-lt-md
  • show-lt-lg

  • autofocus: Removed the deprecated md-auto-focus directive. It was deprecated in favor of md-autofocus. Please see the md-autofocus Docs for examples.

  • sidenav: Removed the md-sidenav-focus directive. It was deprecated in favor of md-autofocus. Please see the md-autofocus Docs and md-sidenav Basic Usage Demo for examples.
  • menu: Removed the deprecated $mdOpenMenu API. It was deprecated in favor of $mdMenu.open.
  • chips: Removed the deprecated, since 2015, md-on-append attribute. It was deprecated in favor of md-transform-chip or the simple notifier md-on-add. Please see the md-chips Demos for examples of using md-transform-chip.
  • card: Removed support for the class="md-actions" inside of an md-card template. This is deprecated in favor of using the <md-card-actions> element.
  • dialog: Removed support for the deprecated class="md-actions" inside of an md-dialog template. This was deprecated in favor of using the <md-dialog-actions> element.
  • panel: The deprecated MdPanelRef.addClass(), MdPanelRef.removeClass(), and MdPanelRef.toggleClass() functions have been removed. These were deprecated in 2016 in favor of using the panelContainer or panelEl JQLite elements that are referenced in the MdPanelRef object.

Contributors

Thank you to the contributors who helped with the v1.2.0-rc.2 release:

Splaktar clshortfuse wagnermaciel
Splaktar clshortfuse wagnermaciel

1.2.0-rc.1 (2020-07-23)

Bug Fixes

  • button: horizontal padding should match the spec (3205b33), closes #10535 #10535
  • checkbox: handle links in transcluded label in an a11y-friendly way (4d36fd2), closes #11134
  • checkbox: update CSS to match spec (c893050), closes #9351 #9927 #8713
  • chips: chip remove icon isn't sized to match the spec (#10491) (29c0a4a), closes #9619
  • datepicker: support ng-model-options timezone w/ Moment (e24d09c), closes #11945 #10598
  • input-container: align indentation with spec (31a596f), closes #10105 #11421
  • list: fix checkbox alignment and match dense heights to spec (a13722e), closes #11966
  • nav-bar: throws exception when indexing null tabs variable (b1c7154), closes #11964
  • panel: demos need to access locals in controller's $onInit (6e91c62)
  • panel: don't throw exceptions when the groupName is a string (4178459)
  • select: md-select-header closes on mouse click when not using multiple (f2fca2e), closes #11969
  • tabs: update min-width to follow the spec (693ecca), closes #10406 #11432
  • theming: dark contrast used incorrectly when only contrastStrongLightColors defined (4e3f7a7)
  • theming: update palette contrast types to current spec (d716fde), closes #8992 #10164
  • theming, toolbar, subheader, input: align color palettes and contrasts with AA standards (3a291ac), closes #8992 #10164 #8993
  • toast: improve position handling to better align with docs (96ec741), closes #11843
  • toolbar: input placeholders and ink need more contrast (a82fc93), closes #7987 #11376

Code Refactoring

  • $mdCompilerProvider: remove deprecated $mdCompilerProvider.respectPreAssignBindingsEnabled() (579a327)
  • chips: remove deprecated MdChipsCtrl.selectAndFocusChip (01d2cde)
  • select: rename ngMultiple to mdMultiple (4c75858)
  • toast: remove deprecated content() method and option and updateContent() method (cf3d56c)

Features

  • theming: add contrast opacity values for all color types and hues (68c1d02)

Documentation

  • theming, colors: md-colors demo was broken. improve JSDoc and fix lint issues (01917b3)

BREAKING CHANGES

  • list: md-list with the md-dense class has been updated to align with the Material Design specification. This means that md-list-items heights have changed when using md-dense. The md-dense-disabled class is now supported on md-list. After updating to this version, you may need to adjust the layout of your app if you use md-dense with md-list or customize the layout of md-checkboxs within md-list-items.
  • button: md-button's internal horizontal padding has changed from 6px to 8px to match the Material Design spec. This may affect the layout of portions of your application where md-button, md-datepicker, or md-toast with actions are used.

If you are using our SCSS files, you can override this back to the default, or another value, in your app's SCSS files:

$button-left-right-padding: rem(0.600); // For 6px horizontal padding
  • $mdCompilerProvider: The deprecated $mdCompilerProvider.respectPreAssignBindingsEnabled() API has been removed. We no longer respect AngularJS's $compileProvider.preAssignBindingsEnabled() value as this API was removed in AngularJS 1.7.0.

If you had the recommended configuration for AngularJS 1.6.x:

  $compileProvider.preAssignBindingsEnabled(false);
  $mdCompilerProvider.respectPreAssignBindingsEnabled(true);

Then you should remove both of these calls as they are now the defaults in AngularJS 1.7.0 and AngularJS Material 1.2.0.

If you had the recommended configuration for AngularJS 1.7+:

  $mdCompilerProvider.respectPreAssignBindingsEnabled(true);

Then you should remove this call as it is now the default in AngularJS Material 1.2.0.

If you were using a backwards-compatible configuration for AngularJS 1.6+:

  $mdCompilerProvider.respectPreAssignBindingsEnabled(false);

Then you will need to remove this call and may need to refactor your Controllers for AngularJS Material components like $mdDialog, $mdPanel, $mdToast, or $mdBottomSheet.

For example:

 $mdDialog.show({
   locals: {
     myVar: true
   },
   controller: MyController,
   bindToController: true
 }
  function MyController() {
   // No locals from Angular Material are available. e.g myVar is undefined.
   // You would need to move anything accessing locals in here to $onInit().
 }
  MyController.prototype.$onInit = function() {
   // Bindings are now available in the $onInit lifecycle hook.
 }
  • toast: The deprecated content() and updateContent() methods have been removed.

If you had:

  $mdToast.show($mdToast.simple().content('This no longer works.'));

You will need to change to:

  $mdToast.show($mdToast.simple().textContent('This works.'));

If you had:

  $mdToast.updateContent('This no longer works.');

You will need to change to:

  $mdToast.updateTextContent('This works.');

If you had:

  $mdToast.show($mdToast.simple({parent: parent, content: 'This no longer works.', theme: 'some-theme', capsule: true}));

You will need to change to:

  $mdToast.show($mdToast.simple({parent: parent, textContent: 'This works.', theme: 'some-theme', capsule: true}));
  • select: ngMultiple has been renamed to mdMultiple to make it clear that this API is provided by AngularJS Material and not by AngularJS.

If you had:

  <md-select ng-multiple="expression">...</md-select>

You need to change to:

  <md-select md-multiple="expression">...</md-select>
  • chips: The deprecated MdChipsCtrl.selectAndFocusChip() function has been removed. MdChipsCtrl.selectAndFocusChipSafe() should be used instead.
  • theming, toolbar, subheader, input: The contrast colors (the text or icon color, for example on a raised button) of many of our default palettes have been updated to meet the AA level of the contrast guidelines for web accessibility. If you are using our default palettes directly, the accessibility of your application should be improved. However, we recommend that you evaluate this after updating to 1.2.0. There may be edge cases in your app or custom styles that need to be updated to meet accessibility guidelines.

If you find significant accessibility issues after updating, please report them to us. In 1.2.x, we have a lot more control over our component theming in regards to hues and opacities.

If your app is using a custom palette, whether based on a copy of default palette or not, we encourage you to evaluate that your contrast configuration meets the WebAIM guidelines. Please review our guide on Defining Custom Palettes for details.

  • tabs: Tab items now have a min-width and padding which matches the Material Design specification. For width, this is 72px on xs screens and 160px on all other screens. For left and right padding, this is now 12px instead of 24px. If your app needs to have tabs which are smaller than the spec, you will need to override md-tab-item's min-width and md-tab's padding styles.
  • checkbox: If you've created a custom solution to style links within md-checkbox labels, then you may need to remove or change that code now. This is because we automatically detect <a> tags in these labels and re-render them in an accessible way.
  • input-container: md-input and md-select inside of md-input-containers have been updated to use indentation that is consistent with the spec (aligned to the left in LTR and the right in RTL). This may cause some minor layout issues in apps that depended upon the previous 2px padding inside of md-input-container.
  • The default size and spacing for md-checkbox has been updated to align with the Material Design specification. Additionally, many new Sass variables have been added for customizing the size and spacing of md-checkbox. The md-dense class is now supported. After updating to this version, you may need to adjust the layout of your app due to the larger touch-friendly size of checkbox. You may also want to make use of md-dense in cases where space is limited.
  • toast: $mdToast.show()'s position behavior has been updated to be consistent with the documentation. If you relied on the previously undocumented behavior where it defaulted to top left instead of bottom left, you will need to update your app.

Change your code from this:

    $mdToast.show(
      $mdToast.simple()
      .textContent('Simple Toast!'))
    .then(...

To this:

    $mdToast.show(
      $mdToast.simple()
      .textContent('Simple Toast!')
      .position('top left'))
    .then(...

Contributors

Thank you to the contributors who helped with the v1.2.0-rc.1 release:

Splaktar jelbourn clshortfuse oliversalzburg batsauto tomaszgrabowski
Splaktar jelbourn clshortfuse oliversalzburg batsauto tomaszgrabowski

1.1.24 (2020-06-29)

Bug Fixes

  • datepicker: support ng-model-options timezone w/ MomentJS and datepicker now passes ng-model-options on to calendar (12562b0), closes #11945 #10598
  • panel: animated panels never appear on the screen (e81e2e3), closes #11946
  • panel: inline transforms accumulate after each time the close animation runs (6322e98), closes #11946

Contributors

Thank you to the contributors who helped with the v1.1.24 release:

Splaktar mmalerba
Splaktar mmalerba

1.1.23 (2020-06-18)

Bug Fixes

  • calendar, datepicker: in year view, md-date-filter only evaluates first day of month (3d5ff5d), closes #11703
  • compiler: $onDestroy hook not called (8bb1d98), closes #11847
  • datepicker: update error state only after $validate has run (11f65e3), closes #10360
  • layout: Syntax Error: Token '&&' not a primary expression (#11940) (1bd1a97), closes #10935
  • list: allow overriding md-list-item padding for clickable items (f7d9027), closes #10384
  • menuBar: close top nested menu when escape key is pressed (98e259b), closes #11678
  • navBar: update inkbar on screen resize (c1e2b12), closes #10121
  • panel: allow transform to be animated on an offset panel (269b68e), closes #9641 #9905
  • panel: consolidate redundant validations (#9631) (a334134)
  • panel: invisible after hide/show cycle (a3c533f), closes #11291
  • progress-circular: correct rendering for diameter bigger than 60 (#11896) (0cca317), closes #10376
  • progress-linear, progress-circular: mirror indicator when rtl is on (#11895) (9fc2f3f), closes #10814
  • select: height changes when disabled (e2af2a3), closes #11812
  • select: md-focused not removed from options on panel close (5a7e967), closes #11927
  • select: optgroups are not visible to screen readers (5fbabe7), closes #11240
  • select: perform correct position calculation in rtl for long labels (#11894) (9f49e10), closes #10395
  • select: revert removal of support for ng-selected on md-options (546bd84), closes #11914
  • slider: vertical slider in a scrolled container sets value to zero on all clicks (#11801) (79bf96b), closes #11800
  • toast: onRemove doesn't return a Promise in some cases (e625a9c), closes #10379
  • toolbar: md-scroll-shrink conflicts with md-select in toolbar (1ed54bb), closes #10413 #9871
  • tooltip: change from inline to inline-block to account for md-panel change (20194ba)
  • util: sanitize function used by select and autocomplete throws "Invalid regular expression" when typing ( (bc71d0b), closes #11908

Features

  • calendar: support specifying timezone in ng-model-options (2a01746), closes #10431
  • input: add animation to color change (#10079) (b486a41)
  • select: add the ability to pre-select the only option in the list (#9940) (6372027), closes #9626

Documentation

  • codepen: update for AngularJS 1.8.0
  • security: added Security Policy
  • tabs: improve correctness of API docs and types a17ef4f, closes #10407

Contributors

Thank you to the contributors who helped with the v1.1.23 release:

Splaktar crisbeto marosoft nnmrts Thaina chmelevskij
Splaktar crisbeto marosoft nnmrts Thaina chmelevskij

1.1.22 (2020-04-30)

Bug Fixes

  • autocomplete: loop options list when moving past first/last option with arrow keys (5228f23), closes #11766
  • autocomplete: md-not-found template is not styled properly (ce6e2ff), closes #11852
  • autocomplete: Move mouse enter and leave events to container (5b0c9ba), closes #11776
  • autocomplete: scroll to top of the list each time dropdown open (498c9ed), closes #10479
  • contact-chips: don't rely on debug info to get access to controller scope (2f77095), closes #11699
  • datepicker: md-open-on-focus fails when switching tabs with open datepicker (7a16778)
  • gesture: 'drag' gestures don't clean up touch action styles on parent (deb3dfc), closes #11147
  • list: dense lists cut off descenders of letters like gjqpy (0ab73bd), closes #8890
  • list: isEventFromControl() works on all browsers now (d537d25), closes #7937
  • list: primary action is fired twice on space/enter keydown (920018e), closes #11756
  • list: secondary actions give aria warning if text is in a span (90c8b8d), closes #6152
  • menu-bar: z-index not restored on menu close (4a4dde4), closes #11235
  • nav-bar: clicked nav item not focused or selected in some cases (4d4e0ac), closes #11747
  • select: overhaul screen reader support (928c71d), closes #10748 #10967
  • select: sanitize user input before searching options (#11855) (0ec0cc5), closes #11854
  • select: when using trackBy, trigger ng-change only when tracked property is different (ecd55d0), closes #11108
  • select: menuController not defined edge case in focusOptionNode (b9d8322), closes #11885

Documentation

  • vscode: add VSCode configuration and guide (#11879) (a8954df)
  • dialog: clarify promise rejection behavior in descriptions (#11889) (939f6c9), closes (#10130)
  • docs, README: remove Bower references, update GitHub and NPM icons. fix 'View Demo' button appearing for directives w/o demos (#11888) (5c75b12)
  • getting-started, home: updates to landing page and getting started. add Blank StackBlitz Demo starter (#11890) (d1a9976)
  • COMMIT_LEVELS: update guide to better describe the process and responsibilities (#11862) (38fe956)
  • BUILD: rewrote most of the guide (#11880) (4093953)

Contributors

Thank you to the contributors who helped with the v1.1.22 release:

Splaktar marosoft oliversalzburg andrewseguin free-easy nathanael-bice
Splaktar marosoft oliversalzburg andrewseguin free-easy nathanael-bice
psamim qubiack
psamim qubiack

1.1.22-rc.0 (2020-03-13)

Bug Fixes

  • autocomplete: loop options list when moving past first/last option with arrow keys (5228f23), closes #11766
  • autocomplete: md-not-found template is not styled properly (ce6e2ff), closes #11852
  • autocomplete: Move mouse enter and leave events to container (5b0c9ba), closes #11776
  • autocomplete: scroll to top of the list each time dropdown open (498c9ed), closes #10479
  • contact-chips: don't rely on debug info to get access to controller scope (2f77095), closes #11699
  • datepicker: md-open-on-focus fails when switching tabs with open datepicker (7a16778)
  • gesture: 'drag' gestures don't clean up touch action styles on parent (deb3dfc), closes #11147
  • list: dense lists cut off descenders of letters like gjqpy (0ab73bd), closes #8890
  • list: isEventFromControl() works on all browsers now (d537d25), closes #7937
  • list: primary action is fired twice on space/enter keydown (920018e), closes #11756
  • list: secondary actions give aria warning if text is in a span (90c8b8d), closes #6152
  • menu-bar: z-index not restored on menu close (4a4dde4), closes #11235
  • nav-bar: clicked nav item not focused or selected in some cases (4d4e0ac), closes #11747
  • select: overhaul screen reader support (928c71d), closes #10748 #10967
  • select: sanitize user input before searching options (#11855) (0ec0cc5), closes #11854
  • select: when using trackBy, trigger ng-change only when tracked property is different (ecd55d0), closes #11108

Contributors

Thank you to the contributors who helped with the v1.1.22-rc.0 release:

Splaktar marosoft oliversalzburg andrewseguin free-easy nathanael-bice
Splaktar marosoft oliversalzburg andrewseguin free-easy nathanael-bice
psamim qubiack
psamim qubiack

1.1.21 (2019-10-22)

Bug Fixes

  • autocomplete: improve handling of touch pads and touchscreens (#11782) (20c4d3f), closes #11778
  • autocomplete: improve implementation of aria-activedescendant (#11743) (8c159aa), closes #11742

Contributors

Thank you to the contributors who helped with the v1.1.21 release:

Splaktar neilsh
Splaktar neilsh

1.1.20 (2019-08-15)

Bug Fixes

Contributors

Thank you to the contributors who helped with the v1.1.20 release:

Splaktar marosoft Noglen
Splaktar marosoft Noglen

1.1.19 (2019-05-31)

Bug Fixes

Features

  • menu-bar: support md-prevent-menu-close on checkbox/radio items (#11710) (d577afd), closes #11707

Documentation

  • migration: Add a guide for migration to Angular Material and the CDK (#11706) (16cea88)
  • docs: Added support for Sass and TypeScript in code samples (#11706) (16cea88)
  • docs: Allow up/down/page up/page down to scroll content (#11712) (67826f5), closes #2961

Contributors

Thank you to the contributors who helped with the v1.1.19 release:

Splaktar codymikol
Splaktar codymikol

1.1.18 (2019-04-05)

Bug Fixes

Documentation

Infrastructure

Contributors

Thank you to the contributors who helped with the v1.1.18 release:

Splaktar EmielH
Splaktar EmielH

1.1.17 (2019-03-29)

Bug Fixes

  • autocomplete: default dropdown to position bottom (#11670) (7674959), closes #11656
  • slider: aria attrs are not announced when tabbing in screen readers (#11688) (459c03c), closes #11685
  • tabs: use standard wheel event instead of mousewheel event to fix Firefox (#11686) (7f249f9), closes #11654
  • npm: deploy new release early to fix issue of 1.1.14 including a .git/ dir for NPM installs, relates to #11684

Documentation

Contributors

Thank you to the contributors who helped with the v1.1.17 release:

Splaktar gaurav5430
Splaktar gaurav5430

1.1.14 (2019-03-18)

Bug Fixes

  • $mdInteraction: clean up events on $rootScope destroy (#11641) (e9e9ece), closes #11493 #11493
  • icon: large SVG files can cause icon caching to hang (#11653) (6a68c96)
  • input: placeholder hidden when there is also a label on IE11 (#11674) (ddcbb2e), closes #11668
  • interimElement: don't track elements that fail compilation (#11471) 08d90e9, closes #11460
  • nav-bar: non-selected tabs with anchors have invalid tabindex value (#11675) (ec9aa25), closes #11637
  • panel: caching of panels by id is not working (#11638) (649116b)
  • progress-circular: show correct circle arc when changing from indeterminate to determinate mode (#11580) (686b365)
  • virtual-repeat-container: support horizontal scrollbar in vertical orientation (#11462) (3cf4d74)

Documentation

  • docs: properly format anchor names and hrefs (#11648)
  • radio-button: correct two misspellings on demo (#11667)
  • colors: clean up Closure / JSDoc comments and types (#11676)

Infrastructure

  • build: make the build output deterministic and reproducible (#11570)
  • ci: we moved over to CircleCI from TravisCI in the previous 1.1.13 release (#11592)

Contributors

Thank you to the contributors who helped with the v1.1.14 release:

Splaktar codymikol marosoft JSitjaNCR RQF7
Splaktar codymikol marosoft JSitjaNCR RQF7

1.1.13 (2019-02-20)

Bug Fixes

Features

  • autocomplete: support variable-height autocomplete list items (#11516) (562e0c7)
  • datepicker, calendar: md-date-filter disables months in month mode (#11526) (8aa5d58), closes #11525

Documentation

  • checkbox: clarify description of md-no-ink (#11605)
  • docs: copying links to example/demo anchor headers gives a bad URL (#11634), closes #11285
  • menu: add demo and docs for dense menus. (#11602)
  • ripple: break out docs for $mdInkRippleProvider from $mdInkRipple (#11606)

Contributors

Thank you to the contributors who helped with the v1.1.13 release:

Splaktar mmalerba codymikol marosoft mgol gopherkhan
Splaktar mmalerba codymikol marosoft mgol gopherkhan

1.1.12 (2019-01-03)

Bug Fixes

Contributors

Thank you to the contributors who helped with the v1.1.12 release over the holiday break:

Splaktar codymikol mmalerba
Splaktar codymikol mmalerba

1.1.11 (2018-12-20)

Bug Fixes

Features

  • autocomplete: add input-aria-label and input-aria-labelledby (#11412) (534beea), closes #10815
  • autocomplete: add support for input-aria-describedby (#11405) (a25a7df), closes #11004
  • contactChips: add basic support for md-separator-keys (#8142) (eb10b56)
  • slider: enable page up/down and home/end keyboard actions (#11517) (70654c3), closes #11515
  • tabs: allow specifying custom class names for tabs (#11332) (aa30ada)
  • theming: add ability to specify hues as options to defineTheme (#11428) (f776bf7)

Performance Improvements

  • tabs: md-center-tabs causes in high CPU usage (#11375) (7fdf9da), closes #9690 #6375
  • tabs: remove unreferenced elements variable from TabsController (#11379) (33652b4), closes #11377
  • css: remove bloat from autoprefixing of unsupported browsers (#11340) (3660a32)
    • This reduced the minified CSS bundle size by ~75 KB.
    • You can find the breakdown of supported browsers here.

Contributors

Thank you to the contributors, especially the first timers, who helped with the v1.1.11 release:

Splaktar rudzikdawid feloy codymikol marosoft mmalerba
Splaktar rudzikdawid feloy codymikol marosoft mmalerba
jagmeetb mckenzielong Ignigena rossgardt cstephe xyng
jagmeetb mckenzielong Ignigena rossgardt cstephe xyng
MarcoZehe dokmic irkan-hadi
MarcoZehe dokmic irkan-hadi

1.1.10 (2018-06-28)

Bug Fixes

Features

Contributors

Thank you to the contributors, especially the first timers, who helped with the v1.1.10 release:

Splaktar rudzikdawid feloy jpike88 bersLucas
Splaktar rudzikdawid feloy jpike88 bersLucas

1.1.9 (2018-04-27)

Bug Fixes

Features

Contributors

Thank you to the contributors, especially the first timers, who helped with the v1.1.9 release:

crisbeto Splaktar feloy rudzikdawid mmalerba free-easy
crisbeto Splaktar feloy rudzikdawid mmalerba free-easy
sviams cobisimo ypislon currensy karansapolia VictorioBerra
sviams cobisimo ypislon currensy karansapolia VictorioBerra
codymikol FjVillar
codymikol FjVillar

1.1.8 (2018-03-16)

Bug Fixes

Features

Contributors

Thank you to the amazing contributors, especially the first timers, who helped with the v1.1.8 release:

crisbeto Splaktar clshortfuse mmalerba IMM0rtalis feloy
crisbeto Splaktar clshortfuse mmalerba IMM0rtalis feloy
codymikol eknowles currensy jonbcard karansapolia tiberiuzuld
codymikol eknowles currensy jonbcard karansapolia tiberiuzuld
5earle
5earle

1.1.7 (2018-02-08)

Bug Fixes

Features

  • swipe: allow accessing the original currentTarget (#10997) (827990e)

Contributors

Thank you to the contributors who helped with the v1.1.7 release:

Splaktar oliversalzburg mmalerba cgx gillyb
Splaktar oliversalzburg mmalerba cgx gillyb

1.1.6 (2018-01-16)

Bug Fixes

  • compiler: assign bindings to controller instance when using an ES6 (#10977) (f4b19fe)
  • icon: fix malformed HTML in tests (#10792) (0bac462), closes #10785
  • select: add closing tag for native select (#10833) (3b59b20), closes #10828
  • select multiple: set the element dirty when the selected options change (#10749) (7256670), closes #10584
  • slider: role was applied to inner element instead of the directive itself (#10731) (bbb719d), closes #10565
  • theming: don't assume selector corresponds to expression (#10818) (f1e4fcb), closes #10793
  • truncate: remove controllerAs and bindToController directive attributes (#10798) (a91c99a), closes #10356

Features

  • datepicker: add the ability to restrict users to a calendar view (#9736) (eecc976), closes #9260

Contributors

Thank you to the excellent contributors who helped with the v1.1.6 release:

crisbeto jelbourn EladBezalel Splaktar alopezsanchez Phoqe
crisbeto jelbourn EladBezalel Splaktar alopezsanchez Phoqe
oliversalzburg graingert dulynoded Ardeshir81 beetlerom davestacey
oliversalzburg graingert dulynoded Ardeshir81 beetlerom davestacey
phistuck wangsha alphatwit andrewseguin
phistuck wangsha alphatwit andrewseguin

1.1.5 (2017-09-06)

Bug Fixes

Features


$mdCompiler

The $mdCompiler is able to respect the AngularJS preAssignBindingsEnabled state when using AngularJS 1.5.10 or higher.

To enable/disable whether Material-specific (dialogs/toasts) controllers respect the AngularJS $compile.preAssignBindingsEnabled flag, call the AngularJS Material method: $mdCompilerProvider.respectPreAssignBindingsEnabled(true/false).

This AngularJS Material flag doesn't affect directives/components created via regular AngularJS methods which constitute most Material & user-created components.

Only dynamic construction of elements such as Dialogs, Toast, BottomSheet, etc. may be affected. Invoking $mdCompilerProvider.respectPreAssignBindingsEnabled(true) will make bindings in Material custom components like $mdDialog or $mdToast only available in controller constructors.

  • By default respectPreAssignBindingsEnabled === false
  • With AngularJS 1.6 or newer, respectPreAssignBindingsEnabled === true as the default.
  • With AngularJS >=1.5.10 <1.6.0, developers can use $compilerProvider.preAssignBindingsEnabled(false) to enforce this.

The $mdCompiler now also understands the the $onInit lifecycle hooks in controllers.

Note that no other AngularJS 1.5+ lifecycle hooks are supported currently.

// Using the default value `preAssignBindingsEnabled == false`

$mdDialog.show({
  locals: {
    myVar: true
  },
  controller: MyController,
  bindToController: true
}

function MyController() {
  // No locals from Angular Material are set yet. e.g myVar is undefined.
}

MyController.prototype.$onInit = function() {
  // Bindings are now set in the $onInit lifecycle hook.
}

AngularJS Material 1.1.4 (2017-04-20)

Bug Fixes

Features

Angular Material 1.1.3 (2017-01-31)

Bug Fixes

Angular Material 1.1.2 (2017-01-30)

Features

Bug Fixes

  • autocomplete: fix messages not appearing. (#9909) (ce5f7c2), closes #9468
  • autocomplete: fix TypeError in autocomplete. (#10227) (f8fd076)
  • autocomplete: two specs leak the scroll mask element (#9568) (a95d76d)
  • autocomplete: use global stylesheet for demo (#9930) (e807a3b)
  • build: fix errors on angular 1.3 (#9663) (0ce8a57)
  • build: prevent closure from stripping $inject annotations (#9765) (dbc52d0), closes #9758
  • button: only apply focus effect for keyboard interaction. (#9826) (34823ac), closes #8749
  • calendar: boundKeyHandler preventDefault on other input elements (#9746) (b903153)
  • card: fix alignment with avatar icons in Safari (#9801) (ec318e7), closes #9147
  • checkbox: properly show focus effect (#9827) (002207c)
  • chips: add basic accessibility support. (#9650) (f18cb2b), closes #9391 #9556 #8897 #8867 #9649
  • chips: add-on-blur with autocomplete (#9949) (72264af), closes #9582
  • chips: no longer throw an error when returning focus to input. (#9528) (a3b3e7b), closes #9520
  • chips: support md-min-length on md-contact-chips. (#9215) (455c679), closes #2423
  • chips: use empty chip buffer if not a string (#9885) (d774b76), closes #9867
  • colors: failing unit tests against Edge (#9876) (dfbc0f6)
  • constant: remove dependency on $sniffer (#9875) (c1eceaf)
  • datepicker: add aria-owns and aria-expanded support (#9733) (13fba2c), closes #9727
  • datepicker: ensure that all month/year elements have the expected height (#9893) (b3b8fab), closes #9863
  • datepicker: error message alignment in md-input-container (#9504) (0592dfa), closes #9342
  • datepicker: pass in the timezone when formatting the date (#9837) (22f9faf), closes #9725
  • datepicker: reference error and calendar not being read out by nvda (#9891) (694e561)
  • datepicker: remove dependency on $mdGesture (#9803) (72b4f10), closes #9793
  • datepicker: remove negative margin if triangle icon is disabled (#9853) (e1a5146), closes #9850
  • datepicker: updateOn not working with non-bubbling events (#9632) (b5c412c), closes #9577
  • datepicker, select: arrow button consistency (#9807) (b0df030)
  • dialog: only restore focus with keyboard interaction (#9923) (c851204), closes #7963
  • dialog: re-add md-actions deprecation class. (#10318) (e96293a)
  • docs: fix broken links in theming docs (fd88814), closes #10203
  • docs: prevent tabbing over hidden content; better animation handling (#9773) (da6baac), closes #8896
  • docs: re-add accidentally removed css (#9808) (b14fa93)
  • docs, dialog, interim, panel: compatibility with latest angular snapshot (#9787) (4fb1767)
  • icon: codepen demo issue (#9780) (f03c513), closes #9561
  • input: increase placeholder contrast on focus (#9804) (974acd3), closes #8903
  • input: md-maxlength not properly updates on model changes. (#8351) (bf5c036), closes #1870
  • interim: do not immediately splice interim. (#9670) (ebc8ace)
  • interimElement: added missing scope dispose to fix memory leak (#9710) (eac3bfb)
  • layout: fix use of flex-basis in layout modes (#9572) (c6fb5a5), closes #5345
  • list: empty aria-label attributes for list-items with interpolation (#10218) (3556d57)
  • list: expect aria-label with respect to aria-hidden (#9943) (2c367f7), closes #9933
  • menu: avoid runtime errors when menu-content isn't set. (#10198) (0b65e08), closes #9709
  • menu: focus first non disabled item (#9228) (1f32ccb), closes #9165
  • menu: menu content should inherit theme (#10217) (dd2c8a9)
  • menu-bar: nested menus not closing when clicking on the toolbar (#9602) (e0463c0), closes #9599
  • menu-bar: do not use flex for buttons (#10027) (471b850), closes #9771
  • menu-bar: test leaking scroll mask element (#9569) (c5b5386)
  • nav-bar: null check tabs when updating nav-bar (#9071) (b38d928)
  • nav-bar: tabs not being read out by screen readers (#9925) (454b974), closes #9383
  • nav-bar: automatically add aria-label for navBarItem (#10219) (b7b1d01), closes #10110
  • panel: allow clickOutsideToClose to work with propagateContainerEvents (#9886) (61bd95e), closes #9388
  • panel: don't bind scroll event if scrolling is disabled (#9947) (088d2e6)
  • panel: element not being removed when scope is destroyed (#9567) (d208ac5), closes #8683
  • panel: make the actual position available in the offset methods (#9732) (6a0d592)
  • panel: panel and tooltip theming (#10031) (b8357dc), closes #10030
  • panel: panel not being constrained to viewport on repeat openings (#9944) (47e4c1b), closes #9942
  • panel: take offsets into account when checking if element is on screen (#9662) (761493d), closes #9628
  • panel: use prefixed transform property (#9721) (7706162)
  • progress-circular: path not being re-rendered when diameter changes (#9846) (d6d3546), closes #9841
  • progress-circular: fix arc bleeding through container (#10108) (491d139), closes #10107
  • progress-circular: update animation to spec (#10017) (cf38b29), closes #9879
  • radio-group: wrong aria-checked value on load when used with ng-value (#9790) (2bbf401), closes #9400
  • select: block xss on md-select-label (#10023) (f7ecb4f)
  • select: Fix duplicates in label. (#9695) (d553919), closes #9442
  • select: unable to switch between falsy options (#9945) (54a1d0d), closes #9533
  • select/datepicker: fix dropdown icon colors. (#10226) (bb90ce9)
  • sidenav: allow for data bindings in md-component-id (#9255) (5cdceeb), closes #9052
  • sidenav: allow more time before triggering a resize of the children (#9809) (79d272d), closes #9745
  • sidenav: correct animation from closed to locked open (#9833) (bd605c0), closes #9425
  • sidenav: notify child components when the element is opened (#9512) (989f81e), closes #7309
  • subheader: add accessibility support (#9817) (1d77c92), closes #9392
  • switch: invalid container margin in RTL (#9586) (b0d9921)
  • tabs: allow md-tab-content > div to shrink (#10290) (2c9a5cc)
  • tabs: don't set aria-controls when there is no content; better empty tab handling (#9763) (c93fdad), closes #9108
  • tabs: dummy tabs should not have acccessibilty roles (#9452) (9e0c30e), closes #9450
  • tabs: icon color isn't correct when the tab item is not active (#9620) (e80d0d2), closes #9536
  • tabs: improve tab button focus styling logic (#9916) (166fb79), closes #9039
  • tabs: properly blank activedescendant attr when no tabs exist (#9907) (348f6c0), closes #9279
  • tabs: remove manually pagination sizing algorithm (#10136) (5b799e2), closes #9429
  • tabs: support flexible content layout (#9451) (d89a682), closes #9206 #9704 #9779
  • theming: match preceding selectors as well (#9484) (efb7031), closes #9480
  • toolbar: title text should allow ellipsis. (#9229) (284d422), closes #9026
  • tooltip: tooltip role (#10052) (7563b47), closes #10045
  • tooltip: always resolve expressions against the correct scope (#10284) (685b902)
  • tooltip: AngularJS 1.3.20 test failures. (#10115) (d8263f2), closes #10114
  • tooltip: prevent xss in tooltip content (#10190) (8801ef8)
  • tooltip: properly interpolate tooltip text to prevent possible XSS (#10159) (0b72ab9)
  • util: body overflow-x breaking disableScrollAround (#9864) (4468126), closes #9860
  • util: check for definition of window.performance.now before using in mdUtil (#9664) (1b9245a)
  • util: disableScrollAround should not remove disabled scroll mask (#9547) (bbb9ec5)
  • util: getClosest not working on elements with lowercase nodeName (#9510) (9936185), closes #9509
  • util: properly determine viewport top offset (#9458) (fc7e9b3), closes #9370
  • variables: rem function should use global $font-size variable (#9497) (1f14cc4), closes #9486

Performance Improvements

  • chips,navbar,tooltip: avoid extra DOM lookups (#9527) (a1e68d5)
  • navbar: reduces amount of watchers and buttons per item (#9818) (a5b8943)
  • tooltip: reduce amount of event listeners on the window (#9514) (dc6b10c)

update

  • autocomplete: md-require-match only turn invalid if search text is provided (#9119) (399016d), closes #9072

BREAKING CHANGES

  • autocomplete: The autocomplete validator md-require-match no longer matches if the search text is empty.
  • select: md-selected-text now only accepts text. It used to accept and render html but this was an XSS vulnerability. It was fixed in: block xss on md-select-label (#10023) (f7ecb4f).

We have added a new md-selected-html API for md-select. It accepts an expression to be evaluated that will return a string to be displayed as a placeholder in the select input box when it is closed. The value will be treated as html. The value must either be explicitly marked as trustedHtml or the ngSanitize module must be loaded.

Given the following code:

<md-select ng-model="selectedItem" md-selected-text="getSelectedText()">
angular
    .module('selectDemoSelectedText', ['ngMaterial'])
    .controller('SelectedTextController', function($scope) {
      $scope.items = [1, 2, 3, 4, 5, 6, 7];
      $scope.selectedItem = undefined;
      $scope.getSelectedText = function() {
        if ($scope.selectedItem !== undefined) {
          return "You have selected: Item <strong>" + $scope.selectedItem + "</strong>";
        } else {
          return "Please select an item";
        }
      };
    });

Change it to this:

<md-select ng-model="selectedItem" md-selected-html="getSelectedText()">
angular
    .module('selectDemoSelectedText', ['ngMaterial', 'ngSanitize'])
    .controller('SelectedTextController', function($scope) {
      $scope.items = [1, 2, 3, 4, 5, 6, 7];
      $scope.selectedItem = undefined;
      $scope.getSelectedText = function() {
        if ($scope.selectedItem !== undefined) {
          return "You have selected: Item <strong>" + $scope.selectedItem + "</strong>";
        } else {
          return "Please select an item";
        }
      };
    });

Angular Material 1.1.1 (2016-09-01)

We continue to maintain our momentum with Angular Material. Today we published a patch release for Angular Material; a patch that contains more than 60 improvements and fixes.

--

  • Add improvements to Themes registrations
  • Add improvements to Docs to discuss differences between TabBar vs NavBar
  • Add improve SideNav to specify disableScroll target when open
  • Add feature BrowserColor to enable browser header coloring with Material Design Colors
  • Add blur or focus features to Chips and Autocomplete

--

  • Revert a Layout change for layout="column"
  • Fix animations for Input messages, Autocomplete, Dialog
  • Fix Card images inside md-card-title-media to use flexbox CSS
  • Fix AutoComplete, Input, Menubar, Select, and theming
  • Fix Datepicker, Tooltip colors, Navbar theming, Virtual repeat with scrolling

--

Features

Bug Fixes

  • autocomplete: don't use $mdUtils.nextTick in handleHiddenChange (#9319) (8f8ad78), closes #9318
  • autocomplete: properly run animation for dialog in demo. (#9437) (69607e0)
  • autocomplete: properly show dropdown on focus when minlength is met. (#9291) (e65ffc8), closes #9283 #9288 #9289
  • autocomplete: remove autofocus ambiguity. (#9438) (00a4c05)
  • build: properly filter core module files with updated gulp-filter (#9399) (0cd2a59)
  • card: limit img size when using md-card-title-media (#9446) (d086e2b), closes #9355
  • checkbox: not being marked as checked with ng-checked on load (#9424) (904b455), closes #9349
  • compiler: remove manual controllerAs logic (#9462) (18afebe)
  • datepicker: arrow direction in rtl (#9384) (f6da4d3)
  • datepicker: forward aria-label to generated input (#9364) (165d4e7), closes #9340
  • datepicker: forward tabindex to generated input (#9325) (6cfb542), closes #8147
  • datepicker: improved overlay positioning (#9432) (d0a7765)
  • datepicker: jumping forward if min date is in the same month as model (#9305) (412bc2c), closes #9284
  • datepicker: keyboard navigation not working if the user scrolls too much (#9302) (30f6a74), closes #9294
  • datepicker, menu, slider: remove duplicate properties (#9335) (1c098a6)
  • demos: update core-icons svg in assets cache to latest changes. (#9418) (7e21118)
  • dialog: add extra classes to identify buttons (#9463) (b11441c)
  • dialog: do not compile an empty element when using a content element (#9303) (7c4b434)
  • dialog: focus dialog element when no actions are set (#9272) (bcfe00a), closes #9271
  • dialog: remove transition classes after hide (#9299) (f170133), closes #9276
  • input: Ensure animated messages disappear. (#9466) (4e302c2), closes #9454
  • layout: Revert overzealous IE11 flexbox fix. (#9412) (660826b), closes #9354
  • menu-bar: unable to close menu when clicking on toolbar (#9428) (6dcecd5), closes #8965
  • menu-bar: use checked icon from $$mdSvgRegistry (#9417) (04124d8), closes #9407
  • navbar: add theming support (#9210) (4cfd4a1), closes #9137
  • panel: Element reference error (#9375) (6383b52), closes #9374
  • prefixer: do not throw an exception if element is undefined (#9345) (d07240b)
  • undo change to unknown symbol for prod build (#9393) (bd4034d)
  • progressCircular: better support for older ios versions (#9254) (215fae4), closes #9253
  • select: Ensure md-no-asterisk attribute works. (#9347) (f265a0e), closes #9339
  • tabs: ie10 MutationObserver issue (#9397) (bd70022)
  • tabs: scroll blocks in pagination (related to #5439) (#9457) (b26c01c)
  • textarea: resize handle position occasionally wrong (#9155) (3fc1004), closes #9151
  • theming: fix read-only .configuration() (#9389) (b328882)
  • virtual-repeat: not re-rendering when switching to a smaller list (#9363) (fce551d), closes #9315

Contributors

Thanks to the great contributors who helped with this v1.1.1 patch release:

akaij bradrich clshortfuse crisbeto DevVersion EladBezalel
akaij bradrich clshortfuse crisbeto DevVersion EladBezalel
enne30 hansl j3ski jelbourn leibale norkunas
enne30 hansl j3ski jelbourn leibale norkunas
ThomasBurleson topherfangio
ThomasBurleson topherfangio

<a name"1.1.0">

1.1.0 (2016-08-14)

BREAKING CHANGE

The <md-select>'s, <md-option> component now acts more like the default <option> attribute of a standard HTML <select> by treating empty value and ng-value attributes as a special "reset" case that allows the input to return to the default state (i.e. the floating label returns to the placeholder position).

If you use the value or ng-value attributes with no value as follows and expect it to be a valid option,

<md-option value="">All options</md-option>

you will need to update your option to have a value like one of the following:

<md-option value="null">All options</md-option>
<md-option value="undefined">All options</md-option>
<md-option ng-value="''">All options</md-option>

Fixes #9718.

Features

Breaking Changes

  • md-no-focus-style attribute on md-button is now a class (.md-no-focus)

Closes #8691. Closes #8734 (d04dfc5d)

Bug Fixes

Contributors

Thanks to the great contributors who helped with this release (after the rc.5 release):

Aaron-Hartwig AdriVanHoudt areologist barryvdh bradrich chrisguerrero
Aaron-Hartwig AdriVanHoudt areologist barryvdh bradrich chrisguerrero
clshortfuse crisbeto cyx8808 danjarvis david-gang davidenke
clshortfuse crisbeto cyx8808 danjarvis david-gang davidenke
DavidFrahm DevVersion dirkharbinson EladBezalel epelc fhernandezn
DavidFrahm DevVersion dirkharbinson EladBezalel epelc fhernandezn
IPRIT isaaclyman ivoviz jelbourn jsr6720 keenondrums
IPRIT isaaclyman ivoviz jelbourn jsr6720 keenondrums
marcysutton martineckardt MattCatz mkowalchuk Nickproger ofirmgr
marcysutton martineckardt MattCatz mkowalchuk Nickproger ofirmgr
oliversalzburg robertmesserle soul-wish SpikesCafe-google ThomasBurleson timlevett
oliversalzburg robertmesserle soul-wish SpikesCafe-google ThomasBurleson timlevett
topherfangio x87
topherfangio x87

<a name"1.1.0-rc.5">

1.1.0-rc.5 (2016-06-03)

With this release we have merged many of the pending Pull requests and added some notable changes:

  • added new md-nav-bar and md-panel components
  • enhanced the performance of the md-tabs component
  • added many improvements to dialog, datepicker
  • added shrinking and resizing features to the md-input textarea component
  • improved security safeguards using $templateRequest instead of $http

panel-animations

Contributors

Thanks to the great contributors who helped with this release:

247GradLabs AaronBuxbaum andresgottlieb aortyl areologist BevanR
247GradLabs AaronBuxbaum andresgottlieb aortyl areologist BevanR
bvahdat chrisconover code-tree crisbeto daniel-nagy david-gang
bvahdat chrisconover code-tree crisbeto daniel-nagy david-gang
davidenke DerekLouie DevVersion EladBezalel Emeegeemee epelc
davidenke DerekLouie DevVersion EladBezalel Emeegeemee epelc
ErinCoughlan gkalpak gmoothart ivoviz jelbourn julienmartin
ErinCoughlan gkalpak gmoothart ivoviz jelbourn julienmartin
KarenParker mgilson neko1235 Nickproger petebacondarwin programmist
KarenParker mgilson neko1235 Nickproger petebacondarwin programmist
robertmesserle solojavier soooooot Splaktar StefanFeederle ThomasBurleson
robertmesserle solojavier soooooot Splaktar StefanFeederle ThomasBurleson
tirana topherfangio voyti
tirana topherfangio voyti

Features

Bug Fixes

<a name"1.1.0-rc4">

1.1.0-rc4 (2016-04-15)

This release we added a new feature md-select-header which supports custom content in the header of the md-select component:

selectwithinputheader

Features

  • select: Adding md-select-header directive to md-select. (62754242, closes #7782)

Bug Fixes

Contributors

Thanks to the great contributors who helped with this release:

ThomasBurleson robertmesserle DevVersion topherfangio EladBezalel clshortfuse
ThomasBurleson robertmesserle DevVersion topherfangio EladBezalel clshortfuse
DerekLouie VictorCoding
DerekLouie VictorCoding

---

<a name"1.1.0-rc3">

1.1.0-rc3 (2016-04-13)

This RC3 provides several fixes to Theme foreground and background colors. Also included is a Colors demo Theme ColorPicker that will be useful for developers interested using Theme colors and the new md-colors directive within their own custom components.

theme_colorpicker

Features

  • colors: directive and service to use any color from any palette on any element (ced4e0c2, closes #1269, #7791)
  • progress: add the ability to disable the progressbars (18bfae10, closes #7862)
  • theme: allow global disable of theming generation (cb694048, closes #7959)

Breaking Changes

  • <a>: anchor tags in md components inherit theme colors
  • Content: background-color: '{{background-default}}'
  • Subheader: background-color: '{{background-default}}'
  • Button: use accent palette A700 for hover and focused
  • Checkbox: ripple use accent palette A700
  • Input: use primary-color instead of primary-500
  • LinearProgress: background-color: '{{accent-A100}}'
  • RadioButton: container uses color: '{{accent-A700}}';
  • Select: accent uses color: '{{accent-color}}';
  • Slider: focus reing uses background-color: '{{accent-A200-0.2}}';
  • Toast: uses color: '{{accent-color}}'; instead of color: '{{accent-A200}}';

Bug Fixes

  • a: default accent color removed (59dfce63, closes #7891)
  • aria: $mdAria should not use texts from aria-hidden nodes (b3cb84d3, closes #7376, #7957)
  • autocomplete:
    • don't show the loading bar when hitting escape on an empty input (e821ae32, closes #7927, #7934)
    • don't apply a background if the autocomplete has a floating label (44cf4a93, closes #7841, #7848)
  • build: prevent npm publishing (fb4670fd, closes #7393)
  • components: wrong use of accent and primary colors (da48b6c9, closes #7890)
  • css: use classname to identify md components for styling (9aac20fa, closes #7942)
  • demo: bottomSheet grid icon buttons are clipped (15424bac, closes #8018)
  • icon: icons should have a minimum height. (1dc0c17f, closes #7599, #7860)
  • input: prevent the input from jumping when it becomes disabled (4bff2bbe, closes #7640, #7919)
  • list:
  • menu: resolve an error when going from a nested menu item to a regular one (e3fc728f, closes #7819, #7826)
  • progress-circular: use a non-flushable requestAnimationFrame (f687d106, closes #7936)
  • release:
    • specifies upstream URL when pushing to material repo (bbaa5b80, closes #7852)
    • adds newVersion value to node string to update package.json (0fc0f3e4, closes #7810)
  • rtl-mixin: changed ltr override to initial (8968c999, closes #7423)
  • select:
    • prevent selectedLabels from being passed $scope by $watch (d0bacdfe, closes #7830)
    • md-checkbox inside md-list-item using incorrect text color. (a3f63cbd, closes #7893)
  • sidenav:
    • animation when width is explicitly defined (57ab6d9c, closes #7483, #7605)
    • mdSideNav should support deferred or instant component lookups (877551c5, closes #7900)
  • tabs: not selected tab text color as spec (ccfef921, closes #7920)
  • tests: disable gridlist test (317c1c8d)
  • themes:
    • anchor should inherit theme to support colors (81b44a47)
    • anchor theme colors are scoped to _md components (901c3fc6)
  • theming: theming should probably parse background hue names. (79eba382, closes #7510, #8022)

Contributors

Thanks to the great contributors who helped with this release:

ThomasBurleson robertmesserle DevVersion EladBezalel crisbeto Splaktar
ThomasBurleson robertmesserle DevVersion EladBezalel crisbeto Splaktar
clshortfuse DerekLouie jadjoubran code-tree trainerbill dentych
clshortfuse DerekLouie jadjoubran code-tree trainerbill dentych
ilovett Djulia kwypchlo
ilovett Djulia kwypchlo

---

<a name"1.1.0-rc2">

1.1.0-rc2 (2016-03-30)

Features

  • autocomplete:
  • checkbox: add indeterminate checkbox support (2776ad29, closes #7643)
  • chips: Make chips editable (c3085ee7, closes #7579)
  • input: allow skip hidden inputs (a2ac9a3a, closes #2153, #6425)
  • list: add ui-sref-opts attribute to button executor. (6763bfa7, closes #7658, #7672)
  • select:
    • add support for checkbox options in the dropdown (3524aa95)
    • add hover styles and fix disabled (7bc3cc1e, closes #7518, #7765)
    • Adding md-selected-text attribute to md-select. (bbbe9e30, closes #7721)
  • tabs: allow disabling select click event by adding md-no-select-click attribute (6bc38e59, closes #5351)

Breaking Changes

  • Button: modified theme CSS background-color: '{{accent-600}}'
  • Content: restored background-color: '{{background-hue-1}}' in md-content
  • DatePicker: modified theme CSS background: '{{background-hue-1}}'
  • Calendar: modified theme CSS background: '{{background-A100}}';
  • Input: inputs with type hidden will be skipped by the input-container
  • Select: added hover styles and fixes disabled styles to md-select
  • privatized CSS for
    • Autocomplete: _md-mode-indeterminate
    • Chips: Added read-only styles for .md-readonly ._md-chip-input-container
    • Chips: Support for editable chips with ._md-chip-editing
    • Select: updated layout CSS for ._md-text
  • updated global CSS style for html and body: color: '{{foreground-1}}'; background-color: '{{background-color}}'

Bug Fixes


---

<a name"1.1.0-rc1">

1.1.0-rc1 (2016-03-09)

Features

Breaking Changes

  • Many components now have private CSS classes. These are classes that should not be overridden because they are either vital to the component's function or may change even between minor releases.
  • Toasts now use accent color by default for a highlighted action button.

  • Add highlightClass method to toast (very useful! - and won't break anything)

  • Improved the docs design for the possible methods for the #simple method.
  • Changed demo to align with specs, No Dismiss buttons.
  • Highlight Color should use by default the accent color.

Fixes #6607

Closes #7246

(1efe8162)

Bug Fixes

<a name"1.0.9">

1.0.9 (2016-05-19, Patch release)

Features

  • demos: add global classes support (6726ca6c, closes #8400, #8406)
  • panel:
    • New $mdPanel service!

Bug Fixes

  • build: Fix failing tests with Angular 1.6. (af1e2269, closes #8404)

<a name"1.0.8">

1.0.8 (2016-04-28, Patch release)

Features

  • autocomplete:
  • checkbox: add indeterminate checkbox support (cd987f0b, closes #7643)
  • chips: md-max-chips to specify a maximum of chips that can be added through user input (64cefc81, closes #6864, #6897)
  • input:
  • select:
    • Adding md-select-header directive to md-select. (c6d08bbf, closes #7782)
    • Adding md-selected-text attribute to md-select. (e7af2c87, closes #7721)
  • tabs: allow disabling select click event by adding md-no-select-click attribute (9624dac1, closes #5351)

Breaking Changes

  • inputs with type hidden will be skipped by the input-container

Fixes #2153

Closes #6425

(e7c51e3e)

Bug Fixes

<a name"1.0.7">

1.0.7 (2016-04-01, Patch Release)

Features

  • autocomplete:
  • chips: md-max-chips to specify a maximum of chips that can be added through user input (64cefc81, closes #6864, #6897)
  • input:
  • tabs: allow disabling select click event by adding md-no-select-click attribute (9624dac1, closes #5351)

Bug Fixes

<a name"1.0.6">

1.0.6 (2016-02-29)

Bug Fixes

<a name"1.0.5">

1.0.5 (2016-02-04)

Features

Bug Fixes

<a name"1.0.4">

1.0.4 (2016-01-28)

Features

  • whiteframe: support attribute directive to apply md-whiteframe classes (4d5e0ed0, closes #6772, #6831)

Bug Fixes

  • datepicker:
    • change mdDateUtil.isDateWithinRange to ignore the time component of the date (e1c07ec9, closes #6887, #6888)
    • set datepicker touched if bluring input or closing the pane (f4839afa, closes #6598, #6722)
    • fix input always being required. (83f4d5e6)
  • dialog: fix dialog resizing on window resize (ae7d661e, closes #6876, #6878)
  • input:
  • layout:
  • md-slider: clamp md-slider's initialisation (b3ffa6f7, closes #6858)
  • mdSelect: Selected label shouldn't copy the ripple container in the md-option (b7073759)
  • menu: cleanup interim element on element destroy (95fbb16f, closes #6545, #6558)
  • select: made select line height aligned with input (c19eec4b, closes #5524, #6741)
  • tabs: fix dynamic height demo for tabs (09185964, closes #6785)
  • toolbar: apply the warn color, accent color (64911ab7, closes #6447)

<a name"1.0.3">

1.0.3 (2016-01-21)

Features

  • $mdThemeProvider: allow the user to define a nonce attribute for generated theme style tags (3f1208b4, closes #6691)

Bug Fixes

<a name"1.0.2">

1.0.2 (2016-01-14)

Bug Fixes

  • datepicker: temporarily disable test that only passes on FF. (656694f4)
  • dialog: fix focus trap sometimes not working. (0a7ded9e, closes #6590)
  • doc: update CodePen community url (985ec605, closes #6652)
  • layout: use flex-start instead of start (c0f5aea7, closes #6402, #6403)
  • virtualRepeat: Recover from scroll events that occur when hidden. (bbca34f4, closes #5448, #5448, #6389)

<a name"1.0.1">

1.0.1 (2015-12-17)

Bug Fixes

  • select: Position incorrect if selection scrolled. (de5237f1, closes #6190, #6354)
  • tabs: workaround for ngAnimate issue with ngClass (19c11fdd)

<a name"1.0.0">

1.0.0 (2015-12-14)

This is a landmark release - announcing public availability of version 1.0.0!

Bug Fixes

  • demos: CodePen launches fixed (86ec22ad, closes #6297)
  • dialog: guard against missing focus traps upon removal. (8d7ec062)
  • input:
    • Fix input errors CSS to properly display. (0eb7d8a6, closes #5837, #6298)
    • guard against null access on parentForm (Angular 1.3). (1d71928e)
    • Remove unneccessary CSS error margin. (5ca31706, closes #6235)
  • layout: 'flex' change per recommended workarounds and added flex=nogrow (f3761781, closes #6205)
  • layouts: do not replace invalid attribute values (16486dbf)
  • menu-bar: fix embeded menus closing immediately (62af9387, closes #6184, #5866)
  • select:
  • showHide: Don't set up $md-resize $broadcasting $watcher until recieving $md-resize-enable (2f18bb4e, closes #5760, #6170)
  • speedDial: Fix intially open bug. (cfdd7cf1, closes #6111)
  • tabs: tabs will not try to animate height if the new height matches the current height (a4ea9dea)
  • test: improve test of $interpolate for ng v1.5.x (43e01a7f)
  • toast: wrap toast content with .md-toast-content (ea60dd3b)
  • tooltip: Firefox scroll event was triggered cause the usage of translate3d (c33819e8, closes #6206)
  • virtualRepeat: Resolve bizarre missing $scope.$root issue (#6129) (190d304f, closes #6171)

<a name"1.0.0-rc7">

1.0.0-rc7 (2015-12-08)

The Getting Started and the Layout documentation have been improved with more CodePen samples. RTL support has been improved for the Input components.

Features

  • layout: add flex noshrink attribute to prevent shrinking (3d32c2e6, closes #6067, #6100)

Bug Fixes

  • autocomplete:
    • gets rid of uncompiled content flicker. Works around issues cased by the scope d (88ba1fdd, closes #5637)
    • always set tabindex to allow receiving focus. (d3c0acb2, closes #6101, #5665, #6135)
  • cards: applying zero margin only on first and last p elements (aa6a0588, closes #6060)
  • dialog: update code example from content to textContent. Fixes (19389455)
  • input:
  • layout: hide and show directives with breakpoint suffixes now work properly (a2ec6607)
  • list: don't turn list-items with ngIf into a button. (ef05ea36)
  • menu: fix menus inside toolbars and dialogs (378248a5, closes #6131, #6109, #6049, #6073, #6089, #6116)
  • menubar:
    • fix broken menubar accessability with checkbox and radio menuitems (eb1695a0, closes #6151)
    • fix keyboard controls (0fa917d5)
    • fix menus overflow hiding behind menubar (b339baa9)
  • ripple: calculate relative coordinates from ripple target. (36b03f2f, closes #5917, #6092)
  • select: fix bugs introduced by keeping md-select-menu in DOM. Fix tests (7edda118, closes #6071)
  • toast: Hide scrollbars during animation. (cae51a65, closes #2936, #6029)
  • toolbar: solves NgUpgrade interop issue. (c668ba40, closes #6069, #6081)
  • tooltip:
    • always append to body and disappear on scroll (9d726593, closes #6140)
    • guard against missing offsetParent. (d0b7bacf)
  • virtualRepeat:
    • sets initial size for virtual repeat when the first results require shrinking (6acd1c3a, closes #5826, #6139)
    • Broken demos relating to size computation (10134231, closes #6167)
    • fix sizer not shrinking when items reduce in number. (1771b29f, closes #4435)
    • update deps to include showHide.. (b4ef3024, closes #4435)

<a name"1.0.0-rc6">

1.0.0-rc6 (2015-12-02)

Added accessibility support to select, menu, and toast. Added a tips documents section for layout issues and added some layout warnings for IE. Detect ng-touch usages and provide integration warnings regarding interference of ng-touch with $mdGestures

Breaking Changes

  • Added breakpoints: xs, gt-xs, xl per Material Design spec. Breakpoints sm and gt-sm have changed.

Bug Fixes

  • core: detect incompatible ngTouch usages
  • chips: Fix readonly padding issue. (5d34eff3, closes #2829)
  • datepicker:
    • fix not closing on body-click on iOS Safari. Fixes (5a56a881)
    • improve error state updating. (d5b72dfe, closes #5315)
  • dialog: trap focus within dialog.. (fbb1192a, closes #4105)
  • input:
    • fixes alignment between datepicker and other input elements (08b5af5b, closes #5936)
    • has-icon overwriting should have higher css priority as normal label without an (6cac7daa, closes #6005, #6013)
  • layout: allow layout-align without cross-axis or main-axis value (6b1d7586, closes #5996, #6003)
  • layouts: register Layout directives for xs, gt-xs, xl (2a1de83b, closes #5995, #5983, #6037)
  • list:
  • menu: improve aria compliance (097b799d, closes #4415)
  • radioButton: fixes focus color for md-primary and md-warn (16934336, closes #4487)
  • select:
  • tabs: shift+tab will now work properly when focus is on tabs (86edea49, closes #4696)
  • toast:

<a name"1.0.0-rc5">

1.0.0-rc5 (2015-11-25)

Features

Breaking Changes

  • default for layout-align is start stretch (for main and cross-axis respectively)
  • no longer removes Layout attributes from DOM elements
  • md-toast now uses textContent instead of content - content is deprecated

Bug Fixes

  • autocomplete:
    • fixes autocomplete height when near the bottom of the page (c667b549, closes #5209)
    • fixes height issue on md-not-found message (f1dcaf96, closes #5305)
    • should now properly support ng-disabled (2ab1d2d9, closes #4999)
  • datepicker:
    • prevent calendar pane being in wrong position after body scrolling is disabled. (a899c5b4, closes #5201, #5918)
    • correctly position datepicker inside dialogs. Fixes (d423a656)
  • dialog: removed no dialog actions warning (75a565e8, closes #5767, #5774)
  • input:
  • layouts:
    • support layout-align start and stretch (d24cf25b, closes #5509, #5249)
    • do NOT remove layout attributes after className generation (7cb035d9)
  • list:
  • mdUtil: disableBodyScroll no longer scrolls page to top in IE (badc1ef1, closes #4640, #5334, #3627)
  • progressCircular:
  • radio: no longer prevents events from nested elements (7a87ddad, closes #2960)
  • select:
    • reduce overly agressive truncation (8051e980)
    • fix select label not updating on option model changes (4f3c5d91, closes #3052, #3909)
    • select no longer overflows window, resizes from small to big correctly (ee4ab189, closes #5291)
    • fix IE 11 select not growing (4306331c)
  • tabs:
  • toast: switch content to textContent to unify w/ dialog. Deprecate content (1eeafee4)
  • toolbar: add support in scrollshrink to ngshow/hide (eb94d640, closes #5706, #5863)
  • tooltip: tooltip sometimes not hidden after element is disabled. (7920dba1, closes #5912)
  • util: added toUpperCase to nodeName (6260a769, closes #5609, #5771)

<a name"1.0.0-rc4">

1.0.0-rc4 (2015-11-13)

Features

Breaking Changes

  • Dialog presets for alert and confirm no longer have a content option. There is now textContent and htmlContent. In order to use htmlContent you must load the ngSanitize module. HTML will not be compiled as an Angular template to prevent XSS attack vectors.

Bug Fixes

  • autocomplete: adjusts dropdown position for standard input style (44d1636b, closes #5558, #5680)
  • datepicker: icon jumping upon open/close. (e73c560b, closes #4570, #5703)
  • dialog: break content into textContent and htmlContent to help keep users from acc (6a564508)
  • input:
  • mdMenu: fix attempting to close non-existant nested menus (6bf98aa6)
  • menu:
    • all menus no longer self destruct when one is destroyed (667a05ff, closes #5395)
    • fix divider disappearing on scrolling menu (3ab6aa35, closes #5081)
    • menu items are not aligned in Microsoft Edge (818652d4, closes #3987, #5487)
  • ripple: Fix failing spec. (fe84405d)
  • select:
    • disabled option no longer reacting to hover and closing on click (ab0ffc4d, closes #4967, #5619)
    • fix floating label not rendering until focus (a3a0f48c, closes #5566)
    • fix auto-complete element not being removed from form (2760f67e, closes #5575)
  • toast: added position relative to toast parent (617ab2c8, closes #4542, #5660)

<a name"1.0.0-rc3">

1.0.0-rc3 (2015-11-06)

Features

  • datepicker: predicate function to allow fine-grained control over pickable dates (9522148b, closes #4538, #5475)
  • ripple: ink-ripple is now getting an interpolated value (fbcc3acc, closes #5438, #5580)

Breaking Changes

  • Buttons with undefined type will have type="button" assigned, so forms may not submit as previously expected.

Before:

<button class="md-button" ng-transclude>

will become

<button type="button" class="md-button" ng-transclude>

Fixes #3127. Closes #5468.

(747ef826)

  • md-on-append has been renamed/deprecated in favor of md-transform-chip or the simple notifier md-on-add.

We expect to remove this completely in 1.0, so please update your code to use one of the new methods.

Fixes #4666. Fixes #4193. Fixes #4412. Fixes #4863. Closes #5497. Closes #3816.

(d69d6d0b)

  • adding actions to md-card is now done through <md-card-actions> rather than <div class=”md-actions”>
  • adding actions to md-dialog is now done through <md-dialog-actions> rather than <div class=”md-actions”>

Bug Fixes

  • autocomplete:
  • button: set color of disabled button to highest css priority. (ce2f28d0, closes #5569, #5574)
  • card: now md-card-actions (f8c003c3)
  • components: fix issue with removeClass removing previous classes (bd65bf74, closes #5538)
  • datepicker:
    • apply ngMessages errors when using text input. Fixes (3c9ba380)
    • throw error if model is not a Date. For #5266 (71976be8)
    • throw error if inside md-input-container. For #5055 (5004a2a6)
    • properly set ngModel validity. (b4d77330, closes #4926)
  • dialog: now md-dialog-actions (bf08e179)
  • fab: Remove transition for fabs on ng-hide. (e778cdd4, closes #5235)
  • input:
    • ngMessages will no longer cause layout to change on animation (faa8b5b7)
    • fixes input height in IE11 (ee98b70f)
  • layouts: removeAttr RTE on comment nodes (6879c6f4)
  • lists: Fix alignment of secondary icons/controls. (3b835ca6, closes #3699, #5533)
  • mdUtil: fix disable scroll adding extra scroll-bars on IE (d59bd5e7, closes #5300)
  • menu-bar: fix sibling nested opening and closing incorrectly (ead4d022, closes #5119)
  • menubar: fix RTE with close dialogs invoked from menubar (5c129be4, closes #5476)
  • progressLinear: Remove extra semi-colon from SCSS. (06c60af4, closes #5260)
  • ripple:
  • select:
    • fix escape closing dialogs when used inside select (f31d2552)
    • fix ng-change over firing when using trackBy (41671e2d, closes #4118)
    • ngModel.$touched trigger after menu close (0917523d, closes #5256)
    • allow circular references (cba5fa72, closes #5330)
  • sidenav: Notify other close events like datepicker-close too (2a76887c, closes #5522, #5528)
  • subheader: Remove 16px right margin. (bb839317, closes #4389, #708, #4419)
  • tabs:
    • fix positioning absolute/fixed elements inside md-tab-content (65e15bf4, closes #4613)
    • icons in tab labels should match the text color (fcd199ea, closes #5465)
  • toolbar button: Fix color of raised buttons. (0690e1b6, closes #4845, #5562)
  • virtual-repeat: Prevent nested calls to virtualRepeatUpdate_ (821d1a34, closes #4950, #5009)
  • virtualRepeat: Add ability for container to resize after creation (d6d7b084, closes #5561)

<a name"1.0.0-rc2">

1.0.0-rc2 (2015-10-29)

Breaking Changes

  • layout:
    • flex=34 and flex=67 are no longer supported; use flex=33 and flex=66 for 1/3 and 2/3 sizing respectively
    • layout-margin and layout-padding styles will apply to all children of layout=row and layout=column
  • backdrop: when backdrop parent is the body, backdrop will use position: fixed
  • input: form elements will now have an external display value of inline-block

Bug Fixes

  • autocomplete: clicking on the scrollbar will no longer close dropdown (309cef5d, closes #4785, #4625)
  • backdrop: use fixed position for global backdrops. (a8537e63, closes #2831)
  • dialog: make sure dialog only destroys itself. (e8cfce2e, closes #5157)
  • layout:
    • layout-margin and layout-padding fixes for child containers (4649b93b, closes #5425)
    • fix wrapping and filling layouts to 100% using flex-33 or flex-66 (a4a4a45b, closes #5346, #5348)
  • md-chips: appendChip disallows identical objects (03db13d8, closes #4466, #4479)
  • mdChips: Autocomplete styling is incorrect. (3bf6eb38, closes #4600, #4621)
  • speedDial:
  • tabs: will no longer jump to top when changing tabs with md-dynamic-height (4205be7d, closes #4281)

<a name"1.0.0-rc1">

1.0.0-rc1 (2015-10-21)

This is the first release candidate for our 1.0 beta. We believe that the API is complete and are working towards closing out remaining bugs.

Features

Bug Fixes

  • autocomplete:
    • adjusts vertical offset of dropdown to account for ngMessages in floating label (ae00a7fd)
    • fixed integration with dialog (1df38df7, closes #3979, #5154)
  • datepicker: fix theme not being applied. (f20a6354, closes #5141)
  • dialog: Provide option to not autowrap templates. (87d62300, closes #4898, #5237)
  • divider: Fix stlying for md-divider inside md-list-item. (5218c18b, closes #3021, #5058)
  • layout:
    • Prevent class overriding when lastClass is null (9025f4de, closes #5257)
    • standalone layout css flex-grow and flex-shrink updated (7b8acac1)
    • provide missing SCSS variables for standalone Layout css (f966d0f9)
    • fix flew-grow and flex-shrink values for flex-xx='xx' markup (9f704302)
  • list:
    • restore ui-sref and href support on md-list-item (f8a8b3c5, closes #2131)
    • adds support for data-ng-click in place of ng-click for buttons (2ecbb8f7, closes #3374)
  • md-slider: set step property relative to min (441cbf11, closes #4403, #4385)
  • mdCard: Content padding not showing in IE 10. (57bd0c64, closes #2974, #5120)
  • select: do not let empty arrays satisfy required on multiple select (9f561a56, closes #4604)
  • tabs: fix tab paging and sizing on IE11 when tabs are in a dialog (5034a044, closes #3953, #5096)
  • tooltip: corrected md-tooltip positioning when scrolled (f62f6934, closes #2406, #5161)

<a name"0.11.4">

0.11.4 (2015-10-13)

Bug Fixes

  • input: fix border-bottom transparency (5da3c456, closes #5128)
  • list: ng-click changes item width in IE (9b918cbc, closes #3708)
  • mdCard: Fix card image height in IE. (f54275ad, closes #761)
  • theming: no longer apply md-default-theme class to unnested themable elements (5eb94a55, closes #4846)

Breaking Changes

  • theming no longer apply md-default-theme class to unnested themable elements

<a name"0.11.3">

0.11.3 (2015-10-12)

Features

Breaking Changes

  • Material Layout attribute offset should now be flex-offset.

    Change your code from this:

      <md-content flex offset-gt-sm="33" > ... </div>

    To this:

      <md-content flex flex-offset-gt-sm="33" > ... </div>

    (ad1b78bf)

Bug Fixes

<a name"0.11.2">

0.11.2 (2015-10-01)

Bug Fixes

  • checkbox: prevent ng-click firing on didabled checkboxes. Fixes (1cae87c2)
  • datepicker: stop calendar going off-screen if body is scrollable.. (3c876c1b, closes #4781)
  • layout:
    • add border-box style to to all .flex variants (b1974bb0)
    • resolve minify bug with flex css (b1fb32c7)
    • conflict with [flex='initial'] (f636bcc8)
    • improve logic for layout > flex specificities (77c050ae)
    • improved css specificity for layout (381a0baf)
  • select:
  • sidenav: resolve jQuery conflict with handler (1a61e2ea, closes #4876)

<a name"0.11.1">

0.11.1 (2015-09-25)

This release resolves many issues and include the following notable changes:

  • Fixes to support browser navigation (or $location changes)
    • properly close Menu, Select, Dialog, Bottomsheet, and Toast components in open states.
  • Dialog components enhanced
    • support adding dialog custom CSS
    • dialog resizing as the browser window resize
    • auto closes during navigation changes
  • Layout (flexbox) features have been improved with
    • a smaller CSS footprint,
    • better support for media triggers,
    • improved specificity for hide- and show- flags
    • Fixes media trigger .layout-<xxx>-row and .layout-<xxx>-column layouts
    • Add support for to observe and interpolate Layout Attribute values
    • Allow flex-order to be negative
    • apply flexbox workarounds per Flexbox Workarounds: use flex longhand notations with workarounds
    • add support for flex="1", flex="auto", and flex
    • add references to online specs/resources
    • fix flex-33 and flex-67 max-width and max-heights
    • fix layout-align to use max-width
  • A consistent API is now provided for flushing animation states during testing.
  • CI testing now performs sandbox testing for Angular 1.3.x, 1.4.x, and 1.5.x.

Developers are requested to always test with the latest versions. And any CodePens provided in issue reports should use:

Features

  • datepicker:
  • dialog: allow specifying parent by string selector. support to add dialog custom CSS and dialog resizing as the browser window resize. (5551699c)
  • layout: support to disable attribute translation to class notations. restore max-width for layouts (bf77109c)
  • input: Add support for both labels and placeholders. (b5dd1507, closes #4462, #4258, #4623)

Bug Fixes

  • autocomplete: re-adds support for custom item names in autocomplete templates (8849213c, closes #4667)
  • codepen: improve use of external css (cdcf31d6)
  • dateLocale: guard for setting midnight to null. (65abc82c, closes #4780)
  • datepicker:
    • prevent calendar clipping on small screens. For #4558 (64fb8037)
    • ngModel updates for empty input. (416dc4c0, closes #4643, #4648)
    • make dark theme picker not terrible. (e80c6214, closes #4614)
    • handle DST incocnsistency encountered in some timezones.. (562e41a6, closes #4215)
  • dialog:
    • resolves issue where dialog templates were displaying HTML as text (ea9890f1)
    • resize top and height on window resize (3e34e021, closes #4513)
    • incorrect dialog placement if page is scrolled (1fc76229, closes #4115)
  • fabSpeedDial: remove keyboard handlers on scope destroy (3516a85b, closes #4681)
  • general: common disabled behavior for switch/slider/select. (86d876bf, closes #3797, #4654)
  • gridlist: improve getTileStyle() to use rowCount (0853f2c8, closes #2741)
  • input:
  • interimElement:
  • layout:
    • prevents missing body error in unit tests (c3a2adaa)
    • resolve incorrect and duplicate layout tests (5d9f9607, closes #4740)
    • restrict directives to attributes only (e8b60de9)
    • device size attributes should not set max-width or max-height (8b210c38)
  • list:
  • listItem: fix menu triggering proxy elements (c7ff50ca, closes #4303)
  • menu:
  • ripple: ripple will no longer be triggered on disabled elements (313342cf, closes #5445)
  • select:
    • multiple no longer sets form to $dirty (09bd5a3b, closes #3933)
    • fix undefined class on select container (5ca0b2b6, closes #4184)
    • fix options not closing with explicit md-select-label (3c0d21ef, closes #4387)
  • sidenav: binds remove function to prevent errors (5346de47)
  • switch: inverted logic in md-switch dragging (316b4c82, closes #4549, #4560)
  • tabs: addresses potential $digest already in progress error (4a16038b, closes #4743)
  • theme: input placeholder color style fixed for Chrome (85dceef4, closes #4162)
  • tooltip:
  • util: improve parse logic in supplant() (81b633c1, closes #4511)
  • utils: extractElementByName() and findFocusTarget() logic improved (a5d84c37, closes #4532, #4497)
  • virtualRepeat: prevents digest if digest is already in progress (acbf293d)
  • whiteframe: working with dp insted of z-index (b37ac3ad, closes #4706)

<a name"0.11.0-rc2">

0.11.0 (2015-09-08)

This release includes all changes from RC1 and RC2.

<a name"0.11.0-rc2">

0.11.0-rc2 (2015-09-03)

This release is comprised of 1 major effort:

  • Performance and API improvements for ProgressLinear and ProgressCircular

Features

  • progressCircular: css reduction with js animations (b1f7dc41)
  • progressLinear, progressCircular sync logic, fix linear animations, performance upgrades (d74f93a84)
    • synchronize progressLinear with similar logic used in progressCircular.
    • improve animation performances
    • watch md-mode for changes
    • refactor animation SCSS
    • enable hiding and no-animations with undefined/empty md-mode attributes
    • for both indicators, use display:block;
    • update demos with enable switch
    • fix query mode
    • update Select to use enhanced progressCircular component
    • fix autocomplete styling of progress-linear.md-mode-indeterminate
    • auto-inject md-mode attribute if missing
      • use 'determinate' if value attribute is defined
      • otherwise use 'indeterminate'
      • $log.debug() notify user (via $log.debug) of injection
      • add API doc details regarding md-mode auto-injection
    • fix tests Fixes #4421. Fixes #4409. Fixes #2540. Fixes #2364. Fixes #1926. Fixes #3802. Closes #4454.

Breaking Changes

  • progressLinear and progressCircular indicators explicitly set display and position styles

Before:

md-progress-linear {
  display: block;
}
md-progress-circular {
   // display not set
   // position not set
}
md-progress-linear {
  display: block;
  position: relative;
}
md-progress-circular {
  display: block;
  position: relative;
}

Bug Fixes

  • dialog:
    • allow Confirm dialogs to have empty/undefined content (ffbcff39, closes #4429)
  • gesture: fix overzealous preventDefault on label+input clicks. (912bcefd, closes #4110, #4110, #4223)
  • mdSubheader: Non top-level md-content causes incorrect position. (391479b0, closes #4420, #4439)
  • mdToolbar:
  • ripple:
    • fixes ripple when jQuery is loaded (4e048ff8, closes #4375)
    • fixes js error on button click for date picker (be4311ac)

<a name"0.11.0-rc1">

0.11.0-rc1 (2015-09-01)

This release is comprised of three major efforts:

  • Release of new components: DatePicker and MenuBar
  • Performance improvements to Layout and use of Flexbox
  • Performance improvements to Ripple

Features

  • calendar:
    • Add date completion detection (d6457e27)
    • more fine-tuned a11y (c3bf8400)
    • cleanup and i18n (0e8be31e)
    • Add metaKey keyboard shortcuts (733431b4)
    • change coors to be in terms of the theme (78f8eea0)
    • improve datepicker css (56df8d51)
    • add clickable arrow button and placeholder (c9a23242)
    • add calendar icon and associated styles (24ae0fa3)
    • implement virtual scrolling in calendar (34eb48cf)
    • fix up $$mdDateLocaleProvider and use in calendar. (36eae116)
    • starting work for date-picker. (b158d15b)
    • fix up $$mdDateLocaleProvider and use in calendar. (b789eef8)
    • starting work for date-picker. (7b70d74e)
    • fix up $$mdDateLocaleProvider and use in calendar. (f3457b86)
    • starting work for date-picker. (9b0b861e)
  • chips: Add md-on-remove attribute. (7037b394, closes #3190)
  • contactChips: Add md-highlight-flags support. (00474c39, closes #3182, #4278)
  • datepicker:
    • Add min/max dates in datepicker (cecba236, closes #4158, #4306)
    • Add theme color and border width on focused datepicker (1fcd0179)
    • Debounce datepicker input element event (5d088d3a)
    • Add invalid class for datepicker (40c7a8f5)
    • add docs with usage for $mdDateLocale (bd4dc668)
    • add documentation for datepicker (4211d212)
    • a11y experimentation (1400d25e)
    • fixes for a11y (6480d710)
    • opening animation and better shadow (a1844f71)
    • change colors to theme (26dbbf8b)
    • floating calendar panel for date picker. (e6b1d239)
    • binding for the date-picker (cc10fa94)
    • floating calendar panel for date picker. (a324e66c)
    • floating calendar panel for date picker. (b1f6e1a0)
    • binding for the date-picker (8a8824a1)
  • mdChips: Add md-on-select expression support. (333984f2, closes #4088)
  • mdToolbar: Vary height depending upon device width/orientation. (b6e10989, closes #2047, #4161)
  • menuBar: add menu bar component (d9ba0e13, closes #78)
  • theming: add hue-specific contrast support (c4f9f504)
  • virtualRepeat: Infinite scroll and deferred data loading (d68b4f6f, closes #4002)

Breaking Changes

  • Layout (flex, layout, etc) use Class selectors instead of Attribute selectors

  • Backdrop animates opacity instead of background-color

  • Menu button ripples inherit border-radius.

  • ProgressCircular uses class selectors instead of attribute selectors

  • Ripples are completely rewritten

  • modify scope of box-sizing: border-box to be specific to only to elements owned by ngMaterial.

Before:

*,*:before,*:after {
  box-sizing: border-box;
}

.md-container { }

After

.md-container {
   box-sizing: border-box;
}

Refs #3516. Closes #4222

(fbb6b28c)

  • dialog content text is now injected into div.md-dialog-content-body

Before the template used was:

<md-dialog-content>
   <h2></h2>
   <p></p>
</md-dialog-content>

Now uses:

<md-dialog-content>
   <h2></h2>
   <div class="md-dialog-content-body">
     <p></p>
    </div>
</md-dialog-content>

Fixes #1495.

(81e94b4f)

Bug Fixes

  • autocomplete: not found message no longer gets stuck (f2e6b162, closes #4309)
  • build:
    • lock CI tests to use Angular 1.4.4 (8157dece)
    • correct detection and generation ngMaterial module definition (d85e14af)
    • parse module definitions for material only or general (e4ca61f0)
    • buildNgMaterialDefinition RegExp updated (391cff58, closes #4305)
  • calendar:
    • ensure all instances are removed from DOM after tests. (e314072e)
    • Update ngModel instead of ctrl.date on input change (36d355a9)
    • fix broken unit tests (b60bd35c)
    • fix incorrect angular.bind use (70467da3)
    • remove non-working VoiceOver fix hack (a22b002b)
    • clean-up code after a11y experiments (0777cd98)
    • fix voiceover scrolling already-scrolled calendar. (db3d06e9)
    • fix broken unit tests for component rename and focus changes. (a3786ce7)
    • fix focus behavior on open (fa7b3830)
    • add remaining missing tests for dateUtil (8443fd5a)
    • Make calendar directive IDs unique (406ffe6a)
    • Make calendar directive IDs unique (cde67d61)
    • add remaining missing tests for dateUtil (7fe79319)
  • chips:
  • css: remove styles that could apply to user-controlled elements. (fbb6b28c, closes #4222)
  • datepicker:
    • fix bad valid date check and resize-on-open. (1fb8ab5a, closes #4270)
    • update input size and invalid class on calendar click (18458b74, closes #4262)
    • fix error w/ null date model value. (bafbacb3, closes #4232)
    • add missing type="button" and check for pane being in the DOM before removing. a (314a05df, closes #4214)
    • fix oblong open button. (db815dba)
    • fix ngDisabled not working with jQuery. (51436568)
    • prevent scrolling while calendar pane is open. (e6053736)
    • fix pane position when pinch-zoomed (1e28d521)
  • dialog:
    • improve support for template and templateUrl options (22c34bad, closes #3191, #4206)
    • enable support for html content for alert and confirm dialogs (81e94b4f, closes #1495)
  • docs: Build on Windows results in broken docs site (35ce9b8f, closes #4226, #4227)
  • fabSpeedDial: support all ng-repeat variants, fix CSS height (17676e6f, closes #3632, #3370, #3796, #4006)
  • fabToolbar:
  • font: use Roboto font instead of RobotoDraft (aa7f83aa, closes #4063, #4064)
  • gesture: fix overzealous preventDefault on label+input clicks. (912bcefd, closes #4110, #4110, #4223)
  • icon:
    • Log network errors without throwing exceptions. (e2a8f292, closes #2530, #3718)
    • don't guard adding icon class on presence of class attr. (1daa8bce)
  • input: fix bad label initialization when using static value. Fixes (f98e8514)
  • layout: corrections to material.core.layout module and tests (46b5500c)
  • md-month: fix overwriting offset for initial months. (3598e6d9)
  • mdBottomSheet: Enable touch interaction on mobile devices (1a90a727, closes #4327)
  • mdChips:
  • mdSelect:
  • mdToolbar: Allow md-scroll-shrink usage with ng-if. (9b861fdb, closes #2751, #4394)
  • progressCircular: css reduction with js animations (b1f7dc41)
  • ripple:
    • fixes ripple when jQuery is loaded (4e048ff8, closes #4375)
    • fixes js error on button click for date picker (be4311ac)
  • select:
  • sidenav: add valid transition to close animations (e26a2754, closes #3576)
  • slider: Update CSS to better conform to spec. (7fd8b098, closes #2427)
  • sticky: improve onScroll logic (40e5469d)
  • subheader:
  • tabs: Fix 0-height animation on iOS devices. (9ac7496e, closes #4339, #4341)
  • tooltip: Fix md-tooltip showing when window receives focus (954cab5e, closes #3035, #4191)
  • virtualRepeat: Virtual repeat starting off empty #3807 (38f2c35d, closes #4112, #3807)

<a name"0.10.1">

0.10.1 (2015-08-11)

Features

  • autocomplete:
    • adds md-input-id to allow the user to provide a custom ID for autocomplete inp (9931e2a8, closes #3481)
    • adds a new attribute option md-select-on-match (d16d2b66, closes #3324, #3825)
    • Add promise support to md-item-text (7430e687)
  • menu: do not propagate event in mdOpenMenu (b8045df5, closes #3296, #3332)
  • select:
  • tabs: setting md-selected to -1 will allow md-tabs to function without forcing a (27783df9, closes #3172)
  • virtualRepeat:
    • Add md-auto-shrink and md-auto-shrink-min (79dcbf73, closes #3536)
    • add md-start-index attribute. (9a045fb7)
    • allow for scrolling areas larger than the browser's maximum element size. (98e91ae2)

Breaking Changes

  • input: change min-height for textarea to one row (and remove extra padding space); set rows=1 since it defaults to 2

    (2132cd29)

  • css: media queries for sm, lg, and md have modified max-width values

    (51dbd402)

  • button: md-button class now uses display: inline-block instead of display: flex; removes associated flexbox styles

    (fd331c87)

  • dialog: changes classes transition-in and transition-out to md-transition-in and md-transition-out

    (4210ade7)

  • md-select-label has been removed. Users must use md-input-container and label going forward.

    (712bc721)

Bug Fixes

  • ** sidenav:** corrected use of internal $toggleOpen() (6f72befb)
  • $mdConstant: fix overlapping in media-queries (61a0e539, closes #3423, #3451)
  • autocomplete:
    • hitting escape once again clears the search text (99e8e2c2, closes #3847)
    • re-adds preventDefault calls to keydown event (d52e9c29)
    • keyboard input used by autocomplete will now call $event.stopPropagation() to (2781eac5, closes #2931)
    • promises that resolve immediately will work properly (b316bba9, closes #3117)
    • changing windows while typing (with no results) no longer breaks scrolling (c0659cc8, closes #3546)
    • addresses bug with AngularJS 1.4.1 (a52c943a, closes #3637)
    • fixes z-index issues with autocomplete menu (d75b5924)
    • tests wait for promises to complete now (9990e618, closes #2462, #2710)
    • fixes infinite digest issue in IE11 (f5959cc2, closes #3101)
    • selecting an item while loading will now hide the progress bar (7314e12d, closes #3478)
    • ngMessages should once again work with mdAutocomplete (2ccbc9da, closes #3401)
    • fixes issue in Firefox/Linux where textChange is not a function (1be46cb9)
  • backdrop:
    • use absolute positioning and anchors (87bdf36a)
    • set css position: fixed to md-backdrop (4011df9c)
  • build: reset to using Angular v1.3.15 until animation issues resolve (17490baf)
  • button:
  • chips:
    • prevents unnecessary ellipsis in chips (7fed14eb, closes #2688)
    • prevents styling issues caused by extremely long text (e9b4de54, closes #3523)
    • makes sure that input is cleared when selecting a chip (ee1fed19, closes #3575)
  • compiler:
  • css:
    • global page style improvements for min-height and text (76cfd706)
    • stop using @extend for rules in a different module. (fb7b9b39, closes #3400)
  • demo: button needs layout-wrap attribute (0d6e5acb, closes #3687)
  • dialog:
    • adds logic to account for image load delays that could impact content height (3aab9e4e)
    • set css position: fixed to .md-dialog-container (01859080)
    • autoclose fixed and close animation shrinks to originating element poisition. (94341209, closes #3555, #3541, #2479)
    • switch dialog to use disableScroll, fix focus trap (862444a8, closes #2443)
  • disableScroll:
    • fix z-index getting set too large (44fda3d7, closes #3501)
    • fix disable scroll breaking layout for fixed page layouts (ddfe5230)
    • fix disable scroll creating scrollbar when none existed (7fe482cf)
    • fix scroll mask z-index blocking backdrops (b4eac137, closes #3283, #3269, #3245)
  • docs: style tables w/ css class instead of element. (605cd94a)
  • fabActions: corrected use of postLink (f91a3845)
  • fabSpeedDial:
  • fabToolbar: fail gracefully if no icon used in trigger (5d2bcbf9, closes #3223, #3601)
  • highlightText: changes to the template data will update the generated HTML (eda47822, closes #3550)
  • icon: when specified, the defaultFontSet class should be used. (f5a9101a)
  • icons: improve use of material-icons style (dab30b34, closes #3333)
  • input: textarea with rows provided will no longer throw an error (e38a2c82)
  • interimElement:
  • layout: explicitly adds webkit prefix for safari (778af934)
  • mdTooltip: fix regression that broke tooltips on Firefox (6fc9212c, closes #3047, #3250, #3430, #3467)
  • mdUtil: fix double scrollbar (7ed0af6b, closes #3382)
  • menu:
    • ensure menu button is type=button (d203d722, closes #3821)
    • fix memory leak on component destroy (1a9a5300, closes #3775)
    • cleanup click listeners on close (9b57c2ec)
    • fix menu positioning when using display:none items (8609318f, closes #3444)
    • fix scrolling menu always showing scrollbar (86e9bf0d)
    • make menu close with ui-sref and ng-href (dc011491, closes #3397)
    • menu not closing with clicks that disable element (c7c7180a, closes #3288)
    • fix potential scoping issues on mdMenu (4a6cd566)
    • fix error on clicking on menu container element (f94820e6, closes #3252, #3369)
    • fix options with x-ng-click and data-ng-click not working (17f38b0b, closes #3258)
    • prevents scrollbar from unnecessarily showing up on the body (5c08d5c9, closes #3266)
  • ripple: fixes typo in ripple code (c93ba5c9)
  • select:
    • interimElement will resolve its promise even when transition end event is not fi (d6a938e9, closes #3704, #3780, #3800, #3794)
    • restore ngModel functionality (86a4ca99, closes #3767)
    • fix slight pixel miss-alignment on select open (2b423587, closes #3594)
    • fix positioning when using option groups (d8d3e4ca)
    • remove correct controller from formCtrl w/ name (ed6b45c7, closes #3062, #3671)
    • fix select value not filling parent (14786283)
    • fix duplicate keydown listeners after select shown (3e3eb9ef, closes #2616)
    • fix cycle option focus after keyboard search (cc8850b3)
    • fix select-menu width being incorrectly computed (18d8ae03)
    • fix select-value label not filling select width (ba60122e)
    • fix empty attribute for selected not selecting options (4f7af228, closes #2114)
    • mdInputContainer not realizing select had value (1a8acd02)
    • fix double label issue using placeholder in md-input-container (cbbb4b98)
    • fix menu positioning inside fixed elements (044dbdc3)
    • fix md-select with no placeholder outside of md-input-container (4be344bb, closes #3483)
    • refresh optionNodes reference (05119a71, closes #2109)
    • IE down arrow key error resolved (c183e9b4, closes #2109)
    • make select popup inherit theming (691dd2fa, closes #2483)
  • slider:
    • check for invalid discrete step value (273fff4c, closes #3590)
    • render issues with ticks that occur when parent elements are resized (5b0c256a, closes #1996, #2764)
  • tabs:
    • fixes size logic for centered tabs (5722449b)
    • removes scope disconnect logic from tab templates (2976add7, closes #3692)
    • theme palettes will no longer be inherited from parent elements (0667380d, closes #3150)
    • fixes errors thrown when user-defined click events triggered their own digest cy (1b984ed6)
    • internal scope will now be the same as external scope (c5c148df, closes #3300)
    • prevents error when navigating away from tabs section while using Angular 1.4.x (31bb1210)
    • focused item will once again scroll into view properly on focus (5616f48f)
    • fixes md-swipe-content support (0982c76a, closes #3225)
    • md-center-tabs should work now (aa1e47d3)
    • limits the width of tabs to the width of md-tab-canvas (46ffa9eb, closes #3577)
    • reduces the number of watchers by using bind-once syntax for non-changing items (6f63d708)
    • properly sets initial styles for inkbar when using centered tabs (8ccf67e5)
    • fixes md-stretch-tabs with one-way binding (cd3e8a1c, closes #3547)
    • fixes md-center-tabs support with recent changes (4867e318, closes #3549)
    • prevents an error from being thrown if an empty attribute md-selected is added (f5cd5a07, closes #3537)
    • improves performance by reducing the number of digests caused by tabs (556be5fb)
    • prevents error on empty tab list (3e7ff23c, closes #3264)
  • tests:
  • textarea: Start at a height of one line (52ca5e5a, closes #2953, #2154)
  • theming: make theme inheritance not depend on DOM order (73b1df4b)
  • toast:
    • differentiate between hide action clicks and hide timeouts (285ac72d, closes #3745)
    • replace cancel with hide on hideDelay (2b687133, closes #3558)
  • util: fix timeouts in transitionEndPromise() (602f4904)
  • utils: update for Angular 1.4.1 compatibility (7ca139af, closes #3315, #3325)

<a name"0.10.0">

0.10.0 (2015-06-15)

Features

  • fabSpeedDial: adds fabSpeedDial component (e813dcdb)
  • fabToolbar: adds fabToolbar component (30a53c30)
  • menu: add a basic dropdown menu component (3f6b4af4, closes #3173)
  • select: add mdOnClose expression eval event (d7bfc86f, closes #3217)
  • tabs:
    • replaces unnecessary watches with getter/setter syntax for improved performance (c806e8be)
    • adds support for md-autoselect (8285e2d0)

Breaking Changes

  • The API has changed for md-icon - iconSize has been changed to viewBoxSize

    (f93e117a)

Bug Fixes

  • autocomplete:
    • prevents an error when passing null instead of an array (afa213df)
    • waits for screen to reposition on focus before locking scrolling (6bfc31ea, closes #2973)
    • fixes typo in autocomplete mouseup method (67817713)
    • locks scrolling while autocomplete menu is visible (deae957b, closes #2973)
    • fixes issue where setting a min-length of 0 was not working (d3f65195)
  • button: fixes style inconsistencies between md-buttons using a and button under th (cc07e63d, closes #2440)
  • checkbox: adds ability to click links within checkbox (999e0da2, closes #852)
  • icon: Change iconSize param to viewBoxSize. (f93e117a, closes #1679, #3123)
  • icons: support for ngDirectives using compile phase (9521a1e0)
  • mdMenu:
  • radioButton: fixes potential theming bug due to CSS specificity (e8ec2b5e)
  • select:
    • fixes screen jump in Firefox (7b8efe21)
    • fix focus color not picking up theming (781a4bcf, closes #3128)
  • tabs:
    • programmatically changing tabs will now adjust pagination to show the selected t (6d45f104, closes #3139)
    • calls on-select for the initially selected item (cc1d9d2b, closes #3169)
    • fixes CSS to respect non-truthy values for md-dynamic-height (60197180, closes #3184)
    • fixes centered tabs for Safari (25526864, closes #3198)
    • nested tabs should now work properly when using md-tab-label and md-tab-body (e3e52c2c, closes #3206)
    • fixes infinite digests bug in Firefox (781929d7)
    • fixes issue with tab pagination in Angular 1.4 (4273f52b)
  • theming: fixes bugs with progress circular and select theming (3ac50acc)

0.9.8 (2015-06-08)

Bug Fixes

  • tabs:
    • prevents tabs from shrinking when used with flexbox (dd041927, closes #3011)
    • prevents select/deselect events from firing on destroy (1ba0686e)

0.9.8-rc1 (2015-06-05)

Features

  • autocomplete: custom template demo (7d2deb7e, closes #2505)
  • docs:
  • icons: api changes for font-icons (498048dc)
  • tabs:
    • adds an opt-out option for disconnecting tab scopes (4c1bf4b6)
    • makes swipe gestures on the content area opt-in (03d01e96, closes #2331)
  • theming: reduce specificity of default-theme selectors (8468c600)

Breaking Changes

  • Tabs will now require the md-swipe-content attribute in order to enable swipe gestures to change tabs in the content area.

    (03d01e96)

Bug Fixes

  • add missing alt attribute to logo in docs (19ad66d1)
  • autocomplete:
    • selecting an item will hide the menu in IE11 (0c073d10, closes #2188, #3008)
    • removes flicker of 'not found' message with async results (08532b40)
    • adds cleanup step when autocomplete is destroyed (e3a82c92, closes #2624)
    • fixes positioning of progress bar (85a75909, closes #3115)
    • updates docs, removes clear button when using a floating label (86b4afab, closes #2727)
    • selecting a value will now flag the form/input as $dirty (217cae1f, closes #2753)
  • list: support empty list-item(s) (e9ad5491, closes #2649)
  • slider:
    • fix for attributes being ignored (07295879)
    • increment the value properly when step is a decimal number (476d068c, closes #2015)
  • styles: fixes theming specificy regarding border colors (264f043e)
  • tabs: fixes continuous $digest bug in Firefox when using md-stretch-tabs (5372710a, closes #3101)
  • tooltip:
    • moves tooltip to the $rootElement rather than body or md-content (32b0facc)
    • tooltip will attach to the body rather than $rootElement (24ca2966)

0.9.7 (2015-06-01)

Features

  • autocomplete: adds support for validation/ng-messages (1f0a8450, closes #2808, #2664)
  • icons: add support for font-icons with ligatures and Material-Icon demos (a1074907, closes #3059)

Breaking Changes

  • autocomplete: name attribute has been changed to input-name to more clearly show its purpose

Bug Fixes

  • autocomplete:
    • only 2 messages will be displayed at any given time for autocomplete (6b4e95ce, closes #2785)
    • prevents text from going under the clear button (73e03a70, closes #2193, #2578)
    • prevents error on keydown when menu is hidden (a7dcfb6d, closes #2774)
    • autocomplete will no longer show the dropdown on value changes when not focused (c3ec08d8, closes #2756)
  • input: update disabled underline styles (8f2b2c68, closes #2870)
  • progressLinear: rewrites animation for progress linear (1d478ebd, closes #2762)
  • tabs:
    • adds ui-sref/ng-href support to tabs (6c53d112, closes #2344)
    • updating dynamic tab labels will now be reflected (8ac4fa1b)
    • select/deselect events will now fire when a tab is removed but the index does no (5e47b52b, closes #2837)
    • initial state will now scroll to selected tab (120c271b, closes #2838)
  • toolbar: add h1 to toolbar tools headings (c100ef10)
  • tooltip:
    • pointer-events 'none' used properly with activate events (667e4c24)
    • hide tooltip after mouseleave if focus is achieved through mousedown (e73d290c)

0.9.6 (2015-05-28)

Bug Fixes

  • build: fixes bug where versions in 0.9.5 comments were wrong. (7a1ad41f)
  • closure: fixes issue in core.js where multiple goog.provide lines were included

0.9.5 (2015-05-28)

Features

  • accessibility: additional Windows high-contrast styles (37bc5b6f)
  • button: md-icon-button to use round ripple (ab1e9e05)
  • listItem: allow use of own md-buttons (0ef4b79f)

Breaking Changes

  • Removed attach(button|tab|checkbox|list)Behavior in favor of composing an injectable ripple service specific to your target. $mdInkRipple was too aware of how to configure components. You now have access to $mdButtonInkRipple, $mdTabInkRipple, $mdListInkRipple, $mdCheckboxInkRipple.

    Change your code from this:

          function MyService($mdInkRipple) {
            //... Included for brevity
            $mdInkRipple.attachButtonBehavior(scope, element, options);
          }

    To this:

          function MyService($mdButtonInkRipple) {
            //... Included for brevity
            $mdButtonInkRipple.attach(scope, element, options);
          }
  • icons: Default size for md-icon has been changed from 28px to 24px
  • tabs: Replaces pagination transition with transform rather than left for performance

    (3b0f12e3)

Bug Fixes

  • autocomplete:
    • uses $attr to support data- prefixed attributes (1dc56a6c, closes #2798)
    • resolves xss bug with autocomplete text highlighter (1538ebe9, closes #2901)
    • pulls in text content as HTML to prevent it from being un-escaped (33ac259d)
  • build:
    • build will now update CHANGELOG in master (859ceb18)
    • fixes issue where release tag doesn't match release branch (5f7b1e91)
  • button: makes icon-buttons round for ripple and focus state (98025aaf)
  • chips: removes box-shadow from inline autocomplete (bc407590)
  • demo: use relative path to img src (175fd54d, closes #2916)
  • docs:
  • list: correctly proxy ng-disabled attrs (a25bc0ea)
  • listItem: fix ng-enter having animation (41953d5a)
  • md-icon: change icon size back to 24px (3b305a3d, closes #2992)
  • minify: tabsDirective template function works when minified (c7ea4a78)
  • select:
    • respect id attributes if assigned (fc90fd31)
    • label not updating after objects resolved via promise (74259976)
  • subheader: theme is applied to sticky clone (e92686f0, closes #2779)
  • tabs:
    • re-adds disconnected scopes for tab content (e6f19d48)
    • uses ng-if to remove inactive tabs once their animation is complete (8dcaea8a)
    • replaces pagination transition with transform rather than left for performan (a8ff2ad1)
    • fix missing dependency (0b35c9b4, closes #2460)
  • theming: remove bogus hue value from grey palette (0c28cee2)
  • tooltip: use label instead of aria-describedby (198199c1)

0.9.4 (2015-05-15)

This interim release fixes an incorrect deployment of angular-material.js; which added the Closure Library Namespace features using goog.provide(). Only source in /modules/closure/**.js should use this namespacing.

Features

  • build: add script to snapshot docs site (76e36722, closes #2852)

Bug Fixes

  • build: fixes issue where JS files were being generated with Closure code (ca940384), closes #2852)

0.9.3 (2015-05-14)

This release is also using enhanced scripting to automate the build and release processes. Releases will now also deploy versioned docs to http://github.com/angular/code.material.angularjs.org.

Bug Fixes

  • update rems to pixels (08b89921)
  • autocomplete: prevents not found message from displaying while results are loading (3d5bd948)
  • build: enable build of component modules. (8a886d79)
  • codepen:
  • dialog:
  • gesture: fix conflicts with Ionic (05788d24, closes #1528, #1528)
  • list:
  • tabs:
    • corrects css bug with tab-data positioning (a8fd0f4d)
    • reordering tabs should now work (5bc3f232)
  • tests: performance improvements and fixes to jasmine testing (786b0ed3, closes #2800)
  • toolbar: align last icon button to spec (f988255d, closes #2497)
  • tooltip: update to spec, remove max-width (8c60d9c7, closes #656)

Features



0.9.0 (2015-05-04)

Features

  • autocomplete: adds support for messages to be displayed when no results are found (e057e271, closes #2574, #1525)

Breaking Changes

  • styles: removes global line-height and font-size from html and body (666e3311)
  • icons: namespaces built-in icons (539ec5e3)
  • gridlist: md-grid-tiles must be direct children of md-grid-list (5d9142ea)

Bug Fixes

  • autocomplete:
    • improves logic behind scrolling items into view on keyboard navigation (211a31ea, closes #2615)
    • addresses issue where dropdown shows if there is an initial value (85846922, closes #2517)
    • fixes positioning issue with clear button (1fcb79a6, closes #2593)
  • button: disable warn and accent buttons (973c4d75, closes #2586)
  • compiler: make bindToController vars available to instantiation fn (e414091a)
  • dialog: makes sure that body is not more than 100% height when dialog is showing (6806f554)
  • gridlist: noops layoutDelegate (2b6dd4dc, closes #2613)
  • icons: namespaces built-in icons (539ec5e3)
  • input:
  • list: Do not ignore spaces in descendant textareas. (f737fb04)
  • select:
  • slider: adds box-sizing to fix slider ripple positioning (e982547b)
  • styles: fixes rem syntax for negative values (2fef6cad)
  • tabs:
  • toolbar:
    • prevents transition lag on ng-if/ng-hide/ng-show (544cb270, closes #2663)
    • adds shadow when content moves under 'scroll shrink' toolbar (92ed4657)
    • sets icon color to primary contrast color within toolbars (8ea0dc1d, closes #2622)

0.9.0-rc3 (2015-04-28)

Features

  • autocomplete: allows tab or enter to select an item (59015b09)
  • button: support angular-new-router ng-link (4b9dcab5, closes #2478)
  • tooltip: Support hide-* show-* and user defined css using "display: none;" (08132848, closes #2386)

Breaking Changes

  • content containers for md-dialog now require md-dialog-content to be more flexible with child content containers. This is more consistent with md-card, which uses md-card-content. (9dc62403)
  • md-input-containers no longer allow both label and placeholder to be used simultaneously. Now the placeholder value (if present) is transcluded as a label or ignored. When the placeholder value is ignored, a warning will be logged. (d931c0d2)

Bug Fixes

  • autocomplete:
    • adds support for the new $animate.pin() in `ng-animate@1.4.0-rc.1` (790ccca6)
    • adds watcher for ngDisabled rather than 2-way binding (973a2fca, closes #2160)
    • allow undefined searchText and selectedItem (8fb60c34, closes #2515)
    • fixes issue where autocomplete suggestions were not hiding (da0a4f06)
    • fixes bug that prevented autocomplete results from displaying on focus if min-le (5e72bb3d)
  • bottomsheet: fix button styles (7bd97acc)
  • build:
    • adds missing quotes for closure build (041ffe94)
    • adds method that was missing from previous update (77420942)
  • button:
  • card: md-action-bar renamed to .md-actions (5610dc98, closes #2472)
  • chips:
    • fix $apply already in progress (daf680f0, closes #2458)
    • removes flicker when switching selected chip (55fa76a0)
  • demo: fix list demo secondary action. (7e5d5e34, closes #2471)
  • dialog:
  • docs: fix doc app toolbar breadcrumb when using back button (58f2c481, closes #2464)
  • gridlist: Tile ordering improved (5d9142ea, closes #2553, #NaN)
  • highlight: adds missing characters to sanitize method (ef0dce07, closes #2292)
  • icon: rem sizes, line-height for font icons (860d1f67, closes #2597)
  • input: improve layout when md-input-container has nested md-icon. (2dbe6a97, closes #2452)
  • interimElement: fix default parent grabbing svg body (952d5f50)
  • list:
    • prevents error when there are no child elements (f66e4718)
    • fixes line-height issues with list items and checkboxes/icons/switches (4b045b58)
    • fixes checkbox styles for list items (6a0b7015)
  • mdUtil:
    • move comment nodes as well when reenabling scroll (6a5a6a77, closes #2592)
    • move comment nodes as well when disabling scroll (160df4cf, closes #2456)
  • select:
    • add support for non-scrolling md-content (88612d65)
    • fix window resize listeners breaking after select shown (7c74050f)
    • fix error when removing node on route change (9d761878)
  • tabs:
    • select/deselect methods will now be called in the proper scope (02a4af56, closes #2489)
    • removes top border radius when tabs immediately follows md-toolbar (6372111c, closes #2394)
    • fixes styles for Firefox (6996edd3, closes #2543)
  • tests: support for Angular 1.4 and improved use of angular-mocks. (48ee9867)

0.9.0-rc2 (2015-04-20)

This RC2 release contains more polish and bug fixes to stabilize performance, layout, and improve the UX for Chips, List, Select, and Tabs.

Features

  • chips:
    • allows user to require a matched item - used with autocomplete (736cbdb0)
    • adds keyboard shortcuts to chips component (c62d4dfd)
  • list:
    • extend typography styles (70fc6290, closes #2366)
    • add ripple to secondary to md-list actions (927d8e56)
  • mdUtil: add md-overflow-wrapper-shown class to DOM (5a028092)

Breaking Changes

  • List
    • md-item has been renamed to md-list-item
    • md-item-content element is now a .md-list-item-text class
    • List styles of .md-tile-left changed to .md-avatar for avatar-like images
    • md-list-item uses .md-no-proxy and .md-no-style
  • Tabs
    • When using md-tab-label, the content of your tab must be wrapped in md-tab-body
  • Typography changes have significantly impacted the <h1>...<h4> types.

    (f1db7534)

Bug Fixes

  • autocomplete: fixes positioning logic to fire at the correct time (8946322b, closes #2298)
  • button:
  • card: action bar spacing, remove order attrs (50ce4e8b, closes #2403)
  • checkbox: style checkbox without visual label (ab264807, closes #2175)
  • chips:
    • adds better focus handling for chips (def6d3a4)
    • fixes issue where arrow keys switch active chip while editing input field (1f261440)
    • fixes issue with deletion logic (6d4ecbee)
    • fixes shift+tab interaction with md-chips (314aae1c)
    • adds aria-hidden to remove buttons (79b07399, closes #2345)
    • adds slightly better support for input types other than text (d885d638)
    • prevents item deletion when text is selected (b65236b7, closes #2322)
  • dialog: action spacing matches spec (d7b23763, closes #2389)
  • input: expect input container to use placeholder for label fallback (8410c0d6, closes #2397)
  • inputContainer: style ng-messages as both element and attr (a5d09af5)
  • interimElement: add fallback to document.body if root node removed (3b3d0205)
  • list:
    • check child element length before detecting proxies (c964609e)
    • add ripple, inherit from .md-button (25cc5e8a, closes #2395)
    • fix key hijacking (e1ca13fd)
  • mdList: remove focus state on blur (588e58cf, closes #2339)
  • select:
    • fix scrollbars not respecting parent overflow hidden (b9ee6121)
    • fix select backdrop closing when parent is destroyed (2d66368c)
    • fix infinite loop condition (6e3b43cc)
    • fix 1px error to match md-input-container style (bd566a52)
    • add tabindex, aria-disabled support (40924003, closes #2308)
    • fix restore focus on select close (f55eeba0)
    • remove broken ARIA attributes (aaa6e5aa)
    • improve keyboard filtering (f3c113c9)
    • improve disable scroll layout (68395a25)
  • tabs:
    • tabs will no longer assume that all tabs have no content if the first one doesn't (1b789fed, closes #2398)
    • adds a queue for delayed function calls (0e2ccd23, closes #2402)
    • resolves issue where md-tabs is used within ui-view by removing hard require (43508032, closes #2414)
    • apply ARIA only to dummy tabs (5ad44728)
    • cleans up label/template fetch logic (17aecd2d)
    • id's should no longer cause issues when used within tab labels or contents (ea185eab, closes #2326)
  • tests: mock .flush() added for Angular 1.4.x (1e3f1a59)
  • textfield: removed unstable, deprecated textfield component Replaced with md-input-container (b5c4390b)

0.9.0-rc1 (2015-04-14)

The release of 0.9 is primarily focused on bug fixes and polish efforts. Also included in this upcoming release will be added support for List items and controls, Chips, re-architected Tabs, and improvements to Gesture support and documentation.

Features

Breaking Changes

Generated HTML and style improvements:

CSS
  • CSS Focus outlines not prevented by default
  • Box-sizing removed from body, applied to components
  • textRendering: optimizeLegibility removed from body, applied to a subset of elements
  • Font sizes, margins, padding in rem units
  • Roboto webfont included in SCSS
  • Typography: classes introduced for headings and body copy
  • High-contrast mode supported on Windows
HTML
  • Docs: Pinch and zoom re-enabled in viewport

Bugs fixed:

(f34eb800)

Bug Fixes

  • include Roboto as non-blocking <link> (5936f7a0, closes #2247, #NaN)
  • switch focus on keyboard, use .md-focused (0e916bfc, closes #1336)
  • limit global list styles (fde08cc1)
  • refactor global CSS styles (6af1546d, closes #1442, #NaN)
  • autocomplete:
    • fixes menu flicker (9b2dc2c4)
    • updates the z-index to account for use within sidenav or dialog (3cc914d7, closes #2202)
    • hitting enter with an item selected no longer resets the selected item (7e666ab4, closes #2183)
    • dropdown will shift if there is not enough space (0b15c976, closes #2004)
    • moves autocomplete dropdown to nearest content container (7f355f6d, closes #2013, #1961, #1670)
    • md-min-length now supports 0 as a value and will show dropdown on focus (dcf92682)
    • md-search-text-change now fires when content is deleted from text (f308779a, closes #2061)
    • item templates now handle child bindings in the correct scope (2e157d2b, closes #2065)
    • adds a minimum width (66fe5757, closes #1853)
    • hides cancel button when field is disabled (936b8816, closes #1710)
    • adds support for md-autofocus (c6374d9b, closes #1764)
    • accepts pre-selected values (c3fcd0d8, closes #1779)
    • will no longer query when item is selected (5f141269, closes #1835, #1732)
    • disables browser autocomplete (1a8b5658, closes #1849)
    • autocomplete now selects the first item by default and no longer hides results w (4c2b086a, closes #1858)
    • adds support for $http promises (de423ae4, closes #1798)
  • bottomSheet: make bottom sheet work with new md-list (bc32eb4c)
  • bower: fixes bower warning (c4979d68, closes #2165)
  • build:
    • do not bower install in github hook script (859ecb56)
    • remove bower dependency, update npm to install angular, update Jasmine 2 (9398a7a9, closes #1962)
  • button:
  • card: add correct themed background color (9af45d37)
  • checkbox:
  • chips:
    • sets md-autoselect for contact chips (eb9f5646, closes #2294)
    • fixes issue when removing chips via button (59d359ce, closes #74)
    • when adding items, duplicates will now be skipped (1ba926bc)
    • only add chip item if it is truthy. fixes #2116 (d154a8e4, closes #2120)
  • dialog:
  • divider: make divider work with new md-list (ebcd7f04)
  • docs: use node_modules/angularytics (b8cc062a)
  • gesture: don't stop hijacking clicks on ios & android when jquery is loaded (81bcf7fd, closes #1869, #1842)
  • gestures:
    • attach event listeners once when multiple ng-apps are running (6d566762, closes #2173)
    • disable click hijack on mobile if jQuery is present (2c57a828, closes #1915)
    • gestures initialize only on use instead of load (63c87096, closes #2074)
  • gridlist:
  • icon:
    • remove invalid danger style (360e2b60)
    • Fix issue with resizing SVGs when jQuery included. (c4e8c1c4, closes #1803)
  • icons:
    • disable pointer events on SVG(s). (a7d9fa32, closes #2048)
    • fix default icon color to match spec (6fc26fab)
  • input:
    • float labels support dir=rtl (b88b744f, closes #964)
    • Only make invalid input label red when it's floating (6d368505, closes #1928)
    • delegate clicks in IE10 (d0b427d6, closes #1394)
    • improve textarea appearance on firefox and IE (a693dabd, closes #1157)
    • input validation and visual error indicators fixed (c818da75, closes #1606)
  • list:
    • add missing interpolation character (07e82015)
    • focus covers whole row, IE11 layout fix (b47a8787, closes #2222)
    • adds role attributes in compile rather than link for performance improvements (38f04230)
  • md-select: Track disabled state (dc93bffe)
  • mdButton: focus styles only on keyboard (dfb4d1ab, closes #1423)
  • progressCircular: fixes animation in IE11 (d5b77bdc, closes #387)
  • radioButton: fix googly eyed radio-buttons (bffa15ab)
  • ripple:
  • select:
    • greatly improve scroll disable compatability (614630d7)
    • fix invalid css (2f9eef70)
    • make select focus states match ui-spec (42db19dd)
    • bug using select attr with inferred value (e20b1906)
    • fix scrollbar margin of select parent (f3cd5b9c)
    • make select positioning factor in scroll bar width (e18450fb)
    • reposition select on resize events (0fe35cc8)
    • fix md-on-show not hiding spinner for non-async (13b9c697)
    • make constrained select fit to top/left first (f6f2187c)
    • BREAKING: make select more inline with md-input-container styles (a67a6a2e)
    • fix alignment of select dropdown arrow (5c853e66)
    • fix firefox select positioning, page moving on open (a15347cd)
  • sidenav: improve API usage for $animate enter/leave (4245bcf7, closes #2261)
  • subheader: fix width styling while scrolling (2f335732)
  • tabs:
    • resets offset if the user resizes causing pagination to no longer be necessary (bd1c973a)
    • fixes styles for md-align-tabs="bottom" (0dabfc5c)
    • fixes Safari issue regarding dynamic tabs transitions (4ac7dc03)
    • fixes flicker issue with dynamic height (48eeb627)
    • fixes styles for md-border-bottom and md-align-tabs (9affd121, closes #2119)
    • adds support for height changes in between tab switches (64c4585b, closes #2088, #2177)
    • resolves issue where code was attempting to fire after the tabs array had been r (f15fd050)
    • re-added md-on-select and md-on-deselect events to md-tab directive (c84899df)
    • applies correct styles for tabs living inside md-toolbar (4c59c5c5, closes #2067)
    • updates CSS so that tabs support scrolling when necessary (9f0d428c, closes #2088)
  • theming:
    • fix theming in safari (1ebc42ec)
    • add support for background hues (0df4b16e)
    • change default background palette, document theming (57deba10)
  • toast: style tweaks for desktop rendering, fix opacity (860a55ec)
  • toolbar: md-button style cleanup (1c19272a, closes #2267, #2146)
  • tooltip:
    • fixes positioning bug in Safari (f62fd480, closes #1883)
    • tooltip will no longer be pushed up if there is room for it within its `offsetPa (6e576c02)
    • fixes tooltip position when body has a margin (00f4cc6d, closes #1883) *

0.8.3 (2015-03-03)

Features

Bug Fixes

  • autocomplete: clicking on the scrollbar in the dropdown will no longer cause the list to hide (2731f107, closes #1739)
  • gestures: resolves jQuery conflict with $mdGesture (79505888)
  • select:
    • support rtl direction (59e30a39)
    • make md-option work with ng-selected (425a76a3)
    • make select work with ng-disabled (60514054)
    • fix select not setting initial value (6dc46d52)
    • fix closing select a second time on firefox (e49a20e8)
    • fix positioning / sizing on firefox (67618dc8)
    • fix resetting value for selects without placeholder (2a0ea163)
    • fix empty select breaking page (6e7b36cf)
    • make select consistent with md-input (6aa1c8a7)
    • positioning when to close to bottom or right (cf78ba9f)

0.8.2 (2015-02-27)

Features

  • autocomplete: adds support for md-delay to wait until the user stops typing to poll for resu (70a884a1)

Bug Fixes

  • autocomplete:
    • cleans up watchers when elements are removed (7fc0d02c, closes #1692)
    • prevents aria message on selection (e2148f13)
    • addresses accessibility issues (0bd7afb8, closes #1473)
    • change events will no longer be called on load (c58d930e)
  • button: allow attribute syntax for md-button. (fc223b0c, closes #1661)
  • core: Remove redeclared variable declaration. (3454db3c, closes #1697)
  • input:
  • select:
    • when nothing selected, focus first option (50b5d923)
    • make space not scroll select (b8da17a0)
    • make sure arrow keys always focus next/prev option (e441abaf)
    • render label on external model updates (6baed64c)
    • fix updating of values on change and init (0e21b3bc)
    • change placeholder computation to be handled internally (b4c0a86e)
    • fix duplicate options when using ng-repeat (9e0ca443)
    • fix chrome double scroll bars (4d722ecf)
  • tooltip: fixes md-direction attribute functionality (93080cae, closes #1673)

0.8.1 (2015-02-24)

Features

  • select:

Bug Fixes

  • select:
    • keyboard controls in IE (69053a30)
    • fix overflow scroll on IE (c5c5f860)
    • prevent select from closing a dialog on click away (c573c8cd)
    • stop position from going past bottom of screen (805ed1b4)
    • fix select with 0 options positioning (5a82426e)
    • support custom interpolate symbols (20b66111)
    • remove placeholder for falsey, but defined values (9497f063)
    • close md-select-menu if md-select is removed (5e02ad94)

0.8.0 (2015-02-23)

Features

  • select:
  • autocomplete: added initial files for autocomplete (0bd8cf1c, closes #1418)
  • dialog: add ability to specify theme on alert and confirm presets (c97f48b7)
  • gridlist: Initial gridList implementation (ef4aff00)
  • icon: implemented md-icon for font-faces and svgs (b7d09d7e, closes #1438)
  • input: adds no-float class to disable floating label animations (33f677e5, closes #201, #1392)
  • tabs: changes default state of tabs to be transparent. (732cbc9c, closes #1250, #1393)
  • toast:
    • add ability to specify theme for simple preset (2fef2207)
    • proper toast queing behavior (74fe8706)
    • update toast content dynamicly using $mdToast.updateContent (0e161cb7)
  • tooltip: adds md-direction so that users can specify tooltip direction (9c69c5cd, closes #1220, #1410)

Bug Fixes

  • autocomplete:
    • hitting Enter will now trigger the submit method on parent form tags (da084fc5, closes #1530)
    • fixes issue with click events not firing (e088f6ac, closes #1513)
  • dialog: correct opening position for showing a dialog (150efe62)
  • docs: toolbar button overlap on mobile (7391cad4)
  • gridlist:
    • Tile removal now supports ngAnimate (1d8e7832, closes #1559, #1560)
    • add ngInject annotation support for GridLayoutFactory - $mdGridLayout (c045f542)
    • Throws error on invalid or missing colCount to avoid infinite loops (39f4f26a)
    • Adds grid height calculation (0196014d)
    • Prevents media from being unwatched immediately (a4104215)
  • icon:
    • improve error recovery and item caching (603e5d68, closes #1477)
    • add support for themes with md-primary, etc. (cdea9a2d)
  • input:
  • layout: fix responsive breakpoint dead-zones (ecf6edef)
  • mdButton: add default color, update docs (a80804b5, closes #1486)
  • select: fixes scrollbar and padding issues (5d7b63b0)
  • tooltip: content text was semi-opaque (42cff135, closes #1480, #1492)
  • autocomplete: selected item now properly updates (1307b945, closes #1468)
  • button: remove underline on href button hover (c19cd433)
  • card: fixes selector to be more specific (2f840b2a)
  • gesture: fix gesture event dispatching with jQuery (88813b78, closes #1367)
  • input: check invalid model immediately and setInvalid() if needed (e0f53ddd, closes #372)
  • mdIcon:
  • mdInput: css cascades from disabled fieldset (66fa1e3e, closes #895)
  • mdMedia: fix media listeners not firing on non-chrome browsers (0dfcaf55)
  • mdTabs: use md-icon for pagination arrows (517623e7, closes #1464, #1466)
  • sidenav: properly sets width of sidenav (0318ca44, closes #957)
  • slider:
  • subheader: fix subheaders within dialogs (55084143)
  • theming: fix typo in warning message (8a6eb7e8)
  • toast: fix minified toast controller injections (5c5106e4)
  • tooltip: now works inside elements without pointer events (3d010cd8)

0.7.1 (2015-01-30)

Features

  • bottomSheet: disable scroll on parent when bottom sheet is shown (8273126c)
  • button: adds attribute override for ripple size (b7c43a10, closes #1088)
  • gestures: add built in gesture system, remove HammerJS (8364fb57)
  • input: make input placeholder attr work (f1d7f830, closes #1279)
  • mdInputContainer: add mdIsError expr, defaults to $touched && $invalid (c3cad666, closes #1267)
  • sidenav:
    • make it thinner on <360px wide screens (6ee3346e)
    • expose isLockedOpen for sidenav instances (ba71a598)
  • theming:
    • add warnings when using unregistered themes (f6f56c98)
    • warn for same palette as primary and accent (1c973330)
    • fix strong light colors vs normal light colors, as per spec (dd5b9549)
    • rename palette methods, change default palettes (0e0846fe, closes #1252)
    • change default color of components that should be accent (f2996b73)
  • toolbar: add shadow to toolbar (4e47a174)

Breaking Changes

  • As per the spec this commit changes the default color palette of FABs, checkboxes, radio buttons, sliders and switches to the accent palette.

closes #1255

(f2996b73)

Bug Fixes

  • card: fixes selector to be more specific (2f840b2a)
  • gesture:
    • make sure clicks properly support keys (c6d24eb2)
    • fix firefox keyboard events (79196c3d)
    • only hijack click events on mobile devices (ade65b60)
  • theming:
    • fix warning for changeTheme being wrong (f44bf604)
  • checkbox:
    • make mdAria check linked element (3346532c)
  • build:
    • add annotations to rAfDecorator, remove unused args (c4927f9e)
    • add annotation to swipe.js (22040c77)
  • button:
    • change default style of fab to white instead of transparent (04feeb83)
    • default background-color on fab buttons on toolbar (08ebff44)
  • card:
    • allow img to have a wrapper (349b521e)
  • dialog: fix overlay not covering, dialog position in overlay (1d5ef95d)
  • input:
  • layout: fix IE11 layout (74fe3eb1, closes #1227)
  • mdSwitch: add missing styles to switch (54338d7d, closes #912)
  • ripple: fixes size issue with ripple on switches (c435409b)
  • slider:
    • don't run touchend listener if disabled (5bbd23d6, closes #1308)
    • make modelValue be set on pressdown (7028a750, closes #1296)
    • fix thumb positioning so that it works when not visible (41c2d65d, closes #1210)
  • styles: fix subheader z-index, button md-mini class, md-no-bar. (dde9ab79, closes #1182, #1034, #1173, #1194)
  • switch: set tabindex to -1 while disabled (19f47b5d)
  • tabs:
    • adds fix for css transition on theme change (312dcc6c, closes #1033)
    • remove bad opacity on focus state (72ced4b5)
    • prevents multiple pagination clicks during animation (299e1556, closes #1207)
  • toast:
    • fix highlighting of action buttons (53cffe29)
    • fix excess padding on md-action (0f40a843)

0.7.0 (2015-01-24)

Bug Fixes

  • input:
    • fix bug regarding md-maxlength value changes (b432277d)

0.7.0-rc3 (2015-01-14)

Bug Fixes

  • allow user selection when swipe listener is enabled (520faa72, closes #838)
  • button:
    • fixes vertical alignment issue with md-fab button (f71eb32a, closes #914)
    • adds a safe disabled-check for ripples (9091741f, closes #1029)
    • fix usages with ngDisabled (416079b7, closes #1074)
  • dialog:
  • input: fix label inputs with specified types (747c6acb)
  • layout: make sure hide-gt-* and show-gt-* work together properly (d149f36b, closes #772)
  • radioGroup: fix render call happing before radioGroup init (68e350d1)
  • subheader: make content clickable (7178b6d6, closes #554)
  • tabs:
    • fix overflow leaking out tab-content (dec2ac42)
    • factors me-active attribute into selection logic to prevent unnecessary `md-on (6a087a01, closes #868)
    • adds a delayed call to update the ink bar after a tab is removed (1a1095b0, closes #573)
  • theming: make switch, checkbox, radio button default to primary color for consistency (8cbfeadf)

Features

  • input: add error states, md-maxlength (a2bc3c68)
  • layout: add flex-order-{sm,gt-sm,md,gt-md,lg,gt-lg} attributes (3e453078)
  • tooltip: add configurable md-delay attr, default 400ms. (e4ed530d, closes #713)

0.7.0-rc2 (2015-01-08)

Bug Fixes

  • $mdUtil: fix bugs in iterator's next()/previous() methods Refactor for DRY-ness `next (124466e7)
  • $mdComponentRegistry: gracefully recover if no md-component-id is specified (bf2266f1)
  • demos: tab dynamic demo removes use of on-select expressions (4db16c17)
  • mdDialog:
    • fix dialog border radius visual overflow glitch (9b162202, closes #1015)
    • prevent null-pointer error with popInTarget (b36282a5, closes #1061)
  • input: fix height on IE11 (dc31ee53)
  • layout:
    • fix 'layout-padding' rule not having comma (b35be936, closes #952)
    • layout-fill in firefox (31d3c123)
    • layout-wrap fixed and documented (8f937bd2)
  • mdButton:
  • mdCard: add an md-card-content container inside md-card for content (28a4f8ff, closes #265)
  • mdMedia: avoid unnecessary digest and make changes apply quicker (98247bcf, closes #978)
  • mdRadioButton: Loosen equality check (ca3e4c30, closes #1112)
  • mdToolbar: Toolbar flow on medium screens (bfc947f6)
  • mdUtil:
    • fix throttle() delay check (fdb923e4, closes #977)
    • remove/delete cacheFactory keys when clearing/destroying cache (8736c7cc)
  • mdRadioButton: arrowkey navigation with disabled buttons (f520d507, closes #1040)
  • mdSidenav: Fix tests and typo (c0e2b0fb)
  • mdTabs:
    • make md-tab-label visible on IE11 (b85ad629, closes #1057)
    • pagination only call watcher() when it's a function (e952ab41, closes #1073)
    • delays disconnect until after the digest is finished (78ba497e, closes #1048)
  • theming:
    • switch accent palette to use accent hues (002d8bfd)
    • allow hex values with uppercase letters (9b45af50, closes #1014)

Features

  • mdDialog: disable scrolling on parent while showing dialog (993fa2bc)
  • input:
  • textarea: make textarea autogrow with size of content (1c653696, closes #565)
  • layout: add layout-align-{sm,gt-sm,md,gt-md,lg,gt-lg} attrs (8550bd6c, closes #631)
  • mdRadioGroup: Radio submits on keydown/enter (03c75927, closes #577)
  • mdSlider: make discrete track ticks themable (91bc598f, closes #621)
  • mdSwitch: add grab/grabbing cursor during drag (c60640bf, closes #983)
  • mdTabs: adds default transitions for tab content (3ee83a64, closes #1044, #717, #811)
  • $mdToast: add mdToast#showSimple shortcut method (dd960c6f)

Breaking Changes

  • md-text-float has been deprecated due to flaws (explanation in #547).

To create an input, you now must use the native <input> and <textarea> elements, with a <md-input-container> parent around each <input> or <textarea>.

Change your code from this:

<md-text-float label="First Name" ng-model="firstName"></md-text-float>

To this:

<md-input-container>
  <label>First Name</label>
  <input ng-model="firstName">
</md-input-container>
  • md-card now requires a separate md-card-content element containing the card's content. This was done to fix padding problems with the content.

Change your code from this:

<md-card>
  <img src="img/washedout.png" alt="Washed Out">
  <h2>Paracosm</h2>
  <p>
    The titles of Washed Out's breakthrough song and the first single from Paracosm share the
    two most important words in Ernest Greene's musical language: feel it.
  </p>
</md-card>

To this:

<md-card>
  <img src="img/washedout.png" alt="Washed Out">
  <md-card-content>
    <h2>Paracosm</h2>
    <p>
      The titles of Washed Out's breakthrough song and the first single from Paracosm share the
      two most important words in Ernest Greene's musical language: feel it.
    </p>
  </md-card-content>
</md-card>

(28a4f8ff)

0.7.0-rc1 (2014-12-19)

Bug Fixes

  • $$interimElement: make templates work with custom interpolation symbols (d5aa68d1)
  • build: correct in buildConfig.js (6caccf75, closes #981)
  • button: fix hover on flat buttons (de587772)
  • checkbox:
    • only add focus border if label is not empty (74973487, closes #944)
    • added css support for disabled states (d1920839)
  • demo: Update slider demo to work in IE11 (39559808, closes #653)
  • filenames: updated component .scss names to match conventions (629b753f)
  • layout: flex="n" attrs set height for column layout, width for row (d3577798, closes #937)
  • mdToast: Puts index above dialog (4ae4e072, closes #903)
  • switch: only add focus border if label is not empty (9c24cc93, closes #944)
  • tooltip: fix bugs in Safari & Firefox, as well as scrolling bugs (0d265292, closes #593)

Features

  • theming: use $mdThemingProvider (47f0d09e)

Breaking Changes

  • Themes are no longer defined by linked CSS files.

Themes are now defined through Javascript only. A 'theme template' is bundled into angular-material.js, and then Javascript is used to generate theme css for every theme the user defines.

The default theme is still shipped with angular-material.

If you used another theme (for example, the purple theme), change your code from this:

<link rel="stylesheet" href="/themes/purple-theme.css">
<div md-theme="purple">
  <md-button class="md-primary">Purple</md-button>
</div>

To this:

var app = angular.module('myApp', ['ngMaterial']);
app.config(function($mdThemingProvider) {
  //will use the colors from default theme for any color not defined.
  $mdThemingProvider.theme('purple')
    .primaryColor('purple');
});
<div md-theme="purple">
  <md-button class="md-primary">Purple</md-button>
</div>

For more information, read the updated Theme documentation - (47f0d09e)

0.6.1 (2014-12-08)

Bug Fixes

  • checkbox:
    • fixes issue where double-clicking checkboxes causes text selection (5d2e7d47, closes #588)
    • expands the checkbox click radius (9cd24e2e, closes #379)
  • compiler: trim whitespace from templates (effects toast, bottomSheet, etc) (3be3a527)
  • dialog: transition in and out properly to/from click element (1f5029d0, closes #568)
  • layout: make [hide] attr work properly with all device sizes (c0bbad20)
  • mdMedia: support all prefixes: sm,gt-sm,md,gt-md,lg,gt-lg (c1cb9951)
  • ripple: fixes an error caused when clicking on disabled checkboxes (8a1718d7)
  • slider:
    • update the thumb text when the model is updated (2ca21f8b, closes #791)
    • reposition when min or max is updated (bd6478b9, closes #799)
  • tabs:
    • do not focus until pagination transition is done (bb9bc82c, closes #781)
    • dont use focusin event on firefox (5559ac63, closes #781)
  • toolbar: use accent color for buttons inside (12d458e3)
  • tooltip: make it appear above dialogs (a3ce7d84, closes #735)

Features

  • layout: add both layout-margin and layout-padding attributes (5caa22b2, closes #830)
  • toast: simple with content string: '$mdToast.simple('my-content')` (554beff3, closes #833)

0.6.0-rc3 (2014-11-26)

Bug Fixes

  • dialog: correct the opening position when opening from a button (22865394, closes #757)
  • hide: make hide-gt-* attrs work properly with larger show attrs (7fc6b423)
  • ripple: prevent null error while using ripple (6d81ded1)

0.6.0-rc2 (2014-11-24)

This version introduces more breaking layout changes, ripple improvements, aria improvements, bug fixes, and documentation enhancements.

Bug Fixes

  • button: add override for transitions on ng-hide (8fa652cf, closes #678)
  • layout: add [flex-{sm,md,etc}] attr for 100% flex on screen size (7acca432, closes #706)
  • ripple:
    • fix ripple bug with checkboxes in lists (7d99f701, closes #679)
    • fix bug with vertical ripple alignment (5cdcf29a, closes #725)
  • sidenav: use flex display when opened (ae1c1528, closes #737)

Features

  • mdAria: checks child nodes for aria-label (d515a6c2, closes #567)
  • mdBottomSheet: add escape to close functionality (d4b4480e)
  • tabs: ink ripple color syncs with ink bar (9c56383b)

Breaking Changes

  • The -phone, -tablet, -pc, and -tablet-landscape attribute suffixes have been removed and replaced with -sm, -md, and -lg attributes.

  • hide-sm means hide only on small devices (phones).

  • hide-md means hide only on medium devices (tablets)
  • hide-lg means hide only on large devices (rotated tablets).

Additionally, three new attribute suffixes have been provided for more flexibility:

  • hide-gt-sm means hide on devices with size greater than small (bigger than phones).
  • hide-gt-md means hide on devices with size greater than medium (bigger than tablets)
  • hide-gt-lg means hide on devices with size greater than large (bigger than rotated tablets).

See the layout options section of the website for up-to-date information.

(a659c543)

0.6.0-rc1 (2014-11-18)

v0.6.0-rc1 releases the following changes:

  • improvements to the ink Ripple effects
  • namespace prefixing Material attributes
  • revised the Layout system to be more intuitive and responsive
  • added enhancements for modular builds and distrbution for each component
  • improved minification and SHA tags for each deployed .js and .css file
  • numerous bug fixes to improve stability, adds responsive features, and enhances API documentation.

Bug Fixes

  • button: fix css for md-fab icon position when href is present (a7763fde, closes #591)
  • card: make md-card themeable (55cdb5b7, closes #619)
  • demos: dialog, bottomsheet, and toast now display within properly within the bounding d (5909f0a5)
  • docs:
  • layout: updates layout attributes in index template (669d0048)
  • md-button: improve a11y: make title, aria-label work (ff576289, closes #512)
  • ripple: fix ripple sometimes appearing when the element is disabled (58eaef49)
  • sidenav:
    • make backdrop invisible when sidenav is locked-open (4a75d599)
    • clean registry when element is destroyed (e7a3bd8d, closes #473)
  • slider: update discrete slider thumb text while dragging (2877585e, closes #622)
  • themes: bring blue, red, and green colors up to latest spec (de3ff4b8)

Features

  • layout:
    • add new layout system (d51a44c5)
    • add layout-wrap attribute to set flex-wrap to wrap (4f755eab, closes #634)
  • styles: add 'swift' css transitions to all components according to spec (15bb142c, closes #611)
  • mdThemingProvider: add alwaysWatchTheme options, fix docs (0a404088)
  • radioGroup: add up/down arrow navigation (367e47db, closes #538)
  • tabs: add accessibility links between tabs and content (5d3bab56)
  • bottomSheet: focus the first available button on open (768cc098, closes #571)
  • interimElement: allow options.parent to be a selector (342051e0, closes #640)
  • mdDialog: enhance show API with confirm() and alert() builder functions. (12b8cbc06.
    See Demos JavaScript source
    $mdDialog.show(
        $mdDialog.alert()
          .title('This is an alert title')
          .content('You can specify some description text in here.')
          .ariaLabel('Password notification')
          .ok('Got it!')
          .targetEvent(ev)
      );

Breaking Changes

  • To provide improved clarity and easier usages, the Layout system has been revised (d51a44c5).
    See the updated Layout sections for details. We associate labels with specific breakpoints:
Label Size (dp) Attribute
Phone 0 <= size <= 600 layout-sm
Tablet 600 > size <= 960 layout-md
Tablet-Landscape 960 >= size <= 1200 layout-lg
PC > 1200 layout-gt-lg

Example 1: To use a horizontal layout and responsively change to vertical for screen sizes < 600 dp: `html

> ``` > > **Example 2**: To use a *horizontal* layout and change to *vertical* for *phone* and *tablet* screen sizes: >```html
``` > **Example 3**: To show an element except when on a *phone* (or smaller) screen size: >```html
``` > **Example 4**: To always hide an element, but show it only on phone (or smaller) devices: >```html
```
  • For performance, the disabled attribute is no longer supported; instead the ng-disabled attribute is now read to check if a component is disabled. (2ece8cd7)

    If you use the disabled attribute on a component to set whether it is disabled, change it to an ng-disabled expression. Change your code from this:

    <md-checkbox disabled></md-checkbox>

    To this:

    <md-checkbox ng-disabled="true"></md-checkbox>
  • All material component attributes and are now namespaced with the md- prefix; these changes do not affect ng- prefixes or standard html5 prefixes (eb2f2f8a). Affected attributes:

    • <md-button md-no-ink="" >
    • <md-content> (92b76435)
      • md-scroll-x
      • md-scroll-y
      • md-scroll-xy
    • <md-divider md-inset="" >
    • <md-linear-progress md-buffer-value="someValue" md-mode="query" >
    • <md-circular-rogress md-mode="query" md-diameter="60" >
    • <md-sidenav>
      • md-is-open="isOpen"
      • md-is-locked-open="isLockedOpen"
      • md-component-id="my-sidenav"
    • <md-tabs>
      • md-selected="selectedIndex"
      • md-on-select="doSomething()"
      • md-on-deselect="doSomething()"
      • md-active="tabIsActive"
    • <md-text-float md-fid="someId">
  • When using the <md-button> directive, the compiled element will now be a normal <a> or <button> element with the class="md-button" attribute. (d835f9ee)

    Any css referencing the md-button element selector should now reference the .md-button class selector. Change your CSS overrides from this:

    md-button {
     color: red;
    }

    To this:

    .md-button {
     color: red;
    }

0.5.1 (2014-10-31)

Version 0.5.0 introduces theming support, improves stability, adds responsive features, and enhances API documentation.

Features

Bug Fixes

  • mdAria: add better warnings (3368c931, closes #366)
  • md-input-group: disable with ARIA (72bad32a)
  • slider: slider default value in ng-repeat corrected (b652d863, closes #479)
  • css:
    • add autoprefixer support for firefox and ie (a1bea485)
    • fix invalid flex properties (c1d9b5a2)
    • remove deprecated css properties (c7e3a83c)
  • textFloat:
    • improved logic to determine if md-input has a value (5c407b5f)
    • improve ARIA pairing links between label and input (457b3750, closes #483)
    • added support for label/hint expressions (3674a514, closes #462)
    • fix keyboard tabbing support (27f43751, closes #458)

Breaking Changes

  • colors:
    • The md-theme-* classes have all been removed, in favor of themes.
    • Instead, use md-primary and md-warn classes on an element when a theme is set.
  • bottomSheet:
    • list class has been renamed to md-list
    • grid class has been renamed to md-grid
    • has-header class has been renamed to md-has-header
    • grid-text class has been renamed to md-grid-text.
  • button:
    • md-button-colored class has been changed to md-primary and md-warn color classes.
    • All classes that start with md-button-fab now start with md-fab.
      • md-button-fab to md-fab.
      • md-button-fab-top-left to md-fab-top-left
      • md-button-fab-top-right to md-fab-top-right
      • md-button-fab-bottom-left to md-fab-bottom-left
      • md-button-fab-bottom-right to md-fab-bottom-right
    • md-button-cornered class has been changed to md-cornered
    • md-button-icon class has been changed to md-icon
    • md-button-raised class has been changed to md-raised
  • content: md-content-padding class has been renamed to md-padding.
  • dialog:
    • dialog-content class has been removed. Use an md-content element instead.
    • dialog-actions has been renamed to md-actions
  • subheader: md-subheader-colored is now md-primary.
  • textFloat:
    • use of <md-input-group> is deprecated, <md-text-float> markup can be used for most cases
  • toast: toast-action has been renamed to md-action
  • toolbar:
    • md-toolbar-tall class has been renamed to md-tall
    • md-toolbar-medium-tall class has been renamed to md-medium-tall
  • whiteframe: md-whiteframe-z* classes no longer set z-index, only shadow

0.4.2 (2014-10-16)

This release adds support for the official Angular 1.3 release and includes improvements to both the document generator and component demos.

Note that <md-input-group> and <md-input> are deprecated in favor on <md-text-float>. While both directives are still available for more granular control, developers are encouraged to use the <md-text-float> directive whenever possible.

Features

  • text-float: Add floating label text field (25cf6f1)

Bug Fixes

  • Focus management for docs views (9afe28a8)
  • bottomSheet: use position:fixed so it does not move (bfaf96d8)
  • ripple: use contentParent scroll offset (4c0c50e4, closes #416)
  • slider:
    • disabled sliders still usable w/ keys (f78f1b34)
    • disabled discrete sliders still usable (1f5ce090)
  • subheader: sort items correctly in browsers that dont support true/false (d8e5079e, closes #438)
  • tabs: remove tabs all at once on controller destroy (7237767d, closes #437)

0.4.1 (2014-10-15)

Version 0.4.1 changes the prefix for all services and directives from 'material' to 'md'.

To migrate your code, replace all instances of 'material' in your project with 'md':

sed -i '' 's/material/md/g' $(echo my-material-project/app/**/*.{js,html,css})

Additionally, material-linear-progress has been renamed to md-progress-linear and material-circular-progress has been renamed to md-progress-circular.

angular-aria is now a dependency. Be sure to include angular-aria.js before angular-material. See https://github.com/angular/bower-material#usage.

0.4.0 (2014-10-06)

Version 0.4 incorporates four (4) new components: circular progress, subheader, tooltip and bottom sheet. A new API has also been introduced for $materialDialog and $materialToast. Additionally, many small component functionality and performance issues have been resolved.

v0.4 is tested on desktop Chrome, Safari and Firefox, as well as Android 4.4+ and iOS7.

Breaking Changes

The services $materialDialog and $materialToast have changed API(s). See section at bottom for Change Details.

Bug Fixes

  • button:
    • no underline when button has a href (948aef0d)
    • disabled raised and fab buttons don't hover on focus (6d0ca8fb, closes #358)
  • checkbox: resolve TypeError for inputDirective.link (4da56732)
  • dialog: cancel instead of hiding when user escapes/clicks out (0cc21d47)
  • interimElement: make cancel and hide not fail when no element is shown (6162156d)
  • progress-linear: Add aria, tests and better animations (3b386276, closes #297)
  • radio: Radio button a11y (05ed42de, closes #310)
  • toolbar: Demo correct heading levels (fd7697d6)
  • ripple:
    • make detach method work properly (c3d858a2)
    • ripple container self-removal NPE fixed. (664ab996)
  • sidenav:
    • add display: none; while closed (8f104012, closes #300)
    • always leave >=56px of room, no matter the screensize (13a26670, closes #346)
  • slider: discrete mode supports live dragging and snap-to (b231f1c0, closes #331)
  • textfield:
    • ng-model bindings now working and demo rendering fixed. (e8f456fc)
    • match float-label (light theme) specifications (63eeb47f)

Features

  • progress-circular: Add circular progress component (07d56533, closes #365)
  • subheader: add subheader component with sticky scroll (7787c9cc, closes #216)
  • tooltip: add tooltip component (9f9b0897, closes #354)
  • bottomSheet add bottomSheet component (3be359c)

#### Details on Breaking Changes

1) $materialDialog:

Change your code from this:

var hideDialog = $materialDialog(options);
hideDialog();

To this:

$materialDialog
  .show(options)
  .then(
  function success(response) {},
  function cancelled(reason) {}
   );

// Hides the dialog last shown with `show()`
// and resolves the show() promise with `response`

$materialDialog.hide(response);

// Hides the dialog last shown and rejects the `show()`
// promise with the `reason`

$materialDialog.cancel(reason);

Note: If you previously provided a controller option to $materialDialog, that controller would be injected with a $hideDialog function. This feature no longer exists; use $materialDialog.hide().


2) $materialToast:

Change your code from this:

var hideToast = $materialToast(options);
hideToast();

To this:

$materialToast
  .show(options)
  .then(
  function success(response) {},
  function cancelled(reason) {}
  );


// Hides the dialog last shown with `show()`
// and resolves the show() promise with `response`

$materialToast.hide(response);

// Hides the dialog last shown and rejects the `show()`
// promise with the `reason`

$materialToast.cancel(reason);

Note: If you previously provided a `controller` option to `$materialToast`, that controller would be injected with a `$hideToast` function. This feature no longer exists; use `$materialToast.hide()`.

v0.0.3 (2014-09-19)

v0.0.3 includes many bug fixes, performance, and usability improvements to existing components, as well as introducing the slider, switch, divider, and linear progress components.

Additionally, accessibility support is added to material-button, material-checkbox, material-radio-button, material-slider, material-dialog and material-list. With added ARIA support including roles, states and properties, Angular Material directives now also communicate to users of assistive technologies. Additionally, tabIndex and focus management are handled dynamically where appropriate.

0.0.3 is tested on desktop Chrome, Safari and Firefox, as well as Android 4.4+ and iOS 7+. Also tested with VoiceOver on OSX and iOS7, ChromeVox, JAWS, NVDA and ZoomText.

Bug Fixes

  • button: don't use angular transclusion at all, manual only (6b322729)
  • card: make it use up proper width with margin (f33185ff, closes #247)
  • demo: tab demos improved layout and accessibility (8915c324)
  • dialog: use position:fixed instead of absolute (6ba874d8, closes #249)
  • iterator: update add()/remove() logic (6a596b32)
  • material-dialog: Focus mgmt, ARIA attributes (fe054ae6)
  • material-list: Add semantics (6e48cd35)
  • material-slider: Adds missing ARIA role (903cbc06)
  • ripple:
    • fix bug with ripple and many clicks (c2105c05)
    • make checkbox only scale up to 1.0, looks good on ios (ed65da9b)
    • use css animations for performance (96014e08)
  • slider: watch ngDisabled expr on non-isolate parent scope (5f1923d5, closes #272)
  • switch: correctly adjust when label will not fit on one line (e912a838, closes #80)
  • tabs:
    • make the ink ripple use the color of the ink bar. (c5ca159a, closes #280)
    • don't paginate on initial load when width is 0 (5f5435d1, closes #271)
    • use position: absolute container to fix ios bugs (7d0a282f, closes #220)
    • Tab pagination/selection now works properly on iOS (3410650d, closes #220, #231)
    • Tab pagination/selection now works properly on iOS (c77c0e26, closes #220, #231)
    • remove window resize listener on $destroy (4b887f1e, closes #254)
  • toolbar:
    • make scrollShrink work with transforms, better performance (cf1ab59f, closes #295)
    • typo onScroll -> onContentScroll (cf31b1a5)

Features

  • add hammerjs dependency (e383e4f4)
  • $materialToast: add swipe-to-close functionality (22285dc4)
  • divider: add implementation of the divider component (e3aceeae, closes #194)
  • docs: added support for the doc app to show its associated Git SHA id/link (02d2e5d2)
  • progressLinear: Add linear progress indicator (f87d0452, closes #187)
  • material-dialog: on open focus .dialog-close or the last button (8f756fc6, closes #222)
  • material-switch: add switch component (4975c743, closes #80)
  • slider: add full-featured slider component (5ea4dbc2, closes #260, #31)
  • switch: add focus styles (8878ca7a)
  • tabs: improvements to pagination, disabled tabs, and tab navigation. (b4244bf3)