{"version":3,"file":"ngx-autosize.mjs","sources":["../../../projects/ngx-autosize/src/lib/window-ref.service.ts","../../../projects/ngx-autosize/src/lib/autosize.directive.ts","../../../projects/ngx-autosize/src/lib/autosize.module.ts","../../../projects/ngx-autosize/src/public-api.ts","../../../projects/ngx-autosize/src/ngx-autosize.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class WindowRef {\n  get nativeWindow(): any {\n    return window;\n  }\n}\n","import {\n  ElementRef,\n  HostListener,\n  Directive,\n  Input,\n  NgZone, OnDestroy, OnChanges, AfterContentChecked, Output, EventEmitter, SimpleChanges\n} from '@angular/core';\nimport {WindowRef} from './window-ref.service';\n\nconst MAX_LOOKUP_RETRIES = 3;\n\n@Directive({\n    selector: '[autosize]'\n})\n\nexport class AutosizeDirective implements OnDestroy, OnChanges, AfterContentChecked {\n    @Input()\n    set minRows(value: number) {\n        this._minRows = +value;\n        if (this.textAreaEl) {\n            this.textAreaEl.rows = this._minRows;\n        }\n    };\n    @Input('autosize')\n    set _autosize(autosize: boolean | string) {\n        this.autosize = typeof autosize === 'boolean'\n            ? autosize\n            : true;\n    };\n    private _minRows!: number;\n\n    @Input() maxRows!: number;\n    @Input() onlyGrow = false;\n    @Input() useImportant = false;\n\n    @Output() resized = new EventEmitter<number>();\n\n    private autosize = true;\n    private retries = 0;\n    private textAreaEl: any;\n\n    private _oldContent!: string;\n    private _oldWidth!: number;\n\n    private _windowResizeHandler!: (...args: Array<any>) => any;\n    private _destroyed = false;\n\n    @HostListener('input', ['$event.target'])\n    onInput(textArea: HTMLTextAreaElement): void {\n        this.adjust();\n    }\n\n    constructor(\n        public element: ElementRef,\n        private _window: WindowRef,\n        private _zone: NgZone\n    ) {\n        if (this.element.nativeElement.tagName !== 'TEXTAREA') {\n            this._findNestedTextArea();\n\n        } else {\n            this.textAreaEl = this.element.nativeElement;\n            this.textAreaEl.style['overflow-y'] = 'hidden';\n            this._onTextAreaFound();\n        }\n    }\n\n    ngOnDestroy() {\n        this._destroyed = true;\n        if (this._windowResizeHandler) {\n            this._window.nativeWindow.removeEventListener('resize', this._windowResizeHandler, false);\n        }\n    }\n\n    ngAfterContentChecked() {\n        this.adjust();\n    }\n\n    ngOnChanges(changes: SimpleChanges) {\n        this.adjust(true);\n    }\n\n    _findNestedTextArea() {\n        this.textAreaEl = this.element.nativeElement.querySelector('TEXTAREA');\n\n        if (!this.textAreaEl && this.element.nativeElement.shadowRoot) {\n            this.textAreaEl = this.element.nativeElement.shadowRoot.querySelector('TEXTAREA');\n        }\n\n        if (!this.textAreaEl) {\n            if (this.retries >= MAX_LOOKUP_RETRIES) {\n                console.warn('ngx-autosize: textarea not found');\n\n            } else {\n                this.retries++;\n                setTimeout(() => {\n                    this._findNestedTextArea();\n                }, 100);\n            }\n            return;\n        }\n\n        this.textAreaEl.style['overflow-y'] = 'hidden';\n        this._onTextAreaFound();\n\n    }\n\n    _onTextAreaFound() {\n        this._addWindowResizeHandler();\n        setTimeout(() => {\n            this.adjust();\n        });\n    }\n\n    _addWindowResizeHandler() {\n        this._windowResizeHandler = debounce(() => {\n            this._zone.run(() => {\n                this.adjust();\n            });\n        }, 200);\n\n        this._zone.runOutsideAngular(() => {\n            this._window.nativeWindow.addEventListener('resize', this._windowResizeHandler, false);\n        });\n    }\n\n    adjust(inputsChanged = false): void {\n        if (this.autosize && !this._destroyed && this.textAreaEl && this.textAreaEl.parentNode) {\n\n            const currentText = this.textAreaEl.value;\n\n            if (\n                inputsChanged === false &&\n                currentText === this._oldContent &&\n                this.textAreaEl.offsetWidth === this._oldWidth\n            ) {\n                return;\n            }\n\n            this._oldContent = currentText;\n            this._oldWidth = this.textAreaEl.offsetWidth;\n\n            const clone = this.textAreaEl.cloneNode(true);\n            const parent = this.textAreaEl.parentNode;\n            clone.style.width = this.textAreaEl.offsetWidth + 'px';\n            clone.style.visibility = 'hidden';\n            clone.style.position = 'absolute';\n            clone.textContent = currentText;\n\n            parent.appendChild(clone);\n\n            clone.style['overflow-y'] = 'hidden';\n            clone.style.height = 'auto';\n\n            let height = clone.scrollHeight;\n\n            // add into height top and bottom borders' width\n            let computedStyle = this._window.nativeWindow.getComputedStyle(clone, null);\n            height += parseInt(computedStyle.getPropertyValue('border-top-width'));\n            height += parseInt(computedStyle.getPropertyValue('border-bottom-width'));\n\n            if (computedStyle.getPropertyValue('box-sizing') === 'content-box') {\n                height -= parseInt(computedStyle.getPropertyValue('padding-top'));\n                height -= parseInt(computedStyle.getPropertyValue('padding-bottom'));\n            }\n\n            const oldHeight = this.textAreaEl.offsetHeight;\n            const willGrow = height > oldHeight;\n\n            if (this.onlyGrow === false || willGrow) {\n                const lineHeight = this._getLineHeight();\n                const rowsCount = height / lineHeight;\n\n                if (this._minRows && this._minRows >= rowsCount) {\n                    height = this._minRows * lineHeight;\n\n                } else if (this.maxRows && this.maxRows <= rowsCount) {\n                    // never shrink the textarea if onlyGrow is true\n                    const maxHeight = this.maxRows * lineHeight;\n                    height = this.onlyGrow ? Math.max(maxHeight, oldHeight): maxHeight;\n                    this.textAreaEl.style['overflow-y'] = 'auto';\n\n                } else {\n                    this.textAreaEl.style['overflow-y'] = 'hidden';\n                }\n\n                const heightStyle = height + 'px';\n                const important = this.useImportant ? 'important' : '';\n\n                this.textAreaEl.style.setProperty('height', heightStyle, important);\n\n                this.resized.emit(height);\n            }\n\n            parent.removeChild(clone);\n        }\n    }\n\n    private _getLineHeight() {\n        let lineHeight = parseInt(this.textAreaEl.style.lineHeight, 10);\n        if (isNaN(lineHeight) && this._window.nativeWindow.getComputedStyle) {\n            const styles = this._window.nativeWindow.getComputedStyle(this.textAreaEl);\n            lineHeight = parseInt(styles.lineHeight, 10);\n        }\n\n        if (isNaN(lineHeight)) {\n            const fontSize = this._window.nativeWindow.getComputedStyle(this.textAreaEl, null).getPropertyValue('font-size');\n            lineHeight = Math.floor(parseInt(fontSize.replace('px', ''), 10) * 1.5);\n        }\n\n        return lineHeight;\n    }\n}\n\nfunction debounce<Params extends Array<any>>(func: (...args: Params) => any, timeout: number): (...args: Params) => void {\n  let timer: number;\n  return (...args: Params) => {\n    clearTimeout(timer)\n    timer = setTimeout(() => {\n      func(...args)\n    }, timeout)\n  }\n}\n\n// function Debounce(func: any, wait: number, immediate = false) {\n//     let timeout: number | undefined;\n//     return () => {\n//         const context = this;\n//         const args = arguments;\n//         const later = function () {\n//             timeout = undefined;\n//             if (!immediate) {\n//                 func.apply(this, args);\n//             }\n//         };\n//         const callNow = immediate && !timeout;\n//         clearTimeout(timeout);\n//         timeout = setTimeout(later, wait);\n//         if (callNow) {\n//             func.apply(this, args);\n//         }\n//     };\n// }\n","import {NgModule} from '@angular/core';\nimport {AutosizeDirective} from './autosize.directive';\nimport {WindowRef} from './window-ref.service';\n\n@NgModule({\n    declarations: [AutosizeDirective],\n    imports: [],\n    providers: [\n        WindowRef\n    ],\n    exports: [AutosizeDirective]\n})\nexport class AutosizeModule {\n}\n","/*\n * Public API Surface of ngx-autosize\n */\n\nexport * from './lib/autosize.directive';\nexport * from './lib/autosize.module';\nexport * from './lib/window-ref.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.WindowRef"],"mappings":"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"}