asksuite-citrus 3.11.4 → 3.12.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 (33) hide show
  1. package/esm2022/lib/components/accordion/extendable-panel/extendable-panel.component.mjs +2 -2
  2. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +2 -2
  3. package/esm2022/lib/components/avatar/avatar.component.mjs +2 -2
  4. package/esm2022/lib/components/box/box.component.mjs +2 -2
  5. package/esm2022/lib/components/button/button.component.mjs +2 -2
  6. package/esm2022/lib/components/character-counter/character-counter.component.mjs +2 -2
  7. package/esm2022/lib/components/checkbox/checkbox.component.mjs +2 -2
  8. package/esm2022/lib/components/chips/chips.component.mjs +2 -2
  9. package/esm2022/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.mjs +2 -2
  10. package/esm2022/lib/components/date-picker/date-picker.component.mjs +2 -2
  11. package/esm2022/lib/components/dropdown-container/dropdown-container.component.mjs +2 -2
  12. package/esm2022/lib/components/input/input.component.mjs +2 -2
  13. package/esm2022/lib/components/modal/confirmation-modal/confirmation-modal.component.mjs +2 -2
  14. package/esm2022/lib/components/modal/modal.component.mjs +2 -2
  15. package/esm2022/lib/components/pagination/pagination.component.mjs +2 -2
  16. package/esm2022/lib/components/phone-ddi/phone-ddi.component.mjs +2 -2
  17. package/esm2022/lib/components/richtext-toolbox/richtext-toolbox.component.mjs +2 -2
  18. package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt.component.mjs +2 -2
  19. package/esm2022/lib/components/select/select.component.mjs +2 -2
  20. package/esm2022/lib/components/table/table.component.mjs +2 -2
  21. package/esm2022/lib/components/toast/toast.component.mjs +2 -2
  22. package/esm2022/lib/directives/ask-dropdown.directive.mjs +9 -9
  23. package/esm2022/lib/services/dynamic-dropdown/dynamic-dropdown.service.mjs +125 -0
  24. package/esm2022/lib/services/modal/modal.service.mjs +45 -6
  25. package/esm2022/public-api.mjs +2 -1
  26. package/fesm2022/asksuite-citrus.mjs +214 -57
  27. package/fesm2022/asksuite-citrus.mjs.map +1 -1
  28. package/lib/directives/ask-dropdown.directive.d.ts +1 -2
  29. package/lib/services/dynamic-dropdown/dynamic-dropdown.service.d.ts +62 -0
  30. package/lib/services/modal/modal.service.d.ts +7 -3
  31. package/package.json +1 -1
  32. package/public-api.d.ts +1 -0
  33. package/styles/colors.scss +1 -0
@@ -75,11 +75,16 @@ export class AskDropdownDirective {
75
75
  event.stopPropagation();
76
76
  });
77
77
  }
