Removes the flexible positioning, which is on by default, from the autocomplete, because we don't want the panel to be flexible when it hits the edge of the viewport.
Handles the edge case where the bounding box styles won't be set correctly, causing the overlay to jump to a wrong position, if either of its values works out to exactly zero.
* Fixes the bounding box position and height being calculated incorrectly when the overlay's content is flowing upwards and the page has been scrolled down.
* Fixes the "when scrolled" tests not scrolling the page down.
In the `FlexibleConnectedPositionStrategy` once we apply a position, we save a reference to it in order to be able to reuse it if the consumer wants to recalculate the overlay dimensions, however that cached position isn't being cleared. This means that if consumer were to provide a new set of positions and tried to re-apply the last calculated position, the cached position may no longer be a part of the list of preferred positions. These changes will clear the last position if it's not a part of the preferred positions anymore.
Relates to #10457.
* Currently buttons with a background color (e.g. flat buttons, raised buttons, fabs) receive a font color by the theme. This font color is accidentally being overwritten by the normal button CSS that sets the `color` for every button to `inherit`. This can cause the text to be invisible in a dark theme. From now on, those buttons will no longer inherit the font color accidentally.
* Normal buttons, stroked buttons and icon buttons will still inherit the font color, because it's wrong to assume that those buttons are always placed inside of containers with the default background color. Otherwise those buttons would be invisible in some containers with a different background color (e.g. in a themed toolbar).
* Removes the SSR check for `hasHostAttributes`. This method is essential for the color of the buttons, and needs to run inside of SSR. (now possible with Domino anyway)
* Cleans up the button theme while being at it.
Fixes#4614. Fixes#9231. Fixes#9634
Adds the `MAT_CHIPS_DEFAULT_OPTIONS` injection token that allows consumers to override `separatorKeyCodes`, as well as any other options that we decide to add in the future, for the entire module.
Fixes#10256.
Removes a typography variable that's been deprecated for a while.
BREAKING CHANGES:
* The `$mat-font-family` variable has been removed. Use the Material typography or redeclare in your project `$mat-font-family: Roboto, 'Helvetica Neue', sans-serif;`.
Switches the autofill monitor to run outside the `NgZone`, because it toggles classes on the element directly and it has the potential of being fired very often if the user has other animations on the element. Also adds a description to an output that is part of the public API.
* Fixes the badge transition not working due to the `transition` declaration being invalid (no units on the duration).
* Fixes the badge animating all properties rather than only the `transform`.
* Avoids blurry text in IE.
Makes the `_ngZone` parameter in `CdkTextareaAutosize` a required one. This was intended as a deletion target, but we hadn't set up deletion targets when it was added.
BREAKING CHANGES:
* The `_ngZone` parameter in the `CdkTextareaAutosize` constructor is now required.
Removes the deletion targets for 6.0.0 from `material/datepicker`.
BREAKING CHANGES:
* `selectedChanged` has been removed. Use `dateChange` or `dateInput` from `MatDatepickerInput`.
Removes the deletion targets for 6.0.0 from the `material/button-toggle` entry point.
BREAKING CHANGES:
* `selected` is no longer an input and is now readonly.
Fixes a couple of positioning unit test failures on iOS Safari after the switch to the flexible connected position. The issue appears to be a combination of us stubbing out the `ScrollDispatcher` for all tests which means that if one test scrolls the window down, any subsequent tests won't pick up the scroll position correctly, as well as having a test that scrolls the page down, but doesn't reset it. These changes:
* Reset the position back to the top after the scrolling test is done.
* Rework the tests to only stub out the `ScrollDispatcher` in the two tests where it's relevant.
Removes the `SHOW_ANIMATION` and `HIDE_ANIMATION` variables from the snack bar which were being exported all the way up to `@angular/material` and were implying that these are generic show and hide animations.
BREAKING CHANGES:
* `SHOW_ANIMATION` has been removed.
* `HIDE_ANIMATION` has been removed.
Removes the `material/icon` deletion targets for 6.0.0.
BREAKING CHANGES:
* The `_document` parameter in the `MatIconRegistry` constructor is now required.
Removes the 6.0.0 deletion targets from `material/list`.
BREAKING CHANGES:
* `selectionChange` on the `MatListOption`, which was deprecated in 5.0.0 has been removed. Use `selectionChange` on the `MatSelectionList` instead.
* `MatListOptionChange` which was deprecated in 5.0.0 has been removed.
* Adds the `FlexibleConnectedPositionStrategy` that builds on top of the `ConnectedPositionStrategy` adds the following:
* The ability to have overlays with flexible sizing.
* Being able to push overlays into the viewport if they don't fit.
* Having a margin between the overlay and the viewport edge.
* Being able to assign weights to the overlay positions.
* Refactors the `ConnectedPositionStrategy` to use the `FlexibleConnectedPositionStrategy` in order to avoid breaking API changes.
* Switches all of the components to the new position strategy.
* Adds an API to the `OverlayRef` that allows for the consumer to wrap the pane in a div. This is a common requirement between the `GlobalPositionStrategy` and the `FlexibleConnectedPositionStrategy`, and it's easier to keep track of the elements when the attaching and detaching is done in the `OverlayRef`.
Fixes#6534.
Fixes#2725.
Fixes#5267.
Switches the custom icon example in the stepper to use `mat-icon` instead of the non-existing `custom-icon`. The idea with `custom-icon` was to show that consumers aren't limited to using `mat-icon`, however somebody that is copying from the examples would get a compilation error.
Fixes#10283.
Removes the 6.0.0 deletion targets from the `material/slider` entry point.
BREAKING CHANGES:
* `thumb-label` which was deprecated in 5.0.0 has been removed. Use `thumbLabel` instead.
* `tick-interval` which was deprecated in 5.0.0 has been removed. Use `tickInterval` instead.
Removes the deletion targets for 6.0.0 from the `material/tooltip` entry point.
BREAKING CHANGES:
* `tooltip-position` which was deprecated in 5.0.0 has been removed. Use `matTooltipPosition` instead.
* The `_defaultOptions` parameter in the `MatTooltip` constructor is now required.
* Reworks the `MatButtonToggleGroup` component to remove the need for the `MatButtonToggleGroupMultiple` component and to avoid having to implement features in two places.
* Reworks the `MatButtonToggleGroup` to use the `SelectionModel` for managing its state.
* Switches all of the `async` button toggle tests to run in `fakeAsync`.
As a side-effect of the above-mentioned changes, the toggle group in multiple mode now supports the same inputs as the one in single-selection mode (`value` input/output, `name` input, `change` event etc.).
Note: this is along the same lines as #2773, however #2773 got left behind for too long and it would need a lot more work to fit in our current setup.
Fixes#9058.
Removes the targets marked for 6.0.0 deletion from the `material/select` entry point.
BREAKING CHANGES:
* `onOpen`, which was deprecated in 5.0.0, has been removed.
* `onClose`, which was deprecated in 5.0.0, has been removed.
* `change`, which was deprecated in 5.0.0, has been removed.
Removes the deletion targets for 6.0.0 in the `material/chips` entry point.
BREAKING CHANGES:
* `remove` which was deprecated in 5.0.0 has been removed. Use `removed` instead.
* `destroy` which was deprecated in 5.0.0 has been removed. Use `destroyed` instead.
Removes the deletion targets for 6.0.0 in the `cdk/portal` entry point.
BREAKING CHANGES:
* The `portalHost` and `cdkPortalHost` inputs which were deprecated in 5.0.0 have been removed. Use `cdkPortalOutlet` instead.
Removes the deletion targets for 6.0.0 from the `material/drawer` entry point.
BREAKING CHANGES:
* The `MatDrawerToggleResult` class has been turned into an type.
* The promise returned from `open`, `close` and `toggle` now resolves with the `MatDrawerToggleResult` type rather than the class.
* `align` which was deprecated in 5.0.0 has been removed. Use `position` instead.
* `open` which was deprecated in 5.0.0 has been removed. Use `opened` instead.
* `close` which was deprecated in 5.0.0 has been removed. Use `closed` instead.
* `align-changed` which was deprecated in 5.0.0 has been removed. Use `positionChanged`.
small piece of #10164, split out for presubmit reasons
BREAKING CHANGES:
- dividerColor which was deprecated in 5.0.0 has been removed. Use color instead.
- floatPlaceholder which was deprecated in 5.0.0 has been removed. Use floatLabel instead.
* move autofill to cdk
* move textarea autosize into cdk
* fix bazel build
* rename input to text-field
* set resize back to none for autosize in input css
* fix tsconfig
Removes all of the APIs that were marked for deletion in 6.0.0 from the `cdk/overlay` entry point.
BREAKING CHANGES:
* `ConnectedOverlayDirective` which was deprecated in 5.0.0 has been removed. Use `CdkConnectedOverlay` instead.
* `OverlayOrigin` which was deprecated in 5.0.0 has been removed. Use `CdkOverlayOrigin` instead.
* `hasBackdrop` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayHasBackdrop` instead.
* `open` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayOpen` instead.
* `scrollStrategy` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayScrollStrategy` instead.
* `backdropClass` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayBackdropClass` instead.
* `minHeight` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayMinHeight` instead.
* `minWidth` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayMinWidth` instead.
* `height` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayHeight` instead.
* `width` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayWidth` instead.
* `offsetX` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayOffsetX` instead.
* `offsetY` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayOffsetY` instead.
* `positions` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayPositions` instead.
* `origin` which was deprecated in 5.0.0 has been removed. Use `cdkConnectedOverlayOrigin` instead.
Removes the deletion targets for 6.0.0 from the `material/tabs` entry point.
BREAKING CHANGES:
* `mat-dynamic-height` which was deprecated in 5.0.0 has been removed. Use `dynamicHeight` instead.
* `selectChange` which was deprecated in 5.0.0 has been removed. Use `selectedTabChange`.
Removes the 6.0.0 deletion targets from the `material/checkbox` entry point.
BREAKING CHANGES:
* `align` which was deprecated in 5.0.0 has been removed. Use `labelPosition` instead. Note that the values are different.