* Switches the MdPseudoCheckbox, MdOption and MdOptgroup to OnPush change detection.
* Fixes a few cases in MdOption where the UI state wasn't being updated properly.
Relates to #5035.
* In some situations, developers will change the `id` of a component dynamically. At some point if they set the `[id]` to `null` the input id will look like the following: `null-input`.
* If developers are setting the `id` using a binding then the DOM Id for the host component won't be set at all (because the @Input is triggered instead of the DOM property)
Fixes#5394
* feat(snack-bar): inject data and MdSnackBarRef into custom snack-bar component
* Injects the `MdSnackBarRef` into custom snack bar instances.
* Adds the option to inject arbitrary data into a snack bar.
* Turns the `DialogInjector` into a `PortalInjector` to allow it to be used elsewhere (e.g. the snack-bar).
* Minor tweaks to the `SimpleSnackBar` to get it to use the new DI tokens instead of assigning data directly to the component instance.
Fixes#5371.
Allows for the typography config to be specified optionally through the `mat-core` mixin, avoiding some of the extra bloat that comes from overriding the typography after a theme is defined.
Fixes#5589.
* Updates the dashboard and screenshot deploy script to exit the process immediately if the Firebase token is not set.
* Fixes that the error message of the dashboard still shows the old name of the token variable
* Renames the screenshot variables to follow the dashboard environment variables
* Explicitly specifies the project that will be uploaded in the screenshot deploy script (same as for dashboard)
* Fixes the stylelint deprecation warning
* Fixes that stylelint lints the compiled bundles from `dist/` folders of the `dashboard` or `screenshot` app
* Updates the package-lock with NPM@5.1
Currently every deployment runs in a single Travis job concurrently. This messes up the logs and it's also hard to see what actually runs at all.
The different deployment jobs should run concurrently in the deploy build stage.
* The getting started guide includes a brief section for the SystemJS configuration of a project using Angular Material. This extra section now also needs to include the CDK package.
Fixes#5624
Recently the rollup globals have been changed because the operators are no longer applied to the prototype (using `/add/` imports).
This now causes some warnigns and invalid id's in the bundles of the Material examples because those still use the `/add/` imports in some examples.
* Fixes the dashboard deployment to Firebase. Currently the deployment is being cancelled because the functions are having compilation errors (due to TypeScript definition updates of `express`)
The dashboard payload size chart showed invalid curves for the Material and CDK package size. This happened because there were multiple different values for the same day (multiple PRs merged into master at the same day). Removing the duplicate values and only taking the last result of the day ensures that the curve is always correct and also makes the chart way better in performance.
Uses the `LOCALE_ID` from `@angular/core` to determine the default locale in the `NativeDateAdapter`.
BREAKING CHANGE: Until now, the `NativeDateAdapter` was using the browser locale, however the `LOCALE_ID` appears to default to `en-US`.
Fixes#5393.
* Add ability to disable datepicker pop-up in read-only mode.
* Change readOnly to disabled
* Added ability to disable datepicker toggle when the input is disabled.
* Lint edits
* Failed test fixes
* Allow disabled input to disable popup unless specified otherwise for
datepicker.
* Minor comment edits
* Added host bindings and changed delegation logic.
* Added tests for cascade and removed async testing.
Fixes an error that was being thrown when attempting to close the panel of an autocomplete that is inside a destroyed view. The issue is that `closePanel` can end up getting called multiple times in a row, which leads to an attempt to call `detectChanges` on a destroyed `ChangeDetectorRef`.
Fixes#5413.
If the user has an `md-select` with an `ngModel` that doesn't have a name inside a form, the forms module will throw an error, however Material will also start throwing errors, which may cause confusion. These changes add a null check so our errors don't get mixed up with the forms error.
Fixes#5402.
* The input module currently depends on the forms module. This is not necessary, because the input is able to work without `NgModel` or a `FormControl` as well.
* Currently the slide-toggle module always imports the `FormsModule` and therefore when treeshaking the `FormsModule` would be always included (even if FormsModule is not used at all)