diff --git a/src/cdk/text-field/text-field.md b/src/cdk/text-field/text-field.md index c798a20c3354..c8d5d789362c 100644 --- a/src/cdk/text-field/text-field.md +++ b/src/cdk/text-field/text-field.md @@ -5,14 +5,18 @@ The `text-field` package provides useful utilities for working with text input f The `cdkTextareaAutosize` directive can be applied to any ` + diff --git a/src/components-examples/cdk/text-field/text-field-autosize-textarea-programmatic/text-field-autosize-textarea-programmatic-example.ts b/src/components-examples/cdk/text-field/text-field-autosize-textarea-programmatic/text-field-autosize-textarea-programmatic-example.ts new file mode 100644 index 000000000000..3047ec17c844 --- /dev/null +++ b/src/components-examples/cdk/text-field/text-field-autosize-textarea-programmatic/text-field-autosize-textarea-programmatic-example.ts @@ -0,0 +1,30 @@ +import {CdkTextareaAutosize, TextFieldModule} from '@angular/cdk/text-field'; +import {afterNextRender, Component, inject, Injector, ViewChild} from '@angular/core'; +import {MatFormFieldModule} from '@angular/material/form-field'; +import {MatInputModule} from '@angular/material/input'; +import {MatSelectModule} from '@angular/material/select'; + +/** @title Programmatically resizing an autosize textarea */ +@Component({ + selector: 'text-field-autosize-textarea-programmatic-example', + templateUrl: './text-field-autosize-textarea-programmatic-example.html', + styleUrl: './text-field-autosize-textarea-programmatic-example.css', + imports: [MatFormFieldModule, MatSelectModule, MatInputModule, TextFieldModule], +}) +export class TextFieldAutosizeTextareaProgrammaticExample { + private _injector = inject(Injector); + + @ViewChild('autosize') autosize!: CdkTextareaAutosize; + + triggerResize() { + // Wait for content to render, then trigger textarea resize. + afterNextRender( + () => { + this.autosize.resizeToFitContent(true); + }, + { + injector: this._injector, + }, + ); + } +} diff --git a/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.html b/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.html index 9a52e1e5f992..26c15ad34223 100644 --- a/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.html +++ b/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.html @@ -1,20 +1,7 @@ - Font size - - 10px - 12px - 14px - 16px - 18px - 20px - - - - Autosize textarea diff --git a/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.ts b/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.ts index 550fb0c522bb..765ee72dbe3e 100644 --- a/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.ts +++ b/src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.ts @@ -1,30 +1,12 @@ -import {CdkTextareaAutosize, TextFieldModule} from '@angular/cdk/text-field'; -import {afterNextRender, Component, inject, Injector, ViewChild} from '@angular/core'; -import {MatInputModule} from '@angular/material/input'; -import {MatSelectModule} from '@angular/material/select'; +import {TextFieldModule} from '@angular/cdk/text-field'; +import {Component} from '@angular/core'; import {MatFormFieldModule} from '@angular/material/form-field'; +import {MatInputModule} from '@angular/material/input'; /** @title Auto-resizing textarea */ @Component({ selector: 'text-field-autosize-textarea-example', templateUrl: './text-field-autosize-textarea-example.html', - styleUrl: './text-field-autosize-textarea-example.css', - imports: [MatFormFieldModule, MatSelectModule, MatInputModule, TextFieldModule], + imports: [MatFormFieldModule, MatInputModule, TextFieldModule], }) -export class TextFieldAutosizeTextareaExample { - private _injector = inject(Injector); - - @ViewChild('autosize') autosize!: CdkTextareaAutosize; - - triggerResize() { - // Wait for content to render, then trigger textarea resize. - afterNextRender( - () => { - this.autosize.resizeToFitContent(true); - }, - { - injector: this._injector, - }, - ); - } -} +export class TextFieldAutosizeTextareaExample {}