@kirbydesign/designsystem 8.3.2-rc.3 → 8.4.0-rc.outlet-disabled

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/action-group/action-group.component.d.ts +1 -0
  2. package/esm2020/action-group/action-group.component.mjs +20 -17
  3. package/esm2020/dropdown/dropdown.component.mjs +2 -2
  4. package/esm2020/lib/directives/modal-router-link/modal-router-link.directive.mjs +6 -3
  5. package/esm2020/modal/modal/services/modal.controller.mjs +6 -6
  6. package/esm2020/modal/modal/services/modal.helper.mjs +7 -2
  7. package/esm2020/modal/modal-navigation.service.mjs +18 -9
  8. package/esm2020/modal/modal.interfaces.mjs +1 -1
  9. package/esm2020/router-outlet/router-outlet.component.mjs +3 -3
  10. package/esm2020/tab-navigation/tab-navigation/tab-navigation.component.mjs +7 -5
  11. package/esm2020/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +2 -2
  12. package/fesm2015/kirbydesign-designsystem-action-group.mjs +21 -17
  13. package/fesm2015/kirbydesign-designsystem-action-group.mjs.map +1 -1
  14. package/fesm2015/kirbydesign-designsystem-dropdown.mjs +2 -2
  15. package/fesm2015/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  16. package/fesm2015/kirbydesign-designsystem-modal.mjs +31 -19
  17. package/fesm2015/kirbydesign-designsystem-modal.mjs.map +1 -1
  18. package/fesm2015/kirbydesign-designsystem-router-outlet.mjs +2 -2
  19. package/fesm2015/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  20. package/fesm2015/kirbydesign-designsystem-shared-floating.mjs +1 -0
  21. package/fesm2015/kirbydesign-designsystem-tab-navigation.mjs +8 -6
  22. package/fesm2015/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  23. package/fesm2015/kirbydesign-designsystem.mjs +5 -2
  24. package/fesm2015/kirbydesign-designsystem.mjs.map +1 -1
  25. package/fesm2020/kirbydesign-designsystem-action-group.mjs +20 -16
  26. package/fesm2020/kirbydesign-designsystem-action-group.mjs.map +1 -1
  27. package/fesm2020/kirbydesign-designsystem-dropdown.mjs +2 -2
  28. package/fesm2020/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  29. package/fesm2020/kirbydesign-designsystem-modal.mjs +32 -20
  30. package/fesm2020/kirbydesign-designsystem-modal.mjs.map +1 -1
  31. package/fesm2020/kirbydesign-designsystem-router-outlet.mjs +2 -2
  32. package/fesm2020/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  33. package/fesm2020/kirbydesign-designsystem-shared-floating.mjs +1 -0
  34. package/fesm2020/kirbydesign-designsystem-tab-navigation.mjs +8 -6
  35. package/fesm2020/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  36. package/fesm2020/kirbydesign-designsystem.mjs +5 -2
  37. package/fesm2020/kirbydesign-designsystem.mjs.map +1 -1
  38. package/lib/directives/modal-router-link/modal-router-link.directive.d.ts +3 -2
  39. package/modal/modal/services/modal.controller.d.ts +1 -1
  40. package/modal/modal-navigation.service.d.ts +5 -2
  41. package/modal/modal.interfaces.d.ts +8 -0
  42. package/package.json +1 -1
@@ -29,6 +29,7 @@ export declare class ActionGroupComponent implements AfterContentInit {
29
29
  constructor(renderer: Renderer2, config: ActionGroupConfig);
30
30
  ngAfterContentInit(): void;
31
31
  onActionSelect(action: CollapsedAction): void;
32
+ private initializeFromConfig;
32
33
  private initializeCollapsing;
33
34
  private moveButtons;
34
35
  private toggleDropdown;
@@ -23,22 +23,8 @@ export class ActionGroupComponent {
23
23
  if (this.visibleActions < this.collapseThreshold) {
24
24
  this.collapseThreshold = this.visibleActions;
25
25
  }
26
- if (this.config) {
27
- this._isResizeable = this.config.isResizable;
28
- if (this.visibleActions === undefined && this.config.defaultVisibleActions !== undefined) {
29
- this.visibleActions = this.config.defaultVisibleActions;
30
- }
31
- if (this.config.maxVisibleActions !== undefined) {
32
- // Don't overwrite visibleActions value if configured lower than maxVisibleActions:
33
- if (!(this.visibleActions < this.config.maxVisibleActions)) {
34
- this.visibleActions = this.config.maxVisibleActions;
35
- }
36
- }
37
- if (this.config.isCondensed) {
38
- this.buttons?.forEach((button) => (button.showIconOnly = true));
39
- }
40
- }
41
- if (this.visibleActions) {
26
+ this.initializeFromConfig();
27
+ if (this.visibleActions !== undefined) {
42
28
  this.initializeCollapsing();
43
29
  }
44
30
  }
@@ -52,6 +38,23 @@ export class ActionGroupComponent {
52
38
  });
53
39
  action.button.dispatchEvent(event);
54
40
  }
