582 KiB
7.0.0-rc.1 (2018-10-09)
Bug Fixes
- a11y: not being able to escape disabled focus trap using arrow keys (#13133) (3c55caa), closes #13132
- autocomplete: closing parent overlay when pressing escpe (#13413) (8dfd2ee)
- bottom-sheet: dismiss bottom sheet on destroy (#13120) (ffa4a06)
- button-toggle: not setting proper border in vertical mode (#13397) (d58db5d)
- button-toggle: remove extra focus indication added by firefox (#13367) (3583913)
- checkbox: ripple not hiding after click/touch (#13295) (afb0352), closes #13291
- chips: content not centered vertically on IE in some cases (#13260) (4f43f5c)
- chips: ripple not clipping correctly in safari (#12244) (eb95e61)
- chips: selectionChange event firing when value has not changed (#13173) (e8a6ea1)
- datepicker: change overlay position strategy so the calendar is kept on-screen (#11607) (f44d6db)
- drag-drop: avoid interfering with element clicks (#13152) (38e7dd2)
- expansion-panel: correct jump in panel sizing during animation (#12509) (a706c8c)
- experimental/dialog: clean up open dialogs on destroy (#13421) (84d8f5b)
- form-field: blue box inside focused native select on IE (#13187) (ab44d50)
- form-field: not updating outline when prefix/suffix is added or removed (#13253) (0060bd7), closes #13251
- grid-list: incorrectly laying out tiles for nested list (#13086) (3e1cff0), closes #13074
- icon: handle references for pages with base tag (#12428) (9e5fd91), closes #9276
- list: selection list not marking options as selected correctly when setting value with duplicates (#13363) (bef9a17)
- menu: incorrectly styling keyboard focus, if trigger is right clicked before opening (#13136) (730e6a3)
- ng-add: allow using noop animations (#13429) (15a1ab7)
- overlay: incorrectly calculating centered position on a scrolled page with pushing (#13185) (f5dd24a), closes #11868
- overlay: wait for panel to detach before removing panelClass (#13199) (238aef0), closes #13189
- paginator: icons and labels not centered vertically on IE (#12495) (fe3f37a), closes #12491
- schematics: @angular/material schematics not working (#13406) (3f8ee74)
- schematics: name is required when generating the drag-drop schematic (#13452) (4a9bbcb)
- schematics: proper error if name is not specified (#13379) (4a0b09a)
- scrolling: viewport ruler resize event running inside the NgZone (#12909) (707a7ee), closes #12883
- select: allow extra content to be projected after label in mat-optgroup (#13396) (cb5b15e), closes #11489
- select: handle home and end keys on closed select (#13278) (d6ba25f)
- tabs: disabled tab link not preventing router navigation (#10358) (bf66d57), closes #10354
- virtual-scroll: don't set both
rightandlefton the content (#13412) (6ee9149), closes #13231
Features
- bottom-sheet: add injection token for default options (#13172) (3de3851), closes #13149
- datepicker: add ng-content to datepicker header (#13236) (3fc0d36), closes #13212
- schematics: create drag-drop schematic (#13368) (72ccd8b)
7.0.0-rc.0 (2018-10-02)
Bug Fixes
- autocomplete: dividers in list throwing off keyboard navigation (#13224) (0886cef), closes #13200
- button: fix stroked button border color (#13219) (bfeb540)
- checkbox: clear tabindex from host element (#13308) (845388c)
- chips: set aria-invalid on chip input (#13249) (311d786), closes #13205
- common: account for async hammer loader when checking whether hammer is defined (#12933) (d15431b)
- drag-drop: emitting incorrect index for horizontal list in rtl (#13274) (f3bb0c7)
- drag-drop: error on IE when customizing root element (#13279) (e1071f0)
- drag-drop: unable to return item to initial container within same drag sequence, if not connected to current drag container (#13247) (0ac41a0), closes #13246
- form-field: always use native input value to determine whether control is empty (#13307) (10e6502), closes #13305
- form-field: incorrect arrow color for native select (#13046) (10b8353)
- form-field: native date/time input taller than text input (#13321) (92a5f0e), closes #13317
- form-field: native select outline not reset on firefox (#12967) (38e492f)
- grid: fix mat-grid-tile position (#12980) (966cf5f)
- grid-list: exception thrown when rowHeight is set before first change detection run (#13112) (e7007a2), closes #13102
- grid-list: throw error if invalid value is assigned for rowHeight (#13254) (210f3f9), closes #13252
- list: set aria-multiselectable on selection list (#13325) (877ef5d)
- overlay: connected overlay directive inputs not updating position strategy (#13066) (1d8e9af)
- paginator: getNumberOfPages off by one (#10724) (016ba5c), closes #10720 #10699
- radio: clear tabindex from host element (#13323) (5c0a061), closes #13311 #13308
- schematics: addressForm: fix bad Validators definition and TSLint (#13285) (267dd65)
- schematics: dashboard schematic fails parsing declaration in spec (#13269) (543cb9f)
- schematics: fix typo in table's datasource (#13283) (0ccdfc8)
- schematics: nav schematic generates TSLint errors (#13268) (8d25fd1)
- schematics: remove unnecessary semicolon in tree component (#13284) (8558878)
- schematics: sidenav toolbar should use default background (#13282) (c454f7b)
- schematics: table schematic not expanding full width (#13234) (884762f)
- schematics: toolbar in nav w/o z-index causes issues with dashboard (#13270) (d74e38c)
- select: give native select a bigger clickable area (#13228) (6da7d23)
- slide-toggle: clear tabindex from host element (#13311) (119fafd), closes #13308
- snack-bar: button not centered inside snack bar on IE11 (#13062) (4e05745)
- snackbar: move elevation style to snackbar theme (#13273) (96e670f)
- stepper: vertical step header labels not centered on IE (#13262) (40fb5cb)
- tooltip: custom gesture config not set up (#12941) (1852563), closes #12940 #12917
- tooltip: hiding and reopening for consecutive show calls (#13326) (b5001f6)
Features
- badge: allow badge to be disabled (#13196) (bfc1286), closes #13191
- button-toggle: align with 2018 material design spec (#12443) (fd3eb6a)
- overlay: add option to automatically dispose on navigation (#12592) (d48b1ba), closes #12544
- overlay: add support for swappable position strategies (#12306) (e0f3ae7)
- schematics: support for cdk
ng add(#13319) (ac3f8c4) - schematics: support for cdk
ng-update. (#13303) (1afddfb) - tabs: align with 2018 material design spec (#12605) (0c5598c)
- tree: support units different than px for indentation (#12991) (590d294)
Performance Improvements
update
BREAKING CHANGES
- ripple: deprecated
[matRippleSpeedFactor]andbaseSpeedFactorfor the ripples have been removed. Use the new animation config instead.
7.0.0-beta.2 (2018-09-20)
Highlights
- This release includes a number of changes to bring the components more in line with the 2018 Material Design update. If you are overriding the default styles, you may find that you need to tweak them to look right after these changes.
Bug Fixes
- card: better scaling for avatar image (#13032) (19ce1a1)
- checkbox, slide-toggle: no margin if content is projected (#12973) (4636a98), closes #4720
- chips: arrow keys resetting focus to first chip (#12987) (959c827)
- dialog: clean up open dialogs on destroy (#12835) (4e15ba9)
- expansion: MatExpansionHeader transition animations (#13088) (4a96539), closes #11990 #11990 #11990 #11990 #11990 #11990 #11990 #11990
- form-field: Make labels show while printing (#12766) (e88271a)
- table: incorrect padding and text alignment in rtl (#12280) (2b89342), closes #12276
Features
- button: align with 2018 material design spec (#13083) (79801e0), closes #12537 #13011
- card: align with 2018 material design spec (#12731) (484dc8b)
- checkbox: align with 2018 material design spec (#12493) (95acccc)
- chips: align with 2018 material design spec (#12838) (3cc9c67)
- dialog: align with 2018 material design spec (#12705) (00b7233)
- elevation: move elevation rules into theme stylesheets (#11344) (9c075f5), closes #11343
BREAKING CHANGES
- dialog: * The
matDialogAnimations.slideDialogsymbol has been renamed tomatDialogAnimations.dialogContainer.
- elevation: Because
mat-elevationusages have been moved out of component stylesheets, users who have not invoked a theme mixin will not see any elevation shadows on Material components. However, users that have created a custom theme which lacks theelevationproperty will still see the default black shadows.
Additionally, users who want to use themed elevations in their custom components can create their own shorthand mixin:
@import '~angular/material/theming';
$myTheme: ...
@mixin my-elevation($zValue) {
@include mat-theme-elevation($zValue, $myTheme);
}
and then invoke angular-material-theme with the $myTheme variable.
7.0.0-beta.1 (2018-09-17)
Bug Fixes
- button-toggle: underlying input not disabled when group is disabled (#11610) (bd21f21), closes #11608
- chips: default click action on chip being prevented (#12856) (ae3ce4a), closes #9032
- datepicker: allow calendar cell selection via the space key (#13098) (5c4a334)
- drag-drop: DOM element not being returned to initial container on drop (#12948) (fb7bf90), closes #12944
- drag-drop: dragging class not being applied on drop container (#12921) (ec0de52)
- drag-drop: incorrectly calculating index when sorting horizontally (#13082) (664ef4c), closes #13072
- drag-drop: incorrectly calculating pointer position inside element, in some cases (#13111) (22cd3ed), closes #13107
- drag-drop: incorrectly picking up transitions on non-transform properties (#12966) (951add9)
- drag-drop: not dropping immediately for failed drag after a successful one (#13097) (32a0010), closes #13091
- drag-drop: text selection not disabled on safari if user drags out of the viewport (#12864) (8ee5fb6)
- drawer: respect
NoopAnimationsModuleand@.disabledbinding (#12839) (23df492) - expansion: disable all animations when using NoopAnimationsModule (#12855) (3e22641), closes #10590
- form-field: don't set up mutation observer on non-outline appearances (#12976) (cbfbade)
- form-field: remove chevron from native multi-select (#13009) (b62343a)
- grid-list: better handling of negative columns (#12939) (cfb83a0)
- input: do not focus input element twice (#12851) (7d586e4), closes #12849
- ng-update: do not throw if imports without named bindings are used (#12866) (#12984) (fe64211), closes #11571
- overlay: correct misspelled flexibleDiemsions property (#12927) (5d1643a), closes #12925
- overlay: infinite loop when used together with zone-patch-rxjs (#13081) (c2e502c), closes #12686
- platform: wrap MSStream property detection as string to prevent Closure property renaming (#13117) (aef61eb), closes #12223
- portal: remove dependency on deprecated parentInjector (#12986) (f39e091)
- progress-bar: buffer background animation stuttering (#13114) (2f2e116)
- ripple: ripples not being cleared if touch sequence is canceled (#12936) (948e563)
- sidenav: not positioning correctly in rtl (#12741) (9d3d95f)
- snack-bar: dismiss snack bar on destroy (#13042) (50be24b)
- tabs: pagination state not updated when tab content changes (#12911) (a7de64a), closes #12901
- tooltip: not showing up on touch devices (#12940) (722dfb3), closes #12917
- tooltip: text fields not editable if tooltip is applied in safari (#12959) (0389d12), closes #12953
- tree: theming nested notes (#12938) (e24f24a)
- typings: update typings to support more strict typings in RxJS 6.3.2 (#12979) (0a25fca)
Features
- list: add new
<mat-action-list>(#12415) (69fa762) - menu: align with 2018 material design spec (#12331) (c812268)
- ng-add: add x-prompts to install schematics (#13058) (a5bc79c)
- schematics: compatibility with Angular CLI 6.2.0 (#13078) (714c205), closes #11438
- select: align panel appearance and animation with 2018 material design spec (#12975) (18d0fa8)
- stepper: Create MAT_STEPPER_GLOBAL_OPTIONS InjectionToken (#11457) (9ab2c90)
BREAKING CHANGES
- overlay: The
flexibleDiemsionsproperty onCdkConnectedOverlayhas been renamed toflexibleDimensions
7.0.0-beta.0 (2018-08-30)
Highlights
- Support for drag and drop in
@angular/cdk/drag-drop! - Support for virtual scrolling in
@angular/cdk/scrolling! - You can now use a native
<select>element in<mat-form-field> - Updated visuals for 2018 Material Design update (in-progress, not all components are done)
Note that schematics for v7 are still in-progress.
You can view a beta version of the docs at https://beta-angular-material-io.firebaseapp.com.
Bug Fixes
- autocomplete: remove aria-owns attribute while closed (#12333) (f0a0ab1), closes #12332
- autocomplete: reopening closed autocomplete when coming back to tab (#12372) (c2b488e), closes #12337
- autofill: avoid firing unnecessary event on initial render of input (#12116) (c2fc3f4)
- badge: apply view encapsulation attributes on badge element (#12870) (db1d51f)
- badge: hide badges with no content (#12239) (701a0dd)
- bidi: default invalid directionality values to ltr (#12396) (e644350)
- breakpoints: emit only one event for adjacent breakpoint changes. (#11007) (2830a64)
- button: allow for non-colored flat button (#12550) (8c08bb1)
- button: allow transition for the button focus overlay for all buttons (#12552) (a080a79)
- button-toggle: clickable area not stretching when custom width is set (#12642) (ecf8b0d), closes #8432
- button-toggle: forward tabindex to underlying button (#12538) (7dff5f8)
- button-toggle: set aria-disabled based on group disabled state (#12828) (5969523)
- card: images in title-group overlapping content (#12205) (89d16b2), closes #10031
- card: incorrectly inverting inset divider in rtl (#12285) (fba4a93)
- cdk-text-field: prevent keyframes from getting stripped by LibSass (#12567) (915590e)
- checkbox: prevent error when disabling while focused (#12327) (c4cacce), closes #12323
- chips: chip list removing focus from first chip when adding through the input (#12840) (c3b2d4f)
- chips: dynamic chip input placeholder changes not being propagated to form field (#12422) (e007c27), closes #11861
- chips: focus indication not visible in high contrast mode (#12431) (bcf4c9f)
- chips: focus not being restored correctly on chip removal when inside component with animations (#12416) (5fb338b), closes #12374
- chips: focus not restored properly if chip has been removed by click (#12788) (3da390e), closes #12416
- chips: form field not appearing as blurred when used without an input (#12858) (f82a94b)
- chips: improved image scaling in avatar (#12843) (f6e787a), closes #12660
- chips: incorrectly handling disabled state (#12659) (65ad6ab), closes #11089
- chips: losing focus if active chip is deleted (#11910) (e13bfe0)
- chips: support focusing first/last item using home/end (#11892) (3723191)
- collections: align SelectionModel to
changednaming (#8286) (27e88c3) - datepicker: able to open from readonly input using keyboard control (#12880) (548d2b7)
- datepicker: add minDate and maxDate validation in demo-app (#12531) (2b29c93)
- datepicker: input not picking up changes if datepicker is assigned after init (#12546) (3299628)
- datepicker: multiple dialog open if the user holds down enter key (#12238) (8e63656)
- datepicker: screenreaders report editable grid cells (#12275) (a2dcf21)
- datepicker-toggle: forward tabindex to underlying button (#12461) (648eb4a), closes #12456
- expansion: respect parent accordion hideToggle binding (#12725) (9c184ea), closes #6529
- expansion-panel: elevation transition not working (#12860) (ac8ed31)
- expansion-panel: focus lost if focused element is inside closing panel (#12692) (baf6419)
- expansion-panel: implement keyboard controls (#12427) (32e5d72)
- form-field: allow for measuring outline gap when label is not in dom (#12782) (21095f5)
- form-field: legacy ripple underline jumps in edge (#12648) (70d1be8), closes #6351
- form-field: outline gap not calculated when appearance is provided through DI (#12767) (8e49388), closes #12765
- form-field: remove outline gap for empty labels (#12637) (3d4fc82)
- form-field: reset inputs not being reset on safari (#12413) (4884dac), closes #12408
- form-field: unable to distinguish disabled form field in high contrast mode (#12445) (df2b371)
- form-field: update label gap for outline style (#12555) (03527c6)
- grid-list: not picking up indirect descendants (#12823) (c04d2ae), closes #12809
- input: only monitor focus origin on browser platform (#11604) (625f792)
- list: disable hover styling on touch devices (#12520) (795c956)
- list: improved image scaling in avatar (#12660) (9a59c2a), closes #8131
- live-announcer: avoid triggering a reflow when reading directive content (#12638) (040f9db)
- live-announcer: duplicate live element when coming in from the server (#12378) (a10bfa4), closes #11940
- menu: changed after checked error when toggling quickly between triggers for same submenu (#12209) (b53b66a)
- menu: collapse empty menu panel (#12211) (b23cecd)
- menu: focus indication not visible in high contrast mode (#12201) (56bce47)
- menu: menu content data being cleared when lazy-loaded content is reused between nested triggers (#12476) (1e1751f), closes #12467
- menu: showing scrollbars on first open in Edge if item width is set (#12141) (275de51)
- menu: throw better error when trying to open undefined menu (#12688) (c90dcfb), closes #12649
- moment-date-adapter: not returning utc date when parsing (#12029) (d431566)
- ng-add: do not incorrectly insert custom-theme into CSS files (#12711) (51da6a6)
- ng-add: inserted dependencies should be sorted (#12847) (0760dad)
- ng-add: material version could not be determined (#12751) (a027ae5)
- ng-update: do not throw if imports without named bindings are used (#12866) (cef2e1e), closes #11571
- ng-update: form-field css name incorrectly updated (#12768) (4830be8)
- ng-update: support parenthesized directive metadata (#12314) (c5b87da)
- overlay: avoid same overlay being added to the keyboard event stack multiple times (#12222) (45d6ae4)
- overlay: flexible overlay with push not handling scroll offset and position locking (#11628) (f8b70cd)
- overlay: flexible overlay with push not handling scroll offset and position locking (#12624) (e765d8e), closes #11365
- paginator: inconsistently disabling tooltips between browsers (#12539) (73a3d4a)
- progress-bar: avoid error on SSR if pathname is undefined (#12807) (f3af763)
- progress-bar: generate correct url on server (#12813) (787f31a)
- progress-bar: incorrectly handling current path when using hash location strategy (#12713) (5727eac), closes #12710
- progress-bar: query animation not working inside routes with named outlets (#12350) (b9c0d85), closes #12014 #12338
- progress-bar: query state animation not working (#11459) (b40967f), closes #11453
- ripple: don't hide directive host in high contrast (#12168) (944caf9)
- ripple: don't launch ripple for fake mouse events (#11997) (4639a87)
- schematics: do not allow specifying native view encapsulation (#12632) (0a823dd)
- schematics: fix object iteration error in dashboard (#12216) (b589828)
- schematics: generated spec files not working (#12842) (c09da0b), closes #12778
- schematics: properly detect tsconfig files (#12434) (08e6653)
- schematics: properly indent inline files (#12317) (ed4e082)
- schematics: tree schematic not working (#12281) (ba134f4)
- select: arrow position/animation for appearance="standard" (#12045) (58f3c54)
- select: pointing to non-existent element via aria-labelledby (#12411) (3b7f0f1), closes #12405
- select: skip disabled options when using ctrl + a (#12553) (559b95e), closes #12543
- select,autocomplete: unable to set custom id on mat-option (#11573) (29d5173), closes #11572
- selection-list: do not allow toggling disabled options (#12617) (4cfdb20), closes #12608
- selection-list: proper styling not being applied when using mat-list-icon (#12879) (7bc8670)
- sidenav: content jumping in rtl and blurry text on IE (#12726) (4050002), closes #10026
- sidenav: scrollable instance not exposed when explicitly specifying content element (#11706) (441c98e), closes #11517 #10884
- slide-toggle: blended ripples do not match spec (#12735) (e148414)
- slide-toggle: fix font sizing for slide toggle to match other input methods (#10688) (58c1c95)
- slide-toggle: invert the thumb and slide gesture in rtl (#12284) (9a191b3)
- slide-toggle: prevent error when disabling while focused (#12325) (e273a7a), closes #12323
- slide-toggle: remove webkit tap highlight (#12708) (ba55d04)
- slide-toggle: respect primary palette of theme (#12698) (dad0ed0), closes #11854
- slider: thumb label blending in with background in high contrast mode (#12606) (f1b65b6)
- snack-bar: prevent content from overriding configured aria-live message (#12294) (0958cbb)
- snackbar: wrap simple snackbar text in span (#12599) (ef0b84b)
- stepper: focus lost if focus is inside stepper while changing step (#12761) (8a7ca7f)
- stepper: handle removing a step before the current one (#11813) (82b35d0), closes #11791
- stepper: improved alignment for step icons (#12703) (37a7056), closes #12696
- tab-group: focus change event not firing for keyboard navigation (#12192) (1b7b8ab)
- table: error if row definition is on an ng-container (#12462) (ef57919), closes #12460
- table: errors when rendering table with sticky elements on the server (#12095) (7e67fe9), closes #12094
- table: extra elements throwing off table alignment (#12645) (3b70d20), closes #11165
- table: unable to sort large numbers in strings (#12052) (adda21f)
- tabs: animation running after initialization (#12549) (4c2f619)
- tabs: changed after checked error when using isActive in view (#12206) (499458c), closes #12197
- tabs: content animation in RTL not working (chrome) (#12215) (c6c68a6)
- tabs: disable focus overlay for touch focus (#12249) (1b19b93), closes #12247
- tabs: enable keyboard wrapping and mark disabled tabs (#12218) (7f8fd9f)
- tabs: only target direct descendants with mat-stretch-tabs (#12198) (592af48), closes #12196
- tabs: reposition tab body on direction change (#12229) (49ec9ca)
- tabs: ripple overflow in internet explorer (#12036) (f35a314)
- tabs: selectedIndex being overwritten if tabs are being added / removed (#12245) (569c221)
- tooltip: interfering with native drag&drop (#12200) (19f64ad)
- tooltip: opening after click on android (#12250) (2a49532), closes #12223
- tree: include constructors on MatTree classes to allow es6 builds (#12556) (5623c5b)
- ensure components work with ES2015 in jit mode. (#12759) (2adced1), closes /github.com/angular/angular/pull/22356#issuecomment-387756794 #9329
- explictly declare types for mixin base classes (#12876) (515912b)
Features
- autocomplete: add updatePosition() method to MatAutocompleteTrigger (#11495) (3ce5b1f)
- autocomplete: align with 2018 material design (#12570) (b9651df)
- bottom-sheet: align with 2018 material design spec (#12625) (ceb2051)
- bottom-sheet: allow autofocusing to be disabled (#12193) (d6ca3ec)
- breakpoint-observer: Emit matching state of each query provided (#12506) (5a560b2)
- cdk-scrollable: add methods to normalize scrolling in RTL (#12607) (028746a)
- chips: allow set in separatorKeyCodes (#12477) (170665a)
- datepicker: align with 2018 material design spec (#12693) (32456e3)
- dialog: allow focus restoration to be disabled (#12519) (d5c5f31)
- drag-drop: new feature! Too many commits to list.
- expansion: add animation events for expansion panels (#12412) (f6b1002)
- expansion-panel: align with 2018 material design spec (#12670) (ccbae0b)
- focus-monitor: support monitoring ElementRef (#12712) (932211e)
- form-field: support native select element (#12707) (4e41985)
- ng-add: respect project default inlineStyle, inlineTemplate and spec option value (#12888) (8831a7a), closes #11874
- ng-add: respect project default style extension (#12618) (5144aa7)
- ng-add: set up gestures in CLI projects (#12734) (b919a48)
- overlay: add the ability to set a panelClass based on the current connected position (#12631) (765990e)
- overlay: support setting panelClass on cdkConnectedOverlay (#12380) (d7c734c)
- paginator: allow form field color to be customized (#12834) (e18a99f)
- portal: allow for custom ComponentFactoryResolver to be associated with portal (#12677) (136f5dd), closes #9712
- progress-bar: add transitionend output for value animation (#12409) (6a1a707)
- progress-bar: align with 2018 material design spec (#12394) (b2247f8)
- radio: align with 2018 material design spec (#12299) (dda8122)
- ripple: no longer require additional setup when using MatRipple directive (#11913) (d796776)
- ripple: support multi-touch (#12643) (8fdc2cf)
- schematics: new tree schematic (#11739) (1540e2f)
- select: allow for option sorting logic to be customized (#11890) (d54a75a)
- sidenav: align with 2018 material design spec (#12569) (1f88bd7)
- slide-toggle: align with 2018 material design spec (#12419) (5f2e077)
- snack-bar: align with 2018 material design spec (#12634) (1e754a0)
- tooltip: align with 2018 material design spec (#12310) (4e358c3)
- virtual-scroll: new feature! Too many commits to list.
Performance Improvements
- overlay: remove detached overlays from the DOM (#12414) (71886f8), closes #12341
- table: leaking reference through mostRecentCellOutlet (#12269) (34a7e38), closes #12259
- tree: leaking reference through mostRecentTreeNode (#12334) (60b9928), closes #12269
- virtual-scroll: improve scrolling performance (#12490) (4a9fe87)
BREAKING CHANGES
- sidenav: the constructor signature of the
MatDrawerContentandMatSidenavContenthas changed.
6.4.7 kryptonite-kombucha (2018-08-29)
Bug Fixes
- autocomplete: reopening closed autocomplete when coming back to tab (#12372) (8617423), closes #12337
- badge: apply view encapsulation attributes on badge element (#12870) (dc8cf46)
- button-toggle: clickable area not stretching when custom width is set (#12642) (70aca02), closes #8432
- button-toggle: set aria-disabled based on group disabled state (#12828) (3f67cc5)
- card: images in title-group overlapping content (#12205) (22ae587), closes #10031
- chips: chip list removing focus from first chip when adding through the input (#12840) (0e60fb8)
- chips: focus not being restored correctly on chip removal when inside component with animations (#12416) (d08d8bc), closes #12374
- chips: focus not restored properly if chip has been removed by click (#12788) (59a7f28), closes #12416
- chips: form field not appearing as blurred when used without an input (#12858) (be1ba9c)
- chips: improved image scaling in avatar (#12843) (130806b), closes #12660
- chips: incorrectly handling disabled state (#12659) (15e7f74), closes #11089
- chips: support focusing first/last item using home/end (#11892) (b735e48)
- collections: align SelectionModel to
changednaming (#8286) (4b30539) - datepicker: multiple dialog open if the user holds down enter key (#12238) (c807d74)
- datepicker: screenreaders report editable grid cells (#12275) (3328808)
- datepicker-toggle: forward tabindex to underlying button (#12461) (09302b6), closes #12456
- expansion: respect parent accordion hideToggle binding (#12725) (803f73f), closes #6529
- expansion-panel: focus lost if focused element is inside closing panel (#12692) (3596e9d)
- expansion-panel: implement keyboard controls (#12427) (04d5955)
- form-field: allow for measuring outline gap when label is not in dom (#12782) (9579212)
- form-field: legacy ripple underline jumps in edge (#12648) (34d91c7), closes #6351
- form-field: outline gap not calculated when appearance is provided through DI (#12767) (8b9d283), closes #12765
- form-field: remove outline gap for empty labels (#12637) (a326ee0)
- grid-list: not picking up indirect descendants (#12823) (4f53e4f), closes #12809
- input: only monitor focus origin on browser platform (#11604) (a30e909)
- list: improved image scaling in avatar (#12660) (70cb0a2), closes #8131
- live-announcer: avoid triggering a reflow when reading directive content (#12638) (92f53ce)
- menu: throw better error when trying to open undefined menu (#12688) (f732059), closes #12649
- progress-bar: avoid error on SSR if pathname is undefined (#12807) (bb9cfec)
- progress-bar: generate correct url on server (#12813) (b0555b5)
- progress-bar: incorrectly handling current path when using hash location strategy (#12713) (da3b5e0), closes #12710
- ripple: don't launch ripple for fake mouse events (#11997) (266a159)
- select: pointing to non-existent element via aria-labelledby (#12411) (12c6f81), closes #12405
- select: skip disabled options when using ctrl + a (#12553) (2349166), closes #12543
- select,autocomplete: unable to set custom id on mat-option (#11573) (1f78d8a), closes #11572
- sidenav: content jumping in rtl and blurry text on IE (#12726) (81e0542), closes #10026
- slide-toggle: remove webkit tap highlight (#12708) (3ce4e8d)
- slider: thumb label blending in with background in high contrast mode (#12606) (a4a79ea)
- stepper: focus lost if focus is inside stepper while changing step (#12761) (fc537af)
- stepper: handle removing a step before the current one (#11813) (0fcdae4), closes #11791
- stepper: improved alignment for step icons (#12703) (41d0196), closes #12696
- table: errors when rendering table with sticky elements on the server (#12095) (8956d1d), closes #12094
- table: extra elements throwing off table alignment (#12645) (13f1c6e), closes #11165
- tabs: disable focus overlay for touch focus (#12249) (d3af441), closes #12247
- tabs: only target direct descendants with mat-stretch-tabs (#12198) (6bb0ffe), closes #12196
- tooltip: opening after click on android (#12250) (a6b8a06), closes #12223
- ensure all components work with ES2015 in jit mode. (#12759) (0c4a1b4), closes #12760, #9329
6.4.6 argon-aftershave (2018-08-20)
Bug Fixes
- cdk-text-field: prevent keyframes from getting stripped by LibSass (#12567) (4180e72)
- form-field: update label gap for outline style (#12555) (ffeb779)
- progress-bar: query state animation not working (#11459) (948f655), closes #11453
- selection-list: do not allow toggling disabled options (#12617) (3c1995d), closes #12608
- tabs: changed after checked error when using isActive in view (#12206) (75632bd), closes #12197
6.4.5 mithril-magnet (2018-08-13)
Bug Fixes
- button: allow transition for the button focus overlay for all buttons (#12552) (0a56cf7)
- button-toggle: forward tabindex to underlying button (#12538) (dcae875)
- breakpoint-observer: Emit matching state of each query provided (#12506) (cb3f760)
- datepicker: input not picking up changes if datepicker is assigned after init (#12546) (d10a6c4)
- drag-drop: add support for sorting animations (#12530) (7d0e69b)
- drag-drop: ignore self inside connectedTo (#12626) (7e7e873)
- drag-drop: remove circular dependencies (#12554) (fd70c07)
- list: disable hover styling on touch devices (#12520) (6048f6f)
- overlay: flexible overlay with push not handling scroll offset and position locking (#11628) (a192907)
- paginator: inconsistently disabling tooltips between browsers (#12539) (35bdd00)
- snackbar: wrap simple snackbar text in span (#12599) (11b97e4)
- tabs: animation running after initialization (#12549) (2798084)
- tree: include constructors on MatTree classes to allow es6 builds (#12556) (5b0eed3)
6.4.3 monelite-meeple (2018-08-07)
Bug Fixes
- bidi: default invalid directionality values to ltr (#12396) (58361f1)
- checkbox: prevent error when disabling while focused (#12327) (0c746c1), closes #12323
- chips: dynamic chip input placeholder changes not being propagated to form field (#12422) (5053532), closes #11861
- chips: focus indication not visible in high contrast mode (#12431) (3652707)
- drag-drop: account for transition-delay when waiting for the animation to finish (#12466) (3580fb5)
- form-field: reset inputs not being reset on safari (#12413) (952b553), closes #12408
- form-field: unable to distinguish disabled form field in high contrast mode (#12445) (212bd0b)
- live-announcer: duplicate live element when coming in from the server (#12378) (bf9bc0d), closes #11940
- menu: menu content data being cleared when lazy-loaded content is reused between nested triggers (#12476) (747231a), closes #12467
- slide-toggle: prevent error when disabling while focused (#12325) (80f6929), closes #12323
- table: error if row definition is on an ng-container (#12462) (39d40f3), closes #12460
Performance Improvements
6.4.2 chalk-window (2018-07-30)
Bug Fixes
- autocomplete: remove aria-owns attribute while closed (#12333) (2122b18), closes #12332
- card: incorrectly inverting inset divider in rtl (#12285) (8a2dc60)
- progress-bar: query animation not working inside routes with named outlets (#12350) (0c526d3), closes #12014 #12338
- snack-bar: prevent content from overriding configured aria-live message (#12294) (b46689e)
- ng-update: support parenthesized directive metadata (#12314) (66416f5)
Performance Improvements
- table: leaking reference through mostRecentCellOutlet (#12269) (7c8e892), closes #12259
- tree: leaking reference through mostRecentTreeNode (#12334) (b6f7205), closes #12269
6.4.1 elm-electrode (2018-07-23)
Bug Fixes
- autofill: avoid firing unnecessary event on initial render of input (#12116) (1fb1fab)
- badge: hide badges with no content (#12239) (1e847f1)
- chips: losing focus if active chip is deleted (#11910) (646e378)
- drag-drop: disable text selection on draggable element (#12204) (7a04609)
- drag-drop: make
CDK_DROP_CONTAINERpublic (#12214) (b9cece4) - drag-drop: unable to drag last item back into initial container (#12261) (3e0e3c5)
- menu: collapse empty menu panel (#12211) (aed3993)
- menu: focus indication not visible in high contrast mode (#12201) (6fb6216)
- menu: showing scrollbars on first open in Edge if item width is set (#12141) (ff53295)
- moment-date-adapter: not returning utc date when parsing (#12029) (0304ac1)
- overlay: avoid same overlay being added to the keyboard event stack multiple times (#12222) (e587f4b)
- ripple: don't hide directive host in high contrast (#12168) (efedc9b)
- schematics: fix object iteration error in dashboard (#12216) (f2acb51)
- slide-toggle: invert the thumb and slide gesture in rtl (#12284) (fe193f5)
- tab-group: focus change event not firing for keyboard navigation (#12192) (48ece27)
- table: unable to sort large numbers in strings (#12052) (dd31521)
- tabs: content animation in RTL not working (chrome) (#12215) (f700897)
- tabs: enable keyboard wrapping and mark disabled tabs (#12218) (0e03aae)
- tabs: reposition tab body on direction change (#12229) (4ac1be3)
- tabs: ripple overflow in internet explorer (#12036) (09f439a)
- tabs: selectedIndex being overwritten if tabs are being added / removed (#12245) (641ec85)
- tooltip: interfering with native drag&drop (#12200) (8a4f2c3)
6.4.0 dimeritium-dandelion (2018-07-16)
Bug Fixes
- a11y: allow ListKeyManager wrapping to be disabled (#11920) (e9e44f6)
- a11y: clear duplicate AriaDescriber container coming in from the server (#11900) (b041f3f)
- autocomplete: don't override native autocomplete attribute (#11926) (88efb7e)
- autocomplete: error when typing in input with disabled autocomplete and no panel (#11881) (6b1a672), closes #11876
- autocomplete: reposition the panel when the amount of options changes (#4469) (2b80dbf)
- bottom-sheet: close on page navigation (#12106) (5c6f25e)
- button: don't show hover overlay on devices that don't support hovering (#12030) (947c29a), closes #12022
- button: not resetting all outlines on firefox (#11911) (85711aa)
- button: unable to set a custom tabindex on a link button (#12042) (cb6c621), closes #12041
- button-toggle: allow event bubbling for toggle button clicks (#11951) (5e16682)
- button-toggle: parent margin and padding being propagated to underlying button (#11993) (3bf10f9), closes #11976
- card: don't override vertical divider styles (#11899) (2d11588)
- checkbox: fix checkbox animation when moved between view containers (#10589) (fbccfd4)
- chips: ripples still showing up when globally disabled (#11918) (69a7f7c)
- datepicker: all cells being read out as selected (#12006) (32da038)
- datepicker: calendar input changes not being propagated on child views (#12004) (b1d4fe1), closes #11737
- datepicker: set role on datepicker popup and aria-haspopup on the datepicker toggle (#12008) (57b066a)
- datepicker: showing dot in high contrast mode after popup has closed (#12099) (6a472eb)
- expansion-panel: disable hover highlight on non-hover devices (#12080) (25eb43f), closes #12030
- focus-monitor: allow native focus options to be passed through focusVia (#11962) (4a02bb1)
- focus-origin: focus origin sometimes invalid in firefox 57 (#8669) (a1aa9e7), closes #6984
- focus-trap: not attaching correctly if element is not in the DOM on init (#7665) (d64f94d)
- form-field: clear safari autofill icons (#12137) (04934b4)
- form-field: label gap not being calculated when switching to outline dynamically (#11658) (d75fa75), closes #11653
- form-field: placeholder not hiding if
-webkit-text-fill-coloris used (#12076) (cc5dfb8), closes #12074 - icon: clearing all content when inserting a new SVG (#11956) (8280a76)
- icon: reverse for loop when removing child nodes from mat-icon (#12078) (dd6aec6)
- menu: scrollable menu not scrolled to top when opened for the first time (#11859) (742c226)
- overlay: justifyContent center ignored when direction is RTL (#11877) (415c956)
- overlay: account for virtual keyboard offset on mobile devices (#12119) (a248c18), closes #6341
- overlay: clear timeout if the backdrop transition completes early (#11938) (1a31c4e)
- overlay: don't dispatch key events to overlays that don't handle them (#11810) (c3fdc32)
- overlay: remove panelClass when the overlay is detached (#12142) (79bacf2), closes #12099
- progress-bar: query animation not working on safari (#12014) (49119ed)
- progress-spinner: circle not rendering correctly when switching modes in Safari (#12151) (623cd3d), closes #12140
- radio: circle not being greyed out when disabled (#12127) (85b8f32), closes #12125
- ripple: remove webkit touch highlights from ripple containers (#12082) (8e2ff1f)
- schematic: parse5 v5.0.0 requires different parse options (#12028) (118344e), closes #12027
- schematics: add parse5 dep (#11647) (2330c8b)
- select: blank option label throwing off alignment (#11994) (45b949a), closes #11969
- select: not resuming keyboard selection after clicking on single-select option (#11882) (195665f)
- select: reset option being marked as selected (#11934) (d88e021)
- select: support ctrl+a shortcut for multi-select (#11799) (d5de711)
- selection-list: disabling list doesn't disable ripples of options (#11955) (d3212a6)
- selection-list: form control disable locks disabled property (#12113) (fcc8875), closes #12107
- sidenav: continuously hitting zone when using autosize option (#12067) (330176d), closes #11231 #11986 #11215
- sidenav: remove margin from content instead of setting zero (#11986) (444fb38)
- slide-toggle: no color demarcation in high contrast black mode (#12150) (b5fd6de)
- slide-toggle: not updating model from toggle method (#11846) (fc15fa2)
- slider: track not being rendered under some conditions when using a thumb label (#12079) (d4623ff), closes #12071
- sort: arrow indicator not visible in high contrast mode (#12159) (eb6c456)
- sort: arrow visible while parent row is being animated (#11827) (c59abc6)
- stepper: unable to set aria-label on step (#11989) (ae39535), closes #11898
- tab-nav-bar: ripples still showing up when globally disabled (#11865) (fc1d1a4)
- tabs: don't fire change event when amount of tabs changes (#12097) (0186a03), closes #12084
- tabs: don't show focus indication for mouse focus (#11194) (89cad3f), closes #11184
- tabs: maintain selected tab when new tabs are added or removed (#9132) (78f556a)
- tabs: unable to distinguish disabled tab in high contrast mode (#12160) (98b9ed1)
- tabs: unable to set aria-label or aria-labelledby on tab (#11898) (bd3d085)
- toolbar: deprecate unused landscape row-height variable (#12129) (6314d15)
- tree: define CdkTree before CdkTreeNode to prevent errors in JIT (#11870) (4166d16)
- parse5 not listed as dependency for material (#11981) (e0bbe07)
- sanity checks throwing an error if scripts are set in the head (#12068) (c134026), closes #12026
Features
- autocomplete: allow panel to have a width value of auto (#11879) (8a5713e)
- docs: show additional type aliases in docs. (#11901) (637ef83)
- list: allow avatar in selection list options (#10316) (20cbdba)
- moment-dateadapter: add option to create utc dates (#11336) (9a85b9b)
- overlay: expose keydown events on the opened overlay (#11867) (a831bf6)
- slider: support two-way binding for value (#12003) (de107b7)
- tree: support array of data as children in nested tree (#10886) (825d35c)
- support lazy-loading HammerJS w/ Angular 6.1 (#11960) (eed6110)
6.3.3 chrome-tarantula (2018-07-09)
Highlights
- In the next minor version we will remove the beta versions of Angular 6 as valid dependency versions. This is a change that we intended to make when moving out of beta but was accidentally overlooked. Please note that versions prior to beta.8 don't work properly even today, as they do not have all of the changes we depend on related to tree-shakeable providers.
- We have added a cdk-experimental package for drag & drop. It's not ready for prime time yet, but if you're feeling adventurous and want to give it a spin, feel free!
Bug Fixes
6.3.2 ruby-robot (2018-07-02)
Bug Fixes
- aria-describer: clear duplicate container coming in from the server (#11900) (31c8f6b)
- autocomplete: don't override native autocomplete attribute (#11926) (ee9ddfb)
- autocomplete: reposition the panel when the amount of options changes (#4469) (a7c4d0c)
- button: not resetting all outlines on firefox (#11911) (df80dc6)
- button-toggle: allow event bubbling for toggle button clicks (#11951) (79415c4)
- button-toggle: emit change event when button is clicked (#11886) (828b3c0)
- button-toggle: use native button and aria-pressed for button-toggle (#10990) (b959e18)
- card: don't override vertical divider styles (#11899) (8a9a8bc)
- checkbox: fix checkbox animation when moved between view containers (#10589) (0244afc)
- chips: ripples still showing up when globally disabled (#11918) (8d6a9ae)
- focus-monitor: allow native focus options to be passed through focusVia (#11962) (8f3b316)
- focus-trap: not attaching correctly if element is not in the DOM on init (#7665) (80d9a9a)
- GlobalPositionStrategy: justifyContent center ignored when direction is RTL (#11877) (6b1f703)
- icon: clearing all content when inserting a new SVG (#11956) (96b389c)
- list-key-manager: allow withWrap to be disabled (#11920) (ab14539)
- menu: panel positions not changing if position is updated after first open (#11707) (671ad82), closes #11668
- menu: scrollable menu not scrolled to top when opened for the first time (#11859) (548266b)
- moment-dateadapter: add option to create utc dates (#11336) (3acd2a4)
- overlay: clear timeout if the backdrop transition completes early (#11938) (c55c0e1)
- overlay: don't dispatch key events to overlays that don't handle them (#11810) (2433439)
- overlay: explicitly implement OverlayReference. (#11824) (3e99c46)
- progress-spinner: create internal default to force animations to always be on (#11462) (11f3993)
- schematics: add parse5 dep (#11647) (42dd824)
- schematics: error in generated unit test (#11884) (0e5b30e)
- select: don't blur label when trigger is blurred while the panel is opened (#11537) (6c9c3fe)
- select: not resuming keyboard selection after clicking on single-select option (#11882) (a3dba76)
- select: reset option being marked as selected (#11934) (cd32d78)
- select: support ctrl+a shortcut for multi-select (#11799) (11d7080)
- selection-list: disabling list doesn't disable ripples of options (#11955) (4ac64da)
- sidenav: remove margin from content instead of setting zero (#11986) (82016c2)
- default config check is not checking test builder (#11816) (c36e6f3)
- parse5 not listed as dependency for material (#11981) (ce90bed)
- slide-toggle: not updating model from toggle method (#11846) (e69cf76)
- sort: arrow visible while parent row is being animated (#11827) (de13ec9)
- tab-nav-bar: ripples still showing up when globally disabled (#11865) (4f3cbfe)
- table: use solid color for sorting arrow (#11533) (d083d76), closes #11340
- tabs: maintain selected tab when new tabs are added or removed (#9132) (1e164b6)
- tabs: unable to set aria-label or aria-labelledby on tab (#11898) (8e44f89)
- tree: fix dynamic tree example and demo not closing children (#11148) #11728 (128e2a0)
6.3.1 string-sole (2018-06-26)
Bug Fixes
- button-toggle: emit change event when button is clicked (#11886) (828b3c0)
- button-toggle: use native button and aria-pressed for button-toggle (#10990) (b959e18)
- menu: panel positions not changing if position is updated after first open (#11707) (671ad82), closes #11668
- overlay: explicitly implement OverlayReference. (#11824) (3e99c46)
- progress-spinner: create internal default to force animations to always be on (#11462) (11f3993)
- select: don't blur label when trigger is blurred while the panel is opened (#11537) (6c9c3fe)
- table: use solid color for sorting arrow (#11533) (d083d76), closes #11340
- tree: fix dynamic tree example and demo not closing children (#11148) #11728 (128e2a0)
6.3.0 tourmaline-transom (2018-06-18)
Bug Fixes
- autocomplete: model not being updated when typing in input with disabled autocomplete (#11695) (429d3bc), closes #11678
- autofill: listen for animation events outside the zone, but emit autofill events inside (#11798) (48dda50)
- badge: remove badge margins (#11599) (f042068), closes #11596
- badge, tooltip: Add A11yModule (#11586) (75d116d)
- checkbox: high contrast accessibility improvements (#11633) (6220b72), closes #11623
- datepicker: inconsistent arrow color between popup and touch modes (#11535) (bb297c9)
- datepicker: make date range aria-live and fix active date logic (#11144) (8063c26)
- dialog: inconsistently resetting dimensions (#11723) (e95623d)
- dialog: not closing correctly when detached externally (#11516) (be1b5e6)
- expansion: expansion panel blending in with background in high contrast mode (#11659) (8842fb2)
- form-field: fix wrong underline color in error state (#11447) (3681ddf), closes #11436
- form-field: inaccessible in high contrast mode (#11736) (0a39595), closes #6257 #6383 #9009
- icon: IE/Edge ignoring style tags inside inline SVG (#11531) (555d8f4), closes #11458
- menu: reintroduce panel position classes (#11612) (703da89), closes #11597
- menu: toggle aria-expanded attribute on menu trigger (#11751) (bf88702)
- overlay: flexible overlay with push not handling scroll offset and position locking (#11421) (55aaa03)
- overlay: global overlay incorrectly handling left/right position when RTL is set on body (#11412) (2a51565), closes #11393
- overlay: unable to reset overlay size properties to initial value (#11592) (ba4f2af)
- paginator: page size selections being truncated with outline and fill appearances (#11722) (255c10a), closes #11681
- progress-bar: not usable in high contrast mode (#11651) (ff78ade), closes #11623
- progress-spinner: animation not working when default size is set via token (#11688) (7c1db46), closes #11687
- schematics: add app prefix to components (#11738) (84634cc)
- schematics: remove temp path #11198 (#11424) (b349de3)
- scrolling: scrollable elementScrolled stream not being completed on destroy (#11518) (9ab6cd0)
- select: disable all animations when using NoopAnimationsModule (#11594) (fa60fe4), closes #10590
- select: handle null values in multi-select (#11792) (dd8c807)
- select: inconsistent openedChange event dispatched between browsers (#11461) (4ef9cb0)
- select: label not being read out when using mat-label in mat-form-field (#11710) (e349fe4)
- select: multi-select checkbox not having an outline in high contrast mode (#11667) (082efa3)
- select: unable to use the MatOption select/deselect API to toggle options (#11528) (81537af), closes #9314
- selection-list: support selecting all via ctrl + a (#11502) (e6d9494)
- sidenav: scrollable instance not exposed when explicitly specifying content element (#11517) (436ac7d), closes #10884
- slider: value not being rounded when using keyboard and decimal step (#11574) (61f0f2a), closes #10951
- stepper: reading out wrong amount of options with NVDA on Firefox (#11711) (56e703f), closes #11694
- table: minor styling fix to expandable rows (#11569) (3d6f326)
- tabs: Add role to mat-tab-nav-bar and mat-tab-link (#11410) (fd23c02)
- tabs: Set initial ink bar width as 0 width (#11585) (c977763)
- tabs: tab position and amount of tabs not being read out by screen reader (#11694) (260afcf), closes #11369
- tabs: update mat-tab-link to set aria-current when active (#11409) (103acc4)
- tooltip: don't open for mouse and touch focus (#10728) (74f4364)
- tooltip: long continuous strings overflowing tooltip container (#11363) (2786b34)
Features
- table: support sticky headers, footers, and columns (#11483) (edbbc1b)
- bottom-sheet: switch to providedIn syntax (59554c4)
- collections: add isMultipleSelection function to SelectionModel (#11560) (0675e05)
- schematics: add address form schematic (#11425) (9b80a4c)
- snackbar: switch to providedIn syntax (a21a4f2)
6.2.1 crystal-caribou (2018-06-04)
Bug Fixes
- datepicker: inconsistent arrow color between popup and touch modes (#11535) (f974324)
- dialog: not closing correctly when detached externally (#11516) (bbb1d39)
- tooltip: don't open for mouse and touch focus (a003b9a), closes #10709
- tooltip: long continuous strings overflowing tooltip container (#11363) (c5f1293)
6.2.0 bamboo-shampoo (2018-05-29)
Highlights
- An initial implementation of virtual scrolling is now available in @angular/cdk-experimental. Please note that, since these components are still experimental, they may have bugs and the API is subject to change.
Bug Fixes
- autosize: textarea receiving focus on init (#11460) (7d447c2), closes #11451 #11308
- button: disable all animations when using the NoopAnimationsModule (#11477) (1a75152), closes #10590
- checkbox, radio: remove webkit tap highlights (#11349) (4b2cc1a)
- form-field: disable all animations when using NoopAnimationsModule (#11371) (9062640), closes #10590
- form-field: infinite loop when using outline appearance and element isn't in the DOM (#11406) (e592615), closes #11329
- menu: lazy-rendered content being duplicated when toggling quickly (#11348) (fb5cdb2), closes #11331
- nav-schematics: update isHandset$ type and fix template expression (#11448) (b9041e3), closes #11445 #11441
- overlay: incorrect position when using flexible positioning and rtl on the body (#11393) (acc24c4), closes #11387
- accordion, expansion: prevent nested expansion panels from registering to the same accordion (#11342) (9bf720a)
- select: panel content blurry in some browsers (#11434) (3dc3fcd)
- slide-toggle: disable animations when using NoopAnimationsModule (#11414) (1d96d5a), closes #10590
- slider: disable animations when using NoopAnimationsModule (#11422) (cf17ef7), closes #10590
- table: data source not unsubscribing from render changes subscription (#11394) (9313f18), closes #11382
Features
- a11y: add cdkAriaLive directive (#11352) (64a70ad)
- expansion: allow expansion indicator positioning (#8199) (51d859f)
- overlay: allow for Directionality instance to be passed in (#11411) (be577b1)
- progress-spinner: add injection token for configuring the diameter and stroke globally (#11493) (c3899cf), closes #11490
- collections: add ArrayDataSource, a DataSource wrapper for Array and Observable (#11354) (f59658d)
Performance Improvements
6.1.0 plaster-parliament (2018-05-21)
Features
- autocomplete: add the ability to set a different panel connection element (#11284) (efe37f5), closes #11269
- autocomplete: allow autocomplete panel to be disabled (#11142) (e8bc0e9)
- button: add isIconButton and isRoundButton properties (#11226) (318d699)
- cdk-input: change autosize to be bindable (#9884) (#11167) (2d227b7)
- elevation: add $opacity argument to elevation mixins (#10877) (fbf5648)
- observe-content: refactor so logic can be used without directive (#11170) (ba57852)
- overlay: add support for automatically setting the transform-origin based on the current position (#10868) (d26735c)
- overlay: expose flexible overlay features through CdkConnectedOverlay (#11069) (ef0229c)
- table: allow multiple header/footer rows (#11245) (641edc3)
- table: enable multiple data rows (#11116) (c15e307)
- tree: Add support for trackBy (#11267) (ff34dac)
Bug Fixes
- animations: prevent animations when in a noopanimations module (#10881) (81b6a78)
- autocomplete: panel blending in with background in high contrast mode (#11190) (9e9daf8)
- autocomplete: return consistent output from panelClosingActions (#8533) (2815607), closes #7553
- autosize: error thrown by IE in some cases when component is destroyed (#11109) (af09c8f)
- button: ripples not being clipped by button border radius (#11181) (6e026d7), closes #11160
- button-toggle: fix button toggle with 0 value not checked (#11292) (9a8cd4d)
- checkbox: disable animations when using NoopAnimationsModule (#11249) (93b5892), closes #11205
- checkbox: update MatCheckbox disabled setter to trigger change detection (#11098) (ce1b517)
- chips: stacked chips overflowing chip list (#11143) (d3c8cc5)
- datepicker: dateInput event being fired if the value hasn't changed (#10952) (a62cdb6)
- datepicker: don't autofocus calendar cell if used outside of overlay (#11049) (2897797)
- dialog: min-height and max-height not having an effect on dialog container (#11235) (a20dfd3)
- dialog,bottom-sheet: don't provide directionality if no direction is set (#11285) (cd37a54), closes #11262
- expansion-panel: inconsistent margin for nested panels (#11305) (1bf5c41), closes #11254
- focus-monitor: don't null-out focus until after event is finished with capture & bubble (#10721) (0b7572b)
- focus-monitor: reenter ngzone before emitting (#10549) (37193d8)
- form-field: error on IE11 when using outline appearance (#11108) (c9bd05c)
- icon: log full error message when icon set fails to load (#10915) (fbf06bb)
- icon: remove duplicate icon registry provider (#11214) (67a6aa1)
- nav-schematics: Subscribe to breakpoint observable (#11310) (d52acc9)
- ng-add: install added packages (#11163) (be08eb9)
- overlay: injection errors for scroll strategy providers in lazy-loaded modules (#11213) (0cda47c), closes #10820
- radio: disable animations when using NoopAnimationsModule (#11296) (af78b97)
- radio: update set disabled directly on MatRadioButton to trigger change detection (#11056) (860ce13)
- ripple: disable ripple animations when using NoopAnimationsModule (#11205) (9715928)
- sidenav: disable all sidenav animations when using NoopAnimationsModule (#11180) (03e749a)
- sidenav-demo: trigger event opened (#11225) (853b04c)
- snack-bar: snack bar not animating in if no positions are passed in (#11230) (f5377dd), closes #11197
- stepper: error being thrown if selected step is accessed too early (#11186) (4638833), closes #11158
- stepper: handle keyboard interactions if direction changes after init (#11067) (116ee60)
- table: add missing constructors (#11252) (8e7dd80)
- tabs: handle long tab labels in mat-tab-nav-bar (#10903) (61dd937)
- tooltip: not handling direction changes after the first open (#11324) (abc3d38)
- add custom theme using string ref in angular.json (#11189) (33b5df4), closes #11188
Performance Improvements
- sidenav: avoid hitting zone continuously when using autosize option (#11231) (c936bc9), closes #11215
6.0.2 chocolate-reality (2018-05-14)
Bug Fixes
- autocomplete: panel blending in with background in high contrast mode (#11190) (23fca28)
- autosize: error thrown by IE in some cases when component is destroyed (#11109) (408134f)
- button: ripples not being clipped by button border radius (#11181) (a1d98a9), closes #11160
- checkbox: update MatCheckbox disabled setter to trigger change detection (#11098) (22baefc)
- datepicker: dateInput event being fired if the value hasn't changed (#10952) (f3d436d)
- dialog: min-height and max-height not having an effect on dialog container (#11235) (7ea3900)
- icon: remove duplicate icon registry provider (#11214) (c66d6a5)
- add custom theme using string ref in angular.json (#11189) (f0b1529), closes #11188
- ripple: disable ripple animations when using NoopAnimationsModule (#11205) (29d7330)
- sidenav: disable all sidenav animations when using NoopAnimationsModule (#11180) (0c7998c)
- stepper: error being thrown if selected step is accessed too early (#11186) (834c6f7), closes #11158
- stepper: handle keyboard interactions if direction changes after init (#11067) (b15b8be)
- table: add missing constructors (#11252) (f02bb05)
- tabs: handle long tab labels in mat-tab-nav-bar (#10903) (f5eda86)
Performance Improvements
- sidenav: avoid hitting zone continuously when using autosize option (#11231) (2764ea6), closes #11215
6.0.1 glass-spaceship (2018-05-07)
Bug Fixes
- chips: stacked chips overflowing chip list (#11143) (70ba46e)
- datepicker: don't autofocus calendar cell if used outside of overlay (#11049) (2a02ce2)
- focus-monitor: don't null-out focus until after event is finished with capture & bubble (#10721) (71ac0ae)
- focus-monitor: reenter ngzone before emitting (#10549) (8be7d4e)
- form-field: error on IE11 when using outline appearance (#11108) (3f87309)
- icon: log full error message when icon set fails to load (#10915) (f6af40c)
- ng-add: install added packages (#11163) (bf9d5bb)
- radio: update set disabled directly on MatRadioButton to trigger change detection (#11056) (a4597c9)
6.0.0 vibranium-vivarium (2018-05-03)
Highlights
MatTreecomponent is now available, @tinayuangao recently gave a talk at ng-conf about the new component<mat-table>and<cdk-table>now native<table>elements in addition to the existingdisplay: flexbased layoutMatTablenow supports having an optional footer row- Schematics are now available for Angular Material, @jelbourn recently gave a talk at ng-conf about using schematics
MatTabscontent can now be lazy loadedMatBadgeandMatBottomSheetcomponents are now available@angular/cdk/overlayhas a new positioning strategy available,FlexibleConnectedPositionStrategy, which intelligently handles sizing and positioning to ensure that overlay contents always remain on the screenMatIconnow allows SVG icons to be registered from strings@angular/cdk/keycodesnow includes most keycodes you might need for building a web application- 130+ bug fixes
- Docs for v5 are now available at v5.material.angular.io
- A version picker is available material.angular.io to switch between docs versions
Upgrading to Angular Material 6.0
With the Angular CLI v6.0+, you can use the ng update command to automatically migrate to the new APIs
ng update @angular/material
NOTE: There may be some cases where the tool may be unable to automatically migrate, but will notify you of those cases
Breaking Changes
- A number of APIs that were deprecated during beta have been removed, see here for complete list
- See
ng updatetooling above to automatically migrate to the new APIs
Bug Fixes
- autocomplete: panel direction not being updated if the trigger direction changes (#10916) (8c30cee)
- button-toggle: not usable in high contrast mode (#11097) (dd2f465)
- dialog: add generic parameter for the dialog result to open method (#11059) (bf1bdc0)
- form-field: inconsistent underline height at different DPIs (#11062) (0f7d503)
- form-field: scrollbars appear on autosize textarea in chrome (#10811) (385f96d)
- form-field,select: handle form field controls inside toolbar (#10627) (1a3993e)
- list: selection list always firing change event for selectAll and deselectAll (#11029) (54c0b00)
- menu: not updating panel direction after init (#11070) (294ba3c)
- menu: unable to open same sub-menu from different triggers and not picking up indirect descendant items (#10132) (5393bfe)
- overlay: error when rendering flexible overlay on the server (#11072) (422d102)
- paginator: handle negative pageSize and pageIndex correctly (#11068) (3f5e481)
- select: losing focus position when tabbing away after clicking inside multi select (#10905) (c6ad1f8)
- select: unable to toggle multi select option after using the mouse (#11061) (01d0993)
- sidenav: box shadow visible while closed when rendering on the server (#10969) (cfe6c1d)
6.0.0-rc.14 (2018-04-30)
Bug Fixes
- card: flat card selector not working (#11028) (b67813e), closes #11014
- ci: Shard tests on CI across 3 browsers (#11048) (a647579)
- overlay: always dispatch keyboard events to top overlay in OverlayKeyboardDispatcher (#10807) (d96fa07), closes #10799
- schematics: allow more tsconfig locations for ng update (#11058) (7bbc040)
6.0.0-rc.13 (2018-04-26)
Bug Fixes
- accordion: complete accordion item emitters on destroy (#10858) (b8e97b2)
- bottom-sheet: server-side rendering error when opened (#10487) (6d9ed8a)
- chips: unable to bind to chip input placeholder (#10855) (acb0bd0), closes #10848
- datepicker: allow MatCalendarHeader to be re-used inside a custom header (#10856) (153dfb8)
- datepicker: calendar stateChanges not being completed (#10960) (f08a4ec)
- datepicker: producing wrong selector for disabled dates for themes inside a selector (#10904) (54301da), closes #10889
- examples: add missing module imports and exports (#10947) (069e1df)
- form-field: inconsistent border width across outline gap in Chrome (#10956) (a609acf), closes #10710
- form-field: make outline appearance work in situations where the… (#10943) (a0c77e2)
- menu: not closing sibling sub-menus when hovering over disabled items (#10396) (3b7fe64)
- menu: set proper focus origin when the user starts using the keyboard after opening with the mouse (#11000) (ec3e3e7), closes #10980
- overlay: clear element reference on destroy (#10486) (0e21443)
- overlay: handle OnDestroy in FullscreenOverlayContainer and use document injection token (#10773) (d2b183e)
- overlay: unable to use overlay provider during app initialization (#10975) (e4817bb), closes #10967
- overlay: wrong import path in distributed overlay styles (#10999) (257a777), closes #10908
- radio: radios aren't checkable when the value is falsy (#10315) (4e48cf4)
- ripple: only persist top ripple on pointer down (#10976) (a8d99da), closes #10973
- schematics: include 6.0.0 RC releases for migrations (#11010) (d52bc1d)
- schematics: support basic style asset string (#10989) (45251ff), closes #10912
- select,autocomplete: mat-option theme not being applied correctly when nested inside a selector (#10889) (1a60a7a)
- slider: truncate long decimal values (#10959) (aa752cd), closes #10951
- sort: arrow not centered vertically inside multiline headers (#10619) (99af109), closes #10604
- tab: add flex-basis hack for IE11 (#10369) (c367e66), closes #10237
- table: data source can listen for init from sort, page (#10593) (99f39ca)
- tabs: tab-nav-link disableRipple input not working (#10643) (45e1b29), closes #10636
- text-field: autosize textarea not scrolling to end of input on firefox (#10403) (d0a4e9f), closes #10400
- toolbar: improved high contrast accessibility (#10465) (e409ec4)
- tree: add theme & typography to angular-material-theme mixin (#11015) (a292d31)
- tree: remove invalid aria attribute (#10935) (a275dc1)
Features
- accordion: allow intermediate elements between accordion and expansion panel (#11016) (85252b3)
- cdk/keycodes: add missing keycodes (#10891) (c976040)
- overlay: allow multiple classes to be assigned to the backdrop (#10531) (540226c), closes #10529
- paginator: expose previousPageIndex inside PageEvent (#10759) (85039ca), closes #10758
- selection-list: add support for compareWith function (#10501) (7747e66)
- sidenav: allow for auto focusing to be disabled (#10933) (4ae63b3), closes #10402
- table: add optional footer row (#10330) (6df3709)
- tree: add level to tree node context (#10985) (f1589db)
6.0.0-rc.12 (2018-04-17)
Bug Fixes
- breakpoint-observer: split comma separated queries into separte queries (#10789) (7c1549a)
- datepicker: high contrast accessibility improvements (#10363) (4d23b08)
- datepicker: update popup direction if datepicker direction changes (#10871) (4cc72b8)
- directionality: complete change event on destroy (#10826) (b057391)
- form-field: incorrect label position for outline style in prod mode (#10803) (7484321)
- menu: svg icons not aligned inside menu item (#10837) (2af9c35), closes #10832
- schematics: correct path to ng-update entry-point (#10850) (6a82c65)
- schematics: ignore e2e projects w/
ng add(#10883) (5554506) - schematics: make v6 migration work (#10853) (c9f5be6)
- scrolling: complete ScrollDispatcher.scrolled on destroy (#10794) (41be069)
- select: open method triggered twice on click (#7619) (991daac)
- selection-list: toggle newly-focused item when pressing arrow key + shift (#10828) (975fe7e)
- stepper: not resetting to first step when some of the steps aren't editable (#10804) (5df8d01), closes #10801
- table: Allow any iterable to be used as for
columnsin headerrow and row defs (#10822) (92e5f55) - tree: make toggle non-recursive by default (#10879) (5920bc3)
- stepper: add animationDone event (#10752) (358a12d), closes #9087
6.0.0-rc.11 (2018-04-13)
Bug Fixes
- schematics: Fix a number of issues with ng-update schematic for v5 -> v6 migration
6.0.0-rc.5 (2018-04-13)
Bug Fixes
- schematics: move ng-update under correct location (d98fb35)
6.0.0-rc.4 (2018-04-13)
Bug Fixes
6.0.0-rc.3 (2018-04-12)
Bug Fixes
- button-toggle: selected value not being maintained when changing value while toggles are being swapped out (#10707) (dec91ce), closes #10690
- focus-monitor: server-side rendering error when using focusVia (#10729) (44a0a4f)
- radio: checked radio button indistinguishable in high contrast mode (#10753) (a74099f)
- schematics: schematics now functioning with Angular CLI v6 (#10703) (023e8f4)
6.0.0-rc.2 (2018-04-11)
Features
- coercion: add utility for coercing CSS values (#10654) (e30824c)
- icon: allow SVG icons to be registered from strings (#10757) (57efa13), closes #3132
- overlay: add the ability to set the default offsets on FlexibleConnectedPositionStrategy (#10555) (bcff93e)
- table: support native table selectors (#10594) (7774da2)
Bug Fixes
- autocomplete: panel width not being updated on window resize (#10629) (2dc4e70)
- badge: incorrectly handling rtl (#10630) (9c1f8a9)
- button-toggle: changed after checked error for repeated toggles with a preselected value (#10612) (9a3d3e8)
- button-toggle: setting blank aria-label attribute by default (#10605) (95dba59)
- datepicker: avoid accidental form submissions through calendar buttons (#10515) (edb57f9), closes #10514
- datepicker: close datepicker popup on alt + up arrow (#10662) (446ef66)
- datepicker: export
MatCalendarHeader(#10633) (5df1af6) - datepicker: nested animation not working (#10355) (9fff92f), closes #9134
- datepicker: overly broad selector in theme (#10372) (5b7a6a3)
- datepicker: reformat valid values on blur (#10777) (603dfa4), closes #10645
- focus-monitor: hitting ngzone when using focusVia (#10608) (b38b966)
- focus-trap: wrong element being checked when logging deprecation warning (#10578) (52493d1)
- form-field: run change detection when prefix or suffix changes (#10670) (515cc06)
- form-field: server-side rendering error with outline appearance (#10719) (39887da)
- overlay: centered flexible positioning not working in some browsers (#10701) (dfc3b02)
- overlay: incorrect bottom offset using upward-flowing flexible position with a viewport margin (#10650) (306b704)
- platform: change isBrowser check to use Angular PLATFORM_ID (#10659) (f023579)
- progress-spinner: set spinner width to match diameter. (#10314) (c64cb7e)
- sidenav: remove dependency on OverlayModule (#10357) (27ef2dc)
- slide-toggle: run timeout outside the NgZone (#10655) (6f7765e)
- stepper: header icon collapsing with very long labels (#10341) (5b5f2ee), closes #10332
- stepper: horizontal stepper cutting off bottom part of content (#10644) (4fbde10), closes #10634
- table: MatTableDataSource incorrectly sorting zero (#10561) (bcb5697), closes #10556
- table,sort,paginator: incorrect spacing in rtl (#10617) (46ca6ce)
- tabs: hide mat-tab-nav-bar ink bar when no link is active (#9701) (51206ee), closes #9671
- tabs: tab content portal not being cleaned up on destroy (#10661) (2e3393a)
- theme: apply base theme classes at location the theme is included (#10737) (2aba8ab)
- tooltip: error when updating position while closed (#10704) (6449ae1)
- tree: fix exported symbol cannot be named error. (#10626) (6729b6d)
- tree: fix nested node cannot expand/collapse multiple times (#10671) (5570beb)
- tree: fix nested node is not working (#10635) (7857b92)
6.0.0-rc.1 (2018-04-05)
Bug Fixes
- autocomplete: panel width not being updated on window resize (#10629) (2dc4e70)
- badge: incorrectly handling rtl (#10630) (9c1f8a9)
- button-toggle: changed after checked error for repeated toggles with a preselected value (#10612) (9a3d3e8)
- button-toggle: setting blank aria-label attribute by default (#10605) (95dba59)
- datepicker: close datepicker popup on alt + up arrow (#10662) (446ef66)
- datepicker: export
MatCalendarHeader(#10633) (5df1af6) - datepicker: overly broad selector in theme (#10372) (5b7a6a3)
- focus-monitor: hitting ngzone when using focusVia (#10608) (b38b966)
- focus-trap: wrong element being checked when logging deprecation warning (#10578) (52493d1)
- form-field: run change detection when prefix or suffix changes (#10670) (515cc06)
- overlay: incorrect bottom offset using upward-flowing flexible position with a viewport margin (#10650) (306b704)
- progress-spinner: set spinner width to match diameter. (#10314) (c64cb7e)
- sidenav: remove dependency on OverlayModule (#10357) (27ef2dc)
- slide-toggle: run timeout outside the NgZone (#10655) (6f7765e)
- stepper: horizontal stepper cutting off bottom part of content (#10644) (4fbde10), closes #10634
- table,sort,paginator: incorrect spacing in rtl (#10617) (46ca6ce)
- tabs: tab content portal not being cleaned up on destroy (#10661) (2e3393a)
- tooltip: error when updating position while closed (#10704) (6449ae1)
- tree: fix exported symbol cannot be named error. (#10626) (6729b6d)
- tree: fix nested node cannot expand/collapse multiple times (#10671) (5570beb)
- tree: fix nested node is not working (#10635) (7857b92)
Features
- coercion: add utility for coercing CSS values (#10654) (e30824c)
- overlay: add the ability to set the default offsets on FlexibleConnectedPositionStrategy (#10555) (bcff93e)
- table: support native table selectors (#10594) (7774da2)
6.0.0-rc.0 (2018-03-29)
Known issues
- MatButtonToggleGroup causes ExpressionChangedAfterItHasBeenCheckedError (#10607)
- focus-trap: wrong element being checked when logging deprecation warning (#10578)
Bug Fixes
- bottom-sheet: handle overflowing content (#10533) (cb6d469)
- datepicker: add back MAT_DATE_LOCALE_PROVIDER (#10602) (7fd7ad3)
- datepicker: incorrect icon color (#10458) (4e298a6)
- datepicker: set canPush to false for position strategy (#10609) (67c7348)
- drawer: better handling of high contrast mode (#10418) (ff2860f)
- input: inaccurate textarea check during server-side render (#10467) (dda1d04)
- overlay: CdkConnectedOverlay ignoring offset from position config (#10451) (1659004)
- select: MatOption state change stream not being completed (#10540) (b8bb62f)
- slider: unable to slide to max value under certain conditions (#10364) (d50fd3d), closes #10148
- sort: add aria-sort to host when sorted (#6891) (63f713f)
- tree: fix the MatTreeNodeOutlet not exported issue (#10581) (0b8240c)
- tree: improve nested tree node & fix nested tree control (#10454) (2ddc257)
Features
- cdk/keycodes: add 0 and 9 numerical keypad codes (#10562) (d5cd0d6)
- stepper: allow number icon to be customized and expose template context variables (#10516) (946fd84), closes #10513
- tabs: Allow tab ink bar positioning to be determined with a provided method. (#9972) (02f5256)
- tooltip: allow for position to be updated while open (#10362) (04045d2)
6.0.0-beta.5 (2018-03-23)
This release contains many breaking changes due to the deletion of deprecated targets. We are currently working on a tool that will help migrate your app if you are affected by these changes. We expect to have the tool ready when we release version 6.0.0.
BREAKING CHANGES
- typography: The
$mat-font-familyvariable has been removed. Use the Material typography or redeclare in your project$mat-font-family: Roboto, 'Helvetica Neue', sans-serif;. - datepicker:
MatDatePickernow requires an animations module to be loaded - datepicker:
selectedChangedhas been removed. UsedateChangeordateInputfromMatDatepickerInput. - button-toggle:
selectedis no longer an input and is now readonly. - snack-bar:
SHOW_ANIMATIONhas been removed. HIDE_ANIMATIONhas been removed.- icon: The
_documentparameter in theMatIconRegistryconstructor is now required. - list:
selectionChangeon theMatListOption, which was deprecated in 5.0.0 has been removed. UseselectionChangeon theMatSelectionListinstead. MatListOptionChangewhich was deprecated in 5.0.0 has been removed.- slider:
thumb-labelwhich was deprecated in 5.0.0 has been removed. UsethumbLabelinstead. tick-intervalwhich was deprecated in 5.0.0 has been removed. UsetickIntervalinstead.- tooltip:
tooltip-positionwhich was deprecated in 5.0.0 has been removed. UsematTooltipPositioninstead. - The
_defaultOptionsparameter in theMatTooltipconstructor is now required. - select:
onOpen, which was deprecated in 5.0.0, has been removed. onClose, which was deprecated in 5.0.0, has been removed.change, which was deprecated in 5.0.0, has been removed.- chips:
removewhich was deprecated in 5.0.0 has been removed. Useremovedinstead. destroywhich was deprecated in 5.0.0 has been removed. Usedestroyedinstead.- text-field: The
_ngZoneparameter in theCdkTextareaAutosizeconstructor is now required. - sidenav: The
MatDrawerToggleResultclass has been turned into an type. - The promise returned from
open,closeandtogglenow resolves with theMatDrawerToggleResulttype rather than the class. alignwhich was deprecated in 5.0.0 has been removed. Usepositioninstead.openwhich was deprecated in 5.0.0 has been removed. Useopenedinstead.closewhich was deprecated in 5.0.0 has been removed. Useclosedinstead.align-changedwhich was deprecated in 5.0.0 has been removed. UsepositionChanged.- form-field: - dividerColor which was deprecated in 5.0.0 has been removed. Use color instead.
- floatPlaceholder which was deprecated in 5.0.0 has been removed. Use floatLabel instead.
- overlay:
ConnectedOverlayDirectivewhich was deprecated in 5.0.0 has been removed. UseCdkConnectedOverlayinstead. OverlayOriginwhich was deprecated in 5.0.0 has been removed. UseCdkOverlayOrigininstead.hasBackdropwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayHasBackdropinstead.openwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayOpeninstead.scrollStrategywhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayScrollStrategyinstead.backdropClasswhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayBackdropClassinstead.minHeightwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayMinHeightinstead.minWidthwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayMinWidthinstead.heightwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayHeightinstead.widthwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayWidthinstead.offsetXwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayOffsetXinstead.offsetYwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayOffsetYinstead.positionswhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayPositionsinstead.originwhich was deprecated in 5.0.0 has been removed. UsecdkConnectedOverlayOrigininstead.- tabs:
mat-dynamic-heightwhich was deprecated in 5.0.0 has been removed. UsedynamicHeightinstead. selectChangewhich was deprecated in 5.0.0 has been removed. UseselectedTabChange.- checkbox:
alignwhich was deprecated in 5.0.0 has been removed. UselabelPositioninstead. Note that the values are different. - form-field: - The following deprecated CSS classes have been removed:
- mat-input-container instead use mat-form-field
- mat-input-invalid instead use mat-form-field-invalid
- mat-input-wrapper instead use mat-form-field-wrapper
- mat-input-flex instead use mat-form-field-flex
- mat-input-prefix instead use mat-form-field-prefix
- mat-input-infix instead use mat-form-field-infix
- mat-input-placeholder-wrapper instead use mat-form-field-label-wrapper
- mat-input-placeholder instead use mat-form-field-label
- mat-input-suffix instead use mat-form-field-suffix
- mat-input-underline instead use mat-form-field-underline
- mat-input-ripple instead use mat-form-field-ripple
- mat-input-subscript-wrapper instead use mat-form-field-subscript-wrapper
- mat-input-hint-wrapper instead use mat-form-field-hint-wrapper
- mat-input-hint-spacer instead use mat-form-field-hint-spacer
- mat-form-field-placeholder-wrapper instead use mat-form-field-label-wrapper
- mat-form-field-placeholder instead use mat-form-field-label
- a11y: The
rendererparameter inFocusMonitor.monitorhas been removed. cdk-focus-trapwhich was deprecated in 5.0.0 has been removed. UsecdkTrapFocusinstead.- autocomplete: The
defaultsparameter in theMatAutocompleteconstructor is now required. - form-field: MatFormFieldControl.shouldPlaceholderFloat which was deprecated in 5.0.0 has been removed. * MatFormFieldControl.shouldLabelFloat is no longer optional and should be used instead.
FloatPlaceholderTypewhich was deprecated in 5.0.0 has been removed. UseFloatLabelTypeinstead.PlaceholderOptionswhich was deprecated in 5.0.0 has been removed. UseLabelOptionsinstead.MAT_PLACEHOLDER_GLOBAL_OPTIONSwhich was deprecated in 5.0.0 has been removed. UseMAT_LABEL_GLOBAL_OPTIONSinstead.- snack-bar:
extraClasseswhich was deprecated in 5.0.0 has been removed. UsepanelClassinstead. - portal: The
portalHostandcdkPortalHostinputs which were deprecated in 5.0.0 have been removed. UsecdkPortalOutletinstead.
Features
- button-toggle: general component cleanup and support value input in multiple mode (#9191) (a403bac), closes #2773 #2773 #9058
- cdk: switch injectables to new scope API (#10301) (6405da9)
- cdk-input: move input autofill and autosize utils into cdk (#9831) (ced9c90)
- chips: allow for separatorKeyCodes to be configured globally (#10264) (3c8a498), closes #10256
- datepicker: add animation to calendar popup (#8999) (c42549e)
- datepicker: Add Custom Header to DatePicker (#9639) (4e1bb26)
- form-field: allow setting default appearance via provider (#9815) (158b1db)
- icon: add input for inline styling of icons (#9984) (be1fc08)
- icon: add utility to mirror icons in RTL (#10327) (11a3fe1), closes #10045
- material: use scoped injectables (#10507) (f7b5d34)
- overlay: add support for flexible connected positioning (#9153) (27e5f6e), closes #6534 #2725 #5267
- schematics: dashboard schematic (#10011) (6273d6a)
- schematics: navigation schematic (#10009) (279c112)
- schematics: table schematic (#10012) (e7533a5)
- tabs: support stretched tabs in mat-tab-nav-bar (#10368) (89ea485), closes #8871
Bug Fixes
- badge: invalid style declaration and too broad transition (#10433) (c14cf7c)
- bottom-sheet: error when attempting to open multiple instances quickly (#10147) (34e96f5)
- button: theme font color being overwritten (#9771) (c3a8d0c), closes #4614 #9231 #9634
- checkbox: setting blank aria-label by default (#10281) (c12d7c4)
- chip-list: set key manager active index to -1 when blurred (#10335) (b10fff4)
- chips: form field label pointing to non-existing elements (#9908) (9337ae1)
- datepicker: server-side rendering error for disabled input (#10249) (af4fc9b), closes #10248
- icon: namespace error when registering an icon on the server (#10175) (498534b), closes #10170
- input: setting blank placeholder by default (#10277) (889a9f2)
- overlay: clear last calculated position when new set of positions is provided (#10462) (cdb6e40), closes #10457
- overlay: incorrect bounding box bottom position when page is scrolled and content is flowing upwards (#10463) (1dd8a27)
- overlay: incorrect bounding box styles if position is exactly zero (#10470) (eefa9c4)
- overlay: opaque backdrop appearing solid in high contrast mode (#10252) (8366ec6)
- select: scroll strategy token cannot inject overlay (#10535) (3eb71c2)
- table: move padding from rows to cells (#10499) (e0321db)
- tree: fix mat-tree paddings (#10349) (d065aea)
- tree: invalid style declaration during server-side rendering (#10326) (c205749), closes #10131
Code Refactoring
- a11y: remove 6.0.0 deletion targets (#10325) (7a42c35)
- autocomplete: remove 6.0.0 deletion targets (#10319) (0af5bca)
- button-toggle: remove 6.0.0 deletion targets (#10416) (f0bf6e7)
- checkbox: remove 6.0.0 deletion targets (#10342) (9f8eec1)
- chips: remove 6.0.0 deletion targets (#10311) (1a8106d)
- datepicker: remove 6.0.0 deletion targets (#10413) (8bc7ee9)
- form-field: remove deprecated @Inputs (#10294) (f133da9), closes #10164
- form-field: remove deprecated CSS classes (#10296) (aa2356d)
- form-field: remove deprecated placeholder options. (#10291) (26ee3e7)
- icon: remove 6.0.0 deletion targets (#10389) (e8af5ae)
- list: remove 6.0.0 deletion targets (#10398) (d8a365e)
- overlay: remove 6.0.0 deletion targets (#10161) (54252d5)
- portal: remove 6.0.0 deletion targets (#10257) (88abd9e)
- select: remove 6.0.0 deletion targets (#10163) (2b745c4)
- sidenav: remove 6.0.0 deletion targets (#10279) (c1d4666)
- slider: remove 6.0.0 deletion targets (#10373) (c8cc414)
- snack-bar: remove 6.0.0 deletion targets (#10253) (88bb6f3)
- snack-bar: remove overly broad animation variables (#10405) (9f3bf27)
- tabs: remove 6.0.0 deletion targets (#10309) (4d05cda)
- text-field: make constructor parameters required (#10431) (5e5aae3)
- tooltip: remove 6.0.0 deletion targets (#10344) (999cb57)
- typography: remove deprecated variable (#10430) (9a1ae9c)
6.0.0-beta.4 (2018-03-05)
Highlights
- New tree component! The base behavior lives in
@angular/cdkwith Material Design flavors in@angular/material.
Bug Fixes
- button: hide overflow of buttons to prevent overflow of hover/ripple (#9424) (915a2b7)
- avoid layout jumping on elements with ripples in RTL (#10026) (900716a)
- chips: Update chips in chip list, and add margin to chip input (#8579) (67e710c)
- datepicker: improve native adapter DST handling (#10068) (2fad732)
- dialog: actions not being pulled down when trapping focus (#10007) (8a402d0), closes #9722
- dialog: don't provide directionality if user injector has one already (#10004) (e3d7aec)
- expansion-panel: entire body content being shown on animation start (#10138) (b4b76bd), closes #10134
- grid-list: default to LTR when Directionality value is empty (#10111) (64ef3a8)
- grid-list: invalid style declaration during server-side rendering (#10131) (a27d9df)
- list: align avatar size in dense list with spec (#10028) (d4a4f61), closes #10019
- list-key-manager: not ignoring vertical key events in horizontal-only mode (#10075) (ffbb425)
- menu: detach lazily-rendered content when the menu is closed (#10005) (bb1803d), closes #9915
- overlay: hide overlay container when there are no attached overlays (#10139) (4b528f6), closes #6882 #10033
- paginator: first/last icons being thrown off on IE and Edge; simplify icon setup (#9776) (dd082cb)
- select: animation jumping on IE11 (#10050) (a5909db)
- selection-list: improve accessibility of selection list (#10137) (51fce51), closes #9995
- selection-list: repeated preselected items not appearing as selected with OnPush parent (#10100) (cdd224a), closes #10090
- tree: fix type error in tree (#10095) (6d94aec)
Features
- list-key-manager: accept item references in setActiveItem (#10029) (92ed9c8)
- menu: allow for backdrop class to be customized (#10097) (2ece035), closes #10062
- menu: allow for backdrop to be disabled (#10070) (e42f0bc), closes #9938
- snack-bar: add injection token for overriding the default options (#9849) (a943b36), closes #9821
- stepper: require users to visit non-optional steps (#10048) (77c8d8f)
- tree: merge tree branch to master (#9796) (c975ca8)
6.0.0-beta.3 (2018-02-27)
Bug Fixes
- select: animation jumping on IE11 (#10050) (a5909db)
- tree: fix type error in tree (#10095) (6d94aec)
Features
- menu: allow for backdrop class to be customized (#10097) (2ece035), closes #10062
- tree: merge tree branch to master (#9796) (c975ca8)
6.0.0-beta.2 (2018-02-21)
Bug Fixes
- badge: AoT and server-side rendering errors (#9935) (06b4017)
- badge: hard to see in high contrast mode (#9973) (1b2f90c)
- badge: incorrectly setting aria-describedby (#9957) (aed7e8a)
- badge: move styles into the theme mixin (#9999) (00a6c90)
- badge: remove top-level ampersand selectors from theme mixin (#9991) (bd7a408), closes #9990
- bottom-sheet: inject correct directionality in child components (#9996) (9d784a0)
- button: inconsistent overflow value between browsers (#9933) (9d19291)
- chips: Fix chip and chip list selectable (#9955) (949a69b)
- expansion-panel,menu,select: nested animations not working (#9134) (1e2b79a), closes #8814 #8953
- input: AutofillMonitor stream not being completed when stopping monitoring (#9886) (87bbfc5)
- overlay: default to global directionality (#9994) (47674f1), closes #9817
- tooltip: memory leak in _setTooltipMessage (#6782) (66a01fb)
Features
- button-toggle add ripples to button-toggle (#9891) (53417d4), closes #9442
- autocomplete: add opened/closed events to panel (#9904) (82c5ff0), closes #9894
- badge: add badge component (#7483) (c98d217)
- bottom-sheet: add result param when dismissing bottom sheet (#9810) (98a6910)
- datepicker: add theming support (#9407) (0383704)
- drawer: allow for backdrop to be disabled (#9381) (6d4e052), closes #5300
- schematics: add material scaffolding schematic (#9883) (45399c6)
- typography: add letter-spacing configuration to typography configs. (#9932) (f30609c)
6.0.0-beta.1 (2018-02-12)
- Fix typo in version name (using a dash instead of a dot)
- Update Angular peer dependency to 6.0.0-beta.x
6.0.0-beta-0 (2018-02-12)
Bug Fixes
- overlay: validate that ConnectedPositionStrategy positions are passed in correctly at runtime (#9466) (6a8ce02)
Features
- add bottom sheet component (#9764) (bbf62cd)
- datepicker: @Output for year and month selected in multiyear/year (#9678) (c2e108e)
- expansion: add accordion expand/collapse all (#6929) (#7461) (3aceb73)
- form-field, chip: merge new form-field and chip features to master (#9762) (4a5287c), closes #9743 #9759 #9767
- schematics: add initial schematics utils (#9451) (673d56e)
- tabs: add ability to lazy load tab content (#8921) (6feaf62)
5.2.5 cardboard-kangaroo (2018-04-17)
Highlights
- Tweak peer deps to avoid warnings when updating Angular to 6.0
5.2.4 ash-submarine (2018-03-06)
Bug Fixes
- chips: Update chips in chip list, and add margin to chip input (#8579) (3074b45)
- expansion-panel: entire body content being shown on animation start (#10138) (35b66f9), closes #10134
- menu: detach lazily-rendered content when the menu is closed (#10005) (37b1a09), closes #9915
- menu: Fix #10005 lint error (c8ca770)
- overlay: hide overlay container when there are no attached overlays (#10139) (d0bc91d), closes #6882 #10033
- paginator: first/last icons being thrown off on IE and Edge; simplify icon setup (#9776) (85f9491)
- selection-list: improve accessibility of selection list (#10137) (cbe11d4), closes #9995
5.2.3 diamond-silhouette (2018-02-27)
Bug Fixes
- cdk-dialog: decorate dialog as an injectable (#10052) (07b4250)
- datepicker: improve native adapter DST handling (#10068) (2837196)
- avoid layout jumping on elements with ripples in RTL (#10026) (c93103b)
- dialog: actions not being pulled down when trapping focus (#10007) (9a39e24), closes #9722
- dialog: don't provide directionality if user injector has one already (#10004) (6ec0af1)
- grid-list: default to LTR when Directionality value is empty (#10111) (65810bc)
- grid-list: invalid style declaration during server-side rendering (#10131) (1576a99)
- list: align avatar size in dense list with spec (#10028) (7d81b6f), closes #10019
- list-key-manager: not ignoring vertical key events in horizontal-only mode (#10075) (f31a2f1)
- selection-list: repeated preselected items not appearing as selected with OnPush parent (#10100) (f93d0f4), closes #10090
- stepper: require users to visit non-optional steps (#10048) (d26aa6e)
5.2.2 cork-yacht (2018-02-21)
Bug Fixes
- aria-describer: better handling of non-string values (#9959) (d351e33)
- list: list-options require a parent selection list (#9899) (8cca2c2)
- list-key-manager: infinite loop if all items are disabled (#9981) (775f560)
- menu: not picking up indirect descendant items (#9971) (14b21e9), closes #9969
- overlay: expose backdropClick mouse event in ConnectedOverlayDirective (#9845) (5a1e7fe)
- platform: potential error if CSS object is undefined (#9968) (3212111), closes #9801
- select: icons inside option not centered (#9982) (ecc7f53), closes #9978
- select: lock dropdown position when scrolling (#9789) (30b90a2)
- selection-list: incorrect cursor if disabled (#9963) (13e809a), closes #9952
- tabs: ink bar not visible in high contrast mode (#9997) (1ba04eb)
- theming: add aliases for alternate spelling of "grey" (#9903) (36e1bc0)
- viewport-ruler: fix server-side rendering errors when attempting to measure the viewport (#9870) (ac4cd91)
5.2.1 ghillie-soup (2018-02-12)
Bug Fixes
- autocomplete: escape key inconsistency on IE (#9777) (180750e)
- button: better accessibility for flat buttons in high-contrast (#9783) (0d0c6d4)
- datepicker: add max/min filter to multi year and year views (#9727) (0793142)
- datepicker: changed after checked error if focused datepicker inputs turn disabled (#9717) (01ad7bd), closes #9559
- global-position-strategy: ignoring width and height from OverlayConfig (#9774) (b425a46), closes #9715
- overlay: dimension not updated after init (#8765) (c36b512)
- select: options inside option group not being rendered when wrapped with ng-container (#9769) (38fddfe), closes #9736
- selection-list: external changes to selection model not being reflected (#9846) (82df181), closes #9838
- slider: invisible in high contrast mode (#9792) (94bbffc)
- slider: unable to reset value by setting it back to undefined (#9768) (c2e2744), closes #9740
- radio: add aria-describedby passthrough to radio button input (#9741) (cd159f5)
5.2.0 selenium-scramble (2018-02-05)
Features
- autocomplete: add the ability to highlight the first option on open (#9495) (b42fcb9), closes #8423
- button: create stroked and flat button variants (#9365) (b652683)
- button: expose ripple instance (#9170) (17e36fe), closes #4179
- checkbox: expose ripple instance (#9176) (e09c0a6)
- datepicker: allow for mat-datepicker-toggle icon to be customized (#9487) (01867ad)
- dialog: support using dialog content directives with template dialogs (#9379) (99b768e), closes #5412
- drawer: expose CdkScrollable instance (#9183) (2d03af0), closes #9136
- expansion-panel: support two-way binding for the expanded property (#9327) (a72085b), closes #9311
- layout: add window breakpoints from spec (#9318) (1038950)
- list-key-manager: add support for horizontal directions (#9122) (ab02367)
- menu: support lazy rendering and passing in context data (#9271) (9fed87c), closes #9251
- observe-content: allow for the MutationObserver to be disabled (#9025) (aa2e76c)
- overlay: expose reference to the backdrop element (#9702) (959a8a1), closes #9689
- overlay: make it easier to override backdrop color (#9114) (3d18006), closes #7855
- paginator: Add functionality to jump to first and last page (#9603) (04cdb13), closes #9278
- paginator: allow page size selection to be disabled (#8373) (c8743e7), closes #8359
- portal: expose attached result in CdkPortalOutlet (#9326) (b626b13), closes #9304
- ripple: support animation duration overwrites (#9253) (3bc4cd3)
- ripple: support ripple fade-out on pointer up (#9694) (efb03c9), closes #9577
- slider: add focus and blur methods do MatSlider (#9373) (2d592a5)
- sort: fix animation; show on hover (#7608) (cde00df)
- stepper: add proper type to stepper buttons (#9401) (b3d2e78)
- stepper: add the ability to reset a stepper (#8623) (a6f9fc2)
- stepper: allow for header icons to be customized (#7482) (adc251c), closes #7384
- table: allow data input to be array, stream (#9489) (085d805)
Bug Fixes
- aria-describer: exception when attempting to describe a non-element node (#9392) (4c7a4f3)
- autocomplete: close panel using alt + up arrow (#9341) (2c192d0)
- autocomplete: error when closing from a destroyed view (#7365) (2b05106), closes #7315
- autocomplete: expose MatAutocompleteTrigger in template (#9703) (8997db0), closes #9687
- autocomplete: handle
optionSelectionsbeing accessed early (#8802) (4e1a6a8), closes #4616 - autocomplete: handle attaching autocomplete to a number input (#9672) (f75fa15), closes #9628
- autocomplete: panel not closing on IE when selecting an option with an empty string display value (#9506) (95ffe37), closes #9479
- autocomplete: prevent opening using arrow keys on readonly input (#9229) (9d152c0), closes #9227
- block-scroll-strategy: server-side rendering error (#9665) (3acbf26)
- button: accent color not set on fab buttons with build optimizer (#9376) (b3f8a42), closes #9360
- button: incorrect text color when no color is passed in on dark theme (#9234) (6824375), closes #9231
- button-toggle: inaccurate name passed down to input if no name is assigned (#9017) (54d60df)
- card: add camel-cased selectors to content projection (#6818) (d5a7cce), closes #6816
- card,tabs,toolbar: Make media query breakpoints follow Material spec (#9284) (7672913)
- checkbox: underlying native checkbox being rendered when parent uses css column layout (#9258) (eac1512), closes #9049
- chips: chip list capturing keyboard events from input (#9651) (a48f75b)
- collections: clean up UniqueSelectionDispatcher listeners on destroy (#9673) (26b0635)
- datepicker: calendar controls not being inverted in rtl (#9219) (8a3e023)
- datepicker: calendar keyboard controls not working if the user clicks on blank area (#9494) (0b8955b)
- datepicker: gray out filtered years in multi-year view (#9563) (403ebbd)
- datepicker: highlight datepicker toggle when calendar is open (#9426) (e3b5e3f)
- datepicker: set border radius on calendar popup (#9509) (4e7c1a3)
- dialog: server-side rendering error when attempting to trap focus (#9698) (acbf3c8)
- divider: add inset styles for icons and lists in cards (#9242) (d587abe)
- expansion: define default expansion header heights via css. (#9313) (c604834)
- expansion-panel: expand animation jumping (#8779) (37575c9)
- expansion-panel: improved accessibility labelling and keyboard default action not being prevented (#9174) (e62afdf)
- focus-monitor: implement OnDestroy logic (#9305) (8972bf4)
- focus-monitor: set up global listeners in root zone (#9542) (afcb3ea)
- form-field: unable to override font-size through typography config (#9463) (66dc73a)
- grid-list: tile being pulled outside the grid if no gap can be found (#9128) (c8127ed), closes #4515
- icon: prevent parsing the same icon set multiple times (#9635) (e6e4c3c)
- input: floating label not reacting when patching the value without emitting an event (#9260) (ec6678d), closes #8982
- input: respect text-align value from form-field (#9397) (5136361)
- interactivity-checker: carefully handle frame elements (#9340) (6f7332b), closes #3372
- keycodes: incorrect key code for nine (#9568) (637e1b6), closes #9567
- list: incorrect padding for list-items with avatars, icons (#9500) (39a5861), closes #9156
- list-key-manager: maintain selected index when amount of items changes (#9164) (4f65276)
- menu: always focus first menu item (#9383) (8430617), closes #9252
- menu: inconsistent side padding for nested menu items in RTL (#9124) (cc24c7c)
- menu: set appropriate origin when restoring focus (#9303) (278e25a), closes #9292
- menu,toolbar: avoid potential server-side rendering errors (#9423) (dfa68db)
- native-date-adapter: avoid error when formatting edge case dates in IE11 and Edge (#9523) (dd2fbc8)
- overlay: attempting to position overlay if it was detached immediately after being attached (#9507) (c7ad145), closes #9406
- overlay: ConnectedOverlayDirective not updating positions after first open (#9579) (d0011c4)
- overlay: default options not being applied correctly (#9088) (b153947)
- overlay: expose event object in backdropClick stream (#9716) (5611947), closes #9713
- overlay: onPositionChange stream not being completed (#8562) (7fe651b)
- overlay: OverlayKeyboardDispatcher not dispatching events when propagation is stopped (#9546) (e30852a)
- overlay: server-side rendering error when creating backdrop element (#9448) (a1db4e4)
- overlay: transparent overlay not blocking scroll on Firefox 57 (#9446) (d0ad3b7), closes #8924
- overlay: unable to change CdkConnectedOverlay origin dynamically (#9358) (df44767), closes #9353
- progress-bar: prevent users from tabbing into underlying SVG on IE (#9638) (0a1904d)
- progress-bar: remove data url for CSP compliance (#8898) (0f2ac9b)
- progress-spinner: element size not updated when diamater is changed (#8697) (6d4c7ae)
- radio: add support for tabindex on radio-buttons (#9467) (f1c3e2c), closes #9427
- scrolling: implement ngOnDestroy in ScrollDispatcher (#9608) (fd17cf2)
- select: close panel on alt + arrow key presses (#9250) (7c78c93)
- select: don't restore focus unless an option was selected (#8964) (9dc43de), closes #8915
- select: handle async changes to the option label (#9159) (245caae), closes #7923
- select: handle keyboard events from inside panel (#9361) (69270ef)
- select: support changing the value using left/right arrow keys while closed (#9578) (83b369e)
- selection-model: incorrect initial value when empty array is passed in single-selection mode (#9287) (075464f), closes #9273
- slide-toggle: truncate label content with ellipsis (#9166) (68bb44c), closes #5212
- slider: slider emiting changes on slide end when disabled (#9434) (1e2fe90)
- snack-bar: indicate in afterDismissed whether dismissal was a result of an action (#9154) (829506d), closes #9147
- stepper: header collapsing if box-sizing is set (#9505) (ffc5381), closes #9501
- stepper: overriding default completed logic when resetting (#9650) (7e352ce)
- stepper: support going to first/last steps via home/end keys (#9632) (834aecc)
- stepper: throw when out-of-bounds value is assigned to selectedIndex (#9127) (f54377c)
- stepper: unable to skip optional steps in linear stepper (#9245) (9dba30b), closes #9239
- tab-link: preventDefault action when disabled tab link is clicked. (#9357) (8de5e83)
- table: data source should sort empty values correctly (#8698) (f213f6c)
- tabs: move focus to first/last tabs using home/end (#9171) (24f62eb)
- theming: provide text color through mat-app-background (#9262) (1e7eeab)
- tooltip: match mobile dimensions from spec (#9181) (63a5588), closes #9039
Performance Improvements
5.2.0-beta.0 (2018-01-30)
Features
- autocomplete: add the ability automatically keep the first option active (#9495) (b42fcb9), closes #8423
- button: expose ripple instance (#9170) (17e36fe), closes #4179
- checkbox: expose ripple instance (#9176) (e09c0a6)
- datepicker: allow for mat-datepicker-toggle icon to be customized (#9487) (01867ad)
- dialog: support using dialog content directives with template dialogs (#9379) (99b768e), closes #5412
- drawer: expose CdkScrollable instance (#9183) (2d03af0), closes #9136
- expansion-panel: support two-way binding for the expanded property (#9327) (a72085b), closes #9311
- layout: add window breakpoints from spec (#9318) (1038950)
- list-key-manager: add support for horizontal directions (#9122) (ab02367)
- menu: support lazy rendering and passing in context data (#9271) (9fed87c), closes #9251
- observe-content: allow for the MutationObserver to be disabled (#9025) (aa2e76c)
- overlay: make it easier to override backdrop color (#9114) (3d18006), closes #7855
- paginator: allow page size selection to be disabled (#8373) (c8743e7), closes #8359
- portal: expose attached result in CdkPortalOutlet (#9326) (b626b13), closes #9304
- ripple: support animation duration overwrites (#9253) (3bc4cd3)
- slider: add focus and blur methods do MatSlider (#9373) (2d592a5)
- stepper: add proper type to stepper buttons (#9401) (b3d2e78)
- stepper: add the ability to reset a stepper (#8623) (a6f9fc2)
Bug Fixes
- aria-describer: exception when attempting to describe a non-element node (#9392) (4c7a4f3)
- autocomplete: close panel using alt + up arrow (#9341) (2c192d0)
- autocomplete: error when closing from a destroyed view (#7365) (2b05106), closes #7315
- autocomplete: handle
optionSelectionsbeing accessed early (#8802) (4e1a6a8), closes #4616 - autocomplete: prevent opening using arrow keys on readonly input (#9229) (9d152c0), closes #9227
- button: accent color not set on fab buttons with build optimizer (#9376) (b3f8a42), closes #9360
- button: incorrect text color when no color is passed in on dark theme (#9234) (6824375), closes #9231
- button-toggle: inaccurate name passed down to input if no name is assigned (#9017) (54d60df)
- card: add camel-cased selectors to content projection (#6818) (d5a7cce), closes #6816
- card,tabs,toolbar: Make media query breakpoints follow Material spec (#9284) (7672913)
- checkbox: underlying native checkbox being rendered when parent uses css column layout (#9258) (eac1512), closes #9049
- chips: chip list capturing keyboard events from input (#9651) (a48f75b)
- datepicker: calendar controls not being inverted in rtl (#9219) (8a3e023)
- datepicker: calendar keyboard controls not working if the user clicks on blank area (#9494) (0b8955b)
- datepicker: gray out filtered years in multi-year view (#9563) (403ebbd)
- datepicker: highlight datepicker toggle when calendar is open (#9426) (e3b5e3f)
- datepicker: set border radius on calendar popup (#9509) (4e7c1a3)
- expansion: define default expansion header heights via css. (#9313) (c604834)
- expansion-panel: improved accessibility labelling and keyboard default action not being prevented (#9174) (e62afdf)
- focus-monitor: implement OnDestroy logic (#9305) (8972bf4)
- focus-monitor: set up global listeners in root zone (#9542) (afcb3ea)
- form-field: unable to override font-size through typography config (#9463) (66dc73a)
- grid-list: tile being pulled outside the grid if no gap can be found (#9128) (c8127ed), closes #4515
- icon: prevent parsing the same icon set multiple times (#9635) (e6e4c3c)
- input: floating label not reacting when patching the value without emitting an event (#9260) (ec6678d), closes #8982
- input: respect text-align value from form-field (#9397) (5136361)
- interactivity-checker: carefully handle frame elements (#9340) (6f7332b), closes #3372
- keycodes: incorrect key code for nine (#9568) (637e1b6), closes #9567
- list: incorrect padding for list-items with avatars, icons (#9500) (39a5861), closes #9156
- list-key-manager: maintain selected index when amount of items changes (#9164) (4f65276)
- menu: always focus first menu item (#9383) (8430617), closes #9252
- menu: inconsistent side padding for nested menu items in RTL (#9124) (cc24c7c)
- menu: set appropriate origin when restoring focus (#9303) (278e25a), closes #9292
- menu,toolbar: avoid potential server-side rendering errors (#9423) (dfa68db)
- native-date-adapter: avoid error when formatting edge case dates in IE11 and Edge (#9523) (dd2fbc8)
- overlay: attempting to position overlay if it was detached immediately after being attached (#9507) (c7ad145), closes #9406
- overlay: ConnectedOverlayDirective not updating positions after first open (#9579) (d0011c4)
- overlay: default options not being applied correctly (#9088) (b153947)
- overlay: server-side rendering error when creating backdrop element (#9448) (a1db4e4)
- overlay: transparent overlay not blocking scroll on Firefox 57 (#9446) (d0ad3b7), closes #8924
- overlay: unable to change CdkConnectedOverlay origin dynamically (#9358) (df44767), closes #9353
- progress-bar: remove data url for CSP compliance (#8898) (0f2ac9b)
- progress-spinner: element size not updated when diamater is changed (#8697) (6d4c7ae)
- radio: add support for tabindex on radio-buttons (#9467) (f1c3e2c), closes #9427
- scrolling: implement ngOnDestroy in ScrollDispatcher (#9608) (fd17cf2)
- select: close panel on alt + arrow key presses (#9250) (7c78c93)
- select: don't restore focus unless an option was selected (#8964) (9dc43de), closes #8915
- select: handle async changes to the option label (#9159) (245caae), closes #7923
- select: handle keyboard events from inside panel (#9361) (69270ef)
- select: support changing the value using left/right arrow keys while closed (#9578) (83b369e)
- selection-model: incorrect initial value when empty array is passed in single-selection mode (#9287) (075464f), closes #9273
- slide-toggle: truncate label content with ellipsis (#9166) (68bb44c), closes #5212
- slider: slider emiting changes on slide end when disabled (#9434) (1e2fe90)
- snack-bar: indicate in afterDismissed whether dismissal was a result of an action (#9154) (829506d), closes #9147
- stepper: header collapsing if box-sizing is set (#9505) (ffc5381), closes #9501
- stepper: throw when out-of-bounds value is assigned to selectedIndex (#9127) (f54377c)
- stepper: unable to skip optional steps in linear stepper (#9245) (9dba30b), closes #9239
- tab-link: preventDefault action when disabled tab link is clicked. (#9357) (8de5e83)
- table: data source should sort empty values correctly (#8698) (f213f6c)
- tabs: move focus to first/last tabs using home/end (#9171) (24f62eb)
- theming: provide text color through mat-app-background (#9262) (1e7eeab)
Performance Improvements
5.1.1 silk-xylophone (2018-01-29)
Bug Fixes
- autocomplete: close panel using alt + up arrow (#9341) (a1ad82b)
- autocomplete: error when closing from a destroyed view (#7365) (00820f7), closes #7315
- autocomplete: handle
optionSelectionsbeing accessed early (#8802) (ec6168b), closes #4616 - autocomplete: prevent opening using arrow keys on readonly input (#9229) (f3b50b0), closes #9227
- button: accent color not set on fab buttons with build optimizer (#9376) (f6a59cd), closes #9360
- button-toggle: inaccurate name passed down to input if no name is assigned (#9017) (fda978a)
- card: add camel-cased selectors to content projection (#6818) (6e4f90f), closes #6816
- card,tabs,toolbar: Make media query breakpoints follow Material spec (#9284) (d6b3cc8)
- checkbox: underlying native checkbox being rendered when parent uses css column layout (#9258) (58b665e), closes #9049
- datepicker: calendar controls not being inverted in rtl (#9219) (af38b97)
- datepicker: calendar keyboard controls not working if the user clicks on blank area (#9494) (7cea0b6)
- datepicker: highlight datepicker toggle when calendar is open (#9426) (37d8716)
- datepicker: set border radius on calendar popup (#9509) (3f87dc4)
- expansion-panel: improved accessibility labelling and keyboard default action not being prevented (#9174) (444cee8)
- focus-monitor: implement OnDestroy logic (#9305) (e6cdce5)
- grid-list: tile being pulled outside the grid if no gap can be found (#9128) (5535325), closes #4515
- input: floating label not reacting when patching the value without emitting an event (#9260) (4a00499), closes #8982
- interactivity-checker: carefully handle frame elements (#9340) (305a81c), closes #3372
- keycodes: incorrect key code for nine (#9568) (b489559), closes #9567
- list: incorrect padding for list-items with avatars, icons (#9500) (db520cf), closes #9156
- menu: inconsistent side padding for nested menu items in RTL (#9124) (53d48f6)
- menu: set appropriate origin when restoring focus (#9303) (2bf9ad8), closes #9292
- native-date-adapter: avoid error when formatting edge case dates in IE11 and Edge (#9523) (d25ab57)
- overlay: default options not being applied correctly (#9088) (6f8f226)
- overlay: server-side rendering error when creating backdrop element (#9448) (5c98185)
- overlay: transparent overlay not blocking scroll on Firefox 57 (#9446) (e2999a8), closes #8924
- progress-spinner: element size not updated when diamater is changed (#8697) (23f0c47)
- select: close panel on alt + arrow key presses (#9250) (c3ec94d)
- select: don't restore focus unless an option was selected (#8964) (960b7cf), closes #8915
- select: handle async changes to the option label (#9159) (63a5184), closes #7923
- select: handle keyboard events from inside panel (#9361) (0d233b2)
- select: support changing the value using left/right arrow keys while closed (#9578) (b11523a)
- selection-model: incorrect initial value when empty array is passed in single-selection mode (#9287) (5d0fb95), closes #9273
- slide-toggle: truncate label content with ellipsis (#9166) (4bd96ce), closes #5212
- stepper: header collapsing if box-sizing is set (#9505) (ccc8fbb), closes #9501
- stepper: unable to skip optional steps in linear stepper (#9245) (517ea57), closes #9239
- tab-link: preventDefault action when disabled tab link is clicked. (#9357) (0b5806b)
- theming: provide text color through mat-app-background (#9262) (6d66a16)
- overlay: make it easier to override backdrop color (#9114) (4ff1fd4), closes #7855
5.1.0 burlap-bezel (2018-01-17)
Bug Fixes
- aria-describer: server-side rendering error during cleanup (#8903) (8a3b19e), closes #8901
- autocomplete: not implementing setDisabledState from ControlValueAccessor (#8746) (92bc503), closes #8735
- autocomplete: not resetting completely when overlay is detached externally (#8515) (a8cd033)
- autocomplete: panelClosingActions emitting twice in some cases (#8998) (4f97232)
- autocomplete: panelClosingActions emitting when tabbing away from a closed autocomplete (#8774) (92dcd76), closes #8763
- chip,stepper: compile cleanly with
"fullTemplateTypeCheck"(#8889) (50967b6) - chips: being able to focus disabled chip by clicking (#8892) (bfd513d), closes #8883
- chips: event propagation not stopped by remove button (#8772) (c7e2d4e), closes #8771
- connected-position-strategy: allow positions to be updated after init (#8800) (b7071ba)
- datepicker: leaking backdropClick subscriptions (#8919) (3728555)
- datepicker: not resetting when detached externally (#9133) (a0bd162)
- datepicker: typo in MatMonthView export (#9055) (2250747)
- datepicker: unable to close calendar when opened on focus in IE11 (#8918) (a411382), closes #8914
- dialog: change order of button actions (#9021) (230b297)
- dialog: hide all non-overlay content from assistive technology (#9016) (d82124d), closes #7787
- dialog: improved type safety in dialog ref result (#8766) (571ef46), closes #8760
- directionality: complete dir change observable (#8874) (41f5fe2)
- drawer: infinite loop when two-way opened binding is toggled mid-animation (#8872) (7c84490), closes #8869
- drawer: margins not being updated on direction changes (#9161) (ff1c5f1), closes #9158
- drawer: unable to close using keyboard if there are no focusable elements (#8783) (fba3728)
- expansion: accordion emitting closed event while closed (#9101) (92ded30), closes #9098
- focus-trap: server-side rendering error (#9001) (c77f69f), closes #8981
- form-field: hide required asterisk if control is disabled (#8799) (1c2f6b7), closes #8251
- global-position-strategy: error if disposed before applied (#8761) (f565560), closes #8758
- icon: handle values with unnecessary spaces being passed into fontIcon and fontSet (#9056) (1a735bc), closes #9054
- icon: server-side error when registering icons (#8492) (b6da765), closes #6787
- input: align caret color with spec (#8692) (b0449ab)
- input: allow color inputs in mat-form-field (#8748) (982982b), closes #8686
- layout: handle platforms that don't support matchMedia (#8775) (4846e4c), closes #8710
- list: prevent list icon shrinking (#9211) (5737b9f), closes #8699
- menu: not closing when overlay is detached externally (#8868) (4d8c712)
- paginator: coerce string values (#8946) (0388202)
- paginator: set default display value (#8455) (bd50fa6), closes #8454
- progress-bar: animation tearing in Firefox 57 (#9123) (9e47d40), closes #7606
- select: active item not being updated on click in multiple mode (#7808) (bc27fea)
- select: alt + arrow key not opening in single-selection mode (#8910) (a4c042b)
- select: change event emitted before data binding is updated (#8740) (5819385), closes #8739
- select: complete state change event (#8777) (4f78613)
- select: handle
optionSelectionChangesbeing accessed early (#8830) (97ebd76) - select: not marked as touched when clicking away (#8784) (984dece), closes #8573
- select: remove aria-owns when options aren't in the DOM (#9091) (d85c44b), closes #7023
- select: support using shift + arrow key to toggle items in a multi-select (#9037) (f82bbae)
- selection-list: allow jumping to first/last item using home/end (#9062) (bd36529)
- selection-list: allow users to jump focus to a particular item by typing (#9026) (af44b9d)
- selection-list: options not marked as selected if value is assigned too early (#9090) (bd7c751), closes #9085
- selection-list: preselected options not being added to the model value (#9116) (91ea1a1)
- selection-list: remove selected option from model value on destroy (#9106) (f8cd8eb)
- selection-list: unable to select using the enter key (#8595) (9105302), closes #8589
- slider: prevent slider thumb from getting cropped (#8061) (0b05a1f)
- stepper: completed binding not being considered when moving from a step without a stepControl (#9126) (32d0dbb), closes #8110
- stepper: use up/down arrows for navigating vertical stepper (#8920) (7b78b74)
- table: inaccurate row height (#8303) (baa8a6e), closes #8299
- too strict peer dependency of angular (#9355) (7187670), closes #9328
- table: row content not centered in IE (#6820) (1b79e92), closes #6813
- table: set height of mat-header-row to 56px (#8215) (0c4ee2e)
- theming: light text on colored backgrounds should be opaque (#7421) (1701b98)
- typography: deprecation warning if null font family is passed in (#9002) (d8c1392), closes #8973
- typography: handle inherit being set as a typography value (#8721) (139c506), closes #8700
Features
- autocomplete: allow option ripples to be disabled (#8851) (ff31ac8)
- close-scroll-strategy: add scroll threshold option (#8656) (c0ff761)
- datepicker: add animation to calendar popup (#8542) (c3e267f)
- datepicker: add year selection mode (#8565) (cdbabf7)
- dialog: allow default dialog options to be configurable (#9113) (05304f0)
- dialog: allow for closing on navigation to be disabled (#9024) (c349c58), closes #8983
- dialog: allow for single dialog scroll strategy to be overwritten (#8726) (c7de734), closes #8706
- divider: move divider out of mat-list (#5862) (bd0ec64)
- elevations: Allow tonal color elevations through mat-elevation mixin. (#8995) (21d004a)
- expansion-panel: allow for content to be rendered lazily (#8243) (60ba0a7), closes #8230
- table: support directly adding column, row, and header defs (#8744) (693c8e8)
- tabs: add animation done event #5238 (#6811) (3a52624)
- tooltip: add injection token for specifying the default delays (#8109) (3dcf4cd), closes #7928
Performance Improvements
- ripple: do not register events if ripples are disabled initially (#8882) (58b93dc)
- ripple: use passive event listeners (#8719) (12feff7)
5.0.4 linoleum-wormhole (2018-01-08)
Bug Fixes
- chips: being able to focus disabled chip by clicking (#8892) (699b7c2), closes #8883
- datepicker: typo in MatMonthView export (#9055) (3e99bcc)
- dialog: hide all non-overlay content from assistive technology (#9016) (ef06a9c), closes #7787
- directionality: complete dir change observable (#8874) (a2438fa)
- drawer: margins not being updated on direction changes (#9161) (f64a857), closes #9158
- expansion: accordion emitting closed event while closed (#9101) (50161ae), closes #9098
- focus-trap: server-side rendering error (#9001) (7698193), closes #8981
- icon: handle values with unnecessary spaces being passed into fontIcon and fontSet (#9056) (b71d954), closes #9054
- icon: server-side error when registering icons (#8492) (61b12b6), closes #6787
- input: align caret color with spec (#8692) (1eb8450)
- layout: handle platforms that don't support matchMedia (#8775) (673a636), closes #8710
- progress-bar: animation tearing in Firefox 57 (#9123) (255f9d8), closes #7606
- select: active item not being updated on click in multiple mode (#7808) (ce2487e)
- select: not marked as touched when clicking away (#8784) (c0209fc), closes #8573
- select: remove aria-owns when options aren't in the DOM (#9091) (4a03497), closes #7023
- select: support using shift + arrow key to toggle items in a multi-select (#9037) (76055a4)
- selection-list: allow jumping to first/last item using home/end (#9062) (6d70f2c)
- selection-list: allow users to jump focus to a particular item by typing (#9026) (7167113)
- selection-list: options not marked as selected if value is assigned too early (#9090) (c61a289), closes #9085
- selection-list: preselected options not being added to the model value (#9116) (2235239)
- selection-list: remove selected option from model value on destroy (#9106) (02a1334)
- stepper: completed binding not being considered when moving from a step without a stepControl (#9126) (9da4e71), closes #8110
- stepper: use up/down arrows for navigating vertical stepper (#8920) (a6c7888)
- typography: deprecation warning if null font family is passed in (#9002) (497816b), closes #8973
Performance Improvements
5.0.3 concrete-aeroplane (2018-01-02)
Bug Fixes
- autocomplete: panelClosingActions emitting twice in some cases (#8998) (22c3259)
- dialog: change order of button actions (#9021) (7b879a5)
5.0.2 flannel-battlestar (2017-12-19)
Bug Fixes
- aria-describer: server-side rendering error during cleanup (#8903) (b2370ce), closes #8901
- autocomplete: not implementing setDisabledState from ControlValueAccessor (#8746) (ae639da), closes #8735
- autocomplete: not resetting completely when overlay is detached externally (#8515) (8e14343)
- autocomplete: panelClosingActions emitting when tabbing away from a closed autocomplete (#8774) (3066929), closes #8763
- autosize: not updating when window is resized (#8619) (97f67c5), closes #8610
- autosize: remove resize handle (#8621) (28452ab)
- chip,stepper: compile cleanly with
"fullTemplateTypeCheck"(#8889) (eec7c73) - chips: event propagation not stopped by remove button (#8772) (0236623), closes #8771
- connected-position-strategy: allow positions to be updated after init (#8800) (c207219)
- datepicker: leaking backdropClick subscriptions (#8919) (baf22ec)
- dialog: improved type safety in dialog ref result (#8766) (657f649), closes #8760
- drawer: infinite loop when two-way opened binding is toggled mid-animation (#8872) (241be7a), closes #8869
- drawer: unable to close using keyboard if there are no focusable elements (#8783) (9aabb14)
- global-position-strategy: error if disposed before applied (#8761) (8d79cc8), closes #8758
- input: allow color inputs in mat-form-field (#8748) (92d198b), closes #8686
- menu: not closing when overlay is detached externally (#8868) (534c797)
- overlay: export OverlaySizeConfig (#8932) (adfa31e)
- paginator: set default display value (#8455) (ccb325e), closes #8454
- portal: inaccurate hasAttahed result and portal being cleared if attached too early (#8642) (93e6c53), closes /github.com/angular/material2/blob/master/src/lib/dialog/dialog-container.ts#L118 #8628
- select: alt + arrow key not opening in single-selection mode (#8910) (85f83f9)
- select: change event emitted before data binding is updated (#8740) (2493797), closes #8739
- select: complete state change event (#8777) (46411e3)
- safety check for window in common module. (#8816) (a6cedd2), closes #8809
- select: handle
optionSelectionChangesbeing accessed early (#8830) (c98321c) - select,input: inconsistent disabled text color (#7794) (4d47750), closes #7793
- selection-list: unable to select using the enter key (#8595) (c23853f), closes #8589
- slider: prevent slider thumb from getting cropped (#8061) (f33c7cf)
- tooltip: not closing when scrolling away (#8688) (e96a847)
- typography: handle inherit being set as a typography value (#8721) (e45b164), closes #8700
Performance Improvements
5.0.1 ceramic-gravy (2017-12-11)
Bug Fixes
- common: safety check for window in common module. (#8816) (fb9ea53), closes #8809
- autosize: not updating when window is resized (#8619) (b8664b8), closes #8610
- autosize: remove resize handle (#8621) (0d2a419)
- overlay: export OverlaySizeConfig (#8932) (a626c8f)
- portal: inaccurate hasAttached result and portal being cleared if attached too early (#8642) (b488b39), closes #8628
- select,input: inconsistent disabled text color (#7794) (f31be6f), closes #7793
- tooltip: not closing when scrolling away (#8688) (d5a2fca)
5.0.0 velvet-cuttlefish (2017-12-06)
Bug Fixes
- drawer: avoid initial animation when rendering on the server (#8828) (2b1f84e), closes #6865
- tabs: hide tab body content after leaving the tab's view area (#8827) (05d726d)
Features
5.0.0-rc.3 ink-sparkler (2017-12-05)
BREAKING CHANGES
- overlay: OverlayRef.getConfig returns an immutable version of the config object.
- overlay: OverlayRef.updateSize now accepts a OverlaySizeConfig rather than being based on the existing config object.
Features
- checkbox: Support checkbox click action config (#8521) (537b8b5)
- datepicker: add opened input binding (#8098) (2b9bc57), closes #8094
- form-field: add support for separate label and placeholder (#8223) (d6fec35), closes #6194
- ripple: handle touch events (#7927) (65cd1a1), closes #7062
- sort: add the ability to disable sort toggling (#8643) (7576a73), closes #8622
Bug Fixes
- checkbox: don't hide focus indicator on space press. (#8539) (9e35bf0)
- chip-list: fix error state changes in chip list (#8425) (d2c11ca)
- chip-list: stateChanges stream not being completed (#8636) (61dada8)
- datepicker: calendar overlapping input when in a fallback position (#8099) (e5b7afe)
- datepicker: keyboard fixes (enter matches click behavior & corre… (#7370) (0b2757c)
- datepicker: placeholder not floating when an invalid value is typed in (#8603) (f0789eb), closes #8575
- directionality: change event now emit the new value (#8424) (841f753)
- drawer: allow for drawer container to auto-resize while open (#8488) (e7b412a), closes #6743
- form-field: unable to tap on certain types of inputs on iOS (#8543) (74c1d01), closes #8001
- input: Add pure-CSS floating label logic that will work on... (#8491) (1a7a61a)
- input: stuck in focused state if disabled while in focus (#8637) (bec4cfe), closes #8634
- list: fix role for list-item (#8767) (8f7c7cf)
- menu: not closing when overlay is detached externally (#8654) (dd3094f)
- menu: Set menu-item icon color only when not set on mat-icon (#8614) (d0cb077), closes #8594
- overlay: add horizontal fallback positions to the connected overlay defaults (#8689) (e939ea7), closes #8318
- overlay: make config immutable for existing refs (#7376) (2dbc766)
- progress-spinner: value not updated while in indeterminate mode (#8269) (9b68b54)
- radio: coerce checked input binding (#8556) (f41fa8c)
- select: option not truncated correctly in multiple mode (#7857) (d04aa19)
- selection-model: inaccurate selected value when accessed in change subscription (#8599) (0f7fbda), closes #8584
- sidenav: remove min-width (#7748) (55a9f9a)
- slide-toggle: height collapsing if component doesn't have a label (#8270) (8205cb2), closes #8264
- snack-bar: not applying all panel classes in IE (#8578) (a6d0847)
- stepper: block linear stepper for pending components (#8646) (53c94c7), closes #8645
- stepper: set appropriate aria-orientation (#8657) (9582b8b)
- tabs: pagination not enabled on init on some browsers (#8104) (2c34a7e), closes #7983
- blurry ripples for slide-toggle, radio, checkbox in MS edge. (#8514) (8b7a3af), closes #8392
- tooltip: close tooltip if message is cleared while open (#8544) (d66284d)
- tooltip: unable to type in input with tooltip on iOS (#8534) (75c665a), closes #8331
5.0.0-rc.2 (2017-11-27)
Bug Fixes
- overlay: disposed overlays not removed from the key event stack (#8226) (461dfaf)
- tabs: fix accidentally setting
topinstead ofwidthafter removing Renderer use (#8602) (6e865b7)
Features
- The examples on material.angular.io are now opened externally via StackBlitz instead of Plunker.
5.0.0-rc.1 (2017-11-20)
Bug Fixes
- autosize: incorrect height with long placeholders (#8024) (ad7cb4a), closes #8013
- cdk-observers: prevent attribute renaming in closure compilers advanced optimizations (#7894) (8dfe470)
- checkbox: Set aria-checkbox to mixed for indeterminate checkbox (#8089) (3037a90)
- chip: fix placeholder and text overlap (#8468) (81db650)
- chips: remove chip bottom margin in sibling chips (#8198) (d79903a)
- chips: use all available space for the input (#7462) (c725249)
- datepicker: add missing exportAs (#7782) (d6d9ff8)
- datepicker: correct DST issues on IE 11 (#7858) (2f2325a)
- datepicker: correct overlay broad style selector (#8130) (f69c8e6)
- datepicker: prevent
matInputfrom clobbering date value (#7831) (4b59ca1) - drawer: invalid margin declaration when rendering server-side (#8324) (5600b80)
- drawer: missing elevation shadow (#8387) (b0756a2), closes #8386
- drawer: re-add openedStart and closedStart events (#7747) (7610c7c)
- expansion: prevent memory leak by calling parent ngOnDestroy (#8410) (f6bd9b0)
- fab-buttons: vertically align icons inside fab buttons (#8442) (43217ef)
- form-field: jumping underline in Edge and Firefox (#8480) (c7ab877), closes #8395
- icon: remove IDs from source icon set from rendered output (#8266) (76806e3)
- input: add aria-required to inputs (#8034) (8178d6f)
- input: remove native IE reveal icon (#8439) (47055a7), closes #8390
- select: error when attempting to open before init (#8242) (ba36d3a)
- progress-spinner: coerceNumber values (#7791) (b6712f8)
- list: multi-line list item spacing (#8339) (bb504ad), closes #8333
- menu: return focus to root trigger when closed by mouse (#8348) (b085dc6), closes #8290
- overlay: better handling of server-side rendering (#8422) (0f83b20), closes #8412
- overlay: complete key event stream on dispose (#8341) (b437b45)
- overlay: remove global keydown listener when there are no open overlays (#8389) (131272a)
- progress-spinner: default strokeWidth to 10% of the diameter (#7746) (b997353)
- slide-toggle: drag not working in edge (#8421) (d6f287e), closes #8391
- snack-bar: complete onAction observable on close (#8183) (bc8560e)
- stepper: update state when steps change (#8398) (2bc0b41)
- tabs: detach tab portal when tab hides from view (#8486) (fbf2987)
- tooltip: allow toolip to reopen when closed by detaching overlay (#8232) (0719c38)
- consistently coerce boolean and number properties (#7283) (3ca801a)
- replace extendObject utility w/ object spread (#7372) (ea54edb)
- using correct global name in rollup bundle (#8407) (40be1f2)
- TypeScript interfaces are now documented on https://material.angular.io
Features
- a11y: add autoCapture option to cdkTrapFocus (#7641) (20b47d7)
- datepicker: dispatch events when datepicker is opened and closed (#7792) (998153a)
- dialog: add ariaLabel and focusOnOpen config options (#6558) (dad5922)
- gestures: add injection token for specifying Hammer.js options (#8106) (f2a0206), closes #7097
- menu: allow disabling ripples on items (#8388) (ce23395), closes #8261
- overlay: add option to re-use last preferred position when re-applying to open connected overlay (#7805) (f83beb8)
- reposition-scroll-strategy: add option for closing once the user scrolls away (#8233) (58598c4)
- slider: support specifying tabindex (#7848) (8e9dade)
- tab-nav-bar: allow setting tabindex for links (#7809) (a041253)
5.0.0-rc0 cesium-cephalopod (2017-11-06)
Highlights
- First release candidate for Angular Material and CDK! The team now believes that APIs and behaviors are stable and mature enough to exit beta. Please continue to file issues that help us eliminate more bugs from the forthcoming 5.0.0 release. Moving forward, the major version number of Angular Material and CDK will update alongside Angular itself.
- A moment.js implementation of the
DateAdapterforMatDatepickeris now available as@angular/material-moment-adapter - Based on Angular 5.0
- More consistent naming conventions across the board
- 60+ bug fixes
BREAKING CHANGES
- Angular Material now requires Angular 5, which itself requires TypeScript 2.4+ and RxJS 5.5.2+
mat-iconnow usesHttpClientfrom@angular/common/httpinstead ofHttpfrom@angular/http. Any unit tests that faked icon responses should be changed to use anHttpInterceptor.@angular/cdk/rxjshas been removed in favor of RxJS 5.5's lettable operators.- toolbar: in previous versions, any content of
mat-toolbarnot wrapped in amat-toolbar-rowwould be rendered inside of an implicitly createdmat-toolbar-row. As of rc0, this implicit row will no longer be created. This means that any custom application CSS that targeted this implicitly createdmat-toolbar-rowwill no longer apply. Users can re-add themat-toolbar-rowin their own templates to match the original output structure. This resolves a longstanding issue wheredisplay: flexstyles were difficult to use onmat-toolbar. - accordion: move CdkAccordion to
@angular/cdk/accordionCdkAccordionand associated classes live in@angular/cdk/accordionAccordionChildis renamed toCdkAccordionChildCdkAccordionno longer has displayMode and hideToggle@InputsCdkAccordionItemis now a@Directive
- table:
- The argument order for the
whenproperty ofmatRowDefandcdkRowDefhas been changed from(rowData, index)to(index, rowData)in order to matchtrackBy.
- The argument order for the
- datepicker:
fromIso8601method onDateAdapterremoved in favor ofdeserializeDateAdapterwill return an invalid date instead of throwing an error- The
userSelection@Outputofmat-calendarhas been made internal-only
- cdk/scrolling:
ScrollDispatcher.getScrollContainershas been renamed togetAncestorScrollContainersto better match its behavior.- The
ScrollDispatcher.scrollableReferencesproperty has been renamed toscrollContainers. - The
ScrollDispatcher.scrollableContainsElementmethod has been removed. - The
Scrollableclass has been renamed toCdkScrollablefor consistency. - Any uses of the
ScrollDispatcher.scrolledmethod have to be refactored to subscribe to the returned Observable, instead of passing in thecallback. Example// Before scrollDispatcher.scrolled(50, () => ...); // After scrollDispatcher.scrolled(50).subscribe(() => ...);
- unique-selection: move UniqueSelectionDispatcher to
@angular/cdk/collections(UniqueSelectionDispatcher,UniqueSelectionDispatcherListener, andUNIQUE_SELECTION_DISPATCHER_PROVIDER) MATERIAL_COMPATIBILITY_MODE,CompatibilityModule,NoConflictStyleCompatibilityMode,MatPrefixRejector,MdPrefixRejectorsymbols have been removed.MAT_CONNECTED_OVERLAY_SCROLL_STRATEGYis renamed toCDK_CONNECTED_OVERLAY_SCROLL_STRATEGY
Deprecations
- The following classes have been renamed. The old names are still available as deprecated:
OverlayOrigin->CdkOverlayOriginConnectedOverlayDirective->CdkConnectedOverlayPortalDirective->CdkPortalPortalHostDirective->CdkPortalOutletObserveContent->CdkObserveContent - The following
@Outputnames have been renamed. The old names are still available as deprecated:
mat-selectonOpen->openedonClose->closedchange->selectionChange
mat-sidenav/mat-draweropen->openedclose->closed
mat-menuclose->closed
matMenuTriggerForonMenuOpen->menuOpenedonMenuClose->menuClosed
mat-chiponSelectionChange->selectionChangeremove->removeddestroy->destroyed
mat-tab-groupselectChange->selectedTabChange
Features
- table: add MatTableDataSource (#6747) (a9600e7)
- dialog: support minWidth, minHeight, maxWidth and maxHeight (#7488) (57f19cd)
- overlay: new keyboard dispatcher for targeting correct overlay (#6682) (a2ca4d6)
- snack-bar: set snack bar to be responsive. (#7485) (5b7982f)
- sort: use existing intl provider if one exists (#7988) (c8df2c1)
- dialog: add optional generic param for config data (#7447) (b29ac45), closes #4398
- Most directives / components now define an
exportAsname (#7554) (fa441bc)
Bug Fixes
- block-scroll-strategy: disable smooth scrolling before restoring scroll position (#8132) (75bccde), closes #7139
- button: focus styles not applied to programmatically focused buttons (#5966) (a0bb1a3), closes #7510
- button-toggle: support two-way binding of value (#7911) (ee4915c)
- card: change image path to https in example (#7800) (65d3630)
- chip-list: use role = listbox only if chip list is not empty (#7664) (dc76c09)
- chips: programmatically selected chip stealing focus (#7978) (8168667)
- datepicker: allow
DateAdapterauthors to have more control ove… (#7346) (9fa075e) - datepicker: use disabled state from FormControl (#7514) (66e71c8)
- dialog: don't block other dialogs from opening while animating (#8051) (cc4fc11), closes #6560
- drawer: not restoring focus on close (#7668) (3041124)
- drawer: unable to toggle while drawer is animating (#6810) (085827f), closes #6376
- expansion-panel: prevent content from being clipped (#7617) (aa77aa1)
- focus-trap: server-side rendering error (#7635) (f7a12b6), closes #7633
- focus-trap: update focus trap attrs to camel case #6799 (#6960) (c663fad)
- form-field: fix underline at different zoom levels (#7567) (5cffd7c)
- form-field: remove 200px width since it messes up flex layouts (#7083) (160a511)
- form-field: remove specific mention of matInput in error (#7727) (f17cb99)
- icon: use SafeResourceUrl in getSvgIconFromUrl (#7535) (291a87c)
- input: remove IE clear icon (#8095) (2fa679b), closes #8076
- menu: add typography mat-font-weight (7fe1b81)
- menu: make @Output names consistent #6677 (#8053) (b2dd17a)
- menu: not handling keyboard events when opened by mouse (#4843) (d822a39), closes #4991
- menu: wrong offset for nested menu in a fallback position (#7562) (074f6ce), closes #7549
- overlay: CloseScrollStrategy not triggering change detection on close (#7929) (c0ba25a), closes #7922
- overlay: emitting to detachments stream when not attached (#7944) (6fdc237)
- overlay: import BidiModule in OverlayModule (#7566) (4321f32)
- overlay: overlay class audits #6372 (#8056) (cd05b54)
- overlay: wait until after change detection to position overlays (#6527) (f299d25)
- paginator: fix select baseline; support mobile (#7610) (c12e4b5)
- progress-spinner: fallback animation not working (#7599) (4bb696e)
- progress-spinner: inaccurate stroke width on really small spinners (#7725) (f52f078), closes #7686
- progress-spinner: spinner with narrower stroke not taking up entire element (#7686) (2361983), closes #7674
- scroll: Replace references to scrollableReferences (#7752) (9673f63)
- select: errors not shown on submit (#7640) (d2f41a4), closes #7634
- select: make @Output names consistent #6677 (#8052) (f59abdb)
- select: not scrolling active option into view when typing (#7620) (717f252)
- select: remove inert focus call (#7729) (70c349c)
- select: support typing to select items on when closed (#7885) (8edb416)
- select: unable to preselect array value in single selection mode (#7603) (d55aa0c), closes #7584
- select: wrong cursor on disabled select (#7696) (9b4f435), closes #7695
- selection-list: fix option value coercion and selection events (#6901) (80671bf), closes #6864
- snack-bar: add content fade in animation (#7504) (2b9c470)
- snackbar: swap enter and exit animation curves (#6791) (4f571b1)
- sort: fix arrow on width-constrained headers (#7569) (147ae46)
- spinner: set initial value for spinner to 0. (#8139) (9e4c636)
- stepper: don't grey out non-linear steps (#7479) (60707b3), closes #7260
- stepper: error when selectedIndex is pre-set (#8035) (cf11ff2), closes #8031
- table: broaden abstraction for filtering (#8059) (d47b37a)
- table: cell content should not stretch width (#7666) (bb424e2)
- table: empty string should be sorted right (#8011) (58627c4)
- table: render cells even if data is falsy (#7914) (f601e83)
- table: switch when arguments (#7516) (a2129fc)
- table: Provide a provider if exists. (#7895) (9a05ecd), closes #7344
- table: throw error when missing row defs (#7751) (55476e2)
- table: update implicit when using trackby (#7893) (f806286)
- tabs: incorrect ripple color for tabs with background (#8123) (02d3eb6)
- toolbar: no longer auto-generate toolbar rows (#6661) (c3405aa), closes #6004 #1718
- tooltip: don't open from programmatic focus (#7258) (90a55fa), closes #7245
- viewport-ruler: incorrectly caching viewport size (#7951) (0d6d9cc)
- consistent names for all cdk directives (#8088) (f08b3f0)
- don't show sanity check messages in tests (#8080) (d17f9d2)
- user-select mixin ignores value (#7992) (eaa4a36)
Performance Improvements
- scroll remove persistent global scroll listener (#7560) (d6698e1), closes #6882
- drawer: drawer content repainting on scroll (#7719) (131e98f)
- focus-monitor: use passive touch listener (#7957) (ff7a13b)
- tabs: avoid repainting while scrolling (#7889) (943395e)
Code Refactoring
- accordion: move CdkAccordion to <@S1DQE0YR5|@angular-core-eng>/cdk (#7530) (4d04472)
- remove compatibility mode (#7689) (dcef604)
- switch to HttpClient (#6702) (0ea4370)
2.0.0-beta.12 marble-mustache (2017-10-05)
Highlights
- Progress spinner is now entirely css-based.
- Fixed sidenav: the sidenav can now be configured to use fixed positioning. This resolves a longstanding issue where sidenav-container would always introduce a scrolling region.
mat-selectis now used insidemat-form-field. This makes all of the existing form-field features available withmat-select, including hints, errors, prefixes, and suffixes. This also ensures thatmat-selectandmatInputhave a consistent presentation.
<mat-form-field>
<mat-select placeholder="State">
<mat-option *ngFor="let state of states" [value]="state">{{ state }}</mat-option>
</mat-select>
</mat-form-field>
<a name="2.0.0-beta.12"></a>
# [2.0.0-beta.12 marble-mustache](https://github.com/angular/material2/compare/2.0.0-beta.11...2.0.0-beta.12) (2017-10-05)
Breaking Changes
- All "md" prefixes have been removed. See the deprecation notice in the beta.11 notes for more information.
- All cdk re-exports in
@angular/materialhave been removed. See the the beta.10 notes for more information. - Previously the
ScrollDispatcher.scrolledsubscription would react both on scroll events and on window resize events. Now it only reacts to scroll events. To react to resize events, subscribe to theViewportRuler.change()stream. UniqueSelectionDispatcher,UniqueSelectionDispatcherListenerandUNIQUE_SELECTION_DISPATCHER_PROVIDERare no longer available from @angular/material and instead must be imported from @angular/cdk/collectionsisFocusTrapEnabledis now properly marked internal.- The
OverlayRef.getStatemethod has been renamed toOverlayRef.getConfig. defaultErrorStateMatcherhas been replaced byErrorStateMatcher. For more info, see the input docs.
Features
- autocomplete: add md-autocomplete classes to overlay panel (#7176) (f8cd790), closes #4196
- dialog: add datepicker dialog and popup classes for easy styling (#7013) (0ff8d5d)
- menu: support typeahead focus (#7385) (f0d20ca)
- nav-tabs: add
mat-tab-label-activeclass to active nav tab labels (#7508) (00e9338) - progress-spinner: switch to css-based animation (#6551) (630dfad)
- select: add support for custom error state matcher (#7443) (a774688), closes #7419
- select: make select work inside form-field (#6488) (d914cc4)
- selection-model: de/select multiple values at the same time (#7001) (e52beeb)
- sidenav: Add support for fixed sidenavs (#6712) (61579bc)
- sort: add enter and leave arrow animations (#7180) (2d350a0)
- table: add row when predicate (#6795) (0875b85)
- viewport-ruler: add common window resize handler (#7113) (3b0915a)
Bug Fixes
- add exportAs to missing components (#7392) (31e9775), closes #7361
- remove all md prefixes (#7241) (20a23f1)
- slide-toggle: report change to model before firing a change event (#7076) (c82fca8), closes #7074
- remove cdk re-exports from @angular/material (#7112) (f9b5ccd)
- autocomplete: don't open panel for readonly inputs (#7271) (5f8615f), closes #7269
- autocomplete: emit closing action for escape keydown event (#6250) (f4673a5)
- autocomplete: empty not cleaning up on tab (#7270) (6be0462), closes #7268
- autocomplete: error if panel is added asynchronously (#7078) (504ba70), closes #7069
- autocomplete: remove invalid aria markup (#7107) (6bd6b9f), closes #7100
- button: allow for elevation to be overwritten (#7305) (92a868e), closes #7264
- calendar: not reacting to min/max boundary changes (#7234) (eb012cc), closes #7202
- checkbox: defaulting to invalid name and value attributes (#7130) (26788f1)
- checkbox: support native tabindex attribute (#6793) (0270cf5)
- chips: do not set chips value if there's no ngControl or value (#7285) (d9ba13f)
- chips: fix chip list focus and keyboard behaviors (#7319) (f166468)
- common: don't log doctype warning when rendering server-side (#6833) (f8ed442)
- common-module: check if computed styles are available (#7003) (5da9e64), closes #7000
- datepicker: make sure _datepickerInput exists before accessing its (#7033) (2129b7a)
- dialog: directionality not injected into child components (#7111) (daa3880)
- drawer: backdrop not transitioning on close (#6651) (80310a5)
- drawer: drawer container animating when open by default (#7129) (4d278dd), closes #7007
- drawer: drawer container not reacting to drawer removal (#7060) (b0b91f4), closes #6271
- drawer: open event not firing on init (#7214) (ba5653d), closes #7208
- input: apply readonly attribute when readonly (#7439) (01622b1)
- input: don't highlight container when readonly input is focused (#7273) (f076390)
- input: make autosize work inside tabs & stepper (#7341) (c6824d5)
- list-key-manager: align matching logic with native listbox (#7212) (846cc13)
- list-key-manager: don't focus disabled items in typeahead mode (#7382) (1823b2f)
- menu: multiple close events for a single close (#7037) (2dcb76c)
- menu: nested menu error when items are rendered in a repeater (#6766) (7a96570), closes #6765
- overlay: detach method returns undefined (#7449) (0584cdf), closes #7408
- paginator: page size selector not working (#7263) (2b3d795)
- radio: defaulting to invalid name attribute (#7131) (c5e162b)
- ripple: handle touch events (#7299) (fe0864b), closes #7062
- ripple: remove unused ScrollDispatchModule (#7528) (4a1a68d)
- ripple: use element coordinates instead of page coordinates (#7446) (7714a5c), closes #7436
- select: losing focus when selecting values through binding (#7296) (86bea91), closes #7092
- select: multiple change events emitted when changing options of a closed select (#7232) (c7ab828), closes #7227
- select: prevent nbsp from getting butchered in AOT (#7363) (2e71cac)
- select: theme not being transferred to the panel (#7342) (6b70ca6)
- selection-list: model not updated when option is selected programmatically (#7334) (f40a7cc), closes #7318
- selection-list: restore focus if active item is destroyed (#7125) (e05f939)
- selection-list: tabIndex should respect disabled state (#7039) (c2a9516)
- sidenav: change content from md- to mat- (#7307) (d05dcfa)
- slider: change event is not being emitted (#7278) (39543a3), closes #7207
- snack-bar: positioned snack bar animation not starting off-screen (#7453) (58d3bb8)
- snack-bar: subsequent snack bars not opening; animation issues (#7086) (8e77261), closes #7063
- sort: fix incorrect conditional grouping (#7427) (f5e916d)
- sort: style changes to fix IE (#7375) (75f26e8)
- sort: throw error on invalid direction (#7378) (cc6f39e)
- stepper: align appearance with spec (#7279) (4122ae2), closes #7260
- stepper: avoid blurry content on IE (#6992) (6f48710)
- stepper: selected is always undefined (#7213) (217840c)
- stepper: switch to OnPush change detection (#7119) (c2c6e04)
- stepper: unable to internationalize labels (#7122) (6e3bbcb)
- tabs: blurry content in IE (#6954) (7a354a0), closes #6944
- tabs: update tab output names (#7134) (38268d3)
- theming: incorrect green-500 contrast color (#7492) (c1f6ea1), closes #7490
- tooltip: ensure tooltip stays within viewport (#6659) (c8ddd39), closes #5428
- tooltip: minification issue (#7430) (b121e32)
2.0.0-beta.11 carapace-parapet (2017-09-21)
Highlights
- Each
@angular/materialcomponent is now bundled into its own javascript file. This will allow tools like webpack to more easily load only the components being used in an application. - New stepper component! The base behavior lives in
@angular/cdkwith Material Design flavors in@angular/material.
Breaking changes
- Angular Material now requires Angular 4.4.3 or greater
MaterialModulehas been removed. (cf1ece0) (#6803) See the deprecation notice from beta.3 for more information.MdCoreModulehas been removed. Most of its functionality has been moved to@angular/cdkover the last few releases.FocusOriginMonitorhas been renamed toFocusMonitorand moved to@angular/cdk.- chip-list: The outputs
selectanddeselecthave been removed in favor of a singleonSelectionChangeoutput. - overlay: OverlayState has been renamed to OverlayConfig
- overlay: Now that the Overlay is part of the cdk rather than Angular Material directly,
the
themeClassproperty has been removed. To add a class to the overlay for theming, you can do
overlayContainer.getContainerElement().classList.add('my-theme-class');
- DateAdapter method
getISODateStringhas been renamed totoIso8601and a new methodfromIso8601has been added. - sort: The sort-change stream
mdSortChangehas been renamed tosortChange.
Deprecation of "md" prefix.
In earlier betas, we've had a compatibility mode that allowed people to use either "md" or "mat" as the selector for Angular Material components. This was created so that these components could live side-by-side with AngularJS Material without CSS from the two libraries colliding.
For beta.11, we've made the decision to deprecate the "md" prefix completely and use "mat" moving forward. This affects all class names, properties, inputs, outputs, and selectors (CSS classes were changed back in February). The "md" prefixes will be removed in the next beta release.
You can automatically update your projects with the angular-material-prefix-updater tool. Check out the tool's page for instructions on how to run.
Why are we doing this?
We like the "md" prefix too! We added compatibility mode in order to keep "md" around, but over time we found that there were too many downsides to continue supporting both prefixes at the same time:
- Many users found the fact that the CSS used "mat" while templates used "md" confusing.
- Users in compatibility mode found that having "mat" in their templates while TypeScript class names remained "Md" to be unfriendly.
- Making both prefixes available consistently through templates required adding many getters/setters that aliased the "true" property. This ends up increasing payload size and complexity of the source code.
- Compatiblity mode itself used broad directive selectors
to enforce that only one prefix was used at a time. This causes a problem where this broad selector
prevents Angular from throwing an error if an application uses a component without importing its
NgModule.
Why not change the styles in AngularJS Material?
We explored this option early on (before creating compatibility mode). We found that changing the library's styles such that they wouldn't affect the Angular Material components would increase the specificity. This would have been a significant breaking change, as it would have potentially broken countless custom styles that relied on a particular specificity working.
Other deprecations
StyleModuleis deprecated.FocusOriginMonitor(the only thing it contained) has been renamed toFocusMonitorand moved to@angular/cdk/a11y(A11yModule).
Bug Fixes
- autocomplete,select: inconsistent disabled option coloring (#6640) (454781d), closes #6638
- autosize: not resizing on programmatic changes (#6654) (89fea50), closes #5247
- button-toggle: border radius ignored if option is selected (#6699) (82e14f8), closes #6689
- checkbox: label content should not wrap (#6674) (9acab86), closes #6671
- chips: set appropriate aria-orientation (#6464) (a37aa6a)
- datepicker: allow date or datetime strings in fromIso8601 (#7220) (8436f8c)
- datepicker: allow ISO 8601 strings as inputs (#7091) (d2ceb2c)
- datepicker: backdrop class should be mat- (#7056) (2b61eb6)
- datepicker: Create a new injection token to avoid overriding LOCALE_ID (#6708) (2635cad)
- datepicker: fix wrong datepicker-input value for non MM/DD/YYYY locales (#6798) (29399b8)
- datepicker: makes sure the datepickerInput is registered (#7049) (e4d48d7)
- datepicker: toggle not reacting to disabled state changes in datepicker or input (#6964) (85993d3)
- expansion-panel: dark theme header hover color (#6616) (21c68ad)
- form-field: add aria-owns to label element (#6683) (4191b4d)
- form-field: placeholder not floating if autofilled (#6839) (602a861), closes #6837
- grid-list: avoid unnecessary calc declarations (#6745) (255611b)
- grid-list: styles not cleared when switching to a different styling mode (#6660) (87d607e), closes #4047
- input: remove resize handle from non-textarea inputs (#6768) (1272f03), closes #6757
- list: subheader margin being overwritten by typography (#6735) (efe483a)
- menu: multiple close events for a single close (#6961) (1cccd4b)
- menu: nested menu hover not working when trigger is added lazily (#6807) (6b5100b), closes #6731
- menu: nested trigger staying highlighted after click (#6853) (04bf3d1), closes #6838
- overlay: rename OverlayState to OverlayConfig (#6972) (1cfce8d)
- progress-bar: query mode not reversing direction in rtl (#6922) (8a21881)
- select: extra whitespace around placeholder (#6955) (9fe6386), closes #6923
- selection-list: do not coerece option value to boolean (#6983) (dfe01f2)
- selection-list: proper style for disabled options (#6829) (547d11f)
- slide-toggle: remove side-margin if slide-toggle label is empty (#6881) (a1ec81a), closes #6868
- slide-toggle: support native tabindex attribute (#6613) (8f9f3c8)
- slider: thumb disappearing on disabled element with thumb label (#6641) (8243b16), closes #6631
- slider: update styles when focus and dir change (#6700) (8c49422)
- slider, drawer: unsubscribe from directionaly change subject (#6907) (a7ce31e), closes #6892 #6903
- snack-bar: animation not starting for subsequent snack bars (#6649) (730e7ae), closes #6222
- sort: reverse directions and better animation (#6802) (6fa9e6f)
- table: gracefully handle undefined/null columns (#6862) (3ddf65b)
- tabs: fix infinite tab loop (#6663) (67e02b0), closes #4639
- tabs: tab spacing on desktop incorrect (#6681) (b678119), closes #3347
- tooltip: closing immediately when triggered on click (#6590) (bcd026f)
- tooltip: ensure tooltip never passes undefined message to (#7018) (f6d1078)
- add
matexportAs and class aliases (#7106) (a96b545) - tooltip: error on trigger escape presses while closed (#7028) (dcf3b27), closes #7009
Features
- chip-list: implement FormFieldControl and ControlValueAccessor (#6686) (7a42706)
- datepicker: Add Moment.js adapter (#6860) (9545427)
- dialog: add afterOpen to MdDialogRef (#6887) (27cbe47)
- expansion-panel: allow for the panel header height to be customized (#6643) (11e2239), closes #5641
- overlay: replace OverlayContainer themeClass w/ addClass/removeClass methods (#6975) (a944f6e)
- selection-list: add selectAll and deselectAll functions (#6971) (dc9679d), closes #6969
- sort: add sorting indicator animation (#5831) (70bd5fc)
- stepper: Add e2e test (#6776) (bef6271)
- stepper: add moduleId to components (#6780) (f375f92)
- stepper: Address previous comments + add directionality support (#6775) (c396596)
- stepper: initial version of stepper (#6594) (87318bc)
- viewport-ruler: add common window resize handler (#6680) (881630f)
- add
preserveWhitespaces: falseto all components (#7115) (2b0315d) - move FocusMonitor into cdk (#6921) (6cfe5c4)
Performance Improvements
- dialog: avoid repaintin dialog content element on scroll (#6890) (51396d0), closes #6878
- memory leak when subscribing to zone events (#6918) (f6c9172), closes #6905
2.0.0-beta.10 découpage-panjandrum (2017-08-29)
Highlights
- Over 140 bug fixes
- Nested menus
- Nested menus
- Nested menus!
- Nested menus
- Autocomplete supports
md-optgroup Overlaymoved to@angular/cdk- New component
MdSelectionList md-input-containerrenamed tomd-form-field(while still being backwards compatible)- Almost all components now use
OnPushchange detection (dialog being the exception) - You can now get back the
EmbeddedViewRefwhen attaching aTemplatePortal MdSidenavhas been split intoMdSidenavandMdDrawer. TheMdSidenavis now meant to be used for top-level application navigation, while the drawer is meant to be used for more local split views. While there are no differences introduced between the two in this release, future releases will see different features added to each
Breaking changes
- Imports from
@angular/cdkare now scoped to a specific sub-package. For example, if you previously had:
import {LiveAnnouncer, Overlay, Directionality} from '@angular/cdk';
You will now need to write:
import {LiveAnnouncer} from '@angular/cdk/a11y';
import {Directionality} from '@angular/cdk/bidi';
import {Overlay} from '@angular/cdk/overlay';
This helps ensure you're only pulling in the pieces of the cdk being used as well as providing more context about what an imported symbol is being used for.
The current set of public @angular/cdk subpackages are:
a11y, bidi, coercion, collections, keycodes, observers, overlay, platform, portal, rxjs,
scrolling, table.
If you are using SystemJS, each package you use must be added to the SystemJS configuration.
- All
Overlaycode has been moved from@angular/materialto@angular/cdk. The symbols are still re-exported through@angular/material, but these re-exports will be removed in a subsequent release. cdkScrollable,ScrollDispatcher, andViewportRulerhave been moved from overlay into its ownscrollingsubpackage in@angular/cdk.- input: Inputs have a width of
200pxby default (similar to native input elements). The width can be overridden by via themat-form-fieldcss class. - input: CSS classes have changed from
mat-input-container-tomat-form-field-. - input:
md-prefixandmd-suffixare nowmdPrefixandmdSuffix. - portal:
TemplatePortalnow requires a generic type (C) to align withTemplateRef. This will usually beany. - portal: Attaching a template portal will now return an
EmbeddedViewRef<C>instead of an emptyMap. - observe-content:
ObserveContentModulehas been renamed toObserversModule - overlay:
PositionStrategynow has anattachmethod and no longer passes the overlay DOM element toapply. - datepicker: You must now use a date object (of whatever type your DateAdapter uses) rather than a string when setting the value of the datepicker programmatically (through value, ngModel, or formControl).
- datepicker:
mdDatepickerToggleis now an element<md-datepicker-toggle>with aforproperty that points to theMdDatepickerinstance - datepicker:
NativeDateAdapterwill now use Angular's LOCALE_ID instead of the browser's locale. - sidenav: CSS classes have changed from
mat-sidenav-tomat-drawer- - theming: The nonstandard
0and1000hues have been removed from themat-graypalette - chips: The
selectableproperty of themd-chip-listhas now been moved tomd-chipto maintain consistency with the newremovableoption.
If you used the following code,
<md-chip-list [selectable]="selectable">
<md-chip>My Chip</md-chip>
</md-chip-list>
you should switch it to
<md-chip-list>
<md-chip [selectable]="selectable">My Chip</md-chip>
</md-chip-list>
Deprecations
- All dash-case
@Directiveselectors are deprecated in favor of the camelCase equivalent. The dash-case selectors will be removed in a subsequent release. Some examples include:
| Old | New |
|---|---|
| md-line | mdLine |
| md-tab-link | mdTabLink |
| md-tab-label | mdTabLabel |
| md-card-avatar | mdCardAvatar |
md-input-containerhas been renamed tomd-form-field. The old selector will be removed in a subsequent release. This is in preparation to makingmd-selecta child ofmd-form-fieldsuch that both select and input share the same features and appearance.- For camelCased directives, each corresponding
@Input()is now also prefixed. For example,cdkConnectedOverlaynow has inputs forcdkConnectedOverlayOrigin,cdkConnectedOverlayPositions, etc. The class members themselves are unchanged. The unprefixed inputs will be removed in a subsequent release. Affected directives arecdkPortalHost,cdkConnectedOverlay,mdTooltip,mdTextareaAutosize, andmdMenuTriggerFor. MdCoreModuleis deprecated and will be removed in a subsequent release now that most of its functionality has been moved to@angular/cdk- Reminder that
MaterialModuleis deprecated and will be removed in a subsequent release (see changelog from beta.3 for more information).
Features
- autocomplete: emit event when an option is selected (#4187) (2dd5c7c), closes #4094 #3645
- autocomplete: support for md-optgroup (#5604) (e41d0f3), closes #5581
- cdk: move cdkScrollable, ScrollDispatcher, and ViewportRuler out of overlay (#6547) (0f6a2ec)
- cdk: move overlay into cdk (#6100) (4d82f83)
- chip: add aria-selected to chip (#5920) (281de25)
- chips: Add removal functionality/styling. (#4912) (c82aca9), closes #3143
- chips: add user defined tab index to chip list (#6073) (9eb9ddf)
- datepicker: close calendar after choose the same date again (#6323) (9ba5d84)
- datepicker: export unexported components for potential extension (#6314) (7bc648b)
- dialog: add beforeClose method (#6377) (cdbf305)
- dialog: expose backdrop clicks (#6511) (df28c3d)
- dialog: open dialog API improvements (#6289) (8b54715), closes #6272
- expansion-panel: add the ability to disable an expansion panel (#6529) (921432a), closes #6521
- focus-trap: return whether shifting focus was successful (#6279) (7626c51)
- menu: add indicator to menu items that trigger a sub-menu (#5995) (a51f82f)
- menu: add injection token for overriding the default options (#5483) (3cb3945), closes #5479
- menu: add nested menu functionality (#5493) (1e0c1fc)
- menu: increase nested menu elevation based on depth (#5937) (91f7bf7)
- native-date-adapter: use default locale from LOCALE_ID (#5419) (c09e8a7), closes #5393
- option: support for disableRipple binding (#5915) (addf1ce)
- overlay: add maxWidth and maxHeight (#6508) (9904e56)
- overlay: add providers for overriding the scroll strategies per component (#5134) (184a6e4), closes #4093
- overlay: support setting multiple panel classes (#6326) (a190de7), closes #6318
- paginator: default page size to first option (#5822) (42c50b6)
- portal: support context in TemplatePortal (#6408) (90a6ac9)
- radio: add required attribute to radio-group (#5751) (f06fe11)
- select: add ability to customize the select trigger (#3341) (72c5d39), closes #2275
- select: allow disabling ripples for options (#5967) (34ec068)
- select: allow focusing items by typing (#2907) (5ebca5e), closes #2668
- select: implement compareWith for custom comparison (#4540) (054ea4d), closes #2250 #2785
- select: support basic usage without @angular/forms (#5871) (9a90eaf)
- selection-list: Selection-list initial version (#5562) (dccce1c)
- snack-bar: inject data and MdSnackBarRef into custom snack-bar component (#5383) (baba6ef), closes #5371
- tab-nav-bar: allow disabling ripples for links (#6273) (4ae1b0f), closes #6245
- table: support dynamic column definitions (#5545) (66e222f)
- tabs: add isActive flag on the individual tabs (#6424) (4d36ee0), closes #6422
- add change emitters to the Intl providers (#5867) (0a5489f), closes #5738
- tabs: add theming and ability to set background color (#5287) (374aaff)
- typography: allow font-family to be set per typography level (#5905) (3b41c0c), closes #5563
- typography: allow typography config to be passed via mat-core (#5625) (72148c0), closes #5589
- expose version object in releases (#4962) (3bfe7f0)
- rename cdk/keyboard -> keycodes & cdk/observe-content -> observers (#6039) (9df292f)
- update to Angular 4.3 (#6483) (66da597)
Bug Fixes
- autocomplete: attach overlay to a more accurate input element (#6282) (667a4e4)
- autocomplete: don't darken select option (#6425) (67e91a3), closes #6407
- autocomplete: don't prevent default enter action if panel is closed (#5977) (fdded66), closes #5976
- autocomplete: error when closing destroyed panel (#5446) (880e6d5), closes #5413
- autocomplete: highlighted option not reset when closed with escape or enter key (#6403) (bf59468), closes #6258
- autocomplete: panel not resetting properly in certain scenarios (#5911) (ebb5e9e), closes #5910
- autocomplete: placeholder not animating on focus (#3992) (ff54969), closes #5755
- autocomplete: placeholder not resetting properly (#6141) (e4e7ee9)
- autocomplete,datepicker,menu: closing parent dialog by pressing escape (#6226) (916d1f3), closes #6223
- autosize: properly detect line-height in firefox (#6190) (3a766f1), closes #6179
- bidi: make
dirandchangesreadonly (#5645) (8c13325) - button-toggle: add aria-label for button-toggle (#5919) (eabe2cb)
- button-toggle: button-toggle module depends on forms module (#5542) (9ab0c90)
- button-toggle: remove emit change event when value changes (#6034) (f8c5be8)
- card: prevent content from overlapping footer (#5583) (a394418), closes #5486
- card: unable to bind to align attribute (#5495) (243b97d), closes #5490
- checkbox: Add RequiredTrue validator for md-checkbox (#6006) (59319d0)
- checkbox: remove checkmark from tab order (#6137) (735ffb5), closes #6125
- checkbox: server-side rendering error when checking textContent (#5470) (0314bd8), closes #5453
- checkbox, radio: setting id to null causes invalid id for input (#5398) (bcf4826), closes #5394
- chips: add exportAs for chip and chip list (#6084) (e7da1e4), closes #6070
- chips: cursor on remove button and box-shadow transition (#6019) (8253503)
- chips: invalid aria-selected value for non-selectable chip (#6544) (90fc300)
- chips: mark onFocus as internal (#6519) (449ed19)
- chips: not visible in high contrast mode (#5338) (a5a8ff2)
- chips: remove background from unstyled chip (#5777) (0f7be2e)
- compat: add camelCase selectors to tab label wrapper (#5955) (a7e75da)
- compat: add element selector for cdk-accordion (#5954) (3c46001)
- connected-position-strategy: position change event not emitting for fallback positions (#5978) (63505dc)
- datepicker: allow disabling calendar popup (#5305) (2294ea2)
- datepicker: better support for input and change events (#4826) (35eb294)
- datepicker: center date text properly on android (#5923) (bbadd01)
- datepicker: deprecate selectedChanged output (#6025) (ee73d2c), closes #6000
- datepicker: fix error when selecting month with fewer days in year (#6129) (9cff8c7)
- datepicker: force Intl.DateTimeFormat to use UTC time zone ... (#5747) (76cc6f0)
- datepicker: make height of calendar constant in non-touch mode (#5694) (5bcba85)
- datepicker: make touch UI calendar use 80% of width in portrait (#5943) (641a38f)
- datepicker: mark input tocuhed on calendar date selected (#6007) (21e9768)
- datepicker: refactor datepicker toggle to support theming (#5317) (4255476)
- datepicker: remove aria-expanded on datepicker input ... (#5746) (4ea4baa)
- datepicker: remove toggle icon from tab order on IE (#6405) (ea17d3d)
- datepicker: use 3 rows to display months of year (consistent with internal mocks) (#5427) (da1d1ca), closes #5202
- datepicker: use correct viewContainerRef for dialog. (#6026) (08037f9)
- datepicker: validate that input actually parses (#5711) (8bb54ca)
- dialog: add config option for aria-describedby (#5365) (68241a8)
- dialog: better handling of custom ViewContainerRef with OnPush change detection (#6164) (5967f6e)
- dialog: move focus into container if no focusable elements are found (#6524) (4e12072), closes #6513
- dialog: prevent dialog from opening while another dialog is animating (#5769) (36f708c), closes #5713
- dialog: set margin on buttons inside md-dialog-actions (#5778) (643023d)
- dialog: support passing in dialog result through all MdDialogClose selectors (#6293) (4a1f10e), closes #6278
- expansion: use correct expanded line-height (#5744) (a921948)
- expansion: animation not working in Angular 4.3 (#6442) (f9bd5d4)
- expansion: only highlight keyboard-focused panel headers (#6148) (49a0d7b)
- expansion: remove closed panel contents from tab order (#5441) (1efa594), closes #5432
- expansion: remove margin from top and bottom panels in accordion (#6546) (7f0e58e)
- expansion: set up typography styles (#5739) (e21b64c)
- expansion: standalone panel shouldn't override margins (#5962) (81f1f97), closes #5949
- expansion: toggle not being updated when set programmatically (#5650) (41c804b), closes #5549 #5623
- expansion: wrong margins in rtl (#5800) (106ded4)
- grid-list: figure not expanding to full width (#6578) (ea143a0), closes #6586
- grid-list: invalid inline styles when rendering server-side (#6052) (22ce1da), closes #6048
- icon: error when toggling icon with binding in IE11 (#6102) (0795432), closes #6093
- icon: icon element not removed when svgIcon is reset (#6502) (5e3228f), closes #6495
- input: add overflow:hidden when calculating autosize height (#5773) (e0fc526)
- input: don't highlight container when readonly input is focused (#5776) (349121d), closes #5749
- input: fix input/placeholder alignment on safari (#6072) (9ac5d13)
- input: input module depends on forms module (#5579) (44ca46a)
- input: invalid font declaration (#5154) (92d8368), closes #5262
- input: make sure 1-line hint is fully contained by input container. (#5912) (ca3a3b8)
- input: placeholder covering value when using OnPush (#5660) (219a8ae)
- input: prevent input caret from sticking on iOS (#6128) (94bf5e9)
- input: prevent textarea from resizing beyond input container (#5333) (36dc75a)
- input: required asterisk being read out by screen readers (#6277) (0850981)
- input: set default width of 200px on input-container (#5833) (e9ab9b4)
- input: set proper role on md-error (#6259) (3df4d72)
- input: underline should only be thicker if focused (#6152) (68e2f46)
- input: update aria-describedby to also include errors (#6239) (2af284c)
- input,select: align colors with spec (#5155) (266f237), closes #5114
- list: :empty selector did not catch in mat-list-text (#6124) (846899d)
- list: properly align contents in subheader (#6221) (4e6e42e), closes #6214
- list: subheader margin being overwritten by typography (#5652) (5bc97ec), closes #5639
- list-key-manager: increase typeahead range to include more characters (#6543) (1f4a962)
- list-key-manager: typehead not handling non-English input (#6463) (08a6673)
- live-announcer: remove announcer element on destroy (#5404) (b7efe48)
- menu: align appearance with spec (#5361) (c20bec8)
- menu: close child menus when parent is closed programmatically (#6329) (66b1ff5)
- menu: complete close stream on destroy (#5368) (d810138)
- menu: make it easier to override elevation (#5873) (6f5dcd5), closes #5870
- menu: prevent user from accidentally opening a sub-menu while animating (#5996) (eaa6099)
- menu: wrong animation in Angular 4.2+ (#5836) (39c3e42)
- overlay: add prefixed inputs, deprecate old ones (#5957) (2bf6b57)
- overlay: error when removing empty string theme (#6306) (faa7601)
- overlay: remove overlay container on destroy (#5378) (154bb55)
- paginator: add type button to next / prev buttons (5bd655b)
- paginator: expose MdPaginatorIntl (#5716) (93789cf), closes #5715
- paginator: remove dependency on @angular/forms (#6080) (953b38e), closes #5717
- paginator: underlying select vertical alignment (#6354) (0d2ea10), closes #6338
- progress-spinner: prevent users from tabbing into underlying SVG on IE (#6142) (235f664)
- radio: animation looking off on IE (#5620) (d263ca2)
- radio: forward focus to native input (#6274) (cea4d9f)
- radio-group: coerce disabled property (#5837) (23ec30f)
- select: bigger height for underline on focus (#5510) (78f0cec), closes #5499
- select: consistent error behavior to md-input-container (#4754) (6f73b35), closes #4611
- select: disabled select being set to touched state on click (#5328) (6b4f9c8)
- select: don't shift option focus when multi-select value is changed programmatically (#5401) (6422640), closes #5381
- select: error if triggerValue is accessed from an empty select (#6575) (0526689)
- select: floating label overlapping elements above select (#6228) (a780052), closes #6171
- select: lint issue (#6497) (1807c5b)
- select: required asterisk should use warn color (#5498) (97494f7), closes #5496
- select: server-side rendering error with preselected value (#6049) (2388d91), closes #6045
- select: set aria-multiselectable for multi-select (#6110) (ce31113)
- select: throwing additional errors if ngModel fails to initialize (#5405) (372549c), closes #5402
- select: wrong option amount being read out by NVDA (#5181) (b8c900c)
- select,autocomplete: darken selected option (#6302) (504b5df), closes #6229
- sidenav: container not reacting to changes to sidenavs added after init (#6161) (0d80a77), closes #6127
- sidenav: first animation not working in Angular 4.2+ (#5821) (804f4c0), closes #5673
- slide-toggle: invalid model change event (#4220) (dfe10c3), closes #4124
- slide-toggle: slide-toggle module depends on forms module (#5523) (d716b00)
- slider: fix change & input emit logic. (#6234) (9d3c405)
- slider: set proper font family on label (#5772) (1cba2dc)
- slider: slider module depends on forms module (#5578) (c14978b)
- slider: work around slidestart event sometimes not firing on iOS (#6009) (a87a000)
- snack-bar: align theming with spec (#6506) (363562f)
- snackbar: make closeWithAction public method (#5686) (f4f64ac)
- table: column class names should be css friendly (#6173) (1748397)
- table: eliminate need for second change detection (#5775) (388494f)
- table: Fix change det issue with http example (#6169) (4afcc0a)
- table: set font family (#5741) (5d5ce83)
- tabs: add module dependency on MdCommonModule (#5304) (738b6be)
- tabs: allow for tabs to be selected using the space key (#6426) (b5f4caf), closes #6406
- tabs: check if the subscription is defined before unsubscribe (#5667) (0eedb5f)
- tabs: improved vertical alignment of tab label (#5771) (b105039)
- tabs: server-side rendering error when aligning ink bar (#5455) (448db8b)
- add camelCase ng-content selectors (#5953) (f52c7f4)
- theming: Light green 700 contrast should be white (#6346) (b4e2488)
- deprecate CoreModule (#6588) (377a3bb)
- improved key manager typings (#6443) (18c6dec)
- remove ripples in high contrast mode (#6355) (fd5e5ff)
- textarea: server-side rendering error when using mdTextareaAutosize (#6050) (05ca4a7), closes #6047
- theming: remove non-standard grey palette hues (#6605) (3b46360)
- tooltip: panel element blocks hover effects (#5514) (d04230c), closes #4691
- tooltip: remove native event listener on component destroy (#5144) (32db2ba), closes #4499
- tooltip: remove unnecessary tooltip whitespace (#6531) (6cdbf36)
- xxx-intl: replace misused EventEmitter with Subject (#6313) (c20bcf9)
Performance Improvements
- observe-content: run outside Angular zone (#6352) (5ccf25d)
- sidenav: avoid recalculating the inline styles while sidenav is open (#6189) (57a2f29)
- table: cell references not being cleaned up on destroy (#5809) (df1ddee)
- tabs: avoid extra resize handler and reflow (#6434) (1df79e9)
2.0.0-beta.8 plasma-abacus (2017-07-06)
Highlights
- This version marks the release of
@angular/cdk(component dev kit)! This package contains general building blocks for UI components decoupled from the visuals of Material Design. In the initial release, code from Angular Material'score/have been moved fora11y/,bidi/,coercion/,observe-content/,platform/,portal/. The@angular/materialpackage now re-exports these symbols, marked as deprecated. The re-exports will be removed in a subsequent release. - Initial version of data-table component. There is both a
<cdk-table>(the core) and the<md-table>(with Material Design styles). See the documentation on material.angular.io for more information. - Initial version of
<md-paginator>and<md-sort-header>components, which can be used either with<md-table>or any other table. - Both
@angular/materialand@angular/cdkare now strict null compliant.
Breaking changes
@angular/materialnow depends on@angular/cdkas a peer dependency.- Some types have expanded to include
| nullor| undefinedfor strict null compatibility. If your application uses strict null checks, you may have to update the types in your app to match up with the more accurate types coming from Angular Material. - Angular Material no longer adds RxJS operators to the prototype of
Observable. If your app depended on these operators being added by Angular Material, you will need to import them explicitly.
Bug Fixes
- autocomplete: allow number zero as value (#5364) (9137fd9), closes #5363
- autocomplete: don't scroll panel when option is visible (#4905) (d3af57d)
- autocomplete: not closing when tapping away on mobile (#5260) (1dcaca7)
- autocomplete: reopening when clicking an option in IE (#5172) (fe31210), closes #5165
- autosize: resize when form value changes. Fixes #4657 (#5315) (8c9c11a)
- button-toggle: fix standalone button toggle style (#5121) (3d8c833)
- datepicker: pass layout direction to touchUi dialog (#5052) (8b6efb1)
- datepicker: use theme foreground color (#5290) (51bf26e)
- dialog: set aria-labelledby based on the md-dialog-title (#5178) (aee984a)
- directionality: error on platform-server (#5234) (49dfe60)
- input: theming mixin error (#5254) (37efb54), closes #5232
- input: underline showing at end if text-align is set (#5280) (5c9391d), closes #5272
- memory: Unsubscribe event listeners when using Observable.fromEvent (#5325) (1b351cd)
- menu: role being set on the wrong element (#5191) (2239668)
- overlay: remove webkit tap highlight from backdrop (#5258) (8feddd4)
- select: align first option to trigger when it is inside a group (#5153) (d39cb12)
- select: expose focus method (#5255) (7b2d4ae), closes #5251
- select: md-optgroup not using typography styles (#5193) (b5bf6f5)
- select: page scrolling down when selecting option with space (#5192) (2361385)
- snackbar: clear timeout upon dismiss (#4860) (146160c)
- tabs: server-side rendering error (#5348) (0174377)
- unique-selection-dispatcher: remove listeners on destroy (#5164) (f9bbbe7)
Features
- data-table: initial version. Too many commits to list.
- directionality: a provider to get directionality (#4044) (61d979e), closes #3600
- input: add custom error state matcher (#4750) (f73cc97)
- pagination: initial pagination component (#5156) (85fb00a)
- sort: add ability to manage and display sorting (#5307) (b328d36)
- tab-nav-bar: support disabling tab links (#5257) (fc809ed), closes #5208
- add support for strict null checks (#5094) (2bf7024)
- remove uses of rxjs patch operators (#5314) (e488e3f), closes #2622
- move a11y, bidi, platform, rxjs, and portal to cdk (#5386) (fde35e4)
- move observe-content to cdk (#5438) (b00f838)
2.0.0-beta.7 glass-delicatessen (2017-06-19)
Highlights
- New md-expansion-panel and md-accordion components! Documentation for these will be coming soon.
- New typography extension to the theming API!
- Angular Material should generally work much better with @angular/platform-server. There are still a few bugs, but things should mostly work.
Bug Fixes
- autocomplete: handle escape key (#4703) (9e2a66c)
- autocomplete: show hover style on selected options (#4724) (b3b6fda)
- autocomplete: throw better error when autocomplete doesn't have a panel (#4851) (70b31f1), closes #4844
- button: remove webkit tap highlight (#4953) (3ad80e4)
- button-toggle: remove redundant blocking touchstart listener (#4947) (1e92545), closes #4221
- button, tabs: potential clash with typography styles (#4915) (615fa2a)
- checkbox: margin for empty checkboxes incorrectly added (#4730) (8d9bbbf), closes #4720
- checkbox, radio: fix checkbox label not read in JAWS (#4610) (5c48949)
- datepicker: focus trap not working inside popup (#4839) (157bda1)
- datepicker: generate api docs (#4756) (be8d3b2)
- datepicker: inert calendar arrow direction in rtl (#4960) (22f0ea0)
- datepicker: minValidator & maxValidation false errors (#4649) (b2c3ed0)
- datepicker: restore focus to trigger element (#4804) (8860090)
- datepicker: switch to typography api (#4950) (7f298f7)
- dialog: add flex wrap to style (#4846) (9d4a34a)
- dialog: blurry content and slow animation in IE (#4809) (c8b1e20)
- dialog: componentInstance unavailable in afterClose (#4827) (cedf219), closes #4815
- dialog: invalid text color in dark themes (#4849) (3e993b6)
- dialog: partial keyframes animation error (#5020) (9c45865), closes #5019
- focus-trap: focus initial element when zone stabilizes (#4867) (ce9d253), closes #4864
- icon: remove automatic aria labelling and add a11y guidance (#4665) (657f0e8)
- input: correct invalid colors (#4771) (2103907)
- input: IE always adding scrollbar to textarea (#4917) (6aaddbf)
- input: make input spacing match spec (#4788) (16b65e8)
- input: set aria-invalid on mdInput element (#4757) (0c03946)
- input: remove align input binding (#5141) (0aaeb69), closes #5140
- input, cdk: a couple of server-side rendering errors (#5066) (97e35df)
- list: set aria attributes to md-divider (#4925) (a240c9c)
- menu: remove classes from inert element (#4800) (93a21c7), closes #4484
- navbar: update ink bar when links change (#4897) (41c43cc)
- overlay: emit attach and detach at appropriate times (#4880) (e98372e), closes #4871
- portal: detect changes for portal hostview while before attaching. (#4370) (28d2ddd)
- radio: label vertical alignment (#5120) (d3d6d26)
- radio: make MdRadioButton change detection strategy OnPush (#2526) (97a9bdc)
- select: consider value changes via arrow keys on closed select as user actions (#5112) (73aa43e), closes #5084
- select: panel in multiple mode not overlapping trigger (#4952) (638a34a), closes #4943
- select: unable to programmatically select falsy values (#4868) (2e3910c), closes #4854
- sidenav: don't restore focus if focus isn't inside sidenav (#4578) (3bc82f6)
- slide-toggle: switch typography level to body-1 (#5000) (436858e)
- snack-bar: test error in IE (#5048) (79092bd)
- tabs: fix tab translation animation in IE 11 (#4982) (#4986) (40f92c5)
- tooltip: not rendering in IE and Edge without web animations polyfill (#4937) (22746ce), closes #4935
- make material work with noUnusedParameters (#4946) (4b98f21), closes #4443
Features
- autocomplete: extend selector to match textarea (#4945) (223a27b)
- datepicker: popup positioning improvements (#4696) (eadccc2), closes #4406
- dialog: allow disableClose option to be updated (#4964) (66629cf), closes #3938
- dialog: allow setting the layout direction (#4778) (4658c85)
- dialog: custom class option #4718 #4012 (#4722) (28c936f)
- expansion-panel: introduce expansion panel (cac7610)
- input: autosize sets default amount of rows to one (#4906) (1055720), closes #4852
- add camelCase selectors where they were missing (#4901) (3eb0681)
- integrate typography api into all components (#4375) (e650b04)
- overlay: more flexible scroll strategy API and ability to define/override custom strategies (#4855) (7e91270)
- placeholder: add global placeholder options (#4681) (#4681) (d0d79fd), closes #4311
- radio: support for color binding (#5068) (82d752b), closes #4677
- select: add input for adding classes to the panel (#4629) (99293d9), closes #4485
- select: add md-optgroup component (#4432) (d09aa89), closes #3182
- tooltip: add mdTooltipClass for customizing (#4893) (734eccc)
BREAKING CHANGES
- input: The
aligninput from the<md-input-container>component has been removed. Developers instead should use plain CSS to achieve the same effect (usingtext-align: endfor example).
2.0.0-beta.6 amber-ansible (2017-05-25)
Bug Fixes
- autocomplete: error when clicking outside instance without mdInput (#4573) (e6f7ace), closes #4555
- autocomplete: restore focus to input when click on option (#4702) (eecf897), closes #4645
- block-scroll-strategy: collapsing root node when enabled (#4638) (f11d46e)
- button: complete ripple when button becomes disabled (#4372) (fce2868)
- button: ripples blocking mouse events on user content (#4526) (9c4d601)
- checkbox, radio: make disabled label disabled match spec color (#4507) (8159fcc)
- chips: unable to tab out of chip list (#4605) (07a82ed), closes #4593
- datepicker: calendar toggle submitting parent form (#4531) (84ea8b2), closes #4530
- datepicker: export MD_DATE_FORMATS and MD_NATIVE_DATE_FORMATS (#4541) (58c252f), closes #4534
- datepicker: make datepicker work in compatibility mode (#4686) (b5b762a)
- datepicker: set cursor on clickable elements (#4542) (d2d67f5), closes #4533
- datepicker: use default cursor on toggle when disabled (#4604) (1319355)
- dialog: enable smooth scrolling on md-dialog-content (#4608) (3ae0dc6)
- focus-origin: missing rxjs of operator (#4497) (05dbb90)
- icon: handle icons as nodes (#4699) (3212411), closes #4680
- input: continue checking for input child after initialization (#4569) (73d6814), closes #4551
- input: thicken underline in error state, add underline animation (#4506) (0666207)
- list-key-manager: remove handling for home and end keys (#4544) (2d16345), closes #3496
- menu: close menu panel on escape (#4666) (210e57c), closes #3601
- overlay: overlays potentially being rendered behind browser UI (#4664) (96549e8), closes #4650
- platform: don't shadow
window(#4622) (e8ab0da) - progress-bar: buffer animation not working on user-generated themes (#4525) (61f3987)
- select: allow option with undefined or null value to clear selection (#3141) (13524c1), closes #3110 #2634
- select: deselect old options when programmatically setting value (#4658) (db72b06)
- select: option text color blending in with background on dark theme (#4568) (43e207c), closes #4560
- slider: add aria-orientation (#4602) (0b5b624)
- slider: make slider work with dark themes (#4489) (af48bb0)
- snack-bar: remove text-transform uppercase (#4567) (82e53c5)
- tabs: dynamic tab scrollbar showing while animating (#4524) (2a15cd7)
- tooltip: not using trigger's text direction (#4413) (d8aeeaa), closes #4411
- universal: gate platform checks on being on browser (#4635) (e4c7601)
Features
- core: expose ScrollDispatchModule (#4501) (caee5a5)
- dialog: add
resultto MdDialogClose directive (#4332) (c45dee2) - focus-trap: allow setting initially focused element (#4577) (c946631)
- overlay: add scroll blocking strategy (#4500) (6842046)
- snack-bar: allow setting the layout direction (#4726) (0e24345), closes #4721
2.0.0-beta.5 taffeta-admiral (2017-05-13)
Bug Fixes
2.0.0-beta.4 unobtainium-sunglasses (2017-05-12)
Breaking Changes
MdIconModuleno longer importsHttpModule. If your application depended onHttpbeing provided throughMdIconModule, you should now directly importHttpModuleinto your application.- The
forRootmethod on all Angular Material modules has been removed. It was previously deprecated and a no-op. Importing the modules directly will have the same effect. - Angular Material now requires TypeScript 2.2, which adds support for mixins.
Highlights
- New datepicker component! This is still very new, so please try it out and file any issues you encounter on Github.
- You can now disable Material's global sanity checks (at your own risk). These checks include whether your theme file is included, that you have a doctype, and more. See the PR here.
- Our support for Angular Universal should be much improved! Expect further improvements in subsequent releases.
Bug Fixes
- autocomplete: not scrolling to active option when pressing home/end (#3709) (8d0cd04)
- autocomplete: not updating the size while the panel is open (#4346) (bfeb515)
- autocomplete: panel not being shown with delay and OnPush change detection (#3977) (efd3485), closes #3955
- autocomplete: reposition panel on scroll (#3745) (81a6f8d)
- autocomplete: unable to click to select items in IE (#3188) (78985b7), closes #3351
- button: ripple color for raised buttons (#3829) (7f65f31), closes #2901
- card: update color property to use theme's text color. (#3952) (5e7af26)
- cdk: add camelCase selectors for cdk directives (#4054) (cb98270)
- checkbox: do not set
indeterminatewhen setcheckedprogrammatically (#4024) (de8b97f) - checkbox: no side margin if label has no content (#2121) (4e8d806), closes #2011
- checkbox: set pointer cursor for checkbox (#4473) (b2f93b5), closes #4185
- checkbox: support OnPush for disabled with forms module (#4087) (efb39da)
- checkbox, radio: ripple error on focus event (#3869) (e22b55e), closes #3856
- chips: wrong margin on single chip (#4366) (5d03c1a), closes #4359
- compatibility: error in theme check with angular universal (#3872) (a65d2f4), closes #3870
- compatibility: throw better error when wrong prefix is used (#3871) (2d50044)
- connected-overlay: better handling of dynamic content (#4250) (525ce1e), closes #4155
- core: remove deprecated forRoot functions (#3539) (c94f471)
- core: export MdOptionSelectionChange (#4285) (af978cd)
- dialog: capture previously focused element immediately (#3875) (29968b8)
- dialog: close all dialogs on popstate/hashchange (#2742) (85bc3a6), closes #2601
- dialog: fire afterClosed callback after all dialog actions are done (#3892) (ee1a5a7)
- dialog: provide default value for MD_DIALOG_DATA token (#4120) (d1128fe), closes #4086
- dialog: restoring focus too early (#4329) (afaa2dc), closes #4287
- dialog: unable to press escape to close in lazy-loaded module (#3788) (3796f69), closes #3737
- focus-trap: import rxjs first operator (#4400) (2c8faf6)
- grid-list: export MdGridTile. Fixes #2408 (#4000) (9d719c5)
- input: add back pointer-events none removed in #3878 (#4206) (fb1fabc)
- input: allow pointer events on placeholder (#3878) (32b7426)
- input: incorrect height with autosize (#4084) (21f8899), closes #4070
- input: input placeholder not being hidden in IE under certain conditions (#4478) (fc73a4b), closes #4464
- input: make start and end hints interact well when their text needs to wrap (#3979) (21cbf34)
- input: placeholder not rendering in Chrome under certain conditions (#4405) (5e349d9)
- input: single-line hints overflowing the parent (#4107) (0b9b582), closes #4051
- input-container: new attribute hideRequiredMarker (#4237) (6c31adb), closes #3681
- list: fix padding for list items (#4486) (d1d2e18)
- list: icon size in dense mode (#3913) (f412499), closes #3886
- list: remove overflow hidden from content (#4426) (078aa19)
- list: set explicit box-sizing on icon (#3876) (e263fb7), closes #3863
- menu: incorrect panel max height (#4214) (d3210e7)
- menu: unable to bind to xPosition and yPosition (#4213) (1fd50aa), closes #4169
- menu: wrong icon margin in rtl (#4225) (ba6b9bb)
- overlay: no longer export internal type (#4390) (136f7ff)
- overlay: render the templates before placing them in the overlay. (#2989) (da33c03)
- progress-spinner: not working with server-side rendering (#4020) (aebbd8a), closes #3988
- ripple: explicit type for global ripple options (#4240) (115e901)
- ripple: global ripple configuration on init (#4238) (9a2c4d6), closes #4235
- select: missing rxjs filter import (#4407) (1ec88e0)
- select: prevent the panel from going outside the viewport horizontally (#3864) (e10bb18), closes #3504 #3831
- select: reposition panel on scroll (#3808) (5983a2b)
- select: tab opening multiple select and space scrolling page (#4210) (24a762f)
- select: unable to hide via visibility (#4264) (f16affc), closes #4247
- select: wrong panel width if element is hidden initially (#3647) (eaf16c8), closes #3639 #3244
- slide-toggle: invalid model change event (#4140) (317952a), closes #4124
- slide-toggle: remove unused mousedown listener (#4184) (e82d0f1)
- slider: correct typo in MdSliderChange description (#4216) (#4217) (4bdceed)
- slider,slide-toggle: use the grab cursor (#3821) (cc8f871), closes #3778
- snack-bar: allow multi-line text (#3626) (eef57f6), closes #1951
- snack-bar: leaking object references (#4403) (4ca16d7), closes #2942
- tabs: animation error with nested tab groups (#4315) (1766649), closes #4277
- tabs: apply dark theme to header font (#4326) (c37a2de), closes #4320
- tabs: re-align the ink bar when the viewport size changes (#3877) (7942948), closes #3845 #3044 #2518 #1231
- tabs: remove forRoot that was missed (#4328) (b4e8c7d)
- tabs: unnecessary scrollbar if content has a margin (#4062) (7336bdc), closes #3162 #4035
- textarea: fix change detection error on autosize (#4180) (bccf8d2)
- theming: fix broken sass expressions nested in theme classes (#4145) (355f8b7), closes #4077
- tooltip: wrong position when using OnPush change detection (#3671) (edf01c0), closes #3497
- universal: gate several browser-specific bits on being on the browser (#4251) (f27df86)
Features
- datepicker: add initial datepicker (#4404) (123d7ec)
- card: allow md-card-title and subtitle to be used as attributes (#4122) (a200024)
- core: allow users to disable the sanity checks (#4178) (16bba72), closes #4125
- dialog: add hasBackdrop and backdropClass options to dialog config (#2822) (7428c49), closes #2806
- list: option to disable ripples for all items (#4159) (7f0f473), closes #4149
- observe-content: add debounce option and other improvements (#2404) (244aece)
- overlay: add scroll handling strategies (#4293) (c8ec981)
- overlay: expose interface for custom positions (#4374) (ea8241a)
- progress-spinner: add support for custom stroke-width (#4113) (b846a27), closes #3934
- select: add ability to cycle through options with arrow keys when closed (#3313) (66e65c4), closes #2990
- select: allow setting the theme color (#3928) (3a29d67), closes #3923
- select: close the panel when pressing escape (#3879) (94a2855)
- add initial sass typography API (#4162) (7de316f)
- remove hard dependency on @angular/http (#3792) (b011b45), closes #2616
- sidenav: open all sidenavs from MdSidenavContainer (#2870) (79306ad), closes #2591
- tabs: allow disabling ripples (#4466) (e4789c7)
Performance Improvements
2.0.0-beta.3 cesium-cephalopod (2017-04-07)
Breaking changes
Package structure
The package structure for Angular Material has changed to match that of Angular itself. This has a few ramifications on applications consuming Angular Material:
- Deep imports will no longer work, e.g.,
@angular/material/core/a11y. All public symbols should be imported directly from@angular/material. Deep imports have always been an anti-pattern, but our previous package structure inadvertently allowed them. - The imports for theming have changed.
** For prebuilt themes, you can now find the CSS files in the
prebuilt-themes/directory in the package root. For angular-cli projects, this will look something like
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';
** For custom themes, you can now import theming.scss directly from the package root. Again, with
angular-cli, this will look something like:
@import '~@angular/material/theming';
Removal of deprecated symbols
- The deprecated,
Md-prefixed aliases forLiveAnnouncer,Platform, andUniqueSelectionDispactherhave been removed.
MaterialModule
MaterialModule(andMaterialRootModule) have been marked as deprecated.
We've found that, with the current state of tree-shaking in the world,
that using an aggregate NgModule like MaterialModule leads to tools
not being able to eliminate code for components that aren't used.
In order to ensure that users end up with the smallest code size possible, we're deprecating MaterialModule, to be removed in the a subsequent release.
To replace MaterialModule, users can create their own "Material"
module within their application (e.g., GmailMaterialModule) that
imports only the set of components actually used in the application.
Angular 4
- Angular Material now depends on Angular 4.
- Now that animations have been refactored into a separate package, users of
@angular/materialneed to explicitly importBrowserAnimationsModule(orNoopAnimationsModule) from@angular/platform-browser/animationsas well as installing@angular/animations.
Other changes
- The
DomProjectionservice was removed. This was an experimental, undocumented service that we ultimately found did not provide a good approach to composing components. - The
configproperty was removed fromMdDialogRef. If you were using this to access thedataproperty, you can instead inject that value using theMD_DIALOG_DATAof the opened component.
Bug Fixes
- autocomplete: "undefined" being displayed on empty control with ngModel (#3535) (675c9df), closes #3529
- autocomplete: aria-expanded should be updated when panel hides (#3494) (932b4a0)
- autocomplete: do not trigger submit on ENTER (#3727) (bedf5a1), closes #3159
- autocomplete: fix down arrow use with ngIf (#3493) (a4e2de7)
- autocomplete: fix key manager instantiation (#3274) (c21ff40)
- autocomplete: not showing panel on first focus in certain cases (#3775) (75996b5)
- autocomplete: prevent opening on load in IE (#3190) (a4da08b), closes #3183
- autocomplete: remove max width for autocomplete panel (#3297) (738e9bf), closes #3198
- autocomplete: update overlay ref width on menu trigger (#3573) (6915e8a)
- button: add transition to focus overlay (#2850) (6cdd8db)
- button: persist theme color of button when leaving hover state (#3629) (3ad6ff0)
- button: square ripple in compatibility mode (#3167) (ceb472b), closes #3164
- button: use FocusOriginMonitor for focus styles (#3294) (5d6920d)
- button-toggle: fix color for selected button toggle and selected disabled button toggle (#3418) (be167c9), closes #3382
- button-toggle: only show focus style when focused via keyboard (#3232) (d744a5f)
- card: removed header height (#3450) (17bf5e5), closes #3288
- card: unable to override elevation (#3139) (4ee16a9), closes #3123
- checkbox: add focus indication (#3403) (01188d9), closes #3102
- checkbox: create ripple on label mousedown (#3206) (3edf105), closes #3030
- checkbox: focus origin for focus method (#3763) (7a60489)
- checkbox: show checkbox animation only if user click or indeterminate state (#3137) (f4323b2), closes #2783
- checkbox: switch checkbox behaviors for click and change events (#3146) (8aa9857)
- chips: Fix adding new chips on demo page (#3426) (2d16a24)
- compatibility: remove ink bar from compatibility check (#3267) (c203589)
- connected-overlay: direction not being updated (#3293) (817dcfd), closes #3241
- connected-position: error if none of the initial positions fit in viewport (#3189) (a306a8e)
- core: log warning if doctype is missing (#2849) (22b0660), closes #2351
- demo: remove input route from demo app (#2922) (6bac315)
- dialog: delay focus until animation is done (#3774) (d7d2b16), closes #3722
- dialog: leaking component instance references (#2875) (e120e8d), closes #2734
- dialog: leaking MdDialogContainer references (#2944) (8e6720b), closes #2876
- docs: only rewrite relative links (#3339) (cb57660), closes #3147
- focus-trap: avoid closure compiler issues when adding anchors (#3448) (8b2ae0d)
- focus-trap: enabled property not being coerced (#3417) (d81445b)
- focus-trap: exception when element contains SVG on IE (#3432) (d06ad75), closes #3410
- input: baseline alignment on textarea (#3714) (7cff349)
- input: change dividerColor to color (#3726) (2ccf0ae)
- input: don't add empty prefix & suffix wrappers (#3724) (6d6c12d)
- input: don't animate label when value is set programmatically (#3691) (dc5c869)
- input: fix blank aria-describedBy (#3713) (cb85eeb)
- input: fix chrome autofill style (#3366) (f40b1b2)
- input: label animation shifting sibling labels (#3568) (f8cdd92), closes #3541
- input: make all icons in input containers the correct size (#3489) (359c9bb)
- input: make icons in prefix/suffix the right size (#3342) (63d4359)
- input: make sure injected NgControl belongs to the input (#3700) (220163e)
- input: overflow-y scrollbar is displayed (IE) (#3571) (7ffaf9e), closes #3570
- input: remove jitter that occurs on focus (#3343) (eba7641)
- interactivity-checker: cast node name to lowercase for isInputElement function (#3281) (8f76f96)
- list: add font-family style to subheader (#3056) (3464011)
- list-key-manager: exception when no initial active item (#3431) (842896b), closes #3317
- menu: incorrect text alignment in IE/Edge (#3268) (5ef3084), closes #3254
- menu: not emitting close event when closing via the backdrop (#3300) (0f28daf), closes #3295
- menu,tooltip: Ensure subscription exists before unsubscribing. (#3078) (84b5c3b)
- aot runtime issues (#3807) (f40296e)
- change selectors for MdCardXlImage and MdCardAvatar (#3134) (6e1f50b)
- coverage issue with saucelabs (#3540) (4d4a63e)
- select: allow custom aria-label (#3765) (038a337), closes #3762
- deprecate MaterialModule (#3840) (3f5894e)
- overlay: ensure proper stacking order when attaching (#3581) (aa5925b), closes #3574
- package.json: Fix failing
npm run apicommand (#3462) (bf2b615) - portal-host: unable to clear and portal reference not being set (#3302) (7fcb93b)
- progress-spinner: not redrawing when changing modes (#3672) (1ae81a4), closes #3648
- pseudo-checkbox: alignment issue and border color (#3144) (1f19ef0)
- radio: add focus indication (#3402) (c934753), closes #3102
- ripple: different durations for ripple elements (#3136) (5c7a96b), closes #3109
- ripple: fade-out-all should hide all ripples (#3400) (5cc50d2)
- ripple: fix ripple color in dark theme (#3094) (a91ae72)
- ripple: rename selector for the ripple (#3482) (58c5d17)
- scripts: change all paths in docs pushing script to relative paths (#3091) (60aa9e9)
- scroll-dispatcher: unable to unsubscribe from global listener (#3729) (68db6ba)
- scrollable: check if scrollable exists before unregistering (#3050) (b358c6c)
- select: animation jump in Chrome and blurry text in IE (#3328) (09c6386), closes #3327 #1953
- select: exception if selected value is accessed on init (#3785) (e82457c), closes #3750
- select: initial value not being displayed with FormControl and OnPush (#3434) (819fa0b)
- select: show focus indicator even with validation errors (#3743) (e964734), closes #3742
- select: unable to set a tabindex (#3479) (11dec36), closes #3474
- select: wrong item order in label in rtl (#3567) (52ea7a3)
- sidenav: throw error when sidenav has 2 sidenavs on the same side at the same time (#3369) (324da5b)
- sidenav: use vw instead of percentage for sidenav min width (#3046) (c638e20)
- slide-toggle: fix unavailable unmonitor call (#3862) (904c71e)
- slide-toggle: input not updated after drag (#3067) (5cdeb75)
- slide-toggle: invalid change events with no new value (#3555) (5346353), closes #3526
- slide-toggle: occasional element jumping (#3311) (beb0edf)
- slide-toggle: remove host element margin (#3761) (cd0b853)
- slide-toggle: ripple fade-in too slow (#3170) (369931e)
- slider: unable to reset tickInterval after it has been set (#3488) (b9b014a), closes #3452
- tab: use MD_RIPPLE_GLOBAL_OPTIONS in tab (#3553) (ee853b9)
- tab-nav: add constructor back for ripple (#3537) (f27617a)
- tabs: change color for disabled tab label (#3483) (290f710), closes #3481
- tabs: missing mat class on tab group (#3038) (d97debe)
- tabs: re-align ink bar on direction change (#3622) (07793a4), closes #3615
- tabs: remove body and header from compatibility (#3168) (b939cd8)
- tabs: remove flex; bring ink into same parent as links (#3331) (00de2d7)
- tabs: set tab body content to 100% (#3162) (cbd1ff9), closes #3153
- toolbar: incorrect height for soft-keyboards (#3312) (d1abc9e), closes #3233
- tooltip: avoid capturing the initial tap on mobile (#2423) (85ba82a), closes #2326
Features
- autocomplete: support static placeholders (#3115) (8482bbf)
- button-toggle: Add a focus overlay for button-toggle (#3119) (0544deb)
- checkbox: add value attribute to md-checkbox (#2701) (fb565c0), closes #2583
- dialog: add enter/exit animations (#2825) (5492225), closes #2665
- dialog: allow for the dialog dimensions to be updated (#2940) (a71a5af), closes #2930
- FocusOriginMonitor: support monitoring subtree focus as well as element (#3113) (3b39bd2)
- input: add directive for displaying error messages (#3560) (c29f8ca)
- input: add invalid state styling (#3114) (bc9d25b)
- list: add ripples to list items that are links (#930) (aa3360a)
- overlay: allow theming overlay-based components (#2967) (cbd42f0), closes #2662
- ripple: add option for persistent ripples (#3315) (e3ba1e1), closes #3169
- ripple: add way to globally disable ripples (#3383) (3ff383c)
- ripple: expose ripple directive in template (#3165) (6595ad8)
- ripple: support for global ripple options (#3463) (fb75a13)
- select: add floatingPlaceholder option (#2571) (bb2392f), closes #2569 #2963
- select: add multiple selection mode (#2722) (dcc8576), closes #2412
- slide-toggle: add option to disable ripple (#3195) (f8fde13)
- upgrade to angular 4 (#3608) (cd55082), closes #3357 #3336 #3301
- slide-toggle: add ripple focus indicator (#3739) (c4ec662)
- slide-toggle: use ripple service (#3068) (8541f8e), closes #2900
- slider: add theme color support (#3766) (28f1ec3)
- slider: differentiate sliders focused via keyboard vs other means (#3487) (bcb16c6)
- snack-bar: add
dismissmethod toMdSnackBarservice (#3069) (83b5842) - theming: log a warning if core theme isn't loaded (#3781) (4282917), closes #2828
- tooltip: allow tooltip be disabled (#3578) (4e38f69)
Performance Improvements
- ripple: avoid triggering change detection (#3066) (1a67107)
- scroll-dispatcher: avoid triggering change detection on scroll (#3687) (5c2b449)
- scroll-dispatcher: lazily subscribe to global events (#3270) (c1004cb), closes #3237
2.0.0-beta.2 flannel-papaya (2017-02-15)
Breaking changes from beta.1
-
Styling is no longer prefixed by
md-. All styling is now prefixed bymat-so that apps can upgrade from AngularJS Material to Angular Material without styling conflicts between the two library components. See (#2790) for the details on the code change and some useful regular expressions that can help migrate styles. -
Checkbox tab index @Input has been changed from
tabindextotabIndex. (#2953) -
Ripple no longer has the
mdRippleBackgroundColorinput to change the background color. (#2859) -
The deprecated use of
<md-input>and<md-textarea>has been removed. UsemdInputon an input or textarea within amd-input-container.md-prefixandmd-suffixare nowmdPrefixandmdSuffix. (#2788)<md-input-container> <input mdInput name="value" ngModel> </md-input-container> -
The deprecated use of
<md-sidenav-layout>has been removed. Use<md-sidenav-container>instead. (#2283) -
Input floating placeholder @Input has changed from a boolean (
trueandfalse) to a state (always,never, andauto) and was renamed fromfloatingPlaceholdertofloatPlaceholder. For details on when to use which state, see (#2585) -
The use of Module
forRoothas been deprecated and will be removed in the next release. Instead, just simply import MaterialModule directly:
@NgModule({
imports: [
...
MaterialModule,
...
]
...
});
Bug Fixes
- autocomplete: add mat version of autocomplete @Input (#2928) (e5521a8)
- autocomplete: allow basic use without forms directives (#2958) (4ee2980)
- autocomplete: close panel when options list is empty (#2834) (8a3b6fd)
- autocomplete: double-clicking input shouldnt close the panel (#2835) (18969f4)
- autocomplete: hide instead of close when options empty (#2997) (a022035)
- autocomplete: placeholder should float while panel is open (#2730) (eec4dc6)
- autocomplete: scroll options below fold into view (#2728) (6c84603)
- autocomplete: support rtl (#2648) (4f59ad0)
- autocomplete: up arrow should set last item active (#2776) (fd5e4d9)
- autosize: export md-autosize directive (#2432) (f2d73da), closes #2419
- button: add default color for mat-raised-button (#3052) (6fe1d9a)
- button: only flat button and icon buttons should inherit the color (#2561) (ac363df), closes #2539
- button: raised buttons in dark theme (#3070) (87ab712)
- button: reuse _getHostElement() to avoid redundant elementRef.nativeElement calls (#2625) (c7d1c17)
- button-toggle: add the setDisabledState from ControlValueAccessor (#2430) (fb750b4)
- button-toggle: conflict with radio component (#2343) (9e99374), closes #2274
- button-toggle: make conform with design specs (#2570) (fed5d7b)
- card: fix padding for md-card-actions in xs screens (#2567) (ad0df31)
- checkbox: Emit event when checkbox's indeterminate value changes (#2130) (f11c5eb)
- checkbox: rename tabindex to tabIndex (#2953) (b91964a)
- checkbox: ripple color does not change (#2857) (7ac29f8)
- checkbox, radio: not using theme border color (#2744) (07ec765)
- compatibility: add missing mat- selectors (#2923) (f29f7ab)
- connected-position-strategy: wrong logic when determining whether element is on screen (#2677) (e055d05), closes #2102 #2658
- dialog: escape key not working once element loses focus (#3082) (a08dc55), closes #3009
- dialog: prevent error when restoring focus on IE (#2771) (153fcd3), closes #2760
- dialog: prevent the close button from submitting forms (#2659) (29f939a), closes #2599
- dialog: use injector from viewContainerRef if provided (#2655) (be0da09)
- docs: properly create links in guide files (#2770) (60f03ed)
- icon: add caching of md-icon aria-label (#2649) (08e9d70), closes #2642
- input: add more padding so that the hint doesn't overflow the container (#2246) (d7831d9)
- input: camel-case md-prefix and md-suffix (#2639) (7562322), closes #2636
- input: disable underline with reactive forms (#2565) (f9dd34f), closes #2558
- input: disabled inputs should be grayed out (#2513) (ed3ffe0)
- input: ensure that property bindings work (#2431) (b4b4224), closes #2428
- input: fix chrome 56 warning (#2906) (62189a3)
- input: fix placeholder for number input with bad input. (#2362) (52aa715)
- input: hints not being read out by screen readers (#2856) (f899b5f), closes #2798
- input: horizontal overflow in IE and Edge (#2784) (e0fe635)
- input: properly determine input value (#2455) (3a11927), closes #2441 #2363
- input: remove md-input and md-textarea in favor of md-input-container (#2788) (7b30fdc)
- input: vendor-prefix ::placeholder (#2547) (3b16648)
- input-container: prefix and suffix stretching together with parent (#2496) (64f6d1b), closes #2493 #1881 #1421
- input-container: reduce redundancy when forwarding the NgControl classes (#2442) (8c0eef2)
- option: revert duplicate prop (#3051) (516720f)
- overlay: disable pointer events if overlay is detached (#2747) (453fa7f), closes #2739
- overlay: fix pointer events for ie11 (#3023) (597e3de), closes #3022
- progress-bar: buffer animation not working in IE (#2941) (ab8f98f), closes #2881
- progress-bar: unable to apply visibility in indeterminate mode and reduce CSS (#2417) (eb96b0c), closes #2413
- progress-spinner: fix color input on md-spinner (#2396) (6cb6576), closes #2393
- radio: change radio button trigger element to input element (#2838) (2f10a95)
- ripple: camel-cased CSS classes (#2340) (c67f4e5)
- ripple: make ripples conform with specs (#2859) (6381948)
- select: avoid going into infinite loop under certain conditions (#2955) (998a583), closes #2950
- select: don't open menu if there are no options (#2924) (cc77ef4)
- select: fix select panel animation (#2699) (15eb33a), closes #2695
- select: fix selection color (#2697) (4e94da4), closes #2696
- select: selected option not being highlighted when options are added asynchronously (#2499) (7fc38b9), closes #2497
- select: set default font size (#2976) (40bc486)
- select: set select value to trigger height and center text (#3021) (ac9c090)
- select: support use inside a custom value accessor (#2704) (651440f), closes #2609
- select: transparent background when overscrolling (#2117) (d9b2d85)
- select: trim long labels inside md-option (#2444) (416f56f), closes #2440
- select: view not updating when using OnPush detection strategy (#2894) (3bcb7c3), closes #2663 #2269
- select: parent align affects placeholder (#2572) (a1c90b3)
- sidenav: animate content resizing for side mode. (#2486) (4d33449)
- sidenav: fix animation issue for initially open sidenav (#3045) (37e4bad)
- slide-toggle: consistent naming of aria attributes (#2688) (10bd6da)
- slider: fire change event on value change via keyboard. (#2807) (7f50d11)
- slider: hide ticks when slider is disabled (#2687) (e9ec8ab)
- apply font-family to text components (#2821) (d11673a)
- slider: make disabled state look like mocks (#2604) (8263ffb)
- slider: make min value style match mocks (#2641) (737b608)
- slider: round decimals in the thumb label (#2527) (987897c), closes #2511
- snack-bar: improper button styling and improved handling of long text (#2991) (93937e6), closes #2979
- snack-bar: prevent error when opening multiple snack bars in fast succession (#2392) (161f319), closes #2390
- snack-bar: SimpleSnackBar not being exported (#3016) (a7a3967), closes #3010
- tabs: crashing on chrome under certain conditions (#2411) (727ce53), closes #2151
- tabs: fix ink not showing on chrome 57 (#3041) (f24832c)
- tabs: infinite loop when selectedIndex is set to NaN (#2389) (f4cfc2d)
- toolbar: add toolbar role to host element (#2914) (67032ca), closes #2909
- toolbar: correct font-weight (#2485) (1b44880)
- toolbar: prevent content overflow and line-wrapping (#2454) (e728771), closes #2451
- tooltip: better handling of multi-line text (#2472) (7863e38), closes #2205
- tooltip: not working properly with ChangeDetectionStrategy.OnPush (#2721) (632b964), closes #2713
- tooltip: provide a maximum width (#2678) (fb5e1d4), closes #2671
Features
- autocomplete: add autocomplete panel toggling (#2452) (d4ab3d3)
- autocomplete: add fallback positions (#2726) (8fc7706)
- autocomplete: add keyboard events to autocomplete (#2723) (fcea9d4)
- autocomplete: add screenreader support (#2729) (bd7f240)
- autocomplete: add value support (#2516) (5def001)
- autocomplete: allow use of obj values (#2792) (55e1847)
- button-toggle: Show selected option when md-button-toggle is disabled (#3012) (1547440), closes #3007
- compatibility: remove conflicts with material1 css styling (#2790) (210ff02)
- dialog: add a config option for passing in data (#2266) (29cbe61), closes #2181
- dialog: add events (observables) for open & closeAll (#2522) (23ab152)
- dialog: add the ability to align the content of md-dialog-actions (#2557) (e18ab5d), closes #2483
- dialog: support open with TemplateRef (#2910) (bf0f625)
- focus-classes: expose focus origin changes through observable (#2974) (d4ba648)
- FocusOriginMonitor: add support for touch events (#3020) (ec7e2e4)
- input: option to imperatively float placeholder (#2585) (fb0cf8a), closes #2466
- list-key-manager: active descendant support (#2606) (e2ad3a0)
- menu: Added ability to show the menu overlay around the menu trigger (#1771) (592f33f)
- overlay: add fullscreen-enabled overlay class (#1949) (0640302)
- screenshot: Add screenshot function to e2e test (button and checkbox) (#2532) (8ba8deb)
- scripts: push generated docs to material assets repo (#2720) (ba12f44)
- select: emit change event (#2458) (e5bd15c), closes #2248
- sidenav: add disableClose option (#2501) (52ade97), closes #2462
- slide-toggle: add support for labelPosition (#2836) (68a0c90), closes #2820
- slider: emit input event when slider thumb moves (#2325) (99963c4), closes #2296
- snack-bar: allow addition of extra css classes (#2804) (e783494), closes #2664
- style: add directive to determine how elements were focused. (#2646) (8a6d902)
- tabs: add the ability to invert the header (#2391) (a494c92), closes #2387
- theming: provide a content wrapper attribute (#2170) (4bf4b87), closes #1938 #2106
- tooltip: reposition on scroll (#2703) (bc52298)
- viewport-ruler: cache document client rect (#2538) (d0c8f18)
- add a common class to be used when dealing with selection logic (#2562) (c295fa9)
- add simplified checkbox component for usage in other components (#2619) (3b6cab0)
- remove the need for forRoot on material NgModules (#2556) (b49bfce)
Performance Improvements
2.0.0-beta.1 rebar-teacup (2016-12-23)
Bug Fixes
- Remove
MdAutocompleteModulethat was accidentally included in beta.0 - Correct path to umd bundle in package.json (#2368) (d286e6d), closes #2366
2.0.0-beta.0 velvet-pizza (2016-12-22)
Breaking changes from alpha.11
- The
svgSrcpropert of<md-icon>has been removed. All SVG URLs must now be explicitly marked as trusted using Angular'sDomSanitizerservice. - The
<md-input>element is deprecated in favor of<md-input-container>. This new component allows for direct access to the native input element. - All
@Inputproperties have been changed to use their camelCase names for binding. The old names are still available as deprecated but will be removed in the next release. - All
@Directiveselectors are now camelCase to be consistent with Angular core. For example,[md-tooltip]is now[mdTooltip]The old selectors are still available as deprecated but will be removed in the next release. <md-progress-circle>has been renamed to<md-progress-spinner>. The old selector and symbols are still available as deprecated but will be removed in the next release.<md-sidenav-layout>has been renamed to<md-sidenav-container>. The old selector is still available as deprecated but will be removed in the next release.- Several components in
core/, such as Overlay, have had their prefix changed tocdk-(short for "component dev kit"). This signifies that these are general-purpose tools for building components that are not coupled to Material Design.The old selectors are still available as deprecated but will be removed in the next release. The CSS classes have been changed. - The
alignproperty formd-checkboxandmd-radio-buttonhas been changed tolabelPositionwith valuesbeforeandafter. MdTooltipproperties are now prefixed, e.g.,mdTooltipPosition,mdTooltipHideDelay, etc.
Note on HammerJS
HammerJS is now optional. It is still necessary for gestures to work within certain components, but should no longer throw an error if it is missing.
Bug Fixes
- a11y: add all providers to forRoot (#2222) (9272b4b), closes #2189
- add re-exports for symbols needed by Aot (#2149) (c324142)
- icon: remove svgSrc, only allow trusted urls (#1933) (4571561)
- input: copy input state classes to md-input-container (#2191) (f0c4148)
- input: fix underline color to match spec (#2167) (b850fed), closes #2126
- input: label alignment in rtl (#2047) (7b3a059), closes #2034
- input: treat number 0 as non-empty (#2245) (a818579)
- input: unable to focus input in IE 11 (#2233) (8ec3a19)
- overlay: proper backdrop stacking with multiple overlays (#2276) (b16031a), closes #2272
- platform: Remove assumption of `window' in MdPlatform (#2221) (e436775)
- positioning: fallback positions should work while scrolled (#2193) (8df30db)
- progress-circle, progress-bar: bind color via [color] rather than [attr.color] (#2299) (e4d2bef)
- progress-spinner: Rename ProgressCircle to ProgressSpinner (#2300) (221c234)
- select: clear select if no option matches value (#2110) (2855cc3), closes #2109
- select: make invalid selector more specific (#2166) (a7c88c5)
- sidenav: make
focus-trapoccupy full height of sidenav (#2145) (13223df) - sidenav: Rename md-sidenav-layout to md-sidenav-container. (#2183) (8f1c5a9)
- slider: prevent thumb from getting stuck on Mobile Safari (#2142) (4adee46)
- snack-bar: clean up element when associated viewContainer is destroyed (#2219) (db9608f), closes #2190
- tabs: observing tab header label changes to recalculate width (#2186) (7ab4430), closes #2155
- TSError: ? Unable to compile TypeScript when running 'gulp:build' (#2132) (714c2a4)
- tests: snackbar ref has unnecessary observable.of (#2298) (d076bd3)
- tooltip: add missing rxjs import (#2288) (ba7053f)
Features
- make hammerjs optional (#2280) (28691ca)
- chips: initial version of md-chip-list. (#2242) (f45c315) (#2046) (ba85883) (#2332) (3f2db27)
- dialog: add dialog content elements (#2090) (cac72aa), closes #1624 #2042
- checkbox, radio: change
aligntolabelPosition(inverted) (#2289) (a1f9028) - connected-position: apply the fallback position that shows the largest area of the element (#2102) (4f5b9c5), closes #2049
- core: add scrollable view properties to connected pos strategy (#2259) (b60d33f)
- input: create md-input-container to eventually replace md-input (#2052) (ca2046b)
- scroll: provide directive and service to listen to scrolling (#2188) (9b68e68)
- sidenav: close via escape key and restore focus to trigger element (#1990) (a1331ec)
- tooltip: add input for delaying show and hide (#2101) (e85d108)
- toolbar add responsive heights as per spec (#2157) (78d54fc)
Performance Improvements
2.0.0-alpha.11 polyester-golem (2016-12-08)
NOTE: Be sure to delete your previous install of @angular/material and install it fresh, as
npm sometimes doesn't see that there is a more recent alpha release.
Bug Fixes
- a11y: improved accessibility in high contrast mode (#1941) (5cf7d17), closes #421 #1769
- button: ensure icons are aligned vertically. (#1736) (d3a50b3), closes #1093
- button: improved tap responsiveness on mobile (#1792) (4183fbc), closes #1316
- button: remove
disabledattribute when disabled value is false for MdAnchor (#1789) (716372b) - checkbox: fix native checked not being checked when MdCheckbox initial checked value is true (#2055) (3fd3117)
- checkbox, input, radio, slide-toggle: implement setDisabledState from ControlValueAccessor (#1750) (77a960c), closes #1171
- dialog: add border radius (#1872) (6aa7e22), closes #1868
- dialog: avoid subpixel rendering issues and refactor GlobalPositionStrategy (#1962) (1ea6d34), closes #932
- dialog: backdrop not being removed if it doesn't have transitions (#1716) (accab20), closes #1607
- elevation: change elevations to match spec (#1857) (c2597b6)
- interactivity-checker: improve robustness of isTabbable (#1950) (4b7e52d)
- list: prevent list item wrapper elements from collapsing (#2075) (27f9c99), closes #2012
- list-key-manager: prevent the default keyboard actions (#2009) (a8355e4)
- menu: reposition menu if it would open off screen (#1761) (7572e34)
- overlay: prevent blurry connected overlays (#1784) (303dd69)
- overlay-directives: update offsets if they change after overlay creation (#1981) (b36db15)
- radio: fix radio group behavior on change (#1735) (bbc5f6a)
- ripple: Always remove ripple after a certain period (#1915) (62cc830)
- ripple: don't create background div until ripple becomes enabled (#1849) (d7a54ef)
- ripple: Fix the ripple position when page is scrolled (#1907) (dd508ea)
- sidenav: resolve promise as false rather than (#1930) (7816752)
- slider: emit change event after updating value accessor (#1901) (8caf9a6)
- slider: support for RTL and invert (#1794) (5ac29dd)
- spinner: animation not being cleaned up when used with AoT (#1838) (83de14f), closes #1283
- tab-link: avoid potential memory leak (#1877) (e332f15)
- tabs: tabs should update when tabs are added or removed (#2014) (dfc580d)
- tooltip: check tooltip disposed on animation hidden (#1816) (9c0d82a)
- tooltip: don't show tooltip if message is empty or not present (#2081) (2701aae), closes #2078
- tooltip: throw a better error when an invalid position is passed (#1986) (539e44e)
Features
- select initial version of md-select (too many commits to list)
- textarea: add md-autosize directive (this will be more useful once the md-input refactoring is complete) (#1846) (9ec17c0)
- tabs: paginate tab header when exceeds width (#2084) (92e26d7)
- tabs: add ripples to the tab group and nav bar links (#1700) (b9fe75a)
- tabs: animate tab change, include optional dynamic height (#1788) (f6944e4)
- tabs: md-stretch-tabs (#1909) (78464a2), closes #1353
- button-toggle: add option for vertical toggle groups (#1936) (cb0d6fc), closes #1892
- dialog: add configurable width, height and position (#1848) (bc6cf6e), closes #1698
- dialog: add the ability to close all dialogs (#1965) (b2999c9)
- focus-trap: add the ability to specify a focus target (#1752) (72ac7a0), closes #1468
- icon: added color attribute to md-icon for icon theming (#1896) (da5febc)
- overlay: emit position change event (#1832) (b79c953)
- overlay: support min width and min height (#2063) (a695574)
- overlay-directives: attach and detach events (#1972) (a5eab75)
- overlay-directives: support fallback positions (#1865) (aa472a0)
- sidenav: emit event when backdrop is clicked (#1638) (93807ed), closes #1427
- sidenav: focus capturing (#1695) (b9c3304)
- slider: keyboard support (#1759) (13b7dd0)
- slider: vertical mode (#1878) (deb940f)
- snackbar: add onAction to snackbar ref (#1826) (a40cae9)
- snackbar: add timeout for snackbar (#1856) (6ce6396)
- tooltip: show tooltip on longpress; remove delay on mouseleave (#1819) (1552d70)
- a11y: add wrap mode to key manager (#1796) (3d4abac)
2.0.0-alpha.10 mithril-hoverboard (2016-11-10)
Breaking Changes
-
MdSnackbarConfigno longer takes aViewContainerRefas a contructor argument because theViewContainerRefis now optional. -
Tabs no longer use an
md-tab-contentdirective. Instead, the non-label content of the tab is used as its content. Labels can also be specified via attribute, so the tabs can now be given as:<md-tab-group> <md-tab label="Overview"> This is the overview tab </md-tab> <md-tab label="Details"> This is the details tab </md-tab> </md-tab-group>You can still use
md-tab-labelto provide a label template.
Features
- tab-nav-bar: new component! Provides a tab-bar for use with a router-outlet (#1589) (572b36e)
- a11y: manager for list keyboard events (#1599) (95b2a34)
- checkbox: add color attribute. (#1463) (333b11e)
- checkbox: add ripple (#1611) (ef4c3c9)
- dialog: add disableClose option (#1678) (93f8e04), closes #1419
- dialog: allow for an object literal to be passed on init (#1679) (f525db1)
- dialog: don't require a ViewContainerRef (#1704) (f59030e)
- menu: add animations (#1685) (7fcf511)
- menu: allow menu-trigger to take a menu interface. (#1564) (96d196a), closes #1560
- menu: support icons (#1702) (982cdaa)
- overlay: add custom classes for backdrop (#1532) (0b54668)
- overlay: set overlay size (#1583) (ffbc295)
- overlay: support all overlay config properties (#1591) (6f322cf)
- overlay: support custom offsets (#1660) (1738d24)
- overlay: support rtl in overlays (#1593) (b56f520)
- radio: add ripple (#1553) (d83b3e0)
- slider: fire change event (#1618) (780a654)
- slider: implement ControlValueAccessor setDisabledState (#1603) (437ec8e)
- snack bar: add enter and exit animations. (#1320) (6df29dc)
- snackbar: don't require a ViewContainerRef (#1783) (9115538)
- tabs: simplify api (#1645) (ea6c817)
- textarea: initial md-textarea. Does not yet support auto-size. (#1562) (aff22e5)
- tooltip: add tooltip animations (#1644) (52582f4)
Bug Fixes
- aot: export dialog/snackbar containers through index (#1378) (bb61928)
- aot: fix aot error w/ live announcer (#1355) (276d07d)
- button: Changed button corner radius from 3px to 2px (#1441) (ec48b34)
- button: set vertical alignment for md-button and md-raised-button (#1565) (f10ac7c)
- button-toggle: add exportAs (#1528) (d2c288d)
- button-toggle: disable user-select in button-toggle (#1720) (83f6efc)
- checkbox: disable for all non-false values (#1631) (80491a9)
- checkbox: prevent checkbox being squished (#1713) (6601949)
- checkbox: vertically align for when there's no text (#1721) (7fd0fcd)
- gestures: don't clobber native drag events (#1458) (b09465c) (#1744) (4af3cd3), closes #1025
- input: correctly position md-hint in IE11 when position start (#1674) (ecefb89)
- input: remove invalid aria-target attribute (#1513) (601c036), closes #929
- input: set line-height to normal (#1734) (f1f660e)
- list: ensure multi-line lists expand to fill space (#1466) (e7b872a)
- list: prevent default black border from applying (#1548) (4086b32), closes #1336
- list: set flex-shrink for avatar (#1464) (5a528aa), closes #1403
- menu: improve a11y for screenreaders (#1715) (267e323)
- menu: make menu open idempotent (#1478) (a5b3296)
- menu: properly handle spacebar events (#1533) (cfe3e98), closes #1175
- menu: update menu to use overlay rtl (#1687) (2b913de)
- menu: update to use overlay backdrop (#1534) (add0d23)
- overlay: ensure container covers entire screen (#1634) (af39236)
- overlay: fix connected position calculation while scrolled (#1732) (2de461e)
- overlay: not taking up entire viewport if body is scrollable (#1661) (16cbbab), closes #1633
- overlay: raise z-index for overlay-container (#1614) (8f50c35)
- portal: cleanup PortalHost on directive destroy (#1703) (7e08468)
- progress-bar: bar being thrown off by parent's text-align (#1717) (309d54c), closes #1165
- progress-circle: allow value to be set to 0 (#1536) (25c7fd5)
- progress-spinner: animation expanding parent element (#1742) (4203d09), closes #1259
- radio: only call change callback with user input (#1521) (920c875)
- radio: only emit change event on user interaction (#1680) (0d552f5)
- radio: only fire group change if there is a group (#1622) (065469a)
- radio: Uncheck radio group if uncheck radio button programmatically (#1561) (c108607), closes #609
- ripple: disable pointer events on ripple (#1623) (f91ea21) (#1684) (7336b90)
- ripple: prevent color flicker on radio/checkbox (#1705) (8ce65ca)
- sidenav: resolve the promise when sidenav is initialized opened. (#1666) (a0d85d8), closes #1382
- slide-toggle: disabled theme not working and dragging works if disabled (#1268) (8908366)
- slide-toggle: emit change event after drag end (#1405) (0b5b6f2)
- slide-toggle: remove view encapsulation (#1446) (cbecbce), closes #1343
- slide-toggle: thumb spacing at end for rtl (#1659) (ad3100e)
- slide-toggle: update colors to match spec (#1612) (596d994)
- slider: clamp thumb between min and max (#1617) (783dbb3), closes #1557
- slider: correctly detect when sidenav align changes. (#1758) (5ffdea6)
- slider: update thumb pos & ticks when min/max change (#1598) (ff84842)
- slider: update thumb position when value changes. Closes #1386 (#1610) (8e7f80d)
- slider: use percent values for the track (#1663) (8815846), closes #1389 #1304 #1234
- snackbar: add explicit box-sizing (#1413) (580da74), closes #1412
- snackbar: always clear ref when dismissing (#1773) (3c5b632)
- snackbar: remove even if still animating open (#1797) (523a48e)
- snackbar: snackbars sometimes don't get removed (#1795) (fcd29c8)
- tabs: make @Output not private (#1636) (04e2201)
- tabs: set correct min-width on mobile devices (#1351) (e270e50), closes #1350
- tooltip: remove tooltip component after its parent destroyed (#1470) (92ac392), closes #1111
- correct EventEmitter generic type across lib (#1620) (0174fa9)
- disable ripples when parent component is disabled (#1778) (6b9e11c)
Performance Improvements
2.0.0-alpha.9 cobalt-kraken (2016-09-26)
Breaking Changes
Angular Material has changed from @angular2-material/... packages to a single package under
@angular/material. Along with this change, there is a new NgModule, MaterialModule, that
contains all of the components. Build tools such as rollup.js can perform
tree-shaking to eliminate the code for components that you aren't using.
The addition of theming as also changed the directory structure for bringing the core css into your application. See the new theming guide for more information.
Features
- theming: add initial version for theming (#1239) (e0726e1)
- dialog: initial version of dialog (#1041) (7ecda22, #1321) (74dc5b2, #1330) (23143b9)
- snack-bar: initial version of MdSnackBar. (#1296) (a732e88)
- packaging: move packaging to a single "@angular/material" (#1286) (b5c8c63)
- a11y: add basic focus-trap directive (#1311) (3e8b9d9)
- a11y: initial interactivity checker (#1288) (8a4b69d)
- card: add md-card-footer (#1178) (1c2a3f1)
Bug Fixes
- aot: change @Inputs to not be private (#1289) (b284dd4)
- checkbox, slide-toggle: forward required attribute to input. (#1137) (0e9383a), closes #1133
- gestures: add hammer types by default (#1309) (1a824d2)
- grid-list: darken grid footer (#1310) (f9116f3)
- grid-list: hide overflow on tiles (#1299) (06a6076)
- input: input should not be treated as empty if it is a date field. (#846) (fe2b493), closes #845 #845 #845
- sidenav: align text at start (#1297) (0e0ff0e)
- sidenav: fix dark theme (#1319) (332a4a2)
- sidenav: fix Promise type to match (#1188) (3d5ceab)
- theming: set input default color to currentColor in input theme (#1260) (#1262) (fa78f72)
2.0.0-alpha.8 ectoplasm-helicopter (2016-09-01)
Breaking Changes
- all: we've updated our packaging to match angular/angular's packaging. If you're using SystemJS in your project, you will probably want to switch to using our UMD bundles. Example config:
'@angular2-material/core': {
format: 'cjs',
main: 'core.umd.js'
}
You can see a more detailed example in our demo app's system config.
In addition to this, each component now has an index.js file, so you should now have imports like
import {MdButtonModule} from '@angular2-material/button'
Instead of
import {MdButtonModule} from '@angular2-material/button/button'
- all: material modules must be included with
forRoot()when bootstrapping. See the ngModules guide for more information.
@NgModule({
imports: [
MdCoreModule.forRoot(),
MdRadioModule.forRoot(),
MdIconModule.forRoot()
]
...
});
-
all: material now depends on TypeScript 2.0
-
input:
md-inputattributes now match the casing of native attributes. Previously they were camel-cased; now they are all lowercase. Example:autoCompleteis nowautocomplete. See #1066 for a full list. -
overlay: overlays are now synchronous. This means actions like creating an overlay no longer return a promise.
Bug Fixes
- button: hover styles no longer applied to disabled buttons (#909) (21e419d), closes #866
- button: stop using
Typefrom @angular (#991) (97d3ed3) - button-toggle: toggle group should not emit an initial change event. (#1144) (e5830d1)
- card: remove unnecessary intermediate div (#1068) (b5e1e33)
- checkbox: export TransitionCheckState enum (#1147) (cda90f3)
- input: make attributes match native ones (#1066) (f3a7b91), closes #1065
- ngc: _onDragStart/End are called with one param (#1113) (6e5d260), closes #1112
- ngc: don't emit HTMLElement in JS files (#1061) (32eacd2)
- rc6: add directives for custom elements that are part of the APIs. (#1121) (2c0dfcb)
- sidenav: turn off view encapsulation and refactor css (#1114) (97fe211)
- tabs: change missed md-active to md-tab-active (#1044) (87b6193)
Features
- menu: add keyboard events and improve accessibility (#1132) (3669f06)
- modules: add
forRoot()to material modules with providers (#1122) (9ff6196) - modules: add
forRoot()to all modules (#1166) (21dc44a) - overlay: make overlays synchronous (#1079) (cdad90b)
- slider: add thumb-label (#976) (22d70ae)
- slider: support ngModel (#1029) (8828358)
- tabs: support for
disabledtabs (#934) (9d51deb), closes #880
2.0.0-alpha.7 wax-umpire (2016-08-09)
Bug Fixes
- checkbox: wrong cursor when disabled (#908) (5251c27), closes #907
- checkbox, slide-toggle: only emit change event if native input emitted one. (#820) (d52e6e0), closes #575
- gestures: custom recognizers should not inherit twice. (#902) (c68efbd)
- gestures: ensure drag and pan are recognized with slide (#901) (3179fec)
- input: ensure all of label displays on safari (#871) (c8303b4), closes #795
- overlay: lazily create container (#894) (1efbbb9)
- progress-circle: correct elapsed time calculation (#927) (0b17cd3), closes #926
- progress-circle: remove performance.now to support non browser envs (#857) (14c1765)
- progress-circle: remove references to window (#838) (66ddd3a), closes #837
- radio: only emit change event if native input does. (#911) (23a61ab), closes #791
- slide-toggle: fix runtime exception for incorrect mousedown binding. (#828) (bbbc87f), closes #828
- fix type mismatches when offline compiling. (#835) (4bb7790)
Features
Note that NgModules are now the supported way of including the Material components in your app. The MD_XXX_DIRECTIVES constants are now deprecated and will be removed in alpha.8.
- tooltip: initial tooltip implementation (#799) (f5e2a81)
- md-slider: initial version for md-slider (#779) (8354750)
- md-menu initial version for md-menu (more features coming in alpha.8) (#893) (16eb6be) (#855) (e324e47) (#867) (9a32489)
- ripple: initial mdInkRipple implementation (#681) (47448cb)
- button: add ripple to md-button (32aa461)
- input: support autocapitalize and autocorrect attributes (#858) (b2471f2)
- slide-toggle: add drag functionality to thumb (#750) (25b4f21)
In-progress, not yet released
- dialog: add styles and ability to close. (#862) (758b851)
- dialog: initial framework for md-dialog (#761) (9552ed5)
Code health
BREAKING CHANGES
- radio: radio-button will no longer emit change event on de-select.
2.0.0-alpha.6 carbonfiber-discotheque (2016-06-30)
Breaking changes
MdRadioDispatcheris nowMdUniqueSelectionDispatcherand is imported fromcore- Form controls use the new
@angular/formspackage. To make migration easier, you can alternatively install alpha.5-3, which is the same as alpha.6 without the new forms package. Please see the docs for the new forms module.
Bug Fixes
- button: add the focus() method to buttons. (#643) (a6e74ce), closes #510
- button: focus state matches spec (#467) (b24d321)
- checkbox: checkbox animation works in Safari (#594) (0a9fb83)
- checkbox: prevent double click events (#672) (afed818), closes #671
- core: resolve compilation errors for latest Typescript 1.9 (#624) (e366fa0), closes #624
- demo-app: resolve mapping paths in relative. (#566) (421828a), closes #566
- forms: update components to new forms module (#745) (653fcee)
- grid-list: account for gutter in total list height (#545) (b47097d)
- input: Fix floating label width (#689) (cf2703c), closes #689 #688
- input: placeholder text is hidden by parent visibility (#680) (b407278), closes #670
- overlay: add a z-index. (#615) (89ab2f5)
- progress-bar: determinate state reflects value (#542) (6b86df0), closes #519
- radio: fix the baseline of radio buttons (#642) (31f0c7f), closes #642
- radio: model should update before change event is fired (#456) (c923f56), closes #448
- radio: support aria-label(ledby) on md-radio (#586) (#596) (8ccc49b)
- release: make resource-inlining regex non-greedy (#653) (e808452)
- sidenav: md-content now fills height (#703) (e10172c), closes #606
- sidenav: resolve compilation errors for latest Typescript 1.9 (#627) (f7f0b4a), closes #627
- slide-toggle: apply typography styles to slide-toggle (#634) (bbd96e8), closes #633
- slide-toggle: stop change event firing upon init (#713) (f21b2f4), closes #709
- spinner: omit min/max/value for indeterminate and correctly set mode (#640) (a5944da)
- tabs: adds support for async tabs (#639) (231467d), closes #574
- tabs: removes minimum height (#641) (750a8e3), closes #570
- theme: fix card and list colors for dark themes (#667) (ce27341), closes #667 #350
- toolbar: disable view encapsulation. (#678) (5c4dc04), closes #676
- add event object for slide-toggle and checkbox. (#554) (55cc197), closes #552
- include scss sources in packages (#536) (fd02b10)
- remove @internal where it would make tsc fail (#538) (efd1be2)
- remove circular deps and ci check (#608) (fda5617)
- remove duplicated typing. TS stdlib provides enough for e2e tests (#637) (a68597e)
- resolve errors w/ Closure Compiler. (#659) (fbdb35b), closes #659
- visually hidden inputs should not bubble change event (#551) (d037ed3), closes #544
Features
- grid-list: add header and footer support (43806f6)
- overlay: add connected overlay directive (#496) (3b527e8)
- tabs: adds focus/select events (#649) (497a3c1), closes #569
- tabs: adds support for two-way bindings on selectedIndex (#702) (8df3246), closes #687
Performance Improvements
2.0.0-alpha.5 granite-gouda (2016-05-25)
Bug Fixes
- checkbox: change event should now fire on first change(7a9df1e), closes #481
- gestures: ensure default gestures are not overwritten by custom gestures(523929c)
- gestures: export gesture config as part of core (#488)(0d04e01)
- input: adds blur and focus event support (#449)(f6f5af3), closes #337
- input: adds support for name property for input element (#452)(f53ffdb), closes #446
- input: input element should have a different id from outer element (#450)(be5e93a), closes #320
- input: inputs now work in IE11 (#469)(de2a9f2), closes #336
- input: make native input background transparent (#468)(d2c6cb8), closes #277
- input: undo firefox invalid style, fix maxlength in IE (#393)(dfe683b), closes #393 #342 #388
- input: use the right ID for the label. (#515)(06aa3f1), closes #512
- list: adds focus state for nav-list items (#502)(34b210c), closes #323
- list: removes outline from focus state (#511)(91ad1c8)
- progress-circle: support IE11 (#375)(f22fa86), closes #295
- radio: refactor tests and fix ngModel (#443)(a25a8da), closes #443
- radio: remove event global so radio works in node(c32b06d), closes #425
- radio: unsetting the model will deselect all radio buttons (#441)(8af16e8), closes #327
- sidenav: add scrolling style to enable momentum scroll(c566242)
- sidenav: fixes sidenav RTL listening for side mode (#465)(4e1d85e), closes #465 #411
- sidenav: removes margin transitions (#460)(4b488e1), closes #404
- sidenav: switches to
translate3d()for content positioning (#484)(357ee4c) - sidenav: treat
openedas boolean attribute. (#444)(e977984), closes #300 - misc: adds directive constants to all components (#514)(fb89d4f), closes #513
- misc: correct access-level on many APIs (#437)(358af3b)
- misc: ensure custom error messages are set(4a25b7f)
Features
- tabs: adds the
md-tab-groupcomponent (#376)(ada285c) - grid-list: add grid-list component(0f89b8d)
- slide-toggle add slide-toggle component. (#362)(e09a5bf)
- checkbox: drive component with native checkbox (#415)(10ac2be), closes #250
- input: add focus function on host element (#407)(0323844)
- input: add support for more input attributes (#447)(911bfae)
- overlay: add connected position strategy (#335)(7f3b1bd)
2.0.0-alpha.4 mahogany-tambourine (2016-05-04)
Bug Fixes
- button: cleaned up button theming(0672356)
- checkbox: fix horizontal spacing between checkboxes and radio buttons(f4a7266)
- sidenav: add min width for empty navs(dbe3cc5)
- sidenav: prevent content from scrolling when sidenav is open(fea5923)
- theme: new, more delightful default theme(2f3e9db)
- update to @angular 2.0.0-rc.0 (#384)(04c8a1f)
Features
- icon: initial md-icon implementation (#281)(a094a33)
- card: add alignment shortcuts for md-card-actions(77be2df)
- grid-list: basic scaffold for grid list (unreleased)(a9e1fa5)
- list: add icon support(7b3698c)
- sidenav: add fullscreen mode(aa6c740)
2.0.0-alpha.3 cotton-candelabrum (2016-04-21)
Bug Fixes
- button: remove ref to Event global (for node) (76e4f56)
- input: convert values entered based on the type input (e7611ce)
- progress-circle: actually render on Firefox & Edge (#283) (d24a5b3)
- sidenav: do not throw when there's no sidenav. (#270) (cc2b223), closes #269
Features
- progress-bar: initial progress-bar impl. (#130) (c640f0c), closes #40
- gestures: add basic gesture demos (d4a3cde)
- input: add support for spellcheck attribute (#316) (dfee018)
- list: add nav list styles (22c1ea3)
- list: syntactic sugar for simple nav lists (c21c336)
- a11y: live-announcer supports using a provided live element (#273) (1a33a5b), closes #267
2.0.0-alpha.2 diamond-haircut (2016-04-06)
Bug Fixes
- button: apply color classes correctly. (62265cc), closes #75 #89 #195
- checkbox: Cancel spacebar keydown events when component focused (6db3511), closes #162 #181
- checkbox: Ensure consistent mixedmark rendering across browsers (666cdba), closes #174 #190
- checkbox: Handle transition when unset checkbox is interacted with (dde9359), closes #183 #227
- checkbox: Reduce $md-checkbox-transition-duration to 90ms (87e3a32), closes #226 #230
- checkbox: Remove GPU layer promotion for mark elements (82a22a7)
- sidenav: Remove deprecated @View (a61e2e9), closes #213
- radio: export the dispatcher in radio.ts (64cc406)
Features
- input: add new input component (74d9bc0)
- input: README.md improvements and autofill support. (b711c2b)
- list: add list component (fb71eb1)
- list: add dividers to lists (915dd9b)
- list: support subheaders in lists (0a9c169)
- elevation: Add elevation core styles (3e34f7a), closes #222
- button: add md-icon-button styling. (208cd65), closes #188 #206
- overlay: add basic core of overlay (f0e1273)
- overlay: add global position strategy (c8f87a4)
- overlay: add overlay container & styles (74e3edf)
- portal: add DomPortalHost (358d923)
- radio: support ngModel on md-radio-group (6aff4cc), closes #209
- a11y: add aria live announcer (e99da66), closes #106
2.0.0-alpha.1 nylon-hyperdrive (2016-03-16)
Features
2.0.0-alpha.0 titanium-octopus (2016-03-15)
First release of angular2-material!
This inaugural release includes 6 components:
- md-button (buttons and anchors)
- md-card
- md-toolbar
- md-sidenav
- md-checkbox
- md-progress-circle and md-spinner
As the alpha process continues, these components will continue to evolve. There will be breaking changes between alpha releases; the alpha releases are here for people that want an early look or who like to live on the edge and are very tolerant of breaking API and behavior changes.

