@tetacom/ng-components 1.0.70 → 1.0.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.
@@ -14,8 +14,8 @@ export declare class DaySelectComponent implements OnInit, OnDestroy, ControlVal
14
14
  disabledDates: Date[];
15
15
  disabledPeriods: DatePeriod[];
16
16
  disabledDays: number[];
17
- minDate: Date;
18
- maxDate: Date;
17
+ set minDate(d: Date);
18
+ set maxDate(d: Date);
19
19
  disabled: boolean;
20
20
  dateSelected: EventEmitter<Date>;
21
21
  monthSelected: EventEmitter<number>;
@@ -23,6 +23,8 @@ export declare class DaySelectComponent implements OnInit, OnDestroy, ControlVal
23
23
  locale: TetaLocalisation;
24
24
  value: Date;
25
25
  _currentValue: Date;
26
+ private _minDate;
27
+ private _maxDate;
26
28
  set currentValue(val: Date);
27
29
  get currentValue(): Date;
28
30
  days: Array<DayModel>;
@@ -3,10 +3,12 @@ import { CellComponentBase } from '../../base/cell-component-base';
3
3
  import { TableColumn } from '../../contract/table-column';
4
4
  import { TableService } from '../../service/table.service';
5
5
  import { ICellCoordinates } from '../../contract/i-cell-coordinates';
6
+ import { Align } from '../../../../common/enum/align.enum';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class StringCellComponent<T> extends CellComponentBase<T> implements OnInit {
8
9
  svc: TableService<T>;
9
10
  cdr: ChangeDetectorRef;
11
+ align: typeof Align;
10
12
  column: TableColumn;
11
13
  row: T;
12
14
  input: ElementRef;
@@ -1,14 +1,17 @@
1
- import { AfterViewInit, ElementRef } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, NgZone, OnDestroy } from '@angular/core';
2
2
  import { Align } from '../../common/enum/align.enum';