41
+ initializeFromConfig() {
42
+ if (!this.config)
43
+ return;
44
+ this._isResizeable = this.config.isResizable;
45
+ if (this.visibleActions === undefined && this.config.defaultVisibleActions !== undefined) {
46
+ this.visibleActions = this.config.defaultVisibleActions;
47
+ }
48
+ if (this.config.maxVisibleActions !== undefined) {
49
+ // Don't overwrite visibleActions value if configured lower than maxVisibleActions:
50
+ if (!(this.visibleActions < this.config.maxVisibleActions)) {
51
+ this.visibleActions = this.config.maxVisibleActions;
52
+ }
53
+ }
54
+ if (this.config.isCondensed) {
55
+ this.buttons?.forEach((button) => (button.showIconOnly = true));
56
+ }
57
+ }
55
58
  initializeCollapsing() {
56
59
  if (this.buttonElements.length <= this.collapseThreshold)
57
60
  return;
@@ -115,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
115
118
  type: HostBinding,
116
119
  args: ['class']
117
120
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBUXZGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBWS9GLE1BQU0sT0FBTyxvQkFBb0I7SUFrQy9CLFlBQ1UsUUFBbUIsRUFDcUIsTUFBeUI7UUFEakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQTlCM0UsVUFBSyxHQUFvQixLQUFLLENBQUM7UUFnQi9CLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFPZCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFLM0IsQ0FBQztJQVZKLElBQ0ksTUFBTTtRQUNSLE9BQU8sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENB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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9idXR0b24nO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQsIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kcm9wZG93bic7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkdyb3VwQ29uZmlnID0ge1xuICBpc1Jlc2l6YWJsZT86IGJvb2xlYW47XG4gIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2libGVBY3Rpb25zPzogbnVtYmVyO1xuICBtYXhWaXNpYmxlQWN0aW9ucz86IG51bWJlcjtcbn07XG5leHBvcnQgY29uc3QgQUNUSU9OR1JPVVBfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvbkdyb3VwQ29uZmlnPignYWN0aW9uLWdyb3VwLmNvbmZpZycpO1xuXG50eXBlIENvbGxhcHNlZEFjdGlvbiA9IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudDsgdGV4dDogc3RyaW5nIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LWFjdGlvbi1ncm91cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgRHJvcGRvd25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSB2aXNpYmxlQWN0aW9ucz86IG51bWJlcjtcblxuICBASW5wdXQoKSBlbXBoYXNpemVBY3Rpb25zPzogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBhbGlnbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwcml2YXRlIGJ1dHRvbkVsZW1lbnRzPzogUXVlcnlMaXN0PFxuICAgIEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gID47XG4gIEBDb250ZW50Q2hpbGRyZW4oQnV0dG9uQ29tcG9uZW50KSBwcml2YXRlIGJ1dHRvbnM/OiBRdWVyeUxpc3Q8QnV0dG9uQ29tcG9uZW50PjtcbiAgQFZpZXdDaGlsZCgnaGlkZGVuTGF5ZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIGhpZGRlbkxheWVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIC8qXG4gICAqIFRFTVBPUkFSWSBNT1JFLU1FTlVcbiAgICogZHJvcGRvd24gVmlld0NoaWxkIGlzIG9ubHkgdXNlZCBmb3IgdGVtcG9yYXJ5IG1vcmUtbWVudVxuICAgKi9cbiAgQFZpZXdDaGlsZChEcm9wZG93bkNvbXBvbmVudCkgcHJpdmF0ZSBkcm9wZG93biE6IERyb3Bkb3duQ29tcG9uZW50O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtY29sbGFwc2VkJylcbiAgX2lzQ29sbGFwc2VkOiBib29sZWFuO1xuICBfY29sbGFwc2VkQWN0aW9uczogQ29sbGFwc2VkQWN0aW9uW10gPSBbXTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXJlc2l6ZWFibGUnKVxuICBfaXNSZXNpemVhYmxlID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfYWxpZ24oKSB7XG4gICAgcmV0dXJuICdhbGlnbi0nICsgdGhpcy5hbGlnbjtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2VUaHJlc2hvbGQgPSAyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFDVElPTkdST1VQX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEFjdGlvbkdyb3VwQ29uZmlnXG4gICkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIHdlIGNvbGxhcHNlIGFjY29yZGluZyB0byB2aXNpYmxlQWN0aW9ucyBpZiBsb3dlciB0aGFuIG91ciBkZWZhdWx0IHRocmVzaG9sZCAoMikuXG4gICAgLy8gSS5lLiBpZiB0aGVyZSBhcmUgMiBidXR0b25zIGFuZCB2aXNpYmxlQWN0aW9ucyA9IDEgd2UnbGwgY29sbGFwc2UgdGhlIDJuZCBidXR0b24gaW50byB0aGUgbWVudTpcbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucyA8IHRoaXMuY29sbGFwc2VUaHJlc2hvbGQpIHtcbiAgICAgIHRoaXMuY29sbGFwc2VUaHJlc2hvbGQgPSB0aGlzLnZpc2libGVBY3Rpb25zO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIHRoaXMuX2lzUmVzaXplYWJsZSA9IHRoaXMuY29uZmlnLmlzUmVzaXphYmxlO1xuICAgICAgaWYgKHRoaXMudmlzaWJsZUFjdGlvbnMgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmNvbmZpZy5kZWZhdWx0VmlzaWJsZUFjdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnZpc2libGVBY3Rpb25zID0gdGhpcy5jb25maWcuZGVmYXVsdFZpc2libGVBY3Rpb25zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZmlnLm1heFZpc2libGVBY3Rpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gRG9uJ3Qgb3ZlcndyaXRlIHZpc2libGVBY3Rpb25zIHZhbHVlIGlmIGNvbmZpZ3VyZWQgbG93ZXIgdGhhbiBtYXhWaXNpYmxlQWN0aW9uczpcbiAgICAgICAgaWYgKCEodGhpcy52aXNpYmxlQWN0aW9ucyA8IHRoaXMuY29uZmlnLm1heFZpc2libGVBY3Rpb25zKSkge1xuICAgICAgICAgIHRoaXMudmlzaWJsZUFjdGlvbnMgPSB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlQWN0aW9ucztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZmlnLmlzQ29uZGVuc2VkKSB7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLnNob3dJY29uT25seSA9IHRydWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29sbGFwc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uU2VsZWN0KGFjdGlvbjogQ29sbGFwc2VkQWN0aW9uKSB7XG4gICAgLy8gRHJvcGRvd24gc2hvdWxkIG5vdCBwZXJzaXN0IHNlbGVjdGVkIGl0ZW0sIHdlIHdhbnQgaXQgdG8gYmUgcmUtc2VsZWN0YWJsZVxuICAgIHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJbmRleCA9IC0xO1xuXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgdmlldzogd2luZG93LFxuICAgIH0pO1xuXG4gICAgYWN0aW9uLmJ1dHRvbi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbGxhcHNpbmcoKSB7XG4gICAgaWYgKHRoaXMuYnV0dG9uRWxlbWVudHMubGVuZ3RoIDw9IHRoaXMuY29sbGFwc2VUaHJlc2hvbGQpIHJldHVybjtcblxuICAgIHRoaXMubW92ZUJ1dHRvbnMoKTtcbiAgICB0aGlzLnBvcHVsYXRlRHJvcGRvd24oKTtcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cblxuICBwcml2YXRlIG1vdmVCdXR0b25zKCkge1xuICAgIGNvbnN0IGJ1dHRvbnNUb0hpZGUgPSBbLi4udGhpcy5idXR0b25FbGVtZW50c10uc2xpY2UodGhpcy52aXNpYmxlQWN0aW9ucyk7XG4gICAgYnV0dG9uc1RvSGlkZS5mb3JFYWNoKChidXR0b24pID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LCBidXR0b24ubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIGNvbnN0IGhhc0hpZGRlbkJ1dHRvbnMgPSB0aGlzLmhpZGRlbkxheWVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRFbGVtZW50Q291bnQgPiAwO1xuICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gaGFzSGlkZGVuQnV0dG9ucztcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVEcm9wZG93bigpIHtcbiAgICBjb25zdCBoaWRkZW5CdXR0b25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlblxuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnRbXTtcblxuICAgIHRoaXMuX2NvbGxhcHNlZEFjdGlvbnMgPSBoaWRkZW5CdXR0b25zLm1hcCgoYnV0dG9uKSA9PiAoe1xuICAgICAgYnV0dG9uLFxuICAgICAgdGV4dDogYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSxcbiAgICB9KSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImJ1dHRvbltraXJieS1idXR0b25dXCI+PC9uZy1jb250ZW50PlxuXG48a2lyYnktZHJvcGRvd25cbiAgW2l0ZW1zXT1cIl9jb2xsYXBzZWRBY3Rpb25zXCJcbiAgW3VzZVBvcG92ZXJdPVwidHJ1ZVwiXG4gIFtfaXNNb3JlTWVudV09XCJ0cnVlXCJcbiAgcG9wb3V0PVwibGVmdFwiXG4gIChjaGFuZ2UpPVwib25BY3Rpb25TZWxlY3QoJGV2ZW50KVwiXG4+PC9raXJieS1kcm9wZG93bj5cblxuPGRpdiBjbGFzcz1cImhpZGRlbi1sYXllclwiICNoaWRkZW5MYXllcj48L2Rpdj5cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBUXZGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBWS9GLE1BQU0sT0FBTyxvQkFBb0I7SUFrQy9CLFlBQ1UsUUFBbUIsRUFDcUIsTUFBeUI7UUFEakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQTlCM0UsVUFBSyxHQUFvQixLQUFLLENBQUM7UUFnQi9CLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFPZCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFLM0IsQ0FBQztJQVZKLElBQ0ksTUFBTTtRQUNSLE9BQU8sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENB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TUFBTTtzQkFEVCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZHJvcGRvd24nO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25Hcm91cENvbmZpZyA9IHtcbiAgaXNSZXNpemFibGU/OiBib29sZWFuO1xuICBpc0NvbmRlbnNlZD86IGJvb2xlYW47XG4gIGRlZmF1bHRWaXNpYmxlQWN0aW9ucz86IG51bWJlcjtcbiAgbWF4VmlzaWJsZUFjdGlvbnM/OiBudW1iZXI7XG59O1xuZXhwb3J0IGNvbnN0IEFDVElPTkdST1VQX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBY3Rpb25Hcm91cENvbmZpZz4oJ2FjdGlvbi1ncm91cC5jb25maWcnKTtcblxudHlwZSBDb2xsYXBzZWRBY3Rpb24gPSB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQ7IHRleHQ6IHN0cmluZyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1hY3Rpb24tZ3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIERyb3Bkb3duTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgdmlzaWJsZUFjdGlvbnM/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgZW1waGFzaXplQWN0aW9ucz86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgYWxpZ246ICdzdGFydCcgfCAnZW5kJyA9ICdlbmQnO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQnV0dG9uQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHJpdmF0ZSBidXR0b25FbGVtZW50cz86IFF1ZXJ5TGlzdDxcbiAgICBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PlxuICA+O1xuICBAQ29udGVudENoaWxkcmVuKEJ1dHRvbkNvbXBvbmVudCkgcHJpdmF0ZSBidXR0b25zPzogUXVlcnlMaXN0PEJ1dHRvbkNvbXBvbmVudD47XG4gIEBWaWV3Q2hpbGQoJ2hpZGRlbkxheWVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBoaWRkZW5MYXllciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAvKlxuICAgKiBURU1QT1JBUlkgTU9SRS1NRU5VXG4gICAqIGRyb3Bkb3duIFZpZXdDaGlsZCBpcyBvbmx5IHVzZWQgZm9yIHRlbXBvcmFyeSBtb3JlLW1lbnVcbiAgICovXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25Db21wb25lbnQpIHByaXZhdGUgZHJvcGRvd24hOiBEcm9wZG93bkNvbXBvbmVudDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWNvbGxhcHNlZCcpXG4gIF9pc0NvbGxhcHNlZDogYm9vbGVhbjtcbiAgX2NvbGxhcHNlZEFjdGlvbnM6IENvbGxhcHNlZEFjdGlvbltdID0gW107XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1yZXNpemVhYmxlJylcbiAgX2lzUmVzaXplYWJsZSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX2FsaWduKCkge1xuICAgIHJldHVybiAnYWxpZ24tJyArIHRoaXMuYWxpZ247XG4gIH1cblxuICBwcml2YXRlIGNvbGxhcHNlVGhyZXNob2xkID0gMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBQ1RJT05HUk9VUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBY3Rpb25Hcm91cENvbmZpZ1xuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB3ZSBjb2xsYXBzZSBhY2NvcmRpbmcgdG8gdmlzaWJsZUFjdGlvbnMgaWYgbG93ZXIgdGhhbiBvdXIgZGVmYXVsdCB0aHJlc2hvbGQgKDIpLlxuICAgIC8vIEkuZS4gaWYgdGhlcmUgYXJlIDIgYnV0dG9ucyBhbmQgdmlzaWJsZUFjdGlvbnMgPSAxIHdlJ2xsIGNvbGxhcHNlIHRoZSAybmQgYnV0dG9uIGludG8gdGhlIG1lbnU6XG4gICAgaWYgKHRoaXMudmlzaWJsZUFjdGlvbnMgPCB0aGlzLmNvbGxhcHNlVGhyZXNob2xkKSB7XG4gICAgICB0aGlzLmNvbGxhcHNlVGhyZXNob2xkID0gdGhpcy52aXNpYmxlQWN0aW9ucztcbiAgICB9XG5cbiAgICB0aGlzLmluaXRpYWxpemVGcm9tQ29uZmlnKCk7XG5cbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVDb2xsYXBzaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgb25BY3Rpb25TZWxlY3QoYWN0aW9uOiBDb2xsYXBzZWRBY3Rpb24pIHtcbiAgICAvLyBEcm9wZG93biBzaG91bGQgbm90IHBlcnNpc3Qgc2VsZWN0ZWQgaXRlbSwgd2Ugd2FudCBpdCB0byBiZSByZS1zZWxlY3RhYmxlXG4gICAgdGhpcy5kcm9wZG93bi5zZWxlY3RlZEluZGV4ID0gLTE7XG5cbiAgICBjb25zdCBldmVudCA9IG5ldyBQb2ludGVyRXZlbnQoJ2NsaWNrJywge1xuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICB2aWV3OiB3aW5kb3csXG4gICAgfSk7XG5cbiAgICBhY3Rpb24uYnV0dG9uLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRnJvbUNvbmZpZygpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSByZXR1cm47XG5cbiAgICB0aGlzLl9pc1Jlc2l6ZWFibGUgPSB0aGlzLmNvbmZpZy5pc1Jlc2l6YWJsZTtcblxuICAgIGlmICh0aGlzLnZpc2libGVBY3Rpb25zID09PSB1bmRlZmluZWQgJiYgdGhpcy5jb25maWcuZGVmYXVsdFZpc2libGVBY3Rpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlzaWJsZUFjdGlvbnMgPSB0aGlzLmNvbmZpZy5kZWZhdWx0VmlzaWJsZUFjdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLm1heFZpc2libGVBY3Rpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIERvbid0IG92ZXJ3cml0ZSB2aXNpYmxlQWN0aW9ucyB2YWx1ZSBpZiBjb25maWd1cmVkIGxvd2VyIHRoYW4gbWF4VmlzaWJsZUFjdGlvbnM6XG4gICAgICBpZiAoISh0aGlzLnZpc2libGVBY3Rpb25zIDwgdGhpcy5jb25maWcubWF4VmlzaWJsZUFjdGlvbnMpKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUFjdGlvbnMgPSB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlQWN0aW9ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcuaXNDb25kZW5zZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLnNob3dJY29uT25seSA9IHRydWUpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDb2xsYXBzaW5nKCkge1xuICAgIGlmICh0aGlzLmJ1dHRvbkVsZW1lbnRzLmxlbmd0aCA8PSB0aGlzLmNvbGxhcHNlVGhyZXNob2xkKSByZXR1cm47XG5cbiAgICB0aGlzLm1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQnV0dG9ucygpIHtcbiAgICBjb25zdCBidXR0b25zVG9IaWRlID0gWy4uLnRoaXMuYnV0dG9uRWxlbWVudHNdLnNsaWNlKHRoaXMudmlzaWJsZUFjdGlvbnMpO1xuICAgIGJ1dHRvbnNUb0hpZGUuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudCwgYnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bigpIHtcbiAgICBjb25zdCBoYXNIaWRkZW5CdXR0b25zID0gdGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50ID4gMDtcbiAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IGhhc0hpZGRlbkJ1dHRvbnM7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlRHJvcGRvd24oKSB7XG4gICAgY29uc3QgaGlkZGVuQnV0dG9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLmhpZGRlbkxheWVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5cbiAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50W107XG5cbiAgICB0aGlzLl9jb2xsYXBzZWRBY3Rpb25zID0gaGlkZGVuQnV0dG9ucy5tYXAoKGJ1dHRvbikgPT4gKHtcbiAgICAgIGJ1dHRvbixcbiAgICAgIHRleHQ6IGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCksXG4gICAgfSkpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJidXR0b25ba2lyYnktYnV0dG9uXVwiPjwvbmctY29udGVudD5cblxuPGtpcmJ5LWRyb3Bkb3duXG4gIFtpdGVtc109XCJfY29sbGFwc2VkQWN0aW9uc1wiXG4gIFt1c2VQb3BvdmVyXT1cInRydWVcIlxuICBbX2lzTW9yZU1lbnVdPVwidHJ1ZVwiXG4gIHBvcG91dD1cImxlZnRcIlxuICAoY2hhbmdlKT1cIm9uQWN0aW9uU2VsZWN0KCRldmVudClcIlxuPjwva2lyYnktZHJvcGRvd24+XG5cbjxkaXYgY2xhc3M9XCJoaWRkZW4tbGF5ZXJcIiAjaGlkZGVuTGF5ZXI+PC9kaXY+XG4iXX0=
@@ -462,7 +462,7 @@ DropdownComponent.OPEN_DELAY_IN_MS = 100;
462
462
  useExisting: forwardRef((() => DropdownComponent)),
463
463
  multi: true,
464
464
  },