78
+ ngOnDestroy() {
79
+ this.close();
80
+ }
78
81
  showOnHoverIn() {
79
82
  if (this.dropdownOpenOnHover) {
80
83
  this.show();
81
84
  this.mouseLocation = this.onMouseMove(event);
82
- this.mouseDistanceSubscription = fromEvent(document.body, 'mousemove').subscribe((e) => {
85
+ fromEvent(document.body, 'mousemove')
86
+ .pipe(takeUntilDestroyed(this._destroyRef))
87
+ .subscribe((e) => {
83
88
  const mouseYCloseOn = Math.abs(this.mouseLocation.mouseY - e.pageY) <= this.mouseThreshold;
84
89
  const mouseXCloseOn = Math.abs(this.mouseLocation.mouseX - e.pageX) <= this.mouseThreshold;
85
90
  if (!(mouseYCloseOn && mouseXCloseOn)) {
@@ -101,7 +106,8 @@ export class AskDropdownDirective {
101
106
  this.containerRef = this.overlayRef.attach(new ComponentPortal(DropdownContainerComponent));
102
107
  this.containerRef.instance.content = this.askDropdown;
103
108
  if (this.dropdownOpenOnHover) {
104
- this.mouseOutSubscription = fromEvent(this.containerRef.location.nativeElement, 'mouseout')
109
+ fromEvent(this.containerRef.location.nativeElement, 'mouseout')
110
+ .pipe(takeUntilDestroyed(this._destroyRef))
105
111
  .subscribe((event) => {
106
112
  if (event.relatedTarget?.classList.contains('cdk-overlay-backdrop')) {
107
113
  this.close();
@@ -122,12 +128,6 @@ export class AskDropdownDirective {
122
128
  this.overlayRef.detach();
123
129
  this._isRendered = false;
124
130
  this.askDropdownOnClose.emit();
125
- if (this.mouseOutSubscription) {
126
- this.mouseOutSubscription.unsubscribe();
127
- }
128
- if (this.mouseDistanceSubscription) {
129
- this.mouseDistanceSubscription.unsubscribe();
130
- }
131
131
  }
132
132
  get isRendered() {
133
133
  return this._isRendered;
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
166
166
  type: HostListener,
167
167
  args: ['click']
168
168
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2RpcmVjdGl2ZXMvYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUV6RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBMkIsTUFBTSxNQUFNLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sb0JBQW9CO0lBeUIvQixZQUNVLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixXQUF1QjtRQUh2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTFCeEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQixpQkFBWSxHQUFzQixPQUFPLENBQUE7UUFDeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyxrQkFBYSxHQUFxQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3pFLGdCQUFXLEdBQVksS0FBSyxD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QUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7OEdBL0pVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjttS0FHVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBbUZBLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsWUFBWTtnQkFtQm5CLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsWUFBWTtnQkFRbkIsSUFBSTtzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHJvcGRvd25Db250YWluZXJDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0Nvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Fza0Ryb3Bkb3duXSdcbn0pXG5leHBvcnQgY2xhc3MgQXNrRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGFza0Ryb3Bkb3duPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZHJvcGRvd25OYW1lID0gJyc7XG4gIEBJbnB1dCgpIHBvc2l0aW9ucz86IEFycmF5PENvbm5lY3RlZFBvc2l0aW9uPiB8ICdUT1BfUklHSFQnIHwgJ1RPUF9MRUZUJyB8ICdCT1RUT01fUklHSFQnIHwgJ0JPVFRPTV9MRUZUJztcbiAgQElucHV0KCkgZHJvcGRvd25EaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bk9wZW5PbkhvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vdXNlVGhyZXNob2xkID0gMzAwO1xuICBASW5wdXQoKSBvcGVuU3RyYXRlZ3k6ICdjbGljaycgfCAnaG92ZXInID0gJ2NsaWNrJyBcbiAgQE91dHB1dCgpIGFza0Ryb3Bkb3duT25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJpdmF0ZSBtb3VzZUxvY2F0aW9uOiB7bW91c2VYOiBudW1iZXI7IG1vdXNlWTogbnVtYmVyfSA9IHttb3VzZVg6IDAsIG1vdXNlWTogMH07XG4gIHByaXZhdGUgX2lzUmVuZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XG4gIHByaXZhdGUgb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgY29udGFpbmVyUmVmITogQ29tcG9uZW50UmVmPERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBtb3VzZU91dFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBtb3VzZURpc3RhbmNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgQVZBSUxBQkxFX1BPU0lUSU9OUzogeyBUT1BfUklHSFQ6IENvbm5lY3RlZFBvc2l0aW9uOyBUT1BfTEVGVDogQ29ubmVjdGVkUG9zaXRpb247IEJPVFRPTV9SSUdIVDogQ29ubmVjdGVkUG9zaXRpb247IEJPVFRPTV9MRUZUOiBDb25uZWN0ZWRQb3NpdGlvbjsgfSA9IHtcbiAgICBUT1BfUklHSFQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtcmlnaHQnLCBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICBUT1BfTEVGVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLXRvcC1sZWZ0Jywgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgQk9UVE9NX1JJR0hUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tYm90dG9tLXJpZ2h0Jywgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIEJPVFRPTV9MRUZUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tYm90dG9tLWxlZnQnLCBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBfZGVzdHJveVJlZjogRGVzdHJveVJlZixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldE92ZXJsYXlDb25maWcoKTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmxpc3Rlbk91dHNpZGVDbGlja3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3ZlcmxheUNvbmZpZygpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLmdldE92ZXJsYXlQb3NpdGlvbigpKTtcblxuICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXG4gICAgdGhpcy5vdmVybGF5Q29uZmlnID0ge1xuICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuZHJvcGRvd25PcGVuT25Ib3ZlciA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3lcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5vdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIGlmICh0aGlzLnBvc2l0aW9ucykge1xuICAgICAgbGV0IGNob3NlblBvc2l0aW9uczogQXJyYXk8Q29ubmVjdGVkUG9zaXRpb24+ID0gW107XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3NpdGlvbnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNob3NlblBvc2l0aW9ucy5wdXNoKHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OU1t0aGlzLnBvc2l0aW9uc10pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMucG9zaXRpb25zKSkge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBbLi4udGhpcy5wb3NpdGlvbnNdO1xuICAgICAgfVxuXG4gICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBjaG9zZW5Qb3NpdGlvbnMuZmlsdGVyKHAgPT4gISFwKTtcblxuICAgICAgaWYgKGNob3NlblBvc2l0aW9ucy5sZW5ndGgpIHJldHVybiBjaG9zZW5Qb3NpdGlvbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OUy5CT1RUT01fUklHSFQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuQk9UVE9NX0xFRlQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuVE9QX1JJR0hULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLlRPUF9MRUZULFxuICAgIF1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuT3V0c2lkZUNsaWNrcygpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB9KVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHB1YmxpYyBzaG93T25Ib3ZlckluKCkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbk9uSG92ZXIpIHtcblxuICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB0aGlzLm1vdXNlTG9jYXRpb24gPSB0aGlzLm9uTW91c2VNb3ZlKGV2ZW50KVxuICAgICAgdGhpcy5tb3VzZURpc3RhbmNlU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdtb3VzZW1vdmUnKS5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuXG4gICAgICAgIGNvbnN0IG1vdXNlWUNsb3NlT24gPSBNYXRoLmFicyh0aGlzLm1vdXNlTG9jYXRpb24ubW91c2VZIC0gZS5wYWdlWSkgPD0gdGhpcy5tb3VzZVRocmVzaG9sZDtcbiAgICAgICAgY29uc3QgbW91c2VYQ2xvc2VPbiA9IE1hdGguYWJzKHRoaXMubW91c2VMb2NhdGlvbi5tb3VzZVggLSBlLnBhZ2VYKSA8PSB0aGlzLm1vdXNlVGhyZXNob2xkO1xuICAgICAgICBpZiAoIShtb3VzZVlDbG9zZU9uICYmIG1vdXNlWENsb3NlT24pKXtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIHB1YmxpYyBoaWRlT25Ib3Zlck91dCgpIHtcbiAgICBpZiAodGhpcy5vcGVuU3RyYXRlZ3kgPT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLmFza0Ryb3Bkb3duIHx8IHRoaXMuaXNSZW5kZXJlZCB8fCB0aGlzLmRyb3Bkb3duRGlzYWJsZWQgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb250YWluZXJSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoRHJvcGRvd25Db250YWluZXJDb21wb25lbnQpKTtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5hc2tEcm9wZG93bjtcbiAgICBpZiAodGhpcy5kcm9wZG93bk9wZW5PbkhvdmVyKSB7XG4gICAgICB0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdtb3VzZW91dCcpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdjZGstb3ZlcmxheS1iYWNrZHJvcCcpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IHRydWU7XG4gIH1cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBhbnkpOiB7bW91c2VYOiBudW1iZXI7IG1vdXNlWTogbnVtYmVyfSB7XG4gICAgY29uc3QgbG9jYXRpb24gPSB7XG4gICAgICBtb3VzZVg6IGV2ZW50LmNsaWVudFgsXG4gICAgICBtb3VzZVk6IGV2ZW50LnBhZ2VZXG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2F0aW9uO1xuICB9XG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLmNvbnRhaW5lclJlZiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXNrRHJvcGRvd25PbkNsb3NlLmVtaXQoKTtcblxuICAgIGlmICh0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vdXNlRGlzdGFuY2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubW91c2VEaXN0YW5jZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNSZW5kZXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNSZW5kZXJlZDtcbiAgfVxuXG59XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2RpcmVjdGl2ZXMvYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUV6RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBMkIsTUFBTSxNQUFNLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sb0JBQW9CO0lBdUIvQixZQUNVLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixXQUF1QjtRQUh2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXhCeEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQixpQkFBWSxHQUFzQixPQUFPLENBQUE7UUFDeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyxrQkFBYSxHQUFxQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3pFLGdCQUFXLEdBQVksS0FBSyxD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TSxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ3BCLENBQUE7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ00sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7OEdBN0pVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjttS0FHVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBcUZBLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsWUFBWTtnQkFxQm5CLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsWUFBWTtnQkFRbkIsSUFBSTtzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHJvcGRvd25Db250YWluZXJDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0Nvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Fza0Ryb3Bkb3duXSdcbn0pXG5leHBvcnQgY2xhc3MgQXNrRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGFza0Ryb3Bkb3duPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZHJvcGRvd25OYW1lID0gJyc7XG4gIEBJbnB1dCgpIHBvc2l0aW9ucz86IEFycmF5PENvbm5lY3RlZFBvc2l0aW9uPiB8ICdUT1BfUklHSFQnIHwgJ1RPUF9MRUZUJyB8ICdCT1RUT01fUklHSFQnIHwgJ0JPVFRPTV9MRUZUJztcbiAgQElucHV0KCkgZHJvcGRvd25EaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bk9wZW5PbkhvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vdXNlVGhyZXNob2xkID0gMzAwO1xuICBASW5wdXQoKSBvcGVuU3RyYXRlZ3k6ICdjbGljaycgfCAnaG92ZXInID0gJ2NsaWNrJyBcbiAgQE91dHB1dCgpIGFza0Ryb3Bkb3duT25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJpdmF0ZSBtb3VzZUxvY2F0aW9uOiB7bW91c2VYOiBudW1iZXI7IG1vdXNlWTogbnVtYmVyfSA9IHttb3VzZVg6IDAsIG1vdXNlWTogMH07XG4gIHByaXZhdGUgX2lzUmVuZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XG4gIHByaXZhdGUgb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgY29udGFpbmVyUmVmITogQ29tcG9uZW50UmVmPERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IEFWQUlMQUJMRV9QT1NJVElPTlM6IHsgVE9QX1JJR0hUOiBDb25uZWN0ZWRQb3NpdGlvbjsgVE9QX0xFRlQ6IENvbm5lY3RlZFBvc2l0aW9uOyBCT1RUT01fUklHSFQ6IENvbm5lY3RlZFBvc2l0aW9uOyBCT1RUT01fTEVGVDogQ29ubmVjdGVkUG9zaXRpb247IH0gPSB7XG4gICAgVE9QX1JJR0hUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tdG9wLXJpZ2h0Jywgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgVE9QX0xFRlQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtbGVmdCcsIG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIEJPVFRPTV9SSUdIVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLWJvdHRvbS1yaWdodCcsIG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICBCT1RUT01fTEVGVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLWJvdHRvbS1sZWZ0Jywgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPdmVybGF5Q29uZmlnKCk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5saXN0ZW5PdXRzaWRlQ2xpY2tzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJsYXlDb25maWcoKSB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRPdmVybGF5UG9zaXRpb24oKSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcblxuICAgIHRoaXMub3ZlcmxheUNvbmZpZyA9IHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmRyb3Bkb3duT3Blbk9uSG92ZXIgPyBmYWxzZSA6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMub3ZlcmxheUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlQb3NpdGlvbigpOiBDb25uZWN0ZWRQb3NpdGlvbltdIHtcbiAgICBpZiAodGhpcy5wb3NpdGlvbnMpIHtcbiAgICAgIGxldCBjaG9zZW5Qb3NpdGlvbnM6IEFycmF5PENvbm5lY3RlZFBvc2l0aW9uPiA9IFtdO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMucG9zaXRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMucHVzaCh0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlNbdGhpcy5wb3NpdGlvbnNdKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9ucykpIHtcbiAgICAgICAgY2hvc2VuUG9zaXRpb25zID0gWy4uLnRoaXMucG9zaXRpb25zXTtcbiAgICAgIH1cblxuICAgICAgY2hvc2VuUG9zaXRpb25zID0gY2hvc2VuUG9zaXRpb25zLmZpbHRlcihwID0+ICEhcCk7XG5cbiAgICAgIGlmIChjaG9zZW5Qb3NpdGlvbnMubGVuZ3RoKSByZXR1cm4gY2hvc2VuUG9zaXRpb25zO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuQk9UVE9NX1JJR0hULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLkJPVFRPTV9MRUZULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLlRPUF9SSUdIVCxcbiAgICAgIHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OUy5UT1BfTEVGVCxcbiAgICBdXG4gIH1cblxuICBwcml2YXRlIGxpc3Rlbk91dHNpZGVDbGlja3MoKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCl7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHB1YmxpYyBzaG93T25Ib3ZlckluKCkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbk9uSG92ZXIpIHtcblxuICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB0aGlzLm1vdXNlTG9jYXRpb24gPSB0aGlzLm9uTW91c2VNb3ZlKGV2ZW50KVxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdtb3VzZW1vdmUnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgIC5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuXG4gICAgICAgIGNvbnN0IG1vdXNlWUNsb3NlT24gPSBNYXRoLmFicyh0aGlzLm1vdXNlTG9jYXRpb24ubW91c2VZIC0gZS5wYWdlWSkgPD0gdGhpcy5tb3VzZVRocmVzaG9sZDtcbiAgICAgICAgY29uc3QgbW91c2VYQ2xvc2VPbiA9IE1hdGguYWJzKHRoaXMubW91c2VMb2NhdGlvbi5tb3VzZVggLSBlLnBhZ2VYKSA8PSB0aGlzLm1vdXNlVGhyZXNob2xkO1xuICAgICAgICBpZiAoIShtb3VzZVlDbG9zZU9uICYmIG1vdXNlWENsb3NlT24pKXtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIHB1YmxpYyBoaWRlT25Ib3Zlck91dCgpIHtcbiAgICBpZiAodGhpcy5vcGVuU3RyYXRlZ3kgPT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLmFza0Ryb3Bkb3duIHx8IHRoaXMuaXNSZW5kZXJlZCB8fCB0aGlzLmRyb3Bkb3duRGlzYWJsZWQgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb250YWluZXJSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoRHJvcGRvd25Db250YWluZXJDb21wb25lbnQpKTtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5hc2tEcm9wZG93bjtcbiAgICBpZiAodGhpcy5kcm9wZG93bk9wZW5PbkhvdmVyKSB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5jb250YWluZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ21vdXNlb3V0JylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LnJlbGF0ZWRUYXJnZXQ/LmNsYXNzTGlzdC5jb250YWlucygnY2RrLW92ZXJsYXktYmFja2Ryb3AnKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX2lzUmVuZGVyZWQgPSB0cnVlO1xuICB9XG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogYW55KToge21vdXNlWDogbnVtYmVyOyBtb3VzZVk6IG51bWJlcn0ge1xuICAgIGNvbnN0IGxvY2F0aW9uID0ge1xuICAgICAgbW91c2VYOiBldmVudC5jbGllbnRYLFxuICAgICAgbW91c2VZOiBldmVudC5wYWdlWVxuICAgIH1cblxuICAgIHJldHVybiBsb2NhdGlvbjtcbiAgfVxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgdGhpcy5jb250YWluZXJSZWYgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX2lzUmVuZGVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmFza0Ryb3Bkb3duT25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUmVuZGVyZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzUmVuZGVyZWQ7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,125 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { OverlayConfig } from '@angular/cdk/overlay';
3
+ import { ComponentPortal } from '@angular/cdk/portal';
4
+ import { Subject } from 'rxjs';
5
+ import { DropdownContainerComponent } from '../../components/dropdown-container/dropdown-container.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/overlay";
8
+ export class DynamicDropdownService {
9
+ constructor(overlay) {
10
+ this.overlay = overlay;
11
+ this.overlayRefs = [];
12
+ }
13
+ /**
14
+ * Opens a new modal with the given configuration.
15
+ */
16
+ open(config) {
17
+ const overlayRef = this.createOverlay(config.referenceElement, config.positionParams, config.closeOnOutsideClick);
18
+ this.overlayRefs.push(overlayRef);
19
+ const portal = this.attachTemplateToOverlay(config.templateToRender, config.viewContainerRef, overlayRef);
20
+ const afterClosed$ = this.createAfterClosedSubject();
21
+ this.setupOverlayListeners(overlayRef, config.closeOnOutsideClick, afterClosed$);
22
+ return this.createModalRef(overlayRef, afterClosed$);
23
+ }
24
+ /**
25
+ * Creates an overlay with the specified position and configuration.
26
+ */
27
+ createOverlay(baseElement, positionParams, closeOnOutsideClick) {
28
+ const positionStrategy = this.createPositionStrategy(baseElement, positionParams);
29
+ const overlayConfig = this.createOverlayConfig(positionStrategy, closeOnOutsideClick);
30
+ return this.overlay.create(overlayConfig);
31
+ }
32
+ /**
33
+ * Creates a flexible position strategy for the modal based on the base element.
34
+ */
35
+ createPositionStrategy(baseElement, positionParams) {
36
+ const a = [
37
+ // { panelClass: 'ask-dropdown-top-right', originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },
38
+ // { panelClass: 'ask-dropdown-top-left', originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top' },
39
+ { panelClass: 'ask-dropdown-bottom-right', originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },
40
+ // { panelClass: 'ask-dropdown-bottom-left', originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' }
41
+ ];
42
+ return this.overlay
43
+ .position()
44
+ .flexibleConnectedTo(baseElement)
45
+ .withPositions(a)
46
+ .withFlexibleDimensions(false)
47
+ .withPush(false);
48
+ }
49
+ /**
50
+ * Creates the configuration for the overlay.
51
+ */
52
+ createOverlayConfig(positionStrategy, closeOnOutsideClick) {
53
+ return new OverlayConfig({
54
+ hasBackdrop: closeOnOutsideClick,
55
+ backdropClass: 'cdk-overlay-transparent-backdrop',
56
+ positionStrategy,
57
+ scrollStrategy: this.overlay.scrollStrategies.block(),
58
+ });
59
+ }
60
+ /**
61
+ * Attaches the specified template to the overlay.
62
+ */
63
+ attachTemplateToOverlay(templateRef, viewContainerRef, overlayRef) {
64
+ const portal = new ComponentPortal(DropdownContainerComponent, viewContainerRef);
65
+ const componentRef = overlayRef.attach(portal);
66
+ componentRef.instance.content = templateRef;
67
+ return portal;
68
+ }
69
+ /**
70
+ * Sets up listeners for the overlay, such as closing on backdrop click or escape key.
71
+ */
72
+ setupOverlayListeners(overlayRef, closeOnOutsideClick, afterClosed$) {
73
+ if (closeOnOutsideClick) {
74
+ overlayRef.backdropClick().subscribe(() => this.closeModal(overlayRef, null, afterClosed$));
75
+ }
76
+ overlayRef.keydownEvents().subscribe((event) => {
77
+ if (event.key === 'Escape') {
78
+ this.closeModal(overlayRef, null, afterClosed$);
79
+ }
80
+ });
81
+ }
82
+ /**
83
+ * Creates a subject that will emit when the modal is closed.
84
+ */
85
+ createAfterClosedSubject() {
86
+ return new Subject();
87
+ }
88
+ /**
89
+ * Creates a reference for the modal that can be used to control the modal's lifecycle.
90
+ */
91
+ createModalRef(overlayRef, afterClosed$) {
92
+ return {
93
+ close: (result) => this.closeModal(overlayRef, result, afterClosed$),
94
+ afterClosed: afterClosed$,
95
+ };
96
+ }
97
+ /**
98
+ * Closes the modal and cleans up resources.
99
+ */
100
+ closeModal(overlayRef, result, subject) {
101
+ const index = this.overlayRefs.indexOf(overlayRef);
102
+ if (index > -1) {
103
+ this.overlayRefs.splice(index, 1);
104
+ }
105
+ overlayRef.dispose();
106
+ subject.next(result);
107
+ subject.complete();
108
+ }
109
+ /**
110
+ * Closes all open modals.
111
+ */
112
+ closeAll() {
113
+ this.overlayRefs.forEach(ref => ref.dispose());
114
+ this.overlayRefs = [];
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DynamicDropdownService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DynamicDropdownService, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DynamicDropdownService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root',
123
+ }]
124
+ }], ctorParameters: () => [{ type: i1.Overlay }] });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1kcm9wZG93bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNrc3VpdGUtY2l0cnVzL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1kcm9wZG93bi9keW5hbWljLWRyb3Bkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUF5QyxhQUFhLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDOzs7QUFrQjlHLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUY1QixnQkFBVyxHQUFpQixFQUFFLENBQUM7SUFFQSxDQUFDO0lBRXhDOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE1BQXNCO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLG1CQUFvQixDQUFDLENBQUM7UUFDbkgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUcsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFckQsSUFBSSxDQUFDLHFCQUFxQixD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LEVBQUUsQ0FBQyxNQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUM7WUFDMUUsV0FBVyxFQUFFLFlBQVk7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLFVBQVUsQ0FBQyxVQUFzQixFQUFFLE1BQVcsRUFBRSxPQUFxQjtRQUMzRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0EvSFUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheUNvbmZpZywgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duQ29uZmlnIHtcbiAgdGVtcGxhdGVUb1JlbmRlcjogVGVtcGxhdGVSZWY8YW55PjtcbiAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgcmVmZXJlbmNlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHBvc2l0aW9uUGFyYW1zOiBhbnk7XG4gIGNsb3NlT25PdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duUmVmIHtcbiAgY2xvc2U6IChyZXN1bHQ/OiBhbnkpID0+IHZvaWQ7XG4gIGFmdGVyQ2xvc2VkOiBTdWJqZWN0PGFueT47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRHJvcGRvd25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmczogT3ZlcmxheVJlZltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIG5ldyBtb2RhbCB3aXRoIHRoZSBnaXZlbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgb3Blbihjb25maWc6IERyb3Bkb3duQ29uZmlnKTogRHJvcGRvd25SZWYge1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoY29uZmlnLnJlZmVyZW5jZUVsZW1lbnQsIGNvbmZpZy5wb3NpdGlvblBhcmFtcywgY29uZmlnLmNsb3NlT25PdXRzaWRlQ2xpY2shKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZzLnB1c2gob3ZlcmxheVJlZik7XG5cbiAgICBjb25zdCBwb3J0YWwgPSB0aGlzLmF0dGFjaFRlbXBsYXRlVG9PdmVybGF5KGNvbmZpZy50ZW1wbGF0ZVRvUmVuZGVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgb3ZlcmxheVJlZik7XG4gICAgY29uc3QgYWZ0ZXJDbG9zZWQkID0gdGhpcy5jcmVhdGVBZnRlckNsb3NlZFN1YmplY3QoKTtcblxuICAgIHRoaXMuc2V0dXBPdmVybGF5TGlzdGVuZXJzKG92ZXJsYXlSZWYsIGNvbmZpZy5jbG9zZU9uT3V0c2lkZUNsaWNrISwgYWZ0ZXJDbG9zZWQkKTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGFsUmVmKG92ZXJsYXlSZWYsIGFmdGVyQ2xvc2VkJCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBvdmVybGF5IHdpdGggdGhlIHNwZWNpZmllZCBwb3NpdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheShiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQsIHBvc2l0aW9uUGFyYW1zOiBhbnksIGNsb3NlT25PdXRzaWRlQ2xpY2s6IGJvb2xlYW4pOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KGJhc2VFbGVtZW50LCBwb3NpdGlvblBhcmFtcyk7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuY3JlYXRlT3ZlcmxheUNvbmZpZyhwb3NpdGlvblN0cmF0ZWd5LCBjbG9zZU9uT3V0c2lkZUNsaWNrKTtcblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmbGV4aWJsZSBwb3NpdGlvbiBzdHJhdGVneSBmb3IgdGhlIG1vZGFsIGJhc2VkIG9uIHRoZSBiYXNlIGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBwb3NpdGlvblBhcmFtczogYW55KTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgIGNvbnN0IGE6Q29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICAgIC8vIHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtcmlnaHQnLCBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAgIC8vIHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtbGVmdCcsIG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgICAgeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLWJvdHRvbS1yaWdodCcsIG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAgIC8vIHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi1ib3R0b20tbGVmdCcsIG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH1cbiAgICBdXG5cblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhiYXNlRWxlbWVudClcbiAgICAgIC53aXRoUG9zaXRpb25zKGEpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoUHVzaChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXlDb25maWcocG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSwgY2xvc2VPbk91dHNpZGVDbGljazogYm9vbGVhbik6IE92ZXJsYXlDb25maWcge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogY2xvc2VPbk91dHNpZGVDbGljayxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgdGhlIHNwZWNpZmllZCB0ZW1wbGF0ZSB0byB0aGUgb3ZlcmxheS5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoVGVtcGxhdGVUb092ZXJsYXkoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICApIHtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50LCB2aWV3Q29udGFpbmVyUmVmKVxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0ZW1wbGF0ZVJlZjtcbiAgICByZXR1cm4gcG9ydGFsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgbGlzdGVuZXJzIGZvciB0aGUgb3ZlcmxheSwgc3VjaCBhcyBjbG9zaW5nIG9uIGJhY2tkcm9wIGNsaWNrIG9yIGVzY2FwZSBrZXkuXG4gICAqL1xuICBwcml2YXRlIHNldHVwT3ZlcmxheUxpc3RlbmVycyhvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBjbG9zZU9uT3V0c2lkZUNsaWNrOiBib29sZWFuLCBhZnRlckNsb3NlZCQ6IFN1YmplY3Q8YW55Pik6IHZvaWQge1xuICAgIGlmIChjbG9zZU9uT3V0c2lkZUNsaWNrKSB7XG4gICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZU1vZGFsKG92ZXJsYXlSZWYsIG51bGwsIGFmdGVyQ2xvc2VkJCkpO1xuICAgIH1cblxuICAgIG92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbChvdmVybGF5UmVmLCBudWxsLCBhZnRlckNsb3NlZCQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdWJqZWN0IHRoYXQgd2lsbCBlbWl0IHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQWZ0ZXJDbG9zZWRTdWJqZWN0KCk6IFN1YmplY3Q8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcmVmZXJlbmNlIGZvciB0aGUgbW9kYWwgdGhhdCBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBtb2RhbCdzIGxpZmVjeWNsZS5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxSZWYob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgYWZ0ZXJDbG9zZWQkOiBTdWJqZWN0PGFueT4pOiBEcm9wZG93blJlZiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3NlOiAocmVzdWx0PzogYW55KSA9PiB0aGlzLmNsb3NlTW9kYWwob3ZlcmxheVJlZiwgcmVzdWx0LCBhZnRlckNsb3NlZCQpLFxuICAgICAgYWZ0ZXJDbG9zZWQ6IGFmdGVyQ2xvc2VkJCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgYW5kIGNsZWFucyB1cCByZXNvdXJjZXMuXG4gICAqL1xuICBwcml2YXRlIGNsb3NlTW9kYWwob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgcmVzdWx0OiBhbnksIHN1YmplY3Q6IFN1YmplY3Q8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vdmVybGF5UmVmcy5pbmRleE9mKG92ZXJsYXlSZWYpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIHN1YmplY3QubmV4dChyZXN1bHQpO1xuICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgYWxsIG9wZW4gbW9kYWxzLlxuICAgKi9cbiAgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmcy5mb3JFYWNoKHJlZiA9PiByZWYuZGlzcG9zZSgpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZzID0gW107XG4gIH1cbn1cbiJdfQ==
@@ -7,12 +7,19 @@ import { ASK_MODAL_DATA } from './modal.config';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/cdk/overlay";
9
9
  export class ModalService {
10
- // TODO: create a state of open modals
11
- constructor(overlay, injector) {
10
+ constructor(overlay, injector, overlayPositionBuilder) {
12
11
  this.overlay = overlay;
13
12
  this.injector = injector;
13
+ this.overlayPositionBuilder = overlayPositionBuilder;
14
+ // TODO: create a state of open modals
15
+ this.AVAILABLE_POSITIONS = {
16
+ TOP_RIGHT: { panelClass: 'ask-dropdown-top-right', originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },
17
+ TOP_LEFT: { panelClass: 'ask-dropdown-top-left', originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top' },
18
+ BOTTOM_RIGHT: { panelClass: 'ask-dropdown-bottom-right', originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },
19
+ BOTTOM_LEFT: { panelClass: 'ask-dropdown-bottom-left', originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
20
+ };
14
21
  }
15
- open(component, config) {
22
+ open(component, config, baseElement = document.body) {
16
23
  const overlayRef = this.getOverlay(config);
17
24
  const finalConfig = {
18
25
  data: config?.data ?? null,
@@ -51,6 +58,38 @@ export class ModalService {
51
58
  .centerVertically()
52
59
  .centerHorizontally();
53
60
  }
61
+ setOverlayConfig(elementRef, hasBackdrop, positions) {
62
+ const positionStrategy = this.overlayPositionBuilder
63
+ .flexibleConnectedTo(elementRef)
64
+ .withPositions(this.getOverlayPosition(positions));
65
+ const scrollStrategy = this.overlay.scrollStrategies.reposition();
66
+ return {
67
+ hasBackdrop: hasBackdrop,
68
+ backdropClass: 'cdk-overlay-transparent-backdrop',
69
+ positionStrategy,
70
+ scrollStrategy
71
+ };
72
+ }
73
+ getOverlayPosition(positions) {
74
+ if (positions) {
75
+ let chosenPositions = [];
76
+ if (typeof positions === 'string') {
77
+ chosenPositions.push(this.AVAILABLE_POSITIONS[positions]);
78
+ }
79
+ else if (Array.isArray(positions)) {
80
+ chosenPositions = [...positions];
81
+ }
82
+ chosenPositions = chosenPositions.filter(p => !!p);
83
+ if (chosenPositions.length)
84
+ return chosenPositions;
85
+ }
86
+ return [
87
+ this.AVAILABLE_POSITIONS.BOTTOM_RIGHT,
88
+ this.AVAILABLE_POSITIONS.BOTTOM_LEFT,
89
+ this.AVAILABLE_POSITIONS.TOP_RIGHT,
90
+ this.AVAILABLE_POSITIONS.TOP_LEFT,
91
+ ];
92
+ }
54
93
  // Modal config can be used to parametrize the overlay creation params
55
94
  getOverlay(config) {
56
95
  const positionStrategy = this.getPositionStrategy();
@@ -66,7 +105,7 @@ export class ModalService {
66
105
  ...dimensionConfig,
67
106
  });
68
107
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ModalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ModalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i1.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
109
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ModalService, providedIn: 'root' }); }
71
110
  }
72
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ModalService, decorators: [{
@@ -74,5 +113,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
74
113
  args: [{
75
114
  providedIn: 'root',
76
115
  }]
77
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFFTCwwQkFBMEIsR0FDM0IsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBRUwsY0FBYyxHQUNmLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixzQ0FBc0M7SUFFdEMsWUFBb0IsT0FBZ0IsRUFBVSxRQUFrQjtRQUE1QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFcEUsSUFBSSxDQUFJLFNBQTJCLEVBQUUsTUFBb0I7UUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxNQUFNLFdBQVcsR0FBRztZQUNsQixJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJO1NBQzNCLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0MsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxxRUFBcUU7UUFDckUsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RCxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDakMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUM7UUFDdEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFFOUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUF5QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDM0MsSUFBSTtZQUNKLFFBQVEsRUFBRSxHQUFHO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsTUFBMkIsRUFDM0IsUUFBa0I7UUFFbEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNsRCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTthQUMxQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNoQixRQUFRLEVBQUU7YUFDVixNQUFNLEVBQUU7YUFDUixnQkFBZ0IsRUFBRTthQUNsQixrQkFBa0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsVUFBVSxDQUFDLE1BQW9CO1FBQzdCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDcEQsTUFBTSxlQUFlLEdBQWtCLE1BQU0sRUFBRSxVQUFVO1lBQ3ZELENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUNyQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUU3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3pCLGdCQUFnQjtZQUNoQixXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsSUFBSSxJQUFJO1lBQ3hDLGFBQWEsRUFBRSwyQkFBMkI7WUFDMUMsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDckQsR0FBRyxlQUFlO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckVVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFza01vZGFsQ29uZmlybURhdGEsXG4gIENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvbXBvbmVudFR5cGUsXG4gIE1vZGFsQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4vbW9kYWwtcmVmJztcbmltcG9ydCB7IEFTS19NT0RBTF9EQVRBLCBNb2RhbENvbmZpZyB9IGZyb20gJy4vbW9kYWwuY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIC8vIFRPRE86IGNyZWF0ZSBhIHN0YXRlIG9mIG9wZW4gbW9kYWxzXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBvcGVuPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogTW9kYWxDb25maWcpIHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5nZXRPdmVybGF5KGNvbmZpZyk7XG4gICAgY29uc3QgZmluYWxDb25maWcgPSB7XG4gICAgICBkYXRhOiBjb25maWc/LmRhdGEgPz8gbnVsbCxcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsUmVmID0gbmV3IE1vZGFsUmVmKG92ZXJsYXlSZWYpO1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3Rvcih7IC4uLmZpbmFsQ29uZmlnIH0sIG1vZGFsUmVmKTtcbiAgICBjb25zdCBtb2RhbFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoTW9kYWxDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICBjb25zdCByZWYgPSBvdmVybGF5UmVmLmF0dGFjaChtb2RhbFBvcnRhbCk7XG5cbiAgICBtb2RhbFJlZi5lbGVtZW50ID0gcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gSWYgbmVjZXNzYXJ5LCB0aGlzIGNhbiBiZSBwYXJhbWV0cml6ZWQgdXNpbmcgTW9kYWxDb25maWcgaW50ZXJmYWNlXG4gICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IG1vZGFsUmVmLmNsb3NlKCkpO1xuXG4gICAgcmVmLmluc3RhbmNlLmNvbnRlbnQgPSBjb21wb25lbnQ7XG4gICAgcmVmLmluc3RhbmNlLmZ1bGxzY3JlZW4gPSBjb25maWc/LmZ1bGxzY3JlZW4gfHwgZmFsc2U7XG4gICAgcmVmLmluc3RhbmNlLnNjcm9sbCA9IGNvbmZpZz8uc2Nyb2xsIHx8IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1vZGFsUmVmO1xuICB9XG5cbiAgY29uZmlybU1vZGFsKGRhdGE6IEFza01vZGFsQ29uZmlybURhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuKENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCB7XG4gICAgICBkYXRhLFxuICAgICAgbWF4V2lkdGg6IDQ0MCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IoXG4gICAgY29uZmlnOiBNb2RhbENvbmZpZ1snZGF0YSddLFxuICAgIG1vZGFsUmVmOiBNb2RhbFJlZlxuICApOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBU0tfTU9EQUxfREFUQSwgdXNlVmFsdWU6IGNvbmZpZy5kYXRhIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTW9kYWxSZWYsIHVzZVZhbHVlOiBtb2RhbFJlZiB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmdsb2JhbCgpXG4gICAgICAuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gIH1cblxuICAvLyBNb2RhbCBjb25maWcgY2FuIGJlIHVzZWQgdG8gcGFyYW1ldHJpemUgdGhlIG92ZXJsYXkgY3JlYXRpb24gcGFyYW1zXG4gIGdldE92ZXJsYXkoY29uZmlnPzogTW9kYWxDb25maWcpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgY29uc3QgZGltZW5zaW9uQ29uZmlnOiBPdmVybGF5Q29uZmlnID0gY29uZmlnPy5mdWxsc2NyZWVuXG4gICAgICA/IHsgd2lkdGg6ICcxMDB2dycsIGhlaWdodDogJzEwMHZoJyB9XG4gICAgICA6IHsgbWF4V2lkdGg6IGNvbmZpZz8ubWF4V2lkdGggPz8gJzgwdncnIH07XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgaGFzQmFja2Ryb3A6IGNvbmZpZz8uaGFzQmFja2Ryb3AgfHwgdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIC4uLmRpbWVuc2lvbkNvbmZpZyxcbiAgICB9KTtcbiAgfVxufVxuIl19
116
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i1.OverlayPositionBuilder }] });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFFTCwwQkFBMEIsR0FDM0IsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBRUwsY0FBYyxHQUNmLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7OztBQU83RCxNQUFNLE9BQU8sWUFBWTtJQVN2QixZQUNVLE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLHNCQUE4QztRQUY5QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVh4RCxzQ0FBc0M7UUFDckIsd0JBQW1CLEdBQW9JO1lBQ3RLLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3ZILFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3JILFlBQVksRUFBRSxFQUFFLFVBQVUsRUFBRSwy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QU0sRUFBRSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN6QixnQkFBZ0I7WUFDaEIsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSTtZQUN4QyxhQUFhLEVBQUUsMkJBQTJCO1lBQzFDLG1CQUFtQixFQUFFLElBQUk7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQ3JELEdBQUcsZUFBZTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRIVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXNrTW9kYWxDb25maXJtRGF0YSxcbiAgQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50VHlwZSxcbiAgTW9kYWxDb21wb25lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsUmVmIH0gZnJvbSAnLi9tb2RhbC1yZWYnO1xuaW1wb3J0IHsgQVNLX01PREFMX0RBVEEsIE1vZGFsQ29uZmlnIH0gZnJvbSAnLi9tb2RhbC5jb25maWcnO1xuXG50eXBlIFBvc2l0aW9ucyA9IEFycmF5PENvbm5lY3RlZFBvc2l0aW9uPiB8ICdUT1BfUklHSFQnIHwgJ1RPUF9MRUZUJyB8ICdCT1RUT01fUklHSFQnIHwgJ0JPVFRPTV9MRUZUJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIC8vIFRPRE86IGNyZWF0ZSBhIHN0YXRlIG9mIG9wZW4gbW9kYWxzXG4gIHByaXZhdGUgcmVhZG9ubHkgQVZBSUxBQkxFX1BPU0lUSU9OUzogeyBUT1BfUklHSFQ6IENvbm5lY3RlZFBvc2l0aW9uOyBUT1BfTEVGVDogQ29ubmVjdGVkUG9zaXRpb247IEJPVFRPTV9SSUdIVDogQ29ubmVjdGVkUG9zaXRpb247IEJPVFRPTV9MRUZUOiBDb25uZWN0ZWRQb3NpdGlvbjsgfSA9IHtcbiAgICBUT1BfUklHSFQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtcmlnaHQnLCBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICBUT1BfTEVGVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLXRvcC1sZWZ0Jywgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgQk9UVE9NX1JJR0hUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tYm90dG9tLXJpZ2h0Jywgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIEJPVFRPTV9MRUZUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tYm90dG9tLWxlZnQnLCBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgXG4gICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyKSB7fVxuXG4gIG9wZW48VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc/OiBNb2RhbENvbmZpZywgYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuYm9keSkge1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmdldE92ZXJsYXkoY29uZmlnKTtcbiAgICBjb25zdCBmaW5hbENvbmZpZyA9IHtcbiAgICAgIGRhdGE6IGNvbmZpZz8uZGF0YSA/PyBudWxsLFxuICAgIH07XG4gICAgY29uc3QgbW9kYWxSZWYgPSBuZXcgTW9kYWxSZWYob3ZlcmxheVJlZik7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKHsgLi4uZmluYWxDb25maWcgfSwgbW9kYWxSZWYpO1xuICAgIGNvbnN0IG1vZGFsUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChNb2RhbENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgIGNvbnN0IHJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKG1vZGFsUG9ydGFsKTtcblxuICAgIG1vZGFsUmVmLmVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAvLyBJZiBuZWNlc3NhcnksIHRoaXMgY2FuIGJlIHBhcmFtZXRyaXplZCB1c2luZyBNb2RhbENvbmZpZyBpbnRlcmZhY2VcbiAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gbW9kYWxSZWYuY2xvc2UoKSk7XG5cbiAgICByZWYuaW5zdGFuY2UuY29udGVudCA9IGNvbXBvbmVudDtcbiAgICByZWYuaW5zdGFuY2UuZnVsbHNjcmVlbiA9IGNvbmZpZz8uZnVsbHNjcmVlbiB8fCBmYWxzZTtcbiAgICByZWYuaW5zdGFuY2Uuc2Nyb2xsID0gY29uZmlnPy5zY3JvbGwgfHwgZmFsc2U7XG5cbiAgICByZXR1cm4gbW9kYWxSZWY7XG4gIH1cblxuICBjb25maXJtTW9kYWwoZGF0YTogQXNrTW9kYWxDb25maXJtRGF0YSkge1xuICAgIHJldHVybiB0aGlzLm9wZW4oQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIGRhdGEsXG4gICAgICBtYXhXaWR0aDogNDQwLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcihcbiAgICBjb25maWc6IE1vZGFsQ29uZmlnWydkYXRhJ10sXG4gICAgbW9kYWxSZWY6IE1vZGFsUmVmXG4gICk6IEluamVjdG9yIHtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEFTS19NT0RBTF9EQVRBLCB1c2VWYWx1ZTogY29uZmlnLmRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNb2RhbFJlZiwgdXNlVmFsdWU6IG1vZGFsUmVmIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZ2xvYmFsKClcbiAgICAgIC5jZW50ZXJWZXJ0aWNhbGx5KClcbiAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3ZlcmxheUNvbmZpZyhlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBoYXNCYWNrZHJvcDogYm9vbGVhbiwgcG9zaXRpb25zOiBQb3NpdGlvbnMpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50UmVmKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRPdmVybGF5UG9zaXRpb24ocG9zaXRpb25zKSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICBoYXNCYWNrZHJvcDogaGFzQmFja2Ryb3AsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKHBvc2l0aW9uczogUG9zaXRpb25zKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XG4gICAgaWYgKHBvc2l0aW9ucykge1xuICAgICAgbGV0IGNob3NlblBvc2l0aW9uczogQXJyYXk8Q29ubmVjdGVkUG9zaXRpb24+ID0gW107XG5cbiAgICAgIGlmICh0eXBlb2YgcG9zaXRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMucHVzaCh0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlNbcG9zaXRpb25zXSk7XG4gICAgICB9XG5cbiAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocG9zaXRpb25zKSkge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBbLi4ucG9zaXRpb25zXTtcbiAgICAgIH1cblxuICAgICAgY2hvc2VuUG9zaXRpb25zID0gY2hvc2VuUG9zaXRpb25zLmZpbHRlcihwID0+ICEhcCk7XG5cbiAgICAgIGlmIChjaG9zZW5Qb3NpdGlvbnMubGVuZ3RoKSByZXR1cm4gY2hvc2VuUG9zaXRpb25zO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuQk9UVE9NX1JJR0hULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLkJPVFRPTV9MRUZULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLlRPUF9SSUdIVCxcbiAgICAgIHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OUy5UT1BfTEVGVCxcbiAgICBdXG4gIH1cblxuICAvLyBNb2RhbCBjb25maWcgY2FuIGJlIHVzZWQgdG8gcGFyYW1ldHJpemUgdGhlIG92ZXJsYXkgY3JlYXRpb24gcGFyYW1zXG4gIGdldE92ZXJsYXkoY29uZmlnPzogTW9kYWxDb25maWcpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgY29uc3QgZGltZW5zaW9uQ29uZmlnOiBPdmVybGF5Q29uZmlnID0gY29uZmlnPy5mdWxsc2NyZWVuXG4gICAgICA/IHsgd2lkdGg6ICcxMDB2dycsIGhlaWdodDogJzEwMHZoJyB9XG4gICAgICA6IHsgbWF4V2lkdGg6IGNvbmZpZz8ubWF4V2lkdGggPz8gJzgwdncnIH07XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgaGFzQmFja2Ryb3A6IGNvbmZpZz8uaGFzQmFja2Ryb3AgfHwgdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIC4uLmRpbWVuc2lvbkNvbmZpZyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -29,6 +29,7 @@ export * from './lib/components/modal/directives';
29
29
  // Services
30
30
  export * from './lib/services/toast/toast.service';
31
31
  export * from './lib/services/modal';
32
+ export * from './lib/services/dynamic-dropdown/dynamic-dropdown.service';
32
33
  // Pipes
33
34
  export * from './lib/pipes/paginate/paginate.pipe';
34
35
  export * from './lib/pipes/force-break-line/force-break-line.pipe';
@@ -46,4 +47,4 @@ export * from './shared/providers/flag.provider';
46
47
  export * from './shared/helpers/filter.helper';
47
48
  // Classes
48
49
  export * from './lib/classes/overlay.component';
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFFN0MsYUFBYTtBQUNiLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxhQUFhO0FBQ2IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELFdBQVc7QUFDWCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0JBQXNCLENBQUM7QUFFckMsUUFBUTtBQUNSLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxvREFBb0QsQ0FBQztBQUVuRSxTQUFTO0FBQ1QsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxVQUFVO0FBQ1YsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxhQUFhO0FBQ2IsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxhQUFhO0FBQ2IsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxXQUFXO0FBQ1gsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxVQUFVO0FBQ1YsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxVQUFVO0FBQ1YsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXNrc3VpdGUtY2l0cnVzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNrc3VpdGUtY2l0cnVzLm1vZHVsZSc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JveC9ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGhvbmUtZGRpL3Bob25lLWRkaS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1jYWxlbmRhci9kYXRlLXBpY2tlci1jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi9leHRlbmRhYmxlLXBhbmVsL2V4dGVuZGFibGUtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvYWRpbmctYmFyL2xvYWRpbmctYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuXG4vLyBEaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwvZGlyZWN0aXZlcyc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL21vZGFsJztcblxuLy8gUGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3BhZ2luYXRlL3BhZ2luYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZm9yY2UtYnJlYWstbGluZS9mb3JjZS1icmVhay1saW5lLnBpcGUnO1xuXG4vLyBDb25maWdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0L3RvYXN0LmNvbmZpZyc7XG5cbi8vIEhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3BhZ2luYXRlL3BhZ2luYXRlLmhlbHBlcic7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvcmljaHRleHQtdG9vbGJveC5pbnRlcmZhY2UnO1xuXG4vLyBWYWxpZGF0b3JzXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC92YWxpZGF0b3JzL3Bob25lLW1hc2sudmFsaWRhdG9yJztcblxuLy8gUHJvdmlkZXJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3Byb3ZpZGVycy9mbGFnLnByb3ZpZGVyJztcblxuLy8gSGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvaGVscGVycy9maWx0ZXIuaGVscGVyJztcblxuLy8gQ2xhc3Nlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9vdmVybGF5LmNvbXBvbmVudCc7XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFFN0MsYUFBYTtBQUNiLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxhQUFhO0FBQ2IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELFdBQVc7QUFDWCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwREFBMEQsQ0FBQztBQUV6RSxRQUFRO0FBQ1IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLFNBQVM7QUFDVCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELFVBQVU7QUFDVixjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGFBQWE7QUFDYixjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGFBQWE7QUFDYixjQUFjLDBDQUEwQyxDQUFDO0FBRXpELFdBQVc7QUFDWCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELFVBQVU7QUFDVixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLFVBQVU7QUFDVixjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhc2tzdWl0ZS1jaXRydXNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc2tzdWl0ZS1jaXRydXMubW9kdWxlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYm94L2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9waG9uZS1kZGkvcGhvbmUtZGRpLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLWNhbGVuZGFyL2RhdGUtcGlja2VyLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2V4dGVuZGFibGUtcGFuZWwvZXh0ZW5kYWJsZS1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGluZy1iYXIvbG9hZGluZy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9kaXJlY3RpdmVzJztcblxuLy8gU2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZHluYW1pYy1kcm9wZG93bi9keW5hbWljLWRyb3Bkb3duLnNlcnZpY2UnO1xuXG4vLyBQaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcGFnaW5hdGUvcGFnaW5hdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9mb3JjZS1icmVhay1saW5lL2ZvcmNlLWJyZWFrLWxpbmUucGlwZSc7XG5cbi8vIENvbmZpZ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdG9hc3QvdG9hc3QuY29uZmlnJztcblxuLy8gSGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcGFnaW5hdGUvcGFnaW5hdGUuaGVscGVyJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9yaWNodGV4dC10b29sYm94LmludGVyZmFjZSc7XG5cbi8vIFZhbGlkYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3ZhbGlkYXRvcnMvcGhvbmUtbWFzay52YWxpZGF0b3InO1xuXG4vLyBQcm92aWRlclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvcHJvdmlkZXJzL2ZsYWcucHJvdmlkZXInO1xuXG4vLyBIZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBDbGFzc2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL292ZXJsYXkuY29tcG9uZW50JztcbiJdfQ==