Releases: angular/components
silicon-neuron
Highlights
New @angular/youtube-player
package!
Earlier this year, we changed the name of this repo to "angular/components" to emphasisze our goal
to provide more than only Material Design components. The 8.2.0 release includes one of the next new
features in that regard- a new package that wraps the
YouTube Player API for iframe Embeds
in an easy-to-use Angular component.
You can see the
documentation on GitHub
for the time being.
Big thanks to @YourDeveloperFriend for contributing this!
Bug Fixes
- autocomplete: unable to open panel via click inside shadow DOM (#15616) (6e1fe2c), closes #15606
- button: fix typo in comment (#17001) (5fb0d57)
- card: stroked buttons missing margin (#16576) (399ed29), closes #16546
- chips: allow null to be set as chip value (#16950) (57998a2), closes #16844
- chips: preselected chip not highlighted on init inside OnPush component (#16868) (aad7ff7), closes #16841
- drag-drop: connected drop zones not working inside shadow root (#16899) (6009211), closes #16898
- drag-drop: drop list ref sorting disabled by default (#16963) (306e07c), closes #16961
- drag-drop: error if custom preview or placeholder node is not an element (#16409) (8a4bed5)
- drag-drop: handle list and viewport auto scroll regions overlapping (#16675) (792e886), closes #16647
- drag-drop: handle the element going out of the boundary after a viewport resize (#16874) (44b8a47), closes #16536
- drag-drop: incorrectly constraining element position if size changes between drag sequences (#16876) (cad0102), closes #15749
- drag-drop: preview position relative to cursor thrown off if item has margin (#16180) (46cf45f), closes #16171
- drag-drop: unable to drop into connected sibling that was scrolled into view (#16681) (dd59044)
- expansion: show header focus state when expanded (#16486) (7bf5e4e)
- icon: not copying attributes from symbol nodes (#16896) (425eb7e), closes #16892
- icon: use ErrorHandler to log MatIcon errors (#16967) (dccddd9)
- icon: use ErrorLogger to log http errors (#16855) (75686e8)
- menu: keyboard controls not working if all items are disabled (#16572) (d3f63a3), closes #16565
- menu: restore focus immediately when menu is closed (#16960) (bfa1853), closes #16954
- paginator: MatPaginatorIntl will now cause MatPaginator to display an 'EN DASH' (U+2013) rather than a 'HYPHEN-MINUS' (U+002D) by default
- progress-spinner: animation node inserted into wrong style root when using ngIf with ShadowDom encapsulation (#16982) (dadb3e1)
- radio: clear aria attributes from host node (#16938) (237e030), closes #16913
- slider: displayWith function never called with "null" (#16707) (17c8983)
- snack-bar: don't stretch to fullscreen in landscape orientation (#16940) (8d12902), closes #16911
- snack-bar: too tall under some circumstances in Safari (#16679) (e9baa09), closes #16605
- tabs: tab nav bar not highlighting active tab if rendered after init (#16624) (93e9415), closes #16607
- tooltip: avoid adding same aria description as trigger's aria-label (#16870) (1006cc2), closes #16719
Features
- dialog: allow for custom ComponentFactoryResolver to be passed in (#16437) (565bd7d), closes #16431
- dialog: expose current dialog state (#16691) (3f0268f), closes #16636
- dialog: don't override type attribute if set on mat-dialog-close (#16927) (3ee3ecb), closes #16909 #16909
- form-field: allow hideRequiredMarker default value to be configured through the
MAT_FORM_FIELD_DEFAULT_OPTIONS
(#16244) (94c3fed), closes #16243 - icon: allow viewBox to be configured when registering icons (#16320) (3638886), closes #2981 #16293
- moment-date-adapter: implement strict mode (#16462) (dd42956)
- overlay: allow width/height when using point as flexible origin (#16739) (b98a3bd), closes #16160
- select: allow for typeahead debounce interval to be customized (#16579) (f23a56a), closes #16472
- sort: remove hammer dependency (#16951) (7594ca1)
orichalcum-ocarina
Bug Fixes
- button: fix opacity is not added to ripple when using CSS variables to define custom theme (c62330b)
- datepicker: don't set aria-haspopup if no datepicker is set (#15554) (f590dc6)
- dialog: not applying margins to new button variants (#11961) (0ad0d7a)
- expansion: not adding margin for all button types (#16806) (1d545a6)
- menu: inconsistent behavior when clicking on a disabled item (#16696) (e441a75), closes #16694
- menu: mark lazy menu content as dirty before attach (#16506) (1b54011)
- overlay: _updateElementSize should not fail if pane is disposed. (#16600) (febcaff)
- radio: show ripple on programmatic focus (#16512) (a243ef9)
- radio-button: underlying input not respecting value binding (e1760b6)
- schematics: module imports not generated for schematics (#16787) (2cfcd36)
- schematics: navigation schematic not respecting breakpoints on initial render (#16788) (621ddf7)
- sidenav: avoid CSS class name conflict (#16798) (636cb9f)
- sidenav: focus trap enabled state not updated if mode changes while open (#16602) (666e9b3), closes #16601
- slider: inconsistent cursor behavior if user's pointer moves around while dragging (d62b19e), closes #14613
gelatin-key
bologna-bayou
Bug Fixes
- bottom-sheet: not moving focus to container if autoFocus is disabled and focus was moved while animating (#16418) (0720a41), closes #16297 #16221
- button-toggle: error when check value is set via static attribute in Ivy (#16587) (3c92c08), closes #16471
- overlay: clear duplicate overlay container coming in from the server (#11940) (ba508a6), closes #11817
- slide-toggle: invalid required validator in template-driven forms (#16547) (dc0c271)
- tabs: only use aria-current on active links (#16562) (b0937dc), closes #16557
- tree: unable to set zero as the padding of a tree node (#16345) (bf66d81), closes #16338
- typography: use
calc
to allow css variables (#16475) (6013036)
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)