465
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "slottedItems", predicate: ListItemTemplateDirective, read: ElementRef }, { propertyName: "kirbyItemsSlotted", predicate: ItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "cardElement", first: true, predicate: CardComponent, descendants: true, read: ElementRef }, { propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "buttonElement", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "kirbyItemsDefault", predicate: ItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <kirby-icon name=\"more\" *ngIf=\"_isMoreMenu; else defaultButtonContent\"></kirby-icon>\n\n <ng-template #defaultButtonContent>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n </ng-template>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n [class.more-menu]=\"_isMoreMenu\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}:host(.more-menu)>button{width:40px}\n"], dependencies: [{ kind: "component", type: i2.CardComponent, selector: "kirby-card", inputs: ["title", "subtitle", "backgroundImageUrl", "hasPadding", "sizes", "flat"] }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: i4.ItemComponent, selector: "kirby-item", inputs: ["disabled", "selected", "disclosure", "selectable", "reorderable", "size"] }, { kind: "component", type: i5.PopoverComponent, selector: "kirby-popover", inputs: ["popout", "target"], outputs: ["willHide"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
465
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "slottedItems", predicate: ListItemTemplateDirective, read: ElementRef }, { propertyName: "kirbyItemsSlotted", predicate: ItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "cardElement", first: true, predicate: CardComponent, descendants: true, read: ElementRef }, { propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "buttonElement", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "kirbyItemsDefault", predicate: ItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <kirby-icon name=\"more\" *ngIf=\"_isMoreMenu; else defaultButtonContent\"></kirby-icon>\n\n <ng-template #defaultButtonContent>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n </ng-template>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n [class.more-menu]=\"_isMoreMenu\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;min-width:0}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}:host(.more-menu)>button{width:40px}\n"], dependencies: [{ kind: "component", type: i2.CardComponent, selector: "kirby-card", inputs: ["title", "subtitle", "backgroundImageUrl", "hasPadding", "sizes", "flat"] }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: i4.ItemComponent, selector: "kirby-item", inputs: ["disabled", "selected", "disclosure", "selectable", "reorderable", "size"] }, { kind: "component", type: i5.PopoverComponent, selector: "kirby-popover", inputs: ["popout", "target"], outputs: ["willHide"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
466
466
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
467
467
  type: Component,
468
468
  args: [{ selector: 'kirby-dropdown', providers: [
@@ -471,7 +471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
471
471
  useExisting: forwardRef((() => DropdownComponent)),
472
472
  multi: true,
473
473
  },
474
- ], template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <kirby-icon name=\"more\" *ngIf=\"_isMoreMenu; else defaultButtonContent\"></kirby-icon>\n\n <ng-template #defaultButtonContent>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n </ng-template>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n [class.more-menu]=\"_isMoreMenu\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}:host(.more-menu)>button{width:40px}\n"] }]
474
+ ], template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <kirby-icon name=\"more\" *ngIf=\"_isMoreMenu; else defaultButtonContent\"></kirby-icon>\n\n <ng-template #defaultButtonContent>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n </ng-template>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n [class.more-menu]=\"_isMoreMenu\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;min-width:0}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}:host(.more-menu)>button{width:40px}\n"] }]
475
475
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.KeyboardHandlerService }]; }, propDecorators: { items: [{
476
476
  type: Input
477
477
  }], selectedIndex: [{
@@ -7,12 +7,12 @@ export class ModalRouterLinkDirective {
7
7
  this.modalNavigationService = modalNavigationService;
8
8
  }
9
9
  onClick() {
10
- this.modalNavigationService.navigateToModal(this.path, typeof this.queryParams !== 'string' ? this.queryParams : null);
10
+ this.modalNavigationService.navigateToModal(this.path, typeof this.queryParams !== 'string' ? this.queryParams : null, this.alertConfig || null);
11
11
  return false;
12
12
  }
13
13
  }
14
14
  /** @nocollapse */ ModalRouterLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalRouterLinkDirective, deps: [{ token: i1.ModalNavigationService }], target: i0.ɵɵFactoryTarget.Directive });
