Skip to content

Releases: angular/components

denim-antipode

16 Jul 18:50
8dffd8e

Choose a tag to compare

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

02 Jul 21:39
eba596c

Choose a tag to compare

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

  • drag-drop: use narrower check for touch events (#16082) (b7aa763)

yarn-barn

10 Jun 16:15
b4a7d9f

Choose a tag to compare

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

  • popover-edit (experimental): accessible row hover content (#15917) (c979484)
  • popover-edit (experimental): Helper class to reduce form state preservation boilerplate (#15939) (3bc6020)

osmium-octothorpe

28 May 23:17
df926c1

Choose a tag to compare

Bug Fixes

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 in MatTabHeader constructor are now required.
  • tabs: changeDetectorRef parameter in MatTabBody constructor is now required.
  • expansion: The _document and _animationMode parameters are now required.
  • list: _elementRef parameter in MatList constructor is now required.
  • list: _changeDetectorRef parameter in MatListItem constructor is now required. Also the order of constructor parameters has changed.
  • progress-spinner: The animationMode mode parameter is now required in the MatProgressSpinner and MatSpinner constructors.
  • progress-spinner: The _elementRef parameter has changed from ElementRef<any> to ElementRef<HTMLElement> in the MatProgressSpinner and MatSpinner constructors.
  • button: _platform parameter has been removed from the MatButton constructor and the _animationMode is now required.
  • button: platform parameter has been removed from the MatAnchor constructor and the animationMode is now required.
  • button: The disabled hosting binding for MatButton has changed from a property to an attribute, which
    affects any tests using DebugElement.attributes.
  • badge: _document parameter has been removed and the _renderer parameter is now required in the MatBadge constructor.

mercury-melody

24 May 23:45
eef132b

Choose a tag to compare

mercury-melody Pre-release
Pre-release

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

13 May 19:08
94c27b5

Choose a tag to compare

rust-rhubarb Pre-release
Pre-release

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

29 Apr 16:55
f21d1ae

Choose a tag to compare

plastic-portal Pre-release
Pre-release

Project Organization

  • The repo name has changed from angular/material2 to angular/components
  • All files under src/lib have been moved under src/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

15 Apr 22:55
52544b2

Choose a tag to compare

helium-blockade Pre-release
Pre-release

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 in MatTabHeader constructor are now required.
  • tabs: changeDetectorRef parameter in MatTabBody constructor is now required.
  • expansion: The _document and _animationMode parameters are now required.
  • list: _elementRef parameter in MatList constructor is now required.
  • list: _changeDetectorRef parameter in MatListItem constructor is now required. Also the order of constructor parameters has changed.
  • progress-spinner: The animationMode mode parameter is now required in the MatProgressSpinner and MatSpinner constructors.
  • progress-spinner: The _elementRef parameter has changed from ElementRef<any> to ElementRef<HTMLElement> in the MatProgressSpinner and MatSpinner constructors.
  • button: _platform parameter has been removed from the MatButton constructor and the _animationMode is now required.
  • button: platform parameter has been removed from the MatAnchor constructor and the animationMode is now required.
  • badge: _document parameter has been removed and the _renderer parameter is now required in the MatBadge constructor.

suede-banana

08 Apr 19:45
73c4bed

Choose a tag to compare

suede-banana Pre-release
Pre-release

Features

  • run v8 migration schematics for v8 beta and rc releases (#15753) (bb5d544)

spidersilk-barbell

05 Apr 22:18
f4d0ab5

Choose a tag to compare

spidersilk-barbell Pre-release
Pre-release

Project setup

  • @angular/material now has an explicit peer dependency on @angular/forms.
    It was always required, but is now correctly listed in the package.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]...
Read more