@dereekb/dbx-web 9.23.28 → 9.24.1

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.23.28",
3
+ "version": "9.24.1",
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.23.28"
11
+ "@dereekb/dbx-web": "9.24.1"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
@@ -7,8 +7,13 @@ import * as i1 from "@angular/material/button";
7
7
  export class DbxDialogContentFooterComponent {
8
8
  constructor() {
9
9
  this.closeText = 'Close';
10
+ this.buttonColor = undefined;
10
11
  this.close = new EventEmitter();
11
12
  }
13
+ set config(config) {
14
+ this.closeText = config?.closeText ?? 'Close';
15
+ this.buttonColor = config?.buttonColor ?? undefined;
16
+ }
12
17
  closeClicked() {
13
18
  this.close.emit(undefined);
14
19
  }
@@ -17,15 +22,15 @@ export class DbxDialogContentFooterComponent {
17
22
  }
18
23
  }
19
24
  DbxDialogContentFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxDialogContentFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- DbxDialogContentFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxDialogContentFooterComponent, selector: "dbx-dialog-content-footer", inputs: { closeText: "closeText" }, outputs: { close: "close" }, host: { classAttribute: "dbx-dialog-content-footer" }, ngImport: i0, template: `
21
- <button mat-raised-button (click)="closeClicked()">{{ closeText }}</button>
25
+ DbxDialogContentFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxDialogContentFooterComponent, selector: "dbx-dialog-content-footer", inputs: { closeText: "closeText", buttonColor: "buttonColor", config: "config" }, outputs: { close: "close" }, host: { classAttribute: "dbx-dialog-content-footer" }, ngImport: i0, template: `
26
+ <button mat-raised-button [color]="buttonColor" (click)="closeClicked()">{{ closeText }}</button>
22
27
  `, isInline: true, dependencies: [{ kind: "component", type: i1.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"] }] });
23
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxDialogContentFooterComponent, decorators: [{
24
29
  type: Component,
25
30
  args: [{
26
31
  selector: 'dbx-dialog-content-footer',
27
32
  template: `
