* 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)
* When the select is focused and is also required, the asterisk of the select should use the accent palette. Similar to the Material Design input specifications.
Fixes#5496
* Switches the progress spinner component to `OnPush` change detection.
* Removes a workaround for older Angular 2.x versions where inherited lifecycle hooks weren't being called.
* Fixes some wrong terminology in the spinner demo.
Relates to #5035.
This is something I noticed while working on the nested menus: We're subscribing to the `close` event internally inside the menu trigger, but we're never unsubscribing. These changes complete the observable so we don't have to unsubscribe manually.
* The PromiseCompleter is not used anywhere and in reality everbody can implement such a thing on his own. Also since there is the best practice to resolve/reject the promise while being inside of the anonymous function.
* The root tsconfig file used to have proper autocompletion in editors like WebStorm is currently not working correctly. The path to the `@angular/cdk/testing` package is mapped to a non-existing folder.
* Now TSLint starts reporting unused variables again (Rule has been un-deprecated and now uses the type checker
* In favor of linting the whole project the tsconfig file inside of `src/` needs to live in the project root.
* includes @angular/cdk in github material installation instructions
* Mention the latest builds instructions
Add the latest builds instructions in the installation section (Step 1).
* Delete the installation section
The Getting Started section has all the information necessary to proceed with installations: https://github.com/angular/material2/issues/5552#issuecomment-313581831
* Switches the snack bar component to `OnPush` change detection.
* Removes the `detectChanges` workaround for the choppy animations, because it no longer works with `OnPush`. Properly fixes the initial issue by providing a `void` animation state.
Relates to #5035.
* fix(tooltip): remove native event listener on component destroy
Component should clean up events it has registered to.
Closes#4499
* Break at higher syntactic level
* Undo accidental formatting
Fixes an issue that caused the wrong amount of options to be read out by NVDA. E.g. if the select has 3 options, NVDA reads out "<value> selected, 2 of 4". The issue seems to come from the fact that NVDA considers the trigger as one of the options, potentially because it's clickable.
Uses the menu panel's overlay position to determine the animation origin, instead of the trigger. These changes make it easier to follow and avoid having to correct it explicitly based on the `overlapTrigger` flag, in addition to fixing some issues in nested menus.
* With #5429 dgeni runs twice when running the `gulp docs` command. This is because the dgeni generate function has been added to the `dgeni/index.js` file.
* Most of the `whenStable()` promise calls can be replaced with the `flushMicrotasks` method, which just flushes them instead of waiting for them to really happen (when using `async`).
* This reduces nesting of functions and also makes the tests in theory faster.
* Fixes a server-side rendering error in the ink bar due to a lack of `requestAnimationFrame`. The error is being logged, but it didn't fail the build, because it happens in a lifecycle hook.
* Enables the checkbox and button toggle cases in the kitchen sink since it looks like they're not failing anymore.
* Deletes the duplicate testing utilities because #5386 just copied them to the CDK but didn't delete the old files.
* Introduces a secondary entry point (only inside of development right now) that allows us to use the testing utilities from the Material package tests
* Currently the build won't fail if an error is thrown inside a lifecycle hook, because `platform-server` writes it to STDERR, but still exits with a 0 code. These changes set up the Universal testing task to fail for these cases as well. This should prevent issues like #5455 in the future.
* Stops logging the entire rendered document after the prerender task is done. This makes the log a bit easier to look through.
* At some point the `@types/rx` package has been added as a dependency on the project. The `@types/rx` are not for the RxJS implementation that Angular uses. Also RxJS provides typings on it's own since it's build using TypeScript.
* instead of using a complex RegExp that will likely break at some point in the future, we are switching to a single-line NodeJS script to resolve the version.
Fixes failures in the `FocusOriginMonitor` tests on IE, if the browser is in focus. The issue comes from the fact that IE will trigger the `focus` handlers asynchronously, whereas other browsers are synchronous. Here's an example log:
```
IE 11.0.0 (Windows 10 0.0.0) LOG: 'dispatching events'
IE 11.0.0 (Windows 10 0.0.0) LOG: 'making assertions'
IE 11.0.0 (Windows 10 0.0.0) LOG: 'focus event fired'
-----------------------------------------------------------
Chrome 59.0.3071 (Windows 10 0.0.0) LOG: 'dispatching events'
Chrome 59.0.3071 (Windows 10 0.0.0) LOG: 'focus event fired'
Chrome 59.0.3071 (Windows 10 0.0.0) LOG: 'making assertions'
```
The issue only happens when the browser is focused, because the `patchElementFocus` function will override the native `focus` method with a synchronous one only if the browser is **not** focused. These changes make it so the native event is always overwritten, in order to make the tests a little more predictable. Also switches all the tests from `async` to `fakeAsync` to avoid using `setTimeout` in tests.
When serving the demo-app the Material package will be watched using the generated `material:watch` task. This does not mean that the `cdk:watch` task will run too because Material depends on the CDK.
With this change, the watch task will now also run the watch tasks of the packages it depends on.