myrta-ui 17.1.72 → 17.1.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,6 @@ export class AlertComponent {
17
17
  return `${AlertIconClasses[this.color]}`;
18
18
  }
19
19
  onCloseClick() {
20
- console.log(1);
21
20
  this.close.emit(null);
22
21
  }
23
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -43,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
42
  }], close: [{
44
43
  type: Output
45
44
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFRaEYsTUFBTSxPQUFPLGNBQWM7SUFDaEIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQWdCLFNBQVMsQ0FBQztJQUMvQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWhCLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU1RCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQXRCVSxjQUFjOzRGQUFkLGNBQWMsc1BDVDNCLDRyQkFtQkE7OzRGRFZhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbGVydENvbG9yQ2xhc3NlcywgQWxlcnRDb2xvcnMsIEFsZXJ0SWNvbkNsYXNzZXMgfSBmcm9tICcuL2FsZXJ0LmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtYWxlcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FsZXJ0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlczogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgY29sb3I6IEFsZXJ0Q29sb3JzID0gJ2RlZmF1bHQnO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XHJcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuICBASW5wdXQoKSBjbG9zYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dJY29uID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKSB7XHJcbiAgICByZXR1cm4gYCR7QWxlcnRDb2xvckNsYXNzZXNbdGhpcy5jb2xvcl0gPz8gJyd9ICR7dGhpcy5jdXN0b21DbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEljb25DbGFzcygpIHtcclxuICAgIHJldHVybiBgJHtBbGVydEljb25DbGFzc2VzW3RoaXMuY29sb3JdfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbG9zZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coMSlcclxuICAgIHRoaXMuY2xvc2UuZW1pdChudWxsKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1hbGVydFwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgW3N0eWxlXT1cIntiYWNrZ3JvdW5kQ29sb3I6IGN1c3RvbUNvbG9yfVwiPlxyXG4gIEBpZiAoY2xvc2FibGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMTZcIiAoY2xpY2spPVwib25DbG9zZUNsaWNrKClcIj48L3NwYW4+XHJcbiAgfVxyXG5cclxuICBAaWYgKHRpdGxlIHx8IG1lc3NhZ2UgfHwgc2hvd0ljb24pIHtcclxuICAgIDxzcGFuIFtjbGFzc109XCJnZXRJY29uQ2xhc3NcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDFweFwiIGNsYXNzPVwibXJ4LWljb24gaWNvbi1hbGVydCBpY29uLWZvbnQtMTYgbXItMlwiPjwvc3Bhbj5cclxuICB9XHJcblxyXG4gIEBpZiAodGl0bGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtYWxlcnQtdGl0bGUgbWItMVwiIFtjbGFzcy5tbC00XT1cImdldEljb25DbGFzc1wiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cclxuICB9XHJcblxyXG4gIEBpZiAobWVzc2FnZSkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1hbGVydC1tZXNzYWdlXCIgW2NsYXNzLm1sLTRdPVwiZ2V0SWNvbkNsYXNzXCIgW2lubmVySFRNTF09XCJtZXNzYWdlXCI+PC9kaXY+XHJcbiAgfVxyXG5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFRaEYsTUFBTSxPQUFPLGNBQWM7SUFDaEIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQWdCLFNBQVMsQ0FBQztJQUMvQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWhCLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU1RCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7d0dBckJVLGNBQWM7NEZBQWQsY0FBYyxzUENUM0IsNHJCQW1CQTs7NEZEVmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0Q29sb3JDbGFzc2VzLCBBbGVydENvbG9ycywgQWxlcnRJY29uQ2xhc3NlcyB9IGZyb20gJy4vYWxlcnQuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1hbGVydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdhbGVydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBjb2xvcjogQWxlcnRDb2xvcnMgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgY3VzdG9tQ29sb3I6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcclxuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0ljb24gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpIHtcclxuICAgIHJldHVybiBgJHtBbGVydENvbG9yQ2xhc3Nlc1t0aGlzLmNvbG9yXSA/PyAnJ30gJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SWNvbkNsYXNzKCkge1xyXG4gICAgcmV0dXJuIGAke0FsZXJ0SWNvbkNsYXNzZXNbdGhpcy5jb2xvcl19YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlLmVtaXQobnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtYWxlcnRcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiIFtzdHlsZV09XCJ7YmFja2dyb3VuZENvbG9yOiBjdXN0b21Db2xvcn1cIj5cclxuICBAaWYgKGNsb3NhYmxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTE2XCIgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygpXCI+PC9zcGFuPlxyXG4gIH1cclxuXHJcbiAgQGlmICh0aXRsZSB8fCBtZXNzYWdlIHx8IHNob3dJY29uKSB7XHJcbiAgICA8c3BhbiBbY2xhc3NdPVwiZ2V0SWNvbkNsYXNzXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcHhcIiBjbGFzcz1cIm1yeC1pY29uIGljb24tYWxlcnQgaWNvbi1mb250LTE2IG1yLTJcIj48L3NwYW4+XHJcbiAgfVxyXG5cclxuICBAaWYgKHRpdGxlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWFsZXJ0LXRpdGxlIG1iLTFcIiBbY2xhc3MubWwtNF09XCJnZXRJY29uQ2xhc3NcIiBbaW5uZXJIVE1MXT1cInRpdGxlXCI+PC9kaXY+XHJcbiAgfVxyXG5cclxuICBAaWYgKG1lc3NhZ2UpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtYWxlcnQtbWVzc2FnZVwiIFtjbGFzcy5tbC00XT1cImdldEljb25DbGFzc1wiIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvZGl2PlxyXG4gIH1cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
@@ -1,111 +1,72 @@
1
- import { Directive, HostBinding, HostListener, Input } from '@angular/core';
1
+ import { Directive, HostBinding, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class AutosizeDirective {
4
4
  elem;
5
5
  renderer;
6
- ngZone;
7
6
  overflow = 'hidden';
8
7
  rows = 1;
9
- set autosize(value) {
10
- this._autosize = value;
11
- if (!value) {
12
- this.overflow = 'auto';
13
- this.setHeight('auto');
14
- }
15
- }
16
- get autosize() {
17
- return this._autosize;
18
- }
19
- _autosize = true;
20
- observer = null;
21
- resizeTimeout;
22
- lastHeight = 0;
23
- constructor(elem, renderer, ngZone) {
8
+ autosize = true;
9
+ isInitialized = false;
10
+ constructor(elem, renderer) {
24
11
  this.elem = elem;
25
12
  this.renderer = renderer;
26
- this.ngZone = ngZone;
27
13
  }
28
14
  ngAfterViewInit() {
29
- this.setupAutoResize();
30
- // Первоначальный расчет
31
- setTimeout(() => this.resize(), 0);
32
- }
33
- ngOnDestroy() {
34
- this.cleanup();
35
- }
36
- setupAutoResize() {
37
- if (!this.autosize)
38
- return;
39
- const textarea = this.elem.nativeElement;
40
- // Используем MutationObserver вместо ngDoCheck
41
- this.ngZone.runOutsideAngular(() => {
42
- this.observer = new MutationObserver(() => {
43
- this.scheduleResize();
44
- });
45
- this.observer.observe(textarea, {
46
- characterData: true,
47
- childList: true,
48
- subtree: true
49
- });
50
- });
51
- // Также следим за resize окна
52
- this.renderer.listen('window', 'resize', () => this.scheduleResize());
53
- }
54
- scheduleResize() {
55
- if (!this.autosize)
56
- return;
57
- // Debounce для оптимизации
58
- clearTimeout(this.resizeTimeout);
59
- this.resizeTimeout = setTimeout(() => {
60
- this.ngZone.run(() => this.resize());
61
- }, 50); // Задержка 50мс
15
+ this.isInitialized = true;
16
+ setTimeout(() => this.resize(), 0); // Инициализация после рендера
62
17
  }
63
18
  onInput() {
64
- this.scheduleResize();
19
+ if (this.autosize && this.isInitialized) {
20
+ this.resize();
21
+ }
65
22
  }
66
23
  resize() {
67
24
  if (!this.autosize) {
68
25
  this.overflow = 'auto';
26
+ this.setHeight('auto');
69
27
  return;
70
28
  }
71
29
  const textarea = this.elem.nativeElement;
72
- // Временно отключаем transition для предотвращения скачков
30
+ // Сохраняем текущее значение и стили
31
+ const originalValue = textarea.value;
73
32
  const originalTransition = textarea.style.transition;
33
+ const originalOverflow = textarea.style.overflow;
34
+ // Временно убираем transition для мгновенного расчета
74
35
  this.renderer.setStyle(textarea, 'transition', 'none');
36
+ this.renderer.setStyle(textarea, 'overflow', 'hidden');
37
+ // Сбрасываем высоту для корректного расчета
38
+ this.renderer.setStyle(textarea, 'height', 'auto');
75
39
  // Рассчитываем новую высоту
76
40
  const borderHeight = textarea.offsetHeight - textarea.clientHeight;
77
- this.setHeight('auto');
78
41
  const scrollHeight = textarea.scrollHeight;
79
- const newHeight = scrollHeight + borderHeight;
80
- // Изменяем высоту только если она действительно изменилась
81
- if (Math.abs(newHeight - this.lastHeight) > 2) { // Порог 2px
82
- this.setHeight(`${newHeight}px`);
83
- this.lastHeight = newHeight;
84
- }
85
- // Восстанавливаем transition
42
+ const newHeight = Math.max(textarea.clientHeight, // минимальная высота
43
+ scrollHeight + borderHeight);
44
+ // Устанавливаем новую высоту
45
+ this.renderer.setStyle(textarea, 'height', `${newHeight}px`);
46
+ // Восстанавливаем стили
86
47
  setTimeout(() => {
87
48
  this.renderer.setStyle(textarea, 'transition', originalTransition);
49
+ this.renderer.setStyle(textarea, 'overflow', originalOverflow);
88
50
  }, 0);
89
51
  }
90
52
  setHeight(value) {
91
53
  this.renderer.setStyle(this.elem.nativeElement, 'height', value);
92
54
  }
93
- cleanup() {
94
- if (this.observer) {
95
- this.observer.disconnect();
96
- this.observer = null;
97
- }
98
- clearTimeout(this.resizeTimeout);
99
- }
100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
101
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AutosizeDirective, selector: "[mrxAutosize]", inputs: { rows: "rows", autosize: "autosize" }, host: { listeners: { "input": "onInput()" }, properties: { "style.overflow": "this.overflow", "rows": "this.rows" } }, ngImport: i0 });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
56
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AutosizeDirective, selector: "[mrxAutosize]", inputs: { rows: "rows", autosize: "autosize" }, host: { listeners: { "input": "onInput()", "paste": "onInput()", "cut": "onInput()", "change": "onInput()" }, properties: { "style.overflow": "this.overflow", "rows": "this.rows" } }, ngImport: i0 });
102
57
  }
