diff --git a/src/demo-app/input/input-container-demo.html b/src/demo-app/input/input-container-demo.html
index 381403f7c67d..dfe2365a8d6a 100644
--- a/src/demo-app/input/input-container-demo.html
+++ b/src/demo-app/input/input-container-demo.html
@@ -260,11 +260,11 @@
Textarea
Textarea Autosize
-
+
diff --git a/src/demo-app/input/input-demo.html b/src/demo-app/input/input-demo.html
index cd4b7fe8e0a0..f83237d1f37f 100644
--- a/src/demo-app/input/input-demo.html
+++ b/src/demo-app/input/input-demo.html
@@ -178,5 +178,5 @@ Textarea
textarea autosize
-
+
diff --git a/src/lib/input/autosize.spec.ts b/src/lib/input/autosize.spec.ts
index 102ec41875db..f3faa744be03 100644
--- a/src/lib/input/autosize.spec.ts
+++ b/src/lib/input/autosize.spec.ts
@@ -1,4 +1,4 @@
-import {Component} from '@angular/core';
+import {Component, ViewChild} from '@angular/core';
import {ComponentFixture, TestBed, async} from '@angular/core/testing';
import {By} from '@angular/platform-browser';
import {MdInputModule} from './input';
@@ -97,6 +97,12 @@ describe('MdTextareaAutosize', () => {
expect(parseInt(textarea.style.maxHeight))
.toBeGreaterThan(previousMaxHeight, 'Expected increased max-height with maxRows increase.');
});
+
+ it('should export the mdAutosize reference', () => {
+ expect(fixture.componentInstance.autosize).toBeTruthy();
+ expect(fixture.componentInstance.autosize.resizeToFitContent).toBeTruthy();
+ });
+
});
@@ -109,17 +115,22 @@ const textareaStyleReset = `
}`;
@Component({
- template: ``,
+ template: `
+ `,
styles: [textareaStyleReset],
})
class AutosizeTextAreaWithContent {
+ @ViewChild('autosize') autosize: MdTextareaAutosize;
minRows: number = null;
maxRows: number = null;
content: string = '';
}
@Component({
- template: ``,
+ template: ``,
styles: [textareaStyleReset],
})
class AutosizeTextAreaWithValue {
diff --git a/src/lib/input/autosize.ts b/src/lib/input/autosize.ts
index 4bc863608949..d9cbf5adcb05 100644
--- a/src/lib/input/autosize.ts
+++ b/src/lib/input/autosize.ts
@@ -5,7 +5,8 @@ import {Directive, ElementRef, Input, OnInit} from '@angular/core';
* Directive to automatically resize a textarea to fit its content.
*/
@Directive({
- selector: 'textarea[md-autosize], textarea[mat-autosize]',
+ selector: 'textarea[md-autosize], textarea[mat-autosize], textarea[mdTextareaAutosize]',
+ exportAs: 'mdTextareaAutosize',
host: {
'(input)': 'resizeToFitContent()',
'[style.min-height]': '_minHeight',