@dereekb/dbx-web 10.0.23 → 10.1.0

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.
Files changed (42) hide show
  1. package/calendar/package.json +1 -1
  2. package/esm2022/lib/extension/download/index.mjs +2 -0
  3. package/esm2022/lib/extension/download/text/download.text.component.mjs +126 -0
  4. package/esm2022/lib/extension/download/text/download.text.mjs +2 -0
  5. package/esm2022/lib/extension/download/text/download.text.module.mjs +42 -0
  6. package/esm2022/lib/extension/download/text/index.mjs +4 -0
  7. package/esm2022/lib/extension/index.mjs +3 -2
  8. package/esm2022/lib/layout/content/content.pit.directive.mjs +8 -5
  9. package/esm2022/lib/layout/list/index.mjs +4 -1
  10. package/esm2022/lib/layout/list/list.grid.view.component.mjs +13 -11
  11. package/esm2022/lib/layout/list/list.layout.module.mjs +41 -45
  12. package/esm2022/lib/layout/list/list.view.value.component.mjs +126 -22
  13. package/esm2022/lib/layout/list/list.view.value.group.mjs +32 -0
  14. package/esm2022/lib/layout/list/list.view.value.group.title.directive.mjs +132 -0
  15. package/esm2022/lib/layout/list/list.view.value.group.title.mjs +2 -0
  16. package/esm2022/lib/layout/list/list.view.value.selection.component.mjs +20 -13
  17. package/esm2022/lib/loading/loading-progress.component.mjs +4 -4
  18. package/fesm2022/dereekb-dbx-web.mjs +522 -115
  19. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  20. package/lib/extension/download/index.d.ts +1 -0
  21. package/lib/extension/download/text/download.text.component.d.ts +40 -0
  22. package/lib/extension/download/text/download.text.component.scss +0 -0
  23. package/lib/extension/download/text/download.text.d.ts +5 -0
  24. package/lib/extension/download/text/download.text.module.d.ts +12 -0
  25. package/lib/extension/download/text/index.d.ts +3 -0
  26. package/lib/extension/index.d.ts +1 -0
  27. package/lib/layout/content/_content.scss +6 -0
  28. package/lib/layout/content/content.pit.directive.d.ts +3 -1
  29. package/lib/layout/list/_list.scss +40 -0
  30. package/lib/layout/list/index.d.ts +3 -0
  31. package/lib/layout/list/list.grid.view.component.d.ts +4 -4
  32. package/lib/layout/list/list.layout.module.d.ts +15 -14
  33. package/lib/layout/list/list.view.value.component.d.ts +39 -8
  34. package/lib/layout/list/list.view.value.group.d.ts +44 -0
  35. package/lib/layout/list/list.view.value.group.title.d.ts +49 -0
  36. package/lib/layout/list/list.view.value.group.title.directive.d.ts +31 -0
  37. package/lib/layout/list/list.view.value.selection.component.d.ts +6 -5
  38. package/lib/layout/style/_style.scss +4 -0
  39. package/lib/loading/_loading.scss +4 -0
  40. package/mapbox/package.json +1 -1
  41. package/package.json +1 -1
  42. package/table/package.json +1 -1
@@ -1,14 +1,17 @@
1
- import { Component, Input } from '@angular/core';
2
- import { shareReplay, map } from 'rxjs';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, Optional } from '@angular/core';
2
+ import { shareReplay, map, BehaviorSubject, switchMap } from 'rxjs';
3
3
  import { AbstractDbxValueListViewDirective } from './list.view.value.directive';
4
4
  import { AnchorType, anchorTypeForAnchor } from '@dereekb/dbx-core';
5
5
  import { DbxListView } from './list.view';
6
+ import { spaceSeparatedCssClasses } from '@dereekb/util';
7
+ import { DbxValueListViewGroupDelegate, defaultDbxValueListViewGroupDelegate } from './list.view.value.group';
8
+ import { asObservable } from '@dereekb/rxjs';
6
9
  import * as i0 from "@angular/core";
7
10
  import * as i1 from "@angular/common";
8
11
  import * as i2 from "./list.view";
9
- import * as i3 from "../../router/layout/anchor/anchor.component";
10
- import * as i4 from "@dereekb/dbx-core";
11
- import * as i5 from "@angular/material/list";
12
+ import * as i3 from "@angular/material/list";
13
+ import * as i4 from "../../router/layout/anchor/anchor.component";
14
+ import * as i5 from "@dereekb/dbx-core";
12
15
  import * as i6 from "@angular/material/icon";
13
16
  /**
14
17
  * Renders a list view using input configuration. Requires a parent DbxListView.
@@ -21,7 +24,7 @@ export class DbxValueListViewComponent extends AbstractDbxValueListViewDirective
21
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
25
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxValueListViewComponent, selector: "dbx-list-view", usesInheritance: true, ngImport: i0, template: `
23
26
  <dbx-list-view-content [items]="items$ | async" [emitAllClicks]="emitAllClicks$ | async"></dbx-list-view-content>
24
- `, isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(function () { return DbxValueListItemViewComponent; }), selector: "dbx-list-view-content", inputs: ["emitAllClicks", "items"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] }); }
27
+ `, isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(function () { return DbxValueListViewContentComponent; }), selector: "dbx-list-view-content", inputs: ["emitAllClicks", "items"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] }); }
25
28
  }
26
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewComponent, decorators: [{
27
30
  type: Component,
@@ -35,13 +38,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35
38
  /**
36
39
  * Content view for a DbxValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
37
40
  */
