{"version":3,"file":"primeng-inputtextarea.umd.js","sources":["../../src/app/components/inputtextarea/inputtextarea.ts","../../src/app/components/inputtextarea/primeng-inputtextarea.ts"],"sourcesContent":["import {NgModule,Directive,ElementRef,HostListener,Input,Output, EventEmitter,Optional, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {NgModel, NgControl} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[pInputTextarea]',\n host: {\n '[class.p-inputtextarea]': 'true',\n '[class.p-inputtext]': 'true',\n '[class.p-component]': 'true',\n '[class.p-filled]': 'filled',\n '[class.p-inputtextarea-resizable]': 'autoResize'\n }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\n \n @Input() autoResize: boolean;\n \n @Output() onResize: EventEmitter<any> = new EventEmitter();\n \n filled: boolean;\n\n cachedScrollHeight:number;\n\n ngModelSubscription: Subscription;\n\n ngControlSubscription: Subscription;\n\n constructor(public el: ElementRef, @Optional() public ngModel: NgModel, @Optional() public control : NgControl, private cd: ChangeDetectorRef) {}\n \n ngOnInit() {\n if (this.ngModel) {\n this.ngModelSubscription = this.ngModel.valueChanges.subscribe(() =>{\n this.updateState();\n })\n }\n\n if (this.control) {\n this.ngControlSubscription = this.control.valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n ngAfterViewInit() {\n if (this.autoResize)\n this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e) {\n this.updateState();\n }\n \n updateFilledState() {\n this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;\n }\n \n @HostListener('focus', ['$event'])\n onFocus(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n @HostListener('blur', ['$event'])\n onBlur(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = \"scroll\";\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n }\n else {\n this.el.nativeElement.style.overflow = \"hidden\";\n }\n\n this.onResize.emit(event||{});\n }\n\n updateState() {\n this.updateFilledState();\n \n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputTextarea],\n declarations: [InputTextarea]\n})\nexport class InputTextareaModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","Directive","Optional","Input","Output","HostListener","CommonModule","NgModule"],"mappings":"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"}