Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
189 commits
Select commit Hold shift + click to select a range
739d25e
docs: adds new button examples (#11975)
FrederikSchlemmer Jul 17, 2018
ead7deb
virtual-scroll: Avoid using bypassSecurityTrustStyle which is banned …
mmalerba Jul 17, 2018
f700897
fix(tabs): content animation in RTL not working (chrome) (#12215)
devversion Jul 17, 2018
b9cece4
fix(drag-drop): make `CDK_DROP_CONTAINER` public (#12214)
Jul 17, 2018
531af85
test(drag-drop): add missing unit tests (#12219)
crisbeto Jul 17, 2018
8a4f2c3
fix(tooltip): interfering with native drag&drop (#12200)
crisbeto Jul 17, 2018
6fb6216
fix(menu): focus indication not visible in high contrast mode (#12201)
crisbeto Jul 17, 2018
7a04609
fix(drag-drop): disable text selection on draggable element (#12204)
crisbeto Jul 17, 2018
0304ac1
fix(moment-date-adapter): not returning utc date when parsing (#12029)
crisbeto Jul 18, 2018
2d230b6
chore(examples): fix tab group example title (#12255)
devversion Jul 18, 2018
f2acb51
fix(schematics): fix object iteration error in dashboard (#12216)
yunga91 Jul 18, 2018
0e03aae
fix(tabs): enable keyboard wrapping and mark disabled tabs (#12218)
crisbeto Jul 18, 2018
1e847f1
fix(badge): hide badges with no content (#12239)
crisbeto Jul 18, 2018
e587f4b
fix(overlay): avoid same overlay being added to the keyboard event st…
crisbeto Jul 18, 2018
4ac1be3
fix(tabs): reposition tab body on direction change (#12229)
devversion Jul 18, 2018
aed3993
fix(menu): collapse empty menu panel (#12211)
crisbeto Jul 18, 2018
1fb1fab
fix(autofill): avoid firing unnecessary event on initial render of in…
mmalerba Jul 18, 2018
bdab139
virtual-scroll: add support for user-provided content wrapper (#12183)
mmalerba Jul 18, 2018
09f439a
fix(tabs): ripple overflow in internet explorer (#12036)
devversion Jul 18, 2018
dd31521
fix(table): unable to sort large numbers in strings (#12052)
crisbeto Jul 19, 2018
efedc9b
fix(ripple): don't hide directive host in high contrast (#12168)
devversion Jul 20, 2018
48ece27
fix(tab-group): focus change event not firing for keyboard navigation…
devversion Jul 20, 2018
a17590e
docs(cdk): fix spelling (#12289)
pickfire Jul 20, 2018
ff53295
fix(menu): showing scrollbars on first open in Edge if item width is …
crisbeto Jul 20, 2018
646e378
fix(chips): losing focus if active chip is deleted (#11910)
crisbeto Jul 20, 2018
d50dbde
chore(autocomplete): fix image spacing on overview example (#12286)
crisbeto Jul 20, 2018
fe193f5
fix(slide-toggle): invert the thumb and slide gesture in rtl (#12284)
crisbeto Jul 20, 2018
641ec85
fix(tabs): selectedIndex being overwritten if tabs are being added / …
devversion Jul 20, 2018
d298c2e
docs(theming): update theming.md for angular 6 (#12313)
cRAN-cg Jul 23, 2018
3e0e3c5
fix(drag-drop): unable to drag last item back into initial container …
crisbeto Jul 23, 2018
3906937
chore: update changelog for 6.4.1 (#12330)
josephperrott Jul 23, 2018
adbccbb
docs: fix up button-types and dialog-content examples (#12320)
crisbeto Jul 24, 2018
25d0bf4
docs: properly show method overloads (#12308)
devversion Jul 24, 2018
66416f5
fix(update): support parenthesized directive metadata (#12314)
devversion Jul 24, 2018
86f85c6
build: avoid manually-maintained example lists (#12335)
crisbeto Jul 24, 2018
aae045c
virtual-scroll: switch back to `markForCheck` since `detectChanges` (…
mmalerba Jul 24, 2018
2122b18
fix(autocomplete): remove aria-owns attribute while closed (#12333)
crisbeto Jul 24, 2018
1599892
refactor: remove internal usages of deprecated apis (#12316)
crisbeto Jul 24, 2018
b6f7205
perf(tree): leaking reference through mostRecentTreeNode (#12334)
crisbeto Jul 24, 2018
98a673a
virtual-scroll: add support for `scrollToOffset` and `scrollToIndex` …
mmalerba Jul 25, 2018
2b2f582
refactor(live-announcer): add unique class to identify live element (…
devversion Jul 25, 2018
765421e
feat(drag-drop): allow connecting containers via string ids, attachin…
crisbeto Jul 25, 2018
6f3f600
docs: Getting started guide update about animations (#12377)
fetis Jul 26, 2018
0c526d3
fix(progress-bar): query animation not working inside routes with nam…
crisbeto Jul 26, 2018
fb16c8a
refactor(table): remove redundant constructors (#12301)
crisbeto Jul 26, 2018
6661eff
virtual-scroll: emit the currently scrolled to index (#12381)
mmalerba Jul 26, 2018
7c8e892
perf(table): leaking reference through mostRecentCellOutlet (#12269)
crisbeto Jul 29, 2018
8a2dc60
fix(card): incorrectly inverting inset divider in rtl (#12285)
crisbeto Jul 29, 2018
b46689e
fix(snack-bar): prevent content from overriding configured aria-live …
devversion Jul 29, 2018
485fcec
fix(drag-drop): throwing off NgFor differ (#12393)
crisbeto Jul 29, 2018
f4d625c
build: rename @deletion-target to @breaking-change (#12421)
crisbeto Jul 29, 2018
f84823c
chore: 6.4.2 changelog (#12441)
mmalerba Jul 30, 2018
ee63518
chore: use regex to whitelist branches for CI (#12439)
mmalerba Jul 31, 2018
390afa3
build: add version stamp to release output (#12418)
devversion Jul 31, 2018
3580fb5
fix(drag-drop): account for transition-delay when waiting for the ani…
crisbeto Aug 1, 2018
212bd0b
fix(form-field): unable to distinguish disabled form field in high co…
crisbeto Aug 1, 2018
3652707
fix(chips): focus indication not visible in high contrast mode (#12431)
crisbeto Aug 1, 2018
5053532
fix(chips): dynamic chip input placeholder changes not being propagat…
crisbeto Aug 1, 2018
40d8ae4
perf(overlay): remove detached overlays from the DOM (#12414)
crisbeto Aug 1, 2018
952b553
fix(form-field): reset inputs not being reset on safari (#12413)
crisbeto Aug 1, 2018
58361f1
fix(bidi): default invalid directionality values to ltr (#12396)
crisbeto Aug 1, 2018
bf9bc0d
fix(live-announcer): duplicate live element when coming in from the s…
crisbeto Aug 1, 2018
0c746c1
fix(checkbox): prevent error when disabling while focused (#12327)
devversion Aug 1, 2018
80f6929
fix(slide-toggle): prevent error when disabling while focused (#12325)
devversion Aug 1, 2018
39d40f3
fix(table): error if row definition is on an ng-container (#12462)
crisbeto Aug 3, 2018
747231a
fix(menu): menu content data being cleared when lazy-loaded content i…
crisbeto Aug 3, 2018
e0a3b47
chore(select): fix flaky positioning test (#12496)
crisbeto Aug 2, 2018
6c91902
chore: bump version to 6.4.3 w/ changelog (#12558)
jelbourn Aug 7, 2018
2798084
fix(tabs): animation running after initialization (#12549)
devversion Aug 7, 2018
5b0eed3
fix(tree): include constructors on MatTree classes to allow es6 build…
josephperrott Aug 7, 2018
dcae875
fix(button-toggle): forward tabindex to underlying button (#12538)
crisbeto Aug 7, 2018
6048f6f
fix(list): disable hover styling on touch devices (#12520)
crisbeto Aug 7, 2018
35bdd00
fix(paginator): inconsistently disabling tooltips between browsers (#…
crisbeto Aug 7, 2018
d10a6c4
fix(datepicker): input not picking up changes if datepicker is assign…
crisbeto Aug 7, 2018
0a56cf7
fix(button): allow transition for the button focus overlay for all bu…
josephperrott Aug 7, 2018
7d0e69b
feat(drag-drop): add support for sorting animations (#12530)
crisbeto Aug 7, 2018
fd70c07
fix(drag-drop): remove circular dependencies (#12554)
crisbeto Aug 8, 2018
cb3f760
feat(breakpoint-observer): Emit matching state of each query provided…
josephperrott Aug 8, 2018
a192907
fix(overlay): flexible overlay with push not handling scroll offset a…
crisbeto Aug 9, 2018
11b97e4
fix(snackbar): wrap simple snackbar text in span (#12599)
josephperrott Aug 9, 2018
21ce45e
chore: revert pr/11628 (#12623)
josephperrott Aug 10, 2018
38e5eb2
docs(sidenav): add note about `mat-sidenav` placement (#12613)
girlpunk Aug 13, 2018
7e7e873
fix(drag-drop): ignore self inside connectedTo (#12626)
crisbeto Aug 13, 2018
94e869a
test(datepicker): fix test referencing a changed method name (#12653)
josephperrott Aug 13, 2018
91496b1
chore: update changelog and package.json for 6.4.4 (#12652)
josephperrott Aug 13, 2018
f575b1f
chore: bump to 6.4.5 (#12657)
josephperrott Aug 13, 2018
4180e72
fix(cdk-text-field): prevent keyframes from getting stripped by LibSa…
mmalerba Aug 13, 2018
75632bd
fix(tabs): changed after checked error when using isActive in view (#…
crisbeto Aug 13, 2018
a19c60c
test(tabs): fix test failure (#12656)
crisbeto Aug 13, 2018
c7d34be
feat(drag-drop): add move event (#12641)
crisbeto Aug 13, 2018
fb6cd06
add ng add as an install alternative to npm/yarn (#12471)
elAndyG Aug 14, 2018
78ac07a
feat(drag-drop): add the ability to lock dragging along an axis (#12604)
crisbeto Aug 14, 2018
948f655
fix(progress-bar): query state animation not working (#11459)
crisbeto Aug 14, 2018
7d8c59f
Fixes MAT_MOMENT_DATE_ADAPTER_OPTIONS (#12679)
ErickXavier Aug 15, 2018
ffeb779
fix(form-field): update label gap for outline style (#12555)
josephperrott Aug 15, 2018
1c2f0b5
feat(drag-drop): add function to determine whether an item is allowed…
crisbeto Aug 15, 2018
ea9a0e0
build: update saucelabs tunnel (#12689)
devversion Aug 15, 2018
778e7ee
build: fix docs-content branch publish (#12690)
devversion Aug 15, 2018
3c1995d
fix(selection-list): do not allow toggling disabled options (#12617)
devversion Aug 16, 2018
08a4b92
test: fix slide-toggle e2e failures (#12699)
crisbeto Aug 16, 2018
0b185b1
build: do not e2e tests on saucelabs (#12700)
devversion Aug 16, 2018
0fd20e6
build: fix branch checkout for publish script (#12585)
devversion Aug 8, 2018
8264dc0
chore: bump version to 6.4.6 (#12763)
mmalerba Aug 20, 2018
8cec0bc
refactor(observers): allow ElementRef to be passed to content observe…
crisbeto Aug 21, 2018
fc537af
fix(stepper): focus lost if focus is inside stepper while changing st…
crisbeto Aug 21, 2018
0c4a1b4
fix: ensure components work with ES2015 in jit mode. (#12759)
devversion Aug 21, 2018
0d8a5c1
chore(menu): errors referencing old input and directive names (#12732)
crisbeto Aug 21, 2018
803f73f
fix(expansion): respect parent accordion hideToggle binding (#12725)
devversion Aug 21, 2018
3ce4e8d
fix(slide-toggle): remove webkit tap highlight (#12708)
devversion Aug 21, 2018
f732059
fix(menu): throw better error when trying to open undefined menu (#12…
crisbeto Aug 21, 2018
70cb0a2
fix(list): improved image scaling in avatar (#12660)
crisbeto Aug 21, 2018
15e7f74
fix(chips): incorrectly handling disabled state (#12659)
crisbeto Aug 21, 2018
34d91c7
fix(form-field): legacy ripple underline jumps in edge (#12648)
devversion Aug 21, 2018
13f1c6e
fix(table): extra elements throwing off table alignment (#12645)
crisbeto Aug 21, 2018
70aca02
fix(button-toggle): clickable area not stretching when custom width i…
crisbeto Aug 21, 2018
a4a79ea
fix(slider): thumb label blending in with background in high contrast…
crisbeto Aug 21, 2018
6a889f3
refactor(text-field): allow ElementRef to be passed to autofill monit…
crisbeto Aug 22, 2018
d349b9e
refactor(grid-list): remove unnecessary coercion functions (#12781)
crisbeto Aug 22, 2018
da3b5e0
fix(progress-bar): incorrectly handling current path when using hash …
crisbeto Aug 22, 2018
a326ee0
fix(form-field): remove outline gap for empty labels (#12637)
crisbeto Aug 22, 2018
96cbcb2
docs(datepicker): add 'multi-year' to union type for startView proper…
Nevaan Aug 22, 2018
81e0542
fix(sidenav): content jumping in rtl and blurry text on IE (#12726)
crisbeto Aug 22, 2018
3596e9d
fix(expansion-panel): focus lost if focused element is inside closing…
crisbeto Aug 23, 2018
2349166
fix(select): skip disabled options when using ctrl + a (#12553)
crisbeto Aug 23, 2018
d08d8bc
fix(chips): focus not being restored correctly on chip removal when i…
crisbeto Aug 23, 2018
a6b8a06
fix(tooltip): opening after click on android (#12250)
crisbeto Aug 23, 2018
d3af441
fix(tabs): disable focus overlay for touch focus (#12249)
crisbeto Aug 23, 2018
c807d74
fix(datepicker): multiple dialog open if the user holds down enter ke…
crisbeto Aug 23, 2018
22ae587
fix(card): images in title-group overlapping content (#12205)
devversion Aug 23, 2018
bb9cfec
fix(progress-bar): avoid error on SSR if pathname is undefined (#12807)
jelbourn Aug 23, 2018
8617423
fix(autocomplete): reopening closed autocomplete when coming back to …
crisbeto Aug 23, 2018
6bb0ffe
fix(tabs): only target direct descendants with mat-stretch-tabs (#12198)
crisbeto Aug 23, 2018
0fcdae4
fix(stepper): handle removing a step before the current one (#11813)
crisbeto Aug 23, 2018
b735e48
fix(chips): support focusing first/last item using home/end (#11892)
crisbeto Aug 23, 2018
4f483c2
docs: update links to Material Design spec (#12804)
EdricChan03 Aug 24, 2018
59a7f28
fix(chips): focus not restored properly if chip has been removed by c…
devversion Aug 24, 2018
9579212
fix(form-field): allow for measuring outline gap when label is not in…
josephperrott Aug 24, 2018
8b9d283
fix(form-field): outline gap not calculated when appearance is provid…
crisbeto Aug 24, 2018
41d0196
fix(stepper): improved alignment for step icons (#12703)
crisbeto Aug 24, 2018
09302b6
fix(datepicker-toggle): forward tabindex to underlying button (#12461)
crisbeto Aug 24, 2018
a30e909
fix(input): only monitor focus origin on browser platform (#11604)
arturovt Aug 24, 2018
1f78d8a
fix(select,autocomplete): unable to set custom id on mat-option (#11573)
crisbeto Aug 24, 2018
b989540
build: prevent publishing from the wrong branch (#12831)
devversion Aug 25, 2018
0e60fb8
fix(chips): chip list removing focus from first chip when adding thro…
crisbeto Aug 26, 2018
8439c91
docs(input): fix cdkTextareaAutosize name and link (#12830)
livthomas Aug 26, 2018
130806b
fix(chips): improved image scaling in avatar (#12843)
crisbeto Aug 27, 2018
3f67cc5
fix(button-toggle): set aria-disabled based on group disabled state (…
crisbeto Aug 27, 2018
4f53e4f
fix(grid-list): not picking up indirect descendants (#12823)
crisbeto Aug 27, 2018
b0555b5
fix(progress-bar): generate correct url on server (#12813)
CaerusKaru Aug 27, 2018
92f53ce
fix(live-announcer): avoid triggering a reflow when reading directive…
crisbeto Aug 27, 2018
04d5955
fix(expansion-panel): implement keyboard controls (#12427)
crisbeto Aug 27, 2018
12c6f81
fix(select): pointing to non-existent element via aria-labelledby (#1…
crisbeto Aug 27, 2018
3328808
fix(datepicker): screenreaders report editable grid cells (#12275)
devversion Aug 27, 2018
266a159
fix(ripple): don't launch ripple for fake mouse events (#11997)
crisbeto Aug 27, 2018
594b971
build: fix radio e2e tests timing out (#12857)
crisbeto Aug 27, 2018
be1ba9c
fix(chips): form field not appearing as blurred when used without an …
crisbeto Aug 28, 2018
8956d1d
fix(table): errors when rendering table with sticky elements on the s…
crisbeto Aug 28, 2018
681314e
refactor: use strongly-typed ElementRef (#10825)
crisbeto Aug 28, 2018
4b30539
fix(collections): align SelectionModel to `changed` naming (#8286)
amcdnl Aug 28, 2018
16b6f33
chore: fix selection lint warning (#12872)
crisbeto Aug 28, 2018
dc8cf46
fix(badge): apply view encapsulation attributes on badge element (#12…
crisbeto Aug 29, 2018
f8c9a7d
test(grid-list): avoid recompiling all fixtures for each test (#12896)
crisbeto Aug 29, 2018
97279c1
chore(ripple): fake mousedown test not running (#12865)
devversion Aug 29, 2018
892aedd
chore: temporarily disable circle ci doing anything (#12897)
jelbourn Aug 29, 2018
f7dd0eb
chore: bump version for 6.4.7 w/ chaneglog (#12899)
jelbourn Aug 30, 2018
64fdaec
build: rework breaking changes tooling (#12950)
crisbeto Sep 4, 2018
098cf1e
build: update dgeni packages (#12956)
devversion Sep 4, 2018
8ee3462
build: skip duplicate commit entries in changelog (#12943)
devversion Sep 4, 2018
e7c5353
docs(overlay): add note about pre-built styles (#12993)
crisbeto Sep 5, 2018
c3fb996
build: don't allow trailing whitespace in CSS files (#13014)
crisbeto Sep 6, 2018
3a1442d
Adds an abstract date selection model (#13033)
roboshoes Sep 7, 2018
8dc7d2a
Observable in MatDateSelection (#13037)
roboshoes Sep 7, 2018
1df3cb0
build: run publish sanity checks before building (#13060)
devversion Sep 10, 2018
3f49cb3
build(dashboard): switch to new @angular/fire package (#13051)
devversion Sep 10, 2018
4102928
refactor(focus-monitor): accept ElementRef in focusVia (#12978)
crisbeto Sep 11, 2018
8fd3572
fix(form-field): don't set up mutation observer on non-outline appear…
crisbeto Sep 11, 2018
90ba31d
refactor(list): remove redundant focus logic (#12965)
crisbeto Sep 11, 2018
c7dbdb5
fix(tooltip): text fields not editable if tooltip is applied in safar…
devversion Sep 11, 2018
f3c06b7
fix(tooltip): not showing up on touch devices (#12940)
devversion Sep 11, 2018
886ba1c
fix(tree): theming nested notes (#12938)
DaSchTour Sep 11, 2018
85aa144
fix(grid-list): better handling of negative columns (#12939)
crisbeto Sep 11, 2018
db7f00f
fix(ripple): ripples not being cleared if touch sequence is canceled …
crisbeto Sep 11, 2018
73c1d66
docs(a11y): add docs about a11y style utilities (#13067)
crisbeto Sep 11, 2018
f6777d4
fix(examples): form-field custom control example not working (#13043)
devversion Sep 11, 2018
f26a684
doc(paginator): clarify MatPaginatorIntl changes stream usage. (#13029)
josephperrott Sep 11, 2018
6848b48
docs(tree): typo in comment (#12968)
MateMahinKhan Sep 11, 2018
d6ff97a
docs(chips): fix autocomplete-chips example with addonblur enabled (#…
forssri Sep 11, 2018
7ec6803
fix(tabs): pagination state not updated when tab content changes (#12…
crisbeto Sep 11, 2018
e279890
chore: remove test cherry-picked from major version
jelbourn Sep 11, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 6 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,13 @@ version: 2
jobs:
build:
<<: *job_defaults
resource_class: large
resource_class: xlarge
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: *cache_key

- run: bazel run @nodejs//:npm install
# For some reason, circleci needs the postinstall to be run explicitly.
# This may be unnecessary once rules_nodejs uses nodejs 8
- run: bazel run @nodejs//:npm run postinstall
- run: bazel build src/...
- run: bazel test src/...
- run: echo "Temporarily disabled until Bazel setup can be fixed"
- save_cache:
key: *cache_key
paths:
Expand All @@ -69,3 +63,7 @@ general:
branches:
only:
- master
# 5.2.x, 6.0.x, etc
- /\d+\.\d+\.x/
# 5.x, 6.x, etc
- /\d+\.x/
11 changes: 4 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,10 @@ addons:
branches:
only:
- master
- 5.0.x
- 5.1.x
- 5.2.x
- 6.0.x
- 6.1.x
- 6.2.x
- 6.3.x
# 5.2.x, 6.0.x, etc
- /\d+\.\d+\.x/
# 5.x, 6.x, etc
- /\d+\.x/

jobs:
include:
Expand Down
174 changes: 170 additions & 4 deletions CHANGELOG.md

Large diffs are not rendered by default.

8 changes: 0 additions & 8 deletions e2e/components/radio-e2e.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,13 @@ describe('radio', () => {
element(by.id('water')).click();

expect(element(by.id('water')).getAttribute('class')).toContain('mat-radio-checked');
await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));

expect(element(by.css('input[id=water-input]')).getAttribute('checked')).toBeTruthy();
expect(element(by.css('input[id=leaf-input]')).getAttribute('checked')).toBeFalsy();

element(by.id('leaf')).click();
expect(element(by.id('leaf')).getAttribute('class')).toContain('mat-radio-checked');

await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));

expect(element(by.css('input[id=leaf-input]')).getAttribute('checked')).toBeTruthy();
expect(element(by.css('input[id=water-input]')).getAttribute('checked')).toBeFalsy();
});
Expand All @@ -38,9 +33,6 @@ describe('radio', () => {
element(by.id('leaf')).click();
expect(element(by.id('leaf')).getAttribute('class')).toContain('mat-radio-disabled');

await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));

expect(element(by.css('input[id=leaf-input]')).getAttribute('disabled')).toBeTruthy();
});

Expand Down
28 changes: 9 additions & 19 deletions e2e/components/slide-toggle-e2e.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {browser, element, by, Key, ExpectedConditions} from 'protractor';
import {browser, element, by, Key} from 'protractor';
import {expectToExist} from '../util/index';


Expand All @@ -13,59 +13,49 @@ describe('slide-toggle', () => {
});

it('should change the checked state on click', async () => {
let inputEl = getInput();
const inputEl = getInput();

expect(inputEl.getAttribute('checked')).toBeFalsy('Expect slide-toggle to be unchecked');

getNormalToggle().click();

expect(inputEl.getAttribute('checked')).toBeTruthy('Expect slide-toggle to be checked');

await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));
});

it('should change the checked state on click', async () => {
let inputEl = getInput();
const inputEl = getInput();

expect(inputEl.getAttribute('checked')).toBeFalsy('Expect slide-toggle to be unchecked');

getNormalToggle().click();

expect(inputEl.getAttribute('checked')).toBeTruthy('Expect slide-toggle to be checked');
await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));
});

it('should not change the checked state on click when disabled', async () => {
let inputEl = getInput();
const inputEl = getInput();

expect(inputEl.getAttribute('checked')).toBeFalsy('Expect slide-toggle to be unchecked');

element(by.css('#disabled-slide-toggle')).click();

expect(inputEl.getAttribute('checked')).toBeFalsy('Expect slide-toggle to be unchecked');
await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));
});

it('should move the thumb on state change', async () => {
let slideToggleEl = getNormalToggle();
let thumbEl = element(by.css('#normal-slide-toggle .mat-slide-toggle-thumb-container'));
let previousPosition = await thumbEl.getLocation();
const slideToggleEl = getNormalToggle();
const thumbEl = element(by.css('#normal-slide-toggle .mat-slide-toggle-thumb-container'));
const previousPosition = await thumbEl.getLocation();

slideToggleEl.click();

let position = await thumbEl.getLocation();
const position = await thumbEl.getLocation();

expect(position.x).not.toBe(previousPosition.x);

await browser.wait(ExpectedConditions.not(
ExpectedConditions.presenceOf(element(by.css('div.mat-ripple-element')))));
});

it('should toggle the slide-toggle on space key', () => {
let inputEl = getInput();
const inputEl = getInput();

expect(inputEl.getAttribute('checked')).toBeFalsy('Expect slide-toggle to be unchecked');

Expand Down
6 changes: 0 additions & 6 deletions e2e/components/tabs-e2e.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,11 @@ describe('tabs', () => {
pressKeys(right);
expect(await getFocusStates(tabLabels)).toEqual([false, false, true]);

pressKeys(right);
expect(await getFocusStates(tabLabels)).toEqual([false, false, true]);

pressKeys(left);
expect(await getFocusStates(tabLabels)).toEqual([false, true, false]);

pressKeys(left);
expect(await getFocusStates(tabLabels)).toEqual([true, false, false]);

pressKeys(left);
expect(await getFocusStates(tabLabels)).toEqual([true, false, false]);
});
});
});
Expand Down
12 changes: 6 additions & 6 deletions guides/creating-a-custom-form-field-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,31 +159,31 @@ private _placeholder: string;

#### `ngControl`

This property allows the form field control to specify the `@angular/forms` control that is bound to this component. Since we haven't set up our component to act as a `ControlValueAccessor`, we'll just set this to `null` in our component.
This property allows the form field control to specify the `@angular/forms` control that is bound to this component. Since we haven't set up our component to act as a `ControlValueAccessor`, we'll just set this to `null` in our component.

```ts
ngControl: NgControl = null;
```

It is likely you will want to implement `ControlValueAccessor` so that your component can work with `formControl` and `ngModel`. If you do implement `ControlValueAccessor` you will need to get a reference to the `NgControl` associated with your control and make it publicly available.
It is likely you will want to implement `ControlValueAccessor` so that your component can work with `formControl` and `ngModel`. If you do implement `ControlValueAccessor` you will need to get a reference to the `NgControl` associated with your control and make it publicly available.

The easy way is to add it as a public property to your constructor and let dependency injection handle it:

```ts
constructor(
...,
...,
@Optional() @Self() public ngControl: NgControl,
...,
) { }
```

Note that if your component implements `ControlValueAccessor`, it may already be set up to provide `NG_VALUE_ACCESSOR` (in the `providers` part of the component's decorator, or possibly in a module declaration). If so you may get a *cannot instantiate cyclic dependency* error.
Note that if your component implements `ControlValueAccessor`, it may already be set up to provide `NG_VALUE_ACCESSOR` (in the `providers` part of the component's decorator, or possibly in a module declaration). If so you may get a *cannot instantiate cyclic dependency* error.

To resolve this, remove the `NG_VALUE_ACCESSOR` provider and instead set the value accessor directly:

```ts
constructor(
...,
...,
@Optional() @Self() public ngControl: NgControl,
...,
) {
Expand All @@ -207,7 +207,7 @@ need to remember to emit on the `stateChanges` stream so change detection can ha
```ts
focused = false;

constructor(fb: FormBuilder, private fm: FocusMonitor, private elRef: ElementRef) {
constructor(fb: FormBuilder, private fm: FocusMonitor, private elRef: ElementRef<HTMLElement>) {
...
fm.monitor(elRef.nativeElement, true).subscribe(origin => {
this.focused = !!origin;
Expand Down
31 changes: 13 additions & 18 deletions guides/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,45 @@ For help getting started with a new Angular app, check out the

For existing apps, follow these steps to begin using Angular Material.

### Step 1: Install Angular Material and Angular CDK
### Step 1: Install Angular Material, Angular CDK and Angular Animations

You can use either the npm or yarn command-line tool to install packages. Use whichever is appropriate for your project in the examples below.

#### NPM
```bash
npm install --save @angular/material @angular/cdk
npm install --save @angular/material @angular/cdk @angular/animations
```
#### Yarn
```bash
yarn add @angular/material @angular/cdk
yarn add @angular/material @angular/cdk @angular/animations
```


#### Alternative: Snapshot Build
#### Alternative 1: Snapshot Build

A snapshot build with the latest changes from master is also available. Note that this snapshot
build should not be considered stable and may break between releases.

#### NPM
```bash
npm install --save angular/material2-builds angular/cdk-builds
npm install --save angular/material2-builds angular/cdk-builds angular/animations-builds
```

#### Yarn
```bash
yarn add angular/material2-builds angular/cdk-builds
yarn add angular/material2-builds angular/cdk-builds angular/animations-builds
```
#### Alternative 2: Angular Devkit 6+

### Step 2: Animations
Using the Angular CLI `ng add` command will update your Angular project with the correct dependencies, perform configuration changes and execute initialization code.

Some Material components depend on the Angular animations module in order to be able to do
more advanced transitions. If you want these animations to work in your app, you have to
install the `@angular/animations` module and include the `BrowserAnimationsModule` in your app.

#### NPM
```bash
npm install --save @angular/animations
ng add @angular/material
```

#### Yarn
```bash
yarn add @angular/animations
```
### Step 2: Configure animations

Once the animations package is installed, import `BrowserAnimationsModule` into your application to enable animations support.

```ts
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
Expand All @@ -59,7 +54,7 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
export class PizzaPartyAppModule { }
```

If you don't want to add another dependency to your project, you can use the `NoopAnimationsModule`.
Alternatively, you can disable animations by importing `NoopAnimationsModule`.

```ts
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
Expand Down
4 changes: 2 additions & 2 deletions guides/theming.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ a theme consists of:
In Angular Material, all theme styles are generated _statically_ at build-time so that your
app doesn't have to spend cycles generating theme styles on startup.

[1]: https://material.google.com/style/color.html#color-color-palette
[1]: https://material.io/archive/guidelines/style/color.html#color-color-palette

### Using a pre-built theme
Angular Material comes prepackaged with several pre-built theme css files. These theme files also
Expand Down Expand Up @@ -94,7 +94,7 @@ $candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-
You only need this single Sass file; you do not need to use Sass to style the rest of your app.

If you are using the Angular CLI, support for compiling Sass to css is built-in; you only have to
add a new entry to the `"styles"` list in `angular-cli.json` pointing to the theme
add a new entry to the `"styles"` list in `angular.json` pointing to the theme
file (e.g., `unicorn-app-theme.scss`).

If you're not using the Angular CLI, you can use any existing Sass tooling to build the file (such
Expand Down
Loading