Releases: angular/components
metal-mushroom
Bug Fixes
- autocomplete: alt + up arrow to close panel not working (#15364) (219ad33)
- bottom-sheet: DOM nodes not cleaned up if view container is destroyed mid-animation (#16349) (f8d32fe), closes #16309
- breakpoint-observer: fix the breakpoint observer emit count and accuracy (#15964) (43b2df6), closes #10925
- checkbox: hover indication showing when disabled (#16159) (bd52ce0), closes #16157
- chips: disable all animations when using NoopAnimationsModule (#11546) (7fc7da1), closes #10590
- datepicker: align multi-year-view based on minDate and maxDate (#16018) (400a95b), closes #10646
- dialog: DOM nodes not cleaned up if view container is destroyed mid-animation (#16309) (a9a266a), closes #16284
- dialog: don't move focus to dialog container if focus is already inside the dialog (#16297) (62447be)
- dialog: not moving focus to container if autoFocus is disabled and focus was moved from a different component (#16221) (2669b90), closes #16215
- expansion-panel: header animating on init when using non-default height (#16122) (f58840c), closes #13088 #16067
- list: matching item not preselected if added after init (#16080) (90b1d5d), closes #16062
- ng-update: do not rely on node-glob for finding rule directories (#16381) (6732be5), closes #16208
- overlay: events not being unbound from destroyed backdrop (#16268) (c0efe17)
- popover-edit: remove fallthroughs in switch statement (#16281) (14246de)
- tabs: disable all animations when using NoopAnimationsModule (#11395) (91326e9), closes #10590
Performance Improvements
yarn-barn
Bug Fixes
- drag-drop: error if drag sequence is started while another one is finishing (#16081) (23df7aa)
- drag-n-drop: ignore consecutive touchmove events on drag item on multitouch (#15923) (208d43f)
- prevent default on escape key presses (#16202) (0871d88)
- ng-update: fix table generator schematic (#16204) (7386ea1)
- ng-update: do not report form-field breaking change from v6 (#16161) (7b78cb7), closes #16143
- ng-update: parse cli workspace config as json5 (#16218) (0fe2711)
- overlay: stop using capture phase for overlay keyboard handling (#16019) (67b3e5f), closes #9928
- popover-edit: unable to change type of popover buttons (#16058) (ba9fd14)
- progress-spinner: non-default diameter indeterminate animation not working inside Shadow DOM (#16177) (e391869)
- scrolling: virtual scroll throw off if directive injects ViewContainerRef (#16137) (af56441), closes #16130
- bottom-sheet: allow for scroll strategy to be configured (#15535) (4d0d080), closes #15533
Features
osmium-octothorpe
Bug Fixes
- ng-update: do not always use double quotes for generated imports (#16131) (a3856c7), closes /github.com/microsoft/TypeScript/blob/6a559e37ee0d660fcc94f086a34370e79e94b17a/src/compiler/emitter.ts#L3796-L3797 #14532
Deprecations
Importing directly from the root @angular/material
entry-point is deprecated. You should instead
import from specific entry-points, e.g. @angular/material/button
. This aligns with @angular/cdk
,
makes clear where symbols originate, and helps safeguard against including unused code. The
deprecated style will be removed in Angular v9.
Angular CLI users can use ng update @angular/material
to automatically migrate imports to the new
style.
Breaking Changes (including changes from RC)
- tabs:
_ngZone
and_platform
parameters inMatTabHeader
constructor are now required. - tabs:
changeDetectorRef
parameter inMatTabBody
constructor is now required. - expansion: The
_document
and_animationMode
parameters are now required. - list:
_elementRef
parameter inMatList
constructor is now required. - list:
_changeDetectorRef
parameter inMatListItem
constructor is now required. Also the order of constructor parameters has changed. - progress-spinner: The
animationMode
mode parameter is now required in theMatProgressSpinner
andMatSpinner
constructors. - progress-spinner: The
_elementRef
parameter has changed fromElementRef<any>
toElementRef<HTMLElement>
in theMatProgressSpinner
andMatSpinner
constructors. - button:
_platform
parameter has been removed from theMatButton
constructor and the_animationMode
is now required. - button:
platform
parameter has been removed from theMatAnchor
constructor and theanimationMode
is now required. - button: The
disabled
hosting binding forMatButton
has changed from a property to an attribute, which
affects any tests usingDebugElement.attributes
. - badge:
_document
parameter has been removed and the_renderer
parameter is now required in theMatBadge
constructor.
mercury-melody
Bug Fixes
- badge: throw proper error when set on a non-element node (bdc6811)
- button: ripples not being clipped to border radius on safari (#13645) (6643735)
- checkbox: incorrect ripple color when unchecked (#13569) (b4a9c62)
- chips: able to remove disabled chip via remove button (#15732) (20a0930), closes #15708
- chips: chip-list doesn't pick up wrapped chips with ivy (7f12235)
- datepicker: use narrower value for aria-haspopup (#15666) (0c62798)
- ng-update: type imports not migrated to secondary entry-points (#16108) (dc51691)
- popover-edit (experimental): rework host listeners to account for changes in Ivy (#16060) (558295b)
- popover-edit (experimental): incorrect template root note retrieved in ivy (5bf0487)
- schematics: avoid lint warning in code generated by nav schematic (#16088) (6c7fd30), closes #16085
- slide-toggle: focus ripple not hiding after click/touch (#13562) (917a52e), closes #13295
- table: better error message if text column is missing a name (254fb49)
- table: error in Ivy for coerced multiTemplateDataRows (#16047) (5259f22), closes #16044
- table: schematic generates code that throws an exception (#15800) (301371a), closes #15788
- table: text-column throws if name input is set eagerly with ivy (e774692)
rust-rhubarb
Bug Fixes
- checkbox: don't show hover ripples on touch devices (#13700) (43b4fec), closes #13675
- drag-drop: allow for element in DropListRef to be changed (#15091) (e630bd6), closes #15086
- drag-drop: don't allow user to move item into container that isn't connected to current one by passing it over an intermediate one that is (#15660) (1ac9386), closes #15191
- drag-drop: error if item is removed while dragging (#15950) (a632067), closes #15827
- drag-drop: preview element not maintaining canvas data (#15808) (31e72a7), closes #15685
- list: form control cleared when list is destroyed (#16005) (40b335c), closes #15994
- menu: prevent menu from collapsing to less than one item (#15454) (941a0d9)
- overlay: add panelClass from position to the overlay (#15853) (00226f0)
- overlay: allow overlay sass variables to be overwritten (#15507) (b1c10d1), closes #15467
- popover-edit: direction not being passed to overlay (#15951) (7774ae1)
- portal: correct return type of TemplatePortal.attach (#14602) (70bc4d5), closes #14584
- scrolling: virtual scroll not disconnecting from data source on destroy (#15856) (8494f03), closes #15855
- select: optionSelectionChanges not emitting when the list of options changes (#14814) (f6cd86e)
Features
plastic-portal
Project Organization
- The repo name has changed from
angular/material2
toangular/components
- All files under
src/lib
have been moved undersrc/material
Bug Fixes
- autocomplete: make template ViewChild query
static: true
(#15877) (388baa2) - drag-drop: not reacting to changes in the cdkDragFreeDragPosition (#15805) (021b85a), closes #15765
- stepper: Fix visual flake in focusing stepper header (#15870) (8b5c0f1)
Features
helium-blockade
Imminent Important Import Deprecation:
Importing directly from the root @angular/material
entry-point is deprecated. You should instead
import from specific entry-points, e.g. @angular/material/button
. This aligns with @angular/cdk
,
makes clear where symbols originate, and helps safeguard against including unused code. The
deprecated style will be removed in Angular v9.
Angular CLI users can use ng update @angular/material
to automatically migrate imports to the new
style.
Breaking Changes
- tabs:
_ngZone
and_platform
parameters inMatTabHeader
constructor are now required. - tabs:
changeDetectorRef
parameter inMatTabBody
constructor is now required. - expansion: The
_document
and_animationMode
parameters are now required. - list:
_elementRef
parameter inMatList
constructor is now required. - list:
_changeDetectorRef
parameter inMatListItem
constructor is now required. Also the order of constructor parameters has changed. - progress-spinner: The
animationMode
mode parameter is now required in theMatProgressSpinner
andMatSpinner
constructors. - progress-spinner: The
_elementRef
parameter has changed fromElementRef<any>
toElementRef<HTMLElement>
in theMatProgressSpinner
andMatSpinner
constructors. - button:
_platform
parameter has been removed from theMatButton
constructor and the_animationMode
is now required. - button:
platform
parameter has been removed from theMatAnchor
constructor and theanimationMode
is now required. - badge:
_document
parameter has been removed and the_renderer
parameter is now required in theMatBadge
constructor.
suede-banana
spidersilk-barbell
Project setup
@angular/material
now has an explicit peer dependency on@angular/forms
.
It was always required, but is now correctly listed in thepackage.json
.
Bug Fixes
- a11y: don't set aria description if it's the same as the node's aria-label (#15250) (1bc8bc4), closes #15048
- autocomplete: remove old classes when classlist has changed (#15185) (413fe33), closes #15179
- badge: disable animations when using NoopAnimationsModule (#11408) (4614fb8)
- badge: increase font size of small badge (#15280) (2b14952), closes #15251
- bottom-sheet: focus trap not being attached when autoFocus is disabled (#15125) (3787695), closes #15119
- drag-drop: clear duplicate ids from descendants (#15135) (751fe8a), closes #15120
- drag-drop: disabled value not being synced to drop list ref (#15065) (1aafdbe)
- drag-drop: dragged styling not being removed when exiting component with OnPush (#15266) (9bbbb80), closes #15233
- drag-drop: handle delay coming in as a string (#15425) (8bbb116)
- drag-drop: preview not being rendered inside fullscreen element (#15066) (f1e1528), closes #15033
- examples: fix form-field-custom-control (#15147) (83135e1), closes #14810
- icon: clearing user content when svgIcon is bound to falsy value (#15290) (d646266)
- input: no focus on click in IE if clicked outside native control (#15108) (2652532), closes #15093
- layout: breakpoint observer completing unrelated subscribers when preceding subscriber unsubscribes (#14988) (0d054db), closes #14983
- list: changed after checked error with preselected values in selection list (#15388) (d6f2729), closes #15386
- list: not picking up indirect descendant lines (#15552) (a258400), closes #15466
- menu: support focus first/last item via home/end keys (#14896) (0185dd1)
- overlay: flexible position strategy throwing error for empty strings (#14935) (6e52023)
- progress-bar: clear aria-valuenow in indeterminate or query mode (#15019) (a88d053), closes #15016
- progress-spinner: clear aria-valuenow in indeterminate mode (#15052) (dd4257e), closes #15018
- radio: underlying label not expanding to width of radio button (#14895) (677db8c), closes #14894
- schematics: ensure project "style" and "skipTests" options are respected (#15513) (fe6629a), closes #15502
- select: error when navigating via keyboard to reset option on a closed select (#15160) (a115b3a), closes #14540 #15159
- select: update panel width if the viewport size changes (#14932) (78f55ea), closes #7811
- slide-toggle: thumb animation not working on mobile (#15236) (48d17af), closes #15232
- stepper: content not being rendered out initially with ivy (#15485) (876727d)
- table: use default change detection strategy on table (#15440) (f82259b)
- table: use static queries for examples (#15483) (d525f9c)
- tooltip: render style values in ngOnInit instead of the constructor (#15469) (59818d1)
- typography: move header letter spacing into typography config (#15210) (0673574), closes #15197
- add peer dependency on @angular/forms (#15133) (8fc97ac), closes #15085
- mark virtual scroll viewport queries as static (#15346) (e739e61)
- missing tag in footer-row of material table (#15711) (578790b)
Features
- a11y: add injection token configure default politeness and duration (#15126) (e2c9873), closes #15121
- dialog: add ariaLabelledBy config option (#14943) (3e935e9)
- drag-drop: add API to get/set current position of a standalone draggable (#14696) (2f009d0), closes #14420 #14674
- drag-drop: add the ability to customize how the position is constrained (#15137) (4704653)
- drag-drop: add the ability to disable sorting in a list (#15064) (629460f), closes #14838
- drag-drop: allow for dragging sequence to be delayed (#14732) (bcf2781), closes #13908
- menu: allow focus restoration to be disabled (#15205) (dfa40fc), closes #15168
- overlay: allow for scroll strategy to be swapped out (#15067) ([3308187]...
herringbone-harpsichord
Bug Fixes
- bottom-sheet: unable to reopen same bottom sheet after closing via back button (#15520) (aae6972), closes #15510
- chips: remove aria-selected from deselected chip in single selection mode (#15634) (ebbf97e), closes #15617
- error when attempting to access Intl API on some versions of Windows (#15693) (c02b09c), closes #15687
- dialog: remove default aria-label from mat-dialog-close (#15654) (307889e), closes #15542
- form-field: remove nonbreaking space before * for required fields (#15490) (5e7cf22)
- option: Remove aria-selected='false' in single-selection mode (#15617) (61a608b)
- schematics: use ngAfterViewInit instead of ngOnInit in table (#15446) (9c34b97)
- sidenav: some internal subjects not being completed (#15567) (073e542)