28
- <button mat-raised-button (click)="closeClicked()">{{ closeText }}</button>
33
+ <button mat-raised-button [color]="buttonColor" (click)="closeClicked()">{{ closeText }}</button>
29
34
  `,
30
35
  host: {
31
36
  class: 'dbx-dialog-content-footer'
@@ -33,7 +38,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
33
38
  }]
34
39
  }], propDecorators: { closeText: [{
35
40
  type: Input
41
+ }], buttonColor: [{
42
+ type: Input
36
43
  }], close: [{
37
44
  type: Output
45
+ }], config: [{
46
+ type: Input
38
47
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbnRlbnQuZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9kaWFsb2cvZGlhbG9nLmNvbnRlbnQuZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFbEY7O0dBRUc7QUFVSCxNQUFNLE9BQU8sK0JBQStCO0lBVDVDO1FBV0UsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUdYLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBUzNDO0lBUEMsWUFBWTtRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs2SEFiVSwrQkFBK0I7aUhBQS9CLCtCQUErQix5TEFQaEM7O0dBRVQ7NEZBS1UsK0JBQStCO2tCQVQzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDJCQUEyQjtxQkFDbkM7aUJBQ0Y7OEJBR0MsU0FBUztzQkFEUixLQUFLO2dCQUlHLEtBQUs7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnQgdXNlZCB0byBzaG93IGEgY2xvc2UgYnV0dG9uIGF0IHRoZSBib3R0b20gb2YgYSBkaWFsb2cuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1kaWFsb2ctY29udGVudC1mb290ZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNsb3NlQ2xpY2tlZCgpXCI+e3sgY2xvc2VUZXh0IH19PC9idXR0b24+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1kaWFsb2ctY29udGVudC1mb290ZXInXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RGlhbG9nQ29udGVudEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGNsb3NlVGV4dCA9ICdDbG9zZSc7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNsb3NlQ2xpY2tlZCgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbnRlbnQuZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9kaWFsb2cvZGlhbG9nLmNvbnRlbnQuZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTbEY7O0dBRUc7QUFVSCxNQUFNLE9BQU8sK0JBQStCO0lBVDVDO1FBV0UsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUdwQixnQkFBVyxHQUFpQixTQUFTLENBQUM7UUFHN0IsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FlM0M7SUFiQyxJQUNJLE1BQU0sQ0FBQyxNQUEyQztRQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLElBQUksT0FBTyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxFQUFFLFdBQVcsSUFBSSxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7NkhBdEJVLCtCQUErQjtpSEFBL0IsK0JBQStCLHVPQVBoQzs7R0FFVDs0RkFLVSwrQkFBK0I7a0JBVDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOztHQUVUO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztpQkFDRjs4QkFHQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlHLEtBQUs7c0JBRGIsTUFBTTtnQkFJSCxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RGlhbG9nQ29udGVudEZvb3RlckNvbmZpZyB7XG4gIGJ1dHRvbkNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBjbG9zZVRleHQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IHVzZWQgdG8gc2hvdyBhIGNsb3NlIGJ1dHRvbiBhdCB0aGUgYm90dG9tIG9mIGEgZGlhbG9nLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZGlhbG9nLWNvbnRlbnQtZm9vdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJidXR0b25Db2xvclwiIChjbGljayk9XCJjbG9zZUNsaWNrZWQoKVwiPnt7IGNsb3NlVGV4dCB9fTwvYnV0dG9uPlxuICBgLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtZGlhbG9nLWNvbnRlbnQtZm9vdGVyJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieERpYWxvZ0NvbnRlbnRGb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBjbG9zZVRleHQgPSAnQ2xvc2UnO1xuXG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhEaWFsb2dDb250ZW50Rm9vdGVyQ29uZmlnPikge1xuICAgIHRoaXMuY2xvc2VUZXh0ID0gY29uZmlnPy5jbG9zZVRleHQgPz8gJ0Nsb3NlJztcbiAgICB0aGlzLmJ1dHRvbkNvbG9yID0gY29uZmlnPy5idXR0b25Db2xvciA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBjbG9zZUNsaWNrZWQoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component } from '@angular/core';
2
- import { BehaviorSubject, map, skip, first } from 'rxjs';
2
+ import { BehaviorSubject, map, skip, first, defaultIfEmpty } from 'rxjs';
3
3
  import { AbstractPopoverDirective } from '../popover/abstract.popover.directive';
4
4
  import { DbxPopoverComponent } from '../popover/popover.component';
5
5
  import { filterMaybe, SubscriptionObject } from '@dereekb/rxjs';
@@ -38,8 +38,9 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
38
38
  if (initialFilterObs && filterSource.initWithFilter) {
39
39
  filterSource.initWithFilter(initialFilterObs);
40
40
  }
41
- if (closeOnFilterChange) {
42
- this._closeOnChangeSub.subscription = filterSource.filter$.pipe(skip(1), filterMaybe(), first()).subscribe(() => {
41
+ if (closeOnFilterChange !== false) {
42
+ this._closeOnChangeSub.subscription = filterSource.filter$.pipe(skip(1), filterMaybe(), first(), defaultIfEmpty(undefined)).subscribe(() => {
43
+ console.log();
43
44
  this.close();
44
45
  });
45
46
  }
@@ -48,18 +49,22 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
48
49
  return config;
49
50
  }));
50
51
  }
51
- static openPopover(popupService, { origin, header, icon, initialFilterObs: inputSource, connector, customFilterComponentClass, presetFilterComponentClass }, popoverKey) {
52
+ static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, connector, initialFilterObs, closeOnFilterChange }, popoverKey) {
52
53
  return popupService.open({
53
54
  key: popoverKey ?? DEFAULT_FILTER_POPOVER_KEY,
54
55
  origin,
55
56
  componentClass: DbxFilterPopoverComponent,
57
+ width,
58
+ height,
59
+ isResizable,
56
60
  data: {
57
61
  header,
58
62
  icon,
59
- initialFilterObs: inputSource,
60
- connector,
61
63
  customFilterComponentClass,
62
- presetFilterComponentClass
64
+ presetFilterComponentClass,
65
+ connector,
66
+ initialFilterObs,
67
+ closeOnFilterChange
63
68
  }
64
69
  });
65
70
  }
@@ -103,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
103
108
  type: Component,
104
109
  args: [{ template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <ng-container *ngIf=\"showSwitchButtons\" [ngSwitch]=\"showPreset$ | async\">\n <button *ngSwitchCase=\"true\" mat-flat-button color=\"accent\" (click)=\"showCustom()\">Custom</button>\n <button *ngSwitchCase=\"false\" mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n </ng-container>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
105
110
  }], ctorParameters: function () { return [{ type: i1.DbxPopoverComponent }]; } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUEyRCxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQStDekgsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUFDO0FBS25ELE1BQU0sT0FBTyx5QkFBNEMsU0FBUSx3QkFBOEQ7SUEyRDdILFlBQVksT0FBa0U7UUFDNUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBM0RULHNCQUFpQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNNLHNCQUFpQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUUvRyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsSUFB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Q3BDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQXpHVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwyRUMzRHRDLDJuQkFhQTs0RkQ4Q2EseUJBQXlCO2tCQUhyQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUeXBlLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNraXAsIGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyL2Fic3RyYWN0LnBvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERieFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsdGVyU291cmNlLCBGaWx0ZXJTb3VyY2VDb25uZWN0b3IsIFByZXNldEZpbHRlclNvdXJjZSwgZmlsdGVyTWF5YmUsIFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlcktleSB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEYgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsIFAgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEN1c3RvbSBpY29uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIFwiZmlsdGVyX2xpc3RcIlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgdGV4dFxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcIkZpbHRlclwiXG4gICAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gZmlsdGVyIGNvbXBvbmVudCB0byBpbml0aWFsaXplLlxuICAgKi9cbiAgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3M/OiBUeXBlPEZpbHRlclNvdXJjZTxGPj47XG4gIC8qKlxuICAgKiBQcmVzZXQgZmlsdGVyIGNvbXBvbmVudCB0byBpbml0aWFsaXplLlxuICAgKi9cbiAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3M/OiBUeXBlPFByZXNldEZpbHRlclNvdXJjZTxGLCBQPj47XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdG9yIHRvIHVzZS5cbiAgICovXG4gIGNvbm5lY3RvcjogRmlsdGVyU291cmNlQ29ubmVjdG9yPEY+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBJbml0YWwgZmlsdGVyIHRvIHBhc3MgdG8gdGhlIGZpbHRlciBzb3VyY2UuXG4gICAqL1xuICBpbml0aWFsRmlsdGVyT2JzPzogT2JzZXJ2YWJsZTxGPjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgV2hldGhlciBvciBub3QgdG8gY2xvc2UgdGhlIGNvbXBvbmVudCBpZiB0aGUgZmlsdGVyIGNoYW5nZXMuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIGNsb3NlT25GaWx0ZXJDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpbHRlclBvcG92ZXJDb21wb25lbnRQYXJhbXM8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4gZXh0ZW5kcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4ge1xuICAvKipcbiAgICogT3JpZ2luIHRvIGFkZCB0aGUgcG9wb3ZlciB0by5cbiAgICovXG4gIG9yaWdpbjogRWxlbWVudFJlZjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklMVEVSX1BPUE9WRVJfS0VZID0gJ2ZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlclBvcG92ZXJDb21wb25lbnQ8RiBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBBYnN0cmFjdFBvcG92ZXJEaXJlY3RpdmU8dW5rbm93biwgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfY2xvc2VPbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSBidXR0b25zIHRvIHRvZ2dsZSBiZXR3ZWVuIGN1c3RvbSBhbmQgcHJlc2V0IGZpbHRlcnMuXG4gICAqL1xuICByZWFkb25seSBzaG93U3dpdGNoQnV0dG9ucyA9IEJvb2xlYW4odGhpcy5jb25maWcuY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MgJiYgdGhpcy5jb25maWcucHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MpO1xuXG4gIHByaXZhdGUgX3Nob3dQcmVzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd1ByZXNldCQgPSB0aGlzLl9zaG93UHJlc2V0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQ6IE9ic2VydmFibGU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPEZpbHRlclNvdXJjZTxGPj4+ID0gdGhpcy5fc2hvd1ByZXNldC5waXBlKFxuICAgIG1hcCgoc2hvd1ByZXNldCkgPT4ge1xuICAgICAgY29uc3QgeyBjbG9zZU9uRmlsdGVyQ2hhbmdlID0gdHJ1ZSwgY29ubmVjdG9yLCBpbml0aWFsRmlsdGVyT2JzLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfSA9IHRoaXMuY29uZmlnO1xuICAgICAgbGV0IGNvbXBvbmVudENsYXNzOiBUeXBlPEZpbHRlclNvdXJjZTxGPj47XG5cbiAgICAgIGlmIChzaG93UHJlc2V0KSB7XG4gICAgICAgIGNvbXBvbmVudENsYXNzID0gcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgYXMgVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyBhcyBUeXBlPEZpbHRlclNvdXJjZTxGPj47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPEZpbHRlclNvdXJjZTxGPj4gPSB7XG4gICAgICAgIGNvbXBvbmVudENsYXNzLFxuICAgICAgICBpbml0OiAoZmlsdGVyU291cmNlKSA9PiB7XG4gICAgICAgICAgY29ubmVjdG9yLmNvbm5lY3RXaXRoU291cmNlKGZpbHRlclNvdXJjZSk7XG5cbiAgICAgICAgICBpZiAoaW5pdGlhbEZpbHRlck9icyAmJiBmaWx0ZXJTb3VyY2UuaW5pdFdpdGhGaWx0ZXIpIHtcbiAgICAgICAgICAgIGZpbHRlclNvdXJjZS5pbml0V2l0aEZpbHRlcihpbml0aWFsRmlsdGVyT2JzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY2xvc2VPbkZpbHRlckNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBmaWx0ZXJTb3VyY2UuZmlsdGVyJC5waXBlKHNraXAoMSksIGZpbHRlck1heWJlKCksIGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KVxuICApO1xuXG4gIHN0YXRpYyBvcGVuUG9wb3ZlcjxGIGV4dGVuZHMgb2JqZWN0Pihwb3B1cFNlcnZpY2U6IERieFBvcG92ZXJTZXJ2aWNlLCB7IG9yaWdpbiwgaGVhZGVyLCBpY29uLCBpbml0aWFsRmlsdGVyT2JzOiBpbnB1dFNvdXJjZSwgY29ubmVjdG9yLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfTogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudFBhcmFtczxGPiwgcG9wb3ZlcktleT86IERieFBvcG92ZXJLZXkpOiBOZ1BvcG92ZXJSZWYge1xuICAgIHJldHVybiBwb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBrZXk6IHBvcG92ZXJLZXkgPz8gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9LRVksXG4gICAgICBvcmlnaW4sXG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgaGVhZGVyLFxuICAgICAgICBpY29uLFxuICAgICAgICBpbml0aWFsRmlsdGVyT2JzOiBpbnB1dFNvdXJjZSxcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3NcbiAgICAgIH0gYXMgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+XG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwb3BvdmVyOiBEYnhQb3BvdmVyQ29tcG9uZW50PHVua25vd24sIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPj4pIHtcbiAgICBzdXBlcihwb3BvdmVyKTtcbiAgfVxuXG4gIGdldCBjb25maWcoKTogRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+IHtcbiAgICByZXR1cm4gdGhpcy5wb3BvdmVyLmRhdGEgYXMgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+O1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmljb24gPz8gJ2ZpbHRlcl9saXN0JztcbiAgfVxuXG4gIGdldCBoZWFkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlYWRlciA/PyAnRmlsdGVyJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBzaG93UHJlc2V0ID0gZmFsc2U7XG4gICAgY29uc3QgeyBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzKSB7XG4gICAgICBzaG93UHJlc2V0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzKSB7XG4gICAgICBzaG93UHJlc2V0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzICYmICFwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlcyBhIHByZXNldCBvciBjdXN0b20gY2xhc3MgcHJvdmlkZWQgZm9yIERieEZpbHRlclBvcG92ZXIuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2hvd1ByZXNldC5uZXh0KHNob3dQcmVzZXQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fc2hvd1ByZXNldC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2hvd1ByZXNldHMoKSB7XG4gICAgdGhpcy5fc2hvd1ByZXNldC5uZXh0KHRydWUpO1xuICB9XG5cbiAgc2hvd0N1c3RvbSgpIHtcbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGJ4LXBvcG92ZXItY29udGVudD5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkYngtcG9wb3Zlci1oZWFkZXIgW2ljb25dPVwiaWNvblwiIFtoZWFkZXJdPVwiaGVhZGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTd2l0Y2hCdXR0b25zXCIgW25nU3dpdGNoXT1cInNob3dQcmVzZXQkIHwgYXN5bmNcIj5cbiAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cInRydWVcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwic2hvd0N1c3RvbSgpXCI+Q3VzdG9tPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93UHJlc2V0cygpXCI+UHJlc2V0czwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2RieC1wb3BvdmVyLWhlYWRlcj5cbiAgPCEtLSBDb250ZW50IC0tPlxuICA8ZGJ4LXBvcG92ZXItc2Nyb2xsLWNvbnRlbnQ+XG4gICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gIDwvZGJ4LXBvcG92ZXItc2Nyb2xsLWNvbnRlbnQ+XG48L2RieC1wb3BvdmVyLWNvbnRlbnQ+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBMkQsV0FBVyxFQUFFLGtCQUFrQixFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUErQ2pJLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztBQUtuRCxNQUFNLE9BQU8seUJBQTRDLFNBQVEsd0JBQThEO0lBZ0U3SCxZQUFZLE9BQWtFO1FBQzVFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQWhFVCxzQkFBaUIsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFckQ7O1dBRUc7UUFDTSxzQkFBaUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFL0csZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUMsWUFBTyxHQUE2RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLG1CQUFtQixHQUFHLElBQUksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3hJLElBQUksY0FBcUMsQ0FBQztZQUUxQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxjQUFjLEdBQUcsMEJBQW1ELENBQUM7YUFDdEU7aUJBQU07Z0JBQ0wsY0FBYyxHQUFHLDBCQUFtRCxDQUFDO2FBQ3RFO1lBRUQsTUFBTSxNQUFNLEdBQWlEO2dCQUMzRCxjQUFjO2dCQUNkLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxFQUFFO29CQUNyQixTQUFTLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBRTFDLElBQUksZ0JBQWdCLElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRTt3QkFDbkQsWUFBWSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUMvQztvQkFFRCxJQUFJLG1CQUFtQixLQUFLLEtBQUssRUFBRTt3QkFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTs0QkFDekksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDOzRCQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDZixDQUFDLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDO2FBQ0YsQ0FBQztZQUVGLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUF3QkYsQ0FBQztJQXRCRCxNQUFNLENBQUMsV0FBVyxDQUFtQixZQUErQixFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFzQyxFQUFFLFVBQTBCO1FBQ2xTLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLEVBQUUsVUFBVSxJQUFJLDBCQUEwQjtZQUM3QyxNQUFNO1lBQ04sY0FBYyxFQUFFLHlCQUF5QjtZQUN6QyxLQUFLO1lBQ0wsTUFBTTtZQUNOLFdBQVc7WUFDWCxJQUFJLEVBQUU7Z0JBQ0osTUFBTTtnQkFDTixJQUFJO2dCQUNKLDBCQUEwQjtnQkFDMUIsMEJBQTBCO2dCQUMxQixTQUFTO2dCQUNULGdCQUFnQjtnQkFDaEIsbUJBQW1CO2FBQ1c7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQU1ELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFtQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsTUFBTSxFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUvRSxJQUFJLDBCQUEwQixFQUFFO1lBQzlCLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFFRCxJQUFJLDBCQUEwQixFQUFFO1lBQzlCLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsMEJBQTBCLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7U0FDckY7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEE5R1UseUJBQXlCOzJHQUF6Qix5QkFBeUIsMkVDM0R0QywybkJBYUE7NEZEOENhLHlCQUF5QjtrQkFIckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nUG9wb3ZlclJlZiB9IGZyb20gJ25nLW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgbWFwLCBza2lwLCBmaXJzdCwgZGVmYXVsdElmRW1wdHkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3BvcG92ZXIvYWJzdHJhY3QucG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbmZpZ1NpemluZywgRGJ4UG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTb3VyY2UsIEZpbHRlclNvdXJjZUNvbm5lY3RvciwgUHJlc2V0RmlsdGVyU291cmNlLCBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0LCB0YXBMb2cgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieFBvcG92ZXJLZXkgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LCBQIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiBleHRlbmRzIERieFBvcG92ZXJDb25maWdTaXppbmcge1xuICAvKipcbiAgICogQ3VzdG9tIGljb25cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJmaWx0ZXJfbGlzdFwiXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIGhlYWRlciB0ZXh0XG4gICAqXG4gICAqIERlZmF1bHRzIHRvIFwiRmlsdGVyXCJcbiAgICovXG4gIGhlYWRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBmaWx0ZXIgY29tcG9uZW50IHRvIGluaXRpYWxpemUuXG4gICAqL1xuICBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcz86IFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgLyoqXG4gICAqIFByZXNldCBmaWx0ZXIgY29tcG9uZW50IHRvIGluaXRpYWxpemUuXG4gICAqL1xuICBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcz86IFR5cGU8UHJlc2V0RmlsdGVyU291cmNlPEYsIFA+PjtcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0b3IgdG8gdXNlLlxuICAgKi9cbiAgY29ubmVjdG9yOiBGaWx0ZXJTb3VyY2VDb25uZWN0b3I8Rj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEluaXRhbCBmaWx0ZXIgdG8gcGFzcyB0byB0aGUgZmlsdGVyIHNvdXJjZS5cbiAgICovXG4gIGluaXRpYWxGaWx0ZXJPYnM/OiBPYnNlcnZhYmxlPEY+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBXaGV0aGVyIG9yIG5vdCB0byBjbG9zZSB0aGUgY29tcG9uZW50IGlmIHRoZSBmaWx0ZXIgY2hhbmdlcy5cbiAgICpcbiAgICogVHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgY2xvc2VPbkZpbHRlckNoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudFBhcmFtczxGIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiBleHRlbmRzIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPiB7XG4gIC8qKlxuICAgKiBPcmlnaW4gdG8gYWRkIHRoZSBwb3BvdmVyIHRvLlxuICAgKi9cbiAgb3JpZ2luOiBFbGVtZW50UmVmO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9LRVkgPSAnZmlsdGVyJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudDxGIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZTx1bmtub3duLCBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9jbG9zZU9uQ2hhbmdlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IGJ1dHRvbnMgdG8gdG9nZ2xlIGJldHdlZW4gY3VzdG9tIGFuZCBwcmVzZXQgZmlsdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3dTd2l0Y2hCdXR0b25zID0gQm9vbGVhbih0aGlzLmNvbmZpZy5jdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyAmJiB0aGlzLmNvbmZpZy5wcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyk7XG5cbiAgcHJpdmF0ZSBfc2hvd1ByZXNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93UHJlc2V0JCA9IHRoaXMuX3Nob3dQcmVzZXQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+Pj4gPSB0aGlzLl9zaG93UHJlc2V0LnBpcGUoXG4gICAgbWFwKChzaG93UHJlc2V0KSA9PiB7XG4gICAgICBjb25zdCB7IGNsb3NlT25GaWx0ZXJDaGFuZ2UgPSB0cnVlLCBjb25uZWN0b3IsIGluaXRpYWxGaWx0ZXJPYnMsIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB9ID0gdGhpcy5jb25maWc7XG4gICAgICBsZXQgY29tcG9uZW50Q2xhc3M6IFR5cGU8RmlsdGVyU291cmNlPEY+PjtcblxuICAgICAgaWYgKHNob3dQcmVzZXQpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyBhcyBUeXBlPEZpbHRlclNvdXJjZTxGPj47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnRDbGFzcyA9IGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIGFzIFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+PiA9IHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MsXG4gICAgICAgIGluaXQ6IChmaWx0ZXJTb3VyY2UpID0+IHtcbiAgICAgICAgICBjb25uZWN0b3IuY29ubmVjdFdpdGhTb3VyY2UoZmlsdGVyU291cmNlKTtcblxuICAgICAgICAgIGlmIChpbml0aWFsRmlsdGVyT2JzICYmIGZpbHRlclNvdXJjZS5pbml0V2l0aEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyU291cmNlLmluaXRXaXRoRmlsdGVyKGluaXRpYWxGaWx0ZXJPYnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjbG9zZU9uRmlsdGVyQ2hhbmdlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBmaWx0ZXJTb3VyY2UuZmlsdGVyJC5waXBlKHNraXAoMSksIGZpbHRlck1heWJlKCksIGZpcnN0KCksIGRlZmF1bHRJZkVtcHR5KHVuZGVmaW5lZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KVxuICApO1xuXG4gIHN0YXRpYyBvcGVuUG9wb3ZlcjxGIGV4dGVuZHMgb2JqZWN0Pihwb3B1cFNlcnZpY2U6IERieFBvcG92ZXJTZXJ2aWNlLCB7IHdpZHRoLCBoZWlnaHQsIGlzUmVzaXphYmxlLCBvcmlnaW4sIGhlYWRlciwgaWNvbiwgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLCBjb25uZWN0b3IsIGluaXRpYWxGaWx0ZXJPYnMsIGNsb3NlT25GaWx0ZXJDaGFuZ2UgfTogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudFBhcmFtczxGPiwgcG9wb3ZlcktleT86IERieFBvcG92ZXJLZXkpOiBOZ1BvcG92ZXJSZWYge1xuICAgIHJldHVybiBwb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBrZXk6IHBvcG92ZXJLZXkgPz8gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9LRVksXG4gICAgICBvcmlnaW4sXG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaXNSZXNpemFibGUsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGhlYWRlcixcbiAgICAgICAgaWNvbixcbiAgICAgICAgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsXG4gICAgICAgIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLFxuICAgICAgICBjb25uZWN0b3IsXG4gICAgICAgIGluaXRpYWxGaWx0ZXJPYnMsXG4gICAgICAgIGNsb3NlT25GaWx0ZXJDaGFuZ2VcbiAgICAgIH0gYXMgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+XG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwb3BvdmVyOiBEYnhQb3BvdmVyQ29tcG9uZW50PHVua25vd24sIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPj4pIHtcbiAgICBzdXBlcihwb3BvdmVyKTtcbiAgfVxuXG4gIGdldCBjb25maWcoKTogRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+IHtcbiAgICByZXR1cm4gdGhpcy5wb3BvdmVyLmRhdGEgYXMgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+O1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmljb24gPz8gJ2ZpbHRlcl9saXN0JztcbiAgfVxuXG4gIGdldCBoZWFkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlYWRlciA/PyAnRmlsdGVyJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBzaG93UHJlc2V0ID0gZmFsc2U7XG4gICAgY29uc3QgeyBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzKSB7XG4gICAgICBzaG93UHJlc2V0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzKSB7XG4gICAgICBzaG93UHJlc2V0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzICYmICFwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlcyBhIHByZXNldCBvciBjdXN0b20gY2xhc3MgcHJvdmlkZWQgZm9yIERieEZpbHRlclBvcG92ZXIuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2hvd1ByZXNldC5uZXh0KHNob3dQcmVzZXQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fc2hvd1ByZXNldC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2hvd1ByZXNldHMoKSB7XG4gICAgdGhpcy5fc2hvd1ByZXNldC5uZXh0KHRydWUpO1xuICB9XG5cbiAgc2hvd0N1c3RvbSgpIHtcbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGJ4LXBvcG92ZXItY29udGVudD5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkYngtcG9wb3Zlci1oZWFkZXIgW2ljb25dPVwiaWNvblwiIFtoZWFkZXJdPVwiaGVhZGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTd2l0Y2hCdXR0b25zXCIgW25nU3dpdGNoXT1cInNob3dQcmVzZXQkIHwgYXN5bmNcIj5cbiAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cInRydWVcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwic2hvd0N1c3RvbSgpXCI+Q3VzdG9tPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93UHJlc2V0cygpXCI+UHJlc2V0czwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2RieC1wb3BvdmVyLWhlYWRlcj5cbiAgPCEtLSBDb250ZW50IC0tPlxuICA8ZGJ4LXBvcG92ZXItc2Nyb2xsLWNvbnRlbnQ+XG4gICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gIDwvZGJ4LXBvcG92ZXItc2Nyb2xsLWNvbnRlbnQ+XG48L2RieC1wb3BvdmVyLWNvbnRlbnQ+XG4iXX0=
@@ -3,10 +3,11 @@ import { AbstractDbxActionHandlerDirective, DbxActionContextStoreSourceInstance,
3
3
  import { of } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@dereekb/dbx-core";
6
- import * as i2 from "../../button/button.component";
7
- import * as i3 from "@angular/flex-layout/flex";
8
- import * as i4 from "@angular/material/icon";
9
- import * as i5 from "@angular/material/button";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../button/button.component";
8
+ import * as i4 from "@angular/flex-layout/flex";
9
+ import * as i5 from "@angular/material/icon";
10
+ import * as i6 from "@angular/material/button";
10
11
  /**
11
12
  * Action component used to simplify creating a filter form.
12
13
  *
@@ -16,6 +17,7 @@ export class DbxFilterWrapperComponent extends AbstractDbxActionHandlerDirective
16
17
  constructor(source, filterSourceDirective) {
17
18
  super(source);
18
19
  this.filterSourceDirective = filterSourceDirective;
20
+ this.showButtons = true;
19
21
  this.applyRaised = true;
20
22
  this.applyIcon = 'filter_list';
21
23
  this.applyText = 'Filter';
@@ -34,15 +36,17 @@ export class DbxFilterWrapperComponent extends AbstractDbxActionHandlerDirective
34
36
  }
35
37
  }
36
38
  DbxFilterWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterWrapperComponent, deps: [{ token: i1.DbxActionContextStoreSourceInstance }, { token: i1.FilterSourceDirective }], target: i0.ɵɵFactoryTarget.Component });
37
- DbxFilterWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterWrapperComponent, selector: "dbx-filter-wrapper", inputs: { applyRaised: "applyRaised", applyIcon: "applyIcon", applyText: "applyText" }, providers: [provideActionStoreSource(null)], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n <div fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised\" [text]=\"applyText\" [icon]=\"applyIcon\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.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"] }] });
39
+ DbxFilterWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterWrapperComponent, selector: "dbx-filter-wrapper", inputs: { showButtons: "showButtons", applyRaised: "applyRaised", applyIcon: "applyIcon", applyText: "applyText" }, providers: [provideActionStoreSource(null)], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showButtons\" fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised\" [text]=\"applyText\" [icon]=\"applyIcon\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i3.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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"] }] });
38
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterWrapperComponent, decorators: [{
39
41
  type: Component,
40
- args: [{ selector: 'dbx-filter-wrapper', providers: [provideActionStoreSource(null)], template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n <div fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised\" [text]=\"applyText\" [icon]=\"applyIcon\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n" }]
41
- }], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance }, { type: i1.FilterSourceDirective }]; }, propDecorators: { applyRaised: [{
42
+ args: [{ selector: 'dbx-filter-wrapper', providers: [provideActionStoreSource(null)], template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showButtons\" fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised\" [text]=\"applyText\" [icon]=\"applyIcon\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n" }]
43
+ }], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance }, { type: i1.FilterSourceDirective }]; }, propDecorators: { showButtons: [{
44
+ type: Input
45
+ }], applyRaised: [{
42
46
  type: Input
43
47
  }], applyIcon: [{
44
48
  type: Input
45
49
  }], applyText: [{
46
50
  type: Input
47
51
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLndyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIud3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci53cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxtQ0FBbUMsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVKLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFMUI7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyx5QkFBdUMsU0FBUSxpQ0FBb0M7SUFVOUYsWUFBWSxNQUE4QyxFQUFXLHFCQUErQztRQUNsSCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFEcUQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQVJwSCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixjQUFTLEdBQUcsYUFBYSxDQUFDO1FBRzFCLGNBQVMsR0FBRyxRQUFRLENBQUM7UUFJbkIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxNQUFTLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzt1SEExQlUseUJBQXlCOzJHQUF6Qix5QkFBeUIscUlBRnpCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsaURDWjdDLHNhQVlBOzRGREVhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0IsYUFFbkIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzs4SkFJM0MsV0FBVztzQkFEVixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEFjdGlvbkhhbmRsZXJEaXJlY3RpdmUsIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBGaWx0ZXJTb3VyY2VEaXJlY3RpdmUsIHByb3ZpZGVBY3Rpb25TdG9yZVNvdXJjZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQWN0aW9uIGNvbXBvbmVudCB1c2VkIHRvIHNpbXBsaWZ5IGNyZWF0aW5nIGEgZmlsdGVyIGZvcm0uXG4gKlxuICogUHJvdmlkZXMgYSBEYnhBY3Rpb24gYW5kIGNvbmZpZ3VyZXMgdGhlIGFjdGlvbiB0byBzZXQgdGhlIGZpbHRlciBvbiBhIEZpbHRlclNvdXJjZURpcmVjdGl2ZSB3aGVuIHRyaWdnZXJlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpbHRlci13cmFwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci53cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUFjdGlvblN0b3JlU291cmNlKG51bGwpXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaWx0ZXJXcmFwcGVyQ29tcG9uZW50PEYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZTxGPiB7XG4gIEBJbnB1dCgpXG4gIGFwcGx5UmFpc2VkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBhcHBseUljb24gPSAnZmlsdGVyX2xpc3QnO1xuXG4gIEBJbnB1dCgpXG4gIGFwcGx5VGV4dCA9ICdGaWx0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8Rj4sIHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZTogRmlsdGVyU291cmNlRGlyZWN0aXZlPEY+KSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICAvLyBjb25maWd1cmUgaGFuZGxlciBmdW5jdGlvblxuICAgIHRoaXMuX2RieEFjdGlvbkhhbmRsZXJJbnN0YW5jZS5oYW5kbGVyRnVuY3Rpb24gPSAoZmlsdGVyOiBGKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2Uuc2V0SXNNb2RpZmllZCh0cnVlKTsgLy8gRm9yY2Ugc2V0dGluZyBtb2RpZmllZC5cbiAgICB0aGlzLnNvdXJjZS50cmlnZ2VyKCk7XG4gIH1cblxuICByZXNldEZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5yZXNldEZpbHRlcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LWZpbHRlci13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJkYngtZmlsdGVyLXdyYXBwZXItY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICA8ZGJ4LWJ1dHRvbiBkYnhBY3Rpb25CdXR0b24gW3JhaXNlZF09XCJhcHBseVJhaXNlZFwiIFt0ZXh0XT1cImFwcGx5VGV4dFwiIFtpY29uXT1cImFwcGx5SWNvblwiPjwvZGJ4LWJ1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0RmlsdGVyKClcIj5cbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLndyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIud3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci53cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxtQ0FBbUMsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVKLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBRTFCOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8seUJBQXVDLFNBQVEsaUNBQW9DO0lBYTlGLFlBQVksTUFBOEMsRUFBVyxxQkFBK0M7UUFDbEgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRHFELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7UUFYcEgsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsY0FBUyxHQUFHLGFBQWEsQ0FBQztRQUcxQixjQUFTLEdBQUcsUUFBUSxDQUFDO1FBSW5CLDZCQUE2QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLENBQUMsZUFBZSxHQUFHLENBQUMsTUFBUyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7dUhBN0JVLHlCQUF5QjsyR0FBekIseUJBQXlCLGlLQUZ6QixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLGlEQ1o3Qyw0YkFZQTs0RkRFYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBRW5CLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7OEpBSTNDLFdBQVc7c0JBRFYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZSwgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UsIEZpbHRlclNvdXJjZURpcmVjdGl2ZSwgcHJvdmlkZUFjdGlvblN0b3JlU291cmNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBBY3Rpb24gY29tcG9uZW50IHVzZWQgdG8gc2ltcGxpZnkgY3JlYXRpbmcgYSBmaWx0ZXIgZm9ybS5cbiAqXG4gKiBQcm92aWRlcyBhIERieEFjdGlvbiBhbmQgY29uZmlndXJlcyB0aGUgYWN0aW9uIHRvIHNldCB0aGUgZmlsdGVyIG9uIGEgRmlsdGVyU291cmNlRGlyZWN0aXZlIHdoZW4gdHJpZ2dlcmVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlsdGVyLXdyYXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLndyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2UobnVsbCldXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlcldyYXBwZXJDb21wb25lbnQ8RiA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3REYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlPEY+IHtcbiAgQElucHV0KClcbiAgc2hvd0J1dHRvbnMgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGFwcGx5UmFpc2VkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBhcHBseUljb24gPSAnZmlsdGVyX2xpc3QnO1xuXG4gIEBJbnB1dCgpXG4gIGFwcGx5VGV4dCA9ICdGaWx0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8Rj4sIHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZTogRmlsdGVyU291cmNlRGlyZWN0aXZlPEY+KSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICAvLyBjb25maWd1cmUgaGFuZGxlciBmdW5jdGlvblxuICAgIHRoaXMuX2RieEFjdGlvbkhhbmRsZXJJbnN0YW5jZS5oYW5kbGVyRnVuY3Rpb24gPSAoZmlsdGVyOiBGKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2Uuc2V0SXNNb2RpZmllZCh0cnVlKTsgLy8gRm9yY2Ugc2V0dGluZyBtb2RpZmllZC5cbiAgICB0aGlzLnNvdXJjZS50cmlnZ2VyKCk7XG4gIH1cblxuICByZXNldEZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5yZXNldEZpbHRlcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LWZpbHRlci13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJkYngtZmlsdGVyLXdyYXBwZXItY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93QnV0dG9uc1wiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgPGRieC1idXR0b24gZGJ4QWN0aW9uQnV0dG9uIFtyYWlzZWRdPVwiYXBwbHlSYWlzZWRcIiBbdGV4dF09XCJhcHBseVRleHRcIiBbaWNvbl09XCJhcHBseUljb25cIj48L2RieC1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cInNwYWNlclwiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldEZpbHRlcigpXCI+XG4gICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2,6 +2,7 @@ import { DbxPopoverComponent } from './popover.component';
2
2
  import { Injectable, Injector } from '@angular/core';
3
3
  import { NgOverlayContainerService } from 'ng-overlay-container';
4
4
  import { Overlay } from '@angular/cdk/overlay';
5
+ import { joinStringsWithSpaces } from '@dereekb/util';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/cdk/overlay";
7
8
  /**
@@ -16,12 +17,14 @@ export class DbxPopoverService {
16
17
  open(config) {
17
18
  const service = config.injector ? new NgOverlayContainerService(this._overlay, config.injector) : this._overlayContainerService;
18
19
  const configuration = {
19
- panelClass: 'dbx-popover-container',
20
- originX: 'start',
21
- originY: 'top',
20
+ panelClass: joinStringsWithSpaces(['dbx-popover-container', config.panelClass]),
21
+ originX: config.originX ?? 'start',
22
+ originY: config.originY ?? 'top',
22
23
  // TODO: Resize height/width.
24
+ minHeight: config.minHeight,
25
+ minWidth: config.minWidth,
23
26
  height: config.height ?? '500px',
24
- width: config.height ?? '400px',
27
+ width: config.width ?? '400px',
25
28
  hasBackdrop: true,
26
29
  isDraggable: false,
27
30
  isResizable: config.isResizable ?? false,
@@ -45,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
45
48
  providedIn: 'root'
46
49
  }]
47
50
  }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBNEQsTUFBTSxxQkFBcUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQW1DLHlCQUF5QixFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUy9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixRQUFpQixFQUFVLFNBQW1CO1FBQTlDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ2hFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxJQUFJLENBQVUsTUFBaUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBRWhJLE1BQU0sYUFBYSxHQUFvQztZQUNyRCxVQUFVLEVBQUUsdUJBQXVCO1lBQ25DLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsNkJBQTZCO1lBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLE9BQU87WUFDaEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLElBQUksT0FBTztZQUMvQixXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxLQUFLO1lBQ3hDLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBNEM7WUFDN0QsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxNQUFNO2dCQUNULGFBQWE7YUFDZDtZQUNELGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDOzsrR0EvQlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbXBvbmVudCwgRGJ4UG9wb3ZlckNvbXBvbmVudENvbmZpZywgRnVsbERieFBvcG92ZXJDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ092ZXJsYXlDb250YWluZXJDb25maWd1cmF0aW9uLCBOZ092ZXJsYXlDb250YWluZXJTZXJ2aWNlLCBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieFBvcG92ZXJDb25maWc8TywgSSwgVD4gZXh0ZW5kcyBEYnhQb3BvdmVyQ29tcG9uZW50Q29uZmlnPE8sIEksIFQ+IHtcbiAgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgaGVpZ2h0Pzogc3RyaW5nO1xuICB3aWR0aD86IHN0cmluZztcbiAgaXNSZXNpemFibGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVzZWQgZm9yIGRpc3BsYXlpbmcgYSBwb3BvdmVyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhQb3BvdmVyU2VydmljZSB7XG4gIHByaXZhdGUgX292ZXJsYXlDb250YWluZXJTZXJ2aWNlOiBOZ092ZXJsYXlDb250YWluZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX292ZXJsYXlDb250YWluZXJTZXJ2aWNlID0gbmV3IE5nT3ZlcmxheUNvbnRhaW5lclNlcnZpY2UodGhpcy5fb3ZlcmxheSwgdGhpcy5faW5qZWN0b3IpO1xuICB9XG5cbiAgb3BlbjxPLCBJLCBUPihjb25maWc6IERieFBvcG92ZXJDb25maWc8TywgSSwgVD4pOiBOZ1BvcG92ZXJSZWY8RGJ4UG9wb3ZlckNvbXBvbmVudENvbmZpZzxPLCBJLCBUPiwgTz4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSBjb25maWcuaW5qZWN0b3IgPyBuZXcgTmdPdmVybGF5Q29udGFpbmVyU2VydmljZSh0aGlzLl9vdmVybGF5LCBjb25maWcuaW5qZWN0b3IpIDogdGhpcy5fb3ZlcmxheUNvbnRhaW5lclNlcnZpY2U7XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBOZ092ZXJsYXlDb250YWluZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgcGFuZWxDbGFzczogJ2RieC1wb3BvdmVyLWNvbnRhaW5lcicsXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAvLyBUT0RPOiBSZXNpemUgaGVpZ2h0L3dpZHRoLlxuICAgICAgaGVpZ2h0OiBjb25maWcuaGVpZ2h0ID8/ICc1MDBweCcsXG4gICAgICB3aWR0aDogY29uZmlnLmhlaWdodCA/PyAnNDAwcHgnLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBpc0RyYWdnYWJsZTogZmFsc2UsXG4gICAgICBpc1Jlc2l6YWJsZTogY29uZmlnLmlzUmVzaXphYmxlID8/IGZhbHNlLFxuICAgICAgZGlzYWJsZUJhY2tkcm9wQ2xvc2U6IGZhbHNlXG4gICAgfTtcblxuICAgIHJldHVybiBzZXJ2aWNlLm9wZW48RnVsbERieFBvcG92ZXJDb21wb25lbnRDb25maWc8TywgSSwgVD4sIE8+KHtcbiAgICAgIGNvbnRlbnQ6IERieFBvcG92ZXJDb21wb25lbnQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgY29uZmlndXJhdGlvblxuICAgICAgfSxcbiAgICAgIGNvbmZpZ3VyYXRpb25cbiAgICB9KTtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBNEQsTUFBTSxxQkFBcUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQW1DLHlCQUF5QixFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVN0RDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0IsUUFBaUIsRUFBVSxTQUFtQjtRQUE5QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNoRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsSUFBSSxDQUFVLE1BQWlDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUVoSSxNQUFNLGFBQWEsR0FBb0M7WUFDckQsVUFBVSxFQUFFLHFCQUFxQixDQUFDLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9FLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLE9BQU87WUFDbEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSztZQUNoQyw2QkFBNkI7WUFDN0IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPO1lBQ2hDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU87WUFDOUIsV0FBVyxFQUFFLElBQUk7WUFDakIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksS0FBSztZQUN4QyxvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7UUFFRixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQTRDO1lBQzdELE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsTUFBTTtnQkFDVCxhQUFhO2FBQ2Q7WUFDRCxhQUFhO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBakNVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieFBvcG92ZXJDb21wb25lbnQsIERieFBvcG92ZXJDb21wb25lbnRDb25maWcsIEZ1bGxEYnhQb3BvdmVyQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdPdmVybGF5Q29udGFpbmVyQ29uZmlndXJhdGlvbiwgTmdPdmVybGF5Q29udGFpbmVyU2VydmljZSwgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IGpvaW5TdHJpbmdzV2l0aFNwYWNlcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieFBvcG92ZXJDb25maWdTaXppbmcgZXh0ZW5kcyBQaWNrPE5nT3ZlcmxheUNvbnRhaW5lckNvbmZpZ3VyYXRpb24sICdvcmlnaW5YJyB8ICdvcmlnaW5ZJyB8ICdoZWlnaHQnIHwgJ3dpZHRoJyB8ICdtaW5IZWlnaHQnIHwgJ21pbldpZHRoJyB8ICdpc1Jlc2l6YWJsZSc+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4UG9wb3ZlckNvbmZpZzxPLCBJLCBUPiBleHRlbmRzIERieFBvcG92ZXJDb21wb25lbnRDb25maWc8TywgSSwgVD4sIERieFBvcG92ZXJDb25maWdTaXppbmcge1xuICBwYW5lbENsYXNzPzogc3RyaW5nO1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xufVxuXG4vKipcbiAqIFVzZWQgZm9yIGRpc3BsYXlpbmcgYSBwb3BvdmVyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhQb3BvdmVyU2VydmljZSB7XG4gIHByaXZhdGUgX292ZXJsYXlDb250YWluZXJTZXJ2aWNlOiBOZ092ZXJsYXlDb250YWluZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX292ZXJsYXlDb250YWluZXJTZXJ2aWNlID0gbmV3IE5nT3ZlcmxheUNvbnRhaW5lclNlcnZpY2UodGhpcy5fb3ZlcmxheSwgdGhpcy5faW5qZWN0b3IpO1xuICB9XG5cbiAgb3BlbjxPLCBJLCBUPihjb25maWc6IERieFBvcG92ZXJDb25maWc8TywgSSwgVD4pOiBOZ1BvcG92ZXJSZWY8RGJ4UG9wb3ZlckNvbXBvbmVudENvbmZpZzxPLCBJLCBUPiwgTz4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSBjb25maWcuaW5qZWN0b3IgPyBuZXcgTmdPdmVybGF5Q29udGFpbmVyU2VydmljZSh0aGlzLl9vdmVybGF5LCBjb25maWcuaW5qZWN0b3IpIDogdGhpcy5fb3ZlcmxheUNvbnRhaW5lclNlcnZpY2U7XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBOZ092ZXJsYXlDb250YWluZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgcGFuZWxDbGFzczogam9pblN0cmluZ3NXaXRoU3BhY2VzKFsnZGJ4LXBvcG92ZXItY29udGFpbmVyJywgY29uZmlnLnBhbmVsQ2xhc3NdKSxcbiAgICAgIG9yaWdpblg6IGNvbmZpZy5vcmlnaW5YID8/ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiBjb25maWcub3JpZ2luWSA/PyAndG9wJyxcbiAgICAgIC8vIFRPRE86IFJlc2l6ZSBoZWlnaHQvd2lkdGguXG4gICAgICBtaW5IZWlnaHQ6IGNvbmZpZy5taW5IZWlnaHQsXG4gICAgICBtaW5XaWR0aDogY29uZmlnLm1pbldpZHRoLFxuICAgICAgaGVpZ2h0OiBjb25maWcuaGVpZ2h0ID8/ICc1MDBweCcsXG4gICAgICB3aWR0aDogY29uZmlnLndpZHRoID8/ICc0MDBweCcsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGlzRHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgIGlzUmVzaXphYmxlOiBjb25maWcuaXNSZXNpemFibGUgPz8gZmFsc2UsXG4gICAgICBkaXNhYmxlQmFja2Ryb3BDbG9zZTogZmFsc2VcbiAgICB9O1xuXG4gICAgcmV0dXJuIHNlcnZpY2Uub3BlbjxGdWxsRGJ4UG9wb3ZlckNvbXBvbmVudENvbmZpZzxPLCBJLCBUPiwgTz4oe1xuICAgICAgY29udGVudDogRGJ4UG9wb3ZlckNvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjb25maWd1cmF0aW9uXG4gICAgICB9LFxuICAgICAgY29uZmlndXJhdGlvblxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -15,7 +15,10 @@ import * as i7 from "../anchor/anchor.component";
15
15
  export class DbxAnchorListComponent {
16
16
  constructor() {
17
17
  this._anchors = new BehaviorSubject([]);
18
- this.expandedAnchors$ = this._anchors.pipe(distinctUntilChanged(), map((x) => expandClickableAnchorLinkTrees(x)), shareReplay(1));
18
+ this.expandedAnchors$ = this._anchors.pipe(distinctUntilChanged(), map((x) => expandClickableAnchorLinkTrees(x).map((y) => {
19
+ y.classes = `${y.depth > 0 ? `dbx-anchor-list-child` : 'dbx-anchor-list-root'} dbx-anchor-list-depth-${y.depth}`;
20
+ return y;
21
+ })), shareReplay(1));
19
22
  }
20
23
  set anchors(anchors) {
21
24
  this._anchors.next(anchors ?? []);
@@ -25,11 +28,11 @@ export class DbxAnchorListComponent {
25
28
  }
26
29
  }
27
30
  DbxAnchorListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxAnchorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- DbxAnchorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxAnchorListComponent, selector: "dbx-anchor-list", inputs: { anchors: "anchors" }, ngImport: i0, template: "<mat-nav-list class=\"dbx-anchor-list\">\n <ng-container *ngFor=\"let expanded of expandedAnchors$ | async; let last = last\">\n <dbx-anchor [anchor]=\"expanded.value\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\" [ngClass]=\"expanded.depth ? 'dbx-anchor-list-child' : 'dbx-anchor-list-root'\">\n <mat-icon mat-list-icon *ngIf=\"expanded.value.icon\">{{ expanded.value.icon }}</mat-icon>\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div mat-line>{{ expanded.value.title }}</div>\n <div class=\"dbx-hint dbx-small\" *ngIf=\"expanded.value.hint\" mat-line>{{ expanded.value.hint }}</div>\n <dbx-injection *ngIf=\"expanded.value.content\" mat-line [config]=\"expanded.value.content\"></dbx-injection>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </a>\n </dbx-anchor>\n </ng-container>\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatLine, selector: "[mat-line], [matLine]" }, { kind: "directive", type: i4.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
31
+ DbxAnchorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxAnchorListComponent, selector: "dbx-anchor-list", inputs: { anchors: "anchors" }, ngImport: i0, template: "<mat-nav-list class=\"dbx-anchor-list\">\n <ng-container *ngFor=\"let expanded of expandedAnchors$ | async; let last = last\">\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n <mat-icon mat-list-icon *ngIf=\"expanded.value.icon\">{{ expanded.value.icon }}</mat-icon>\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div mat-line>{{ expanded.value.title }}</div>\n <div class=\"dbx-hint dbx-small\" *ngIf=\"expanded.value.hint\" mat-line>{{ expanded.value.hint }}</div>\n <dbx-injection *ngIf=\"expanded.value.content\" mat-line [config]=\"expanded.value.content\"></dbx-injection>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </a>\n </dbx-anchor>\n </ng-container>\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatLine, selector: "[mat-line], [matLine]" }, { kind: "directive", type: i4.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
29
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxAnchorListComponent, decorators: [{
30
33
  type: Component,
31
- args: [{ selector: 'dbx-anchor-list', template: "<mat-nav-list class=\"dbx-anchor-list\">\n <ng-container *ngFor=\"let expanded of expandedAnchors$ | async; let last = last\">\n <dbx-anchor [anchor]=\"expanded.value\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\" [ngClass]=\"expanded.depth ? 'dbx-anchor-list-child' : 'dbx-anchor-list-root'\">\n <mat-icon mat-list-icon *ngIf=\"expanded.value.icon\">{{ expanded.value.icon }}</mat-icon>\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div mat-line>{{ expanded.value.title }}</div>\n <div class=\"dbx-hint dbx-small\" *ngIf=\"expanded.value.hint\" mat-line>{{ expanded.value.hint }}</div>\n <dbx-injection *ngIf=\"expanded.value.content\" mat-line [config]=\"expanded.value.content\"></dbx-injection>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </a>\n </dbx-anchor>\n </ng-container>\n</mat-nav-list>\n" }]
34
+ args: [{ selector: 'dbx-anchor-list', template: "<mat-nav-list class=\"dbx-anchor-list\">\n <ng-container *ngFor=\"let expanded of expandedAnchors$ | async; let last = last\">\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n <mat-icon mat-list-icon *ngIf=\"expanded.value.icon\">{{ expanded.value.icon }}</mat-icon>\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div mat-line>{{ expanded.value.title }}</div>\n <div class=\"dbx-hint dbx-small\" *ngIf=\"expanded.value.hint\" mat-line>{{ expanded.value.hint }}</div>\n <dbx-injection *ngIf=\"expanded.value.content\" mat-line [config]=\"expanded.value.content\"></dbx-injection>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </a>\n </dbx-anchor>\n </ng-container>\n</mat-nav-list>\n" }]
32
35
  }], propDecorators: { anchors: [{
33
36
  type: Input
34
37
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9ybGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvcm91dGVyL2xheW91dC9hbmNob3JsaXN0L2FuY2hvcmxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvYW5jaG9ybGlzdC9hbmNob3JsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQTJCLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQUc1Rjs7R0FFRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFLVSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTdELHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM1QyxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0tBVUg7SUFSQyxJQUNJLE9BQU8sQ0FBQyxPQUF5QztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O29IQWhCVSxzQkFBc0I7d0dBQXRCLHNCQUFzQix1RkNabkMsKzRCQWNBOzRGREZhLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBYXZCLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgSW5wdXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGlua1RyZWUsIGV4cGFuZENsaWNrYWJsZUFuY2hvckxpbmtUcmVlcyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBsaXN0IG9mIENsaWNrYWJsZUFuY2hvckxpbmsgdmFsdWVzIHdpdGhpbiBhIE1hdE5hdkxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1hbmNob3ItbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmNob3JsaXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhBbmNob3JMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1RyZWVbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGV4cGFuZGVkQW5jaG9ycyQgPSB0aGlzLl9hbmNob3JzLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAoKHgpID0+IGV4cGFuZENsaWNrYWJsZUFuY2hvckxpbmtUcmVlcyh4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBzZXQgYW5jaG9ycyhhbmNob3JzOiBNYXliZTxDbGlja2FibGVBbmNob3JMaW5rVHJlZVtdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FuY2hvcnMuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdCBjbGFzcz1cImRieC1hbmNob3ItbGlzdFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBleHBhbmRlZCBvZiBleHBhbmRlZEFuY2hvcnMkIHwgYXN5bmM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxkYngtYW5jaG9yIFthbmNob3JdPVwiZXhwYW5kZWQudmFsdWVcIj5cbiAgICAgIDxhIG1hdC1saXN0LWl0ZW0gW2Rpc2FibGVkXT1cImV4cGFuZGVkLnZhbHVlLmRpc2FibGVkXCIgW25nQ2xhc3NdPVwiZXhwYW5kZWQuZGVwdGggPyAnZGJ4LWFuY2hvci1saXN0LWNoaWxkJyA6ICdkYngtYW5jaG9yLWxpc3Qtcm9vdCdcIj5cbiAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWljb24gKm5nSWY9XCJleHBhbmRlZC52YWx1ZS5pY29uXCI+e3sgZXhwYW5kZWQudmFsdWUuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgIDwhLS0gVE9ETzogQWRkIGFuIGljb24gZnJvbSBhIGxldHRlciBpZiBhbmNob3IuaWNvbiBpcyB1bmF2YWlsYWJsZS4gLS0+XG4gICAgICAgIDxkaXYgbWF0LWxpbmU+e3sgZXhwYW5kZWQudmFsdWUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1oaW50IGRieC1zbWFsbFwiICpuZ0lmPVwiZXhwYW5kZWQudmFsdWUuaGludFwiIG1hdC1saW5lPnt7IGV4cGFuZGVkLnZhbHVlLmhpbnQgfX08L2Rpdj5cbiAgICAgICAgPGRieC1pbmplY3Rpb24gKm5nSWY9XCJleHBhbmRlZC52YWx1ZS5jb250ZW50XCIgbWF0LWxpbmUgW2NvbmZpZ109XCJleHBhbmRlZC52YWx1ZS5jb250ZW50XCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCIhbGFzdFwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8L2E+XG4gICAgPC9kYngtYW5jaG9yPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW5hdi1saXN0PlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9ybGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvcm91dGVyL2xheW91dC9hbmNob3JsaXN0L2FuY2hvcmxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvYW5jaG9ybGlzdC9hbmNob3JsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRixPQUFPLEVBQTRELDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQU83SDs7R0FFRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFLVSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTdELHFCQUFnQixHQUE4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkYsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDUiw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxDQUFpQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLDBCQUEwQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEosT0FBTyxDQUFnQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUNILEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7S0FVSDtJQVJDLElBQ0ksT0FBTyxDQUFDLE9BQXlDO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7b0hBckJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHVGQ2hCbkMsODFCQWNBOzRGREVhLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBa0J2QixPQUFPO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaWNrYWJsZUFuY2hvckxpbmtUcmVlLCBFeHBhbmRlZENsaWNrYWJsZUFuY2hvckxpbmtUcmVlLCBleHBhbmRDbGlja2FibGVBbmNob3JMaW5rVHJlZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEFuY2hvckxpc3RFeHBhbmRlZEFuY2hvciBleHRlbmRzIEV4cGFuZGVkQ2xpY2thYmxlQW5jaG9yTGlua1RyZWUge1xuICBjbGFzc2VzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBsaXN0IG9mIENsaWNrYWJsZUFuY2hvckxpbmsgdmFsdWVzIHdpdGhpbiBhIE1hdE5hdkxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1hbmNob3ItbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmNob3JsaXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhBbmNob3JMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1RyZWVbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGV4cGFuZGVkQW5jaG9ycyQ6IE9ic2VydmFibGU8RGJ4QW5jaG9yTGlzdEV4cGFuZGVkQW5jaG9yW10+ID0gdGhpcy5fYW5jaG9ycy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKCh4KSA9PlxuICAgICAgZXhwYW5kQ2xpY2thYmxlQW5jaG9yTGlua1RyZWVzKHgpLm1hcCgoeSkgPT4ge1xuICAgICAgICAoeSBhcyBEYnhBbmNob3JMaXN0RXhwYW5kZWRBbmNob3IpLmNsYXNzZXMgPSBgJHt5LmRlcHRoID4gMCA/IGBkYngtYW5jaG9yLWxpc3QtY2hpbGRgIDogJ2RieC1hbmNob3ItbGlzdC1yb290J30gZGJ4LWFuY2hvci1saXN0LWRlcHRoLSR7eS5kZXB0aH1gO1xuICAgICAgICByZXR1cm4geSBhcyBEYnhBbmNob3JMaXN0RXhwYW5kZWRBbmNob3I7XG4gICAgICB9KVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBzZXQgYW5jaG9ycyhhbmNob3JzOiBNYXliZTxDbGlja2FibGVBbmNob3JMaW5rVHJlZVtdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FuY2hvcnMuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdCBjbGFzcz1cImRieC1hbmNob3ItbGlzdFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBleHBhbmRlZCBvZiBleHBhbmRlZEFuY2hvcnMkIHwgYXN5bmM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxkYngtYW5jaG9yIFthbmNob3JdPVwiZXhwYW5kZWQudmFsdWVcIiBbbmdDbGFzc109XCJleHBhbmRlZC5jbGFzc2VzXCI+XG4gICAgICA8YSBtYXQtbGlzdC1pdGVtIFtkaXNhYmxlZF09XCJleHBhbmRlZC52YWx1ZS5kaXNhYmxlZFwiPlxuICAgICAgICA8bWF0LWljb24gbWF0LWxpc3QtaWNvbiAqbmdJZj1cImV4cGFuZGVkLnZhbHVlLmljb25cIj57eyBleHBhbmRlZC52YWx1ZS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPCEtLSBUT0RPOiBBZGQgYW4gaWNvbiBmcm9tIGEgbGV0dGVyIGlmIGFuY2hvci5pY29uIGlzIHVuYXZhaWxhYmxlLiAtLT5cbiAgICAgICAgPGRpdiBtYXQtbGluZT57eyBleHBhbmRlZC52YWx1ZS50aXRsZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWhpbnQgZGJ4LXNtYWxsXCIgKm5nSWY9XCJleHBhbmRlZC52YWx1ZS5oaW50XCIgbWF0LWxpbmU+e3sgZXhwYW5kZWQudmFsdWUuaGludCB9fTwvZGl2PlxuICAgICAgICA8ZGJ4LWluamVjdGlvbiAqbmdJZj1cImV4cGFuZGVkLnZhbHVlLmNvbnRlbnRcIiBtYXQtbGluZSBbY29uZmlnXT1cImV4cGFuZGVkLnZhbHVlLmNvbnRlbnRcIj48L2RieC1pbmplY3Rpb24+XG4gICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cIiFsYXN0XCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvYT5cbiAgICA8L2RieC1hbmNob3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=