@dereekb/dbx-web 9.22.2 → 9.22.4

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/calendar",
3
- "version": "9.22.2",
3
+ "version": "9.22.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
@@ -8,7 +8,7 @@
8
8
  "rxjs": "^7.5.0",
9
9
  "@angular/material": "^14.2.0",
10
10
  "angular-calendar": "^0.30.1",
11
- "@dereekb/dbx-web": "9.22.2"
11
+ "@dereekb/dbx-web": "9.22.4"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
@@ -1,32 +1,70 @@
1
- import { Component, ElementRef, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core';
2
2
  import { AbstractFilterPopoverButtonDirective } from './filter.popover.button.directive';
3
+ import { dbxButtonDisplayContentType } from '@dereekb/dbx-core';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/icon";
5
- import * as i2 from "@angular/material/button";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/icon";
7
+ import * as i3 from "@angular/material/button";
8
+ const DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT = {
9
+ icon: 'filter_list'
10
+ };
6
11
  export class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirective {
12
+ constructor() {
13
+ super(...arguments);
14
+ this._buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
15
+ this._buttonDisplayType = 'icon_button';
16
+ }
17
+ get buttonDisplay() {
18
+ return this._buttonDisplay;
19
+ }
20
+ set buttonDisplay(buttonDisplay) {
21
+ if (!buttonDisplay) {
22
+ buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
23
+ }
24
+ this._buttonDisplay = buttonDisplay;
25
+ this._buttonDisplayType = dbxButtonDisplayContentType(buttonDisplay);
26
+ }
27
+ get buttonDisplayType() {
28
+ return this._buttonDisplayType;
29
+ }
7
30
  showFilterPopover() {
8
31
  const origin = this.buttonElement.nativeElement;
9
32
  this.showFilterPopoverAtOrigin(origin);
10
33
  }
11
34
  }
12
35
  DbxFilterPopoverButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- DbxFilterPopoverButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterPopoverButtonComponent, selector: "dbx-filter-popover-button", viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
14
- <button #button mat-icon-button (click)="showFilterPopover()" matTooltip="Filter" matTooltipPosition="above">
15
- <mat-icon>filter_list</mat-icon>
16
- </button>
17
- `, isInline: true, dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
36
+ DbxFilterPopoverButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterPopoverButtonComponent, selector: "dbx-filter-popover-button", inputs: { buttonDisplay: "buttonDisplay" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
37
+ <ng-container [ngSwitch]="buttonDisplayType">
38
+ <button *ngSwitchCase="'text_button'" #button mat-button (click)="showFilterPopover()" class="dbx-preset-filter-menu-button" aria-label="open filter">
39
+ <mat-icon class="dbx-icon-spacer" *ngIf="buttonDisplay.icon">{{ buttonDisplay.icon }}</mat-icon>
40
+ <span>{{ buttonDisplay.text }}</span>
41
+ </button>
42
+ <button *ngSwitchCase="'icon_button'" #button mat-icon-button (click)="showFilterPopover()" aria-label="open filter" matTooltip="Filter" matTooltipPosition="above">
43
+ <mat-icon>{{ buttonDisplay.icon }}</mat-icon>
44
+ </button>
45
+ </ng-container>
46
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
19
48
  type: Component,
20
49
  args: [{
21
50
  selector: 'dbx-filter-popover-button',
22
51
  template: `
23
- <button #button mat-icon-button (click)="showFilterPopover()" matTooltip="Filter" matTooltipPosition="above">
24
- <mat-icon>filter_list</mat-icon>
25
- </button>
26
- `
52
+ <ng-container [ngSwitch]="buttonDisplayType">
53
+ <button *ngSwitchCase="'text_button'" #button mat-button (click)="showFilterPopover()" class="dbx-preset-filter-menu-button" aria-label="open filter">
54
+ <mat-icon class="dbx-icon-spacer" *ngIf="buttonDisplay.icon">{{ buttonDisplay.icon }}</mat-icon>
55
+ <span>{{ buttonDisplay.text }}</span>
56
+ </button>
57
+ <button *ngSwitchCase="'icon_button'" #button mat-icon-button (click)="showFilterPopover()" aria-label="open filter" matTooltip="Filter" matTooltipPosition="above">
58
+ <mat-icon>{{ buttonDisplay.icon }}</mat-icon>
59
+ </button>
60
+ </ng-container>
61
+ `,
62
+ changeDetection: ChangeDetectionStrategy.OnPush
27
63
  }]