103
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, decorators: [{
104
59
  type: Directive,
105
60
  args: [{
106
- selector: '[mrxAutosize]'
61
+ selector: '[mrxAutosize]',
62
+ host: {
63
+ '(input)': 'onInput()',
64
+ '(paste)': 'onInput()',
65
+ '(cut)': 'onInput()',
66
+ '(change)': 'onInput()'
67
+ }
107
68
  }]
108
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }], propDecorators: { overflow: [{
69
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { overflow: [{
109
70
  type: HostBinding,
110
71
  args: ['style.overflow']
111
72
  }], rows: [{
@@ -115,8 +76,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
115
76
  args: ['rows']
116
77
  }], autosize: [{
117
78
  type: Input
118
- }], onInput: [{
119
- type: HostListener,
120
- args: ['input']
121
79
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3NpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9kaXJlY3RpdmVzL2F1dG9zaXplL2F1dG9zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8saUJBQWlCO0lBMEJsQjtJQUNBO0lBQ0E7SUExQkgsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUlwQixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRWhCLElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNPLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFFakIsUUFBUSxHQUE0QixJQUFJLENBQUM7SUFDekMsYUFBYSxDQUFNO0lBQ25CLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFdkIsWUFDVSxJQUFnQixFQUNoQixRQUFtQixFQUNuQixNQUFjO1FBRmQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVHLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLHdCQUF3QjtRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMs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QUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7d0dBdEhVLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs0SEFHUSxRQUFRO3NCQURkLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUt0QixJQUFJO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsTUFBTTtnQkFJUixRQUFRO3NCQURsQixLQUFLO2dCQWtFRSxPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxuICBOZ1pvbmVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW21yeEF1dG9zaXplXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dG9zaXplRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm92ZXJmbG93JylcclxuICBwdWJsaWMgb3ZlcmZsb3cgPSAnaGlkZGVuJztcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ3Jvd3MnKVxyXG4gIHB1YmxpYyByb3dzID0gMTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGF1dG9zaXplKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9hdXRvc2l6ZSA9IHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICB0aGlzLm92ZXJmbG93ID0gJ2F1dG8nO1xyXG4gICAgICB0aGlzLnNldEhlaWdodCgnYXV0bycpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGF1dG9zaXplKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9zaXplO1xyXG4gIH1cclxuICBwcml2YXRlIF9hdXRvc2l6ZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHJlc2l6ZVRpbWVvdXQ6IGFueTtcclxuICBwcml2YXRlIGxhc3RIZWlnaHQgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldHVwQXV0b1Jlc2l6ZSgpO1xyXG4gICAgLy8g0J/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90YvQuSDRgNCw0YHRh9C10YJcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNpemUoKSwgMCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmNsZWFudXAoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBBdXRvUmVzaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmF1dG9zaXplKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgXHJcbiAgICAvLyDQmNGB0L/QvtC70YzQt9GD0LXQvCBNdXRhdGlvbk9ic2VydmVyINCy0LzQtdGB0YLQviBuZ0RvQ2hlY2tcclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlUmVzaXplKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRleHRhcmVhLCB7XHJcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcclxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vINCi0LDQutC20LUg0YHQu9C10LTQuNC8INC30LAgcmVzaXplINC+0LrQvdCwXHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHRoaXMuc2NoZWR1bGVSZXNpemUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNjaGVkdWxlUmVzaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmF1dG9zaXplKSByZXR1cm47XHJcblxyXG4gICAgLy8gRGVib3VuY2Ug0LTQu9GPINC+0L/RgtC40LzQuNC30LDRhtC40LhcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xyXG4gICAgdGhpcy5yZXNpemVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLnJlc2l6ZSgpKTtcclxuICAgIH0sIDUwKTsgLy8g0JfQsNC00LXRgNC20LrQsCA1MNC80YFcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcclxuICBwcml2YXRlIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLnNjaGVkdWxlUmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZSgpIHtcclxuICAgIGlmICghdGhpcy5hdXRvc2l6ZSkge1xyXG4gICAgICB0aGlzLm92ZXJmbG93ID0gJ2F1dG8nO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgXHJcbiAgICAvLyDQktGA0LXQvNC10L3QvdC+INC+0YLQutC70Y7Rh9Cw0LXQvCB0cmFuc2l0aW9uINC00LvRjyDQv9GA0LXQtNC+0YLQstGA0LDRidC10L3QuNGPINGB0LrQsNGH0LrQvtCyXHJcbiAgICBjb25zdCBvcmlnaW5hbFRyYW5zaXRpb24gPSB0ZXh0YXJlYS5zdHlsZS50cmFuc2l0aW9uO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ3RyYW5zaXRpb24nLCAnbm9uZScpO1xyXG4gICAgXHJcbiAgICAvLyDQoNCw0YHRgdGH0LjRgtGL0LLQsNC10Lwg0L3QvtCy0YPRjiDQstGL0YHQvtGC0YNcclxuICAgIGNvbnN0IGJvcmRlckhlaWdodCA9IHRleHRhcmVhLm9mZnNldEhlaWdodCAtIHRleHRhcmVhLmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMuc2V0SGVpZ2h0KCdhdXRvJyk7XHJcbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHQ7XHJcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBzY3JvbGxIZWlnaHQgKyBib3JkZXJIZWlnaHQ7XHJcbiAgICBcclxuICAgIC8vINCY0LfQvNC10L3Rj9C10Lwg0LLRi9GB0L7RgtGDINGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQvtC90LAg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0LjQt9C80LXQvdC40LvQsNGB0YxcclxuICAgIGlmIChNYXRoLmFicyhuZXdIZWlnaHQgLSB0aGlzLmxhc3RIZWlnaHQpID4gMikgeyAvLyDQn9C+0YDQvtCzIDJweFxyXG4gICAgICB0aGlzLnNldEhlaWdodChgJHtuZXdIZWlnaHR9cHhgKTtcclxuICAgICAgdGhpcy5sYXN0SGVpZ2h0ID0gbmV3SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyDQktC+0YHRgdGC0LDQvdCw0LLQu9C40LLQsNC10LwgdHJhbnNpdGlvblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGV4dGFyZWEsICd0cmFuc2l0aW9uJywgb3JpZ2luYWxUcmFuc2l0aW9uKTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRIZWlnaHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYW51cCgpIHtcclxuICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICB0aGlzLm9ic2VydmVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xyXG4gIH1cclxufSJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3NpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9kaXJlY3RpdmVzL2F1dG9zaXplL2F1dG9zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQVdwRyxNQUFNLE9BQU8saUJBQWlCO0lBYVI7SUFBMEI7SUFYdkMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUlwQixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBR1QsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVmLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFOUIsWUFBb0IsSUFBZ0IsRUFBVSxRQUFtQjtRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFOUQsZUFBZTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO0lBQ3BFLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFvQyxDQUFDO1FBRWhFLHFDQUFxQztRQUNyQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3JDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUVqRCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXZELDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELDRCQUE0QjtRQUM1QixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUN4QixRQUFRLENBQUMsWUFBWSxFQUFFLHFCQUFxQjtRQUM1QyxZQUFZLEdBQUcsWUFBWSxDQUM1QixDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRTdELHdCQUF3QjtRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7d0dBbkVVLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQVQ3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLFdBQVc7d0JBQ3RCLFNBQVMsRUFBRSxXQUFXO3dCQUN0QixPQUFPLEVBQUUsV0FBVzt3QkFDcEIsVUFBVSxFQUFFLFdBQVc7cUJBQ3hCO2lCQUNGO3VHQUdRLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3RCLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxNQUFNO2dCQUlaLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbXJ4QXV0b3NpemVdJyxcclxuICBob3N0OiB7XHJcbiAgICAnKGlucHV0KSc6ICdvbklucHV0KCknLFxyXG4gICAgJyhwYXN0ZSknOiAnb25JbnB1dCgpJyxcclxuICAgICcoY3V0KSc6ICdvbklucHV0KCknLFxyXG4gICAgJyhjaGFuZ2UpJzogJ29uSW5wdXQoKSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRvc2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cnKVxyXG4gIHB1YmxpYyBvdmVyZmxvdyA9ICdoaWRkZW4nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygncm93cycpXHJcbiAgcHVibGljIHJvd3MgPSAxO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhdXRvc2l6ZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW06IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzaXplKCksIDApOyAvLyDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDQv9C+0YHQu9C1INGA0LXQvdC00LXRgNCwXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JbnB1dCgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9zaXplICYmIHRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemUoKSB7XHJcbiAgICBpZiAoIXRoaXMuYXV0b3NpemUpIHtcclxuICAgICAgdGhpcy5vdmVyZmxvdyA9ICdhdXRvJztcclxuICAgICAgdGhpcy5zZXRIZWlnaHQoJ2F1dG8nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudDtcclxuICAgIFxyXG4gICAgLy8g0KHQvtGF0YDQsNC90Y/QtdC8INGC0LXQutGD0YnQtdC1INC30L3QsNGH0LXQvdC40LUg0Lgg0YHRgtC40LvQuFxyXG4gICAgY29uc3Qgb3JpZ2luYWxWYWx1ZSA9IHRleHRhcmVhLnZhbHVlO1xyXG4gICAgY29uc3Qgb3JpZ2luYWxUcmFuc2l0aW9uID0gdGV4dGFyZWEuc3R5bGUudHJhbnNpdGlvbjtcclxuICAgIGNvbnN0IG9yaWdpbmFsT3ZlcmZsb3cgPSB0ZXh0YXJlYS5zdHlsZS5vdmVyZmxvdztcclxuICAgIFxyXG4gICAgLy8g0JLRgNC10LzQtdC90L3QviDRg9Cx0LjRgNCw0LXQvCB0cmFuc2l0aW9uINC00LvRjyDQvNCz0L3QvtCy0LXQvdC90L7Qs9C+INGA0LDRgdGH0LXRgtCwXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRleHRhcmVhLCAndHJhbnNpdGlvbicsICdub25lJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRleHRhcmVhLCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XHJcbiAgICBcclxuICAgIC8vINCh0LHRgNCw0YHRi9Cy0LDQtdC8INCy0YvRgdC+0YLRgyDQtNC70Y8g0LrQvtGA0YDQtdC60YLQvdC+0LPQviDRgNCw0YHRh9C10YLQsFxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ2hlaWdodCcsICdhdXRvJyk7XHJcbiAgICBcclxuICAgIC8vINCg0LDRgdGB0YfQuNGC0YvQstCw0LXQvCDQvdC+0LLRg9GOINCy0YvRgdC+0YLRg1xyXG4gICAgY29uc3QgYm9yZGVySGVpZ2h0ID0gdGV4dGFyZWEub2Zmc2V0SGVpZ2h0IC0gdGV4dGFyZWEuY2xpZW50SGVpZ2h0O1xyXG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gTWF0aC5tYXgoXHJcbiAgICAgIHRleHRhcmVhLmNsaWVudEhlaWdodCwgLy8g0LzQuNC90LjQvNCw0LvRjNC90LDRjyDQstGL0YHQvtGC0LBcclxuICAgICAgc2Nyb2xsSGVpZ2h0ICsgYm9yZGVySGVpZ2h0XHJcbiAgICApO1xyXG4gICAgXHJcbiAgICAvLyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdC+0LLRg9GOINCy0YvRgdC+0YLRg1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ2hlaWdodCcsIGAke25ld0hlaWdodH1weGApO1xyXG4gICAgXHJcbiAgICAvLyDQktC+0YHRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0YHRgtC40LvQuFxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGV4dGFyZWEsICd0cmFuc2l0aW9uJywgb3JpZ2luYWxUcmFuc2l0aW9uKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ292ZXJmbG93Jywgb3JpZ2luYWxPdmVyZmxvdyk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SGVpZ2h0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCB2YWx1ZSk7XHJcbiAgfVxyXG59Il19
@@ -340,7 +340,6 @@ class AlertComponent {
340
340
  return `${AlertIconClasses[this.color]}`;
341
341
  }
342
342
  onCloseClick() {
343
- console.log(1);
344
343
  this.close.emit(null);
345
344
  }
346
345
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -5949,109 +5948,70 @@ var InputTextareaSizesEnum;
5949
5948
  class AutosizeDirective {
5950
5949
  elem;
5951
5950
  renderer;
5952
- ngZone;
5953
5951
  overflow = 'hidden';
5954
5952
  rows = 1;
5955
- set autosize(value) {
5956
- this._autosize = value;
5957
- if (!value) {
5958
- this.overflow = 'auto';
5959
- this.setHeight('auto');
5960
- }
5961
- }
5962
- get autosize() {
5963
- return this._autosize;
5964
- }
5965
- _autosize = true;
5966
- observer = null;
5967
- resizeTimeout;
5968
- lastHeight = 0;
5969
- constructor(elem, renderer, ngZone) {
5953
+ autosize = true;
5954
+ isInitialized = false;
5955
+ constructor(elem, renderer) {
5970
5956
  this.elem = elem;
5971
5957
  this.renderer = renderer;
5972
- this.ngZone = ngZone;
5973
5958
  }
5974
5959
  ngAfterViewInit() {
5975
- this.setupAutoResize();
5976
- // Первоначальный расчет
5977
- setTimeout(() => this.resize(), 0);
5978
- }
5979
- ngOnDestroy() {
5980
- this.cleanup();
5981
- }
5982
- setupAutoResize() {
5983
- if (!this.autosize)
5984
- return;
5985
- const textarea = this.elem.nativeElement;
5986
- // Используем MutationObserver вместо ngDoCheck
5987
- this.ngZone.runOutsideAngular(() => {
5988
- this.observer = new MutationObserver(() => {
5989
- this.scheduleResize();
5990
- });
5991
- this.observer.observe(textarea, {
5992
- characterData: true,
5993
- childList: true,
5994
- subtree: true
5995
- });
5996
- });
5997
- // Также следим за resize окна
5998
- this.renderer.listen('window', 'resize', () => this.scheduleResize());
5999
- }
6000
- scheduleResize() {
6001
- if (!this.autosize)
6002
- return;
6003
- // Debounce для оптимизации
6004
- clearTimeout(this.resizeTimeout);
6005
- this.resizeTimeout = setTimeout(() => {
6006
- this.ngZone.run(() => this.resize());
6007
- }, 50); // Задержка 50мс
5960
+ this.isInitialized = true;
5961
+ setTimeout(() => this.resize(), 0); // Инициализация после рендера
6008
5962
  }
6009
5963
  onInput() {
6010
- this.scheduleResize();
5964
+ if (this.autosize && this.isInitialized) {
5965
+ this.resize();
5966
+ }
6011
5967
  }
6012
5968
  resize() {
6013
5969
  if (!this.autosize) {
6014
5970
  this.overflow = 'auto';
5971
+ this.setHeight('auto');
6015
5972
  return;
6016
5973
  }
6017
5974
  const textarea = this.elem.nativeElement;
6018
- // Временно отключаем transition для предотвращения скачков
5975
+ // Сохраняем текущее значение и стили
5976
+ const originalValue = textarea.value;
6019
5977
  const originalTransition = textarea.style.transition;
5978
+ const originalOverflow = textarea.style.overflow;
5979
+ // Временно убираем transition для мгновенного расчета
6020
5980
  this.renderer.setStyle(textarea, 'transition', 'none');
5981
+ this.renderer.setStyle(textarea, 'overflow', 'hidden');
5982
+ // Сбрасываем высоту для корректного расчета
5983
+ this.renderer.setStyle(textarea, 'height', 'auto');
6021
5984
  // Рассчитываем новую высоту
6022
5985
  const borderHeight = textarea.offsetHeight - textarea.clientHeight;
6023
- this.setHeight('auto');
6024
5986
  const scrollHeight = textarea.scrollHeight;
6025
- const newHeight = scrollHeight + borderHeight;
6026
- // Изменяем высоту только если она действительно изменилась
6027
- if (Math.abs(newHeight - this.lastHeight) > 2) { // Порог 2px
6028
- this.setHeight(`${newHeight}px`);
6029
- this.lastHeight = newHeight;
6030
- }
6031
- // Восстанавливаем transition
5987
+ const newHeight = Math.max(textarea.clientHeight, // минимальная высота
5988
+ scrollHeight + borderHeight);
5989
+ // Устанавливаем новую высоту
5990
+ this.renderer.setStyle(textarea, 'height', `${newHeight}px`);
5991
+ // Восстанавливаем стили
6032
5992
  setTimeout(() => {
6033
5993
  this.renderer.setStyle(textarea, 'transition', originalTransition);
5994
+ this.renderer.setStyle(textarea, 'overflow', originalOverflow);
6034
5995
  }, 0);
6035
5996
  }
6036
5997
  setHeight(value) {
6037
5998
  this.renderer.setStyle(this.elem.nativeElement, 'height', value);
6038
5999
  }
6039
- cleanup() {
6040
- if (this.observer) {
6041
- this.observer.disconnect();
6042
- this.observer = null;
6043
- }
6044
- clearTimeout(this.resizeTimeout);
6045
- }
6046
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
6047
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AutosizeDirective, selector: "[mrxAutosize]", inputs: { rows: "rows", autosize: "autosize" }, host: { listeners: { "input": "onInput()" }, properties: { "style.overflow": "this.overflow", "rows": "this.rows" } }, ngImport: i0 });
6000
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
6001
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AutosizeDirective, selector: "[mrxAutosize]", inputs: { rows: "rows", autosize: "autosize" }, host: { listeners: { "input": "onInput()", "paste": "onInput()", "cut": "onInput()", "change": "onInput()" }, properties: { "style.overflow": "this.overflow", "rows": "this.rows" } }, ngImport: i0 });
6048
6002
  }
6049
6003
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutosizeDirective, decorators: [{
6050
6004
  type: Directive,
6051
6005
  args: [{
6052
- selector: '[mrxAutosize]'
6006
+ selector: '[mrxAutosize]',
6007
+ host: {
6008
+ '(input)': 'onInput()',
6009
+ '(paste)': 'onInput()',
6010
+ '(cut)': 'onInput()',
6011
+ '(change)': 'onInput()'
6012
+ }
6053
6013
  }]
6054
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }], propDecorators: { overflow: [{
6014
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { overflow: [{
6055
6015
  type: HostBinding,
6056
6016
  args: ['style.overflow']
6057
6017
  }], rows: [{
@@ -6061,9 +6021,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
6061
6021
  args: ['rows']
6062
6022
  }], autosize: [{
6063
6023
  type: Input
6064
- }], onInput: [{
6065
- type: HostListener,
6066
- args: ['input']
6067
6024
  }] } });
6068
6025
 
6069
6026
  class InputTextareaComponent {