2.0.0-beta.11 carapace-parapet (2017-09-21)
- Each
@angular/material
component 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/cdk
with Material Design flavors in@angular/material
.
- Angular Material now requires Angular 4.4.3 or greater
MaterialModule
has been removed. (cf1ece0) (#6803) See the deprecation notice from beta.3 for more information.MdCoreModule
has been removed. Most of its functionality has been moved to@angular/cdk
over the last few releases.FocusOriginMonitor
has been renamed toFocusMonitor
and moved to@angular/cdk
.- chip-list: The outputs
select
anddeselect
have been removed in favor of a singleonSelectionChange
output. - overlay: OverlayState has been renamed to OverlayConfig
- overlay: Now that the Overlay is part of the cdk rather than Angular Material directly,
the
themeClass
property has been removed. To add a class to the overlay for theming, you can do
overlayContainer.getContainerElement().classList.add('my-theme-class');
- DateAdapter method
getISODateString
has been renamed totoIso8601
and a new methodfromIso8601
has been added.
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.
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
.
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.
- 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
mat
exportAs and class aliases (#7106) (a96b545) - tooltip: error on trigger escape presses while closed (#7028) (dcf3b27), closes #7009
- 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: false
to all components (#7115) (2b0315d) - move FocusMonitor into cdk (#6921) (6cfe5c4)
- 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)
- Over 140 bug fixes
- Nested menus
- Nested menus
- Nested menus!
- Nested menus
- Autocomplete supports
md-optgroup
Overlay
moved to@angular/cdk
- New component
MdSelectionList
md-input-container
renamed tomd-form-field
(while still being backwards compatible)- Almost all components now use
OnPush
change detection (dialog being the exception) - You can now get back the
EmbeddedViewRef
when attaching aTemplatePortal
MdSidenav
has been split intoMdSidenav
andMdDrawer
. TheMdSidenav
is 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
- Imports from
@angular/cdk
are 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
Overlay
code has been moved from@angular/material
to@angular/cdk
. The symbols are still re-exported through@angular/material
, but these re-exports will be removed in a subsequent release. cdkScrollable
,ScrollDispatcher
, andViewportRuler
have been moved from overlay into its ownscrolling
subpackage in@angular/cdk
.- input: Inputs have a width of
200px
by default (similar to native input elements). The width can be overridden by via themat-form-field
css class. - input: CSS classes have changed from
mat-input-container-
tomat-form-field-
. - input:
md-prefix
andmd-suffix
are nowmdPrefix
andmdSuffix
. - portal:
TemplatePortal
now 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:
ObserveContentModule
has been renamed toObserversModule
- overlay:
PositionStrategy
now has anattach
method 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:
mdDatepickerToggle
is now an element<md-datepicker-toggle>
with afor
property that points to theMdDatepicker
instance - datepicker:
NativeDateAdapter
will 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
0
and1000
hues have been removed from themat-gray
palette - chips: The
selectable
property of themd-chip-list
has now been moved tomd-chip
to maintain consistency with the newremovable
option.
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>
- All dash-case
@Directive
selectors 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-container
has been renamed tomd-form-field
. The old selector will be removed in a subsequent release. This is in preparation to makingmd-select
a child ofmd-form-field
such that both select and input share the same features and appearance.- For camelCased directives, each corresponding
@Input()
is now also prefixed. For example,cdkConnectedOverlay
now 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
. MdCoreModule
is deprecated and will be removed in a subsequent release now that most of its functionality has been moved to@angular/cdk
- Reminder that
MaterialModule
is deprecated and will be removed in a subsequent release (see changelog from beta.3 for more information).
- 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)
- 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
dir
andchanges
readonly (#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)
- 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)
- 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/material
package 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/material
and@angular/cdk
are now strict null compliant.
@angular/material
now depends on@angular/cdk
as a peer dependency.- Some types have expanded to include
| null
or| undefined
for 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.
- 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)
- 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)
- 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.
- 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
- 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)
- input: The
align
input from the<md-input-container>
component has been removed. Developers instead should use plain CSS to achieve the same effect (usingtext-align: end
for example).
2.0.0-beta.6 amber-ansible (2017-05-25)
- 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)
- core: expose ScrollDispatchModule (#4501) (caee5a5)
- dialog: add
result
to 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)
2.0.0-beta.4 unobtainium-sunglasses (2017-05-12)
MdIconModule
no longer importsHttpModule
. If your application depended onHttp
being provided throughMdIconModule
, you should now directly importHttpModule
into your application.- The
forRoot
method 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.
- 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.
- 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
indeterminate
when setchecked
programmatically (#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)
- 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)
2.0.0-beta.3 cesium-cephalopod (2017-04-07)
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';
- The deprecated,
Md
-prefixed aliases forLiveAnnouncer
,Platform
, andUniqueSelectionDispacther
have been removed.
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 Material now depends on Angular 4.
- Now that animations have been refactored into a separate package, users of
@angular/material
need to explicitly importBrowserAnimationsModule
(orNoopAnimationsModule
) from@angular/platform-browser/animations
as well as installing@angular/animations
.
- The
DomProjection
service was removed. This was an experimental, undocumented service that we ultimately found did not provide a good approach to composing components. - The
config
property was removed fromMdDialogRef
. If you were using this to access thedata
property, you can instead inject that value using theMD_DIALOG_DATA
of the opened component.
- 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 api
command (#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
- 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
dismiss
method toMdSnackBar
service (#3069) (83b5842) - theming: log a warning if core theme isn't loaded (#3781) (4282917), closes #2828
- tooltip: allow tooltip be disabled (#3578) (4e38f69)
- 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)
-
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
tabindex
totabIndex
. (#2953) -
Ripple no longer has the
mdRippleBackgroundColor
input to change the background color. (#2859) -
The deprecated use of
<md-input>
and<md-textarea>
has been removed. UsemdInput
on an input or textarea within amd-input-container
.md-prefix
andmd-suffix
are nowmdPrefix
andmdSuffix
. (#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 (
true
andfalse
) to a state (always
,never
, andauto
) and was renamed fromfloatingPlaceholder
tofloatPlaceholder
. For details on when to use which state, see (#2585) -
The use of Module
forRoot
has been deprecated and will be removed in the next release. Instead, just simply import MaterialModule directly:
@NgModule({
imports: [
...
MaterialModule,
...
]
...
});
- 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
- 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)
2.0.0-beta.1 rebar-teacup (2016-12-23)
- Remove
MdAutocompleteModule
that 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)
- The
svgSrc
propert of<md-icon>
has been removed. All SVG URLs must now be explicitly marked as trusted using Angular'sDomSanitizer
service. - 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
@Input
properties 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
@Directive
selectors 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
align
property formd-checkbox
andmd-radio-button
has been changed tolabelPosition
with valuesbefore
andafter
. MdTooltip
properties are now prefixed, e.g.,mdTooltipPosition
,mdTooltipHideDelay
, etc.
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.
- 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-trap
occupy 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)
- 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
align
tolabelPosition
(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)
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.
- 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
disabled
attribute 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)
- 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)
-
MdSnackbarConfig
no longer takes aViewContainerRef
as a contructor argument because theViewContainerRef
is now optional. -
Tabs no longer use an
md-tab-content
directive. 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-label
to provide a label template.
- 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)
- 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)
2.0.0-alpha.9 cobalt-kraken (2016-09-26)
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.
- 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)
- 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)
- 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-input
attributes now match the casing of native attributes. Previously they were camel-cased; now they are all lowercase. Example:autoComplete
is nowautocomplete
. See #1066 for a full list. -
overlay: overlays are now synchronous. This means actions like creating an overlay no longer return a promise.
- button: hover styles no longer applied to disabled buttons (#909) (21e419d), closes #866
- button: stop using
Type
from @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)
- 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
disabled
tabs (#934) (9d51deb), closes #880
2.0.0-alpha.7 wax-umpire (2016-08-09)
- 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)
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)
- dialog: add styles and ability to close. (#862) (758b851)
- dialog: initial framework for md-dialog (#761) (9552ed5)
- radio: radio-button will no longer emit change event on de-select.
2.0.0-alpha.6 carbonfiber-discotheque (2016-06-30)
MdRadioDispatcher
is nowMdUniqueSelectionDispatcher
and is imported fromcore
- Form controls use the new
@angular/forms
package. 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.
- 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
- 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
2.0.0-alpha.5 granite-gouda (2016-05-25)
- 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
opened
as 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)
- tabs: adds the
md-tab-group
component (#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)
- 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)
- 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)
- 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
- 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)
- 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)
- 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)
2.0.0-alpha.0 titanium-octopus (2016-03-15)
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.