{"version":3,"file":"axulus-uikit-inputtextarea.mjs","sources":["../../src/app/components/inputtextarea/inputtextarea.ts","../../src/app/components/inputtextarea/axulus-uikit-inputtextarea.ts"],"sourcesContent":["import {\n  NgModule,\n  Directive,\n  ElementRef,\n  HostListener,\n  Input,\n  Output,\n  EventEmitter,\n  Optional,\n  AfterViewInit,\n  OnInit,\n  OnDestroy,\n  ChangeDetectorRef\n} 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 p-inputtext p-component p-element',\n    '[class.p-filled]': 'filled',\n    '[class.p-inputtextarea-resizable]': 'autoResize'\n  }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\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(\n    public el: ElementRef,\n    @Optional() public ngModel: NgModel,\n    @Optional() public control: NgControl,\n    private cd: ChangeDetectorRef\n  ) {}\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) 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    } 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":[],"mappings":"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"}