28
- }], propDecorators: { buttonElement: [{
64
+ }], propDecorators: { buttonDisplay: [{
65
+ type: Input
66
+ }], buttonElement: [{
29
67
  type: ViewChild,
30
68
  args: ['button', { read: ElementRef, static: false }]
31
69
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFVekYsTUFBTSxPQUFPLCtCQUEyRCxTQUFRLG9DQUF1QztJQUlySCxpQkFBaUI7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7NkhBUFUsK0JBQStCO2lIQUEvQiwrQkFBK0IscUpBQ2IsVUFBVSxvREFQN0I7Ozs7R0FJVDs0RkFFVSwrQkFBK0I7a0JBUjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7OEJBR0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpbHRlclBvcG92ZXJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2ZpbHRlci5wb3BvdmVyLmJ1dHRvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlsdGVyLXBvcG92ZXItYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uICNidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzaG93RmlsdGVyUG9wb3ZlcigpXCIgbWF0VG9vbHRpcD1cIkZpbHRlclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlclBvcG92ZXJCdXR0b25Db21wb25lbnQ8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4gZXh0ZW5kcyBBYnN0cmFjdEZpbHRlclBvcG92ZXJCdXR0b25EaXJlY3RpdmU8Rj4ge1xuICBAVmlld0NoaWxkKCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgYnV0dG9uRWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgc2hvd0ZpbHRlclBvcG92ZXIoKTogdm9pZCB7XG4gICAgY29uc3Qgb3JpZ2luID0gdGhpcy5idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5zaG93RmlsdGVyUG9wb3ZlckF0T3JpZ2luKG9yaWdpbik7XG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pGLE9BQU8sRUFBMkIsMkJBQTJCLEVBQXlELE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR2hKLE1BQU0sNkNBQTZDLEdBQTRCO0lBQzdFLElBQUksRUFBRSxhQUFhO0NBQ3BCLENBQUM7QUFpQkYsTUFBTSxPQUFPLCtCQUEyRCxTQUFRLG9DQUF1QztJQWZ2SDs7UUFnQlUsbUJBQWMsR0FBNEIsNkNBQTZDLENBQUM7UUFDeEYsdUJBQWtCLEdBQWdDLGFBQWEsQ0FBQztLQTJCekU7SUF6QkMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUE2QztRQUM3RCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLGFBQWEsR0FBRyw2Q0FBNkMsQ0FBQztTQUMvRDtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUtELGlCQUFpQjtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs2SEE1QlUsK0JBQStCO2lIQUEvQiwrQkFBK0IsaU1Bc0JiLFVBQVUsb0RBbkM3Qjs7Ozs7Ozs7OztHQVVUOzRGQUdVLCtCQUErQjtrQkFmM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBTUssYUFBYTtzQkFEaEIsS0FBSztnQkFtQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9maWx0ZXIucG9wb3Zlci5idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEJ1dHRvbkRpc3BsYXlDb250ZW50LCBkYnhCdXR0b25EaXNwbGF5Q29udGVudFR5cGUsIERieEJ1dHRvbkRpc3BsYXlDb250ZW50VHlwZSwgRGJ4QnV0dG9uRGlzcGxheURlbGVnYXRlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCA9IHtcbiAgaWNvbjogJ2ZpbHRlcl9saXN0J1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpbHRlci1wb3BvdmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYnV0dG9uRGlzcGxheVR5cGVcIj5cbiAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIid0ZXh0X2J1dHRvbidcIiAjYnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNob3dGaWx0ZXJQb3BvdmVyKClcIiBjbGFzcz1cImRieC1wcmVzZXQtZmlsdGVyLW1lbnUtYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9wZW4gZmlsdGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRieC1pY29uLXNwYWNlclwiICpuZ0lmPVwiYnV0dG9uRGlzcGxheS5pY29uXCI+e3sgYnV0dG9uRGlzcGxheS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgYnV0dG9uRGlzcGxheS50ZXh0IH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInaWNvbl9idXR0b24nXCIgI2J1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNob3dGaWx0ZXJQb3BvdmVyKClcIiBhcmlhLWxhYmVsPVwib3BlbiBmaWx0ZXJcIiBtYXRUb29sdGlwPVwiRmlsdGVyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cbiAgICAgICAgPG1hdC1pY29uPnt7IGJ1dHRvbkRpc3BsYXkuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsdGVyUG9wb3ZlckJ1dHRvbkNvbXBvbmVudDxGIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0RmlsdGVyUG9wb3ZlckJ1dHRvbkRpcmVjdGl2ZTxGPiB7XG4gIHByaXZhdGUgX2J1dHRvbkRpc3BsYXk6IERieEJ1dHRvbkRpc3BsYXlDb250ZW50ID0gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UO1xuICBwcml2YXRlIF9idXR0b25EaXNwbGF5VHlwZTogRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnRUeXBlID0gJ2ljb25fYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBnZXQgYnV0dG9uRGlzcGxheSgpOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc3BsYXk7XG4gIH1cblxuICBzZXQgYnV0dG9uRGlzcGxheShidXR0b25EaXNwbGF5OiBNYXliZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4pIHtcbiAgICBpZiAoIWJ1dHRvbkRpc3BsYXkpIHtcbiAgICAgIGJ1dHRvbkRpc3BsYXkgPSBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0JVVFRPTl9ESVNQTEFZX0NPTlRFTlQ7XG4gICAgfVxuXG4gICAgdGhpcy5fYnV0dG9uRGlzcGxheSA9IGJ1dHRvbkRpc3BsYXk7XG4gICAgdGhpcy5fYnV0dG9uRGlzcGxheVR5cGUgPSBkYnhCdXR0b25EaXNwbGF5Q29udGVudFR5cGUoYnV0dG9uRGlzcGxheSk7XG4gIH1cblxuICBnZXQgYnV0dG9uRGlzcGxheVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc3BsYXlUeXBlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGJ1dHRvbkVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gIHNob3dGaWx0ZXJQb3BvdmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2hvd0ZpbHRlclBvcG92ZXJBdE9yaWdpbihvcmlnaW4pO1xuICB9XG59XG4iXX0=
@@ -34,7 +34,7 @@ export class AbstractDbxPresetFilterMenuComponent {
34
34
  }
35
35
  selectPreset(preset) {
36
36
  const presetValue = preset.presetValue;
37
- if (presetValue == null || objectHasNoKeys(presetValue)) {
37
+ if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {
38
38
  this.filterSourceDirective.setFilter((presetValue ?? {}));
39
39
  this.filterSourceDirective.resetFilter();
40
40
  }
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
60
60
  }], ctorParameters: function () { return [{ type: i1.FilterSourceDirective }]; }, propDecorators: { presets: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQThDLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNFOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQ0FBb0M7SUFzQ3hELFlBQXFCLHFCQUErQztRQUEvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTBCO1FBckM1RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQUUsQ0FBQyxDQUFDO1FBRTlELGNBQVMsR0FBeUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN4SCwwQkFBcUIsR0FBOEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzdFLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFTyxtQkFBYyxHQUFzQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxSCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssb0JBQW9CO2dCQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sb0JBQWUsR0FBZ0QsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckksR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sb0JBQW9CLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMzRyxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQVdxRSxDQUFDO0lBVHhFLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQW1DO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFJRCxZQUFZLENBQUMsTUFBZ0M7UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV2QyxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFNLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQU0sQ0FBQztZQUV6RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDbkMsTUFBTSxHQUFHO29CQUNQLEdBQUcsTUFBTTtvQkFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07aUJBQ3RCLENBQUM7YUFDSDtZQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7a0lBOURtQixvQ0FBb0M7c0hBQXBDLG9DQUFvQzs0RkFBcEMsb0NBQW9DO2tCQUR6RCxTQUFTOzRHQStCSixPQUFPO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFyZVJlcGxheSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlRmlsdGVyUHJlc2V0LCBDbGlja2FibGVBbmNob3JMaW5rLCBGaWx0ZXJTb3VyY2VEaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBnZXRWYWx1ZUZyb21HZXR0ZXIsIE1heWJlLCBvYmplY3RIYXNOb0tleXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEZpbHRlcldpdGhQcmVzZXQgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiBhbmQgbWVudSBmb3IgZmlsdGVyaW5nIHByZXNldHMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4UHJlc2V0RmlsdGVyTWVudUNvbXBvbmVudDxGIGV4dGVuZHMgRmlsdGVyV2l0aFByZXNldD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wcmVzZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXT4oW10pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxNYXliZTxGPj4gPSB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBzZWxlY3RlZFByZXNldFN0cmluZyQ6IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4gPSB0aGlzLnNlbGVjdGVkJC5waXBlKFxuICAgIG1hcCgoc2VsZWN0ZWRGaWx0ZXIpID0+IChzZWxlY3RlZEZpbHRlciA/IHNlbGVjdGVkRmlsdGVyLnByZXNldCA6IHVuZGVmaW5lZCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBwcmVzZXRBbmNob3JzJDogT2JzZXJ2YWJsZTxDbGlja2FibGVBbmNob3JMaW5rW10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fcHJlc2V0cywgdGhpcy5zZWxlY3RlZFByZXNldFN0cmluZyRdKS5waXBlKFxuICAgIG1hcCgoW3ByZXNldHMsIHNlbGVjdGVkUHJlc2V0U3RyaW5nXSkgPT4ge1xuICAgICAgcmV0dXJuIHByZXNldHMubWFwKCh4KSA9PiAoe1xuICAgICAgICAuLi54LFxuICAgICAgICBzZWxlY3RlZDogeC5wcmVzZXQgPT09IHNlbGVjdGVkUHJlc2V0U3RyaW5nLFxuICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RQcmVzZXQoeCk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0JDogT2JzZXJ2YWJsZTxNYXliZTxDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj4+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3ByZXNldHMsIHRoaXMuc2VsZWN0ZWRQcmVzZXRTdHJpbmckXSkucGlwZShcbiAgICBtYXAoKFtwcmVzZXRzLCBzZWxlY3RlZFByZXNldFN0cmluZ10pID0+IHtcbiAgICAgIHJldHVybiBzZWxlY3RlZFByZXNldFN0cmluZyAhPSBudWxsID8gcHJlc2V0cy5maW5kKCh4KSA9PiB4LnByZXNldCA9PT0gc2VsZWN0ZWRQcmVzZXRTdHJpbmcpIDogdW5kZWZpbmVkO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHByZXNldHMoKTogQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+W10ge1xuICAgIHJldHVybiB0aGlzLl9wcmVzZXRzLnZhbHVlO1xuICB9XG5cbiAgc2V0IHByZXNldHMocHJlc2V0czogQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+W10pIHtcbiAgICB0aGlzLl9wcmVzZXRzLm5leHQocHJlc2V0cyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaWx0ZXJTb3VyY2VEaXJlY3RpdmU6IEZpbHRlclNvdXJjZURpcmVjdGl2ZTxGPikge31cblxuICBzZWxlY3RQcmVzZXQocHJlc2V0OiBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj4pIHtcbiAgICBjb25zdCBwcmVzZXRWYWx1ZSA9IHByZXNldC5wcmVzZXRWYWx1ZTtcblxuICAgIGlmIChwcmVzZXRWYWx1ZSA9PSBudWxsIHx8IG9iamVjdEhhc05vS2V5cyhwcmVzZXRWYWx1ZSkpIHtcbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnNldEZpbHRlcigocHJlc2V0VmFsdWUgPz8ge30pIGFzIEYpO1xuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUucmVzZXRGaWx0ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGZpbHRlciA9IGdldFZhbHVlRnJvbUdldHRlcihwcmVzZXQucHJlc2V0VmFsdWUpIGFzIEY7XG5cbiAgICAgIGlmIChmaWx0ZXIucHJlc2V0ICE9PSBwcmVzZXQucHJlc2V0KSB7XG4gICAgICAgIGZpbHRlciA9IHtcbiAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgcHJlc2V0OiBwcmVzZXQucHJlc2V0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnNldEZpbHRlcihmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3ByZXNldHMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQThDLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNFOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQ0FBb0M7SUFzQ3hELFlBQXFCLHFCQUErQztRQUEvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTBCO1FBckM1RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQUUsQ0FBQyxDQUFDO1FBRTlELGNBQVMsR0FBeUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN4SCwwQkFBcUIsR0FBOEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzdFLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFTyxtQkFBYyxHQUFzQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxSCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssb0JBQW9CO2dCQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sb0JBQWUsR0FBZ0QsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckksR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sb0JBQW9CLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMzRyxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQVdxRSxDQUFDO0lBVHhFLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQW1DO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFJRCxZQUFZLENBQUMsTUFBZ0M7UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV2QyxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLFdBQVcsS0FBSyxVQUFVLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDOUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQU0sQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBTSxDQUFDO1lBRXpELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNuQyxNQUFNLEdBQUc7b0JBQ1AsR0FBRyxNQUFNO29CQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtpQkFDdEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSUE5RG1CLG9DQUFvQztzSEFBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVM7NEdBK0JKLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGlja2FibGVGaWx0ZXJQcmVzZXQsIENsaWNrYWJsZUFuY2hvckxpbmssIEZpbHRlclNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGdldFZhbHVlRnJvbUdldHRlciwgTWF5YmUsIG9iamVjdEhhc05vS2V5cyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmlsdGVyV2l0aFByZXNldCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgYnV0dG9uIGFuZCBtZW51IGZvciBmaWx0ZXJpbmcgcHJlc2V0cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhQcmVzZXRGaWx0ZXJNZW51Q29tcG9uZW50PEYgZXh0ZW5kcyBGaWx0ZXJXaXRoUHJlc2V0PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ByZXNldHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENsaWNrYWJsZUZpbHRlclByZXNldDxGPltdPihbXSk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWQkOiBPYnNlcnZhYmxlPE1heWJlPEY+PiA9IHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLmZpbHRlciQucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0U3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IHRoaXMuc2VsZWN0ZWQkLnBpcGUoXG4gICAgbWFwKChzZWxlY3RlZEZpbHRlcikgPT4gKHNlbGVjdGVkRmlsdGVyID8gc2VsZWN0ZWRGaWx0ZXIucHJlc2V0IDogdW5kZWZpbmVkKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5IHByZXNldEFuY2hvcnMkOiBPYnNlcnZhYmxlPENsaWNrYWJsZUFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wcmVzZXRzLCB0aGlzLnNlbGVjdGVkUHJlc2V0U3RyaW5nJF0pLnBpcGUoXG4gICAgbWFwKChbcHJlc2V0cywgc2VsZWN0ZWRQcmVzZXRTdHJpbmddKSA9PiB7XG4gICAgICByZXR1cm4gcHJlc2V0cy5tYXAoKHgpID0+ICh7XG4gICAgICAgIC4uLngsXG4gICAgICAgIHNlbGVjdGVkOiB4LnByZXNldCA9PT0gc2VsZWN0ZWRQcmVzZXRTdHJpbmcsXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFByZXNldCh4KTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQcmVzZXQkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZUZpbHRlclByZXNldDxGPj4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fcHJlc2V0cywgdGhpcy5zZWxlY3RlZFByZXNldFN0cmluZyRdKS5waXBlKFxuICAgIG1hcCgoW3ByZXNldHMsIHNlbGVjdGVkUHJlc2V0U3RyaW5nXSkgPT4ge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkUHJlc2V0U3RyaW5nICE9IG51bGwgPyBwcmVzZXRzLmZpbmQoKHgpID0+IHgucHJlc2V0ID09PSBzZWxlY3RlZFByZXNldFN0cmluZykgOiB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc2V0cygpOiBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXNldHMudmFsdWU7XG4gIH1cblxuICBzZXQgcHJlc2V0cyhwcmVzZXRzOiBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXSkge1xuICAgIHRoaXMuX3ByZXNldHMubmV4dChwcmVzZXRzKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZTogRmlsdGVyU291cmNlRGlyZWN0aXZlPEY+KSB7fVxuXG4gIHNlbGVjdFByZXNldChwcmVzZXQ6IENsaWNrYWJsZUZpbHRlclByZXNldDxGPikge1xuICAgIGNvbnN0IHByZXNldFZhbHVlID0gcHJlc2V0LnByZXNldFZhbHVlO1xuXG4gICAgaWYgKHByZXNldFZhbHVlID09IG51bGwgfHwgKHR5cGVvZiBwcmVzZXRWYWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiBvYmplY3RIYXNOb0tleXMocHJlc2V0VmFsdWUpKSkge1xuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKChwcmVzZXRWYWx1ZSA/PyB7fSkgYXMgRik7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5yZXNldEZpbHRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZmlsdGVyID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHByZXNldC5wcmVzZXRWYWx1ZSkgYXMgRjtcblxuICAgICAgaWYgKGZpbHRlci5wcmVzZXQgIT09IHByZXNldC5wcmVzZXQpIHtcbiAgICAgICAgZmlsdGVyID0ge1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBwcmVzZXQ6IHByZXNldC5wcmVzZXRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKGZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcHJlc2V0cy5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=