Releases: angular/components
vantablack-glowstick
denim-antipode
Highlights
- The
MatNavTabBar
now support tab pagination, a long-requested feature. CdkDrag
now 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:
_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.