The dependency on `tsc-wrapped` should be added explicitly. Our tooling uses the `@angular/tsc-wrapped` package directly and it currently only works because the `@angular/compiler-cli` has a dependency on it.
If not specified explicitly, the `@angular/tsc-wrapped` dependency might be a local dependency of the compiler-cli and our tooling won't be able to access it anymore.
* Renames the e2e test file to match the pattern of `{{component}}-e2e.spec.ts`.
* Flattens the directory structure in the `e2e` directory. Having a separate dir for each component was overkill since only have one file per component.
* Fixes some inconsistent code styles in the Protractor config.
Fixes#5030.
Monkey-patches TestBed.resetTestingModule such that any errors that occur during component destruction are thrown instead of silently logged. Also runs TestBed.resetTestingModule after each unit test.
Without this patch, the combination of two behaviors is problematic for Angular Material:
- TestBed.resetTestingModule catches errors thrown on fixture destruction and logs them without the errors ever being thrown. This means that any component errors that occur in ngOnDestroy can encounter errors silently and still pass unit tests.
- TestBed.resetTestingModule is only called *before* a test is run, meaning that even *if* the aforementioned errors were thrown, they would be reported for the wrong test (the test that's about to start, not the test that just finished).
* build: fix missing prebuilt themes
* Fixes that the prebuilt themes are not copied over to the release output.
* Introduces two more checks (specifc for material) in the validate-release task
* Fixes that the generation of the theming SCSS bundle happens outside of gulp.
Fixes#5038
* Logic improvements.
Fixes a silent error that was being logged by IE when running the snack bar tests. It seems to be due to the specific test case not triggering change detection and not passing in a `viewContainerRef` so it could be triggered automatically.
Currently, some of the datepicker tests will fail if the browser's locale is different from en-US. These changes set the locale to en-US in order to avoid potential issues in the future.
Removes some premature optimization that was being done via `will-change` in the elevation styles. [As per MDN](https://developer.mozilla.org/en/docs/Web/CSS/will-change), we should be careful about how we use `will-change` since it could end up hurting performance.
* Reworks the typography mappings to avoid excessively large headers. Previously the `display-*` breakpoints were mapped to `h*` elements, which was inaccurate. Now the `display-*` breakpoints aren't mapped to anything and the headers start from the `headline` breakpoint.
* Replaces the `subheader` breakpoint with `subheader-2` and `subheader-1`. `subheader-2` correspond to the old `subheader`.
* Adds margins to the headers and paragraphs.
* Adds aliases that correspond exactly to the terminology from the spec.
Removes the overlay that gets added when tapping on something on a mobile Webkit browser. It is unnecessary in our case, because we render a ripple and we have an overlay that darkens focused buttons.
Removes an unnecessary `touchstart` listener on the button toggle. It was initially added to prevent it from capturing user events, however it's no longer necessary, because we have `pointer-events: none` on the element. This also fixes a warning that is being logged by Chrome.
Fixes#4221.
* Recently Angular core fixed their `noUnusedParameters` warnings in https://github.com/angular/angular/issues/15532
* When using Angular with Material and the users has `noUnusedParameters` enabled the library will be checked and will throw.
Fixes#4443
* fix(checkbox): margin for empty checkboxes incorrectly added
With #2121 the margin will be removed for checkboxes that don't have any label set.
A problem is that the Checkbox uses the OnPush change detection strategy and therefore the checkbox is not able to detect any delayed / async label change.
This means that checkboxes that set their label from an async binding will not have any margin until the users clicks on the checkbox.
Using the `cdkObserveContent` seems to be an elegant approach when using the OnPush strategy.
The `:empty` CSS selector would be more elegant but it's very sensitive about whitespaces and therefore it doesn't work properly.
Fixes#4720
* Updates
* With the typography the slide-toggle was switched accidentally from a font-weight of 500 to a font-weight of 400.
* The slide-toggle label should not be treated as a button because it's basically a normal body text.
* fix(autocopmplete): regex metacharacter escape
autocomplete material example fails if regex metacharacter (ie *) is provided. Fixed by adding escapeSpecChars function
* Update autocomplete-overview-example.ts
* fix(autocopmplete): regex replaced with includes
* Extra newline removed
* Update autocomplete-overview-example.ts
* feat(select): add md-optgroup component
Adds the `md-optgroup` component, which can be used to group options inside of `md-select`, in a similar way to the native `optgroup`.
Fixes#3182.
* fix: address feedback
* fix: address feedback