15
- /** @nocollapse */ ModalRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ModalRouterLinkDirective, selector: "[kirbyModalRouterLink]", inputs: { path: ["kirbyModalRouterLink", "path"], queryParams: ["kirbyModalQueryParams", "queryParams"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
15
+ /** @nocollapse */ ModalRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ModalRouterLinkDirective, selector: "[kirbyModalRouterLink]", inputs: { path: ["kirbyModalRouterLink", "path"], queryParams: ["kirbyModalQueryParams", "queryParams"], alertConfig: ["kirbyAlertConfig", "alertConfig"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalRouterLinkDirective, decorators: [{
17
17
  type: Directive,
18
18
  args: [{
@@ -24,8 +24,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
24
24
  }], queryParams: [{
25
25
  type: Input,
26
26
  args: ['kirbyModalQueryParams']
27
+ }], alertConfig: [{
28
+ type: Input,
29
+ args: ['kirbyAlertConfig']
27
30
  }], onClick: [{
28
31
  type: HostListener,
29
32
  args: ['click']
30
33
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9kaXJlY3RpdmVzL21vZGFsLXJvdXRlci1saW5rL21vZGFsLXJvdXRlci1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUt6RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQUcsQ0FBQztJQU90RSxPQUFPO1FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FDekMsSUFBSSxDQUFDLElBQUksRUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9ELENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3dJQWRVLHdCQUF3Qjs0SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7NkdBSWdDLElBQUk7c0JBQWxDLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUVHLFdBQVc7c0JBQTFDLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUc5QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL21vZGFsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW2tpcmJ5TW9kYWxSb3V0ZXJMaW5rXWAsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsUm91dGVyTGlua0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSkge31cblxuICBASW5wdXQoJ2tpcmJ5TW9kYWxSb3V0ZXJMaW5rJykgcGF0aDogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgna2lyYnlNb2RhbFF1ZXJ5UGFyYW1zJykgcXVlcnlQYXJhbXM/OiBQYXJhbXM7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvTW9kYWwoXG4gICAgICB0aGlzLnBhdGgsXG4gICAgICB0eXBlb2YgdGhpcy5xdWVyeVBhcmFtcyAhPT0gJ3N0cmluZycgPyB0aGlzLnF1ZXJ5UGFyYW1zIDogbnVsbFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9kaXJlY3RpdmVzL21vZGFsLXJvdXRlci1saW5rL21vZGFsLXJvdXRlci1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFlLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUt0RixNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQUcsQ0FBQztJQVN0RSxPQUFPO1FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FDekMsSUFBSSxDQUFDLElBQUksRUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzlELElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUN6QixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzt3SUFqQlUsd0JBQXdCOzRIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs2R0FJZ0MsSUFBSTtzQkFBbEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBRUcsV0FBVztzQkFBMUMsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBRUgsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBR3pCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWxlcnRDb25maWcsIE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL21vZGFsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW2tpcmJ5TW9kYWxSb3V0ZXJMaW5rXWAsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsUm91dGVyTGlua0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSkge31cblxuICBASW5wdXQoJ2tpcmJ5TW9kYWxSb3V0ZXJMaW5rJykgcGF0aDogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgna2lyYnlNb2RhbFF1ZXJ5UGFyYW1zJykgcXVlcnlQYXJhbXM/OiBQYXJhbXM7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgna2lyYnlBbGVydENvbmZpZycpIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWc7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvTW9kYWwoXG4gICAgICB0aGlzLnBhdGgsXG4gICAgICB0eXBlb2YgdGhpcy5xdWVyeVBhcmFtcyAhPT0gJ3N0cmluZycgPyB0aGlzLnF1ZXJ5UGFyYW1zIDogbnVsbCxcbiAgICAgIHRoaXMuYWxlcnRDb25maWcgfHwgbnVsbFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -36,7 +36,7 @@ export class ModalController {
36
36
  .pipe(takeUntil(this.destroy$), filter(() => this.overlays.length === 0))
37
37
  .subscribe(async (modalRouteActivation) => {
38
38
  if (modalRouteActivation.isNewModal) {
39
- await this.showModalRoute(modalRouteActivation.route, siblingModalRouteActivated$, navigateOnWillClose);
39
+ await this.showModalRoute(modalRouteActivation.route, siblingModalRouteActivated$, modalRouteActivation.modalData, navigateOnWillClose);
40
40
  }
41
41
  });
42
42
  }
@@ -51,20 +51,20 @@ export class ModalController {
51
51
  async showModal(config, onClose, alertConfig) {
52
52
  await this.showAndRegisterOverlay(() => this.modalHelper.showModalWindow(config, alertConfig), onClose);
53
53
  }
54
- async navigateToModal(path, queryParams) {
55
- return this.modalNavigationService.navigateToModal(path, queryParams);
54
+ async navigateToModal(path, queryParams, alertConfig) {
55
+ return this.modalNavigationService.navigateToModal(path, queryParams, alertConfig);
56
56
  }
57
57
  async navigateWithinModal(relativePath, queryParams) {
58
58
  return this.modalNavigationService.navigateWithinModal(relativePath, queryParams);
59
59
  }
60
- async showModalRoute(modalRoute, siblingModalRouteActivated$, onWillClose) {
60
+ async showModalRoute(modalRoute, siblingModalRouteActivated$, modalData, onWillClose) {
61
61
  const config = {
62
62
  component: null,
63
63
  modalRoute: modalRoute,
64
64
  siblingModalRouteActivated$: siblingModalRouteActivated$,
65
65
  flavor: 'modal', // Todo: Should it be possible to specify flavor as data in RouteConfig?
66
66
  };
67
- await this.showAndRegisterOverlay(() => this.modalHelper.showModalWindow(config), null, onWillClose);
67
+ await this.showAndRegisterOverlay(() => this.modalHelper.showModalWindow(config, modalData?.alertConfig), null, onWillClose);
68
68
  }
69
69
  async showActionSheet(config, onClose) {
70
70
  await this.showAndRegisterOverlay(() => this.actionSheetHelper.showActionSheet(config), onClose);
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
139
139
  type: Inject,
140
140
  args: [ROUTES]
141
141
  }] }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxD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LElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsrSEF6TFUsZUFBZSwrSUFVSixNQUFNO21JQVZqQixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVdOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2lyYnlBbmltYXRpb24gfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuaW1wb3J0IHsgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7IC8vIFRPRE86IERvIHdlIHdhbnQgdG8gY2xvc2UgbW9kYWwgd2hlbiByb3V0aW5nIG91dCBvZiBtb2RhbCByb3V0ZT8gT3Igc2hvdWxkIHRoZSBjb2RlIHRoYXQgbmF2aWdhdGVzIGNsb3NlIHRoZSB3aW5kb3c/P1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IE9ic2VydmFibGU8TW9kYWxSb3V0ZUFjdGl2YXRpb24+KSB7XG4gICAgY29uc3QgbmF2aWdhdGVPbldpbGxDbG9zZSA9ICgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZU91dE9mTW9kYWxPdXRsZXQoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkID0gbW9kYWxSb3V0ZUFjdGl2YXRlZCQucGlwZShcbiAgICAgIGZpbHRlcigobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+ICFtb2RhbFJvdXRlQWN0aXZhdGlvbi5pc05ld01vZGFsKSxcbiAgICAgIG1hcCgobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+IG1vZGFsUm91dGVBY3RpdmF0aW9uLnJvdXRlKVxuICAgICk7XG5cbiAgICBtb2RhbFJvdXRlQWN0aXZhdGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3ZlcmxheXMubGVuZ3RoID09PSAwKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+IHtcbiAgICAgICAgaWYgKG1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNob3dNb2RhbFJvdXRlKFxuICAgICAgICAgICAgbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUsXG4gICAgICAgICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQsXG4gICAgICAgICAgICBuYXZpZ2F0ZU9uV2lsbENsb3NlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZURlYWN0aXZhdGVkKG1vZGFsUm91dGVEZWFjdGl2YXRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4pIHtcbiAgICBtb2RhbFJvdXRlRGVhY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPiAwKSAvLyBUT0RPOiBUaGlzIGFsc28gZmlyZXMgd2hlbiBjbG9zaW5nIG92ZXJsYXkgLSBzaG91bGQgd2UgY2hlY2sgZm9yIGlzQ2xvc2luZz8/XG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5oaWRlQWxsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93TW9kYWwoXG4gICAgY29uZmlnOiBNb2RhbENvbmZpZyxcbiAgICBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgYWxlcnRDb25maWc/OiBBbGVydENvbmZpZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLm1vZGFsSGVscGVyLnNob3dNb2RhbFdpbmRvdyhjb25maWcsIGFsZXJ0Q29uZmlnKSxcbiAgICAgIG9uQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5hdmlnYXRlVG9Nb2RhbChwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSwgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlVG9Nb2RhbChwYXRoLCBxdWVyeVBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGg6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlV2l0aGluTW9kYWwocmVsYXRpdmVQYXRoLCBxdWVyeVBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dNb2RhbFJvdXRlKFxuICAgIG1vZGFsUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZT4sXG4gICAgb25XaWxsQ2xvc2U6IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZzogTW9kYWxDb25maWcgPSB7XG4gICAgICBjb21wb25lbnQ6IG51bGwsXG4gICAgICBtb2RhbFJvdXRlOiBtb2RhbFJvdXRlLFxuICAgICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQsXG4gICAgICBmbGF2b3I6ICdtb2RhbCcsIC8vIFRvZG86IFNob3VsZCBpdCBiZSBwb3NzaWJsZSB0byBzcGVjaWZ5IGZsYXZvciBhcyBkYXRhIGluIFJvdXRlQ29uZmlnP1xuICAgIH07XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnKSxcbiAgICAgIG51bGwsXG4gICAgICBvbldpbGxDbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FjdGlvblNoZWV0KFxuICAgIGNvbmZpZzogQWN0aW9uU2hlZXRDb25maWcsXG4gICAgb25DbG9zZT86IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMuYWN0aW9uU2hlZXRIZWxwZXIuc2hvd0FjdGlvblNoZWV0KGNvbmZpZyksXG4gICAgICBvbkNsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZywgb25DbG9zZT86IChyZXN1bHQ6IGJvb2xlYW4pID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5hbGVydEhlbHBlci5zaG93QWxlcnQoY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgc2hvd092ZXJsYXk6ICgpID0+IFByb21pc2U8T3ZlcmxheT4sXG4gICAgb25DbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBvbldpbGxDbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgc2hvd092ZXJsYXkoKTtcbiAgICBpZiAoIW92ZXJsYXkpIHJldHVybjtcblxuICAgIHRoaXMub3ZlcmxheXMucHVzaChvdmVybGF5KTtcblxuICAgIGlmICh0eXBlb2Ygb25XaWxsQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvdmVybGF5Lm9uV2lsbERpc21pc3MudGhlbigoZXZlbnQpID0+IG9uV2lsbENsb3NlT3ZlcmxheShldmVudC5kYXRhKSk7XG4gICAgfVxuXG4gICAgb3ZlcmxheS5vbkRpZERpc21pc3MudGhlbigoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheXMucG9wKCk7XG4gICAgICBpZiAodHlwZW9mIG9uQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xvc2VPdmVybGF5KGV2ZW50LmRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAncmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCBpcyBubyBsb25nZXIgbmVlZGVkIHRvIHJlZ2lzdGVyIGEgcHJlc2VudGluZyBlbGVtZW50LidcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVUb3Btb3N0KGRhdGE/OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiBvdmVybGF5LmRpc21pc3MoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvVG9wIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Ub3AgaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Ub3AgaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Ub3AodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvQm90dG9tIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Cb3R0b20oZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Cb3R0b20gaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Cb3R0b20gaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Cb3R0b20odGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGlkZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMub3ZlcmxheXMubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgIGF3YWl0IG92ZXJsYXkuZGlzbWlzcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxDQUFDO0lBRUosS0FBSyxDQUFDLFVBQVUsQ0FBQyxtQkFBNEI7UUFDM0MsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQzFFLElBQUksQ0FBQyxXQUFXLEVBQ2hCLG1CQUFtQixDQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsd0hBQXdIO0lBQ3RMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxvQkFBc0Q7UUFDbEYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDekQsQ0FBQyxDQUFDO1FBRUYsTUFBTSwyQkFBMkIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQzNELE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxFQUNsRSxHQUFHLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQzFELENBQUM7UUFFRixvQkFBb0I7YUFDakIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FDekM7YUFDQSxTQUFTLENBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLEVBQUU7WUFDeEMsSUFBSSxvQkFBb0IsQ0FBQyxVQUFVLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FDdkIsb0JBQW9CLENBQUMsS0FBSyxFQUMxQiwyQkFBMkIsRUFDM0Isb0JBQW9CLENBQUMsU0FBUyxFQUM5QixtQkFBbUIsQ0FDcEIsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsc0JBQTJDO1FBQ3pFLHNCQUFzQjthQUNuQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDeEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLCtFQUErRTtTQUN2SDthQUNBLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUNwQixNQUFtQixFQUNuQixPQUE4QixFQUM5QixXQUF5QjtRQUV6QixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FDL0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUMzRCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUMxQixJQUF1QixFQUN2QixXQUFvQixFQUNwQixXQUF5QjtRQUV6QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsV0FBb0I7UUFDekUsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYyxDQUMxQixVQUEwQixFQUMxQiwyQkFBdUQsRUFDdkQsU0FBb0IsRUFDcEIsV0FBaUM7UUFFakMsTUFBTSxNQUFNLEdBQWdCO1lBQzFCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsVUFBVSxFQUFFLFVBQVU7WUFDdEIsMkJBQTJCLEVBQUUsMkJBQTJCO1lBQ3hELE1BQU0sRUFBRSxPQUFPLEVBQUUsd0VBQXdFO1NBQzFGLENBQUM7UUFDRixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FDL0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFDdEUsSUFBSSxFQUNKLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLE1BQXlCLEVBQ3pCLE9BQThCO1FBRTlCLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUMvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUNwRCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQW1CLEVBQUUsT0FBbUM7UUFDN0UsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVPLEtBQUssQ0FBQyxzQkFBc0IsQ0FDbEMsV0FBbUMsRUFDbkMsY0FBcUMsRUFDckMsa0JBQXlDO1FBRXpDLE1BQU0sT0FBTyxHQUFHLE1BQU0sV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVCLElBQUksT0FBTyxrQkFBa0IsS0FBSyxVQUFVLEVBQUU7WUFDNUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksT0FBTyxjQUFjLEtBQUssVUFBVSxFQUFFO2dCQUN4QyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0seUJBQXlCO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQ1QseUdBQXlHLENBQzFHLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFVO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLFFBQWtDO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQ1YsMEhBQTBILENBQzNILENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxRQUFrQztRQUN0RCxPQUFPLENBQUMsSUFBSSxDQUNWLGdJQUFnSSxDQUNqSSxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNsQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0hBL0xVLGVBQWUsK0lBVUosTUFBTTttSUFWakIsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFXTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlcywgUk9VVEVTIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcbmltcG9ydCB7IE1vZGFsRGF0YSwgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7IC8vIFRPRE86IERvIHdlIHdhbnQgdG8gY2xvc2UgbW9kYWwgd2hlbiByb3V0aW5nIG91dCBvZiBtb2RhbCByb3V0ZT8gT3Igc2hvdWxkIHRoZSBjb2RlIHRoYXQgbmF2aWdhdGVzIGNsb3NlIHRoZSB3aW5kb3c/P1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IE9ic2VydmFibGU8TW9kYWxSb3V0ZUFjdGl2YXRpb24+KSB7XG4gICAgY29uc3QgbmF2aWdhdGVPbldpbGxDbG9zZSA9ICgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZU91dE9mTW9kYWxPdXRsZXQoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkID0gbW9kYWxSb3V0ZUFjdGl2YXRlZCQucGlwZShcbiAgICAgIGZpbHRlcigobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+ICFtb2RhbFJvdXRlQWN0aXZhdGlvbi5pc05ld01vZGFsKSxcbiAgICAgIG1hcCgobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+IG1vZGFsUm91dGVBY3RpdmF0aW9uLnJvdXRlKVxuICAgICk7XG5cbiAgICBtb2RhbFJvdXRlQWN0aXZhdGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3ZlcmxheXMubGVuZ3RoID09PSAwKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAobW9kYWxSb3V0ZUFjdGl2YXRpb24pID0+IHtcbiAgICAgICAgaWYgKG1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNob3dNb2RhbFJvdXRlKFxuICAgICAgICAgICAgbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUsXG4gICAgICAgICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQsXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5tb2RhbERhdGEsXG4gICAgICAgICAgICBuYXZpZ2F0ZU9uV2lsbENsb3NlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZURlYWN0aXZhdGVkKG1vZGFsUm91dGVEZWFjdGl2YXRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4pIHtcbiAgICBtb2RhbFJvdXRlRGVhY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPiAwKSAvLyBUT0RPOiBUaGlzIGFsc28gZmlyZXMgd2hlbiBjbG9zaW5nIG92ZXJsYXkgLSBzaG91bGQgd2UgY2hlY2sgZm9yIGlzQ2xvc2luZz8/XG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5oaWRlQWxsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93TW9kYWwoXG4gICAgY29uZmlnOiBNb2RhbENvbmZpZyxcbiAgICBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgYWxlcnRDb25maWc/OiBBbGVydENvbmZpZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLm1vZGFsSGVscGVyLnNob3dNb2RhbFdpbmRvdyhjb25maWcsIGFsZXJ0Q29uZmlnKSxcbiAgICAgIG9uQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5hdmlnYXRlVG9Nb2RhbChcbiAgICBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBxdWVyeVBhcmFtcz86IFBhcmFtcyxcbiAgICBhbGVydENvbmZpZz86IEFsZXJ0Q29uZmlnXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVUb01vZGFsKHBhdGgsIHF1ZXJ5UGFyYW1zLCBhbGVydENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGg6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlV2l0aGluTW9kYWwocmVsYXRpdmVQYXRoLCBxdWVyeVBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dNb2RhbFJvdXRlKFxuICAgIG1vZGFsUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZT4sXG4gICAgbW9kYWxEYXRhOiBNb2RhbERhdGEsXG4gICAgb25XaWxsQ2xvc2U6IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZzogTW9kYWxDb25maWcgPSB7XG4gICAgICBjb21wb25lbnQ6IG51bGwsXG4gICAgICBtb2RhbFJvdXRlOiBtb2RhbFJvdXRlLFxuICAgICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQsXG4gICAgICBmbGF2b3I6ICdtb2RhbCcsIC8vIFRvZG86IFNob3VsZCBpdCBiZSBwb3NzaWJsZSB0byBzcGVjaWZ5IGZsYXZvciBhcyBkYXRhIGluIFJvdXRlQ29uZmlnP1xuICAgIH07XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnLCBtb2RhbERhdGE/LmFsZXJ0Q29uZmlnKSxcbiAgICAgIG51bGwsXG4gICAgICBvbldpbGxDbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FjdGlvblNoZWV0KFxuICAgIGNvbmZpZzogQWN0aW9uU2hlZXRDb25maWcsXG4gICAgb25DbG9zZT86IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMuYWN0aW9uU2hlZXRIZWxwZXIuc2hvd0FjdGlvblNoZWV0KGNvbmZpZyksXG4gICAgICBvbkNsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZywgb25DbG9zZT86IChyZXN1bHQ6IGJvb2xlYW4pID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5hbGVydEhlbHBlci5zaG93QWxlcnQoY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgc2hvd092ZXJsYXk6ICgpID0+IFByb21pc2U8T3ZlcmxheT4sXG4gICAgb25DbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBvbldpbGxDbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgc2hvd092ZXJsYXkoKTtcbiAgICBpZiAoIW92ZXJsYXkpIHJldHVybjtcblxuICAgIHRoaXMub3ZlcmxheXMucHVzaChvdmVybGF5KTtcblxuICAgIGlmICh0eXBlb2Ygb25XaWxsQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvdmVybGF5Lm9uV2lsbERpc21pc3MudGhlbigoZXZlbnQpID0+IG9uV2lsbENsb3NlT3ZlcmxheShldmVudC5kYXRhKSk7XG4gICAgfVxuXG4gICAgb3ZlcmxheS5vbkRpZERpc21pc3MudGhlbigoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheXMucG9wKCk7XG4gICAgICBpZiAodHlwZW9mIG9uQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xvc2VPdmVybGF5KGV2ZW50LmRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAncmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCBpcyBubyBsb25nZXIgbmVlZGVkIHRvIHJlZ2lzdGVyIGEgcHJlc2VudGluZyBlbGVtZW50LidcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVUb3Btb3N0KGRhdGE/OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiBvdmVybGF5LmRpc21pc3MoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvVG9wIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Ub3AgaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Ub3AgaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Ub3AodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvQm90dG9tIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Cb3R0b20oZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Cb3R0b20gaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Cb3R0b20gaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Cb3R0b20odGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGlkZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMub3ZlcmxheXMubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgIGF3YWl0IG92ZXJsYXkuZGlzbWlzcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -47,8 +47,13 @@ export class ModalHelper {
47
47
  }
48
48
  let canDismiss = true;
49
49
  if (alertConfig) {
50
+ // Remembers the modal dismissal response from user to prevent multiple alerts on
51
+ // approval since the callback is invoked more than once when closing.
52
+ let canBeDismissed = false;
50
53
  canDismiss = async () => {
51
- const canBeDismissed = await this.showAlert(alertConfig);
54
+ if (!canBeDismissed) {
55
+ canBeDismissed = await this.showAlert(alertConfig);
56
+ }
52
57
  return canBeDismissed;
53
58
  };
54
59
  }
@@ -114,4 +119,4 @@ export class ModalHelper {
114
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalHelper, decorators: [{
115
120
  type: Injectable
116
121
  }], ctorParameters: function () { return [{ type: i1.ModalController }, { type: i2.ModalAnimationBuilderService }, { type: i3.WindowRef }, { type: i4.AlertHelper }]; } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNNUQsT0FBTyxFQUNMLDRCQUE0QixFQUc1QixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQUdqRixNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLG9CQUFxQyxFQUNyQyxxQkFBbUQsRUFDbkQsU0FBb0IsRUFDcEIsV0FBd0I7UUFIeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUNyQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHbEM7Ozs7O1VBS0U7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVI1QixDQUFDO0lBVUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQixFQUFFLFdBQXlCO1FBQ3pFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFekMsSUFBSSxlQUF1QyxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1B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USxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQ3pCLDZCQUFxQyxFQUNyQyxRQUFrQztRQUVsQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxZQUFZLHFCQUFxQixDQUFDLEVBQUU7WUFDakUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7MkhBNUhVLFdBQVc7K0hBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7XG4gIE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQsXG4gIE1vZGFsQ29uZmlnLFxuICBNb2RhbFNpemUsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlcic7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcblxuaW1wb3J0IHsgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIG1vZGFsQW5pbWF0aW9uQnVpbGRlcjogTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyXG4gICkge31cblxuICAvKiBcbiAgICBpc01vZGFsT3BlbmluZyBpcyB1c2VkIHRvIHByZXZlbnQgYWRkaXRpb25hbCBpbnN0YW50aWF0aW9uc1xuICAgIG9mIG1vZGFscywgd2hpbGUgYSBtb2RhbCBpcyBhbHJlYWR5IGJlaW5nIGluc3RhdGlhdGVkLCBidXQgbm90IGNvbXBsZXRlZC5cbiAgICBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBhcHByb2FjaCBieSBvbmUgb2YgdGhlIG1haW50YWluZXJzIG9mIElvbmljOlxuICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9pb25pYy10ZWFtL2lvbmljLWZyYW1ld29yay9pc3N1ZXMvMjMzMjcjaXNzdWVjb21tZW50LTg0NzAyODA1OFxuICAqL1xuICBwcml2YXRlIGlzTW9kYWxPcGVuaW5nID0gZmFsc2U7XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbFdpbmRvdyhjb25maWc6IE1vZGFsQ29uZmlnLCBhbGVydENvbmZpZz86IEFsZXJ0Q29uZmlnKTogUHJvbWlzZTxPdmVybGF5PiB7XG4gICAgaWYgKHRoaXMuaXNNb2RhbE9wZW5pbmcpIHJldHVybjtcblxuICAgIGNvbmZpZy5mbGF2b3IgPSBjb25maWcuZmxhdm9yIHx8ICdtb2RhbCc7XG5cbiAgICBsZXQgY3VycmVudEJhY2tkcm9wOiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IHRvcE1vc3RNb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKHRvcE1vc3RNb2RhbCkge1xuICAgICAgY3VycmVudEJhY2tkcm9wID1cbiAgICAgICAgdG9wTW9zdE1vZGFsLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcjxIVE1MSW9uQmFja2Ryb3BFbGVtZW50PignaW9uLWJhY2tkcm9wJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50ZXJBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5lbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuICAgIGNvbnN0IGxlYXZlQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIubGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcblxuICAgIGNvbnN0IGRlZmF1bHRNb2RhbFNpemU6IE1vZGFsU2l6ZSA9IGNvbmZpZy5mbGF2b3IgPT09ICdtb2RhbCcgPyAnbWVkaXVtJyA6IG51bGw7XG4gICAgY29uc3QgbW9kYWxTaXplID0gY29uZmlnLnNpemUgfHwgZGVmYXVsdE1vZGFsU2l6ZTtcbiAgICBjb25zdCBhbGxvd19zY3JvbGxfY2xhc3MgPSAnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnO1xuXG4gICAgbGV0IGN1c3RvbUNzc0NsYXNzZXMgPSBbXTtcbiAgICBpZiAoY29uZmlnLmNzc0NsYXNzKSB7XG4gICAgICBjdXN0b21Dc3NDbGFzc2VzID0gQXJyYXkuaXNBcnJheShjb25maWcuY3NzQ2xhc3MpID8gY29uZmlnLmNzc0NsYXNzIDogW2NvbmZpZy5jc3NDbGFzc107XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgfVxuXG4gICAgbGV0IGNhbkRpc21pc3M6IGJvb2xlYW4gfCAoKCkgPT4gUHJvbWlzZTxib29sZWFuPikgPSB0cnVlO1xuICAgIGlmIChhbGVydENvbmZpZykge1xuICAgICAgY2FuRGlzbWlzcyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgY2FuQmVEaXNtaXNzZWQgPSBhd2FpdCB0aGlzLnNob3dBbGVydChhbGVydENvbmZpZyk7XG4gICAgICAgIHJldHVybiBjYW5CZURpc21pc3NlZDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5pc01vZGFsT3BlbmluZyA9IHRydWU7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnID8gTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCA6IE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbiAgICAgIGNzc0NsYXNzOiBbXG4gICAgICAgICdraXJieS1vdmVybGF5JyxcbiAgICAgICAgJ2tpcmJ5LW1vZGFsJyxcbiAgICAgICAgY29uZmlnLmZsYXZvciA9PT0gJ2RyYXdlcicgPyAna2lyYnktZHJhd2VyJyA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyA/ICdraXJieS1tb2RhbC1jb21wYWN0JyA6IG51bGwsXG4gICAgICAgIG1vZGFsU2l6ZSA/ICdraXJieS1tb2RhbC0nICsgbW9kYWxTaXplIDogbnVsbCxcbiAgICAgICAgY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyAnaW50ZXJhY3Qtd2l0aC1iYWNrZ3JvdW5kJyA6IG51bGwsXG4gICAgICAgIC4uLmN1c3RvbUNzc0NsYXNzZXMsXG4gICAgICBdLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgfHwgY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzaG93QmFja2Ryb3A6ICFjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB7IGNvbmZpZzogY29uZmlnIH0sXG4gICAgICBzd2lwZVRvQ2xvc2U6IGNvbmZpZy5mbGF2b3IgPT09ICdkcmF3ZXInLFxuICAgICAga2V5Ym9hcmRDbG9zZTogZmFsc2UsXG4gICAgICBjYW5EaXNtaXNzLFxuICAgICAgZW50ZXJBbmltYXRpb24sXG4gICAgICBsZWF2ZUFuaW1hdGlvbixcbiAgICB9KTtcblxuICAgIGlmIChjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgaW9uTW9kYWwub25EaWREaXNtaXNzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoYWxsb3dfc2Nyb2xsX2NsYXNzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF3YWl0IGlvbk1vZGFsLnByZXNlbnQoKTtcblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAncmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCBpcyBubyBsb25nZXIgbmVlZGVkIHRvIHJlZ2lzdGVyIGEgcHJlc2VudGluZyBlbGVtZW50LidcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBbGVydChjb25maWc6IEFsZXJ0Q29uZmlnKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0SGVscGVyLnNob3dBbGVydChjb25maWcpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFsZXJ0Lm9uV2lsbERpc21pc3M7XG4gICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNjcm9sbFRvVG9wKFxuICAgIG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlOiBzdHJpbmcsXG4gICAgZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvblxuICApIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKCFtb2RhbCB8fCAhKG1vZGFsLmNvbXBvbmVudCBpbnN0YW5jZW9mIE1vZGFsV3JhcHBlckNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIG1vZGFsLmNvbXBvbmVudC5zY3JvbGxUb1RvcChkdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2Nyb2xsVG9Cb3R0b20oXG4gICAgbm9Nb2RhbFJlZ2lzdGVyZWRFcnJvck1lc3NhZ2U6IHN0cmluZyxcbiAgICBkdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uXG4gICkge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5nZXRUb3AoKTtcbiAgICBpZiAoIW1vZGFsIHx8ICEobW9kYWwuY29tcG9uZW50IGluc3RhbmNlb2YgTW9kYWxXcmFwcGVyQ29tcG9uZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gICAgbW9kYWwuY29tcG9uZW50LnNjcm9sbFRvQm90dG9tKGR1cmF0aW9uKTtcbiAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNNUQsT0FBTyxFQUNMLDRCQUE0QixFQUc1QixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQUdqRixNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLG9CQUFxQyxFQUNyQyxxQkFBbUQsRUFDbkQsU0FBb0IsRUFDcEIsV0FBd0I7UUFIeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUNyQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHbEM7Ozs7O1VBS0U7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVI1QixDQUFDO0lBVUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQixFQUFFLFdBQXlCO1FBQ3pFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFekMsSUFBSSxlQUF1QyxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1B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Q2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYyxDQUN6Qiw2QkFBcUMsRUFDckMsUUFBa0M7UUFFbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsWUFBWSxxQkFBcUIsQ0FBQyxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OzJIQWxJVSxXQUFXOytIQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vdHlwZXMnO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGVydENvbmZpZyB9IGZyb20gJy4uL2FsZXJ0L2NvbmZpZy9hbGVydC1jb25maWcnO1xuXG5pbXBvcnQge1xuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBNb2RhbENvbmZpZyxcbiAgTW9kYWxTaXplLFxuICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuaW1wb3J0IHsgQWxlcnRIZWxwZXIgfSBmcm9tICcuL2FsZXJ0LmhlbHBlcic7XG5cbmltcG9ydCB7IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFuaW1hdGlvbi1idWlsZGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxIZWxwZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGlvbmljTW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBtb2RhbEFuaW1hdGlvbkJ1aWxkZXI6IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFdpbmRvd1JlZixcbiAgICBwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlclxuICApIHt9XG5cbiAgLyogXG4gICAgaXNNb2RhbE9wZW5pbmcgaXMgdXNlZCB0byBwcmV2ZW50IGFkZGl0aW9uYWwgaW5zdGFudGlhdGlvbnNcbiAgICBvZiBtb2RhbHMsIHdoaWxlIGEgbW9kYWwgaXMgYWxyZWFkeSBiZWluZyBpbnN0YXRpYXRlZCwgYnV0IG5vdCBjb21wbGV0ZWQuXG4gICAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgYXBwcm9hY2ggYnkgb25lIG9mIHRoZSBtYWludGFpbmVycyBvZiBJb25pYzpcbiAgICBodHRwczovL2dpdGh1Yi5jb20vaW9uaWMtdGVhbS9pb25pYy1mcmFtZXdvcmsvaXNzdWVzLzIzMzI3I2lzc3VlY29tbWVudC04NDcwMjgwNThcbiAgKi9cbiAgcHJpdmF0ZSBpc01vZGFsT3BlbmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBhc3luYyBzaG93TW9kYWxXaW5kb3coY29uZmlnOiBNb2RhbENvbmZpZywgYWxlcnRDb25maWc/OiBBbGVydENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGlmICh0aGlzLmlzTW9kYWxPcGVuaW5nKSByZXR1cm47XG5cbiAgICBjb25maWcuZmxhdm9yID0gY29uZmlnLmZsYXZvciB8fCAnbW9kYWwnO1xuXG4gICAgbGV0IGN1cnJlbnRCYWNrZHJvcDogSFRNTElvbkJhY2tkcm9wRWxlbWVudDtcbiAgICBjb25zdCB0b3BNb3N0TW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgIGlmICh0b3BNb3N0TW9kYWwpIHtcbiAgICAgIGN1cnJlbnRCYWNrZHJvcCA9XG4gICAgICAgIHRvcE1vc3RNb2RhbC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3I8SFRNTElvbkJhY2tkcm9wRWxlbWVudD4oJ2lvbi1iYWNrZHJvcCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGVyQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIuZW50ZXJBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcbiAgICBjb25zdCBsZWF2ZUFuaW1hdGlvbiA9IHRoaXMubW9kYWxBbmltYXRpb25CdWlsZGVyLmxlYXZlQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcCk7XG5cbiAgICBjb25zdCBkZWZhdWx0TW9kYWxTaXplOiBNb2RhbFNpemUgPSBjb25maWcuZmxhdm9yID09PSAnbW9kYWwnID8gJ21lZGl1bScgOiBudWxsO1xuICAgIGNvbnN0IG1vZGFsU2l6ZSA9IGNvbmZpZy5zaXplIHx8IGRlZmF1bHRNb2RhbFNpemU7XG4gICAgY29uc3QgYWxsb3dfc2Nyb2xsX2NsYXNzID0gJ2FsbG93LWJhY2tncm91bmQtc2Nyb2xsJztcblxuICAgIGxldCBjdXN0b21Dc3NDbGFzc2VzID0gW107XG4gICAgaWYgKGNvbmZpZy5jc3NDbGFzcykge1xuICAgICAgY3VzdG9tQ3NzQ2xhc3NlcyA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmNzc0NsYXNzKSA/IGNvbmZpZy5jc3NDbGFzcyA6IFtjb25maWcuY3NzQ2xhc3NdO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChhbGxvd19zY3JvbGxfY2xhc3MpO1xuICAgIH1cblxuICAgIGxldCBjYW5EaXNtaXNzOiBib29sZWFuIHwgKCgpID0+IFByb21pc2U8Ym9vbGVhbj4pID0gdHJ1ZTtcbiAgICBpZiAoYWxlcnRDb25maWcpIHtcbiAgICAgIC8vIFJlbWVtYmVycyB0aGUgbW9kYWwgZGlzbWlzc2FsIHJlc3BvbnNlIGZyb20gdXNlciB0byBwcmV2ZW50IG11bHRpcGxlIGFsZXJ0cyBvblxuICAgICAgLy8gYXBwcm92YWwgc2luY2UgdGhlIGNhbGxiYWNrIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2Ugd2hlbiBjbG9zaW5nLlxuICAgICAgbGV0IGNhbkJlRGlzbWlzc2VkID0gZmFsc2U7XG4gICAgICBjYW5EaXNtaXNzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoIWNhbkJlRGlzbWlzc2VkKSB7XG4gICAgICAgICAgY2FuQmVEaXNtaXNzZWQgPSBhd2FpdCB0aGlzLnNob3dBbGVydChhbGVydENvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FuQmVEaXNtaXNzZWQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgaW9uTW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyA/IE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQgOiBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogW1xuICAgICAgICAna2lyYnktb3ZlcmxheScsXG4gICAgICAgICdraXJieS1tb2RhbCcsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdkcmF3ZXInID8gJ2tpcmJ5LWRyYXdlcicgOiBudWxsLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyAna2lyYnktbW9kYWwtY29tcGFjdCcgOiBudWxsLFxuICAgICAgICBtb2RhbFNpemUgPyAna2lyYnktbW9kYWwtJyArIG1vZGFsU2l6ZSA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gJ2ludGVyYWN0LXdpdGgtYmFja2dyb3VuZCcgOiBudWxsLFxuICAgICAgICAuLi5jdXN0b21Dc3NDbGFzc2VzLFxuICAgICAgXSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnIHx8IGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gZmFsc2UgOiB0cnVlLFxuICAgICAgc2hvd0JhY2tkcm9wOiAhY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQsXG4gICAgICBjb21wb25lbnRQcm9wczogeyBjb25maWc6IGNvbmZpZyB9LFxuICAgICAgc3dpcGVUb0Nsb3NlOiBjb25maWcuZmxhdm9yID09PSAnZHJhd2VyJyxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgY2FuRGlzbWlzcyxcbiAgICAgIGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb24sXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBhd2FpdCBpb25Nb2RhbC5wcmVzZW50KCk7XG5cbiAgICB0aGlzLmlzTW9kYWxPcGVuaW5nID0gZmFsc2U7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzbWlzczogaW9uTW9kYWwuZGlzbWlzcy5iaW5kKGlvbk1vZGFsKSxcbiAgICAgIG9uV2lsbERpc21pc3M6IGlvbk1vZGFsLm9uV2lsbERpc21pc3MoKSxcbiAgICAgIG9uRGlkRGlzbWlzczogaW9uTW9kYWwub25EaWREaXNtaXNzKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlclByZXNlbnRpbmdFbGVtZW50KCkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgJ3JlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQgaGFzIGJlZW4gZGVwcmVjYXRlZC4gSXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCB0byByZWdpc3RlciBhIHByZXNlbnRpbmcgZWxlbWVudC4nXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydEhlbHBlci5zaG93QWxlcnQoY29uZmlnKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhbGVydC5vbldpbGxEaXNtaXNzO1xuICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzY3JvbGxUb1RvcChcbiAgICBub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZTogc3RyaW5nLFxuICAgIGR1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb25cbiAgKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgIGlmICghbW9kYWwgfHwgIShtb2RhbC5jb21wb25lbnQgaW5zdGFuY2VvZiBNb2RhbFdyYXBwZXJDb21wb25lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3Iobm9Nb2RhbFJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICBtb2RhbC5jb21wb25lbnQuc2Nyb2xsVG9Ub3AoZHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNjcm9sbFRvQm90dG9tKFxuICAgIG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlOiBzdHJpbmcsXG4gICAgZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvblxuICApIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKCFtb2RhbCB8fCAhKG1vZGFsLmNvbXBvbmVudCBpbnN0YW5jZW9mIE1vZGFsV3JhcHBlckNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIG1vZGFsLmNvbXBvbmVudC5zY3JvbGxUb0JvdHRvbShkdXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==