38
- export class DbxValueListItemViewComponent {
39
- constructor(dbxListView) {
41
+ export class DbxValueListViewContentComponent {
42
+ constructor(dbxListView, inputDbxListGroupDelegate) {
40
43
  this.dbxListView = dbxListView;
44
+ this._items = new BehaviorSubject(undefined);
45
+ this.groups$ = this._items.pipe(switchMap((items) => asObservable(this._dbxListGroupDelegate.groupValues(items ?? []))), shareReplay(1));
41
46
  this.disabled$ = this.dbxListView.disabled$;
47
+ this.trackGroupByFunction = (_, v) => {
48
+ return v.id; // track by the id
49
+ };
50
+ this._dbxListGroupDelegate = inputDbxListGroupDelegate ?? defaultDbxValueListViewGroupDelegate();
42
51
  const trackBy = dbxListView.trackBy;
43
52
  this.trackByFunction = trackBy ? (index, item) => trackBy(index, item.itemValue) : () => undefined;
44
53
  }
54
+ ngOnDestroy() {
55
+ this._items.complete();
56
+ }
57
+ get items() {
58
+ return this._items.value;
59
+ }
60
+ set items(items) {
61
+ this._items.next(items);
62
+ }
45
63
  onClickItem(item) {
46
64
  // do not emit clicks for disabled items.
47
65
  if (!item.disabled) {
@@ -57,39 +75,125 @@ export class DbxValueListItemViewComponent {
57
75
  rippleDisabledOnItem(item) {
58
76
  return item.rippleDisabled || (!this.emitAllClicks && !item.anchor);
59
77
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListItemViewComponent, deps: [{ token: i2.DbxListView }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxValueListItemViewComponent, selector: "dbx-list-view-content", inputs: { emitAllClicks: "emitAllClicks", items: "items" }, host: { classAttribute: "dbx-list-view" }, ngImport: i0, template: `
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewContentComponent, deps: [{ token: i2.DbxListView }, { token: DbxValueListViewGroupDelegate, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxValueListViewContentComponent, selector: "dbx-list-view-content", inputs: { emitAllClicks: "emitAllClicks", items: "items" }, host: { classAttribute: "dbx-list-view" }, ngImport: i0, template: `
62
80
  <mat-nav-list [disabled]="disabled$ | async">
81
+ <ng-container *ngFor="let group of groups$ | async; trackBy: trackGroupByFunction">
82
+ <dbx-list-view-content-group [group]="group"></dbx-list-view-content-group>
83
+ </ng-container>
84
+ </mat-nav-list>
85
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return i3.MatNavList; }), selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i0.forwardRef(function () { return DbxValueListViewContentGroupComponent; }), selector: "dbx-list-view-content-group", inputs: ["group"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewContentComponent, decorators: [{
88
+ type: Component,
89
+ args: [{
90
+ selector: 'dbx-list-view-content',
91
+ template: `
92
+ <mat-nav-list [disabled]="disabled$ | async">
93
+ <ng-container *ngFor="let group of groups$ | async; trackBy: trackGroupByFunction">
94
+ <dbx-list-view-content-group [group]="group"></dbx-list-view-content-group>
95
+ </ng-container>
96
+ </mat-nav-list>
97
+ `,
98
+ host: {
99
+ class: 'dbx-list-view'
100
+ },
101
+ changeDetection: ChangeDetectionStrategy.OnPush
102
+ }]
103
+ }], ctorParameters: function () { return [{ type: i2.DbxListView }, { type: undefined, decorators: [{
104
+ type: Optional
105
+ }, {
106
+ type: Inject,
107
+ args: [DbxValueListViewGroupDelegate]
108
+ }] }]; }, propDecorators: { emitAllClicks: [{
109
+ type: Input
110
+ }], items: [{
111
+ type: Input
112
+ }] } });
113
+ /**
114
+ * Content view for a DbxValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
115
+ */
116
+ export class DbxValueListViewContentGroupComponent {
117
+ get cssClasses() {
118
+ return this._cssClasses;
119
+ }
120
+ get items() {
121
+ return this._group?.items;
122
+ }
123
+ get headerConfig() {
124
+ return this._group?.headerConfig;
125
+ }
126
+ get footerConfig() {
127
+ return this._group?.footerConfig;
128
+ }
129
+ constructor(dbxValueListViewContentComponent, cdRef) {
130
+ this.dbxValueListViewContentComponent = dbxValueListViewContentComponent;
131
+ this.cdRef = cdRef;
132
+ this.disabled$ = this.dbxValueListViewContentComponent.disabled$;
133
+ this.trackByFunction = this.dbxValueListViewContentComponent.trackByFunction;
134
+ }
135
+ get group() {
136
+ return this._group;
137
+ }
138
+ set group(group) {
139
+ this._group = group;
140
+ this._cssClasses = spaceSeparatedCssClasses(group?.cssClasses);
141
+ this.cdRef.markForCheck();
142
+ }
143
+ onClickItem(item) {
144
+ this.dbxValueListViewContentComponent.onClickItem(item);
145
+ }
146
+ onClickValue(value) {
147
+ this.dbxValueListViewContentComponent.onClickValue(value);
148
+ }
149
+ rippleDisabledOnItem(item) {
150
+ return this.dbxValueListViewContentComponent.rippleDisabledOnItem(item);
151
+ }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewContentGroupComponent, deps: [{ token: DbxValueListViewContentComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxValueListViewContentGroupComponent, selector: "dbx-list-view-content-group", inputs: { group: "group" }, host: { properties: { "class": "cssClasses" }, classAttribute: "dbx-list-view-group" }, ngImport: i0, template: `
154
+ <div class="dbx-list-view-group-content">
155
+ <div class="dbx-list-view-group-header" *ngIf="headerConfig">
156
+ <dbx-injection [config]="headerConfig"></dbx-injection>
157
+ </div>
63
158
  <dbx-anchor *ngFor="let item of items; trackBy: trackByFunction" [anchor]="item.anchor" [disabled]="item.disabled">
64
159
  <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
65
160
  <mat-icon matListItemIcon *ngIf="item.icon">{{ item.icon }}</mat-icon>
66
161
  <dbx-injection [config]="item.config"></dbx-injection>
67
162
  </a>
68
163
  </dbx-anchor>
69
- </mat-nav-list>
70
- `, isInline: true, dependencies: [{ 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: i3.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: i4.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i5.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
164
+ <div class="dbx-list-view-group-footer" *ngIf="footerConfig">
165
+ <dbx-injection [config]="footerConfig"></dbx-injection>
166
+ </div>
167
+ </div>
168
+ `, isInline: true, dependencies: [{ 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: i4.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: i5.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
169
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListItemViewComponent, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxValueListViewContentGroupComponent, decorators: [{
73
171
  type: Component,
74
172
  args: [{
75
- selector: 'dbx-list-view-content',
173
+ selector: 'dbx-list-view-content-group',
76
174
  template: `
77
- <mat-nav-list [disabled]="disabled$ | async">
175
+ <div class="dbx-list-view-group-content">
176
+ <div class="dbx-list-view-group-header" *ngIf="headerConfig">
177
+ <dbx-injection [config]="headerConfig"></dbx-injection>
178
+ </div>
78
179
  <dbx-anchor *ngFor="let item of items; trackBy: trackByFunction" [anchor]="item.anchor" [disabled]="item.disabled">
79
180
  <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
80
181
  <mat-icon matListItemIcon *ngIf="item.icon">{{ item.icon }}</mat-icon>
81
182
  <dbx-injection [config]="item.config"></dbx-injection>
82
183
  </a>
83
184
  </dbx-anchor>
84
- </mat-nav-list>
185
+ <div class="dbx-list-view-group-footer" *ngIf="footerConfig">
186
+ <dbx-injection [config]="footerConfig"></dbx-injection>
187
+ </div>
188
+ </div>
85
189
  `,
86
190
  host: {
87
- class: 'dbx-list-view'
88
- }
191
+ class: 'dbx-list-view-group',
192
+ '[class]': 'cssClasses'
193
+ },
194
+ changeDetection: ChangeDetectionStrategy.OnPush
89
195
  }]
90
- }], ctorParameters: function () { return [{ type: i2.DbxListView }]; }, propDecorators: { emitAllClicks: [{
91
- type: Input
92
- }], items: [{
196
+ }], ctorParameters: function () { return [{ type: DbxValueListViewContentComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { group: [{
93
197
  type: Input
94
198
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFPMUM7O0dBRUc7QUFPSCxNQUFNLE9BQU8seUJBQTRLLFNBQVEsaUNBQTZDO0lBTjlPOztRQU9XLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUMzQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQUNIOytHQUxZLHlCQUF5QjttR0FBekIseUJBQXlCLDRFQUoxQjs7R0FFVCwrRkE0QlUsNkJBQTZCOzs0RkExQjdCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOztHQUVUO2lCQUNGOztBQVFEOztHQUVHO0FBaUJILE1BQU0sT0FBTyw2QkFBNkI7SUFXeEMsWUFBcUIsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBSnZDLGNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUs5QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxJQUFrQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzNJLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBTztRQUNqQix5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQUssRUFBRTtnQkFDL0YsK0RBQStEO2dCQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFRO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBTztRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQzsrR0FoQ1UsNkJBQTZCO21HQUE3Qiw2QkFBNkIsb0tBZDlCOzs7Ozs7Ozs7R0FTVDs7NEZBS1UsNkJBQTZCO2tCQWhCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7aUJBQ0Y7a0dBR0MsYUFBYTtzQkFEWixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRyYWNrQnlGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnLCBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuY2hvclR5cGUsIGFuY2hvclR5cGVGb3JBbmNob3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0VmlldyB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJLCBWPiB7XG4gIGVtaXRBbGxDbGlja3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBsaXN0IHZpZXcgdXNpbmcgaW5wdXQgY29uZmlndXJhdGlvbi4gUmVxdWlyZXMgYSBwYXJlbnQgRGJ4TGlzdFZpZXcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtbGlzdC12aWV3LWNvbnRlbnQgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCIgW2VtaXRBbGxDbGlja3NdPVwiZW1pdEFsbENsaWNrcyQgfCBhc3luY1wiPjwvZGJ4LWxpc3Qtdmlldy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFZhbHVlTGlzdFZpZXdDb21wb25lbnQ8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+LCBWID0gdW5rbm93biwgQyBleHRlbmRzIERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSwgVj4gPSBEYnhWYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+PiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxULCBJLCBWLCBDPiB7XG4gIHJlYWRvbmx5IGVtaXRBbGxDbGlja3MkID0gdGhpcy5jb25maWckLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmVtaXRBbGxDbGlja3MpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG59XG5cbi8qKlxuICogQ29udGVudCB2aWV3IGZvciBhIERieFZhbHVlTGlzdFZpZXcuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluIGNhc2VzIHdoZXJlIHRoZSBpdGVtcyBhcmUgYWxyZWFkeSBjb25maWd1cmVkLCBvciB3YW50IHRvIGJlIGNvbmZpZ3VyZWQgaW4gYSBub24tc3RhbmRhcmQgZmFzaGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3Qtdmlldy1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LW5hdi1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiPlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGdW5jdGlvblwiIFthbmNob3JdPVwiaXRlbS5hbmNob3JcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICA8YSBtYXQtbGlzdC1pdGVtIGNsYXNzPVwiZGJ4LWxpc3Qtdmlldy1pdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbZGlzYWJsZVJpcHBsZV09XCJyaXBwbGVEaXNhYmxlZE9uSXRlbShpdGVtKVwiIChjbGljayk9XCJvbkNsaWNrSXRlbShpdGVtKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaXRlbS5jb25maWdcIj48L2RieC1pbmplY3Rpb24+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGJ4LWFuY2hvcj5cbiAgICA8L21hdC1uYXYtbGlzdD5cbiAgYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWxpc3QtdmlldydcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhWYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudDxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4+IHtcbiAgQElucHV0KClcbiAgZW1pdEFsbENsaWNrcz86IE1heWJlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zPzogTWF5YmU8RGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdPjtcblxuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLmRieExpc3RWaWV3LmRpc2FibGVkJDtcblxuICByZWFkb25seSB0cmFja0J5RnVuY3Rpb246IFRyYWNrQnlGdW5jdGlvbjxEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnPFQsIEk+PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhMaXN0VmlldzogRGJ4TGlzdFZpZXc8VD4pIHtcbiAgICBjb25zdCB0cmFja0J5ID0gZGJ4TGlzdFZpZXcudHJhY2tCeTtcbiAgICB0aGlzLnRyYWNrQnlGdW5jdGlvbiA9IHRyYWNrQnkgPyAoaW5kZXg6IG51bWJlciwgaXRlbTogRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPikgPT4gdHJhY2tCeShpbmRleCwgaXRlbS5pdGVtVmFsdWUpIDogKCkgPT4gdW5kZWZpbmVkO1xuICB9XG5cbiAgb25DbGlja0l0ZW0oaXRlbTogSSkge1xuICAgIC8vIGRvIG5vdCBlbWl0IGNsaWNrcyBmb3IgZGlzYWJsZWQgaXRlbXMuXG4gICAgaWYgKCFpdGVtLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5lbWl0QWxsQ2xpY2tzIHx8ICFpdGVtLmFuY2hvciB8fCBhbmNob3JUeXBlRm9yQW5jaG9yKGl0ZW0uYW5jaG9yKSA9PT0gQW5jaG9yVHlwZS5QTEFJTikge1xuICAgICAgICAvLyBvbmx5IGVtaXQgY2xpY2tzIGZvciBpdGVtcyB3aXRoIG5vIGFuY2hvciwgb3IgcGxhaW4gYW5jaG9ycy5cbiAgICAgICAgdGhpcy5vbkNsaWNrVmFsdWUoaXRlbS5pdGVtVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tWYWx1ZSh2YWx1ZTogVCkge1xuICAgIHRoaXMuZGJ4TGlzdFZpZXcuY2xpY2tWYWx1ZT8ubmV4dCh2YWx1ZSk7XG4gIH1cblxuICByaXBwbGVEaXNhYmxlZE9uSXRlbShpdGVtOiBJKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0ucmlwcGxlRGlzYWJsZWQgfHwgKCF0aGlzLmVtaXRBbGxDbGlja3MgJiYgIWl0ZW0uYW5jaG9yKTtcbiAgfVxufVxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFjLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFtQyx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXlCLDZCQUE2QixFQUFFLG9DQUFvQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFNN0M7O0dBRUc7QUFPSCxNQUFNLE9BQU8seUJBQTRLLFNBQVEsaUNBQTZDO0lBTjlPOztRQU9XLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUMzQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQUNIOytHQUxZLHlCQUF5QjttR0FBekIseUJBQXlCLDRFQUoxQjs7R0FFVCwrRkEwQlUsZ0NBQWdDOzs0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QUMsS0FBUTtRQUNuQixJQUFJLENBQUMsZ0NBQWdDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFPO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdDQUFnQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7K0dBakRVLHFDQUFxQzttR0FBckMscUNBQXFDLHVMQXRCdEM7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzs0RkFPVSxxQ0FBcUM7a0JBeEJqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLFNBQVMsRUFBRSxZQUFZO3FCQUN4QjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7b0pBOEJLLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVHJhY2tCeUZ1bmN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgbWFwLCBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnLCBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuY2hvclR5cGUsIGFuY2hvclR5cGVGb3JBbmNob3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0VmlldyB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlLCBTcGFjZVNlcGFyYXRlZENzc0NsYXNzZXMsIHNwYWNlU2VwYXJhdGVkQ3NzQ2xhc3NlcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbUdyb3VwLCBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZSwgZGVmYXVsdERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZ3JvdXAnO1xuaW1wb3J0IHsgYXNPYnNlcnZhYmxlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJLCBWPiB7XG4gIGVtaXRBbGxDbGlja3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBsaXN0IHZpZXcgdXNpbmcgaW5wdXQgY29uZmlndXJhdGlvbi4gUmVxdWlyZXMgYSBwYXJlbnQgRGJ4TGlzdFZpZXcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtbGlzdC12aWV3LWNvbnRlbnQgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCIgW2VtaXRBbGxDbGlja3NdPVwiZW1pdEFsbENsaWNrcyQgfCBhc3luY1wiPjwvZGJ4LWxpc3Qtdmlldy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFZhbHVlTGlzdFZpZXdDb21wb25lbnQ8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+LCBWID0gdW5rbm93biwgQyBleHRlbmRzIERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSwgVj4gPSBEYnhWYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+PiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxULCBJLCBWLCBDPiB7XG4gIHJlYWRvbmx5IGVtaXRBbGxDbGlja3MkID0gdGhpcy5jb25maWckLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmVtaXRBbGxDbGlja3MpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG59XG5cbi8qKlxuICogQ29udGVudCB2aWV3IGZvciBhIERieFZhbHVlTGlzdFZpZXcuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluIGNhc2VzIHdoZXJlIHRoZSBpdGVtcyBhcmUgYWxyZWFkeSBjb25maWd1cmVkLCBvciB3YW50IHRvIGJlIGNvbmZpZ3VyZWQgaW4gYSBub24tc3RhbmRhcmQgZmFzaGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3Qtdmlldy1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LW5hdi1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0dyb3VwQnlGdW5jdGlvblwiPlxuICAgICAgICA8ZGJ4LWxpc3Qtdmlldy1jb250ZW50LWdyb3VwIFtncm91cF09XCJncm91cFwiPjwvZGJ4LWxpc3Qtdmlldy1jb250ZW50LWdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtbmF2LWxpc3Q+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1saXN0LXZpZXcnXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERieFZhbHVlTGlzdFZpZXdDb250ZW50Q29tcG9uZW50PFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPj4ge1xuICByZWFkb25seSBfZGJ4TGlzdEdyb3VwRGVsZWdhdGU6IERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlPGFueSwgVCwgST47XG5cbiAgcHJpdmF0ZSBfaXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXT4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZ3JvdXBzJDogT2JzZXJ2YWJsZTxEYnhWYWx1ZUxpc3RJdGVtR3JvdXA8YW55LCBULCBJPltdPiA9IHRoaXMuX2l0ZW1zLnBpcGUoXG4gICAgc3dpdGNoTWFwKChpdGVtcykgPT4gYXNPYnNlcnZhYmxlKHRoaXMuX2RieExpc3RHcm91cERlbGVnYXRlLmdyb3VwVmFsdWVzKGl0ZW1zID8/IFtdKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgQElucHV0KClcbiAgZW1pdEFsbENsaWNrcz86IE1heWJlPGJvb2xlYW4+O1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRoaXMuZGJ4TGlzdFZpZXcuZGlzYWJsZWQkO1xuXG4gIHJlYWRvbmx5IHRyYWNrQnlGdW5jdGlvbjogVHJhY2tCeUZ1bmN0aW9uPERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST4+O1xuICByZWFkb25seSB0cmFja0dyb3VwQnlGdW5jdGlvbjogVHJhY2tCeUZ1bmN0aW9uPERieFZhbHVlTGlzdEl0ZW1Hcm91cDxhbnksIFQsIEk+PiA9IChfLCB2KSA9PiB7XG4gICAgcmV0dXJuIHYuaWQ7IC8vIHRyYWNrIGJ5IHRoZSBpZFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieExpc3RWaWV3OiBEYnhMaXN0VmlldzxUPiwgQE9wdGlvbmFsKCkgQEluamVjdChEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZSkgaW5wdXREYnhMaXN0R3JvdXBEZWxlZ2F0ZTogTWF5YmU8RGJ4VmFsdWVMaXN0Vmlld0dyb3VwRGVsZWdhdGU8YW55LCBULCBJPj4pIHtcbiAgICB0aGlzLl9kYnhMaXN0R3JvdXBEZWxlZ2F0ZSA9IGlucHV0RGJ4TGlzdEdyb3VwRGVsZWdhdGUgPz8gZGVmYXVsdERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlKCk7XG4gICAgY29uc3QgdHJhY2tCeSA9IGRieExpc3RWaWV3LnRyYWNrQnk7XG4gICAgdGhpcy50cmFja0J5RnVuY3Rpb24gPSB0cmFja0J5ID8gKGluZGV4OiBudW1iZXIsIGl0ZW06IERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST4pID0+IHRyYWNrQnkoaW5kZXgsIGl0ZW0uaXRlbVZhbHVlKSA6ICgpID0+IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2l0ZW1zLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgaXRlbXMoKTogTWF5YmU8RGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLnZhbHVlO1xuICB9XG5cbiAgc2V0IGl0ZW1zKGl0ZW1zOiBNYXliZTxEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnPFQsIEk+W10+KSB7XG4gICAgdGhpcy5faXRlbXMubmV4dChpdGVtcyk7XG4gIH1cblxuICBvbkNsaWNrSXRlbShpdGVtOiBJKSB7XG4gICAgLy8gZG8gbm90IGVtaXQgY2xpY2tzIGZvciBkaXNhYmxlZCBpdGVtcy5cbiAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLmVtaXRBbGxDbGlja3MgfHwgIWl0ZW0uYW5jaG9yIHx8IGFuY2hvclR5cGVGb3JBbmNob3IoaXRlbS5hbmNob3IpID09PSBBbmNob3JUeXBlLlBMQUlOKSB7XG4gICAgICAgIC8vIG9ubHkgZW1pdCBjbGlja3MgZm9yIGl0ZW1zIHdpdGggbm8gYW5jaG9yLCBvciBwbGFpbiBhbmNob3JzLlxuICAgICAgICB0aGlzLm9uQ2xpY2tWYWx1ZShpdGVtLml0ZW1WYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1ZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5kYnhMaXN0Vmlldy5jbGlja1ZhbHVlPy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHJpcHBsZURpc2FibGVkT25JdGVtKGl0ZW06IEkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS5yaXBwbGVEaXNhYmxlZCB8fCAoIXRoaXMuZW1pdEFsbENsaWNrcyAmJiAhaXRlbS5hbmNob3IpO1xuICB9XG59XG5cbi8qKlxuICogQ29udGVudCB2aWV3IGZvciBhIERieFZhbHVlTGlzdFZpZXcuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluIGNhc2VzIHdoZXJlIHRoZSBpdGVtcyBhcmUgYWxyZWFkeSBjb25maWd1cmVkLCBvciB3YW50IHRvIGJlIGNvbmZpZ3VyZWQgaW4gYSBub24tc3RhbmRhcmQgZmFzaGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3Qtdmlldy1jb250ZW50LWdyb3VwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWxpc3Qtdmlldy1ncm91cC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWxpc3Qtdmlldy1ncm91cC1oZWFkZXJcIiAqbmdJZj1cImhlYWRlckNvbmZpZ1wiPlxuICAgICAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cImhlYWRlckNvbmZpZ1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGdW5jdGlvblwiIFthbmNob3JdPVwiaXRlbS5hbmNob3JcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICA8YSBtYXQtbGlzdC1pdGVtIGNsYXNzPVwiZGJ4LWxpc3Qtdmlldy1pdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbZGlzYWJsZVJpcHBsZV09XCJyaXBwbGVEaXNhYmxlZE9uSXRlbShpdGVtKVwiIChjbGljayk9XCJvbkNsaWNrSXRlbShpdGVtKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaXRlbS5jb25maWdcIj48L2RieC1pbmplY3Rpb24+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGJ4LWFuY2hvcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC12aWV3LWdyb3VwLWZvb3RlclwiICpuZ0lmPVwiZm9vdGVyQ29uZmlnXCI+XG4gICAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1saXN0LXZpZXctZ3JvdXAnLFxuICAgICdbY2xhc3NdJzogJ2Nzc0NsYXNzZXMnXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERieFZhbHVlTGlzdFZpZXdDb250ZW50R3JvdXBDb21wb25lbnQ8RywgVCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiB7XG4gIHByaXZhdGUgX2dyb3VwOiBNYXliZTxEYnhWYWx1ZUxpc3RJdGVtR3JvdXA8RywgVCwgST4+O1xuICBwcml2YXRlIF9jc3NDbGFzc2VzOiBNYXliZTxTcGFjZVNlcGFyYXRlZENzc0NsYXNzZXM+O1xuXG4gIGdldCBjc3NDbGFzc2VzKCkge1xuICAgIHJldHVybiB0aGlzLl9jc3NDbGFzc2VzO1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCk6IE1heWJlPERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXT4ge1xuICAgIHJldHVybiB0aGlzLl9ncm91cD8uaXRlbXM7XG4gIH1cblxuICBnZXQgaGVhZGVyQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9ncm91cD8uaGVhZGVyQ29uZmlnO1xuICB9XG5cbiAgZ2V0IGZvb3RlckNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXA/LmZvb3RlckNvbmZpZztcbiAgfVxuXG4gIHJlYWRvbmx5IGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgdHJhY2tCeUZ1bmN0aW9uOiBUcmFja0J5RnVuY3Rpb248RGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPj47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4VmFsdWVMaXN0Vmlld0NvbnRlbnRDb21wb25lbnQ6IERieFZhbHVlTGlzdFZpZXdDb250ZW50Q29tcG9uZW50PFQ+LCByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmRpc2FibGVkJCA9IHRoaXMuZGJ4VmFsdWVMaXN0Vmlld0NvbnRlbnRDb21wb25lbnQuZGlzYWJsZWQkO1xuICAgIHRoaXMudHJhY2tCeUZ1bmN0aW9uID0gdGhpcy5kYnhWYWx1ZUxpc3RWaWV3Q29udGVudENvbXBvbmVudC50cmFja0J5RnVuY3Rpb247XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZ3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwO1xuICB9XG5cbiAgc2V0IGdyb3VwKGdyb3VwOiBNYXliZTxEYnhWYWx1ZUxpc3RJdGVtR3JvdXA8RywgVCwgST4+KSB7XG4gICAgdGhpcy5fZ3JvdXAgPSBncm91cDtcbiAgICB0aGlzLl9jc3NDbGFzc2VzID0gc3BhY2VTZXBhcmF0ZWRDc3NDbGFzc2VzKGdyb3VwPy5jc3NDbGFzc2VzKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DbGlja0l0ZW0oaXRlbTogSSkge1xuICAgIHRoaXMuZGJ4VmFsdWVMaXN0Vmlld0NvbnRlbnRDb21wb25lbnQub25DbGlja0l0ZW0oaXRlbSk7XG4gIH1cblxuICBvbkNsaWNrVmFsdWUodmFsdWU6IFQpIHtcbiAgICB0aGlzLmRieFZhbHVlTGlzdFZpZXdDb250ZW50Q29tcG9uZW50Lm9uQ2xpY2tWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICByaXBwbGVEaXNhYmxlZE9uSXRlbShpdGVtOiBJKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGJ4VmFsdWVMaXN0Vmlld0NvbnRlbnRDb21wb25lbnQucmlwcGxlRGlzYWJsZWRPbkl0ZW0oaXRlbSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { forwardRef } from '@angular/core';
2
+ export const defaultDbxValueListViewGroupValuesFunction = (items) => {
3
+ const data = {};
4
+ const result = {
5
+ id: '_',
6
+ data,
7
+ items
8
+ };
9
+ return [result];
10
+ };
11
+ /**
12
+ * Interface for a view that renders the items of a DbxList.
13
+ */
14
+ export class DbxValueListViewGroupDelegate {
15
+ }
16
+ export function defaultDbxValueListViewGroupDelegate() {
17
+ const result = {
18
+ groupValues: defaultDbxValueListViewGroupValuesFunction
19
+ };
20
+ return result;
21
+ }
22
+ // eslint-disable-next-line
23
+ export function provideDbxValueListViewGroupDelegate(sourceType) {
24
+ // use of any here is allowed as typings are not relevant for providers
25
+ return [
26
+ {
27
+ provide: DbxValueListViewGroupDelegate,
28
+ useExisting: forwardRef(() => sourceType)
29
+ }
30
+ ];
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy52YWx1ZS5ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBbUMsS0FBcUMsRUFBRSxFQUFFO0lBQ3BJLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLE1BQU0sR0FBeUM7UUFDbkQsRUFBRSxFQUFFLEdBQUc7UUFDUCxJQUFJO1FBQ0osS0FBSztLQUNOLENBQUM7SUFFRixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLDZCQUE2QjtDQUtsRDtBQUVELE1BQU0sVUFBVSxvQ0FBb0M7SUFDbEQsTUFBTSxNQUFNLEdBQUc7UUFDYixXQUFXLEVBQUUsMENBQTBDO0tBQ3hELENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsMkJBQTJCO0FBQzNCLE1BQU0sVUFBVSxvQ0FBb0MsQ0FBOEQsVUFBbUI7SUFDbkksdUVBQXVFO0lBQ3ZFLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSw2QkFBNkI7WUFDdEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENzc0NsYXNzZXNBcnJheSwgTWF5YmUsIFVuaXF1ZU1vZGVsIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RJdGVtLCBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgUHJvdmlkZXIsIFR5cGUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogQSBncm91cCBvZiBEYnhWYWx1ZUxpc3RJdGVtIHZhbHVlcywgZ3JvdXBlZCBieSBjb21tb24gZGF0YSwgbmFtZSwgYW5kIGlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieFZhbHVlTGlzdEl0ZW1Hcm91cDxHLCBULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiwgSCA9IHVua25vd24sIEYgPSB1bmtub3duPiBleHRlbmRzIE9taXQ8RGJ4VmFsdWVMaXN0SXRlbTxhbnk+LCAnaXRlbVZhbHVlJyB8ICdpY29uJz4sIFJlYWRvbmx5PFJlcXVpcmVkPFVuaXF1ZU1vZGVsPj4ge1xuICByZWFkb25seSBkYXRhOiBHO1xuICByZWFkb25seSBpdGVtczogRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBWaWV3IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBncm91cCdzIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWRlckNvbmZpZz86IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxIPj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFZpZXcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGdyb3VwJ3MgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9vdGVyQ29uZmlnPzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPEY+PjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGdyb3VwJ3MgaXRlbXMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICByZWFkb25seSBzaG93R3JvdXBJdGVtcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gYWxsIGdyb3Vwcy5cbiAgICovXG4gIHJlYWRvbmx5IGNzc0NsYXNzZXM/OiBDc3NDbGFzc2VzQXJyYXk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgRGJ4VmFsdWVMaXN0SXRlbUdyb3VwIHZhbHVlcyBmcm9tIGEgbGlzdCBvZiBpdGVtcy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4VmFsdWVMaXN0Vmlld0dyb3VwVmFsdWVzRnVuY3Rpb248RywgVCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4sIEggPSB1bmtub3duLCBGID0gdW5rbm93bj4gPSAoaXRlbXM6IERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXSkgPT4gT2JzZXJ2YWJsZU9yVmFsdWU8RGJ4VmFsdWVMaXN0SXRlbUdyb3VwPEcsIFQsIEksIEgsIEY+W10+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdERieFZhbHVlTGlzdFZpZXdHcm91cFZhbHVlc0Z1bmN0aW9uID0gPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+PihpdGVtczogRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7fTtcbiAgY29uc3QgcmVzdWx0OiBEYnhWYWx1ZUxpc3RJdGVtR3JvdXA8dW5rbm93biwgVCwgST4gPSB7XG4gICAgaWQ6ICdfJyxcbiAgICBkYXRhLFxuICAgIGl0ZW1zXG4gIH07XG5cbiAgcmV0dXJuIFtyZXN1bHRdO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGEgdmlldyB0aGF0IHJlbmRlcnMgdGhlIGl0ZW1zIG9mIGEgRGJ4TGlzdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlPEcsIFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPiwgSCA9IHVua25vd24sIEYgPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBHcm91cHMgYWxsIGlucHV0IGl0ZW1zIGludG8gZ3JvdXBzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZ3JvdXBWYWx1ZXM6IERieFZhbHVlTGlzdFZpZXdHcm91cFZhbHVlc0Z1bmN0aW9uPEcsIFQsIEksIEgsIEY+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+PigpOiBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZTxhbnksIFQsIEk+IHtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGdyb3VwVmFsdWVzOiBkZWZhdWx0RGJ4VmFsdWVMaXN0Vmlld0dyb3VwVmFsdWVzRnVuY3Rpb25cbiAgfTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4VmFsdWVMaXN0Vmlld0dyb3VwRGVsZWdhdGU8RCBleHRlbmRzIERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlPGFueSwgYW55LCBhbnksIGFueT4+KHNvdXJjZVR5cGU6IFR5cGU8RD4pOiBQcm92aWRlcltdIHtcbiAgLy8gdXNlIG9mIGFueSBoZXJlIGlzIGFsbG93ZWQgYXMgdHlwaW5ncyBhcmUgbm90IHJlbGV2YW50IGZvciBwcm92aWRlcnNcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gICAgfVxuICBdO1xufVxuIl19
@@ -0,0 +1,132 @@
1
+ import { Directive, Input, InjectionToken, Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
+ import { provideDbxValueListViewGroupDelegate } from './list.view.value.group';
3
+ import { BehaviorSubject, map } from 'rxjs';
4
+ import { compareWithMappedValuesFunction, makeValuesGroupMap } from '@dereekb/util';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/material/icon";
8
+ export const DBX_LIST_TITLE_GROUP_DATA = new InjectionToken('DbxListTitleGroupData');
9
+ /**
10
+ * Delegate used to for grouping DbxValueListItemConfig<T, I> values.
11
+ */
12
+ export class DbxListTitleGroupDirective {
13
+ constructor() {
14
+ this._delegate = new BehaviorSubject(undefined);
15
+ this.groupValues = (items) => {
16
+ return this._delegate.pipe(map((delegate) => {
17
+ let groups;
18
+ if (delegate != null) {
19
+ const groupsValuesMap = makeValuesGroupMap(items, delegate.groupValueForItem);
20
+ const { sortGroupsByData, cssClasses: inputCssClasses } = delegate;
21
+ const cssClassesForAllGroups = inputCssClasses ?? [];
22
+ const componentClass = delegate.headerComponentClass ?? DbxListTitleGroupHeaderComponent;
23
+ groups = Array.from(groupsValuesMap.entries()).map(([value, items]) => {
24
+ const data = delegate.dataForGroupValue(value, items);
25
+ data.value = value;
26
+ const cssClasses = data.cssClasses ? [...cssClassesForAllGroups, ...data.cssClasses] : cssClassesForAllGroups;
27
+ const group = {
28
+ id: String(value),
29
+ data,
30
+ items,
31
+ headerConfig: {
32
+ componentClass,
33
+ providers: [
34
+ {
35
+ provide: DBX_LIST_TITLE_GROUP_DATA,
36
+ useValue: data
37
+ }
38
+ ]
39
+ },
40
+ cssClasses
41
+ };
42
+ return group;
43
+ });
44
+ if (sortGroupsByData) {
45
+ groups.sort(compareWithMappedValuesFunction((x) => x.data, sortGroupsByData));
46
+ }
47
+ }
48
+ else {
49
+ groups = [
50
+ {
51
+ id: '_',
52
+ data: { value: null, title: '' },
53
+ items
54
+ }
55
+ ];
56
+ }
57
+ return groups;
58
+ }));
59
+ };
60
+ }
61
+ ngOnDestroy() {
62
+ this._delegate.complete();
63
+ }
64
+ get delegate() {
65
+ return this._delegate.value;
66
+ }
67
+ set delegate(delegate) {
68
+ this._delegate.next(delegate);
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListTitleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxListTitleGroupDirective, selector: "[dbxListTitleGroup]", inputs: { delegate: ["dbxListTitleGroup", "delegate"] }, providers: [provideDbxValueListViewGroupDelegate(DbxListTitleGroupDirective)], ngImport: i0 }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListTitleGroupDirective, decorators: [{
74
+ type: Directive,
75
+ args: [{
76
+ selector: '[dbxListTitleGroup]',
77
+ providers: [provideDbxValueListViewGroupDelegate(DbxListTitleGroupDirective)]
78
+ }]
79
+ }], propDecorators: { delegate: [{
80
+ type: Input,
81
+ args: ['dbxListTitleGroup']
82
+ }] } });
83
+ /**
84
+ *
85
+ */
86
+ export class DbxListTitleGroupHeaderComponent {
87
+ get icon() {
88
+ return this.data.icon;
89
+ }
90
+ get title() {
91
+ return this.data.title;
92
+ }
93
+ get hint() {
94
+ return this.data.hint;
95
+ }
96
+ constructor(data) {
97
+ this.data = data;
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListTitleGroupHeaderComponent, deps: [{ token: DBX_LIST_TITLE_GROUP_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListTitleGroupHeaderComponent, selector: "dbx-list-title-group-header", host: { classAttribute: "dbx-list-title-group-header" }, ngImport: i0, template: `
101
+ <div class="dbx-list-item-padded dbx-list-two-line-item">
102
+ <mat-icon class="item-icon" *ngIf="icon">{{ icon }}</mat-icon>
103
+ <div class="item-left">
104
+ <div class="mat-subtitle-2">{{ title }}</div>
105
+ <div *ngIf="hint" class="item-details">{{ hint }}</div>
106
+ </div>
107
+ </div>
108
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListTitleGroupHeaderComponent, decorators: [{
111
+ type: Component,
112
+ args: [{
113
+ selector: 'dbx-list-title-group-header',
114
+ template: `
115
+ <div class="dbx-list-item-padded dbx-list-two-line-item">
116
+ <mat-icon class="item-icon" *ngIf="icon">{{ icon }}</mat-icon>
117
+ <div class="item-left">
118
+ <div class="mat-subtitle-2">{{ title }}</div>
119
+ <div *ngIf="hint" class="item-details">{{ hint }}</div>
120
+ </div>
121
+ </div>
122
+ `,
123
+ changeDetection: ChangeDetectionStrategy.OnPush,
124
+ host: {
125
+ class: 'dbx-list-title-group-header'
126
+ }
127
+ }]
128
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
129
+ type: Inject,
130
+ args: [DBX_LIST_TITLE_GROUP_DATA]
131
+ }] }]; } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmdyb3VwLnRpdGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUuZ3JvdXAudGl0bGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBNkYsb0NBQW9DLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxSyxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQWlDLCtCQUErQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBR25ILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFVLHVCQUF1QixDQUFDLENBQUM7QUFFOUY7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS1UsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFvRCxTQUFTLENBQUMsQ0FBQztRQUU3RixnQkFBVyxHQUFtRSxDQUFDLEtBQXFDLEVBQUUsRUFBRTtZQUMvSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDZixJQUFJLE1BQXdDLENBQUM7Z0JBRTdDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtvQkFDcEIsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUM5RSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxH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LGtCQWF2Qix5QkFBeUI7bUdBYmxDLGdDQUFnQyw0SEFkakM7Ozs7Ozs7O0dBUVQ7OzRGQU1VLGdDQUFnQztrQkFoQjVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7aUJBQ0Y7OzBCQWNjLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgSW5qZWN0aW9uVG9rZW4sIENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZyB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlJztcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW1Hcm91cCwgRGJ4VmFsdWVMaXN0Vmlld0dyb3VwRGVsZWdhdGUsIERieFZhbHVlTGlzdFZpZXdHcm91cFZhbHVlc0Z1bmN0aW9uLCBwcm92aWRlRGJ4VmFsdWVMaXN0Vmlld0dyb3VwRGVsZWdhdGUgfSBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5ncm91cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnVpbGRpbmcsIE1heWJlLCBQcmltYXRpdmVLZXksIGNvbXBhcmVXaXRoTWFwcGVkVmFsdWVzRnVuY3Rpb24sIG1ha2VWYWx1ZXNHcm91cE1hcCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4TGlzdFRpdGxlR3JvdXBEYXRhLCBEYnhMaXN0VGl0bGVHcm91cFRpdGxlRGVsZWdhdGUgfSBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5ncm91cC50aXRsZSc7XG5cbmV4cG9ydCBjb25zdCBEQlhfTElTVF9USVRMRV9HUk9VUF9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPHVua25vd24+KCdEYnhMaXN0VGl0bGVHcm91cERhdGEnKTtcblxuLyoqXG4gKiBEZWxlZ2F0ZSB1c2VkIHRvIGZvciBncm91cGluZyBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnPFQsIEk+IHZhbHVlcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieExpc3RUaXRsZUdyb3VwXScsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZShEYnhMaXN0VGl0bGVHcm91cERpcmVjdGl2ZSldXG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RUaXRsZUdyb3VwRGlyZWN0aXZlPFQsIE8gZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXksIEQgZXh0ZW5kcyBEYnhMaXN0VGl0bGVHcm91cERhdGE8Tz4gPSBEYnhMaXN0VGl0bGVHcm91cERhdGE8Tz4sIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPj4gaW1wbGVtZW50cyBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZTxELCBULCBJPiB7XG4gIHByaXZhdGUgX2RlbGVnYXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0VGl0bGVHcm91cFRpdGxlRGVsZWdhdGU8VCwgTywgRCwgST4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGdyb3VwVmFsdWVzOiBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBWYWx1ZXNGdW5jdGlvbjxELCBULCBJLCB1bmtub3duLCB1bmtub3duPiA9IChpdGVtczogRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnBpcGUoXG4gICAgICBtYXAoKGRlbGVnYXRlKSA9PiB7XG4gICAgICAgIGxldCBncm91cHM6IERieFZhbHVlTGlzdEl0ZW1Hcm91cDxELCBULCBJPltdO1xuXG4gICAgICAgIGlmIChkZWxlZ2F0ZSAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZ3JvdXBzVmFsdWVzTWFwID0gbWFrZVZhbHVlc0dyb3VwTWFwKGl0ZW1zLCBkZWxlZ2F0ZS5ncm91cFZhbHVlRm9ySXRlbSk7XG4gICAgICAgICAgY29uc3QgeyBzb3J0R3JvdXBzQnlEYXRhLCBjc3NDbGFzc2VzOiBpbnB1dENzc0NsYXNzZXMgfSA9IGRlbGVnYXRlO1xuICAgICAgICAgIGNvbnN0IGNzc0NsYXNzZXNGb3JBbGxHcm91cHMgPSBpbnB1dENzc0NsYXNzZXMgPz8gW107XG5cbiAgICAgICAgICBjb25zdCBjb21wb25lbnRDbGFzcyA9IGRlbGVnYXRlLmhlYWRlckNvbXBvbmVudENsYXNzID8/IERieExpc3RUaXRsZUdyb3VwSGVhZGVyQ29tcG9uZW50O1xuICAgICAgICAgIGdyb3VwcyA9IEFycmF5LmZyb20oZ3JvdXBzVmFsdWVzTWFwLmVudHJpZXMoKSkubWFwKChbdmFsdWUsIGl0ZW1zXSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGRlbGVnYXRlLmRhdGFGb3JHcm91cFZhbHVlKHZhbHVlIGFzIE8sIGl0ZW1zKTtcbiAgICAgICAgICAgIChkYXRhIGFzIEJ1aWxkaW5nPEQ+KS52YWx1ZSA9IHZhbHVlIGFzIE87XG4gICAgICAgICAgICBjb25zdCBjc3NDbGFzc2VzID0gZGF0YS5jc3NDbGFzc2VzID8gWy4uLmNzc0NsYXNzZXNGb3JBbGxHcm91cHMsIC4uLmRhdGEuY3NzQ2xhc3Nlc10gOiBjc3NDbGFzc2VzRm9yQWxsR3JvdXBzO1xuXG4gICAgICAgICAgICBjb25zdCBncm91cDogRGJ4VmFsdWVMaXN0SXRlbUdyb3VwPEQsIFQsIEk+ID0ge1xuICAgICAgICAgICAgICBpZDogU3RyaW5nKHZhbHVlKSxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudENsYXNzLFxuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBEQlhfTElTVF9USVRMRV9HUk9VUF9EQVRBLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogZGF0YVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY3NzQ2xhc3Nlc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNvcnRHcm91cHNCeURhdGEpIHtcbiAgICAgICAgICAgIGdyb3Vwcy5zb3J0KGNvbXBhcmVXaXRoTWFwcGVkVmFsdWVzRnVuY3Rpb24oKHgpID0+IHguZGF0YSwgc29ydEdyb3Vwc0J5RGF0YSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBncm91cHMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnXycsXG4gICAgICAgICAgICAgIGRhdGE6IHsgdmFsdWU6IG51bGwgYXMgYW55LCB0aXRsZTogJycgfSBhcyBELFxuICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3JvdXBzO1xuICAgICAgfSlcbiAgICApO1xuICB9O1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RlbGVnYXRlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASW5wdXQoJ2RieExpc3RUaXRsZUdyb3VwJylcbiAgZ2V0IGRlbGVnYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBkZWxlZ2F0ZShkZWxlZ2F0ZTogTWF5YmU8RGJ4TGlzdFRpdGxlR3JvdXBUaXRsZURlbGVnYXRlPFQsIE8sIEQsIEk+Pikge1xuICAgIHRoaXMuX2RlbGVnYXRlLm5leHQoZGVsZWdhdGUpO1xuICB9XG59XG5cbi8qKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3QtdGl0bGUtZ3JvdXAtaGVhZGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWxpc3QtaXRlbS1wYWRkZWQgZGJ4LWxpc3QtdHdvLWxpbmUtaXRlbVwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaXRlbS1pY29uXCIgKm5nSWY9XCJpY29uXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1sZWZ0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtc3VidGl0bGUtMlwiPnt7IHRpdGxlIH19PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj57eyBoaW50IH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1saXN0LXRpdGxlLWdyb3VwLWhlYWRlcidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0VGl0bGVHcm91cEhlYWRlckNvbXBvbmVudDxPIGV4dGVuZHMgUHJpbWF0aXZlS2V5LCBEIGV4dGVuZHMgRGJ4TGlzdFRpdGxlR3JvdXBEYXRhPE8+PiB7XG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuaWNvbjtcbiAgfVxuXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnRpdGxlO1xuICB9XG5cbiAgZ2V0IGhpbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5oaW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChEQlhfTElTVF9USVRMRV9HUk9VUF9EQVRBKSByZWFkb25seSBkYXRhOiBEKSB7fVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmdyb3VwLnRpdGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy52YWx1ZS5ncm91cC50aXRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpbWF0aXZlS2V5LCBTb3J0Q29tcGFyZUZ1bmN0aW9uLCBDc3NDbGFzc2VzQXJyYXkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW0sIERieFZhbHVlTGlzdEl0ZW1Db25maWcgfSBmcm9tICcuL2xpc3Qudmlldy52YWx1ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TGlzdFRpdGxlR3JvdXBEYXRhPE8gZXh0ZW5kcyBQcmltYXRpdmVLZXk+IHtcbiAgLyoqXG4gICAqIERhdGEgVmFsdWUuIFNob3VsZCBnZW5lcmFsbHkgYmUgZGVmaW5lZCwgYnV0IGNhbiBiZSBudWxsIGlmIHRoZSBncm91cCBpcyBhIGRlZmF1bHQgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZTogTztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGljb24gdG8gc2hvdyBhdCB0aGUgbGVmdC5cbiAgICovXG4gIHJlYWRvbmx5IGljb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGhpbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gQ1NTIGNsYXNzZXMgdG8gYXBwbHkgb25seSB0byB0aGlzIGdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3Nlcz86IENzc0NsYXNzZXNBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0VGl0bGVHcm91cFRpdGxlRGVsZWdhdGU8VCwgTyBleHRlbmRzIFByaW1hdGl2ZUtleSwgRCBleHRlbmRzIERieExpc3RUaXRsZUdyb3VwRGF0YTxPPiA9IERieExpc3RUaXRsZUdyb3VwRGF0YTxPPiwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGEga2V5IHZhbHVlIGZvciB0aGUgaW5wdXQgaXRlbS4gSWYgdGhlIGl0ZW0gZG9lcyBub3QgYmVsb25nIHRvIGEgZ3JvdXAsIHJldHVybnMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVhZG9ubHkgZ3JvdXBWYWx1ZUZvckl0ZW06IChpdGVtOiBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnPFQsIEk+KSA9PiBPO1xuICAvKipcbiAgICogQ29udmVydHMgYSBrZXkgdmFsdWUgdG8gYSBEYnhMaXN0VGl0bGVHcm91cERhdGEgZm9yIGEgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUZvckdyb3VwVmFsdWU6ICh2YWx1ZTogTywgaXRlbXM6IERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXSkgPT4gRDtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgc29ydCBmdW5jdGlvbiBmb3Igc29ydGluZyBncm91cHMgYnkgdGhlaXIgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IHNvcnRHcm91cHNCeURhdGE/OiBTb3J0Q29tcGFyZUZ1bmN0aW9uPEQ+O1xuICAvKipcbiAgICogQ3VzdG9tIGhlYWRlciBjb21wb25lbnQgY2xhc3MgdG8gaW5qZWN0LlxuICAgKlxuICAgKiBEYnhMaXN0VGl0bGVHcm91cEhlYWRlckNvbXBvbmVudCBpcyBpbmplY3RlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZGVyQ29tcG9uZW50Q2xhc3M/OiBUeXBlPHVua25vd24+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDU1MgY2xhc3NlcyB0byBhcHBseSB0byB0aGUgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSBjc3NDbGFzc2VzPzogQ3NzQ2xhc3Nlc0FycmF5O1xufVxuIl19
@@ -1,8 +1,9 @@
1
1
  import { map, shareReplay, distinctUntilChanged, of } from 'rxjs';
2
- import { Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';
3
3
  import { DbxListView } from './list.view';
4
4
  import { AbstractDbxValueListViewDirective } from './list.view.value.directive';
5
- import { DbxValueListItemViewComponent } from './list.view.value.component';
5
+ import { DbxValueListViewContentComponent } from './list.view.value.component';
6
+ import { DbxValueListViewGroupDelegate } from './list.view.value.group';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
9
  import * as i2 from "./list.view";
@@ -22,7 +23,7 @@ export class DbxSelectionValueListViewComponent extends AbstractDbxValueListView
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
24
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view", usesInheritance: true, ngImport: i0, template: `
24
25
  <dbx-selection-list-view-content [selectionMode]="selectionMode$ | async" [multiple]="multiple$ | async" [items]="items$ | async"></dbx-selection-list-view-content>
25
- `, isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(function () { return DbxSelectionValueListItemViewComponent; }), selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] }); }
26
+ `, isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(function () { return DbxSelectionValueListViewContentComponent; }), selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] }); }
26
27
  }
27
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListViewComponent, decorators: [{
28
29
  type: Component,
@@ -36,9 +37,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
36
37
  /**
37
38
  * Content view for a DbxSelectionValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
38
39
  */
39
- export class DbxSelectionValueListItemViewComponent extends DbxValueListItemViewComponent {
40
- constructor(dbxListView) {
41
- super(dbxListView);
40
+ export class DbxSelectionValueListViewContentComponent extends DbxValueListViewContentComponent {
41
+ constructor(dbxListView, inputDbxListGroupDelegate) {
42
+ super(dbxListView, inputDbxListGroupDelegate);
42
43
  if (!dbxListView.selectionChange) {
43
44
  throw new Error('Parent dbxListView to DbxSelectionValueListViewComponent has no selectionChange emitter.');
44
45
  }
@@ -54,8 +55,8 @@ export class DbxSelectionValueListItemViewComponent extends DbxValueListItemView
54
55
  items
55
56
  });
56
57
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListItemViewComponent, deps: [{ token: i2.DbxListView }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: { multiple: "multiple", selectionMode: "selectionMode" }, host: { classAttribute: "dbx-list-view dbx-selection-list-view" }, usesInheritance: true, ngImport: i0, template: `
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListViewContentComponent, deps: [{ token: i2.DbxListView }, { token: DbxValueListViewGroupDelegate, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxSelectionValueListViewContentComponent, selector: "dbx-selection-list-view-content", inputs: { multiple: "multiple", selectionMode: "selectionMode" }, host: { classAttribute: "dbx-list-view dbx-selection-list-view" }, usesInheritance: true, ngImport: i0, template: `
59
60
  <ng-container [ngSwitch]="selectionMode">
60
61
  <ng-container *ngSwitchCase="'view'">
61
62
  <dbx-list-view-content [items]="items"></dbx-list-view-content>
@@ -69,9 +70,9 @@ export class DbxSelectionValueListItemViewComponent extends DbxValueListItemView
69
70
  </mat-selection-list>
70
71
  </ng-container>
71
72
  </ng-container>
72
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.DbxValueListItemViewComponent, selector: "dbx-list-view-content", inputs: ["emitAllClicks", "items"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
73
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.DbxValueListViewContentComponent, selector: "dbx-list-view-content", inputs: ["emitAllClicks", "items"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
74
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListItemViewComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSelectionValueListViewContentComponent, decorators: [{
75
76
  type: Component,
76
77
  args: [{
77
78
  selector: 'dbx-selection-list-view-content',
@@ -92,11 +93,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
93
  `,
93
94
  host: {
94
95
  class: 'dbx-list-view dbx-selection-list-view'
95
- }
96
+ },
97
+ changeDetection: ChangeDetectionStrategy.OnPush
96
98
  }]
97
- }], ctorParameters: function () { return [{ type: i2.DbxListView }]; }, propDecorators: { multiple: [{
99
+ }], ctorParameters: function () { return [{ type: i2.DbxListView }, { type: undefined, decorators: [{
100
+ type: Optional
101
+ }, {
102
+ type: Inject,
103
+ args: [DbxValueListViewGroupDelegate]
104
+ }] }]; }, propDecorators: { multiple: [{
98
105
  type: Input
99
106
  }], selectionMode: [{
100
107
  type: Input
101
108
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQXdCLFdBQVcsRUFBOEMsTUFBTSxhQUFhLENBQUM7QUFFNUcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBTTVFOztHQUVHO0FBT0gsTUFBTSxPQUFPLGtDQUF3RyxTQUFRLGlDQUFvRjtJQU5qTjs7UUFPVyxtQkFBYyxHQUFxQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxRQUFnQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUN6QixvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ08sY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEVBQzlCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0tBQ0g7K0dBVlksa0NBQWtDO21HQUFsQyxrQ0FBa0Msc0ZBSm5DOztHQUVULCtGQXNDVSxzQ0FBc0M7OzRGQXBDdEMsa0NBQWtDO2tCQU45QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRTs7R0FFVDtpQkFDRjs7QUFhRDs7R0FFRztBQXNCSCxNQUFNLE9BQU8sc0NBQTBDLFNBQVEsNkJBQWdDO0lBTzdGLFlBQVksV0FBMkI7UUFDckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFpQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQWdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUF1RCxDQUFDLElBQUksQ0FBQztZQUM3RSwwQkFBMEI7WUFDMUIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBMUJVLHNDQUFzQzttR0FBdEMsc0NBQXNDLG1PQW5CdkM7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7OzRGQUtVLHNDQUFzQztrQkFyQmxELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsdUNBQXVDO3FCQUMvQztpQkFDRjtrR0FHQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IERieExpc3RTZWxlY3Rpb25Nb2RlLCBEYnhMaXN0VmlldywgTGlzdFNlbGVjdGlvblN0YXRlLCBMaXN0U2VsZWN0aW9uU3RhdGVJdGVtIH0gZnJvbSAnLi9saXN0LnZpZXcnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJLCBWPiB7XG4gIHJlYWRvbmx5IG11bHRpcGxlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgc2VsZWN0aW9uIGxpc3QgdmlldyB1c2luZyBpbnB1dCBjb25maWd1cmF0aW9uLiBSZXF1aXJlcyBhIHBhcmVudCBEYnhMaXN0Vmlldy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtc2VsZWN0aW9uLWxpc3Qtdmlldy1jb250ZW50IFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGUkIHwgYXN5bmNcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGUkIHwgYXN5bmNcIiBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIj48L2RieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQ+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbXBvbmVudDxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxULCBJLCBWLCBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+PiB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkOiBPYnNlcnZhYmxlPERieExpc3RTZWxlY3Rpb25Nb2RlPiA9ICh0aGlzLmRieExpc3RWaWV3LnNlbGVjdGlvbk1vZGUkID8/IG9mKCdzZWxlY3QnIGFzIERieExpc3RTZWxlY3Rpb25Nb2RlKSkucGlwZShcbiAgICBtYXAoKHgpID0+IHggPz8gJ3NlbGVjdCcpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcbiAgcmVhZG9ubHkgbXVsdGlwbGUkID0gdGhpcy5jb25maWckLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Lm11bHRpcGxlID8/IHRydWUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDb250ZW50IHZpZXcgZm9yIGEgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlldy4gSXQgY2FuIGJlIHVzZWQgZGlyZWN0bHkgaW4gY2FzZXMgd2hlcmUgdGhlIGl0ZW1zIGFyZSBhbHJlYWR5IGNvbmZpZ3VyZWQsIG9yIHdhbnQgdG8gYmUgY29uZmlndXJlZCBpbiBhIG5vbi1zdGFuZGFyZCBmYXNoaW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtc2VsZWN0aW9uLWxpc3Qtdmlldy1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3Rpb25Nb2RlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndmlldydcIj5cbiAgICAgICAgPGRieC1saXN0LXZpZXctY29udGVudCBbaXRlbXNdPVwiaXRlbXNcIj48L2RieC1saXN0LXZpZXctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwibWF0U2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBjbGFzcz1cImRieC1saXN0LXZpZXctaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiB0cmFja0J5RnVuY3Rpb25cIiBbc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgW3ZhbHVlXT1cIml0ZW0uaXRlbVZhbHVlXCIgKGNsaWNrKT1cIm9uQ2xpY2tWYWx1ZShpdGVtLml0ZW1WYWx1ZSlcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJpdGVtLmNvbmZpZ1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWxpc3QtdmlldyBkYngtc2VsZWN0aW9uLWxpc3QtdmlldydcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudDxUPiBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW1WaWV3Q29tcG9uZW50PFQ+IHtcbiAgQElucHV0KClcbiAgbXVsdGlwbGU/OiBNYXliZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICBzZWxlY3Rpb25Nb2RlOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT47XG5cbiAgY29uc3RydWN0b3IoZGJ4TGlzdFZpZXc6IERieExpc3RWaWV3PFQ+KSB7XG4gICAgc3VwZXIoZGJ4TGlzdFZpZXcpO1xuXG4gICAgaWYgKCFkYnhMaXN0Vmlldy5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGFyZW50IGRieExpc3RWaWV3IHRvIERieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb21wb25lbnQgaGFzIG5vIHNlbGVjdGlvbkNoYW5nZSBlbWl0dGVyLicpO1xuICAgIH1cbiAgfVxuXG4gIG1hdFNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHNlbGVjdGlvbi5zb3VyY2Uuc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIGNvbnN0IGl0ZW1zOiBMaXN0U2VsZWN0aW9uU3RhdGVJdGVtPFQ+W10gPSBvcHRpb25zLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZTogaXRlbVZhbHVlLCBzZWxlY3RlZCwgZGlzYWJsZWQgfSA9IHg7XG4gICAgICByZXR1cm4geyBpdGVtVmFsdWUsIHNlbGVjdGVkLCBkaXNhYmxlZCB9O1xuICAgIH0pO1xuXG4gICAgKHRoaXMuZGJ4TGlzdFZpZXcuc2VsZWN0aW9uQ2hhbmdlIGFzIEV2ZW50RW1pdHRlcjxMaXN0U2VsZWN0aW9uU3RhdGU8VD4+KS5uZXh0KHtcbiAgICAgIC8vIGFzc2VydGVkIGluIGNvbnN0cnVjdG9yXG4gICAgICBpdGVtc1xuICAgIH0pO1xuICB9XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWdCLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBd0IsV0FBVyxFQUE4QyxNQUFNLGFBQWEsQ0FBQztBQUU1RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFNeEU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sa0NBQXdHLFNBQVEsaUNBQW9GO0lBTmpOOztRQU9XLG1CQUFjLEdBQXFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLFFBQWdDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEVBQ3pCLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFDTyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7S0FDSDsrR0FWWSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyxzRkFKbkM7O0dBRVQsK0ZBdUNVLHlDQUF5Qzs7NEZBckN6QyxrQ0FBa0M7a0JBTjlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOztHQUVUO2lCQUNGOztBQWFEOztHQUVHO0FBdUJILE1BQU0sT0FBTyx5Q0FBa0csU0FBUSxnQ0FBc0M7SUFPM0osWUFBWSxXQUEyQixFQUFxRCx5QkFBMEU7UUFDcEssS0FBSyxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFpQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQWdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUF1RCxDQUFDLElBQUksQ0FBQztZQUM3RSwwQkFBMEI7WUFDMUIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBMUJVLHlDQUF5Qyw2Q0FPUyw2QkFBNkI7bUdBUC9FLHlDQUF5QyxtT0FwQjFDOzs7Ozs7Ozs7Ozs7OztHQWNUOzs0RkFNVSx5Q0FBeUM7a0JBdEJyRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7R0FjVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHVDQUF1QztxQkFDL0M7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFRMkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw2QkFBNkI7NENBTDFGLFFBQVE7c0JBRFAsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IERieExpc3RTZWxlY3Rpb25Nb2RlLCBEYnhMaXN0VmlldywgTGlzdFNlbGVjdGlvblN0YXRlLCBMaXN0U2VsZWN0aW9uU3RhdGVJdGVtIH0gZnJvbSAnLi9saXN0LnZpZXcnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RWaWV3R3JvdXBEZWxlZ2F0ZSB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmdyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPiwgViA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+IHtcbiAgcmVhZG9ubHkgbXVsdGlwbGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBzZWxlY3Rpb24gbGlzdCB2aWV3IHVzaW5nIGlucHV0IGNvbmZpZ3VyYXRpb24uIFJlcXVpcmVzIGEgcGFyZW50IERieExpc3RWaWV3LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtc2VsZWN0aW9uLWxpc3QtdmlldycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSQgfCBhc3luY1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZSQgfCBhc3luY1wiIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiPjwvZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXctY29udGVudD5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29tcG9uZW50PFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPiwgViA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlPFQsIEksIFYsIERieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSwgVj4+IHtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZSQ6IE9ic2VydmFibGU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+ID0gKHRoaXMuZGJ4TGlzdFZpZXcuc2VsZWN0aW9uTW9kZSQgPz8gb2YoJ3NlbGVjdCcgYXMgRGJ4TGlzdFNlbGVjdGlvbk1vZGUpKS5waXBlKFxuICAgIG1hcCgoeCkgPT4geCA/PyAnc2VsZWN0JyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuICByZWFkb25seSBtdWx0aXBsZSQgPSB0aGlzLmNvbmZpZyQucGlwZShcbiAgICBtYXAoKHgpID0+IHgubXVsdGlwbGUgPz8gdHJ1ZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xufVxuXG4vKipcbiAqIENvbnRlbnQgdmlldyBmb3IgYSBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3LiBJdCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbiBjYXNlcyB3aGVyZSB0aGUgaXRlbXMgYXJlIGFscmVhZHkgY29uZmlndXJlZCwgb3Igd2FudCB0byBiZSBjb25maWd1cmVkIGluIGEgbm9uLXN0YW5kYXJkIGZhc2hpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInNlbGVjdGlvbk1vZGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2aWV3J1wiPlxuICAgICAgICA8ZGJ4LWxpc3Qtdmlldy1jb250ZW50IFtpdGVtc109XCJpdGVtc1wiPjwvZGJ4LWxpc3Qtdmlldy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJtYXRTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIGNsYXNzPVwiZGJ4LWxpc3Qtdmlldy1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGdW5jdGlvblwiIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbdmFsdWVdPVwiaXRlbS5pdGVtVmFsdWVcIiAoY2xpY2spPVwib25DbGlja1ZhbHVlKGl0ZW0uaXRlbVZhbHVlKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiPnt7IGl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cIml0ZW0uY29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtbGlzdC12aWV3IGRieC1zZWxlY3Rpb24tbGlzdC12aWV3J1xuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29udGVudENvbXBvbmVudDxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4+IGV4dGVuZHMgRGJ4VmFsdWVMaXN0Vmlld0NvbnRlbnRDb21wb25lbnQ8VCwgST4ge1xuICBASW5wdXQoKVxuICBtdWx0aXBsZT86IE1heWJlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGlvbk1vZGU6IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcblxuICBjb25zdHJ1Y3RvcihkYnhMaXN0VmlldzogRGJ4TGlzdFZpZXc8VD4sIEBPcHRpb25hbCgpIEBJbmplY3QoRGJ4VmFsdWVMaXN0Vmlld0dyb3VwRGVsZWdhdGUpIGlucHV0RGJ4TGlzdEdyb3VwRGVsZWdhdGU6IE1heWJlPERieFZhbHVlTGlzdFZpZXdHcm91cERlbGVnYXRlPGFueSwgVCwgST4+KSB7XG4gICAgc3VwZXIoZGJ4TGlzdFZpZXcsIGlucHV0RGJ4TGlzdEdyb3VwRGVsZWdhdGUpO1xuXG4gICAgaWYgKCFkYnhMaXN0Vmlldy5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGFyZW50IGRieExpc3RWaWV3IHRvIERieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb21wb25lbnQgaGFzIG5vIHNlbGVjdGlvbkNoYW5nZSBlbWl0dGVyLicpO1xuICAgIH1cbiAgfVxuXG4gIG1hdFNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHNlbGVjdGlvbi5zb3VyY2Uuc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIGNvbnN0IGl0ZW1zOiBMaXN0U2VsZWN0aW9uU3RhdGVJdGVtPFQ+W10gPSBvcHRpb25zLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZTogaXRlbVZhbHVlLCBzZWxlY3RlZCwgZGlzYWJsZWQgfSA9IHg7XG4gICAgICByZXR1cm4geyBpdGVtVmFsdWUsIHNlbGVjdGVkLCBkaXNhYmxlZCB9O1xuICAgIH0pO1xuXG4gICAgKHRoaXMuZGJ4TGlzdFZpZXcuc2VsZWN0aW9uQ2hhbmdlIGFzIEV2ZW50RW1pdHRlcjxMaXN0U2VsZWN0aW9uU3RhdGU8VD4+KS5uZXh0KHtcbiAgICAgIC8vIGFzc2VydGVkIGluIGNvbnN0cnVjdG9yXG4gICAgICBpdGVtc1xuICAgIH0pO1xuICB9XG59XG4iXX0=