3
3
  import { VerticalAlign } from '../../common/enum/vertical-align.enum';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AutoPositionDirective implements AfterViewInit {
5
+ export declare class AutoPositionDirective implements AfterViewInit, OnDestroy {
6
6
  private _elementRef;
7
+ private _zone;
7
8
  align: Align;
8
9
  verticalAlign: VerticalAlign;
9
10
  fixed: string;
10
- constructor(_elementRef: ElementRef);
11
+ private _alive;
12
+ constructor(_elementRef: ElementRef, _zone: NgZone);
11
13
  ngAfterViewInit(): void;
14
+ ngOnDestroy(): void;
12
15
  private setPosition;
13
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoPositionDirective, never>;
14
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<AutoPositionDirective, "[tetaAutoPosition]", never, { "align": "align"; "verticalAlign": "verticalAlign"; }, {}, never, never, false>;
@@ -123,7 +123,7 @@ export class DatePickerComponent {
123
123
  if (this.isScrollIgnored()) {
124
124
  return false;
125
125
  }
126
- this.currentValue = DatePickerUtil.scrollMonth(e.deltaY, this.internalValue);
126
+ this.currentValue = DatePickerUtil.scrollYear(e.deltaY, this.internalValue);
127
127
  };
128
128
  this.openPicker = (show) => {
129
129
  if (this.disabled) {
@@ -285,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
285
285
  type: HostListener,
286
286
  args: ['window:keyup', ['$event']]
287
287
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBMEU5QixZQUNTLGFBQWdDLEVBQy9CLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFt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Q0FBQyxDQUFDO0lBQzVDLENBQUM7O2dIQWxSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0c0JBSG5CLENBQUMsa0NBQWtDLENBQUMsMEJDakNqRCxtaElBK0ZBOzJGRDNEYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsa0NBQWtDLENBQUMsbUJBQzlCLHVCQUF1QixDQUFDLE1BQU07aUtBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7RGF0ZVBpY2tlck1vZGV9IGZyb20gJy4uL21vZGVsL2RhdGUtcGlja2VyLW1vZGUuZW51bSc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGUtdXRpbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtUZXRhQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuO1xuICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRQZXJpb2RzOiBEYXRlUGVyaW9kW107XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogbnVtYmVyW107XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1pblllYXJEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uO1xuICB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZVBpY2tlck1vZGVFbnVtID0gRGF0ZVBpY2tlck1vZGU7XG4gIGRpc3BsYXlNb2RlOiBEYXRlUGlja2VyTW9kZSA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gIF9mb3JtYXQ6IHN0cmluZztcblxuICBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodj8uZ2V0VGltZSgpICE9PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VmFsdWUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGludGVybmFsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID8/IHRoaXMuZW1wdHlEYXRlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSkga2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoXG4gICAgICBlLmRlbHRhWSxcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZVxuICAgICk7XG4gIH07XG5cbiAgb3BlblBpY2tlciA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICB0aGlzLnNldE1vZGUoRGF0ZVBpY2tlck1vZGUuZGF0ZSk7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLm9wZW4gPSBzaG93O1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBjbG9zZVBpY2tlciA9ICgpID0+IHtcbiAgICB0aGlzLm9wZW5QaWNrZXIoZmFsc2UpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH07XG5cbiAgcHJldmVudEV2ZW50ID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBmb2N1cygpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHNldE1vZGUobW9kZTogRGF0ZVBpY2tlck1vZGUpIHtcbiAgICBsZXQgcmVzdWx0OiBEYXRlUGlja2VyTW9kZTtcbiAgICBpZiAobW9kZSA9PT0gdGhpcy5kaXNwbGF5TW9kZSB8fCBtb2RlID09PSBEYXRlUGlja2VyTW9kZS5kYXRlKSB7XG4gICAgICByZXN1bHQgPSBEYXRlUGlja2VyTW9kZS5kYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBtb2RlO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBlbXB0eURhdGUoKSB7XG4gICAgcmV0dXJuIERhdGVVdGlsLnRydW5jYXRlVG9EYXkobmV3IERhdGUoKSk7XG4gIH1cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duXG4gIGNsYXNzPVwicm93IHJvd19hdXRvXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW29wZW5dPVwib3BlblwiXG4gIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlc2MnLCAnaW5zaWRlJ11cIlxuICAob3BlbkNoYW5nZSk9XCJvcGVuUGlja2VyKCRldmVudClcIlxuICBbYWxpZ25dPVwiYWxpZ25cIlxuICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduXCJcbiAgW2FwcGVuZFRvQm9keV09XCJhcHBlbmRUb0JvZHlcIlxuICBbYmFja2Ryb3BdPVwiYmFja2Ryb3BcIj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWhlYWQgZm9udC1ib2R5LTNcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWhlYWRfZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWhlYWRfaW52YWxpZF09XCJpbnZhbGlkXCI+XG4gICAgPHRldGEtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCIgY2xhc3M9XCJtYXJnaW4tcmlnaHQtMVwiPjwvdGV0YS1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfYXV0byBub3dyYXBcIj5cbiAgICAgIHt7Y3VycmVudFZhbHVlICE9PSBudWxsICYmIGN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gKGN1cnJlbnRWYWx1ZSB8IGRhdGUgOiBmb3JtYXQpIDogJyd9fVxuICAgIDwvZGl2PlxuICAgIDx0ZXRhLWljb24gKm5nSWY9XCJhbGxvd051bGxcIlxuICAgICAgICAgICAgICAgW25hbWVdPVwiJ2Nsb3NlQmlnJ1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJQaWNrZXIoJGV2ZW50KTtcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tbGVmdC0xXCI+PC90ZXRhLWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IHRldGFEcm9wZG93bkNvbnRlbnQgY2xhc3M9XCJzY3JvbGxhYmxlXCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmctM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwiZGlzcGxheU1vZGU9PT1kYXRlUGlja2VyTW9kZUVudW0ubW9udGggPyAncHJpbWFyeScgOiAnZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRNb2RlKGRhdGVQaWNrZXJNb2RlRW51bS5tb250aClcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudCk7XCI+XG4gICAgICAgICAgICB7e2xvY2FsZS5tb250aHNbaW50ZXJuYWxWYWx1ZT8uZ2V0TW9udGgoKV19fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFyZ2luLWxlZnQtMlwiXG4gICAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwiZGlzcGxheU1vZGU9PT1kYXRlUGlja2VyTW9kZUVudW0ueWVhciA/ICdwcmltYXJ5JyA6ICdnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldE1vZGUoZGF0ZVBpY2tlck1vZGVFbnVtLnllYXIpXCJcbiAgICAgICAgICAgICAgICAgICh3aGVlbCk9XCJzY3JvbGxZZWFyKCRldmVudCk7XCI+XG4gICAgICAgICAgICB7e2ludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKCl9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgW3ZpZXddPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnRcIj5cbiAgICAgICAgPHRldGEteWVhci1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0ueWVhclwiXG4gICAgICAgICAgW2N1cnJlbnRZZWFyXT1cImludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKClcIlxuICAgICAgICAgIFt0b2RheV09XCJ0b2RheVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKHllYXJTZWxlY3RlZCk9XCJzZXRZZWFyKCRldmVudClcIj5cbiAgICAgICAgPC90ZXRhLXllYXItc2VsZWN0PlxuICAgICAgICA8dGV0YS1tb250aC1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0ubW9udGhcIlxuICAgICAgICAgIFtjdXJyZW50TW9udGhdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0TW9udGgoKVwiXG4gICAgICAgICAgW2N1cnJlbnRZZWFyXT1cImludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKClcIlxuICAgICAgICAgIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRNb250aCgkZXZlbnQpXCI+XG4gICAgICAgIDwvdGV0YS1tb250aC1zZWxlY3Q+XG4gICAgICAgIDx0ZXRhLWRheS1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0uZGF0ZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiY3VycmVudFZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhcHBseVZhbHVlKCRldmVudClcIlxuICAgICAgICAgIChkYXRlU2VsZWN0ZWQpPVwic2V0RGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInNldFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwic2V0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXlzXT1cImRpc2FibGVkRGF5c1wiXG4gICAgICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkUGVyaW9kc109XCJkaXNhYmxlZFBlcmlvZHNcIj48L3RldGEtZGF5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaG93VGltZVwiIGNsYXNzPVwiZGF0ZXBpY2tlci10aW1lIHBhZGRpbmctdi0xIGJvcmRlci10b3AgYm9yZGVyLXRleHQtMTAgZm9udC1ib2R5LTMgY29sb3ItdGV4dC05MFwiPlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW21heF09XCIyM1wiIFtuZ01vZGVsXT1cImludGVybmFsVmFsdWU/LmdldEhvdXJzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SG91cigkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgICAgOlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0TWludXRlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldE1pbnV0ZSgkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgICAgOlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0U2Vjb25kcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFNlY29uZCgkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGV0YS1kcm9wZG93bj5cbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBMEU5QixZQUNTLGFBQWdDLEVBQy9CLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFt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Q0FBQyxDQUFDO0lBQzVDLENBQUM7O2dIQWxSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0c0JBSG5CLENBQUMsa0NBQWtDLENBQUMsMEJDakNqRCxtaElBK0ZBOzJGRDNEYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsa0NBQWtDLENBQUMsbUJBQzlCLHVCQUF1QixDQUFDLE1BQU07aUtBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7RGF0ZVBpY2tlck1vZGV9IGZyb20gJy4uL21vZGVsL2RhdGUtcGlja2VyLW1vZGUuZW51bSc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGUtdXRpbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtUZXRhQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuO1xuICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRQZXJpb2RzOiBEYXRlUGVyaW9kW107XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogbnVtYmVyW107XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1pblllYXJEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uO1xuICB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZVBpY2tlck1vZGVFbnVtID0gRGF0ZVBpY2tlck1vZGU7XG4gIGRpc3BsYXlNb2RlOiBEYXRlUGlja2VyTW9kZSA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gIF9mb3JtYXQ6IHN0cmluZztcblxuICBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodj8uZ2V0VGltZSgpICE9PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VmFsdWUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGludGVybmFsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID8/IHRoaXMuZW1wdHlEYXRlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSkga2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsWWVhcihcbiAgICAgIGUuZGVsdGFZLFxuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlXG4gICAgKTtcbiAgfTtcblxuICBvcGVuUGlja2VyID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXNob3cpIHtcbiAgICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZSh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub3BlbiA9IHNob3c7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsb3NlUGlja2VyID0gKCkgPT4ge1xuICAgIHRoaXMub3BlblBpY2tlcihmYWxzZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfTtcblxuICBwcmV2ZW50RXZlbnQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgc2V0TW9kZShtb2RlOiBEYXRlUGlja2VyTW9kZSkge1xuICAgIGxldCByZXN1bHQ6IERhdGVQaWNrZXJNb2RlO1xuICAgIGlmIChtb2RlID09PSB0aGlzLmRpc3BsYXlNb2RlIHx8IG1vZGUgPT09IERhdGVQaWNrZXJNb2RlLmRhdGUpIHtcbiAgICAgIHJlc3VsdCA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IG1vZGU7XG4gICAgfVxuICAgIHRoaXMuZGlzcGxheU1vZGUgPSByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGVtcHR5RGF0ZSgpIHtcbiAgICByZXR1cm4gRGF0ZVV0aWwudHJ1bmNhdGVUb0RheShuZXcgRGF0ZSgpKTtcbiAgfVxufVxuIiwiPHRldGEtZHJvcGRvd25cbiAgY2xhc3M9XCJyb3cgcm93X2F1dG9cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbb3Blbl09XCJvcGVuXCJcbiAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnXVwiXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5QaWNrZXIoJGV2ZW50KVwiXG4gIFthbGlnbl09XCJhbGlnblwiXG4gIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIlxuICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gIFtiYWNrZHJvcF09XCJiYWNrZHJvcFwiPlxuICA8ZGl2IHRldGFEcm9wZG93bkhlYWRcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItaGVhZCBmb250LWJvZHktM1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9pbnZhbGlkXT1cImludmFsaWRcIj5cbiAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIiBjbGFzcz1cIm1hcmdpbi1yaWdodC0xXCI+PC90ZXRhLWljb24+XG4gICAgPGRpdiBjbGFzcz1cInJvd19hdXRvIG5vd3JhcFwiPlxuICAgICAge3tjdXJyZW50VmFsdWUgIT09IG51bGwgJiYgY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQgPyAoY3VycmVudFZhbHVlIHwgZGF0ZSA6IGZvcm1hdCkgOiAnJ319XG4gICAgPC9kaXY+XG4gICAgPHRldGEtaWNvbiAqbmdJZj1cImFsbG93TnVsbFwiXG4gICAgICAgICAgICAgICBbbmFtZV09XCInY2xvc2VCaWcnXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclBpY2tlcigkZXZlbnQpO1wiXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTFcIj48L3RldGEtaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cInNjcm9sbGFibGVcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS5tb250aCA/ICdwcmltYXJ5JyA6ICdnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldE1vZGUoZGF0ZVBpY2tlck1vZGVFbnVtLm1vbnRoKVwiXG4gICAgICAgICAgICAgICAgICAod2hlZWwpPVwic2Nyb2xsTW9udGgoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7bG9jYWxlLm1vbnRoc1tpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tbGVmdC0yXCJcbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS55ZWFyID8gJ3ByaW1hcnknIDogJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0TW9kZShkYXRlUGlja2VyTW9kZUVudW0ueWVhcilcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbFllYXIoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7aW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbdmlld109XCInZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPlxuICAgICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiPjwvdGV0YS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGVudFwiPlxuICAgICAgICA8dGV0YS15ZWFyLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS55ZWFyXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW3RvZGF5XT1cInRvZGF5XCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInNldFllYXIoJGV2ZW50KVwiPlxuICAgICAgICA8L3RldGEteWVhci1zZWxlY3Q+XG4gICAgICAgIDx0ZXRhLW1vbnRoLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5tb250aFwiXG4gICAgICAgICAgW2N1cnJlbnRNb250aF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldE1vbnRoKCRldmVudClcIj5cbiAgICAgICAgPC90ZXRhLW1vbnRoLXNlbGVjdD5cbiAgICAgICAgPHRldGEtZGF5LXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5kYXRlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJjdXJyZW50VmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFwcGx5VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgKGRhdGVTZWxlY3RlZCk9XCJzZXREYXRlKCRldmVudClcIlxuICAgICAgICAgICh5ZWFyU2VsZWN0ZWQpPVwic2V0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiZmlyc3REYXlPZldlZWtcIlxuICAgICAgICAgIFtkaXNhYmxlZERheXNdPVwiZGlzYWJsZWREYXlzXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgICBbZGlzYWJsZWRQZXJpb2RzXT1cImRpc2FibGVkUGVyaW9kc1wiPjwvdGV0YS1kYXktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUaW1lXCIgY2xhc3M9XCJkYXRlcGlja2VyLXRpbWUgcGFkZGluZy12LTEgYm9yZGVyLXRvcCBib3JkZXItdGV4dC0xMCBmb250LWJvZHktMyBjb2xvci10ZXh0LTkwXCI+XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbWF4XT1cIjIzXCIgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0SG91cnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRIb3VyKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNaW51dGVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0TWludXRlKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRTZWNvbmRzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0U2Vjb25kKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZXRhLWRyb3Bkb3duPlxuIl19
@@ -29,6 +29,22 @@ export class DaySelectComponent {
29
29
  this.locale = locale;
30
30
  });
31
31
  }
32
+ set minDate(d) {
33
+ this._minDate = d;
34
+ if (this._currentValue) {
35
+ this.createDays();
36
+ }
37
+ this._cdr.markForCheck();
38
+ }
39
+ ;
40
+ set maxDate(d) {
41
+ this._maxDate = d;
42
+ if (this._currentValue) {
43
+ this.createDays();
44
+ }
45
+ this._cdr.markForCheck();
46
+ }
47
+ ;
32
48
  set currentValue(val) {
33
49
  if (!this._currentValue ||
34
50
  DateUtil.truncateToDay(val)?.getTime() !==
@@ -121,7 +137,7 @@ export class DaySelectComponent {
121
137
  return result;
122
138
  }
123
139
  createDays() {
124
- this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this.minDate, this.maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
140
+ this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this._minDate, this._maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
125
141
  }
126
142
  checkDays() {
127
143
  if (this.days) {
@@ -165,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
165
181
  }], yearSelected: [{
166
182
  type: Output
167
183
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUlqRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0IsWUFDUyxhQUFnQyxFQUMvQixJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3Q3hCLG1CQUFjLEdBQUcsQ0FBQyxDQUFD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Q0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5TW9kZWx9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7dGFrZVdoaWxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtmcm9tRXZlbnR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERBWV9TRUxFQ1RfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF5U2VsZWN0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRheS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcblxuICB2YWx1ZTogRGF0ZTtcblxuICBfY3VycmVudFZhbHVlOiBEYXRlO1xuXG4gIHNldCBjdXJyZW50VmFsdWUodmFsOiBEYXRlKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2N1cnJlbnRWYWx1ZSB8fFxuICAgICAgRGF0ZVV0aWwudHJ1bmNhdGVUb0RheSh2YWwpPy5nZXRUaW1lKCkgIT09XG4gICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHRoaXMuX2N1cnJlbnRWYWx1ZSk/LmdldFRpbWUoKVxuICAgICkge1xuICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgdGhpcy5jcmVhdGVEYXlzKCk7XG4gICAgICB0aGlzLmNoZWNrRGF5cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgfVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIGRheXM6IEFycmF5PERheU1vZGVsPjtcbiAgd2Vla0RheXM6IG51bWJlcltdID0gW107XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBUZXRhQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgbG9jYWxlU2VydmljZS5sb2NhbGVcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndlZWtEYXlzID0gdGhpcy5jcmVhdGVXZWVrRGF5cygpO1xuXG4gICAgY29uc3QgdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpO1xuICAgIGNvbnN0IHRvdWNoRW5kJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpO1xuXG4gICAgdG91Y2hFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRvdWNoU3RhcnQkKSxcbiAgICAgICAgdGFwKCh0b3VjaGVzOiBbVG91Y2hFdmVudCwgVG91Y2hFdmVudF0pID0+IHtcbiAgICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0b3VjaGVzLm1hcCgoXykgPT4gXy5jaGFuZ2VkVG91Y2hlcz8uaXRlbSgwKSk7XG4gICAgICAgICAgY29uc3QgZGVsdGFZID0gZW5kPy5jbGllbnRZIC0gc3RhcnQ/LmNsaWVudFk7XG4gICAgICAgICAgaWYgKGRlbHRhWSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxNb250aChkZWx0YVkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBEYXRlKSB7XG4gICAgdGhpcy52YWx1ZSA9IG1vZGVsO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbW9kZWwgPyBtb2RlbCA6IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7XG4gIH1cblxuICBvblRvdWNoZWQoKSB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFwcGx5VmFsdWUoZGF5OiBEYXlNb2RlbCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGRheS5kYXRlO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF5LmRhdGU7XG4gICAgdGhpcy5vbkNoYW5nZShkYXkuZGF0ZSk7XG4gIH1cblxuICBzZXREYXRlKGRheTogRGF5TW9kZWwsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgZGF5LmRhdGUgIT09IG51bGwgJiZcbiAgICAgIGRheS5kYXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRheS5kYXRlIGluc3RhbmNlb2YgRGF0ZVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXkuZGF0ZTtcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbE1vbnRoKGV2ZW50OiBXaGVlbEV2ZW50IHwgbnVtYmVyKSB7XG4gICAgY29uc3QgZGVsdGFZID0gZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50ID8gZXZlbnQuZGVsdGFZIDogZXZlbnQ7XG5cbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50KSB7XG4gICAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoZGVsdGFZLCB0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgdGhpcy5tb250aFNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50VmFsdWUuZ2V0TW9udGgoKSk7XG4gICAgdGhpcy55ZWFyU2VsZWN0ZWQuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZS5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVXZWVrRGF5cygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IGRheUluZGV4ID0gdGhpcy5maXJzdERheU9mV2VlaztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDc7IGkrKykge1xuICAgICAgcmVzdWx0LnB1c2goZGF5SW5kZXgpO1xuICAgICAgZGF5SW5kZXggPSBkYXlJbmRleCA9PT0gNiA/IDAgOiArK2RheUluZGV4O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEYXlzKCkge1xuICAgIHRoaXMuZGF5cyA9IERhdGVQaWNrZXJVdGlsLmdldFBpY2tlckRheXMoXG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSxcbiAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICB0aGlzLm1pbkRhdGUsXG4gICAgICB0aGlzLm1heERhdGUsXG4gICAgICB0aGlzLmRpc2FibGVkRGF0ZXMsXG4gICAgICB0aGlzLmRpc2FibGVkRGF5cyxcbiAgICAgIHRoaXMuZGlzYWJsZWRQZXJpb2RzXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEYXlzKCkge1xuICAgIGlmICh0aGlzLmRheXMpIHtcbiAgICAgIHRoaXMuZGF5cyA9IHRoaXMuZGF5cy5tYXAoKGRhdDogRGF5TW9kZWwpID0+ICh7XG4gICAgICAgIC4uLmRhdCxcbiAgICAgICAgc2VsZWN0ZWQ6XG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5jdXJyZW50VmFsdWUuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgICAgIGRhdC5kYXRlLmdldE1vbnRoKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldE1vbnRoKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXREYXRlKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldERhdGUoKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnRFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXdlZWsgZm9udC1jYXB0aW9uIGNvbG9yLXRleHQtODBcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItZGF5XCJcbiAgICAgICBbY2xhc3MuZm9udC1jYXB0aW9uLWJvbGRdPVwiZGF5ID09PSAwIHx8IGRheSA9PT0gNlwiXG4gICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrRGF5c1wiPlxuICAgIHt7bG9jYWxlLmRheXNTaG9ydFtkYXldfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXBpY2tlciBjb2xvci10ZXh0LTkwIGZvbnQtYm9keS0zXCJcbiAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudClcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNcIlxuICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci1kYXRlXCJcbiAgICAgICAoY2xpY2spPVwic2V0RGF0ZShkYXksICRldmVudCk7XCJcbiAgICAgICAoZGJsY2xpY2spPVwiYXBwbHlWYWx1ZShkYXksICRldmVudCk7XCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX2FjdGl2ZV09XCJkYXkuc2VsZWN0ZWRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfZGlzYWJsZWRdPVwiZGF5LmRpc2FibGVkIHx8ICFkYXkuaXNDdXJyZW50TW9udGhcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfd2Vla2VuZF09XCJkYXkud2Vla2VuZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV90b2RheV09XCJkYXkudG9kYXlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF5ICE9PSBudWxsICYmIGRheSAhPT0gdW5kZWZpbmVkXCI+XG4gICAgICB7e2RheS5kYXRlLmdldERhdGUoKX19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUlqRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQWlFN0IsWUFDUyxhQUFnQyxFQUMvQixJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsRXhCLG1CQUFjLEdBQUcsQ0FBQyxDQUFD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LEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0F6TVUsa0JBQWtCO21HQUFsQixrQkFBa0IsaVdBSGxCLENBQUMsaUNBQWlDLENBQUMsMEJDaENoRCxrM0JBc0JBOzJGRGFhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEIsQ0FBQyxpQ0FBaUMsQ0FBQyxtQkFDN0IsdUJBQXVCLENBQUMsTUFBTTtpS0FJdEMsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFTyxPQUFPO3NCQUFuQixLQUFLO2dCQVVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5TW9kZWx9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7dGFrZVdoaWxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERBWV9TRUxFQ1RfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF5U2VsZWN0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRheS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcblxuICBASW5wdXQoKSBzZXQgbWluRGF0ZShkOiBEYXRlKSB7XG4gICAgdGhpcy5fbWluRGF0ZSA9IGQ7XG5cbiAgICBpZih0aGlzLl9jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlRGF5cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBASW5wdXQoKSBzZXQgbWF4RGF0ZShkOiBEYXRlKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9IGQ7XG5cbiAgICBpZih0aGlzLl9jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlRGF5cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcblxuICB2YWx1ZTogRGF0ZTtcblxuICBfY3VycmVudFZhbHVlOiBEYXRlO1xuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlO1xuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlO1xuXG5cbiAgc2V0IGN1cnJlbnRWYWx1ZSh2YWw6IERhdGUpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fY3VycmVudFZhbHVlIHx8XG4gICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHZhbCk/LmdldFRpbWUoKSAhPT1cbiAgICAgIERhdGVVdGlsLnRydW5jYXRlVG9EYXkodGhpcy5fY3VycmVudFZhbHVlKT8uZ2V0VGltZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgICB0aGlzLmNyZWF0ZURheXMoKTtcbiAgICAgIHRoaXMuY2hlY2tEYXlzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IHZhbDtcbiAgICB9XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFZhbHVlO1xuICB9XG5cbiAgZGF5czogQXJyYXk8RGF5TW9kZWw+O1xuICB3ZWVrRGF5czogbnVtYmVyW10gPSBbXTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxvY2FsZVNlcnZpY2U6IFRldGFDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBsb2NhbGVTZXJ2aWNlLmxvY2FsZVxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGU6IFRldGFMb2NhbGlzYXRpb24pID0+IHtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBsb2NhbGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLmNyZWF0ZVdlZWtEYXlzKCk7XG5cbiAgICBjb25zdCB0b3VjaFN0YXJ0JCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jyk7XG4gICAgY29uc3QgdG91Y2hFbmQkID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJyk7XG5cbiAgICB0b3VjaEVuZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odG91Y2hTdGFydCQpLFxuICAgICAgICB0YXAoKHRvdWNoZXM6IFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSkgPT4ge1xuICAgICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRvdWNoZXMubWFwKChfKSA9PiBfLmNoYW5nZWRUb3VjaGVzPy5pdGVtKDApKTtcbiAgICAgICAgICBjb25zdCBkZWx0YVkgPSBlbmQ/LmNsaWVudFkgLSBzdGFydD8uY2xpZW50WTtcbiAgICAgICAgICBpZiAoZGVsdGFZICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbE1vbnRoKGRlbHRhWSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUobW9kZWw6IERhdGUpIHtcbiAgICB0aGlzLnZhbHVlID0gbW9kZWw7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBtb2RlbCA/IG1vZGVsIDogbmV3IERhdGUoKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZShfOiBhbnkpIHtcbiAgfVxuXG4gIG9uVG91Y2hlZCgpIHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXBwbHlWYWx1ZShkYXk6IERheU1vZGVsLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGV2ZW50KTtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkIHx8IGRheS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gZGF5LmRhdGU7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXkuZGF0ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKGRheS5kYXRlKTtcbiAgfVxuXG4gIHNldERhdGUoZGF5OiBEYXlNb2RlbCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkIHx8IGRheS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBkYXkuZGF0ZSAhPT0gbnVsbCAmJlxuICAgICAgZGF5LmRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZGF5LmRhdGUgaW5zdGFuY2VvZiBEYXRlXG4gICAgKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRheS5kYXRlO1xuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXkuZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsTW9udGgoZXZlbnQ6IFdoZWVsRXZlbnQgfCBudW1iZXIpIHtcbiAgICBjb25zdCBkZWx0YVkgPSBldmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQgPyBldmVudC5kZWx0YVkgOiBldmVudDtcblxuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQpIHtcbiAgICAgIHRoaXMucHJldmVudEV2ZW50KGV2ZW50KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YVksIHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICB0aGlzLm1vbnRoU2VsZWN0ZWQuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZS5nZXRNb250aCgpKTtcbiAgICB0aGlzLnllYXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlLmdldEZ1bGxZZWFyKCkpO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdlZWtEYXlzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgZGF5SW5kZXggPSB0aGlzLmZpcnN0RGF5T2ZXZWVrO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICByZXN1bHQucHVzaChkYXlJbmRleCk7XG4gICAgICBkYXlJbmRleCA9IGRheUluZGV4ID09PSA2ID8gMCA6ICsrZGF5SW5kZXg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURheXMoKSB7XG4gICAgdGhpcy5kYXlzID0gRGF0ZVBpY2tlclV0aWwuZ2V0UGlja2VyRGF5cyhcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlLFxuICAgICAgdGhpcy5maXJzdERheU9mV2VlayxcbiAgICAgIHRoaXMuX21pbkRhdGUsXG4gICAgICB0aGlzLl9tYXhEYXRlLFxuICAgICAgdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgdGhpcy5kaXNhYmxlZERheXMsXG4gICAgICB0aGlzLmRpc2FibGVkUGVyaW9kc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRGF5cygpIHtcbiAgICBpZiAodGhpcy5kYXlzKSB7XG4gICAgICB0aGlzLmRheXMgPSB0aGlzLmRheXMubWFwKChkYXQ6IERheU1vZGVsKSA9PiAoe1xuICAgICAgICAuLi5kYXQsXG4gICAgICAgIHNlbGVjdGVkOlxuICAgICAgICAgIGRhdC5kYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXRNb250aCgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXRNb250aCgpICYmXG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXREYXRlKCksXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50RXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci13ZWVrIGZvbnQtY2FwdGlvbiBjb2xvci10ZXh0LTgwXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWRheVwiXG4gICAgICAgW2NsYXNzLmZvbnQtY2FwdGlvbi1ib2xkXT1cImRheSA9PT0gMCB8fCBkYXkgPT09IDZcIlxuICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIj5cbiAgICB7e2xvY2FsZS5kYXlzU2hvcnRbZGF5XX19XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1waWNrZXIgY29sb3ItdGV4dC05MCBmb250LWJvZHktM1wiXG4gICAgICh3aGVlbCk9XCJzY3JvbGxNb250aCgkZXZlbnQpXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzXCJcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItZGF0ZVwiXG4gICAgICAgKGNsaWNrKT1cInNldERhdGUoZGF5LCAkZXZlbnQpO1wiXG4gICAgICAgKGRibGNsaWNrKT1cImFwcGx5VmFsdWUoZGF5LCAkZXZlbnQpO1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV9hY3RpdmVdPVwiZGF5LnNlbGVjdGVkXCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX2Rpc2FibGVkXT1cImRheS5kaXNhYmxlZCB8fCAhZGF5LmlzQ3VycmVudE1vbnRoXCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX3dlZWtlbmRdPVwiZGF5LndlZWtlbmRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfdG9kYXldPVwiZGF5LnRvZGF5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRheSAhPT0gbnVsbCAmJiBkYXkgIT09IHVuZGVmaW5lZFwiPlxuICAgICAge3tkYXkuZGF0ZS5nZXREYXRlKCl9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
2
2
  import { CellComponentBase } from '../../base/cell-component-base';
3
+ import { Align } from '../../../../common/enum/align.enum';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../service/table.service";
5
6
  import * as i2 from "@angular/common";
@@ -10,6 +11,7 @@ export class StringCellComponent extends CellComponentBase {
10
11
  super(svc, cdr);
11
12
  this.svc = svc;
12
13
  this.cdr = cdr;
14
+ this.align = Align;
13
15
  }
14
16
  setValue() {
15
17
  this.valueChanged();
@@ -37,10 +39,10 @@ export class StringCellComponent extends CellComponentBase {
37
39
  }
38
40
  }
39
41
  StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
40
- StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, decorators: [{
42
44
  type: Component,
43
- args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
45
+ args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
44
46
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
45
47
  type: Input
46
48
  }], row: [{
@@ -49,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
49
51
  type: ViewChild,
50
52
  args: ['input', { static: false }]
51
53
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L3N0cmluZy1jZWxsL3N0cmluZy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFXakUsTUFBTSxPQUFPLG1CQUNYLFNBQVEsaUJBQW9CO0lBTTVCLFlBQTRCLEdBQW9CLEVBQWtCLEdBQXNCO1FBQ3RGLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEVSxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUFrQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUV4RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQTJCLEVBQUUsSUFBb0I7UUFDekQsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbkMsNEJBQTRCO1lBQzVCLHFDQUFxQztZQUNyQyxzQ0FBc0M7WUFDdEMsNEJBQTRCO1lBQzVCLHFCQUFxQjtZQUNyQix1Q0FBdUM7WUFDdkMsd0NBQXdDO1lBQ3hDLFNBQVM7U0FDVjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSEFyQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIseU5DcEJoQyxrZkFnQkE7MkZESWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO21JQUs3QixNQUFNO3NCQUF2QixLQUFLO2dCQUNZLEdBQUc7c0JBQXBCLEtBQUs7Z0JBQytCLEtBQUs7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDZWxsQ29tcG9uZW50QmFzZX0gZnJvbSAnLi4vLi4vYmFzZS9jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7SUNlbGxDb29yZGluYXRlc30gZnJvbSAnLi4vLi4vY29udHJhY3QvaS1jZWxsLWNvb3JkaW5hdGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zdHJpbmctY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmctY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0cmluZy1jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdDZWxsQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgQ2VsbENvbXBvbmVudEJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFQ7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogZmFsc2V9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgc3ZjOiBUYWJsZVNlcnZpY2U8VD4sIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoc3ZjLCBjZHIpO1xuICB9XG5cbiAgc2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzLCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQge1xuICAgIGlmIChpbml0aWF0b3I/LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4ubmFtZSkge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5zZWxlY3QoKTtcbiAgICAgIC8vIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIC8vIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIC8vIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgLy8gICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LnNlbGVjdCgpO1xuICAgICAgLy8gfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgc3RvcEVkaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJlZGl0ID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gICAgICBjbGFzcz1cImNlbGwtdGV4dFwiXG4gICAgICBbdGV0YUhpbnRdPVwicm93W2NvbHVtbi5uYW1lXVwiXG4gICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgW292ZXJmbG93bk9ubHldPVwidHJ1ZVwiXG4gICAgICBbY2xhc3MuY2VsbC10ZXh0X2Rpc2FibGVkXT1cIiFlZGl0YWJsZVwiPlxuICB7e3Jvd1tjb2x1bW4ubmFtZV19fVxuPC9zcGFuPlxuPGlucHV0ICNpbnB1dFxuICAgICAgICpuZ0lmPVwiZWRpdFwiXG4gICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgIGNsYXNzPVwiaW5wdXQgcm93X2F1dG8gYm9yZGVyLXJhZGl1cy0wXCJcbiAgICAgICAoYmx1cik9XCJzZXRWYWx1ZSgpXCJcbiAgICAgICBbbmdNb2RlbF09XCJyb3dbY29sdW1uLm5hbWVdXCJcbiAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyb3dbY29sdW1uLm5hbWVdPSRldmVudFwiLz5cblxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L3N0cmluZy1jZWxsL3N0cmluZy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBSWpFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBUXpELE1BQU0sT0FBTyxtQkFDWCxTQUFRLGlCQUFvQjtJQU81QixZQUE0QixHQUFvQixFQUFrQixHQUFzQjtRQUN0RixLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFBa0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFMeEYsVUFBSyxHQUFHLEtBQUssQ0FBQztJQU9kLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBMkIsRUFBRSxJQUFvQjtRQUN6RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNuQyw0QkFBNEI7WUFDNUIscUNBQXFDO1lBQ3JDLHNDQUFzQztZQUN0Qyw0QkFBNEI7WUFDNUIscUJBQXFCO1lBQ3JCLHVDQUF1QztZQUN2Qyx3Q0FBd0M7WUFDeEMsU0FBUztTQUNWO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dIQXRDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5TkNyQmhDLGdoQkFpQkE7MkZESWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO21JQU03QixNQUFNO3NCQUF2QixLQUFLO2dCQUNZLEdBQUc7c0JBQXBCLEtBQUs7Z0JBQytCLEtBQUs7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDZWxsQ29tcG9uZW50QmFzZX0gZnJvbSAnLi4vLi4vYmFzZS9jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7SUNlbGxDb29yZGluYXRlc30gZnJvbSAnLi4vLi4vY29udHJhY3QvaS1jZWxsLWNvb3JkaW5hdGVzJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXN0cmluZy1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NlbGxDb21wb25lbnQ8VD5cbiAgZXh0ZW5kcyBDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGFsaWduID0gQWxpZ247XG4gIEBJbnB1dCgpIG92ZXJyaWRlIGNvbHVtbjogVGFibGVDb2x1bW47XG4gIEBJbnB1dCgpIG92ZXJyaWRlIHJvdzogVDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7c3RhdGljOiBmYWxzZX0pIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVycmlkZSBzdmM6IFRhYmxlU2VydmljZTxUPiwgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihzdmMsIGNkcik7XG4gIH1cblxuICBzZXRWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHN0YXJ0RWRpdChpbml0aWF0b3I6IElDZWxsQ29vcmRpbmF0ZXMsIHR5cGU6ICdjZWxsJyB8ICdyb3cnKTogdm9pZCB7XG4gICAgaWYgKGluaXRpYXRvcj8uY29sdW1uID09PSB0aGlzLmNvbHVtbi5uYW1lKSB7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LnNlbGVjdCgpO1xuICAgICAgLy8gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgLy8gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgLy8gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5zZWxlY3QoKTtcbiAgICAgIC8vIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAvLyAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XG4gICAgICAvLyB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBzdG9wRWRpdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cImVkaXQgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICAgIGNsYXNzPVwiY2VsbC10ZXh0XCJcbiAgICAgIFt0ZXRhSGludF09XCJyb3dbY29sdW1uLm5hbWVdXCJcbiAgICAgIFthbGlnbl09XCJhbGlnbi5hdXRvXCJcbiAgICAgIFthcHBlbmRUb0JvZHldPVwidHJ1ZVwiXG4gICAgICBbb3ZlcmZsb3duT25seV09XCJ0cnVlXCJcbiAgICAgIFtjbGFzcy5jZWxsLXRleHRfZGlzYWJsZWRdPVwiIWVkaXRhYmxlXCI+XG4gIHt7cm93W2NvbHVtbi5uYW1lXX19XG48L3NwYW4+XG48aW5wdXQgI2lucHV0XG4gICAgICAgKm5nSWY9XCJlZGl0XCJcbiAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgY2xhc3M9XCJpbnB1dCByb3dfYXV0byBib3JkZXItcmFkaXVzLTBcIlxuICAgICAgIChibHVyKT1cInNldFZhbHVlKClcIlxuICAgICAgIFtuZ01vZGVsXT1cInJvd1tjb2x1bW4ubmFtZV1cIlxuICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJvd1tjb2x1bW4ubmFtZV09JGV2ZW50XCIvPlxuXG4iXX0=
@@ -1,14 +1,23 @@
1
1
  import { Directive, HostBinding, Input } from '@angular/core';
2
2
  import { DomUtil } from '../../common/util/dom-util';
3
3
  import { PositionUtil } from '../../common/util/position-util';
4
+ import { takeWhile } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
6
  export class AutoPositionDirective {
6
- constructor(_elementRef) {
7
+ constructor(_elementRef, _zone) {
7
8
  this._elementRef = _elementRef;
9
+ this._zone = _zone;
8
10
  this.fixed = 'fixed';
11
+ this._alive = true;
9
12
  }
10
13
  ngAfterViewInit() {
11
14
  this.setPosition();
15
+ this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
16
+ this.setPosition();
17
+ });
18
+ }
19
+ ngOnDestroy() {
20
+ this._alive = false;
12
21
  }
13
22
  setPosition() {
14
23
  const target = this._elementRef.nativeElement;
@@ -40,14 +49,14 @@ export class AutoPositionDirective {
40
49
  PositionUtil.setElementPosition(target, position);
41
50
  }
42
51
  }
43
- AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
52
+ AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
44
53
  AutoPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AutoPositionDirective, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 });
45
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, decorators: [{
46
55
  type: Directive,
47
56
  args: [{
48
57
  selector: '[tetaAutoPosition]'
49
58
  }]
50
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { align: [{
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { align: [{
51
60
  type: Input
52
61
  }], verticalAlign: [{
53
62
  type: Input
@@ -55,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
55
64
  type: HostBinding,
56
65
  args: ['style.position']
57
66
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUl2RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDOztBQUs3RCxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBRlosVUFBSyxHQUFHLE9BQU8sQ0FBQztJQUcvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9GLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXRELE1BQU0sSUFBSSxHQUFVO1lBQ2xCLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO1lBQ2hDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHO1lBQzFCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQzVCLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1NBQy9CLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBVTtZQUN4QixNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDN0IsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHO1lBQ3ZCLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtZQUN6QixLQUFLLEVBQUUsY0FBYyxDQUFDLEtBQUs7U0FDNUIsQ0FBQztRQUVGLE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksY0FBYyxHQUFHO1lBQ25CLElBQUksRUFBRSxDQUFDO1lBQ1AsS0FBSyxFQUFFLENBQUM7WUFDUixHQUFHLEVBQUUsQ0FBQztZQUNOLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUNGLElBQUksdUJBQXVCLEVBQUU7WUFDM0IsY0FBYyxHQUFHLHVCQUF1QixDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDbEU7UUFFRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUN2QyxJQUFJLEVBQ0osVUFBVSxFQUNWLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsQ0FBQyxFQUNELENBQUMsRUFDRCxjQUFjLENBQ2YsQ0FBQztRQUVGLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7a0hBdERVLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7aUdBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YUF1dG9Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ247XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ247XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpIGZpeGVkID0gJ2ZpeGVkJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFJMUcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFBb0IsV0FBdUIsRUFBVSxLQUFhO1FBQTlDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUpuQyxVQUFLLEdBQUcsT0FBTyxDQUFDO1FBRXZDLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFHdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUV0RCxNQUFNLElBQUksR0FBVTtZQUNsQixNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtZQUNoQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsR0FBRztZQUMxQixJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtZQUM1QixLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSztTQUMvQixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQVU7WUFDeEIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzdCLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRztZQUN2QixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDekIsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLO1NBQzVCLENBQUM7UUFFRixNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxJQUFJLGNBQWMsR0FBRztZQUNuQixJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxFQUFFLENBQUM7WUFDTixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixJQUFJLHVCQUF1QixFQUFFO1lBQzNCLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FDdkMsSUFBSSxFQUNKLFVBQVUsRUFDVixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxhQUFhLEVBQ2xCLENBQUMsRUFDRCxDQUFDLEVBQ0QsY0FBYyxDQUNmLENBQUM7UUFFRixZQUFZLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O2tIQS9EVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO3NIQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUV5QixLQUFLO3NCQUFuQyxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7SVJlY3R9IGZyb20gJy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXJlY3QnO1xuaW1wb3J0IHtEb21VdGlsfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kb20tdXRpbCc7XG5pbXBvcnQge1Bvc2l0aW9uVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvcG9zaXRpb24tdXRpbCc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YUF1dG9Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbjtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJykgZml4ZWQgPSAnZml4ZWQnO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
@@ -1481,6 +1481,22 @@ class DaySelectComponent {
1481
1481
  this.locale = locale;
1482
1482
  });
1483
1483
  }
1484
+ set minDate(d) {
1485
+ this._minDate = d;
1486
+ if (this._currentValue) {
1487
+ this.createDays();
1488
+ }
1489
+ this._cdr.markForCheck();
1490
+ }
1491
+ ;
1492
+ set maxDate(d) {
1493
+ this._maxDate = d;
1494
+ if (this._currentValue) {
1495
+ this.createDays();
1496
+ }
1497
+ this._cdr.markForCheck();
1498
+ }
1499
+ ;
1484
1500
  set currentValue(val) {
1485
1501
  var _a, _b;
1486
1502
  if (!this._currentValue ||
@@ -1574,7 +1590,7 @@ class DaySelectComponent {
1574
1590
  return result;
1575
1591
  }
1576
1592
  createDays() {
1577
- this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this.minDate, this.maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
1593
+ this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this._minDate, this._maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
1578
1594
  }
1579
1595
  checkDays() {
1580
1596
  if (this.days) {
@@ -2161,7 +2177,7 @@ class DatePickerComponent {
2161
2177
  if (this.isScrollIgnored()) {
2162
2178
  return false;
2163
2179
  }
2164
- this.currentValue = DatePickerUtil.scrollMonth(e.deltaY, this.internalValue);
2180
+ this.currentValue = DatePickerUtil.scrollYear(e.deltaY, this.internalValue);
2165
2181
  };
2166
2182
  this.openPicker = (show) => {
2167
2183
  if (this.disabled) {
@@ -9560,6 +9576,7 @@ class StringCellComponent extends CellComponentBase {
9560
9576
  super(svc, cdr);
9561
9577
  this.svc = svc;
9562
9578
  this.cdr = cdr;
9579
+ this.align = Align;
9563
9580
  }
9564
9581
  setValue() {
9565
9582
  this.valueChanged();
@@ -9588,10 +9605,10 @@ class StringCellComponent extends CellComponentBase {
9588
9605
  }
9589
9606
  }
9590
9607
  StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9591
- StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9608
+ StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9592
9609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, decorators: [{
9593
9610
  type: Component,
9594
- args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
9611
+ args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
9595
9612
  }], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
9596
9613
  type: Input
9597
9614
  }], row: [{
@@ -11169,12 +11186,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
11169
11186
  /* accordion */
11170
11187
 
11171
11188
  class AutoPositionDirective {
11172
- constructor(_elementRef) {
11189
+ constructor(_elementRef, _zone) {
11173
11190
  this._elementRef = _elementRef;
11191
+ this._zone = _zone;
11174
11192
  this.fixed = 'fixed';
11193
+ this._alive = true;
11175
11194
  }
11176
11195
  ngAfterViewInit() {
11177
11196
  this.setPosition();
11197
+ this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
11198
+ this.setPosition();
11199
+ });
11200
+ }
11201
+ ngOnDestroy() {
11202
+ this._alive = false;
11178
11203
  }
11179
11204
  setPosition() {
11180
11205
  const target = this._elementRef.nativeElement;
@@ -11206,14 +11231,14 @@ class AutoPositionDirective {
11206
11231
  PositionUtil.setElementPosition(target, position);
11207
11232
  }
11208
11233
  }
11209
- AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
11234
+ AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
11210
11235
  AutoPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AutoPositionDirective, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 });
11211
11236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, decorators: [{
11212
11237
  type: Directive,
11213
11238
  args: [{
11214
11239
  selector: '[tetaAutoPosition]'
11215
11240
  }]
11216
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { align: [{
11241
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { align: [{
11217
11242
  type: Input
11218
11243
  }], verticalAlign: [{
11219
11244
  type: Input