Releases: angular/components
denim-antipode
Highlights
- The
MatNavTabBarnow support tab pagination, a long-requested feature. CdkDragnow supports scrolling the viewport when an item is dragged near the edge.
Bug Fixes
- card: disable all animations when using NoopAnimationsModule (#11538) (11a4ff0), closes #10590
- drag-drop: fix drag start delay behavior to allow scrolling (#16228) (738f10c), closes #16224
- drag-drop: return up-to-date position if getFreeDragPosition is called while dragging (#16464) (1540391)
- expansion: incorrect margin for "before" indicator when expanded (#16420) (98a231d)
- menu: keyboard controls not respecting DOM order when items are added at a later point (#11720) (49e8c59), closes #11652
- overlay: incorrectly calculating position when page is scrolled horizontally and overlay is anchored to the right (#16235) (f61730a), closes #16009
- overlay: OverlayKeyboardDispatcher (used in dialog and overlay
and available in the CDK) now listens on bubbling/propagation phase
instead of capture phase. This means that overlay keydown handlers
are now called after any applicable handlers inside of an overlay,
and it respects any stopPropagation() calls from inside the overlay.
Features
- a11y: allow for element to be used as message in AriaDescriber (#16118) (8c4f25f), closes #16099
- common: Add dev-mode sanity check for mismatched versions of cdk and material (#15395) (ffad004)
- drag-drop: add support for automatic scrolling (#16382) (207dba6), closes #13588
- expansion: allow expansion toggle indicator positioning (#16257) (c3eac17)
- radio: add provider for default color input (#15811) (5c51301)
- schematics: add font-display query (#16363) (43a01e9)
- style: allow palettes to specify a separate hue for colored text (#15149) (15038e3), closes #15148
- tabs: support pagination in nav bar (#16055) (aa22368), closes #2177
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:
_ngZoneand_platformparameters inMatTabHeaderconstructor are now required. - tabs:
changeDetectorRefparameter inMatTabBodyconstructor is now required. - expansion: The
_documentand_animationModeparameters are now required. - list:
_elementRefparameter inMatListconstructor is now required. - list:
_changeDetectorRefparameter inMatListItemconstructor is now required. Also the order of constructor parameters has changed. - progress-spinner: The
animationModemode parameter is now required in theMatProgressSpinnerandMatSpinnerconstructors. - progress-spinner: The
_elementRefparameter has changed fromElementRef<any>toElementRef<HTMLElement>in theMatProgressSpinnerandMatSpinnerconstructors. - button:
_platformparameter has been removed from theMatButtonconstructor and the_animationModeis now required. - button:
platformparameter has been removed from theMatAnchorconstructor and theanimationModeis now required. - button: The
disabledhosting binding forMatButtonhas changed from a property to an attribute, which
affects any tests usingDebugElement.attributes. - badge:
_documentparameter has been removed and the_rendererparameter is now required in theMatBadgeconstructor.
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/material2toangular/components - All files under
src/libhave 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:
_ngZoneand_platformparameters inMatTabHeaderconstructor are now required. - tabs:
changeDetectorRefparameter inMatTabBodyconstructor is now required. - expansion: The
_documentand_animationModeparameters are now required. - list:
_elementRefparameter inMatListconstructor is now required. - list:
_changeDetectorRefparameter inMatListItemconstructor is now required. Also the order of constructor parameters has changed. - progress-spinner: The
animationModemode parameter is now required in theMatProgressSpinnerandMatSpinnerconstructors. - progress-spinner: The
_elementRefparameter has changed fromElementRef<any>toElementRef<HTMLElement>in theMatProgressSpinnerandMatSpinnerconstructors. - button:
_platformparameter has been removed from theMatButtonconstructor and the_animationModeis now required. - button:
platformparameter has been removed from theMatAnchorconstructor and theanimationModeis now required. - badge:
_documentparameter has been removed and the_rendererparameter is now required in theMatBadgeconstructor.
suede-banana
spidersilk-barbell
Project setup
@angular/materialnow 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]...